summaryrefslogtreecommitdiff
path: root/vp9/decoder
diff options
context:
space:
mode:
authorAdrian Grange <agrange@google.com>2014-05-07 10:31:55 -0700
committerAdrian Grange <agrange@google.com>2014-05-09 10:12:23 -0700
commit99892e85d56c2b5f08b1c007943dc3c8758edf0f (patch)
treed53d537e815df5dd3fd9b86dd12540f8a68753e0 /vp9/decoder
parent9412785b0241e5ada129b96b74827881b3fb0da5 (diff)
downloadlibvpx-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.c17
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)