OSDN Git Service

h263dec: Remove a hack that can cause infinite loops
authorMartin Storsjö <martin@martin.st>
Mon, 23 Sep 2013 09:25:48 +0000 (12:25 +0300)
committerMartin Storsjö <martin@martin.st>
Mon, 23 Sep 2013 20:14:49 +0000 (23:14 +0300)
The actual usefulness of the hack is not known, and it does cause
infinite loops with some broken input files.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/h263dec.c

index 7f90862..24a48b3 100644 (file)
@@ -379,8 +379,6 @@ int ff_h263_decode_frame(AVCodecContext *avctx,
     }
 
 
-retry:
-
     if(s->bitstream_buffer_size && (s->divx_packed || buf_size<20)){ //divx 5.01+/xvid frame reorder
         init_get_bits(&s->gb, s->bitstream_buffer, s->bitstream_buffer_size*8);
     }else
@@ -563,17 +561,6 @@ retry:
         /* FIXME: By the way H263 decoder is evolving it should have */
         /* an H263EncContext                                         */
 
-    if (!avctx->coded_width || !avctx->coded_height) {
-        ParseContext pc= s->parse_context; //FIXME move these demuxng hack to avformat
-
-        s->parse_context.buffer=0;
-        ff_MPV_common_end(s);
-        s->parse_context= pc;
-        avcodec_set_dimensions(avctx, s->width, s->height);
-
-        goto retry;
-    }
-
     if (s->width  != avctx->coded_width  ||
         s->height != avctx->coded_height ||
         s->context_reinit) {