ffmpeg: re-add libpostproc as a source plugin

Upstream dropped libpostproc in 8.0; Kodi still requires it.

The --enable/--disable-postproc option the patch re-introduces is set
explicitly: on together with GPL in libffmpeg, off in libffmpeg-mini.

Patches:
  100-postproc: carried over from LibreELEC (Matthias Reichl's rebase
    of Michael Niedermayer's libpostproc source plugin;
    packages/multimedia/ffmpeg/patches/postproc/0001-postproc.patch as
    of LibreELEC commit 5f03a122f8): re-adds libpostproc as a source
    plugin

Header unchanged, hunks refreshed with quilt; the patched tree is
identical to the one LibreELEC's file produces.

Signed-off-by: Mirko Vogt <mirko-openwrt@nanl.de>
pull/30541/head
Mirko Vogt 2026-09-08 13:49:21 +00:00 committed by Mirko Vogt
parent 7852102303
commit 87a92bf189
3 changed files with 9739 additions and 4 deletions

View File

@ -3,12 +3,13 @@ menu "FFmpeg configuration"
comment "Licensing"
config FFMPEG_GPL
bool "Include GPL components (GPL filters)"
bool "Include GPL components (libpostproc, GPL filters)"
default y
help
Build libffmpeg with --enable-gpl. This adds the
GPL-licensed filters, and the resulting libraries are
distributed under the GPL-2.0-or-later.
Build libffmpeg with --enable-gpl. This adds libpostproc
and the GPL-licensed filters, and the resulting libraries are
distributed under the GPL-2.0-or-later. Kodi requires
libpostproc.
config FFMPEG_VERSION3
bool "Allow (L)GPL v3 components"

View File

@ -487,12 +487,17 @@ FFMPEG_OPT=$(if $(CONFIG_$(1)),--enable-$(2),--disable-$(2))
ifeq ($(BUILD_VARIANT),default)
# postproc: libpostproc was removed upstream in FFmpeg 8.0 and is re-added
# by patches/100-postproc.patch (LibreELEC), which also re-introduces the
# --enable/--disable-postproc option; it is GPL-only, so it follows the GPL
# option. Kodi requires it.
# vaapi/libdav1d: literal --disable until the libva / dav1d packages exist
# in the feeds; then restore $(call FFMPEG_OPT,FFMPEG_VAAPI,vaapi),
# $(call FFMPEG_OPT,FFMPEG_LIBDAV1D,libdav1d) and, for manual component
# selection, --enable-hwaccel=*_vaapi / --enable-decoder=libdav1d.
FFMPEG_CONFIGURE+= \
$(call FFMPEG_OPT,FFMPEG_GPL,gpl) \
$(call FFMPEG_OPT,FFMPEG_GPL,postproc) \
$(call FFMPEG_OPT,FFMPEG_VERSION3,version3) \
$(call FFMPEG_OPT,FFMPEG_NONFREE,nonfree) \
$(call FFMPEG_OPT,FFMPEG_OPTIMIZE_SIZE,small) \
@ -577,6 +582,7 @@ ifeq ($(BUILD_VARIANT),mini)
--disable-programs \
--disable-avdevice \
--disable-avfilter \
--disable-postproc \
--disable-swresample \
--disable-swscale \
--disable-everything \

File diff suppressed because it is too large Load Diff