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;