]> git.sesse.net Git - vlc/commitdiff
Win32: bugfix for blueish video colors useing DirectX Overlay Output
authorAndré Weber <atmo@videolan.org>
Sat, 12 Sep 2009 17:02:47 +0000 (19:02 +0200)
committerAndré Weber <atmo@videolan.org>
Sat, 12 Sep 2009 17:08:43 +0000 (19:08 +0200)
The fourcc of I420 was not recognized durring vout init so a fallback to YV12
was used - which flipped the U and V colorplanes.

(I'am not sure if this is the correct solution for this, a developer knowing
the video output more in detail should have a look on this.)

modules/video_output/msw/directx.c

index 57330452dbdd4e87bcf770f3262364c27e6a1759..f740852d1f9c9981294b4d59e45c90b5bcc1bd1d 100644 (file)
@@ -366,7 +366,13 @@ static int Init( vout_thread_t *p_vout )
         case VLC_CODEC_YVYU:
             p_vout->output.i_chroma = VLC_CODEC_YVYU;
             break;
+        case VLC_CODEC_I420:
+            p_vout->output.i_chroma = VLC_CODEC_I420;
+            break;
         default:
+            msg_Dbg( p_vout, "use default chroma YV12 for render " \
+                             "chroma (%4.4s)",
+                             (char *)&p_vout->render.i_chroma);
             p_vout->output.i_chroma = VLC_CODEC_YV12;
             break;
     }
@@ -1618,6 +1624,7 @@ static int UpdatePictureStruct( vout_thread_t *p_vout, picture_t *p_pic )
 
             /* U and V inverted compared to I420
              * Fixme: this should be handled by the vout core */
+            /* could this be right? */
             p_vout->output.i_chroma = VLC_CODEC_I420;
 
             p_pic->Y_PIXELS = p_pic->p_sys->ddsd.lpSurface;