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>
This commit is contained in:
Ted Hess 2018-03-07 17:07:02 -05:00
parent a296a374c6
commit 1fa9c1bc5f
2 changed files with 46 additions and 35 deletions

View File

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

View File

@ -1,6 +1,6 @@
#
# Copyright (C) 2006-2017 OpenWrt.org
# 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.
# See /LICENSE for more information.
@ -9,12 +9,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=ffmpeg
PKG_VERSION:=3.2.9
PKG_VERSION:=3.2.10
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://ffmpeg.org/releases/
PKG_HASH:=1131d37890ed3dcbc3970452b200a56ceb36b73eaa51d1c23c770c90f928537f
PKG_HASH:=3c1626220c7b68ff6be7312559f77f3c65ff6809daf645d4470ac0189926bdbc
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Ian Leonard <antonlacon@gmail.com>
@ -120,11 +120,8 @@ FFMPEG_CUSTOM_PROTOCOLS:= \
file http icecast pipe rtp tcp udp
FFMPEG_MINI_DECODERS:= \
aac \
ac3 \
flac \
h264 \
hevc \
jpegls \
mp2 \
mp3 \
@ -134,10 +131,12 @@ FFMPEG_MINI_DECODERS:= \
mpegvideo \
opus \
png \
vc1 \
vorbis \
wmav1 \
wmav2 \
FFMPEG_PATENTED_MINI_DECODERS:= \
h264 \
hevc \
vc1 \
FFMPEG_MINI_DEMUXERS:= \
avi \
@ -154,8 +153,6 @@ FFMPEG_MINI_PROTOCOLS:= \
file
FFMPEG_AUDIO_DECODERS:= \
aac \
aac_latm \
ac3 \
adpcm_* \
alac \
@ -172,14 +169,9 @@ FFMPEG_AUDIO_DECODERS:= \
pcm_* \
vorbis \
wavpack \
wmav1 \
wmav2 \
wmalossless \
wmapro \
zlib \
FFMPEG_AUDIO_DEMUXERS:= \
aac \
ac3 \
aiff \
amr \
@ -204,13 +196,27 @@ FFMPEG_AUDIO_DEMUXERS:= \
FFMPEG_AUDIO_PROTOCOLS:= \
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_CONFIG_DEPENDS:= \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_ENCODER_%,$(FFMPEG_CUSTOM_ENCODERS)) \
$(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_PARSER_%,$(FFMPEG_CUSTOM_PARSERS)) \
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$(FFMPEG_CUSTOM_PROTOCOLS))
@ -226,6 +232,10 @@ endef
define Package/ffmpeg/Default/description
FFmpeg is a a software package that can record, convert and stream digital
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
@ -313,7 +323,6 @@ endef
define Package/libffmpeg-audio-dec
$(call Package/libffmpeg/Default)
TITLE+= (audio)
DEPENDS+= @BUILD_PATENTED
VARIANT:=audio-dec
endef
@ -327,7 +336,7 @@ endef
define Package/libffmpeg-full
$(call Package/libffmpeg/Default)
TITLE+= (full)
DEPENDS+= @BUILD_PATENTED +alsa-lib +PACKAGE_libopus:libopus
DEPENDS+= +alsa-lib +PACKAGE_libopus:libopus
ifeq ($(CONFIG_SOFT_FLOAT),y)
DEPENDS+= +PACKAGE_shine:shine
else
@ -347,7 +356,6 @@ endef
define Package/libffmpeg-mini
$(call Package/libffmpeg/Default)
TITLE+= (mini)
DEPENDS+= @BUILD_PATENTED
VARIANT:=mini
endef
@ -434,8 +442,18 @@ FFMPEG_CONFIGURE+= --disable-yasm
endif
ifeq ($(BUILD_VARIANT),full)
FFMPEG_DISABLE= \
$(foreach c, $(2), \
--disable-$(1)="$(c)" \
)
FFMPEG_CONFIGURE+= \
--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)
ifeq ($(CONFIG_SOFT_FLOAT),y)
FFMPEG_CONFIGURE+= \
@ -450,9 +468,8 @@ ifeq ($(BUILD_VARIANT),full)
endif
FFMPEG_CONFIGURE+= \
--enable-gpl \
\
$(if $(CONFIG_PACKAGE_lame-lib),--enable-libmp3lame) \
$(if $(CONFIG_PACKAGE_libx264),--enable-libx264)
$(if $(CONFIG_PACKAGE_libx264),--enable-libx264 --enable-nonfree)
endif
endif
@ -573,7 +590,9 @@ ifeq ($(BUILD_VARIANT),mini)
--disable-everything \
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_MINI_DECODERS)) \
$(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
ifneq ($(CONFIG_TARGET_x86),)