diff options
author | Adrian Grange <agrange@google.com> | 2014-05-07 10:31:55 -0700 |
---|---|---|
committer | Adrian Grange <agrange@google.com> | 2014-05-09 10:12:23 -0700 |
commit | 99892e85d56c2b5f08b1c007943dc3c8758edf0f (patch) | |
tree | d53d537e815df5dd3fd9b86dd12540f8a68753e0 /vp9/decoder | |
parent | 9412785b0241e5ada129b96b74827881b3fb0da5 (diff) | |
download | libvpx-99892e85d56c2b5f08b1c007943dc3c8758edf0f.tar libvpx-99892e85d56c2b5f08b1c007943dc3c8758edf0f.tar.gz libvpx-99892e85d56c2b5f08b1c007943dc3c8758edf0f.tar.bz2 libvpx-99892e85d56c2b5f08b1c007943dc3c8758edf0f.zip |
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
Diffstat (limited to 'vp9/decoder')
-rw-r--r-- | vp9/decoder/vp9_decodeframe.c | 17 |
1 files 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) |