meson: Add all, all_free (default) options for video-codecs option.
- Adds new 'all' value to the video-codecs option - Adds 'all_free' value to video-codecs and sets it as default value for non patent-encumbered codecs, restoring the behavior for these codecs before existing as options in commit7b22dd8bfd
Fixes:7b22dd8bfd
("meson: add vp9 and av1 codec support options") Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26320>
This commit is contained in:
@@ -87,7 +87,7 @@ meson setup _build \
|
|||||||
-D gallium-opencl=disabled \
|
-D gallium-opencl=disabled \
|
||||||
-D gallium-drivers=${GALLIUM_DRIVERS:-[]} \
|
-D gallium-drivers=${GALLIUM_DRIVERS:-[]} \
|
||||||
-D vulkan-drivers=${VULKAN_DRIVERS:-[]} \
|
-D vulkan-drivers=${VULKAN_DRIVERS:-[]} \
|
||||||
-D video-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec,av1dec,av1enc,vp9dec \
|
-D video-codecs=all \
|
||||||
-D werror=true \
|
-D werror=true \
|
||||||
${EXTRA_OPTION}
|
${EXTRA_OPTION}
|
||||||
cd _build
|
cd _build
|
||||||
|
@@ -50,7 +50,7 @@ meson setup `
|
|||||||
-Dvulkan-drivers="swrast,amd,microsoft-experimental" `
|
-Dvulkan-drivers="swrast,amd,microsoft-experimental" `
|
||||||
-Dgallium-drivers="swrast,d3d12,zink" `
|
-Dgallium-drivers="swrast,d3d12,zink" `
|
||||||
-Dgallium-va=enabled `
|
-Dgallium-va=enabled `
|
||||||
-Dvideo-codecs="h264dec,h264enc,h265dec,h265enc,vc1dec,av1dec,av1enc,vp9dec" `
|
-Dvideo-codecs="all" `
|
||||||
-Dshared-glapi=enabled `
|
-Dshared-glapi=enabled `
|
||||||
-Dgles1=enabled `
|
-Dgles1=enabled `
|
||||||
-Dgles2=enabled `
|
-Dgles2=enabled `
|
||||||
|
17
meson.build
17
meson.build
@@ -338,7 +338,22 @@ if with_vulkan_beta
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
_codecs = get_option('video-codecs')
|
_codecs = get_option('video-codecs')
|
||||||
foreach c : ['vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc', 'av1dec', 'av1enc', 'vp9dec']
|
patent_codecs = ['vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc']
|
||||||
|
free_codecs = ['av1dec', 'av1enc', 'vp9dec']
|
||||||
|
all_codecs = patent_codecs + free_codecs
|
||||||
|
|
||||||
|
if _codecs.contains('all')
|
||||||
|
_codecs = all_codecs
|
||||||
|
elif _codecs.contains('all_free')
|
||||||
|
selected_codecs = _codecs
|
||||||
|
_codecs = free_codecs
|
||||||
|
foreach c : patent_codecs
|
||||||
|
if selected_codecs.contains(c)
|
||||||
|
_codecs += c
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
endif
|
||||||
|
foreach c : all_codecs
|
||||||
pre_args += '-DVIDEO_CODEC_@0@=@1@'.format(c.to_upper(), _codecs.contains(c).to_int())
|
pre_args += '-DVIDEO_CODEC_@0@=@1@'.format(c.to_upper(), _codecs.contains(c).to_int())
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
@@ -629,15 +629,15 @@ option(
|
|||||||
option(
|
option(
|
||||||
'video-codecs',
|
'video-codecs',
|
||||||
type : 'array',
|
type : 'array',
|
||||||
value : [],
|
value : ['all_free'],
|
||||||
choices: [
|
choices: [
|
||||||
'vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc', 'av1dec', 'av1enc', 'vp9dec'
|
'all', 'all_free', 'vc1dec', 'h264dec', 'h264enc', 'h265dec', 'h265enc', 'av1dec', 'av1enc', 'vp9dec'
|
||||||
],
|
],
|
||||||
description : 'List of patent encumbered codecs to build support for. ' +
|
description : 'List of codecs to build support for. ' +
|
||||||
'Distros might want to consult their legal department before ' +
|
'Distros might want to consult their legal department before ' +
|
||||||
'enabling these. This is used for all video APIs (vaapi, ' +
|
'enabling these. This is used for all video APIs (vaapi, ' +
|
||||||
'vdpau, vulkan). Non-patent encumbered codecs will be ' +
|
'vdpau, vulkan). Non-patent encumbered codecs will be ' +
|
||||||
'enabled by default.'
|
'enabled by default with the all_free default value.'
|
||||||
)
|
)
|
||||||
|
|
||||||
option(
|
option(
|
||||||
|
Reference in New Issue
Block a user