diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11-private.h b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11-private.h index 17c11f8ed6..668d4644bb 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11-private.h +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11-private.h @@ -44,7 +44,7 @@ G_BEGIN_DECLS /* DXGI (semi) native formats */ #define GST_D3D11_TIER_0_FORMATS \ - "RGBA64_LE, BGRA64_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y212_LE, " \ + "RGBA64_LE, BGRA64_LE, Y416_LE, Y412_LE, RGB10A2_LE, Y410, BGR10A2_LE, Y216_LE, Y212_LE, " \ "Y210, VUYA, RGBA, BGRA, RBGA, P016_LE, P012_LE, P010_10LE, RGBx, BGRx, " \ "YUY2, NV12" @@ -179,9 +179,15 @@ static const GstD3D11Format _gst_d3d11_default_format_map[] = { MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_Y212_LE, Y216, R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN, D3D11_FORMAT_SUPPORT_SHADER_SAMPLE), + MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_Y216_LE, Y216, + R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN, + D3D11_FORMAT_SUPPORT_SHADER_SAMPLE), MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_Y412_LE, Y416, R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN, D3D11_FORMAT_SUPPORT_SHADER_SAMPLE), + MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_Y416_LE, Y416, + R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN, + D3D11_FORMAT_SUPPORT_SHADER_SAMPLE), MAKE_FORMAT_MAP_FULL (GST_VIDEO_FORMAT_BGRA64_LE, Y416, R16G16B16A16_UNORM, UNKNOWN, UNKNOWN, UNKNOWN, D3D11_FORMAT_SUPPORT_SHADER_SAMPLE), diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11converter.cpp b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11converter.cpp index 00fe4d9ec6..603f9f521d 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11converter.cpp +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11converter.cpp @@ -1992,11 +1992,13 @@ get_shader_format (GstVideoFormat format, gboolean is_input) return GST_VIDEO_FORMAT_AYUV; case GST_VIDEO_FORMAT_Y210: case GST_VIDEO_FORMAT_Y212_LE: + case GST_VIDEO_FORMAT_Y216_LE: case GST_VIDEO_FORMAT_v210: case GST_VIDEO_FORMAT_v216: return GST_VIDEO_FORMAT_AYUV64; case GST_VIDEO_FORMAT_Y410: case GST_VIDEO_FORMAT_Y412_LE: + case GST_VIDEO_FORMAT_Y416_LE: if (!is_input) return GST_VIDEO_FORMAT_AYUV64; break; diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11device.cpp b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11device.cpp index cbed7b3ad0..95f4114acd 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11device.cpp +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3d11/gstd3d11device.cpp @@ -561,7 +561,9 @@ gst_d3d11_device_setup_format_table (GstD3D11Device * self) case GST_VIDEO_FORMAT_YUY2: case GST_VIDEO_FORMAT_Y210: case GST_VIDEO_FORMAT_Y212_LE: + case GST_VIDEO_FORMAT_Y216_LE: case GST_VIDEO_FORMAT_Y412_LE: + case GST_VIDEO_FORMAT_Y416_LE: case GST_VIDEO_FORMAT_BGRA64_LE: case GST_VIDEO_FORMAT_BGR10A2_LE: case GST_VIDEO_FORMAT_RBGA: diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/d3dshader/gstd3dshadercache.cpp b/subprojects/gst-plugins-bad/gst-libs/gst/d3dshader/gstd3dshadercache.cpp index fb8245e5ef..a739811a47 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/d3dshader/gstd3dshadercache.cpp +++ b/subprojects/gst-plugins-bad/gst-libs/gst/d3dshader/gstd3dshadercache.cpp @@ -288,6 +288,7 @@ gst_d3d_converter_shader_get_cs_blob (GstVideoFormat in_format, break; case GST_VIDEO_FORMAT_Y210: case GST_VIDEO_FORMAT_Y212_LE: + case GST_VIDEO_FORMAT_Y216_LE: srv_format = DXGI_FORMAT_R16G16B16A16_UNORM; in_format_str = "YUY2"; x_unit = 16; @@ -394,6 +395,7 @@ gst_d3d_converter_shader_get_cs_blob (GstVideoFormat in_format, break; case GST_VIDEO_FORMAT_Y210: case GST_VIDEO_FORMAT_Y212_LE: + case GST_VIDEO_FORMAT_Y216_LE: uav_format = DXGI_FORMAT_R16G16B16A16_UNORM; out_format_str = "YUY2"; x_unit = 16; @@ -424,6 +426,7 @@ gst_d3d_converter_shader_get_cs_blob (GstVideoFormat in_format, x_unit = 8; break; case GST_VIDEO_FORMAT_Y412_LE: + case GST_VIDEO_FORMAT_Y416_LE: uav_format = DXGI_FORMAT_R16G16B16A16_UNORM; out_format_str = "Y410"; x_unit = 8; @@ -691,6 +694,7 @@ conv_ps_make_input (GstVideoFormat format, gboolean premul) return "GBRAPremul_12"; return "GBRA_12"; case GST_VIDEO_FORMAT_Y412_LE: + case GST_VIDEO_FORMAT_Y416_LE: if (premul) return "Y412Premul"; return "Y412";