diff mbox series

[FFmpeg-devel,v2,1/3] hwcontext_d3d11va: add mutiple supported DXGI formats

Message ID 20230207063701.1106-1-tong1.wu@intel.com
State New
Headers show
Series [FFmpeg-devel,v2,1/3] hwcontext_d3d11va: add mutiple supported DXGI formats | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Wu, Tong1 Feb. 7, 2023, 6:36 a.m. UTC
Add support for VUYX, YUYV422, Y210, XV30, P012, Y212, XV36.

The added formats work with qsv acceleration and will not have
impact on d3d11va acceleration(-hwaccel d3d11va) since so far
these formats are still not supported by using d3d11va acceleration.

Hwupload and hwdownload can work with the added formats.

Signed-off-by: Tong Wu <tong1.wu@intel.com>
---
 libavutil/hwcontext_d3d11va.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Xiang, Haihao Feb. 12, 2023, 8:56 a.m. UTC | #1
On Di, 2023-02-07 at 14:36 +0800, Tong Wu wrote:
> Add support for VUYX, YUYV422, Y210, XV30, P012, Y212, XV36.
> 
> The added formats work with qsv acceleration and will not have
> impact on d3d11va acceleration(-hwaccel d3d11va) since so far
> these formats are still not supported by using d3d11va acceleration.
> 
> Hwupload and hwdownload can work with the added formats.
> 
> Signed-off-by: Tong Wu <tong1.wu@intel.com>
> ---
>  libavutil/hwcontext_d3d11va.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
> index 363ec6a47d..aa50538d64 100644
> --- a/libavutil/hwcontext_d3d11va.c
> +++ b/libavutil/hwcontext_d3d11va.c
> @@ -89,6 +89,13 @@ static const struct {
>      { DXGI_FORMAT_B8G8R8A8_UNORM,    AV_PIX_FMT_BGRA },
>      { DXGI_FORMAT_R10G10B10A2_UNORM, AV_PIX_FMT_X2BGR10 },
>      { DXGI_FORMAT_R16G16B16A16_FLOAT, AV_PIX_FMT_RGBAF16 },
> +    { DXGI_FORMAT_AYUV,         AV_PIX_FMT_VUYX },
> +    { DXGI_FORMAT_YUY2,         AV_PIX_FMT_YUYV422 },
> +    { DXGI_FORMAT_Y210,         AV_PIX_FMT_Y210 },
> +    { DXGI_FORMAT_Y410,         AV_PIX_FMT_XV30 },
> +    { DXGI_FORMAT_P016,         AV_PIX_FMT_P012 },
> +    { DXGI_FORMAT_Y216,         AV_PIX_FMT_Y212 },
> +    { DXGI_FORMAT_Y416,         AV_PIX_FMT_XV36 },
>      // Special opaque formats. The pix_fmt is merely a place holder, as the
>      // opaque format cannot be accessed directly.
>      { DXGI_FORMAT_420_OPAQUE,   AV_PIX_FMT_YUV420P },

Could you rebase your patch ? patchwork failed to apply your patch, see 
https://patchwork.ffmpeg.org/project/ffmpeg/patch/20230207063701.1106-3-tong1.wu@intel.com/

Thanks
Haihao
diff mbox series

Patch

diff --git a/libavutil/hwcontext_d3d11va.c b/libavutil/hwcontext_d3d11va.c
index 363ec6a47d..aa50538d64 100644
--- a/libavutil/hwcontext_d3d11va.c
+++ b/libavutil/hwcontext_d3d11va.c
@@ -89,6 +89,13 @@  static const struct {
     { DXGI_FORMAT_B8G8R8A8_UNORM,    AV_PIX_FMT_BGRA },
     { DXGI_FORMAT_R10G10B10A2_UNORM, AV_PIX_FMT_X2BGR10 },
     { DXGI_FORMAT_R16G16B16A16_FLOAT, AV_PIX_FMT_RGBAF16 },
+    { DXGI_FORMAT_AYUV,         AV_PIX_FMT_VUYX },
+    { DXGI_FORMAT_YUY2,         AV_PIX_FMT_YUYV422 },
+    { DXGI_FORMAT_Y210,         AV_PIX_FMT_Y210 },
+    { DXGI_FORMAT_Y410,         AV_PIX_FMT_XV30 },
+    { DXGI_FORMAT_P016,         AV_PIX_FMT_P012 },
+    { DXGI_FORMAT_Y216,         AV_PIX_FMT_Y212 },
+    { DXGI_FORMAT_Y416,         AV_PIX_FMT_XV36 },
     // Special opaque formats. The pix_fmt is merely a place holder, as the
     // opaque format cannot be accessed directly.
     { DXGI_FORMAT_420_OPAQUE,   AV_PIX_FMT_YUV420P },