diff --git a/.gitlab-ci/meson/build.sh b/.gitlab-ci/meson/build.sh index d052397cf005f..a400213d4ee7b 100755 --- a/.gitlab-ci/meson/build.sh +++ b/.gitlab-ci/meson/build.sh @@ -71,6 +71,7 @@ meson _build --native-file=native.file \ ${GALLIUM_ST} \ -D gallium-drivers=${GALLIUM_DRIVERS:-[]} \ -D vulkan-drivers=${VULKAN_DRIVERS:-[]} \ + -D video-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec \ -D werror=true \ ${EXTRA_OPTION} cd _build diff --git a/meson.build b/meson.build index a544b37b7a551..0760a30d6f694 100644 --- a/meson.build +++ b/meson.build @@ -320,6 +320,11 @@ if with_vulkan_beta pre_args += '-DVK_ENABLE_BETA_EXTENSIONS' endif +_codecs = get_option('video-codecs') +foreach c : ['vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc'] + pre_args += '-DVIDEO_CODEC_@0@=@1@'.format(c.to_upper(), _codecs.contains(c).to_int()) +endforeach + _platforms = get_option('platforms') if _platforms.contains('auto') if system_has_kms_drm @@ -2273,6 +2278,9 @@ if with_gbm endif lines += '' +lines += 'Video Codecs: ' + ' '.join(_codecs) +lines += '' + if with_any_vk lines += 'Vulkan drivers: ' + ' '.join(_vulkan_drivers) lines += 'Vulkan ICD dir: ' + with_vulkan_icd_dir diff --git a/meson_options.txt b/meson_options.txt index 9afe105241f35..4332906853f7c 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -527,3 +527,12 @@ option( value : 'disabled', description : 'Build the intel-clc compiler (required for ray queries).' ) +option( + 'video-codecs', + type : 'array', + value : [], + choices: [ + 'vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc' + ], + description : 'List of patent encumbered codecs to build support for. Distros might want to consult their legal department before enabling these. This is used for all video APIs (vaapi, vdpau, vulkan). Non-patent encumbered codecs will be enabled by default.' +)