[FFmpeg-devel] [PATCH 1/3] lavu/hwcontext_vaapi: Add a new quirk
Xiang, Haihao
haihao.xiang at intel.com
Wed Apr 3 04:40:00 EEST 2024
On Do, 2024-03-28 at 10:17 +0800, Xiang, Haihao wrote:
> From: Haihao Xiang <haihao.xiang at intel.com>
>
> libva2 doesn't require a fixed surface-array any more, but some
> driver/hardware combinations which rely on this are still used. To
> reduce the impact to users, add a quirk for the driver/hardware
> combination which supports dynamic surface pool.
>
> Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>
> ---
> libavutil/hwcontext_vaapi.c | 7 +++++++
> libavutil/hwcontext_vaapi.h | 6 ++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
> index 56d03aa4cd..dae5dd4a11 100644
> --- a/libavutil/hwcontext_vaapi.c
> +++ b/libavutil/hwcontext_vaapi.c
> @@ -390,6 +390,13 @@ static const struct {
> "Splitted-Desktop Systems VDPAU backend for VA-API",
> AV_VAAPI_DRIVER_QUIRK_SURFACE_ATTRIBUTES,
> },
> +#if CONFIG_VAAPI_1
> + {
> + "New Intel iHD",
> + "Intel iHD driver for Intel(R) Gen Graphics",
> + AV_VAAPI_DRIVER_QUIRK_DYNAMIC_SURFACE_POOL,
> + },
> +#endif
> };
>
> static int vaapi_device_init(AVHWDeviceContext *hwdev)
> diff --git a/libavutil/hwcontext_vaapi.h b/libavutil/hwcontext_vaapi.h
> index 0b2e071cb3..07014fd526 100644
> --- a/libavutil/hwcontext_vaapi.h
> +++ b/libavutil/hwcontext_vaapi.h
> @@ -58,6 +58,12 @@ enum {
> * and the results of the vaQuerySurfaceAttributes() call will be faked.
> */
> AV_VAAPI_DRIVER_QUIRK_SURFACE_ATTRIBUTES = (1 << 3),
> +
> + /**
> + * The driver (and the underlying HW) supports dynamic surface pool.
> + * The vaCreateContext() call doesn't require a fixed surface-array.
> + */
> + AV_VAAPI_DRIVER_QUIRK_DYNAMIC_SURFACE_POOL = (1 << 4),
> };
>
> /**
I will merge this patchset if there are no objections.
Thanks
Haihao
More information about the ffmpeg-devel
mailing list