diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index a1981a3cf8..c28a465651 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -459,7 +459,7 @@ retry: } } - if (s->bitstream_buffer_size && (s->divx_packed || buf_size < 20)) // divx 5.01+/xvid frame reorder + if (s->bitstream_buffer_size && (s->divx_packed || buf_size <= MAX_NVOP_SIZE)) // divx 5.01+/xvid frame reorder ret = init_get_bits8(&s->gb, s->bitstream_buffer, s->bitstream_buffer_size); else diff --git a/libavcodec/mpeg4video.h b/libavcodec/mpeg4video.h index e83692cc87..43650bb007 100644 --- a/libavcodec/mpeg4video.h +++ b/libavcodec/mpeg4video.h @@ -59,6 +59,9 @@ #define VISUAL_OBJ_STARTCODE 0x1B5 #define VOP_STARTCODE 0x1B6 +/* smaller packets likely don't contain a real frame */ +#define MAX_NVOP_SIZE 19 + typedef struct Mpeg4DecContext { MpegEncContext m;