[vlc-commits] [Git][videolan/vlc][master] dxgi_fmt: add support for tri-planar I422 10-bit

Rémi Denis-Courmont (@Courmisch) gitlab at videolan.org
Mon Nov 10 16:47:21 UTC 2025



Rémi Denis-Courmont pushed to branch master at VideoLAN / VLC


Commits:
2031cd83 by Steve Lhomme at 2025-11-10T18:28:30+02:00
dxgi_fmt: add support for tri-planar I422 10-bit

This is the most common format for OpenAPV output.
This should also be found in AV1.

- - - - -


2 changed files:

- modules/video_chroma/dxgi_fmt.c
- modules/video_output/win32/d3d_dynamic_shader.c


Changes:

=====================================
modules/video_chroma/dxgi_fmt.c
=====================================
@@ -80,13 +80,13 @@ static const d3d_format_t d3d_formats[] = {
     { "VA_Y210",  DXGI_FORMAT_Y210,   DXGI_FORMAT_UNKNOWN,        VLC_CODEC_D3D11_OPAQUE_10B, 10, 1, 2,  0, 1, { DXGI_FORMAT_R16G16B16A16_UNORM } },
     { "VA_Y410",  DXGI_FORMAT_Y410,   DXGI_FORMAT_UNKNOWN,        VLC_CODEC_D3D11_OPAQUE_10B, 10, 1, 1,  0, 1, { DXGI_FORMAT_R10G10B10A2_UNORM } },
 #ifdef UNTESTED
-    { "Y210",     DXGI_FORMAT_Y210,   DXGI_FORMAT_UNKNOWN,        VLC_CODEC_I422_10L,     10, 1, 2,  0, 1, { DXGI_FORMAT_R16G16B16A16_UNORM } },
     { "Y410",     DXGI_FORMAT_Y410,   DXGI_FORMAT_UNKNOWN,        VLC_CODEC_I444,         10, 1, 1,  0, 1, { DXGI_FORMAT_R10G10B10A2_UNORM } },
     { "NV11",     DXGI_FORMAT_NV11,   DXGI_FORMAT_UNKNOWN,        VLC_CODEC_I411,          8, 4, 1,  0, 1, { DXGI_FORMAT_R8_UNORM,           DXGI_FORMAT_R8G8_UNORM} },
 #endif
     { "I420",     DXGI_FORMAT_UNKNOWN,DXGI_FORMAT_UNKNOWN,        VLC_CODEC_I420,          8, 2, 2,  0, 1, { DXGI_FORMAT_R8_UNORM,      DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM } },
     { "I420_10",  DXGI_FORMAT_UNKNOWN,DXGI_FORMAT_UNKNOWN,        VLC_CODEC_I420_10L,     10, 2, 2,  0, 1, { DXGI_FORMAT_R16_UNORM,     DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_UNORM } },
     { "I40A",     DXGI_FORMAT_UNKNOWN,DXGI_FORMAT_UNKNOWN,        VLC_CODEC_YUV420A,       8, 2, 2,  8, 1, { DXGI_FORMAT_R8_UNORM,      DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM } },
+    { "I422_10",  DXGI_FORMAT_UNKNOWN,DXGI_FORMAT_UNKNOWN,        VLC_CODEC_I422_10L,     10, 2, 1,  0, 1 << 6, { DXGI_FORMAT_R16_UNORM,     DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_UNORM } },
     { "YUVA",     DXGI_FORMAT_UNKNOWN,DXGI_FORMAT_UNKNOWN,        VLC_CODEC_YUVA,          8, 1, 1,  8, 1, { DXGI_FORMAT_R8_UNORM,      DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM } },
     { "I444",     DXGI_FORMAT_UNKNOWN,DXGI_FORMAT_UNKNOWN,        VLC_CODEC_I444,          8, 1, 1,  0, 1, { DXGI_FORMAT_R8_UNORM,      DXGI_FORMAT_R8_UNORM, DXGI_FORMAT_R8_UNORM } },
     { "I444_10",  DXGI_FORMAT_UNKNOWN,DXGI_FORMAT_UNKNOWN,        VLC_CODEC_I444_10L,     10, 1, 1,  0, 1 << 6, { DXGI_FORMAT_R16_UNORM,     DXGI_FORMAT_R16_UNORM, DXGI_FORMAT_R16_UNORM } },


=====================================
modules/video_output/win32/d3d_dynamic_shader.c
=====================================
@@ -534,6 +534,7 @@ HRESULT (D3D_CompilePixelShader)(vlc_object_t *o,
             case VLC_CODEC_I444_12L:
             case VLC_CODEC_I444_10L:
             case VLC_CODEC_I444:
+            case VLC_CODEC_I422_10L:
             case VLC_CODEC_I420:
                 psz_sampler[0] = "SAMPLE_TRIPLANAR_TO_YUVA";
                 psz_shader_resource_views[0] = "3"; shader_views[0] = 3;



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/2031cd83d6b696fc67209c90c51592c225b51154

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/2031cd83d6b696fc67209c90c51592c225b51154
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list