mirror of https://gitlab.freedesktop.org/mesa/mesa
meson: add a video codec support option
This allows to turn on/off all hw implementations for a specific video codec across the tree. Patent encumbered codecs can cause problems for distributions due to the nature of at least MPEG-LA licensing. https://jina-liu.medium.com/settle-your-questions-about-h-264-license-cost-once-and-for-all-hopefully-a058c2149256 is probably the best explaination I can find. From a distro pov, codecs are a jigsaw puzzle, you only seem to become a problem well you fit all the pieces. This patch will allow disabling the mesa piece of the puzzle. Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15258>
This commit is contained in:
parent
2c3178329b
commit
7d969fe9e9
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.'
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue