include $(TOPDIR)/rules.mk
PKG_NAME:=ffmpeg
-PKG_VERSION:=3.2.6
+PKG_VERSION:=3.2.8
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://ffmpeg.org/releases/
-PKG_MD5SUM:=7a35bd97bd7253305bf5c0af5f9dd3ce
-PKG_HASH:=3751cebb5c71a861288267769114d12b966a7703a686a325d90a93707f3a6d9f
+PKG_HASH:=42e7362692318afc666f14378dd445effa9a1b09787504a6ab5811fe442674cd
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>, \
Ian Leonard <antonlacon@gmail.com>
h264 \
hevc \
jpegls \
+ mp2 \
mp3 \
mpeg1video \
mpeg2video \
matroska \
mov \
mp3 \
+ mpegps \
mpegts \
mpegvideo \
ogg \
FFMPEG_MINI_PROTOCOLS:= \
- file \
+ file
FFMPEG_AUDIO_DECODERS:= \
aac \
wav \
wv \
-FFMPEG_AUDIO_PARSERS:= \
- aac \
- aac_latm \
- ac3 \
- flac \
- mpegaudio \
- opus \
-
FFMPEG_AUDIO_PROTOCOLS:= \
file http icecast rtp tcp udp
--disable-doc \
--disable-debug \
\
- --disable-dxva2 \
--disable-lzma \
--disable-vaapi \
- --disable-vda \
--disable-vdpau \
--disable-outdevs
ifeq ($(CONFIG_SOFT_FLOAT),y)
-FFMPEG_CONFIGURE += \
+FFMPEG_CONFIGURE+= \
--disable-altivec \
--disable-vsx \
--disable-power8 \
- --disable-amd3dnow \
- --disable-amd3dnowext \
- --disable-mmx \
- --disable-mmxext \
- --disable-sse \
- --disable-sse2 \
- --disable-sse3 \
- --disable-ssse3 \
- --disable-sse4 \
- --disable-sse42 \
- --disable-avx \
- --disable-xop \
- --disable-fma3 \
- --disable-fma4 \
- --disable-avx2 \
- --disable-aesni \
--disable-armv5te \
--disable-armv6 \
--disable-armv6t2 \
--disable-runtime-cpudetect
else ifneq ($(findstring arm,$(CONFIG_ARCH)),)
-FFMPEG_CONFIGURE += \
+FFMPEG_CONFIGURE+= \
--disable-runtime-cpudetect
# XXX: GitHub issue 3320 ppc cpu with fpu but no altivec (WNDR4700)
else ifneq ($(findstring powerpc,$(CONFIG_ARCH)),)
-FFMPEG_CONFIGURE += \
+FFMPEG_CONFIGURE+= \
--disable-altivec
endif
# selectively disable optimizations according to arch/cpu type
ifneq ($(findstring arm,$(CONFIG_ARCH)),)
+ FFMPEG_CONFIGURE+= --enable-lto
+
ifneq ($(findstring vfp,$(CONFIG_TARGET_OPTIMIZATION)),)
- FFMPEG_CONFIGURE+= \
- --enable-vfp
+ FFMPEG_CONFIGURE+= --enable-vfp
else
- FFMPEG_CONFIGURE+= \
- --disable-vfp
+ FFMPEG_CONFIGURE+= --disable-vfp
endif
ifneq ($(findstring neon,$(CONFIG_TARGET_OPTIMIZATION)),)
FFMPEG_CONFIGURE+= \
--enable-neon \
--enable-vfp
else
- FFMPEG_CONFIGURE+= \
- --disable-neon
+ FFMPEG_CONFIGURE+= --disable-neon
endif
+endif
+ifeq ($(ARCH),x86_64)
+ FFMPEG_CONFIGURE+= --enable-lto
endif
ifneq ($(CONFIG_YASM),y)
-FFMPEG_CONFIGURE += \
- --disable-yasm
+FFMPEG_CONFIGURE+= --disable-yasm
endif
ifeq ($(BUILD_VARIANT),full)
FFMPEG_CONFIGURE+= \
+ --enable-avresample \
$(if $(CONFIG_PACKAGE_libopus),--enable-libopus)
ifeq ($(CONFIG_SOFT_FLOAT),y)
FFMPEG_CONFIGURE+= \
\
$(if $(CONFIG_PACKAGE_shine),--enable-libshine)
else
+ ifeq ($(ARCH),x86_64)
+ FFMPEG_CONFIGURE+= --enable-hardcoded-tables
+ else
+ FFMPEG_CONFIGURE+= --enable-small
+ endif
FFMPEG_CONFIGURE+= \
- --enable-small \
--enable-gpl \
\
$(if $(CONFIG_PACKAGE_lame-lib),--enable-libmp3lame) \
--disable-everything \
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_AUDIO_DECODERS)) \
$(call FFMPEG_ENABLE,demuxer,$(FFMPEG_AUDIO_DEMUXERS)) \
- $(call FFMPEG_ENABLE,parser,$(FFMPEG_AUDIO_PARSERS)) \
$(call FFMPEG_ENABLE,protocol,$(FFMPEG_AUDIO_PROTOCOLS)) \
- --disable-decoder=pcm_bluray,pcm_dvd \
-
+ --disable-decoder=pcm_bluray,pcm_dvd
endif
ifeq ($(BUILD_VARIANT),mini)
endif
ifneq ($(CONFIG_TARGET_x86),)
- TARGET_CFLAGS += -fomit-frame-pointer
+ TARGET_CFLAGS+= -fomit-frame-pointer
endif
define Build/Configure
$(INSTALL_DIR) $(1)/usr/include
$(INSTALL_DIR) $(1)/usr/lib
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
- $(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avdevice,avfilter,avformat,avutil,swresample,swscale} $(1)/usr/include/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avutil,swresample,swscale}.{a,so*} $(1)/usr/lib/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avdevice,avfilter,avformat,avutil,swresample,swscale}.pc $(1)/usr/lib/pkgconfig/
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avdevice,avfilter,avformat,avresample,avutil,swresample,swscale} $(1)/usr/include/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avresample,avutil,swresample,swscale}.{a,so*} $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avdevice,avfilter,avformat,avresample,avutil,swresample,swscale}.pc $(1)/usr/lib/pkgconfig/
ifneq ($(CONFIG_SOFT_FLOAT),y)
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpostproc $(1)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.{a,so*} $(1)/usr/lib/
# Soft float is LGPL (no libpostproc); Hard float is GPL (yes libpostproc)
define Package/libffmpeg-full/install
$(INSTALL_DIR) $(1)/usr/lib
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avutil,swresample,swscale}.so.* $(1)/usr/lib/
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avresample,avutil,swresample,swscale}.so.* $(1)/usr/lib/
ifneq ($(CONFIG_SOFT_FLOAT),y)
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpostproc.so.* $(1)/usr/lib/
endif