Skip to content

Commit 2053802

Browse files
committed
* Upgrade presets for FFmpeg 8.1
1 parent 0746d96 commit 2053802

191 files changed

Lines changed: 714 additions & 305 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Add new `SampleOnnxMNIST` in samples for TensorRT ([pull #1742](https://github.com/bytedeco/javacpp-presets/pull/1742))
33
* Fix loading issues with `libomp.dylib` and `libiomp5.dylib` for DNNL and PyTorch on Mac
44
* Include `model_package_loader.h` header file in presets for PyTorch ([issue #1729](https://github.com/bytedeco/javacpp-presets/issues/1729))
5-
* Upgrade presets for LLVM 22.1.1, PyTorch 2.11.0, TensorFlow Lite 2.21.0, and their dependencies
5+
* Upgrade presets for FFmpeg 8.1, LLVM 22.1.1, PyTorch 2.11.0, TensorFlow Lite 2.21.0, and their dependencies
66
* Compile classes with `parameters` bumping minimum requirements to Java SE 8 and Android 7.0 ([issue #1739](https://github.com/bytedeco/javacpp-presets/issues/1739))
77

88
### February 22, 2026 version 1.5.13

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ The JavaCPP Presets depend on Maven, a powerful build system for Java, so before
181181
Each child module in turn relies by default on the included [`cppbuild.sh` scripts](#the-cppbuildsh-scripts), explained below, to install its corresponding native libraries in the `cppbuild` subdirectory. To use native libraries already installed somewhere else on the system, other installation directories than `cppbuild` can also be specified either in the `pom.xml` files or in the `.java` configuration files. The following versions are supported:
182182

183183
* OpenCV 4.13.x https://opencv.org/releases/
184-
* FFmpeg 8.0.x http://ffmpeg.org/download.html
184+
* FFmpeg 8.1.x http://ffmpeg.org/download.html
185185
* FlyCapture 2.13.x https://www.flir.com/products/flycapture-sdk
186186
* Spinnaker 4.0.x https://www.flir.com/products/spinnaker-sdk
187187
* libdc1394 2.2.6 http://sourceforge.net/projects/libdc1394/files/

ffmpeg/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Introduction
99
------------
1010
This directory contains the JavaCPP Presets module for:
1111

12-
* FFmpeg 8.0.1 http://ffmpeg.org/
12+
* FFmpeg 8.1 http://ffmpeg.org/
1313

1414
Please refer to the parent README.md file for more detailed information about the JavaCPP Presets.
1515

@@ -38,22 +38,22 @@ We can use [Maven 3](http://maven.apache.org/) to download and install automatic
3838
<modelVersion>4.0.0</modelVersion>
3939
<groupId>org.bytedeco.ffmpeg</groupId>
4040
<artifactId>readfewframe</artifactId>
41-
<version>1.5.13</version>
41+
<version>1.5.14-SNAPSHOT</version>
4242
<properties>
4343
<exec.mainClass>ReadFewFrame</exec.mainClass>
4444
</properties>
4545
<dependencies>
4646
<dependency>
4747
<groupId>org.bytedeco</groupId>
4848
<artifactId>ffmpeg-platform</artifactId>
49-
<version>8.0.1-1.5.13</version>
49+
<version>8.1-1.5.14-SNAPSHOT</version>
5050
</dependency>
5151

5252
<!-- Optional GPL builds with (almost) everything enabled -->
5353
<dependency>
5454
<groupId>org.bytedeco</groupId>
5555
<artifactId>ffmpeg-platform-gpl</artifactId>
56-
<version>8.0.1-1.5.13</version>
56+
<version>8.1-1.5.14-SNAPSHOT</version>
5757
</dependency>
5858
</dependencies>
5959
<build>

ffmpeg/cppbuild.sh

Lines changed: 33 additions & 25 deletions
Large diffs are not rendered by default.

ffmpeg/ffmpeg.patch

Lines changed: 41 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
diff -ruN ffmpeg-8.0/configure ffmpeg-8.0-patch/configure
2-
--- ffmpeg-8.0/configure 2025-08-22 18:24:23.000000000 +0900
3-
+++ ffmpeg-8.0-patch/configure 2025-08-25 00:18:04.652203941 +0900
4-
@@ -7017,7 +7017,7 @@
1+
--- ffmpeg-8.1/configure 2026-03-17 03:13:04.000000000 +0900
2+
+++ ffmpeg-8.1-patch/configure 2026-04-08 11:10:29.980501821 +0900
3+
@@ -7232,7 +7232,7 @@
54
enabled jni && { [ $target_os = "android" ] && check_headers jni.h && enabled pthreads || die "ERROR: jni not found"; }
65
enabled ladspa && require_headers "ladspa.h dlfcn.h"
76
enabled lcms2 && require_pkg_config lcms2 "lcms2 >= 2.13" lcms2.h cmsCreateContext
@@ -10,16 +9,16 @@ diff -ruN ffmpeg-8.0/configure ffmpeg-8.0-patch/configure
109
enabled liboapv && require_pkg_config liboapv "oapv >= 0.2.0.0" "oapv/oapv.h" oapve_encode
1110
enabled libaribb24 && { check_pkg_config libaribb24 "aribb24 > 1.0.3" "aribb24/aribb24.h" arib_instance_new ||
1211
{ enabled gpl && require_pkg_config libaribb24 aribb24 "aribb24/aribb24.h" arib_instance_new; } ||
13-
@@ -7046,7 +7046,7 @@
12+
@@ -7261,7 +7261,7 @@
1413
enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs
1514
enabled fontconfig && enable libfontconfig
1615
enabled libfontconfig && require_pkg_config libfontconfig fontconfig "fontconfig/fontconfig.h" FcInit
1716
-enabled libfreetype && require_pkg_config libfreetype freetype2 "ft2build.h FT_FREETYPE_H" FT_Init_FreeType
1817
+enabled libfreetype && add_cppflags -I ../include/freetype2/ && require libfreetype "ft2build.h FT_FREETYPE_H" FT_Init_FreeType -lfreetype
1918
enabled libfribidi && require_pkg_config libfribidi fribidi fribidi.h fribidi_version_info
2019
enabled libharfbuzz && require_pkg_config libharfbuzz harfbuzz hb.h hb_buffer_create
21-
enabled libglslang && { check_lib spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
22-
@@ -7078,15 +7078,7 @@
20+
if enabled libglslang; then
21+
@@ -7297,15 +7297,7 @@
2322
# pkg-config support. Instead, users should make sure that the build
2423
# can find the libraries and headers through other means.
2524
elif enabled libmfx; then
@@ -28,18 +27,18 @@ diff -ruN ffmpeg-8.0/configure ffmpeg-8.0-patch/configure
2827
-# includedir=/usr/include
2928
-# Cflags: -I${includedir}
3029
-# So add -I${includedir}/mfx to CFLAGS
31-
- { check_pkg_config libmfx "libmfx >= 1.28 libmfx < 2.0" "mfx/mfxvideo.h" MFXInit && add_cflags -I${libmfx_incdir}/mfx; } ||
30+
- { check_pkg_config libmfx "libmfx >= 1.28 libmfx < 2.0" "mfx/mfxvideo.h" MFXInit && add_cppflags -I${libmfx_incdir}/mfx; } ||
3231
- { require libmfx "mfxvideo.h mfxdefs.h" MFXInit "-llibmfx $advapi32_extralibs" &&
3332
- { test_cpp_condition mfxdefs.h "MFX_VERSION >= 1028 && MFX_VERSION < 2000" || die "ERROR: libmfx version must be >= 1.28 and < 2.0"; } &&
3433
- warn "using libmfx without pkg-config"; } } &&
3534
+ require libmfx "mfx/mfxvideo.h" MFXInit -lmfx && warn "using libmfx without pkg-config" &&
3635
warn "libmfx is deprecated. Please run configure with --enable-libvpl to use libvpl instead."
3736
elif enabled libvpl; then
3837
# Consider pkg-config only. The name of libmfx is still passed to check_pkg_config function for --enable-libvpl option
39-
@@ -7115,21 +7107,14 @@
40-
{ check_pkg_config libopencv opencv opencv2/core/core_c.h cvCreateImageHeader ||
41-
require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; } ||
42-
require_pkg_config libopencv opencv opencv/cxcore.h cvCreateImageHeader; }
38+
@@ -7340,21 +7332,14 @@
39+
enabled libopencv && { check_pkg_config libopencv opencv4 opencv2/core/core_c.h cvCreateImageHeader ||
40+
require libopencv opencv2/core/core_c.h cvCreateImageHeader -lopencv_core -lopencv_imgproc; }
41+
enabled libopencolorio && require_pkg_config_cxx libopencolorio "OpenColorIO" OpenColorIO/OpenColorIO.h OCIO_NAMESPACE::Config
4342
-enabled libopenh264 && require_pkg_config libopenh264 "openh264 >= 1.3.0" wels/codec_api.h WelsGetCodecVersion
4443
+enabled libopenh264 && require libopenh264 wels/codec_api.h WelsGetCodecVersion -lopenh264 $pthreads_extralibs
4544
enabled libopenjpeg && { check_pkg_config libopenjpeg "libopenjp2 >= 2.1.0" openjpeg.h opj_version ||
@@ -60,7 +59,7 @@ diff -ruN ffmpeg-8.0/configure ffmpeg-8.0-patch/configure
6059
enabled libplacebo && require_pkg_config libplacebo "libplacebo >= 5.229.0" libplacebo/vulkan.h pl_vulkan_create
6160
enabled libpulse && require_pkg_config libpulse libpulse pulse/pulseaudio.h pa_context_new
6261
enabled libqrencode && require_pkg_config libqrencode libqrencode qrencode.h QRcode_encodeString
63-
@@ -7147,9 +7132,9 @@
62+
@@ -7372,9 +7357,9 @@
6463
enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++
6564
enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr
6665
enabled libssh && require_pkg_config libssh "libssh >= 0.6.0" libssh/sftp.h sftp_init
@@ -70,10 +69,10 @@ diff -ruN ffmpeg-8.0/configure ffmpeg-8.0-patch/configure
7069
+enabled libspeex && require libspeex speex/speex.h speex_decoder_init -lspeex
7170
+enabled libsrt && require libsrt srt/srt.h srt_startup -lsrt -lcrypto -lssl
7271
+enabled libsvtav1 && require libsvtav1 EbSvtAv1Enc.h svt_av1_enc_init_handle -lSvtAv1Enc $pthreads_extralibs
72+
enabled libsvtjpegxs && require_pkg_config libsvtjpegxs "SvtJpegxs >= 0.10.0" SvtJpegxsEnc.h svt_jpeg_xs_encoder_init
7373
enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow
7474
enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate
75-
enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
76-
@@ -7171,19 +7156,15 @@
75+
@@ -7399,19 +7384,15 @@
7776

7877
enabled libvpx && {
7978
enabled libvpx_vp8_decoder && {
@@ -93,7 +92,7 @@ diff -ruN ffmpeg-8.0/configure ffmpeg-8.0-patch/configure
9392
check_lib libvpx_vp9_encoder "vpx/vpx_encoder.h vpx/vp8cx.h" "vpx_codec_vp9_cx VPX_IMG_FMT_HIGHBITDEPTH" "-lvpx $libm_extralibs $pthreads_extralibs"
9493
}
9594
if disabled_all libvpx_vp8_decoder libvpx_vp9_decoder libvpx_vp8_encoder libvpx_vp9_encoder; then
96-
@@ -7193,27 +7174,27 @@
95+
@@ -7421,15 +7402,15 @@
9796

9897
enabled libvvenc && require_pkg_config libvvenc "libvvenc >= 1.6.1" "vvenc/vvenc.h" vvenc_get_version
9998
enabled libwebp && {
@@ -113,8 +112,9 @@ diff -ruN ffmpeg-8.0/configure ffmpeg-8.0-patch/configure
113112
require_cpp_condition libx265 x265.h "X265_BUILD >= 89"
114113
enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs"
115114
enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get
116-
enabled libxevd && require_pkg_config libxevd "xevd >= 0.4.1" "xevd.h" xevd_decode
115+
@@ -7438,12 +7419,12 @@
117116
enabled libxeve && require_pkg_config libxeve "xeve >= 0.5.1" "xeve.h" xeve_encode
117+
enabled libxeveb && require_pkg_config libxeveb "xeveb >= 0.5.1" "xeve.h" xeve_encode
118118
enabled libxvid && require libxvid xvid.h xvid_global -lxvidcore
119119
-enabled libzimg && require_pkg_config libzimg "zimg >= 2.7.0" zimg.h zimg_get_api_version
120120
+enabled libzimg && require libzimg zimg.h zimg_get_api_version -lzimg
@@ -127,57 +127,50 @@ diff -ruN ffmpeg-8.0/configure ffmpeg-8.0-patch/configure
127127
enabled mbedtls && { check_pkg_config mbedtls mbedtls mbedtls/x509_crt.h mbedtls_x509_crt_init ||
128128
check_pkg_config mbedtls mbedtls mbedtls/ssl.h mbedtls_ssl_init ||
129129
check_lib mbedtls mbedtls/ssl.h mbedtls_ssl_init -lmbedtls -lmbedx509 -lmbedcrypto ||
130-
@@ -7258,11 +7239,12 @@
130+
@@ -7489,13 +7470,14 @@
131131
enabled omx && require_headers OMX_Core.h && \
132132
warn "The OpenMAX encoders are deprecated and will be removed in future versions"
133133

134-
-enabled openssl && { { check_pkg_config openssl "openssl >= 3.0.0" openssl/ssl.h OPENSSL_init_ssl &&
134+
-enabled openssl && { { check_pkg_config openssl "openssl >= 3.0.0" openssl/ssl.h DTLS_get_data_mtu &&
135135
- { enabled gplv3 || ! enabled gpl || enabled nonfree || die "ERROR: OpenSSL >=3.0.0 requires --enable-version3"; }; } ||
136136
- { enabled gpl && ! enabled nonfree && die "ERROR: OpenSSL <3.0.0 is incompatible with the gpl"; } ||
137-
- check_pkg_config openssl "openssl >= 1.1.0" openssl/ssl.h OPENSSL_init_ssl ||
137+
- check_pkg_config openssl "openssl >= 1.1.1" openssl/ssl.h DTLS_get_data_mtu ||
138+
- check_lib openssl openssl/ssl.h DTLS_get_data_mtu -lssl -lcrypto ||
139+
- check_lib openssl openssl/ssl.h DTLS_get_data_mtu -lssl -lcrypto -lws2_32 -lgdi32 ||
140+
- die "ERROR: openssl (>= 1.1.1) not found"; }
138141
+enabled openssl && {
139142
+ check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl ||
140143
+ check_pkg_config openssl openssl openssl/ssl.h SSL_library_init ||
141-
check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto ||
144+
+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto ||
142145
+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto $pthreads_extralibs ||
143146
+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl32 -leay32 ||
144-
check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto -lws2_32 -lgdi32 ||
145-
die "ERROR: openssl (>= 1.1.0) not found"; }
147+
+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto -lws2_32 -lgdi32 ||
148+
+ die "ERROR: openssl (>= 1.1.0) not found"; }
146149
enabled pocketsphinx && require_pkg_config pocketsphinx pocketsphinx pocketsphinx/pocketsphinx.h ps_init
147-
@@ -7273,15 +7255,6 @@
148-
}
149-
enabled vapoursynth && require_headers "vapoursynth/VSScript4.h vapoursynth/VapourSynth4.h"
150-
151-
-enabled openssl && {
152-
- enabled whip_muxer && {
153-
- $pkg_config --exists --print-errors "openssl >= 1.0.1k" ||
154-
- require_pkg_config openssl "openssl >= 1.0.1k" openssl/ssl.h SSL_library_init ||
155-
- require_pkg_config openssl "openssl >= 1.0.1k" openssl/ssl.h OPENSSL_init_ssl
156-
- }
157-
-}
158-
-
159-
-
160-
if enabled gcrypt; then
161-
GCRYPT_CONFIG="${cross_prefix}libgcrypt-config"
162-
if "${GCRYPT_CONFIG}" --version > /dev/null 2>&1; then
163-
@@ -7513,19 +7486,13 @@
164-
enabled vdpau &&
150+
enabled rkmpp && { require_pkg_config rkmpp "rockchip_mpp >= 1.3.8" "rockchip/rk_mpi.h rockchip/mpp_buffer.h" "mpp_create mpp_buffer_sync_begin_f" &&
151+
{ enabled libdrm ||
152+
@@ -7735,10 +7717,7 @@
165153
check_lib vdpau_x11 "vdpau/vdpau.h vdpau/vdpau_x11.h" vdp_device_create_x11 -lvdpau -lX11
166154

155+
# Check for the Vulkan headers
167156
-if enabled_all vulkan vulkan_static; then
168157
- check_pkg_config vulkan "vulkan >= 1.3.277" "vulkan/vulkan.h" "defined VK_VERSION_1_3" ||
169158
- check_lib vulkan "vulkan/vulkan.h" vkGetInstanceProcAddr -lvulkan
170159
-elif enabled vulkan; then
171160
+if enabled vulkan; then
172161
check_pkg_config_header_only vulkan "vulkan >= 1.3.277" "vulkan/vulkan.h" "defined VK_VERSION_1_3" ||
173-
check_cpp_condition vulkan "vulkan/vulkan.h" "defined(VK_VERSION_1_4) || (defined(VK_VERSION_1_3) && VK_HEADER_VERSION >= 277)"
162+
check_cpp_condition vulkan "vulkan/vulkan.h" "defined(VK_VERSION_1_4) || (defined(VK_VERSION_1_3) && VK_HEADER_VERSION >= 277)" $vulkan_incflags
174163
fi
164+
@@ -7783,11 +7762,7 @@
165+
}
175166

176-
if disabled vulkan; then
177-
disable libglslang libshaderc spirv_compiler
178-
-else
167+
if enabled vulkan; then
179168
- check_pkg_config_header_only vulkan_1_4 "vulkan >= 1.4.317" "vulkan/vulkan.h" "defined VK_VERSION_1_4" ||
180-
- check_cpp_condition vulkan_1_4 "vulkan/vulkan.h" "defined(VK_VERSION_1_5) || (defined(VK_VERSION_1_4) && VK_HEADER_VERSION >= 317)"
169+
- check_cpp_condition vulkan_1_4 "vulkan/vulkan.h" "defined(VK_VERSION_1_5) || (defined(VK_VERSION_1_4) && VK_HEADER_VERSION >= 317)" $vulkan_incflags
170+
- for program in $glslc glslc glslang glslangValidator; do
171+
- probe_glslc $program && break
172+
- done
173+
+ disable spirv_compiler
174+
else
175+
disable libglslang libshaderc spirv_library spirv_compiler
181176
fi
182-
183-
if enabled x86; then

ffmpeg/platform/gpl/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<groupId>org.bytedeco</groupId>
1414
<artifactId>ffmpeg-platform-gpl</artifactId>
15-
<version>8.0.1-${project.parent.version}</version>
15+
<version>8.1-${project.parent.version}</version>
1616
<name>JavaCPP Presets Platform for FFmpeg (GPL enabled)</name>
1717

1818
<properties>

ffmpeg/platform/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<groupId>org.bytedeco</groupId>
1414
<artifactId>ffmpeg-platform</artifactId>
15-
<version>8.0.1-${project.parent.version}</version>
15+
<version>8.1-${project.parent.version}</version>
1616
<name>JavaCPP Presets Platform for FFmpeg</name>
1717

1818
<properties>

ffmpeg/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
<groupId>org.bytedeco</groupId>
1313
<artifactId>ffmpeg</artifactId>
14-
<version>8.0.1-${project.parent.version}</version>
14+
<version>8.1-${project.parent.version}</version>
1515
<name>JavaCPP Presets for FFmpeg</name>
1616

1717
<dependencies>

ffmpeg/samples/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
<dependency>
1313
<groupId>org.bytedeco</groupId>
1414
<artifactId>ffmpeg-platform</artifactId>
15-
<version>8.0.1-1.5.14-SNAPSHOT</version>
15+
<version>8.1-1.5.14-SNAPSHOT</version>
1616
</dependency>
1717

1818
<!-- Optional GPL builds with (almost) everything enabled -->
1919
<dependency>
2020
<groupId>org.bytedeco</groupId>
2121
<artifactId>ffmpeg-platform-gpl</artifactId>
22-
<version>8.0.1-1.5.14-SNAPSHOT</version>
22+
<version>8.1-1.5.14-SNAPSHOT</version>
2323
</dependency>
2424
</dependencies>
2525
<build>

ffmpeg/src/gen/java/org/bytedeco/ffmpeg/avcodec/AVBSFContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Targeted by JavaCPP version 1.5.13: DO NOT EDIT THIS FILE
1+
// Targeted by JavaCPP version 1.5.14-SNAPSHOT: DO NOT EDIT THIS FILE
22

33
package org.bytedeco.ffmpeg.avcodec;
44

0 commit comments

Comments
 (0)