diff mbox series

[FFmpeg-devel,v4,1/5] configure: Remove libva 1.x support

Message ID 20240505190154.90781-1-sw@jkqxz.net
State New
Headers show
Series [FFmpeg-devel,v4,1/5] configure: Remove libva 1.x support | expand

Checks

Context Check Description
andriy/make_x86 fail Make failed

Commit Message

Mark Thompson May 5, 2024, 7:01 p.m. UTC
libva 2.0 was released in 2017 and the 2.x versions are included in all
supported distributions nowadays.  Various features no longer need any
configure check after this command, including all codecs except AV1.
Note that the libva version is the API version plus one, so this is
removing support for VAAPI 0.x and requiring VAAPI 1.x.
---
Changes to the series since v3:
* Reorder so that the series doesn't need to be squashed.
* New patch to remove the driver quirk support (deprecated in the public
  header, but will have no effect if set).

 configure | 25 ++++++-------------------
 1 file changed, 6 insertions(+), 19 deletions(-)

Comments

Xiang, Haihao May 7, 2024, 5:27 a.m. UTC | #1
On So, 2024-05-05 at 20:01 +0100, Mark Thompson wrote:
> libva 2.0 was released in 2017 and the 2.x versions are included in all
> supported distributions nowadays.  Various features no longer need any
> configure check after this command, including all codecs except AV1.
> Note that the libva version is the API version plus one, so this is
> removing support for VAAPI 0.x and requiring VAAPI 1.x.
> ---
> Changes to the series since v3:
> * Reorder so that the series doesn't need to be squashed.
> * New patch to remove the driver quirk support (deprecated in the public
>   header, but will have no effect if set).
> 
>  configure | 25 ++++++-------------------
>  1 file changed, 6 insertions(+), 19 deletions(-)
> 
> diff --git a/configure b/configure
> index ed74583a6f..69fde0bf35 100755
> --- a/configure
> +++ b/configure
> @@ -2625,7 +2625,6 @@ CONFIG_EXTRA="
>      texturedsp
>      texturedspenc
>      tpeldsp
> -    vaapi_1

CONFIG_VAAPI_1 is used in the code. Removing this only caused compiling errors.

libavfilter/vaapi_vpp.c: In function ‘ff_vaapi_vpp_config_output’:
libavfilter/vaapi_vpp.c:207:9: error: ‘CONFIG_VAAPI_1’ undeclared (first use in
this function); did you mean ‘CONFIG_VAAPI’?
  207 |     if (CONFIG_VAAPI_1)
      |         ^~~~~~~~~~~~~~
      |         CONFIG_VAAPI


Thanks
Haihao


>      vaapi_encode
>      vc1dsp
>      videodsp
> @@ -3189,7 +3188,7 @@ hevc_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_HEVC"
>  hevc_dxva2_hwaccel_select="hevc_decoder"
>  hevc_nvdec_hwaccel_deps="nvdec"
>  hevc_nvdec_hwaccel_select="hevc_decoder"
> -hevc_vaapi_hwaccel_deps="vaapi VAPictureParameterBufferHEVC"
> +hevc_vaapi_hwaccel_deps="vaapi"
>  hevc_vaapi_hwaccel_select="hevc_decoder"
>  hevc_vdpau_hwaccel_deps="vdpau VdpPictureInfoHEVC"
>  hevc_vdpau_hwaccel_select="hevc_decoder"
> @@ -3261,7 +3260,7 @@ vp9_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_VP9"
>  vp9_dxva2_hwaccel_select="vp9_decoder"
>  vp9_nvdec_hwaccel_deps="nvdec"
>  vp9_nvdec_hwaccel_select="vp9_decoder"
> -vp9_vaapi_hwaccel_deps="vaapi VADecPictureParameterBufferVP9_bit_depth"
> +vp9_vaapi_hwaccel_deps="vaapi"
>  vp9_vaapi_hwaccel_select="vp9_decoder"
>  vp9_vdpau_hwaccel_deps="vdpau VdpPictureInfoVP9"
>  vp9_vdpau_hwaccel_select="vp9_decoder"
> @@ -3354,7 +3353,6 @@ hevc_qsv_decoder_select="hevc_mp4toannexb_bsf qsvdec"
>  hevc_qsv_encoder_select="hevcparse qsvenc"
>  hevc_rkmpp_decoder_deps="rkmpp"
>  hevc_rkmpp_decoder_select="hevc_mp4toannexb_bsf"
> -hevc_vaapi_encoder_deps="VAEncPictureParameterBufferHEVC"
>  hevc_vaapi_encoder_select="atsc_a53 cbs_h265 vaapi_encode"
>  hevc_v4l2m2m_decoder_deps="v4l2_m2m hevc_v4l2_m2m"
>  hevc_v4l2m2m_decoder_select="hevc_mp4toannexb_bsf"
> @@ -3363,7 +3361,6 @@ mjpeg_cuvid_decoder_deps="cuvid"
>  mjpeg_qsv_decoder_select="qsvdec"
>  mjpeg_qsv_encoder_deps="libmfx"
>  mjpeg_qsv_encoder_select="qsvenc"
> -mjpeg_vaapi_encoder_deps="VAEncPictureParameterBufferJPEG"
>  mjpeg_vaapi_encoder_select="cbs_jpeg jpegtables vaapi_encode"
>  mp3_mf_encoder_deps="mediafoundation"
>  mpeg1_cuvid_decoder_deps="cuvid"
> @@ -3392,7 +3389,6 @@ vp8_mediacodec_decoder_deps="mediacodec"
>  vp8_mediacodec_encoder_deps="mediacodec"
>  vp8_qsv_decoder_select="qsvdec"
>  vp8_rkmpp_decoder_deps="rkmpp"
> -vp8_vaapi_encoder_deps="VAEncPictureParameterBufferVP8"
>  vp8_vaapi_encoder_select="vaapi_encode"
>  vp8_v4l2m2m_decoder_deps="v4l2_m2m vp8_v4l2_m2m"
>  vp8_v4l2m2m_encoder_deps="v4l2_m2m vp8_v4l2_m2m"
> @@ -3401,7 +3397,6 @@ vp9_mediacodec_decoder_deps="mediacodec"
>  vp9_mediacodec_encoder_deps="mediacodec"
>  vp9_qsv_decoder_select="qsvdec"
>  vp9_rkmpp_decoder_deps="rkmpp"
> -vp9_vaapi_encoder_deps="VAEncPictureParameterBufferVP9"
>  vp9_vaapi_encoder_select="vaapi_encode"
>  vp9_qsv_encoder_deps="libmfx MFX_CODEC_VP9"
>  vp9_qsv_encoder_select="qsvenc"
> @@ -3952,9 +3947,9 @@ xfade_vulkan_filter_deps="vulkan spirv_compiler"
>  yadif_cuda_filter_deps="ffnvcodec"
>  yadif_cuda_filter_deps_any="cuda_nvcc cuda_llvm"
>  yadif_videotoolbox_filter_deps="metal corevideo videotoolbox"
> -hstack_vaapi_filter_deps="vaapi_1"
> -vstack_vaapi_filter_deps="vaapi_1"
> -xstack_vaapi_filter_deps="vaapi_1"
> +hstack_vaapi_filter_deps="vaapi"
> +vstack_vaapi_filter_deps="vaapi"
> +xstack_vaapi_filter_deps="vaapi"
>  hstack_qsv_filter_deps="libmfx"
>  hstack_qsv_filter_select="qsvvpp"
>  vstack_qsv_filter_deps="libmfx"
> @@ -7252,7 +7247,7 @@ enabled libdrm &&
>      check_pkg_config libdrm_getfb2 libdrm "xf86drmMode.h" drmModeGetFB2
>  
>  enabled vaapi &&
> -    check_pkg_config vaapi "libva >= 0.35.0" "va/va.h" vaInitialize
> +    check_pkg_config vaapi "libva >= 1.0.0" "va/va.h" vaInitialize
>  
>  if enabled vaapi; then
>      case $target_os in
> @@ -7268,18 +7263,10 @@ if enabled vaapi; then
>          check_pkg_config vaapi_x11 "libva-x11" "va/va_x11.h" vaGetDisplay
>      fi
>  
> -    check_cpp_condition vaapi_1 "va/va.h" "VA_CHECK_VERSION(1, 0, 0)"
> -
> -    check_type "va/va.h va/va_dec_hevc.h" "VAPictureParameterBufferHEVC"
> -    check_struct "va/va.h" "VADecPictureParameterBufferVP9" bit_depth
>      check_struct "va/va.h" "VADecPictureParameterBufferAV1" bit_depth_idx
>      check_type   "va/va.h va/va_vpp.h"
> "VAProcFilterParameterBufferHDRToneMapping"
>      check_struct "va/va.h va/va_vpp.h" "VAProcPipelineCaps" rotation_flags
>      check_struct "va/va.h va/va_vpp.h" "VAProcPipelineCaps" blend_flags
> -    check_type "va/va.h va/va_enc_hevc.h" "VAEncPictureParameterBufferHEVC"
> -    check_type "va/va.h va/va_enc_jpeg.h" "VAEncPictureParameterBufferJPEG"
> -    check_type "va/va.h va/va_enc_vp8.h"  "VAEncPictureParameterBufferVP8"
> -    check_type "va/va.h va/va_enc_vp9.h"  "VAEncPictureParameterBufferVP9"
>      check_type "va/va.h va/va_enc_av1.h"  "VAEncPictureParameterBufferAV1"
>  fi
>
Mark Thompson May 7, 2024, 8:25 p.m. UTC | #2
On 07/05/2024 06:27, Xiang, Haihao wrote:
> On So, 2024-05-05 at 20:01 +0100, Mark Thompson wrote:
>> libva 2.0 was released in 2017 and the 2.x versions are included in all
>> supported distributions nowadays.  Various features no longer need any
>> configure check after this command, including all codecs except AV1.
>> Note that the libva version is the API version plus one, so this is
>> removing support for VAAPI 0.x and requiring VAAPI 1.x.
>> ---
>> Changes to the series since v3:
>> * Reorder so that the series doesn't need to be squashed.
>> * New patch to remove the driver quirk support (deprecated in the public
>>   header, but will have no effect if set).
>>
>>  configure | 25 ++++++-------------------
>>  1 file changed, 6 insertions(+), 19 deletions(-)
>>
>> diff --git a/configure b/configure
>> index ed74583a6f..69fde0bf35 100755
>> --- a/configure
>> +++ b/configure
>> @@ -2625,7 +2625,6 @@ CONFIG_EXTRA="
>>      texturedsp
>>      texturedspenc
>>      tpeldsp
>> -    vaapi_1
> 
> CONFIG_VAAPI_1 is used in the code. Removing this only caused compiling errors.
> 
> libavfilter/vaapi_vpp.c: In function ‘ff_vaapi_vpp_config_output’:
> libavfilter/vaapi_vpp.c:207:9: error: ‘CONFIG_VAAPI_1’ undeclared (first use in
> this function); did you mean ‘CONFIG_VAAPI’?
>   207 |     if (CONFIG_VAAPI_1)
>       |         ^~~~~~~~~~~~~~
>       |         CONFIG_VAAPI

You are correct; I didn't think this split through carefully.

I suggest returning to the original idea of squashing before push so that the removal is atomic?  I'm not sure it's worth dealing with the intermediate states given that they have no particular use.

Thanks,

- Mark
Xiang, Haihao May 8, 2024, 6:21 a.m. UTC | #3
On Di, 2024-05-07 at 21:25 +0100, Mark Thompson wrote:
> On 07/05/2024 06:27, Xiang, Haihao wrote:
> > On So, 2024-05-05 at 20:01 +0100, Mark Thompson wrote:
> > > libva 2.0 was released in 2017 and the 2.x versions are included in all
> > > supported distributions nowadays.  Various features no longer need any
> > > configure check after this command, including all codecs except AV1.
> > > Note that the libva version is the API version plus one, so this is
> > > removing support for VAAPI 0.x and requiring VAAPI 1.x.
> > > ---
> > > Changes to the series since v3:
> > > * Reorder so that the series doesn't need to be squashed.
> > > * New patch to remove the driver quirk support (deprecated in the public
> > >   header, but will have no effect if set).
> > > 
> > >  configure | 25 ++++++-------------------
> > >  1 file changed, 6 insertions(+), 19 deletions(-)
> > > 
> > > diff --git a/configure b/configure
> > > index ed74583a6f..69fde0bf35 100755
> > > --- a/configure
> > > +++ b/configure
> > > @@ -2625,7 +2625,6 @@ CONFIG_EXTRA="
> > >      texturedsp
> > >      texturedspenc
> > >      tpeldsp
> > > -    vaapi_1
> > 
> > CONFIG_VAAPI_1 is used in the code. Removing this only caused compiling
> > errors.
> > 
> > libavfilter/vaapi_vpp.c: In function ‘ff_vaapi_vpp_config_output’:
> > libavfilter/vaapi_vpp.c:207:9: error: ‘CONFIG_VAAPI_1’ undeclared (first use
> > in
> > this function); did you mean ‘CONFIG_VAAPI’?
> >   207 |     if (CONFIG_VAAPI_1)
> >       |         ^~~~~~~~~~~~~~
> >       |         CONFIG_VAAPI
> 
> You are correct; I didn't think this split through carefully.
> 
> I suggest returning to the original idea of squashing before push so that the
> removal is atomic?  I'm not sure it's worth dealing with the intermediate
> states given that they have no particular use.

I'm ok if you want to use a squash commit.

BRs
Haihao
diff mbox series

Patch

diff --git a/configure b/configure
index ed74583a6f..69fde0bf35 100755
--- a/configure
+++ b/configure
@@ -2625,7 +2625,6 @@  CONFIG_EXTRA="
     texturedsp
     texturedspenc
     tpeldsp
-    vaapi_1
     vaapi_encode
     vc1dsp
     videodsp
@@ -3189,7 +3188,7 @@  hevc_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_HEVC"
 hevc_dxva2_hwaccel_select="hevc_decoder"
 hevc_nvdec_hwaccel_deps="nvdec"
 hevc_nvdec_hwaccel_select="hevc_decoder"
-hevc_vaapi_hwaccel_deps="vaapi VAPictureParameterBufferHEVC"
+hevc_vaapi_hwaccel_deps="vaapi"
 hevc_vaapi_hwaccel_select="hevc_decoder"
 hevc_vdpau_hwaccel_deps="vdpau VdpPictureInfoHEVC"
 hevc_vdpau_hwaccel_select="hevc_decoder"
@@ -3261,7 +3260,7 @@  vp9_dxva2_hwaccel_deps="dxva2 DXVA_PicParams_VP9"
 vp9_dxva2_hwaccel_select="vp9_decoder"
 vp9_nvdec_hwaccel_deps="nvdec"
 vp9_nvdec_hwaccel_select="vp9_decoder"
-vp9_vaapi_hwaccel_deps="vaapi VADecPictureParameterBufferVP9_bit_depth"
+vp9_vaapi_hwaccel_deps="vaapi"
 vp9_vaapi_hwaccel_select="vp9_decoder"
 vp9_vdpau_hwaccel_deps="vdpau VdpPictureInfoVP9"
 vp9_vdpau_hwaccel_select="vp9_decoder"
@@ -3354,7 +3353,6 @@  hevc_qsv_decoder_select="hevc_mp4toannexb_bsf qsvdec"
 hevc_qsv_encoder_select="hevcparse qsvenc"
 hevc_rkmpp_decoder_deps="rkmpp"
 hevc_rkmpp_decoder_select="hevc_mp4toannexb_bsf"
-hevc_vaapi_encoder_deps="VAEncPictureParameterBufferHEVC"
 hevc_vaapi_encoder_select="atsc_a53 cbs_h265 vaapi_encode"
 hevc_v4l2m2m_decoder_deps="v4l2_m2m hevc_v4l2_m2m"
 hevc_v4l2m2m_decoder_select="hevc_mp4toannexb_bsf"
@@ -3363,7 +3361,6 @@  mjpeg_cuvid_decoder_deps="cuvid"
 mjpeg_qsv_decoder_select="qsvdec"
 mjpeg_qsv_encoder_deps="libmfx"
 mjpeg_qsv_encoder_select="qsvenc"
-mjpeg_vaapi_encoder_deps="VAEncPictureParameterBufferJPEG"
 mjpeg_vaapi_encoder_select="cbs_jpeg jpegtables vaapi_encode"
 mp3_mf_encoder_deps="mediafoundation"
 mpeg1_cuvid_decoder_deps="cuvid"
@@ -3392,7 +3389,6 @@  vp8_mediacodec_decoder_deps="mediacodec"
 vp8_mediacodec_encoder_deps="mediacodec"
 vp8_qsv_decoder_select="qsvdec"
 vp8_rkmpp_decoder_deps="rkmpp"
-vp8_vaapi_encoder_deps="VAEncPictureParameterBufferVP8"
 vp8_vaapi_encoder_select="vaapi_encode"
 vp8_v4l2m2m_decoder_deps="v4l2_m2m vp8_v4l2_m2m"
 vp8_v4l2m2m_encoder_deps="v4l2_m2m vp8_v4l2_m2m"
@@ -3401,7 +3397,6 @@  vp9_mediacodec_decoder_deps="mediacodec"
 vp9_mediacodec_encoder_deps="mediacodec"
 vp9_qsv_decoder_select="qsvdec"
 vp9_rkmpp_decoder_deps="rkmpp"
-vp9_vaapi_encoder_deps="VAEncPictureParameterBufferVP9"
 vp9_vaapi_encoder_select="vaapi_encode"
 vp9_qsv_encoder_deps="libmfx MFX_CODEC_VP9"
 vp9_qsv_encoder_select="qsvenc"
@@ -3952,9 +3947,9 @@  xfade_vulkan_filter_deps="vulkan spirv_compiler"
 yadif_cuda_filter_deps="ffnvcodec"
 yadif_cuda_filter_deps_any="cuda_nvcc cuda_llvm"
 yadif_videotoolbox_filter_deps="metal corevideo videotoolbox"
-hstack_vaapi_filter_deps="vaapi_1"
-vstack_vaapi_filter_deps="vaapi_1"
-xstack_vaapi_filter_deps="vaapi_1"
+hstack_vaapi_filter_deps="vaapi"
+vstack_vaapi_filter_deps="vaapi"
+xstack_vaapi_filter_deps="vaapi"
 hstack_qsv_filter_deps="libmfx"
 hstack_qsv_filter_select="qsvvpp"
 vstack_qsv_filter_deps="libmfx"
@@ -7252,7 +7247,7 @@  enabled libdrm &&
     check_pkg_config libdrm_getfb2 libdrm "xf86drmMode.h" drmModeGetFB2
 
 enabled vaapi &&
-    check_pkg_config vaapi "libva >= 0.35.0" "va/va.h" vaInitialize
+    check_pkg_config vaapi "libva >= 1.0.0" "va/va.h" vaInitialize
 
 if enabled vaapi; then
     case $target_os in
@@ -7268,18 +7263,10 @@  if enabled vaapi; then
         check_pkg_config vaapi_x11 "libva-x11" "va/va_x11.h" vaGetDisplay
     fi
 
-    check_cpp_condition vaapi_1 "va/va.h" "VA_CHECK_VERSION(1, 0, 0)"
-
-    check_type "va/va.h va/va_dec_hevc.h" "VAPictureParameterBufferHEVC"
-    check_struct "va/va.h" "VADecPictureParameterBufferVP9" bit_depth
     check_struct "va/va.h" "VADecPictureParameterBufferAV1" bit_depth_idx
     check_type   "va/va.h va/va_vpp.h" "VAProcFilterParameterBufferHDRToneMapping"
     check_struct "va/va.h va/va_vpp.h" "VAProcPipelineCaps" rotation_flags
     check_struct "va/va.h va/va_vpp.h" "VAProcPipelineCaps" blend_flags
-    check_type "va/va.h va/va_enc_hevc.h" "VAEncPictureParameterBufferHEVC"
-    check_type "va/va.h va/va_enc_jpeg.h" "VAEncPictureParameterBufferJPEG"
-    check_type "va/va.h va/va_enc_vp8.h"  "VAEncPictureParameterBufferVP8"
-    check_type "va/va.h va/va_enc_vp9.h"  "VAEncPictureParameterBufferVP9"
     check_type "va/va.h va/va_enc_av1.h"  "VAEncPictureParameterBufferAV1"
 fi