[vlc-commits] [Git][videolan/vlc][master] 15 commits: contrib: sam3: build if not found
Jean-Baptiste Kempf (@jbk)
gitlab at videolan.org
Fri May 8 14:12:00 UTC 2026
Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC
Commits:
4946c94d by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: sam3: build if not found
It's not a huge library.
- - - - -
1680ccd1 by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: ggml: install the pkg-config file in the right place
- - - - -
a0f52da1 by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: ggml: add missing link libraries in pkgconfig file
Otherwise it doesn't link properly.
- - - - -
a17a5abd by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: ggml: disable openmp
Until it's properly linked via pkg-config.
- - - - -
501b29a3 by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: ggml: disable build on iOS as long as we target iOS 9
- - - - -
766f701a by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: ggml: disable build on tvOS as long as we target tvOS 11.0
- - - - -
3d2abc00 by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: ggml: disable build on macOS as long as we target macOS 10.13
- - - - -
ae061397 by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: ggml: use LoadPackagedLibrary in UWP
Plugins could be loaded in the app package but we can't use system ones.
- - - - -
60a164e8 by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: ggml: update to 0.11.0
- - - - -
6ee4d2f0 by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: opencv4: downgrade to 4.4 which BSD 3-clause licensed
So we can always build it in tree.
It switched to Apache 2.0 in 4.5.0 [^1].
[^1]: https://opencv.org/opencv-is-to-change-the-license-to-apache-2/
- - - - -
98cceeca by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: opencv4: fix dependencies
OpenCV doesn't use sam3 at all. It does use zlib, jpeg and png by default.
- - - - -
0ab59a8f by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: opencv4: don't build internal protobuf
- - - - -
4c1089c2 by Steve Lhomme at 2026-05-08T15:39:08+02:00
contrib: opencv4: install pkgconfig file
It's not installed by default and it's not clear how to force it.
- - - - -
d12f35b9 by Steve Lhomme at 2026-05-08T15:39:08+02:00
meson: add opencv_example plugin
- - - - -
16f074a0 by Steve Lhomme at 2026-05-08T15:39:08+02:00
meson: add opencv_wrapper plugin
- - - - -
7 changed files:
- + contrib/src/ggml/0001-Use-LoadPackagedLibrary-in-UWP-builds.patch
- contrib/src/ggml/SHA512SUMS
- contrib/src/ggml/rules.mak
- contrib/src/opencv4/SHA512SUMS
- contrib/src/opencv4/rules.mak
- contrib/src/sam3/rules.mak
- modules/video_filter/meson.build
Changes:
=====================================
contrib/src/ggml/0001-Use-LoadPackagedLibrary-in-UWP-builds.patch
=====================================
@@ -0,0 +1,28 @@
+From ed727ec6a420f48e44e8d91fec2889a96aa96e18 Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4 at ycbcr.xyz>
+Date: Thu, 7 May 2026 15:02:05 +0200
+Subject: [PATCH] Use LoadPackagedLibrary() in UWP builds
+
+---
+ src/ggml-backend-dl.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/ggml-backend-dl.cpp b/src/ggml-backend-dl.cpp
+index a65cf009..fedc97f4 100644
+--- a/src/ggml-backend-dl.cpp
++++ b/src/ggml-backend-dl.cpp
+@@ -7,7 +7,11 @@ dl_handle * dl_load_library(const fs::path & path) {
+ DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS);
+ SetErrorMode(old_mode | SEM_FAILCRITICALERRORS);
+
++#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
+ HMODULE handle = LoadLibraryW(path.wstring().c_str());
++#else
++ HMODULE handle = LoadPackagedLibrary(path.wstring().c_str(), 0);
++#endif
+
+ SetErrorMode(old_mode);
+
+--
+2.52.0.windows.1
+
=====================================
contrib/src/ggml/SHA512SUMS
=====================================
@@ -1 +1 @@
-41f0aa3a0b6c5d449812c2d311cd5798748c3339a638fe7d6bc35b2d2ec471dcc88bf76bf092382728b353d3a18bfdae2458bc8c6ff330b2ef6e2870ebfb5eb3 ggml-0.10.0.tar.gz
+c49b6498101f50a5ebde158f5707237f6df3af0182e819651003ec5f418144f9ca68cc8434189f2a658ea705269fad2d263cfe4931c12b369883aa5a66182ed9 ggml-0.11.0.tar.gz
=====================================
contrib/src/ggml/rules.mak
=====================================
@@ -1,6 +1,6 @@
# ggml
-GGML_VERSION := 0.10.0
+GGML_VERSION := 0.11.0
GGML_URL := $(GITHUB)/ggml-org/ggml/archive/refs/tags/v$(GGML_VERSION).tar.gz
ifeq ($(call need_pkg,"ggml"),)
@@ -14,9 +14,15 @@ $(TARBALLS)/ggml-$(GGML_VERSION).tar.gz:
ggml: ggml-$(GGML_VERSION).tar.gz .sum-ggml
$(UNPACK)
+ # fix path to install ggml.pc
+ sed -i.orig 's,DESTINATION share/pkgconfig,DESTINATION $${CMAKE_INSTALL_LIBDIR}/pkgconfig,' $(UNPACK_DIR)/CMakeLists.txt
+ # add missing libraries
+ sed -i.orig 's, -lggml$$, -lggml -lggml-base -lggml-cpu,' $(UNPACK_DIR)/ggml.pc.in
+ $(APPLY) $(SRC)/ggml/0001-Use-LoadPackagedLibrary-in-UWP-builds.patch
$(MOVE)
GGML_CONF := \
+ -DGGML_OPENMP=OFF \
-DGGML_BUILD_TESTS=OFF \
-DGGML_BUILD_EXAMPLES=OFF
=====================================
contrib/src/opencv4/SHA512SUMS
=====================================
@@ -1 +1 @@
-b4f7248f89f1cd146dbbae7860a17131cd29bd3cb81db1e678abfcfbf2d8fa4a7633bfd0edbf50afae7b838c8700e8c0d0bb05828139d5cb5662df6bbf3eb92c opencv-4.10.0.tar.gz
+ce4bada7b57c1a00439eca02abcba262732d5eabfd26090f6f83642d747a9a1a7908230bcd01a2b999c509e0c43c8b0dcb2b93ac824518b79cffe533f22652bb opencv-4.4.0.tar.gz
=====================================
contrib/src/opencv4/rules.mak
=====================================
@@ -1,18 +1,16 @@
# OpenCV 4
-OPENCV4_VERSION := 4.10.0
+OPENCV4_VERSION := 4.4.0
OPENCV4_URL := $(GITHUB)/opencv/opencv/archive/$(OPENCV4_VERSION).tar.gz
-ifdef GNUV3
ifneq ($(findstring opencv4,$(PKGS_ENABLE)),)
PKGS += opencv4
ifeq ($(call need_pkg,"opencv4 >= 4.0.0"),)
PKGS_FOUND += opencv4
endif
endif
-endif
-DEPS_opencv4 = sam3 $(DEPS_sam3)
+DEPS_opencv4 = zlib $(DEPS_zlib) jpeg $(DEPS_jpeg) png $(DEPS_png)
$(TARBALLS)/opencv-$(OPENCV4_VERSION).tar.gz:
$(call download_pkg,$(OPENCV4_URL),opencv4)
@@ -21,9 +19,6 @@ $(TARBALLS)/opencv-$(OPENCV4_VERSION).tar.gz:
opencv4: opencv-$(OPENCV4_VERSION).tar.gz .sum-opencv4
$(UNPACK)
-# macosx_conversions.mm uses macOS-only API. Guard so it's not used on other Apple platforms
- sed -i.orig '1s/^/#include <TargetConditionals.h>\n#if TARGET_OS_OSX\n/' $(UNPACK_DIR)/modules/imgcodecs/src/macosx_conversions.mm
- echo '#endif /* TARGET_OS_OSX */' >> $(UNPACK_DIR)/modules/imgcodecs/src/macosx_conversions.mm
$(MOVE)
# only enable necessary pkgs
@@ -53,7 +48,8 @@ OPENCV4_CONF := \
-DWITH_OPENJPEG=OFF \
-DWITH_JASPER=OFF \
-DWITH_TIFF=OFF \
- -DWITH_COCOA=OFF
+ -DWITH_COCOA=OFF \
+ -DBUILD_PROTOBUF=OFF
# NEON mandatory on aarch64
ifneq ($(findstring aarch64,$(HOST)),)
@@ -69,9 +65,9 @@ OPENCV4_CONF += -DCV_ENABLE_INTRINSICS=OFF
endif
.opencv4: opencv4 toolchain.cmake
- $(REQUIRE_GNUV3)
$(CMAKECLEAN)
$(HOSTVARS_CMAKE) $(CMAKE) $(OPENCV4_CONF)
+$(CMAKEBUILD)
$(CMAKEINSTALL)
+ install $(BUILD_DIR)/unix-install/opencv4.pc $(PREFIX)/lib/pkgconfig
touch $@
\ No newline at end of file
=====================================
contrib/src/sam3/rules.mak
=====================================
@@ -3,6 +3,13 @@
SAM3_VERSION := 1.0.0
SAM3_URL := $(GITHUB)/PABannier/sam3.cpp/archive/refs/tags/v$(SAM3_VERSION).tar.gz
+ifndef HAVE_IOS # ggml missing clock_gettime() when targeting iOS 9.0
+ifndef HAVE_TVOS # ggml missing std::filesystem::path when targeting tvOS 11.0
+ifndef HAVE_MACOSX # ggml missing std::filesystem::path when targeting tvOS 10.13
+PKGS += sam3
+endif
+endif
+endif
ifeq ($(call need_pkg,"sam3"),)
PKGS_FOUND += sam3
endif
=====================================
modules/video_filter/meson.build
=====================================
@@ -407,6 +407,20 @@ opencv_dep = dependency('opencv4',
required: false,
version: '>=4.0.0')
+vlc_modules += {
+ 'name' : 'opencv_wrapper',
+ 'sources' : files('opencv_wrapper.c'),
+ 'dependencies' : [m_lib, opencv_dep],
+ 'enabled' : opencv_dep.found()
+}
+
+vlc_modules += {
+ 'name' : 'opencv_example',
+ 'sources' : files('opencv_example.cpp'),
+ 'dependencies' : [m_lib, opencv_dep],
+ 'enabled' : opencv_dep.found()
+}
+
sam3_dep = dependency('sam3',
required: get_option('sam3'))
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/c85a5164193481f16d117c27b3f2310c4ac289aa...16f074a05ab7f01e801827c466277a16940e98a0
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/c85a5164193481f16d117c27b3f2310c4ac289aa...16f074a05ab7f01e801827c466277a16940e98a0
You're receiving this email because of your account on code.videolan.org.
More information about the vlc-commits
mailing list