-menu "Configuration"
- depends on PACKAGE_libffmpeg-custom
+if PACKAGE_libffmpeg-custom
config FFMPEG_CUSTOM_PATENTED
bool "Include patented codecs and technologies"
default BUILD_PATENTED
-comment "Profiles ---"
+comment "Profiles"
config FFMPEG_CUSTOM_FFSERVER_SUPPORT
bool "Include support for ffserver (FFmpeg streaming server)"
select FFMPEG_CUSTOM_DECODER_pcm_s16be
select FFMPEG_CUSTOM_DECODER_pcm_s16le
select FFMPEG_CUSTOM_SELECT_speex
+ select FFMPEG_CUSTOM_SELECT_libopus
select FFMPEG_CUSTOM_DECODER_vorbis
select FFMPEG_CUSTOM_DECODER_wavpack
select FFMPEG_CUSTOM_DECODER_wmav1
select FFMPEG_CUSTOM_PROTOCOL_tcp
select FFMPEG_CUSTOM_PROTOCOL_udp
-comment "External Libraries ---"
+comment "External Libraries"
+
+config FFMPEG_CUSTOM_SELECT_mp3lame
+ bool "MP3 LAME"
+ depends on FFMPEG_CUSTOM_PATENTED
+ select FFMPEG_CUSTOM_DECODER_mp3
+ select FFMPEG_CUSTOM_MUXER_mp3
+ select FFMPEG_CUSTOM_DEMUXER_mp3
config FFMPEG_CUSTOM_SELECT_libopus
bool "Opus"
config FFMPEG_CUSTOM_SELECT_speex
bool "Speex"
-comment "Encoders ---"
+config FFMPEG_CUSTOM_SELECT_x264
+ depends on FFMPEG_CUSTOM_PATENTED
+ bool "x264"
+ select FFMPEG_CUSTOM_DECODER_h264
+ select FFMPEG_CUSTOM_MUXER_h264
+ select FFMPEG_CUSTOM_DEMUXER_h264
+ select FFMPEG_CUSTOM_PARSER_h264
+
+comment "Encoders"
config FFMPEG_CUSTOM_ENCODER_ac3
bool "AC3"
config FFMPEG_CUSTOM_ENCODER_zlib
bool "Zlib"
-comment "Decoders ---"
+comment "Decoders"
config FFMPEG_CUSTOM_DECODER_aac
bool "AAC (Advanced Audio Coding)"
config FFMPEG_CUSTOM_DECODER_zlib
bool "Zlib"
-comment "Muxers ---"
+comment "Muxers"
config FFMPEG_CUSTOM_MUXER_ac3
bool "AC3"
config FFMPEG_CUSTOM_MUXER_rtp
bool "RTP"
-comment "Demuxers ---"
+comment "Demuxers"
config FFMPEG_CUSTOM_DEMUXER_aac
bool "AAC"
config FFMPEG_CUSTOM_DEMUXER_wv
bool "WV"
-comment "Parsers ---"
+comment "Parsers"
config FFMPEG_CUSTOM_PARSER_aac
bool "AAC (Advanced Audio Coding)"
config FFMPEG_CUSTOM_PARSER_opus
bool "Opus"
-comment "Protocols ---"
+comment "Protocols"
config FFMPEG_CUSTOM_PROTOCOL_file
bool "file:"
config FFMPEG_CUSTOM_PROTOCOL_udp
bool "udp:"
-endmenu
+endif
include $(TOPDIR)/rules.mk
PKG_NAME:=ffmpeg
-PKG_VERSION:=2.7.6
+PKG_VERSION:=2.8.7
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=http://ffmpeg.org/releases/
-PKG_MD5SUM:=578c88242872e58cf0db5f23faa4b2af
+PKG_MD5SUM:=7e5b1c98eedfc3a364fa8c4095deeae5
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
PKG_LICENSE:=LGPL-2.1+ GPL-2+ LGPL-3
This package contains the FFmpeg streaming server.
endef
-
define Package/libffmpeg/Default
$(call Package/ffmpeg/Default)
SECTION:=libs
CATEGORY:=Libraries
TITLE+= libraries
- DEPENDS+= +libpthread +zlib +libbz2
+ DEPENDS+= @BUILD_PATENTED +libpthread +zlib +libbz2
PROVIDES:= libffmpeg
endef
define Package/libffmpeg-custom
$(call Package/libffmpeg/Default)
TITLE+= (custom)
- DEPENDS+= @DEVEL @!ALL +libopus +libspeex
+ DEPENDS+= +FFMPEG_CUSTOM_SELECT_libopus:libopus +FFMPEG_CUSTOM_SELECT_speex:libspeex \
+ +FFMPEG_CUSTOM_SELECT_x264:libx264 +FFMPEG_CUSTOM_SELECT_mp3lame:lame-lib
VARIANT:=custom
MENU:=1
endef
define Package/libffmpeg-audio-dec
$(call Package/libffmpeg/Default)
TITLE+= (audio)
- DEPENDS+= @BUILD_PATENTED +libspeex
+ DEPENDS+= +libspeex +libopus
VARIANT:=audio-dec
endef
define Package/libffmpeg-full
$(call Package/libffmpeg/Default)
TITLE+= (full)
- DEPENDS+= @BUILD_PATENTED +alsa-lib
+ DEPENDS+= +alsa-lib +libx264 +lame-lib +libopus +libspeex
VARIANT:=full
endef
define Package/libffmpeg-mini
$(call Package/libffmpeg/Default)
TITLE+= (mini)
- DEPENDS+= @BUILD_PATENTED
VARIANT:=mini
endef
--disable-fma3 \
--disable-fma4 \
--disable-avx2 \
- --disable-vfp \
- --disable-neon \
- --disable-inline-asm \
--disable-yasm \
+ --disable-inline-asm \
--disable-mips32r2 \
--disable-mipsdspr1 \
--disable-mipsdspr2 \
--disable-vdpau \
--disable-outdevs
+
+#selectibly disable optimizations according to arch/cpu type
+ifneq ($(findstring arm,$(CONFIG_ARCH)),)
+ ifeq (,$(findstring vfp,$(CONFIG_TARGET_OPTIMIZATION)))
+ FFMPEG_CONFIGURE+= \
+ --disable-vfp
+ endif
+ ifeq (,$(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)))
+ FFMPEG_CONFIGURE+= \
+ --disable-neon
+ endif
+
+else ifneq ($(ARCH),aarch64)
+ FFMPEG_CONFIGURE+= \
+ --disable-vfp \
+ --disable-neon
+
+endif
+
+ifeq ($(BUILD_VARIANT),full)
+ FFMPEG_CONFIGURE+= \
+ --enable-libopus --enable-decoder=libopus \
+ --enable-libspeex --enable-decoder=libspeex \
+ --enable-libx264 \
+ --enable-libmp3lame
+endif
+
ifeq ($(BUILD_VARIANT),custom)
FFMPEG_ENABLE= \
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libopus),y)
FFMPEG_CONFIGURE+= \
- --enable-libopus --enable-decoder=libopus \
-
+ --enable-libopus --enable-decoder=libopus
endif
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_speex),y)
FFMPEG_CONFIGURE+= \
- --enable-libspeex --enable-decoder=libspeex \
+ --enable-libspeex --enable-decoder=libspeex
+endif
+
+ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_x264),y)
+ FFMPEG_CONFIGURE+= \
+ --enable-libx264 --enable-decoder=libx264
+endif
+ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_mp3lame),y)
+ FFMPEG_CONFIGURE+= \
+ --enable-libmp3lame --enable-encoder=mp3
endif
endif
$(eval $(call BuildPackage,ffmpeg))
$(eval $(call BuildPackage,ffprobe))
$(eval $(call BuildPackage,ffserver))
-$(eval $(call BuildPackage,libffmpeg-custom))
+$(eval $(call BuildPackage,libffmpeg-audio-dec))
$(eval $(call BuildPackage,libffmpeg-full))
$(eval $(call BuildPackage,libffmpeg-mini))
-$(eval $(call BuildPackage,libffmpeg-audio-dec))
+ifneq ($(CONFIG_ALL),y)
+ $(eval $(call BuildPackage,libffmpeg-custom))
+endif