[vlc-commits] direct3d11: use the decoder format chroma as seen from the outside

Steve Lhomme git at videolan.org
Fri Oct 27 10:33:54 CEST 2017


vlc | branch: master | Steve Lhomme <robux4 at gmail.com> | Thu Oct 26 15:45:15 2017 +0200| [61246257e14a5168fcfb8293d406e5ddedf05038] | committer: Jean-Baptiste Kempf

direct3d11: use the decoder format chroma as seen from the outside

We will do the conversion from the decoder format to the display format internally as with I420.

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

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

 modules/video_output/win32/direct3d11.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c
index 6d02f5beb4..e393953756 100644
--- a/modules/video_output/win32/direct3d11.c
+++ b/modules/video_output/win32/direct3d11.c
@@ -1653,6 +1653,8 @@ static int Direct3D11Open(vout_display_t *vd, video_format_t *fmt)
     const d3d_format_t *decoder_format = NULL;
     if ( !sys->picQuadConfig && is_d3d11_opaque(fmt->i_chroma) )
         decoder_format = GetDirectDecoderFormat(vd, fmt->i_chroma);
+    else
+        decoder_format = sys->picQuadConfig;
 
     // look for any pixel format that we can handle with enough pixels per channel
     if ( !sys->picQuadConfig )
@@ -1687,7 +1689,7 @@ static int Direct3D11Open(vout_display_t *vd, video_format_t *fmt)
        return VLC_EGENERIC;
     }
 
-    fmt->i_chroma = sys->picQuadConfig->fourcc;
+    fmt->i_chroma = decoder_format ? decoder_format->fourcc : sys->picQuadConfig->fourcc;
 
     msg_Dbg( vd, "Using pixel format %s for chroma %4.4s", sys->picQuadConfig->name,
                  (char *)&fmt->i_chroma );



More information about the vlc-commits mailing list