# HG changeset patch # User michael # Date 1066692279 0 # Node ID fca47124001d9b0f6bd81a74b3c153a4d830b71f # Parent 5e643dd7e889f0c4c040a67c4daafcf11613948b mpeg2 aspect ratio encoding fixed diff -r 5e643dd7e889 -r fca47124001d mpeg12.c --- a/mpeg12.c Mon Oct 20 22:33:53 2003 +0000 +++ b/mpeg12.c Mon Oct 20 23:24:39 2003 +0000 @@ -219,7 +219,12 @@ put_bits(&s->pb, 12, s->height); for(i=1; i<15; i++){ - float error= mpeg1_aspect[i] - aspect_ratio; + float error= aspect_ratio; + if(s->codec_id == CODEC_ID_MPEG1VIDEO || i <=1) + error-= mpeg1_aspect[i]; + else + error-= av_q2d(mpeg2_aspect[i])*s->height/s->width; + error= ABS(error); if(error < best_aspect_error){ @@ -2252,7 +2257,7 @@ s->aspect_ratio_info= get_bits(&s->gb, 4); if(s->codec_id == CODEC_ID_MPEG1VIDEO){ aspect= mpeg1_aspect[s->aspect_ratio_info]; - if(aspect!=0.0) avctx->sample_aspect_ratio= av_d2q(aspect, 30000); + if(aspect!=0.0) avctx->sample_aspect_ratio= av_d2q(aspect, 255); } s->frame_rate_index = get_bits(&s->gb, 4);