[vlc-commits] transcode: video: Simplify dimension rounding.
Hugo Beauzée-Luyssen
git at videolan.org
Wed Aug 23 17:39:33 CEST 2017
vlc | branch: master | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Wed Aug 23 11:16:06 2017 +0200| [756ceff1a862141c436a65b1041775826b55cee8] | committer: Hugo Beauzée-Luyssen
transcode: video: Simplify dimension rounding.
Do not round visible dimensions
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=756ceff1a862141c436a65b1041775826b55cee8
---
modules/stream_out/transcode/video.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/modules/stream_out/transcode/video.c b/modules/stream_out/transcode/video.c
index 778fb00dfd..cadefa28d8 100644
--- a/modules/stream_out/transcode/video.c
+++ b/modules/stream_out/transcode/video.c
@@ -522,10 +522,13 @@ static void transcode_video_size_init( sout_stream_t *p_stream,
* Make sure its multiple of 2
*/
/* width/height of output stream */
- int i_dst_visible_width = 2 * lroundf(f_scale_width*i_src_visible_width/2);
- int i_dst_visible_height = 2 * lroundf(f_scale_height*i_src_visible_height/2);
- int i_dst_width = 2 * lroundf(f_scale_width*p_fmt_out->video.i_width/2);
- int i_dst_height = 2 * lroundf(f_scale_height*p_fmt_out->video.i_height/2);
+ int i_dst_visible_width = lroundf(f_scale_width*i_src_visible_width);
+ int i_dst_visible_height = lroundf(f_scale_height*i_src_visible_height);
+ int i_dst_width = lroundf(f_scale_width*p_fmt_out->video.i_width);
+ int i_dst_height = lroundf(f_scale_height*p_fmt_out->video.i_height);
+
+ if( i_dst_width & 1 ) ++i_dst_width;
+ if( i_dst_height & 1 ) ++i_dst_height;
/* Store calculated values */
id->p_encoder->fmt_out.video.i_width = i_dst_width;
More information about the vlc-commits
mailing list