]> git.sesse.net Git - vlc/commitdiff
rawvideo: deal with visible width/height (refs #8802)
authorRémi Denis-Courmont <remi@remlab.net>
Sun, 16 Jun 2013 15:40:44 +0000 (18:40 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sun, 16 Jun 2013 15:40:44 +0000 (18:40 +0300)
So far rawvideo assumed that the full pitch was part of the picture.

modules/codec/rawvideo.c

index 3cd8719d030f165535837744313de5efdada5a11..f2db54570c307a14776ea76fec6ff295f4bc93be 100644 (file)
@@ -146,8 +146,13 @@ static int OpenDecoder( vlc_object_t *p_this )
             (unsigned int)(-(int)p_dec->fmt_in.video.i_height);
         p_sys->b_invert = true;
     }
+    if( !p_dec->fmt_in.video.i_visible_width )
+        p_dec->fmt_in.video.i_visible_width = p_dec->fmt_in.video.i_width;
+    if( !p_dec->fmt_in.video.i_visible_height )
+        p_dec->fmt_in.video.i_visible_height = p_dec->fmt_in.video.i_height;
 
-    if( p_dec->fmt_in.video.i_width <= 0 || p_dec->fmt_in.video.i_height <= 0 )
+    if( p_dec->fmt_in.video.i_visible_width <= 0
+     || p_dec->fmt_in.video.i_visible_height <= 0 )
     {
         msg_Err( p_dec, "invalid display size %dx%d",
                  p_dec->fmt_in.video.i_width, p_dec->fmt_in.video.i_height );
@@ -169,8 +174,8 @@ static int OpenDecoder( vlc_object_t *p_this )
 
     /* Find out p_vdec->i_raw_size */
     video_format_Setup( &p_dec->fmt_out.video, p_dec->fmt_in.i_codec,
-                        p_dec->fmt_in.video.i_width,
-                        p_dec->fmt_in.video.i_height,
+                        p_dec->fmt_in.video.i_visible_width,
+                        p_dec->fmt_in.video.i_visible_height,
                         p_dec->fmt_in.video.i_sar_num,
                         p_dec->fmt_in.video.i_sar_den );
     picture_t picture;