]> git.99rst.org Git - openwrt-packages.git/commit
ffmpeg: update to 9.0.1
authorMirko Vogt <redacted>
Tue, 8 Sep 2026 13:49:21 +0000 (13:49 +0000)
committerMirko Vogt <redacted>
Tue, 15 Sep 2026 20:40:22 +0000 (22:40 +0200)
commit785210230381467d60ecba4cb74b7aeffbd64b49
treed0d6a466924e82c309f9d46fb2771191dc2e69b0
parentd2a2e7b8dc1ed2dc2f962d0e87b383d653e3ff50
ffmpeg: update to 9.0.1

Rework the package while bumping from 6.1.4.

Variants: libffmpeg is the configurable build (menu "FFmpeg
configuration"; the defaults give a full-featured build), libffmpeg-mini
a fixed small decoder set for playback-only consumers; the two conflict.
The former -full, -custom and -audio-dec variants are folded into
libffmpeg: its menu carries the per-codec/format/protocol selection the
custom variant had, controlled by a "manual component selection"
option that is off by default. libffmpeg provides libffmpeg-full and
libffmpeg-audio-dec as transitional aliases for consumers not yet
updated. libffmpeg-mini no longer provides the libffmpeg virtual
package: its fixed set is too small for the in-tree consumers of that
name (mpd, minidlna), which need the default build; it is for consumers
that depend on it explicitly.

 * deterministic configure: --disable-autodetect plus an explicit
   --disable baseline for everything configure would pick up from the
   environment; each optional library/hwaccel is one config symbol
   driving both the conditional DEPENDS and the configure flag
 * menu: licence, size/speed, programs, hwaccels (libdrm, V4L2 M2M,
   VA-API), TLS backend (default mbedTLS, OpenWrt's default TLS
   library), external libraries, system libraries, component selection.
   Defaults follow what in-tree consumers need: libopus, LAME (shine
   on soft-float) and libx264 on; fdk-aac only for a nonfree, non-GPL
   build. The ALSA input device is dropped (no in-tree consumer).
   libdav1d (FFmpeg has no native software AV1 decoder) and VA-API are
   prepared but commented out until the dav1d and libva packages exist
   in the feeds.
 * BUILD_PATENTED: vvc (H.266) is added to the patented component lists
   next to h264, hevc and vc1; FFmpeg 9 builds its native VVC decoder,
   parser, muxer and demuxer by default and H.266 is licensed through
   the same patent pools as HEVC.

Build fixes for 9.0.1 are part of this commit; feature patches from
LibreELEC and the options they introduce follow in separate commits.

Patches:
  010-pkgconfig: kept unchanged: expresses libdir and includedir
    relative to ${prefix} in the generated .pc files
  020-libavcodec-fix-Wint-conversion-in-vulkan,
  030-avformat-file-guard-fd_dup-by-FD_PROTOCOL-or-PIPE_PR,
  040-vulkan_decode-fix-the-print-format-of-VkDeviceSize,
  050-avcodec-dct-Make-declarations-and-definitions-match,
  060-avutil-tx-fix-GCC-memset-warning,
  080-avcodec-pcm-bluray-dvd-Use-correct-pointer-types-on-,
  090-avcodec-tiff-Suppress-unused-variable-warnings,
  100-avcodec-tableprint_vlc-Unbreak-hardcoded-tables,
  120-avfilter-af_channelsplit-fix-mixed-declaration-and-c:
    dropped: merged upstream
  070-avformat-rawdec-guard-by-CONFIG_DATA_DEMUXER: dropped: only
    silenced an unused-function warning in builds without the data
    demuxer
  160-libavdevice-v4l2-libv4l2-posix-ioctl: new: libv4l2.h only
    declares v4l2_ioctl() with the POSIX "int request" signature when
    the consumer defines a feature macro first; FFmpeg detects that
    signature (HAVE_IOCTL_POSIX) but never tells the header, and GCC 14
    turns the resulting pointer-type mismatch into an error. Define
    both macro spellings (v4l-utils <= 1.30 and >= 1.32). Same approach
    as q66's posix-ioctl.patch in Chimera Linux, also carried by Alpine,
    which defines one of the two names per copy
  170-tls_mbedtls-build-without-version-module: new: OpenWrt's mbedtls
    package disables MBEDTLS_VERSION_C, so mbedtls_version_get_number()
    is not declared; fall back to the compile-time MBEDTLS_VERSION_NUMBER
  180-mips-cabac-no-mips16: re-added: restores the MIPS16 guard for the
    MIPS CABAC inline assembly from Rosen Penev's 030-h264-mips.patch
    (2020), dropped by the 6.1.2 update
  190-configure-hevcparse-select-hevc_sei: new: configure's hevcparse
    component does not select hevc_sei although hevc/parse.c needs it;
    without BUILD_PATENTED the HEVC decoder and parser that used to pull
    it in are off while the default-enabled dovi_split bitstream filter
    still needs hevcparse, leaving ff_hevc_decode_nal_sei undefined

The explicit GPL option and the explicit libdrm dependency follow
Daniel Golle's 7.1.4 update proposal of this package, which was superseded
by this PR/update.

Assisted-By: Claude Fable 5.1 <redacted>
Signed-off-by: Mirko Vogt <redacted>
16 files changed:
multimedia/ffmpeg/Config.in
multimedia/ffmpeg/Makefile
multimedia/ffmpeg/patches/020-libavcodec-fix-Wint-conversion-in-vulkan.patch [deleted file]
multimedia/ffmpeg/patches/030-avformat-file-guard-fd_dup-by-FD_PROTOCOL-or-PIPE_PR.patch [deleted file]
multimedia/ffmpeg/patches/040-vulkan_decode-fix-the-print-format-of-VkDeviceSize.patch [deleted file]
multimedia/ffmpeg/patches/050-avcodec-dct-Make-declarations-and-definitions-match.patch [deleted file]
multimedia/ffmpeg/patches/060-avutil-tx-fix-GCC-memset-warning.patch [deleted file]
multimedia/ffmpeg/patches/070-avformat-rawdec-guard-by-CONFIG_DATA_DEMUXER.patch [deleted file]
multimedia/ffmpeg/patches/080-avcodec-pcm-bluray-dvd-Use-correct-pointer-types-on-.patch [deleted file]
multimedia/ffmpeg/patches/090-avcodec-tiff-Suppress-unused-variable-warnings.patch [deleted file]
multimedia/ffmpeg/patches/100-avcodec-tableprint_vlc-Unbreak-hardcoded-tables.patch [deleted file]
multimedia/ffmpeg/patches/120-avfilter-af_channelsplit-fix-mixed-declaration-and-c.patch [deleted file]
multimedia/ffmpeg/patches/160-libavdevice-v4l2-libv4l2-posix-ioctl.patch [new file with mode: 0644]
multimedia/ffmpeg/patches/170-tls_mbedtls-build-without-version-module.patch [new file with mode: 0644]
multimedia/ffmpeg/patches/180-mips-cabac-no-mips16.patch [new file with mode: 0644]
multimedia/ffmpeg/patches/190-configure-hevcparse-select-hevc_sei.patch [new file with mode: 0644]
git clone https://git.99rst.org/PROJECT