[vlc-commits] [Git][videolan/vlc][master] 3 commits: meson: build opengl video filter plugin

Steve Lhomme (@robUx4) gitlab at videolan.org
Sun Jun 8 13:17:58 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
b4448160 by Steve Lhomme at 2025-06-08T13:02:14+00:00
meson: build opengl video filter plugin

We need to handle video filters after video output as that's where the
opengl meson dependencies are defined.

- - - - -
e00267a0 by Steve Lhomme at 2025-06-08T13:02:14+00:00
meson: set libplacebo_utils in the libplacebo folder

It should not be used elsewhere.

- - - - -
24a72c28 by Steve Lhomme at 2025-06-08T13:02:14+00:00
meson: only enable OpenGL ES2 tests if OpenGL ES2 is found

- - - - -


6 changed files:

- modules/meson.build
- modules/video_filter/meson.build
- modules/video_output/libplacebo/meson.build
- modules/video_output/meson.build
- modules/video_output/opengl/meson.build
- test/modules/meson.build


Changes:

=====================================
modules/meson.build
=====================================
@@ -345,12 +345,12 @@ subdir('spu')
 # text renderer modules
 subdir('text_renderer')
 
-# video filter modules
-subdir('video_filter')
-
 # video output modules
 subdir('video_output')
 
+# video filter modules
+subdir('video_filter')
+
 # hardware modules
 subdir('hw')
 


=====================================
modules/video_filter/meson.build
=====================================
@@ -36,6 +36,25 @@ vlc_modules += {
     'sources' : files('antiflicker.c')
 }
 
+opengl_filter_dep = disabler()
+opengl_filter_cargs = []
+if opengl_dep.found() or opengles2_dep.found()
+    if host_system in ['darwin', 'android'] and opengles2_dep.found()
+        opengl_filter_dep = opengles2_dep
+        opengl_filter_cargs += '-DUSE_OPENGL_ES2'
+    elif opengl_dep.found()
+        opengl_filter_dep = opengl_dep
+    endif
+endif
+
+vlc_modules += {
+    'name' : 'opengl_filter',
+    'sources' : files('opengl.c'),
+    'dependencies' : [gl_common_dep, opengl_filter_dep],
+    'c_args' : opengl_filter_cargs,
+    'enabled' : opengl_filter_dep.found()
+}
+
 if host_system == 'windows'
     vlc_modules += {
         'name' : 'amf_frc',


=====================================
modules/video_output/libplacebo/meson.build
=====================================
@@ -1,5 +1,17 @@
 # Libplacebo-based video outputs
 
+libplacebo_dep = dependency('libplacebo',
+                            version: '>= 2.72',
+                            required: get_option('libplacebo'))
+
+if not libplacebo_dep.found()
+    subdir_done()
+endif
+libplacebo_utils = static_library('vlc_libplacebo_utils',
+                                files('utils.c'),
+                                dependencies: [libplacebo_dep],
+                                include_directories: [vlc_include_dirs])
+
 vlc_modules += {
     'name' : 'placebo',
     'sources' : files('instance.c', 'display.c'),


=====================================
modules/video_output/meson.build
=====================================
@@ -13,9 +13,6 @@ else
     missing_win_glew = false
 endif
 
-libplacebo_dep = dependency('libplacebo',
-                            version: '>= 2.72',
-                            required: get_option('libplacebo'))
 if missing_win_glew
     # Our OpenGL code requires glew.h to be present
     opengl_dep = disabler()
@@ -28,16 +25,7 @@ if host_system == 'darwin'
     subdir('apple')
 endif
 
-if libplacebo_dep.found()
-    libplacebo_utils = static_library('vlc_libplacebo_utils',
-                                  files('./libplacebo/utils.c'),
-                                  dependencies: [libplacebo_dep],
-                                  include_directories: [vlc_include_dirs])
-
-    subdir('libplacebo')
-else
-    libplacebo_utils = []
-endif
+subdir('libplacebo')
 subdir('opengl')
 
 if host_system == 'windows'


=====================================
modules/video_output/opengl/meson.build
=====================================
@@ -4,7 +4,6 @@ if host_system == 'android'
 endif
 
 gl_common_dep = declare_dependency(
-    link_with: [libplacebo_utils],
     sources: files(
         'filter.c',
         'filters.c',


=====================================
test/modules/meson.build
=====================================
@@ -127,7 +127,9 @@ vlc_tests += {
     'c_args' : ['-DVLC_TEST_OPENGL_API=VLC_OPENGL'],
     'module_depends' : vlc_plugins_targets.keys()
 }
+endif
 
+if opengles2_dep.found()
 vlc_tests += {
     'name' : 'test_modules_video_output_opengl_es2_filters',
     'sources' : files(



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/0f69f7d4201b68bbb1ec09a4549e09b3335c9747...24a72c2840b2ae4f42649e4b6bce3631c3abcabd

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/0f69f7d4201b68bbb1ec09a4549e09b3335c9747...24a72c2840b2ae4f42649e4b6bce3631c3abcabd
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list