Mercurial > libavcodec.hg
comparison mpeg4videodec.c @ 11098:77b3f322dba8 libavcodec
Change xvid/divx/lavc build variables to be consistent to x264_build.
author | michael |
---|---|
date | Mon, 08 Feb 2010 00:43:15 +0000 |
parents | 514dc1c87b2e |
children | b94e1810ce4c |
comparison
equal
deleted
inserted
replaced
11097:7e5d7873fad9 | 11098:77b3f322dba8 |
---|---|
2077 skip_bits(gb, 2); //ref_select_code | 2077 skip_bits(gb, 2); //ref_select_code |
2078 } | 2078 } |
2079 } | 2079 } |
2080 /* detect buggy encoders which don't set the low_delay flag (divx4/xvid/opendivx)*/ | 2080 /* detect buggy encoders which don't set the low_delay flag (divx4/xvid/opendivx)*/ |
2081 // note we cannot detect divx5 without b-frames easily (although it's buggy too) | 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 av_log(s->avctx, AV_LOG_ERROR, "looks like this file was encoded with (divx4/(old)xvid/opendivx) -> forcing low_delay flag\n"); | 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 s->low_delay=1; | 2084 s->low_delay=1; |
2085 } | 2085 } |
2086 | 2086 |
2087 s->picture_number++; // better than pic number==0 always ;) | 2087 s->picture_number++; // better than pic number==0 always ;) |
2116 } | 2116 } |
2117 | 2117 |
2118 startcode = 0xff; | 2118 startcode = 0xff; |
2119 for(;;) { | 2119 for(;;) { |
2120 if(get_bits_count(gb) >= gb->size_in_bits){ | 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 av_log(s->avctx, AV_LOG_ERROR, "frame skip %d\n", gb->size_in_bits); | 2122 av_log(s->avctx, AV_LOG_ERROR, "frame skip %d\n", gb->size_in_bits); |
2123 return FRAME_SKIPPED; //divx bug | 2123 return FRAME_SKIPPED; //divx bug |
2124 }else | 2124 }else |
2125 return -1; //end of stream | 2125 return -1; //end of stream |
2126 } | 2126 } |
2192 { | 2192 { |
2193 MpegEncContext *s = avctx->priv_data; | 2193 MpegEncContext *s = avctx->priv_data; |
2194 int ret; | 2194 int ret; |
2195 static int done = 0; | 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 if((ret=ff_h263_decode_init(avctx)) < 0) | 2202 if((ret=ff_h263_decode_init(avctx)) < 0) |
2198 return ret; | 2203 return ret; |
2199 | 2204 |
2200 if (!done) { | 2205 if (!done) { |
2201 done = 1; | 2206 done = 1; |