aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/vp56.c
diff options
context:
space:
mode:
authorLaurent Aimar <fenrir@videolan.org>2011-09-21 20:46:32 +0200
committerReinhard Tartler <siretart@tauware.de>2011-12-04 09:20:10 +0100
commit30c08e226156e5a36a835c008c67114f22c8da8f (patch)
tree26e361842d3809560777eb7b0a51f2e2a48b1239 /libavcodec/vp56.c
parent7367cbec1b8cf0cbb49707fb0fdfded8ec397b0d (diff)
downloadffmpeg-30c08e226156e5a36a835c008c67114f22c8da8f.tar.gz
vp6: Check for huffman tree build errors
Signed-off-by: Janne Grunau <janne-libav@jannau.net> (cherry picked from commit 066fff755a5d8edc660c010ddb08474d208eeade) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Diffstat (limited to 'libavcodec/vp56.c')
-rw-r--r--libavcodec/vp56.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c
index a181978334..a6b201478e 100644
--- a/libavcodec/vp56.c
+++ b/libavcodec/vp56.c
@@ -537,7 +537,8 @@ int ff_vp56_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
s->mb_type = VP56_MB_INTER_NOVEC_PF;
}
- s->parse_coeff_models(s);
+ if (s->parse_coeff_models(s))
+ goto next;
memset(s->prev_dc, 0, sizeof(s->prev_dc));
s->prev_dc[1][VP56_FRAME_CURRENT] = 128;
@@ -601,6 +602,7 @@ int ff_vp56_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
}
}
+ next:
if (p->key_frame || golden_frame) {
if (s->framep[VP56_FRAME_GOLDEN]->data[0] &&
s->framep[VP56_FRAME_GOLDEN] != s->framep[VP56_FRAME_GOLDEN2])