Browse Source

ffmpeg: Update to 3.2.10.

Re-organize configuration options to allow non-patented/un-licensed builds.
Include AAC and WMA codecs without BUILD_PATENTED

Signed-off-by: Ted Hess <thess@kitschensync.net>
lilik-openwrt-22.03
Ted Hess 7 years ago
parent
commit
1fa9c1bc5f
2 changed files with 46 additions and 35 deletions
  1. +4
    -12
      multimedia/ffmpeg/Config.in
  2. +42
    -23
      multimedia/ffmpeg/Makefile

+ 4
- 12
multimedia/ffmpeg/Config.in View File

@ -43,12 +43,11 @@ config FFMPEG_CUSTOM_FFSERVER_SUPPORT
config FFMPEG_CUSTOM_MINIDLNA_SUPPORT config FFMPEG_CUSTOM_MINIDLNA_SUPPORT
bool "Include support for minidlna" bool "Include support for minidlna"
depends on FFMPEG_CUSTOM_PATENTED
select FFMPEG_CUSTOM_DECODER_aac select FFMPEG_CUSTOM_DECODER_aac
select FFMPEG_CUSTOM_DECODER_ac3 select FFMPEG_CUSTOM_DECODER_ac3
select FFMPEG_CUSTOM_DECODER_flac select FFMPEG_CUSTOM_DECODER_flac
select FFMPEG_CUSTOM_DECODER_h264
select FFMPEG_CUSTOM_DECODER_hevc
select FFMPEG_CUSTOM_DECODER_h264 if (BUILD_PATENTED)
select FFMPEG_CUSTOM_DECODER_hevc if (BUILD_PATENTED)
select FFMPEG_CUSTOM_DECODER_jpegls select FFMPEG_CUSTOM_DECODER_jpegls
select FFMPEG_CUSTOM_DECODER_mp2 select FFMPEG_CUSTOM_DECODER_mp2
select FFMPEG_CUSTOM_DECODER_mp3 select FFMPEG_CUSTOM_DECODER_mp3
@ -58,7 +57,7 @@ config FFMPEG_CUSTOM_MINIDLNA_SUPPORT
select FFMPEG_CUSTOM_DECODER_mpegvideo select FFMPEG_CUSTOM_DECODER_mpegvideo
select FFMPEG_CUSTOM_DECODER_png select FFMPEG_CUSTOM_DECODER_png
select FFMPEG_CUSTOM_DECODER_opus select FFMPEG_CUSTOM_DECODER_opus
select FFMPEG_CUSTOM_DECODER_vc1
select FFMPEG_CUSTOM_DECODER_vc1 if (BUILD_PATENTED)
select FFMPEG_CUSTOM_DECODER_vorbis select FFMPEG_CUSTOM_DECODER_vorbis
select FFMPEG_CUSTOM_DECODER_wmav1 select FFMPEG_CUSTOM_DECODER_wmav1
select FFMPEG_CUSTOM_DECODER_wmav2 select FFMPEG_CUSTOM_DECODER_wmav2
@ -75,7 +74,6 @@ config FFMPEG_CUSTOM_MINIDLNA_SUPPORT
config FFMPEG_CUSTOM_AUDIO_DEC_SUPPORT config FFMPEG_CUSTOM_AUDIO_DEC_SUPPORT
bool "Include support for most audio decoding requirements" bool "Include support for most audio decoding requirements"
depends on FFMPEG_CUSTOM_PATENTED
select FFMPEG_CUSTOM_DECODER_aac select FFMPEG_CUSTOM_DECODER_aac
select FFMPEG_CUSTOM_DECODER_aac_latm select FFMPEG_CUSTOM_DECODER_aac_latm
select FFMPEG_CUSTOM_DECODER_ac3 select FFMPEG_CUSTOM_DECODER_ac3
@ -84,7 +82,7 @@ config FFMPEG_CUSTOM_AUDIO_DEC_SUPPORT
select FFMPEG_CUSTOM_DECODER_amrnb select FFMPEG_CUSTOM_DECODER_amrnb
select FFMPEG_CUSTOM_DECODER_amrwb select FFMPEG_CUSTOM_DECODER_amrwb
select FFMPEG_CUSTOM_DECODER_ape select FFMPEG_CUSTOM_DECODER_ape
select FFMPEG_CUSTOM_DECODER_atrac3
select FFMPEG_CUSTOM_DECODER_atrac3 if (BUILD_PATENTED)
select FFMPEG_CUSTOM_DECODER_flac select FFMPEG_CUSTOM_DECODER_flac
select FFMPEG_CUSTOM_DECODER_mp2 select FFMPEG_CUSTOM_DECODER_mp2
select FFMPEG_CUSTOM_DECODER_mp3 select FFMPEG_CUSTOM_DECODER_mp3
@ -173,7 +171,6 @@ config FFMPEG_CUSTOM_ENCODER_mpeg2video
config FFMPEG_CUSTOM_ENCODER_mpeg4 config FFMPEG_CUSTOM_ENCODER_mpeg4
bool "MPEG-4" bool "MPEG-4"
depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_ENCODER_pcm_s16be config FFMPEG_CUSTOM_ENCODER_pcm_s16be
bool "PCM signed 16-bit big-endian" bool "PCM signed 16-bit big-endian"
@ -195,7 +192,6 @@ comment "Decoders"
config FFMPEG_CUSTOM_DECODER_aac config FFMPEG_CUSTOM_DECODER_aac
bool "AAC (Advanced Audio Coding)" bool "AAC (Advanced Audio Coding)"
depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_SELECT_adpcm config FFMPEG_CUSTOM_SELECT_adpcm
bool "ADPCM (multiple types)" bool "ADPCM (multiple types)"
@ -255,7 +251,6 @@ config FFMPEG_CUSTOM_DECODER_mpeg2video
config FFMPEG_CUSTOM_DECODER_mpeg4 config FFMPEG_CUSTOM_DECODER_mpeg4
bool "MPEG-4" bool "MPEG-4"
depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_DECODER_mpc7 config FFMPEG_CUSTOM_DECODER_mpc7
bool "Musepack 7" bool "Musepack 7"
@ -291,11 +286,9 @@ config FFMPEG_CUSTOM_DECODER_wavpack
config FFMPEG_CUSTOM_DECODER_wmav1 config FFMPEG_CUSTOM_DECODER_wmav1
bool "WMAv1" bool "WMAv1"
depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_DECODER_wmav2 config FFMPEG_CUSTOM_DECODER_wmav2
bool "WMAv2" bool "WMAv2"
depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_DECODER_zlib config FFMPEG_CUSTOM_DECODER_zlib
bool "Zlib" bool "Zlib"
@ -429,7 +422,6 @@ comment "Parsers"
config FFMPEG_CUSTOM_PARSER_aac config FFMPEG_CUSTOM_PARSER_aac
bool "AAC (Advanced Audio Coding)" bool "AAC (Advanced Audio Coding)"
depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_PARSER_ac3 config FFMPEG_CUSTOM_PARSER_ac3
bool "AC3" bool "AC3"


+ 42
- 23
multimedia/ffmpeg/Makefile View File

@ -1,6 +1,6 @@
# #
# Copyright (C) 2006-2017 OpenWrt.org
# Copyright (C) 2017 Ian Leonard <antonlacon@gmail.com> # Copyright (C) 2017 Ian Leonard <antonlacon@gmail.com>
# Copyright (C) 2018 Ted Hess <thess@kitschensync.net>
# #
# This is free software, licensed under the GNU General Public License v2. # This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information. # See /LICENSE for more information.
@ -9,12 +9,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=ffmpeg PKG_NAME:=ffmpeg
PKG_VERSION:=3.2.9
PKG_VERSION:=3.2.10
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://ffmpeg.org/releases/ PKG_SOURCE_URL:=https://ffmpeg.org/releases/
PKG_HASH:=1131d37890ed3dcbc3970452b200a56ceb36b73eaa51d1c23c770c90f928537f
PKG_HASH:=3c1626220c7b68ff6be7312559f77f3c65ff6809daf645d4470ac0189926bdbc
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \ PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Ian Leonard <antonlacon@gmail.com> Ian Leonard <antonlacon@gmail.com>
@ -120,11 +120,8 @@ FFMPEG_CUSTOM_PROTOCOLS:= \
file http icecast pipe rtp tcp udp file http icecast pipe rtp tcp udp
FFMPEG_MINI_DECODERS:= \ FFMPEG_MINI_DECODERS:= \
aac \
ac3 \ ac3 \
flac \ flac \
h264 \
hevc \
jpegls \ jpegls \
mp2 \ mp2 \
mp3 \ mp3 \
@ -134,10 +131,12 @@ FFMPEG_MINI_DECODERS:= \
mpegvideo \ mpegvideo \
opus \ opus \
png \ png \
vc1 \
vorbis \ vorbis \
wmav1 \
wmav2 \
FFMPEG_PATENTED_MINI_DECODERS:= \
h264 \
hevc \
vc1 \
FFMPEG_MINI_DEMUXERS:= \ FFMPEG_MINI_DEMUXERS:= \
avi \ avi \
@ -154,8 +153,6 @@ FFMPEG_MINI_PROTOCOLS:= \
file file
FFMPEG_AUDIO_DECODERS:= \ FFMPEG_AUDIO_DECODERS:= \
aac \
aac_latm \
ac3 \ ac3 \
adpcm_* \ adpcm_* \
alac \ alac \
@ -172,14 +169,9 @@ FFMPEG_AUDIO_DECODERS:= \
pcm_* \ pcm_* \
vorbis \ vorbis \
wavpack \ wavpack \
wmav1 \
wmav2 \
wmalossless \
wmapro \
zlib \ zlib \
FFMPEG_AUDIO_DEMUXERS:= \ FFMPEG_AUDIO_DEMUXERS:= \
aac \
ac3 \ ac3 \
aiff \ aiff \
amr \ amr \
@ -204,13 +196,27 @@ FFMPEG_AUDIO_DEMUXERS:= \
FFMPEG_AUDIO_PROTOCOLS:= \ FFMPEG_AUDIO_PROTOCOLS:= \
file http icecast rtp tcp udp file http icecast rtp tcp udp
FFMPEG_PATENTED_DECODERS:= \
atrac3 \
h264 \
hevc \
vc1 \
FFMPEG_PATENTED_MUXERS:= \
h264 \
hevc \
FFMPEG_PATENTED_PARSERS:= \
h264 \
hevc \
vc1 \
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_CONFIG_DEPENDS:= \ PKG_CONFIG_DEPENDS:= \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_ENCODER_%,$(FFMPEG_CUSTOM_ENCODERS)) \ $(patsubst %,CONFIG_FFMPEG_CUSTOM_ENCODER_%,$(FFMPEG_CUSTOM_ENCODERS)) \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_DECODER_%,$(FFMPEG_CUSTOM_DECODERS)) \ $(patsubst %,CONFIG_FFMPEG_CUSTOM_DECODER_%,$(FFMPEG_CUSTOM_DECODERS)) \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_MUXER_%,$(FFMPEG_CUSTOM_DEMUXERS)) \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_MUXER_%,$(FFMPEG_CUSTOM_MUXERS)) \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_DEMUXER_%,$(FFMPEG_CUSTOM_DEMUXERS)) \ $(patsubst %,CONFIG_FFMPEG_CUSTOM_DEMUXER_%,$(FFMPEG_CUSTOM_DEMUXERS)) \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PARSER_%,$(FFMPEG_CUSTOM_PARSERS)) \ $(patsubst %,CONFIG_FFMPEG_CUSTOM_PARSER_%,$(FFMPEG_CUSTOM_PARSERS)) \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$(FFMPEG_CUSTOM_PROTOCOLS)) $(patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$(FFMPEG_CUSTOM_PROTOCOLS))
@ -226,6 +232,10 @@ endef
define Package/ffmpeg/Default/description define Package/ffmpeg/Default/description
FFmpeg is a a software package that can record, convert and stream digital FFmpeg is a a software package that can record, convert and stream digital
audio and video in numerous formats. audio and video in numerous formats.
FFmpeg licensing / patent issues are complex. It is the reponsibility of the
user to understand any requirements in this regard with its usage. See:
https://ffmpeg.org/legal.html for further information.
endef endef
@ -313,7 +323,6 @@ endef
define Package/libffmpeg-audio-dec define Package/libffmpeg-audio-dec
$(call Package/libffmpeg/Default) $(call Package/libffmpeg/Default)
TITLE+= (audio) TITLE+= (audio)
DEPENDS+= @BUILD_PATENTED
VARIANT:=audio-dec VARIANT:=audio-dec
endef endef
@ -327,7 +336,7 @@ endef
define Package/libffmpeg-full define Package/libffmpeg-full
$(call Package/libffmpeg/Default) $(call Package/libffmpeg/Default)
TITLE+= (full) TITLE+= (full)
DEPENDS+= @BUILD_PATENTED +alsa-lib +PACKAGE_libopus:libopus
DEPENDS+= +alsa-lib +PACKAGE_libopus:libopus
ifeq ($(CONFIG_SOFT_FLOAT),y) ifeq ($(CONFIG_SOFT_FLOAT),y)
DEPENDS+= +PACKAGE_shine:shine DEPENDS+= +PACKAGE_shine:shine
else else
@ -347,7 +356,6 @@ endef
define Package/libffmpeg-mini define Package/libffmpeg-mini
$(call Package/libffmpeg/Default) $(call Package/libffmpeg/Default)
TITLE+= (mini) TITLE+= (mini)
DEPENDS+= @BUILD_PATENTED
VARIANT:=mini VARIANT:=mini
endef endef
@ -434,8 +442,18 @@ FFMPEG_CONFIGURE+= --disable-yasm
endif endif
ifeq ($(BUILD_VARIANT),full) ifeq ($(BUILD_VARIANT),full)
FFMPEG_DISABLE= \
$(foreach c, $(2), \
--disable-$(1)="$(c)" \
)
FFMPEG_CONFIGURE+= \ FFMPEG_CONFIGURE+= \
--enable-avresample \ --enable-avresample \
$(if $(CONFIG_BUILD_PATENTED),, \
$(call FFMPEG_DISABLE,decoder,$(FFMPEG_PATENTED_DECODERS)) \
$(call FFMPEG_DISABLE,muxer,$(FFMPEG_PATENTED_MUXERS)) \
$(call FFMPEG_DISABLE,parser,$(FFMPEG_PATENTED_PARSERS))) \
$(if $(CONFIG_PACKAGE_libopus),--enable-libopus) $(if $(CONFIG_PACKAGE_libopus),--enable-libopus)
ifeq ($(CONFIG_SOFT_FLOAT),y) ifeq ($(CONFIG_SOFT_FLOAT),y)
FFMPEG_CONFIGURE+= \ FFMPEG_CONFIGURE+= \
@ -450,9 +468,8 @@ ifeq ($(BUILD_VARIANT),full)
endif endif
FFMPEG_CONFIGURE+= \ FFMPEG_CONFIGURE+= \
--enable-gpl \ --enable-gpl \
\
$(if $(CONFIG_PACKAGE_lame-lib),--enable-libmp3lame) \ $(if $(CONFIG_PACKAGE_lame-lib),--enable-libmp3lame) \
$(if $(CONFIG_PACKAGE_libx264),--enable-libx264)
$(if $(CONFIG_PACKAGE_libx264),--enable-libx264 --enable-nonfree)
endif endif
endif endif
@ -573,7 +590,9 @@ ifeq ($(BUILD_VARIANT),mini)
--disable-everything \ --disable-everything \
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_MINI_DECODERS)) \ $(call FFMPEG_ENABLE,decoder,$(FFMPEG_MINI_DECODERS)) \
$(call FFMPEG_ENABLE,demuxer,$(FFMPEG_MINI_DEMUXERS)) \ $(call FFMPEG_ENABLE,demuxer,$(FFMPEG_MINI_DEMUXERS)) \
$(call FFMPEG_ENABLE,protocol,$(FFMPEG_MINI_PROTOCOLS))
$(call FFMPEG_ENABLE,protocol,$(FFMPEG_MINI_PROTOCOLS)) \
$(if $(CONFIG_BUILD_PATENTED), \
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_PATENTED_MINI_DECODERS)))
endif endif
ifneq ($(CONFIG_TARGET_x86),) ifneq ($(CONFIG_TARGET_x86),)


Loading…
Cancel
Save