|
@ -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),) |
|
|