Browse code

configure: Use pkgconfig for VAAPI

Set the minimum version to 0.35.0 (libva 1.3.0) and remove redundant
configure tests. This also allows the proprietary libmfx fork of libva,
which always shows the version number 0.99.0 (independent of the actual
version).

Mark Thompson authored on 2018/09/19 07:30:39
Showing 2 changed files
... ...
@@ -2896,7 +2896,7 @@ vc1_vdpau_hwaccel_deps="vdpau"
2896 2896
 vc1_vdpau_hwaccel_select="vc1_decoder"
2897 2897
 vp8_nvdec_hwaccel_deps="nvdec"
2898 2898
 vp8_nvdec_hwaccel_select="vp8_decoder"
2899
-vp8_vaapi_hwaccel_deps="vaapi VAPictureParameterBufferVP8"
2899
+vp8_vaapi_hwaccel_deps="vaapi"
2900 2900
 vp8_vaapi_hwaccel_select="vp8_decoder"
2901 2901
 vp9_d3d11va_hwaccel_deps="d3d11va DXVA_PicParams_VP9"
2902 2902
 vp9_d3d11va_hwaccel_select="vp9_decoder"
... ...
@@ -2951,7 +2951,6 @@ h264_qsv_decoder_select="h264_mp4toannexb_bsf h264_parser qsvdec"
2951 2951
 h264_qsv_encoder_select="qsvenc"
2952 2952
 h264_rkmpp_decoder_deps="rkmpp"
2953 2953
 h264_rkmpp_decoder_select="h264_mp4toannexb_bsf"
2954
-h264_vaapi_encoder_deps="VAEncPictureParameterBufferH264"
2955 2954
 h264_vaapi_encoder_select="cbs_h264 vaapi_encode"
2956 2955
 h264_v4l2m2m_decoder_deps="v4l2_m2m h264_v4l2_m2m"
2957 2956
 h264_v4l2m2m_encoder_deps="v4l2_m2m h264_v4l2_m2m"
... ...
@@ -2982,7 +2981,6 @@ mpeg2_mmal_decoder_deps="mmal"
2982 2982
 mpeg2_mediacodec_decoder_deps="mediacodec"
2983 2983
 mpeg2_qsv_decoder_select="qsvdec mpegvideo_parser"
2984 2984
 mpeg2_qsv_encoder_select="qsvenc"
2985
-mpeg2_vaapi_encoder_deps="VAEncPictureParameterBufferMPEG2"
2986 2985
 mpeg2_vaapi_encoder_select="cbs_mpeg2 vaapi_encode"
2987 2986
 mpeg2_v4l2m2m_decoder_deps="v4l2_m2m mpeg2_v4l2_m2m"
2988 2987
 mpeg4_crystalhd_decoder_select="crystalhd"
... ...
@@ -3371,7 +3369,7 @@ deconvolve_filter_select="fft"
3371 3371
 deinterlace_qsv_filter_deps="libmfx"
3372 3372
 deinterlace_vaapi_filter_deps="vaapi"
3373 3373
 delogo_filter_deps="gpl"
3374
-denoise_vaapi_filter_deps="vaapi VAProcPipelineParameterBuffer"
3374
+denoise_vaapi_filter_deps="vaapi"
3375 3375
 deshake_filter_select="pixelutils"
3376 3376
 dilation_opencl_filter_deps="opencl"
3377 3377
 drawtext_filter_deps="libfreetype"
... ...
@@ -3419,7 +3417,7 @@ phase_filter_deps="gpl"
3419 3419
 pp7_filter_deps="gpl"
3420 3420
 pp_filter_deps="gpl postproc"
3421 3421
 prewitt_opencl_filter_deps="opencl"
3422
-procamp_vaapi_filter_deps="vaapi VAProcPipelineParameterBuffer"
3422
+procamp_vaapi_filter_deps="vaapi"
3423 3423
 program_opencl_filter_deps="opencl"
3424 3424
 pullup_filter_deps="gpl"
3425 3425
 removelogo_filter_deps="avcodec avformat swscale"
... ...
@@ -3432,7 +3430,7 @@ scale2ref_filter_deps="swscale"
3432 3432
 scale_filter_deps="swscale"
3433 3433
 scale_qsv_filter_deps="libmfx"
3434 3434
 select_filter_select="pixelutils"
3435
-sharpness_vaapi_filter_deps="vaapi VAProcPipelineParameterBuffer"
3435
+sharpness_vaapi_filter_deps="vaapi"
3436 3436
 showcqt_filter_deps="avcodec avformat swscale"
3437 3437
 showcqt_filter_suggest="libfontconfig libfreetype"
3438 3438
 showcqt_filter_select="fft"
... ...
@@ -3471,7 +3469,7 @@ libvmaf_filter_deps="libvmaf pthreads"
3471 3471
 zmq_filter_deps="libzmq"
3472 3472
 zoompan_filter_deps="swscale"
3473 3473
 zscale_filter_deps="libzimg const_nan"
3474
-scale_vaapi_filter_deps="vaapi VAProcPipelineParameterBuffer"
3474
+scale_vaapi_filter_deps="vaapi"
3475 3475
 vpp_qsv_filter_deps="libmfx"
3476 3476
 vpp_qsv_filter_select="qsvvpp"
3477 3477
 
... ...
@@ -5954,13 +5952,9 @@ check_type "windows.h d3d11.h" "ID3D11VideoContext"
5954 5954
 check_type "d3d9.h dxva2api.h" DXVA2_ConfigPictureDecode -D_WIN32_WINNT=0x0602
5955 5955
 
5956 5956
 check_type "va/va.h va/va_dec_hevc.h" "VAPictureParameterBufferHEVC"
5957
-check_type "va/va.h va/va_dec_vp8.h" "VAPictureParameterBufferVP8"
5958 5957
 check_struct "va/va.h" "VADecPictureParameterBufferVP9" bit_depth
5959
-check_type "va/va.h va/va_vpp.h" "VAProcPipelineParameterBuffer"
5960
-check_type "va/va.h va/va_enc_h264.h" "VAEncPictureParameterBufferH264"
5961 5958
 check_type "va/va.h va/va_enc_hevc.h" "VAEncPictureParameterBufferHEVC"
5962 5959
 check_type "va/va.h va/va_enc_jpeg.h" "VAEncPictureParameterBufferJPEG"
5963
-check_type "va/va.h va/va_enc_mpeg2.h" "VAEncPictureParameterBufferMPEG2"
5964 5960
 check_type "va/va.h va/va_enc_vp8.h"  "VAEncPictureParameterBufferVP8"
5965 5961
 check_type "va/va.h va/va_enc_vp9.h"  "VAEncPictureParameterBufferVP9"
5966 5962
 
... ...
@@ -6378,18 +6372,17 @@ test_cpp <<EOF && enable uwp && d3d11va_extralibs="-ldxgi -ld3d11"
6378 6378
 EOF
6379 6379
 
6380 6380
 enabled vaapi &&
6381
-    check_lib vaapi va/va.h vaInitialize -lva
6382
-
6383
-enabled vaapi &&
6384
-    check_cc vaapi "va/va.h" "vaCreateSurfaces(0, 0, 0, 0, 0, 0, 0, 0)"
6381
+    check_pkg_config vaapi "libva >= 0.35.0" "va/va.h" vaInitialize
6385 6382
 
6386 6383
 if enabled vaapi; then
6387
-    check_lib vaapi_drm "va/va.h va/va_drm.h" vaGetDisplayDRM -lva -lva-drm
6388
-    check_lib vaapi_x11 "va/va.h va/va_x11.h" vaGetDisplay -lva -lva-x11 -lX11
6389
-fi
6384
+    check_pkg_config vaapi_drm "libva-drm" "va/va_drm.h" vaGetDisplayDRM
6385
+
6386
+    if enabled xlib; then
6387
+        check_pkg_config vaapi_x11 "libva-x11" "va/va_x11.h" vaGetDisplay
6388
+    fi
6390 6389
 
6391
-enabled vaapi &&
6392 6390
     check_cpp_condition vaapi_1 "va/va.h" "VA_CHECK_VERSION(1, 0, 0)"
6391
+fi
6393 6392
 
6394 6393
 if enabled_all opencl libdrm ; then
6395 6394
     check_type "CL/cl_intel.h" "clCreateImageFromFdINTEL_fn" &&
... ...
@@ -389,9 +389,7 @@ static const struct {
389 389
     MAP(VC1,         VC1_MAIN,        VC1Main     ),
390 390
     MAP(VC1,         VC1_COMPLEX,     VC1Advanced ),
391 391
     MAP(VC1,         VC1_ADVANCED,    VC1Advanced ),
392
-#if VA_CHECK_VERSION(0, 35, 0)
393 392
     MAP(VP8,         UNKNOWN,       VP8Version0_3 ),
394
-#endif
395 393
 #if VA_CHECK_VERSION(0, 38, 0)
396 394
     MAP(VP9,         VP9_0,           VP9Profile0 ),
397 395
 #endif