[FFmpeg-devel] [PATCH] lavf/matroskaenc: use integers to for display size.

Nicolas George nicolas.george at normalesup.org
Sat Dec 8 11:57:06 CET 2012


Avoid rounding differences between x86_32 and x86_64.
Fix trac ticket #1997.

Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
---
 libavformat/matroskaenc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 2a8a2ea..adca74f 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -637,7 +637,7 @@ static int mkv_write_tracks(AVFormatContext *s)
                 }
 
                 if (st->sample_aspect_ratio.num) {
-                    int d_width = codec->width*av_q2d(st->sample_aspect_ratio);
+                    int d_width = av_rescale(codec->width, st->sample_aspect_ratio.num, st->sample_aspect_ratio.den);
                     put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYWIDTH , d_width);
                     put_ebml_uint(pb, MATROSKA_ID_VIDEODISPLAYHEIGHT, codec->height);
                 }
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list