[vlc-commits] picture: round the number of visible lines to the upper multiple

Steve Lhomme git at videolan.org
Wed Apr 18 10:50:21 CEST 2018


vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Tue Apr 17 14:41:43 2018 +0200| [81aed6c302c1d3e90267fbdea07e9db361632043] | committer: Steve Lhomme

picture: round the number of visible lines to the upper multiple

The U/V lines of 4:2:0 chroma are divided by 2. But if the height is an odd
number we end up missing the last line for these planes.

Fixes #20290

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=81aed6c302c1d3e90267fbdea07e9db361632043
---

 src/misc/picture.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/misc/picture.c b/src/misc/picture.c
index 7506e47725..731d4ac492 100644
--- a/src/misc/picture.c
+++ b/src/misc/picture.c
@@ -159,10 +159,10 @@ int picture_Setup( picture_t *p_picture, const video_format_t *restrict fmt )
         assert(w->den >= w->num);
 
         p->i_lines = height * h->num / h->den;
-        p->i_visible_lines = fmt->i_visible_height * h->num / h->den;
+        p->i_visible_lines = (fmt->i_visible_height + (h->den - 1)) * h->num / h->den;
 
         p->i_pitch = width * w->num / w->den * p_dsc->pixel_size;
-        p->i_visible_pitch = fmt->i_visible_width * w->num / w->den
+        p->i_visible_pitch = (fmt->i_visible_width + (w->den - 1)) * w->num / w->den
                              * p_dsc->pixel_size;
         p->i_pixel_pitch = p_dsc->pixel_size;
 



More information about the vlc-commits mailing list