Revision b317567c libavcodec/mpeg4videodec.c
libavcodec/mpeg4videodec.c | ||
---|---|---|
2079 | 2079 |
} |
2080 | 2080 |
/* detect buggy encoders which don't set the low_delay flag (divx4/xvid/opendivx)*/ |
2081 | 2081 |
// note we cannot detect divx5 without b-frames easily (although it's buggy too) |
2082 |
if(s->vo_type==0 && s->vol_control_parameters==0 && s->divx_version==0 && s->picture_number==0){
|
|
2082 |
if(s->vo_type==0 && s->vol_control_parameters==0 && s->divx_version==-1 && s->picture_number==0){
|
|
2083 | 2083 |
av_log(s->avctx, AV_LOG_ERROR, "looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag\n"); |
2084 | 2084 |
s->low_delay=1; |
2085 | 2085 |
} |
... | ... | |
2118 | 2118 |
startcode = 0xff; |
2119 | 2119 |
for(;;) { |
2120 | 2120 |
if(get_bits_count(gb) >= gb->size_in_bits){ |
2121 |
if(gb->size_in_bits==8 && (s->divx_version || s->xvid_build)){
|
|
2121 |
if(gb->size_in_bits==8 && (s->divx_version>=0 || s->xvid_build>=0)){
|
|
2122 | 2122 |
av_log(s->avctx, AV_LOG_ERROR, "frame skip %d\n", gb->size_in_bits); |
2123 | 2123 |
return FRAME_SKIPPED; //divx bug |
2124 | 2124 |
}else |
... | ... | |
2194 | 2194 |
int ret; |
2195 | 2195 |
static int done = 0; |
2196 | 2196 |
|
2197 |
s->divx_version= |
|
2198 |
s->divx_build= |
|
2199 |
s->xvid_build= |
|
2200 |
s->lavc_build= -1; |
|
2201 |
|
|
2197 | 2202 |
if((ret=ff_h263_decode_init(avctx)) < 0) |
2198 | 2203 |
return ret; |
2199 | 2204 |
|
Also available in: Unified diff