[FFmpeg-devel] [PATCH v3 1/4] lavu: Remove libva 1.x support

Xiang, Haihao haihao.xiang at intel.com
Wed Apr 24 17:06:53 EEST 2024


On Ma, 2024-04-22 at 22:41 +0100, Mark Thompson wrote:
> libva 2.0 was released in 2017 and the 2.x versions are included in all
> supported distributions nowadays.
> ---
> Rebased.
> 
> I think we can also drop the other quirks?  They are for the proprietary media
> SDK driver (which I think is dead?) and the VDPAU wrapper (which I don't think
> was ever updated for libva 2?).

Agree, please drop these quirks in a new patch. 

BTW I think we should require VA-API 1.x firstly, otherwise if someone has VA-
API 0.x, he/she will get errors when building this commit. 

Thanks
Haihao

> 
> 
>  libavutil/hwcontext_vaapi.c | 22 ----------------------
>  1 file changed, 22 deletions(-)
> 
> diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
> index 56d03aa4cd..84bcb78087 100644
> --- a/libavutil/hwcontext_vaapi.c
> +++ b/libavutil/hwcontext_vaapi.c
> @@ -372,14 +372,6 @@ static const struct {
>      const char *match_string;
>      unsigned int quirks;
>  } vaapi_driver_quirks_table[] = {
> -#if !VA_CHECK_VERSION(1, 0, 0)
> -    // The i965 driver did not conform before version 2.0.
> -    {
> -        "Intel i965 (Quick Sync)",
> -        "i965",
> -        AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS,
> -    },
> -#endif
>      {
>          "Intel iHD",
>          "ubit",
> @@ -1413,7 +1405,6 @@ fail:
>  }
>  #endif
> 
> -#if VA_CHECK_VERSION(0, 36, 0)
>  typedef struct VAAPIDRMImageBufferMapping {
>      VAImage      image;
>      VABufferInfo buffer_info;
> @@ -1573,7 +1564,6 @@ fail:
>      av_freep(&mapping);
>      return err;
>  }
> -#endif
> 
>  static int vaapi_map_to_drm(AVHWFramesContext *hwfc, AVFrame *dst,
>                              const AVFrame *src, int flags)
> @@ -1584,10 +1574,7 @@ static int vaapi_map_to_drm(AVHWFramesContext *hwfc,
> AVFrame *dst,
>      if (err != AVERROR(ENOSYS))
>          return err;
>  #endif
> -#if VA_CHECK_VERSION(0, 36, 0)
>      return vaapi_map_to_drm_abh(hwfc, dst, src, flags);
> -#endif
> -    return AVERROR(ENOSYS);
>  }
> 
>  #endif /* CONFIG_LIBDRM */
> @@ -1637,7 +1624,6 @@ static void vaapi_device_free(AVHWDeviceContext *ctx)
>      av_freep(&priv);
>  }
> 
> -#if CONFIG_VAAPI_1
>  static void vaapi_device_log_error(void *context, const char *message)
>  {
>      AVHWDeviceContext *ctx = context;
> @@ -1651,7 +1637,6 @@ static void vaapi_device_log_info(void *context, const
> char *message)
> 
>      av_log(ctx, AV_LOG_VERBOSE, "libva: %s", message);
>  }
> -#endif
> 
>  static int vaapi_device_connect(AVHWDeviceContext *ctx,
>                                  VADisplay display)
> @@ -1660,10 +1645,8 @@ static int vaapi_device_connect(AVHWDeviceContext *ctx,
>      int major, minor;
>      VAStatus vas;
> 
> -#if CONFIG_VAAPI_1
>      vaSetErrorCallback(display, &vaapi_device_log_error, ctx);
>      vaSetInfoCallback (display, &vaapi_device_log_info,  ctx);
> -#endif
> 
>      hwctx->display = display;
> 
> @@ -1907,7 +1890,6 @@ static int vaapi_device_create(AVHWDeviceContext *ctx,
> const char *device,
> 
>      ent = av_dict_get(opts, "driver", NULL, 0);
>      if (ent) {
> -#if VA_CHECK_VERSION(0, 38, 0)
>          VAStatus vas;
>          vas = vaSetDriverName(display, ent->value);
>          if (vas != VA_STATUS_SUCCESS) {
> @@ -1916,10 +1898,6 @@ static int vaapi_device_create(AVHWDeviceContext *ctx,
> const char *device,
>              vaTerminate(display);
>              return AVERROR_EXTERNAL;
>          }
> -#else
> -        av_log(ctx, AV_LOG_WARNING, "Driver name setting is not "
> -               "supported with this VAAPI version.\n");
> -#endif
>      }
> 
>      return vaapi_device_connect(ctx, display);



More information about the ffmpeg-devel mailing list