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
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
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
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
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"
config FFMPEG_CUSTOM_DECODER_aac
bool "AAC (Advanced Audio Coding)"
- depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_SELECT_adpcm
bool "ADPCM (multiple types)"
config FFMPEG_CUSTOM_DECODER_mpeg4
bool "MPEG-4"
- depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_DECODER_mpc7
bool "Musepack 7"
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"
config FFMPEG_CUSTOM_PARSER_aac
bool "AAC (Advanced Audio Coding)"
- depends on FFMPEG_CUSTOM_PATENTED
config FFMPEG_CUSTOM_PARSER_ac3
bool "AC3"
#
-# 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.
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>
file http icecast pipe rtp tcp udp
FFMPEG_MINI_DECODERS:= \
- aac \
ac3 \
flac \
- h264 \
- hevc \
jpegls \
mp2 \
mp3 \
mpegvideo \
opus \
png \
- vc1 \
vorbis \
- wmav1 \
- wmav2 \
+
+FFMPEG_PATENTED_MINI_DECODERS:= \
+ h264 \
+ hevc \
+ vc1 \
FFMPEG_MINI_DEMUXERS:= \
avi \
file
FFMPEG_AUDIO_DECODERS:= \
- aac \
- aac_latm \
ac3 \
adpcm_* \
alac \
pcm_* \
vorbis \
wavpack \
- wmav1 \
- wmav2 \
- wmalossless \
- wmapro \
zlib \
FFMPEG_AUDIO_DEMUXERS:= \
- aac \
ac3 \
aiff \
amr \
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))
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
define Package/libffmpeg-audio-dec
$(call Package/libffmpeg/Default)
TITLE+= (audio)
- DEPENDS+= @BUILD_PATENTED
VARIANT:=audio-dec
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
define Package/libffmpeg-mini
$(call Package/libffmpeg/Default)
TITLE+= (mini)
- DEPENDS+= @BUILD_PATENTED
VARIANT:=mini
endef
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+= \
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
--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),)