| Index: patched-ffmpeg-mt/libavcodec/mpeg4videodec.c
|
| ===================================================================
|
| --- patched-ffmpeg-mt/libavcodec/mpeg4videodec.c (revision 41250)
|
| +++ patched-ffmpeg-mt/libavcodec/mpeg4videodec.c (working copy)
|
| @@ -2094,7 +2094,7 @@
|
| }
|
| /* detect buggy encoders which don't set the low_delay flag (divx4/xvid/opendivx)*/
|
| // note we cannot detect divx5 without b-frames easily (although it's buggy too)
|
| - if(s->vo_type==0 && s->vol_control_parameters==0 && s->divx_version==0 && s->picture_number==0){
|
| + if(s->vo_type==0 && s->vol_control_parameters==0 && s->divx_version==-1 && s->picture_number==0){
|
| av_log(s->avctx, AV_LOG_ERROR, "looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag\n");
|
| s->low_delay=1;
|
| }
|
| @@ -2133,7 +2133,7 @@
|
| startcode = 0xff;
|
| for(;;) {
|
| if(get_bits_count(gb) >= gb->size_in_bits){
|
| - if(gb->size_in_bits==8 && (s->divx_version || s->xvid_build)){
|
| + if(gb->size_in_bits==8 && (s->divx_version>=0 || s->xvid_build>=0)){
|
| av_log(s->avctx, AV_LOG_ERROR, "frame skip %d\n", gb->size_in_bits);
|
| return FRAME_SKIPPED; //divx bug
|
| }else
|
| @@ -2209,6 +2209,11 @@
|
| int ret;
|
| static int done = 0;
|
|
|
| + s->divx_version=
|
| + s->divx_build=
|
| + s->xvid_build=
|
| + s->lavc_build= -1;
|
| +
|
| if((ret=ff_h263_decode_init(avctx)) < 0)
|
| return ret;
|
|
|
|
|