comparison mpeg12.c @ 3391:d60dc0a7dee6 libavcodec

staric frame_rate_tab -> non static ff_frame_rate_tab part of the cavs patch by (Stefan Gehrer stefan.gehrer gmx de)
author michael
date Sun, 02 Jul 2006 14:50:23 +0000
parents 5e2c69db0ef7
children 1843a85123b7
comparison
equal deleted inserted replaced
3390:63a4adcaf226 3391:d60dc0a7dee6
198 int i; 198 int i;
199 int64_t dmin= INT64_MAX; 199 int64_t dmin= INT64_MAX;
200 int64_t d; 200 int64_t d;
201 201
202 for(i=1;i<14;i++) { 202 for(i=1;i<14;i++) {
203 int64_t n0= 1001LL/frame_rate_tab[i].den*frame_rate_tab[i].num*s->avctx->time_base.num; 203 int64_t n0= 1001LL/ff_frame_rate_tab[i].den*ff_frame_rate_tab[i].num*s->avctx->time_base.num;
204 int64_t n1= 1001LL*s->avctx->time_base.den; 204 int64_t n1= 1001LL*s->avctx->time_base.den;
205 if(s->avctx->strict_std_compliance > FF_COMPLIANCE_INOFFICIAL && i>=9) break; 205 if(s->avctx->strict_std_compliance > FF_COMPLIANCE_INOFFICIAL && i>=9) break;
206 206
207 d = ABS(n0 - n1); 207 d = ABS(n0 - n1);
208 if(d < dmin){ 208 if(d < dmin){
260 int constraint_parameter_flag; 260 int constraint_parameter_flag;
261 261
262 if(aspect_ratio==0.0) aspect_ratio= 1.0; //pixel aspect 1:1 (VGA) 262 if(aspect_ratio==0.0) aspect_ratio= 1.0; //pixel aspect 1:1 (VGA)
263 263
264 if (s->current_picture.key_frame) { 264 if (s->current_picture.key_frame) {
265 AVRational framerate= frame_rate_tab[s->frame_rate_index]; 265 AVRational framerate= ff_frame_rate_tab[s->frame_rate_index];
266 266
267 /* mpeg1 header repeated every gop */ 267 /* mpeg1 header repeated every gop */
268 put_header(s, SEQ_START_CODE); 268 put_header(s, SEQ_START_CODE);
269 269
270 put_bits(&s->pb, 12, s->width); 270 put_bits(&s->pb, 12, s->width);
2119 //that behave like P frames 2119 //that behave like P frames
2120 avctx->has_b_frames = !(s->low_delay); 2120 avctx->has_b_frames = !(s->low_delay);
2121 2121
2122 if(avctx->sub_id==1){//s->codec_id==avctx->codec_id==CODEC_ID 2122 if(avctx->sub_id==1){//s->codec_id==avctx->codec_id==CODEC_ID
2123 //mpeg1 fps 2123 //mpeg1 fps
2124 avctx->time_base.den = frame_rate_tab[s->frame_rate_index].num; 2124 avctx->time_base.den= ff_frame_rate_tab[s->frame_rate_index].num;
2125 avctx->time_base.num= frame_rate_tab[s->frame_rate_index].den; 2125 avctx->time_base.num= ff_frame_rate_tab[s->frame_rate_index].den;
2126 //mpeg1 aspect 2126 //mpeg1 aspect
2127 avctx->sample_aspect_ratio= av_d2q( 2127 avctx->sample_aspect_ratio= av_d2q(
2128 1.0/mpeg1_aspect[s->aspect_ratio_info], 255); 2128 1.0/mpeg1_aspect[s->aspect_ratio_info], 255);
2129 2129
2130 }else{//mpeg2 2130 }else{//mpeg2
2131 //mpeg2 fps 2131 //mpeg2 fps
2132 av_reduce( 2132 av_reduce(
2133 &s->avctx->time_base.den, 2133 &s->avctx->time_base.den,
2134 &s->avctx->time_base.num, 2134 &s->avctx->time_base.num,
2135 frame_rate_tab[s->frame_rate_index].num * s1->frame_rate_ext.num, 2135 ff_frame_rate_tab[s->frame_rate_index].num * s1->frame_rate_ext.num,
2136 frame_rate_tab[s->frame_rate_index].den * s1->frame_rate_ext.den, 2136 ff_frame_rate_tab[s->frame_rate_index].den * s1->frame_rate_ext.den,
2137 1<<30); 2137 1<<30);
2138 //mpeg2 aspect 2138 //mpeg2 aspect
2139 if(s->aspect_ratio_info > 1){ 2139 if(s->aspect_ratio_info > 1){
2140 if( (s1->pan_scan.width == 0 )||(s1->pan_scan.height == 0) ){ 2140 if( (s1->pan_scan.width == 0 )||(s1->pan_scan.height == 0) ){
2141 s->avctx->sample_aspect_ratio= 2141 s->avctx->sample_aspect_ratio=
3250 CODEC_ID_MPEG1VIDEO, 3250 CODEC_ID_MPEG1VIDEO,
3251 sizeof(MpegEncContext), 3251 sizeof(MpegEncContext),
3252 encode_init, 3252 encode_init,
3253 MPV_encode_picture, 3253 MPV_encode_picture,
3254 MPV_encode_end, 3254 MPV_encode_end,
3255 .supported_framerates= frame_rate_tab+1, 3255 .supported_framerates= ff_frame_rate_tab+1,
3256 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1}, 3256 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, -1},
3257 .capabilities= CODEC_CAP_DELAY, 3257 .capabilities= CODEC_CAP_DELAY,
3258 }; 3258 };
3259 3259
3260 AVCodec mpeg2video_encoder = { 3260 AVCodec mpeg2video_encoder = {
3263 CODEC_ID_MPEG2VIDEO, 3263 CODEC_ID_MPEG2VIDEO,
3264 sizeof(MpegEncContext), 3264 sizeof(MpegEncContext),
3265 encode_init, 3265 encode_init,
3266 MPV_encode_picture, 3266 MPV_encode_picture,
3267 MPV_encode_end, 3267 MPV_encode_end,
3268 .supported_framerates= frame_rate_tab+1, 3268 .supported_framerates= ff_frame_rate_tab+1,
3269 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_YUV422P, -1}, 3269 .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV420P, PIX_FMT_YUV422P, -1},
3270 .capabilities= CODEC_CAP_DELAY, 3270 .capabilities= CODEC_CAP_DELAY,
3271 }; 3271 };
3272 #endif 3272 #endif
3273 3273