From 2faa3d9d9d5d728e88dffa41ef50836b956e25df Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Weber?= Date: Sat, 12 Sep 2009 19:02:47 +0200 Subject: [PATCH] Win32: bugfix for blueish video colors useing DirectX Overlay Output 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 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/video_output/msw/directx.c b/modules/video_output/msw/directx.c index 57330452db..f740852d1f 100644 --- a/modules/video_output/msw/directx.c +++ b/modules/video_output/msw/directx.c @@ -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; -- 2.39.5