[vlc-commits] [Git][videolan/vlc][3.0.x] 41 commits: contrib: mingw64: disable pthread_setname_np

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu Apr 9 09:44:37 UTC 2026



Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC


Commits:
1501d6c8 by Steve Lhomme at 2026-04-08T09:55:24+02:00
contrib: mingw64: disable pthread_setname_np

It crashes on an Atom N450 in libavcodec and we don't need this API.

- - - - -
7a6e7a61 by Steve Lhomme at 2026-04-08T09:55:32+02:00
contrib: mingw64: force build a local winpthread

pthread_setname_np may not be usable on XP. It's usable when targeting UWP
with newer Windows versions.

- - - - -
e1f0c3c6 by Alexandre Janniaux at 2026-04-08T09:55:56+02:00
extras: tools: bump nasm to v2.16.03

(cherry picked from commit 185e2efd262d21bbfc79acea697306001c588d71)

- - - - -
e07e6401 by Steve Lhomme at 2026-04-08T09:55:56+02:00
extras: tools: bump the minimum nasm version

FFmpeg 8.1 fails to build with nasm 2.14.

(cherry picked from commit 92678582233167fed7453699ed80c15da8bef35c)

- - - - -
4f1cf746 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: don't force Vista API's

Let the toolchain issue errors when we target Windows XP.

- - - - -
0280f9b4 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: define WC_ERR_INVALID_CHARS when it's missing

- - - - -
14fa7f37 by Thomas Guillem at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: enable videotoolbox encoder

No problem for decoders since it won't be used.

(cherry picked from commit 1003d6aa220d18088d2d6d2949dc117b622f85e3)

- - - - -
6c32e768 by Hugo Beauzée-Luyssen at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: Remove SNAPURL

It's been unused since b49f27fc2b01175ee3ae7fe0f5b08c2ae0a40dd2

(cherry picked from commit 1063b65e90f3504f7651bfd8ff52e0733d17d7f0) (rebased)
rebased:
- the FFMPEG hashes around are different

- - - - -
f79e84f0 by Thomas Guillem at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: enable back x86_64 asm on Android

Since relocation issues are now fixed.

(cherry picked from commit 96b768944284933a505138c2b3afc2c2f5721879)

- - - - -
f127c362 by Rémi Denis-Courmont at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: remove no-op --enable-neon

This is the default, and has no actual effects. The FFmpeg configure
script will check if NEON is supported *unless* given --disable-neon is
passed.

By comparison, the ARMv6 condition below is correct (at least in this
respect) in forcefully disabling NEON.

(cherry picked from commit 657dbcae19d307e2ab7b5ea0b4fee9b7b9753635)

- - - - -
8714ba4a by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: assume iOS armv7 targets have NEON support

This is strictly identical to the previous situation since HAVE_NEON is
set during bootstrapping on iOS only for armv7 targets anyway.

The commit prepares the removal of the HAVE_NEON flag completely in later
commits, which is redundant with armv7 check since we don't support
non-neon-capable armv7 targets anymore.

(cherry picked from commit 81192e6b256cc5658a2750bcb6ea1cd1c577eb39)

- - - - -
4fe654c5 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: remove use of gas-preprocessor.pl on iOS armv7

According to #24678 it should work with Clang 5 and above. Not sure there are
iOS/XCode toolchain still available that can target iOS 9 with an older Clang.

The iOS armv7 target continues to build assembler as before.

(cherry picked from commit e10d936ce384ea07a1081ef51e1f4f2a549cdadc)

- - - - -
5f68e509 by Evgeny Pavlov at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: add dependency for AMF package

(cherry picked from commit dc1decb2609ca44c78b8bd2db77dd87a85dbcb92)

- - - - -
9ca422c5 by Thomas Guillem at 2026-04-08T09:55:56+02:00
contrib: ffmpeg update to 5.1.2 release

Remove 3 patches that were upstreamed.
Remove `--disable-avresample` since the library is gone now.

(cherry picked from commit c45fd72c96689d53187f8c06c6f2a8d3bea17b45) (edited)
edited:
- VLC 3 was using 4.4.5 instead of 4.4.3
- VLC 3 needs more patching to keep XP support
- VLC 3 had the mf_utils-compilation-with-mingw64 patch under a different name
- VLC 3 had extra patches to compile with newer compilers

- - - - -
72ad322f by Martin Storsjö at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: Apply patches for vulkan on 32 bit architectures

This fixes building with modern Clang for 32 bit architectures.
Integer/pointer conversion issues (visible on 32 bit architectures)
that only are warnings in older compilers have been made hard errors
in recent versions of Clang.

This issue appeared in VLC after ffmpeg was updated to the 5.1 version.

(cherry picked from commit 29e86638e6c14842e64539afb8b7d21573e60c27) (rebased)
rebased:
- the patches around are slightly different

- - - - -
5b7e0df9 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: fix thread callback signature in UWP

(cherry picked from commit 0d8831148078540fe224a665249b7bcf8d4e8946) (rebased)
rebased:
- the patches around are slightly different

- - - - -
13216cc5 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: update to 5.1.4

This is the latest in the 5.x branch.

(cherry picked from commit f2f572ef19ee7e5f3444777edbb4b022dd8ae0da) (rebased)
rebased:
- the FFMPEG hash is different

- - - - -
4aa3e904 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: update to 6.1.1

This is the latest in the 6.x branch.
We already build with 6.1 in the Debian unstable Docker.

(cherry picked from commit 56ff9ca3740d524ebfe6284a63d25de75ffc3e5c) (edited)
edited:
- VLC 4 has empscripten support

- - - - -
4cf41a77 by Felix Paul Kühne at 2026-04-08T09:55:56+02:00
contrib/ffmpeg: fix compilation for xrOS

(cherry picked from commit d18141d0e512b82d1bd58cf57677713d19149381) (rebased)
rebased:
- VLC 3 has some patches for libav

- - - - -
fff758fa by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: disable source folder linking when generating PDB

It messes with the source folder location.

(cherry picked from commit 8b09d72394f3ec75b388aaaea4415331f535c4a4) (rebased)
rebased:
- VLC 4 depends on openjpeg unconditionally (not handled with libav)

- - - - -
84527b1b by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: fix bogus MediaFoundation in UWP

It's not supposed to work in UWP without forcing the FAMILY_DESKTOP.

(cherry picked from commit bcc33a20200f02826abf91da8d9287f41c30d4ac)

- - - - -
49d48f48 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: remove armv7 patch

This should compile fine on recent NDK or it should be merged upstream.

(cherry picked from commit 5e370813702465ac551f4d696d190a4aaf4e4ae8) (rebased)
rebased:
- VLC 3 has some patches for libav

- - - - -
ad43c2bf by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: move the config flags in FFMPEGCONF

They are supposed to match HOSTCONF but ffmpeg refuses
options it doesn't understand.

(cherry picked from commit 08efb3f4e8ee14ca046cb756f74589bdb8a4a144)

- - - - -
88743576 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: remove forced -lm

It's automatically added.
Reverts d58a64505dd5488b328201ac6ea11919055279e9.

The issue was fixed in 4.0 via c94b09485811b58a49e6769943509880922ff0bd.

(cherry picked from commit 78e7c43d966b0c3b0479fe939747125b940dd3a3)

- - - - -
5346884f by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: update to 7.1

(cherry picked from commit bbc9223fcd06884409dad1597104bd6d8021332d) (edited)
edited:
- VLC 3 doesn't have the same dependencies for Windows (winpthreads, no wine-headers, no d3d12)

- - - - -
ac128697 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: fix DXVA MPEG2 output

The updated patch doesn't meet the underlying libavcodec changes.
The VC-1 patch is not needed as the merged version upstream is sufficient.

The MPEG-2 patch is done in a similar way as the VC-1 patch.

Fixes #28855

(cherry picked from commit 89615d0ea72d14052168cf0a1991bff597da5101)

- - - - -
617c1523 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: update to 7.1.1

Contains 200+ fixes [^1].

[^1]: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/db69d06eeeab4f46da15030a80d539efb4503ca8:/Changelog

(cherry picked from commit 413f7bd703353f689ed238b7ee77d46bbb0d081c) (rebased)
rebased:
- VLC 3 has support for libav

- - - - -
6b337165 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: switch to code.ffmpeg.org for git based builds

We don't use got builds for the moment, but that's where we should
get it now.

(cherry picked from commit 6835f76fe95a8fbf9204bfc65febb6dffcf10731) (edited)
edited:
- VLC 4 was using VIDEOLAN_GIT

- - - - -
0092f0c6 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: update to 7.1.2

(cherry picked from commit 5737ca118c5312f8d42afef8da23b0ab0c21cabe) (rebased)
rebased:
- VLC 3 has support for libav

- - - - -
9a91d942 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: ffmpeg: rewrite architecture for arm64_32

aarch64_32 is not recognized and disables arm assembly code.
arm64_32 is somehow recognized but fails to build because
all inline code fails.

(cherry picked from commit 52813b871a8b853b071e571cbe1241b1e30976b4) (rebased)
rebased:
- VLC 3 has disables lzma only for ffmpeg on Darwin

- - - - -
c2f1c5e1 by Steve Lhomme at 2026-04-08T09:55:56+02:00
contrib: add standalone libpostproc build

It's no longer part of FFmpeg 8.0.

Use a custom build file as it doesn't build from source.

(cherry picked from commit 0e10dfc0d7dd629b33a93973a8ad30677b48446b) (edited)
- we don't need emscripten/watchOS support in VLC 3
- we don't have BUILDCC in VLC 3
- use the same Windows threading as FFmpeg on VLC 3

- - - - -
1319b747 by Steve Lhomme at 2026-04-08T09:57:03+02:00
contrib: soxr: bump the minumum cmake to use CMAKE_REQUIRED_LIBRARIES

lrint uses libm which is set in CMAKE_REQUIRED_LIBRARIES. But
check_function_exists() won't use it with cmake older than 3.12.

This removes the need for Wno-dev.

(cherry picked from commit 3e093facdcbd1749f551fdfa7622bf066aab8f83) (rebased)
rebased:
- VLC 3 already has the path for aarch64

- - - - -
abd377ac by Steve Lhomme at 2026-04-08T09:57:03+02:00
contrib: soxr: expand internal Real Discrete Fourier Transform buffers

With FFmpeg 6.1 an extra item in the buffer is needed.
The API was introduced in https://github.com/FFmpeg/FFmpeg/commit/af94ab7c7c004786084903bcf82b7617e88e3aa9
But it was only made the default in 6.1 since https://github.com/FFmpeg/FFmpeg/commit/83ede01bb08239428fd65de62adc260f4233d229

This results in an out of bounds writing error on Windows.

(cherry picked from commit 63efd0239139725134a3e4523d94bd08e79122bf)

- - - - -
7919b6ab by Alexandre Janniaux at 2026-04-08T09:57:03+02:00
contrib: soxr: don't enforce CMAKE_SYSTEM_NAME on android

The CMake script in soxr will try to infer the current system and
setting the CMAKE_SYSTEM_NAME variable prevents CMake from finding which
system it really is and believe it's Windows. Because PKG_CONFIG_PATH
entries are separated by a semi-colon on Windows, it prevents finding
libraries like libavcodec.

This commit disable correct SIMD detection if CMAKE_ANDROID_ARCH_ABI is
not correctly set or if CMAKE_SYSTEM_PROCESSOR has an invalid value with
regard to android autodetection scripts in CMake
(Android-Determine.cmake).

Signed-off-by: Thomas Guillem <thomas at gllm.fr>
(cherry picked from commit 7e62bf96b1677705f19ec9fa6480be738a2c7904) (rebased)
rebased:
- VLC 3 already switched to the cleaner CMake calls

- - - - -
1c51cfe1 by Steve Lhomme at 2026-04-08T09:57:03+02:00
contrib: soxr: don't force the CMAKE_SYSTEM_NAME when cross compiling

The proper value is already set in the toolchain.cmake since a6dcec33242e131addf60fd8f324256fc2127bb5.
If the value is not set for a cross compiled target, building fails since f2e67d22ff313ce44bd60cd534d51ff529ffda00.

(cherry picked from commit 8adc52afea918c6769e29b2d5a2a1372b86743e3)

- - - - -
8df61af3 by Steve Lhomme at 2026-04-08T09:57:03+02:00
contrib: soxr: use libavutil tx instead of avfft in newer FFmpeg

avfft was removed from FFmpeg 8 but we can use the API with older FFMpeg as well.

(cherry picked from commit a4e28d65036a9a18957f2690fbdbf8c4ba58661d)

- - - - -
137b3e0d by Steve Lhomme at 2026-04-08T09:57:03+02:00
contrib: soxr: fix usage of libavutil tx

It requires aligned buffers, so we use the libavutil allocators as the original code.

And the stride is always sizeof(float).

(cherry picked from commit 188aa5dc7d435fbbf5cdb6addae86afd99cc17d7)

- - - - -
0dc6eee4 by Steve Lhomme at 2026-04-08T09:57:03+02:00
contrib: ffmpeg: fix availability #if test

It's available in macOS 10.13, not macOS 13.0 [^1].
The __builtin_available() is correct but not the #if around it.

[^1]: https://developer.apple.com/documentation/videotoolbox/vtcopysupportedpropertydictionaryforencoder(width:height:codectype:encoderspecification:encoderidout:supportedpropertiesout:)

(cherry picked from commit 34987e120c3e7970d414ea7a9b67b5e2d67746b9)

- - - - -
9803dc6f by Steve Lhomme at 2026-04-08T09:57:03+02:00
contrib: ffmpeg: update to 8.0

libpostproc is not part of FFmpeg 8.0 anymore, despite what is said in [^1].
It has moved to https://github.com/michaelni/libpostproc

[^1]: https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/8c920c4c396163e3b9a0b428dd550d3c986236aa

(cherry picked from commit 88fb5d501f8110ea1b52062f58c62fa5f52ae325) (rebased)
rebased:
- VLC 3 has support for libav

- - - - -
4ca2c80e by Steve Lhomme at 2026-04-08T09:57:03+02:00
contrib: ffmpeg: update to 8.1

Fixes #27908 as it contains https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/840183d823788306adb30153183614c3769bf6d3

(cherry picked from commit d228e9d26dde7414a70d8cc542133b630475aa7b) (rebased)
rebased:
- VLC 3 has support for libav

- - - - -
2d8e0f8c by Steve Lhomme at 2026-04-08T09:57:03+02:00
NEWS: mention FFmpeg 8.1 update

- - - - -


33 changed files:

- NEWS
- − contrib/src/ffmpeg/0001-Replace-all-occurences-of-av_mallocz_array-by-av_cal.patch
- contrib/src/ffmpeg/0001-avcodec-dxva2_hevc-add-support-for-parsing-HEVC-Rang.patch
- contrib/src/ffmpeg/0001-avcodec-mpeg12dec-don-t-call-hw-end_frame-when-start.patch
- − contrib/src/ffmpeg/0001-avcodec-vp9-Do-not-destroy-uninitialized-mutexes-con.patch
- + contrib/src/ffmpeg/0001-avutil-define-WC_ERR_INVALID_CHARS-when-it-s-missing.patch
- contrib/src/ffmpeg/0001-bring-back-XP-support.patch
- − contrib/src/ffmpeg/0001-dxva2_hevc-don-t-use-frames-as-reference-if-they-are.patch
- contrib/src/ffmpeg/0001-fix-MediaFoundation-compilation-if-WINVER-was-forced.patch → contrib/src/ffmpeg/0001-fix-mf_utils-compilation-with-mingw64.patch
- contrib/src/ffmpeg/0002-avcodec-hevcdec-allow-HEVC-444-8-10-12-bits-decoding.patch
- contrib/src/ffmpeg/0002-avcodec-mpeg12dec-don-t-end-a-slice-without-first_sl.patch
- − contrib/src/ffmpeg/0002-compat-w32dlfcn.h-Remove-MAX_PATH-limit-and-replace-.patch
- contrib/src/ffmpeg/0003-avcodec-hevcdec-allow-HEVC-422-10-12-bits-decoding-w.patch
- + contrib/src/ffmpeg/0011-avcodec-videotoolboxenc-disable-calls-on-unsupported.patch
- contrib/src/ffmpeg/SHA512SUMS
- − contrib/src/ffmpeg/armv7_fixup.patch
- + contrib/src/ffmpeg/avcodec-fix-compilation-visionos.patch
- contrib/src/ffmpeg/dxva_vc1_crash.patch
- contrib/src/ffmpeg/h264_early_SAR.patch
- contrib/src/ffmpeg/rules.mak
- contrib/src/main.mak
- + contrib/src/mingw64/0001-disable-pthread_-g-s-etname_np-when-targetting-Windo.patch
- contrib/src/mingw64/rules.mak
- + contrib/src/postproc/0001-force-using-external-libavutil.patch
- + contrib/src/postproc/0002-add-missing-libavcodec-headers.patch
- + contrib/src/postproc/rules.mak
- + contrib/src/soxr/0001-Allocate-an-extra-real-number.patch
- + contrib/src/soxr/0001-use-libavutil-tx-code-instead-of-avfft-in-newer-FFmp.patch
- contrib/src/soxr/rules.mak
- + contrib/src/soxr/soxr-check-function.patch
- extras/tools/SHA512SUMS
- extras/tools/bootstrap
- extras/tools/packages.mak


The diff was not included because it is too large.


View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4dcdf9d35b256906dfbdaa33dd6e5868be5fc8b3...2d8e0f8cf5935dca3917ce015299eb91480d8167

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/4dcdf9d35b256906dfbdaa33dd6e5868be5fc8b3...2d8e0f8cf5935dca3917ce015299eb91480d8167
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list