[vlc-commits] Workaround for video size incompatible with the colorspace.

Laurent Aimar git at videolan.org
Thu Nov 3 20:40:17 CET 2011


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Thu Nov  3 20:28:51 2011 +0100| [b7fa472646be6827643257209ccfab4102ae0190] | committer: Laurent Aimar

Workaround for video size incompatible with the colorspace.

Close #4206.

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

 src/input/decoder.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/input/decoder.c b/src/input/decoder.c
index c285bec..ce878a9 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -2345,6 +2345,18 @@ static picture_t *vout_new_buffer( decoder_t *p_dec )
         fmt.i_chroma = p_dec->fmt_out.i_codec;
         p_owner->video = fmt;
 
+        if( vlc_fourcc_IsYUV( fmt.i_chroma ) )
+        {
+            vlc_chroma_description_t *dsc = vlc_fourcc_GetChromaDescription( fmt.i_chroma );
+            for( int i = 0; dsc && i < dsc->plane_count; i++ )
+            {
+                while( fmt.i_width % dsc->p[i].w.den )
+                    fmt.i_width++;
+                while( fmt.i_height % dsc->p[i].h.den )
+                    fmt.i_height++;
+            }
+        }
+
         if( !fmt.i_visible_width || !fmt.i_visible_height )
         {
             if( p_dec->fmt_in.video.i_visible_width &&



More information about the vlc-commits mailing list