diff options
author | llyyr <llyyr.public@gmail.com> | 2023-09-20 02:50:26 +0530 |
---|---|---|
committer | Niklas Haas <github-daiK1o@haasn.dev> | 2023-10-23 13:03:29 +0200 |
commit | f5ca11e12bc55d14bd6895b619c4abfd470c6452 (patch) | |
tree | 6ac7c720f50e54ba5940282cee4b793a3dee0f22 /meson.build | |
parent | 59a3c453f97c558b80ba4a39a8e5b476a66c5951 (diff) | |
download | mpv-f5ca11e12bc55d14bd6895b619c4abfd470c6452.tar.bz2 mpv-f5ca11e12bc55d14bd6895b619c4abfd470c6452.tar.xz |
meson: make libplacebo a required dependency
Make it not possible to build mpv without the latest libplacebo anymore.
This will allow for less code duplication between mpv and libplacebo,
and in the future also let us delete legacy ifdefs and track libplacebo
better.
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 44 |
1 files changed, 16 insertions, 28 deletions
diff --git a/meson.build b/meson.build index 1067284e7f..2ccba61138 100644 --- a/meson.build +++ b/meson.build @@ -23,6 +23,9 @@ libavutil = dependency('libavutil', version: '>= 56.70.100') libswresample = dependency('libswresample', version: '>= 3.9.100') libswscale = dependency('libswscale', version: '>= 5.9.100') +libplacebo = dependency('libplacebo', version: '>=6.338.0', fallback: ['libplacebo', 'libplacebo'], + default_options: ['default_library=static', 'demos=false']) + libass = dependency('libass', version: '>= 0.12.2') # the dependency order of libass -> ffmpeg is necessary due to @@ -32,6 +35,7 @@ dependencies = [libass, libavfilter, libavformat, libavutil, + libplacebo, libswresample, libswscale] @@ -44,6 +48,7 @@ features = { 'avif-muxer': libavformat.version().version_compare('>= 59.24.100'), 'libass': true, 'threads': true, + 'libplacebo': true, } @@ -234,6 +239,12 @@ sources = files( 'video/repack.c', 'video/sws_utils.c', + ## libplacebo + 'video/out/placebo/ra_pl.c', + 'video/out/placebo/utils.c', + 'video/out/vo_gpu_next.c', + 'video/out/gpu_next/context.c', + ## osdep 'osdep/io.c', 'osdep/semaphore_osx.c', @@ -930,16 +941,6 @@ if features['jpeg'] dependencies += jpeg endif -libplacebo = dependency('libplacebo', version: '>=6.292.0', required: get_option('libplacebo')) -features += {'libplacebo': libplacebo.found()} -if features['libplacebo'] - dependencies += libplacebo - sources += files('video/out/placebo/ra_pl.c', - 'video/out/placebo/utils.c', - 'video/out/vo_gpu_next.c', - 'video/out/gpu_next/context.c') -endif - sdl2_video = get_option('sdl2-video').require( features['sdl2'], error_message: 'sdl2 was not found!', @@ -1257,7 +1258,7 @@ endif # vulkan vulkan_opt = get_option('vulkan').require( libplacebo.get_variable('pl_has_vulkan', default_value: '0') == '1', - error_message: 'libplacebo could not be found!', + error_message: 'libplacebo compiled without vulkan support!', ) vulkan = dependency('vulkan', version: '>= 1.1.70', required: vulkan_opt) features += {'vulkan': vulkan.found()} @@ -1330,9 +1331,8 @@ endif vulkan_interop = get_option('vulkan-interop').require( features['vulkan'] and vulkan.version().version_compare('>=1.3.238') and - features['libplacebo'] and libavutil.version().version_compare('>=58.11.100'), - error_message: 'Vulkan Interop requires vulkan headers >= 1.3.238, libplacebo, and libavutil >= 58.11.100', + error_message: 'Vulkan Interop requires vulkan headers >= 1.3.238, and libavutil >= 58.11.100', ) features += {'vulkan-interop': vulkan_interop.allowed()} if vulkan_interop.allowed() @@ -1426,14 +1426,9 @@ features += {'vaapi': vaapi.allowed()} if features['vaapi'] dependencies += libva sources += files('video/filter/vf_vavpp.c', - 'video/vaapi.c') -endif - -features += {'vaapi-egl': features['vaapi'] and features['egl'] and features['drm']} -features += {'vaapi-libplacebo': features['vaapi'] and libplacebo.found()} - -if features['vaapi-egl'] or features['vaapi-libplacebo'] - sources += files('video/out/hwdec/hwdec_vaapi.c') + 'video/vaapi.c', + 'video/out/hwdec/hwdec_vaapi.c', + 'video/out/hwdec/dmabuf_interop_pl.c') endif dmabuf_interop_gl = features['egl'] and features['drm'] @@ -1442,12 +1437,6 @@ if features['dmabuf-interop-gl'] sources += files('video/out/hwdec/dmabuf_interop_gl.c') endif -dmabuf_interop_pl = features['vaapi-libplacebo'] -features += {'dmabuf-interop-pl': dmabuf_interop_pl} -if features['dmabuf-interop-pl'] - sources += files('video/out/hwdec/dmabuf_interop_pl.c') -endif - vdpau_opt = get_option('vdpau').require( features['x11'], error_message: 'x11 was not found!', @@ -1786,7 +1775,6 @@ if get_option('tests') endif summary({'d3d11': features['d3d11'], - 'gpu-next': features['libplacebo'], 'javascript': features['javascript'], 'libmpv': get_option('libmpv'), 'lua': features['lua'], |