diff options
Diffstat (limited to 'libavformat/matroskaenc.c')
-rw-r--r-- | libavformat/matroskaenc.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c index e656bc3c3d..9346e9c84e 100644 --- a/libavformat/matroskaenc.c +++ b/libavformat/matroskaenc.c @@ -593,11 +593,10 @@ static int mkv_write_tracks(AVFormatContext *s) // XXX: interlace flag? put_ebml_uint (pb, MATROSKA_ID_VIDEOPIXELWIDTH , codec->width); put_ebml_uint (pb, MATROSKA_ID_VIDEOPIXELHEIGHT, codec->height); - if (codec->sample_aspect_ratio.num) { - AVRational dar = av_mul_q(codec->sample_aspect_ratio, - (AVRational){codec->width, codec->height}); - put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH , dar.num); - put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYHEIGHT, dar.den); + if (st->sample_aspect_ratio.num) { + int d_width = codec->width*av_q2d(st->sample_aspect_ratio); + put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH , d_width); + put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYHEIGHT, codec->height); } end_ebml_master(pb, subinfo); break; |