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>
Fri, 4 Oct 2013 21:31:31 +0000 (00:31 +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>
(cherry picked from commit 8812a8057f539845f6801cafdf6c481a59e96b48)

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

index fc5f565..db58fd2 100644 (file)
@@ -385,8 +385,6 @@ uint64_t time= rdtsc();
     }
 
 
-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
@@ -569,17 +567,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) {