]> git.sesse.net Git - vlc/blobdiff - modules/codec/rawvideo.c
lua: remove recursion
[vlc] / modules / codec / rawvideo.c
index 02c297519ff004793016c21633c6cbaab873e6ff..f2db54570c307a14776ea76fec6ff295f4bc93be 100644 (file)
@@ -108,6 +108,8 @@ static int OpenDecoder( vlc_object_t *p_this )
         case VLC_CODEC_YUVP:
         case VLC_CODEC_NV12:
         case VLC_CODEC_NV21:
+        case VLC_CODEC_I422_10L:
+        case VLC_CODEC_I422_10B:
 
         /* Packed YUV */
         case VLC_CODEC_YUYV:
@@ -144,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 );
@@ -167,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;