From 99892e85d56c2b5f08b1c007943dc3c8758edf0f Mon Sep 17 00:00:00 2001 From: Adrian Grange Date: Wed, 7 May 2014 10:31:55 -0700 Subject: [PATCH] Fix check of debug counts for corrupt frame Fixes the idecoder in the case where: cm->error_resilient_mode == 0, and cm->frame_parallel_decoding_mode == 0, but new_fb->corrupted == 1. The assert in debug_check_frame_counts fails to take into account the case of a corrupt frame. Change-Id: Idf318a68458cc88d65d6f3f408a10d8ffe87e43f --- vp9/decoder/vp9_decodeframe.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/vp9/decoder/vp9_decodeframe.c b/vp9/decoder/vp9_decodeframe.c index 45ebb2fed..75701c285 100644 --- a/vp9/decoder/vp9_decodeframe.c +++ b/vp9/decoder/vp9_decodeframe.c @@ -1370,16 +1370,17 @@ int vp9_decode_frame(VP9Decoder *pbi, "A stream must start with a complete key frame"); } - if (!cm->error_resilient_mode && !cm->frame_parallel_decoding_mode && - !new_fb->corrupted) { - vp9_adapt_coef_probs(cm); + if (!new_fb->corrupted) { + if (!cm->error_resilient_mode && !cm->frame_parallel_decoding_mode) { + vp9_adapt_coef_probs(cm); - if (!frame_is_intra_only(cm)) { - vp9_adapt_mode_probs(cm); - vp9_adapt_mv_probs(cm, cm->allow_high_precision_mv); + if (!frame_is_intra_only(cm)) { + vp9_adapt_mode_probs(cm); + vp9_adapt_mv_probs(cm, cm->allow_high_precision_mv); + } + } else { + debug_check_frame_counts(cm); } - } else { - debug_check_frame_counts(cm); } if (cm->refresh_frame_context)