From deeb788f76b62e2736dbccdc7a098fc03aa81f1d Mon Sep 17 00:00:00 2001 From: Ilkka Ollakka Date: Sat, 26 Dec 2009 16:23:33 +0200 Subject: [PATCH] transcode/video: fit sar-calculation Should fix aspect-ratio issues and fixes #2793 --- modules/stream_out/transcode/video.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/stream_out/transcode/video.c b/modules/stream_out/transcode/video.c index 5e3ed9415e..15fd25d1e3 100644 --- a/modules/stream_out/transcode/video.c +++ b/modules/stream_out/transcode/video.c @@ -435,11 +435,15 @@ static void transcode_video_encoder_init( sout_stream_t *p_stream, if( id->p_encoder->fmt_out.video.i_sar_num <= 0 || id->p_encoder->fmt_out.video.i_sar_den <= 0 ) { - id->p_encoder->fmt_out.video.i_sar_num = - f_aspect * id->p_encoder->fmt_out.video.i_height + 0.5; - id->p_encoder->fmt_out.video.i_sar_num = - VOUT_ASPECT_FACTOR * id->p_encoder->fmt_out.video.i_width; + id->p_encoder->fmt_out.video.i_sar_num = id->p_decoder->fmt_out.video.i_sar_num * i_src_width / i_dst_width; + id->p_encoder->fmt_out.video.i_sar_den = id->p_decoder->fmt_out.video.i_sar_den * i_src_height / i_dst_height; } + vlc_ureduce( &id->p_encoder->fmt_out.video.i_sar_num, + &id->p_encoder->fmt_out.video.i_sar_den, + id->p_encoder->fmt_out.video.i_sar_num, + id->p_encoder->fmt_out.video.i_sar_den, + 0 ); + id->p_encoder->fmt_in.video.i_sar_num = id->p_encoder->fmt_out.video.i_sar_num; id->p_encoder->fmt_in.video.i_sar_den = -- 2.39.2