[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