vp6:Reset the internal state when aborting key frames header parsing in vp6 decoder.
authorLaurent Aimar <fenrir@elivagar.org>
Sat, 24 Sep 2011 14:19:25 +0000 (16:19 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 24 Sep 2011 17:13:37 +0000 (19:13 +0200)
It prevents leaving the state only half initialized.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/vp6.c

index 31af095..a95e4be 100644 (file)
@@ -139,8 +139,11 @@ static int vp6_parse_header(VP56Context *s, const uint8_t *buf, int buf_size,
     if (coeff_offset) {
         buf      += coeff_offset;
         buf_size -= coeff_offset;
-        if (buf_size < 0)
+        if (buf_size < 0) {
+            if (s->framep[VP56_FRAME_CURRENT]->key_frame)
+                avcodec_set_dimensions(s->avctx, 0, 0);
             return 0;
+        }
         if (s->use_huffman) {
             s->parse_coeff = vp6_parse_coeff_huffman;
             init_get_bits(&s->gb, buf, buf_size<<3);