Also no longer disable run-time CPU detection for fpu targets except arm which is built for each variant (neon, vfp). This vastly improves performance on x86 which now supports building ASM code with yasm and makes use of a broad spectrum of extensions depending on their availability at run-time. In future, such differentiation should also be introduced for MIPS to at least conditionally enable the output of MIPS32r2 instructions as well as DSPr1 and DSPr2 if the target supports that dispite them having CONFIG_SOFT_FLOAT=y set. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
636 lines
14 KiB
Makefile
636 lines
14 KiB
Makefile
#
|
|
# Copyright (C) 2006-2016 OpenWrt.org
|
|
#
|
|
# 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:=2.8.7
|
|
PKG_RELEASE:=3
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
|
PKG_SOURCE_URL:=http://ffmpeg.org/releases/
|
|
PKG_MD5SUM:=7e5b1c98eedfc3a364fa8c4095deeae5
|
|
PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
|
|
|
|
PKG_LICENSE:=LGPL-2.1+ GPL-2+ LGPL-3
|
|
PKG_LICENSE_FILES:=COPYING.GPLv2 COPYING.GPLv3 COPYING.LGPLv2.1 COPYING.LGPLv3
|
|
|
|
FFMPEG_CUSTOM_ENCODERS:= \
|
|
ac3 \
|
|
jpegls \
|
|
mpeg1video \
|
|
mpeg2video \
|
|
mpeg4 \
|
|
pcm_s16be \
|
|
pcm_s16le \
|
|
png \
|
|
vorbis \
|
|
zlib \
|
|
|
|
FFMPEG_CUSTOM_DECODERS:= \
|
|
aac \
|
|
ac3 \
|
|
alac \
|
|
amrnb \
|
|
amrwb \
|
|
ape \
|
|
atrac3 \
|
|
flac \
|
|
gif \
|
|
h264 \
|
|
jpegls \
|
|
mp2 \
|
|
mp3 \
|
|
mpeg1video \
|
|
mpeg2video \
|
|
mpeg4 \
|
|
mpegvideo \
|
|
mpc7 \
|
|
mpc8 \
|
|
pcm_s16be \
|
|
pcm_s16le \
|
|
png \
|
|
vorbis \
|
|
wavpack \
|
|
wmav1 \
|
|
wmav2 \
|
|
zlib \
|
|
|
|
FFMPEG_CUSTOM_MUXERS:= \
|
|
ac3 \
|
|
ffm \
|
|
h264 \
|
|
mp3 \
|
|
mp4 \
|
|
mpeg1video \
|
|
mpeg2video \
|
|
mpegts \
|
|
ogg \
|
|
rtp \
|
|
|
|
FFMPEG_CUSTOM_DEMUXERS:= \
|
|
aac \
|
|
ac3 \
|
|
amr \
|
|
ape \
|
|
avi \
|
|
flac \
|
|
ffm \
|
|
h264 \
|
|
matroska \
|
|
mov \
|
|
mp3 \
|
|
mpegps \
|
|
mpegts \
|
|
mpegvideo \
|
|
mpc \
|
|
mpc8 \
|
|
ogg \
|
|
rm \
|
|
rtsp \
|
|
rtp \
|
|
sdp \
|
|
v4l2 \
|
|
wav \
|
|
wv \
|
|
|
|
FFMPEG_CUSTOM_PARSERS:= \
|
|
aac \
|
|
flac \
|
|
ac3 \
|
|
h264 \
|
|
mpegaudio \
|
|
mpeg4video \
|
|
mpegvideo \
|
|
|
|
FFMPEG_CUSTOM_PROTOCOLS:= \
|
|
file http icecast pipe rtp tcp udp
|
|
|
|
FFMPEG_MINI_DECODERS:= \
|
|
aac \
|
|
ac3 \
|
|
flac \
|
|
h264 \
|
|
jpegls \
|
|
mp3 \
|
|
mpeg1video \
|
|
mpeg2video \
|
|
mpeg4 \
|
|
mpegvideo \
|
|
png \
|
|
wmav1 \
|
|
wmav2 \
|
|
|
|
FFMPEG_MINI_DEMUXERS:= \
|
|
aac \
|
|
ac3 \
|
|
avi \
|
|
flac \
|
|
h264 \
|
|
matroska \
|
|
mov \
|
|
mp3 \
|
|
mpegts \
|
|
mpegvideo \
|
|
|
|
FFMPEG_MINI_PARSERS:= \
|
|
ac3 \
|
|
flac \
|
|
h264 \
|
|
mpeg4video \
|
|
mpegaudio \
|
|
|
|
FFMPEG_MINI_PROTOCOLS:= \
|
|
file \
|
|
|
|
FFMPEG_AUDIO_DECODERS:= \
|
|
aac \
|
|
aac_latm \
|
|
ac3 \
|
|
adpcm_* \
|
|
alac \
|
|
amrnb \
|
|
amrwb \
|
|
ape \
|
|
atrac3 \
|
|
flac \
|
|
mp2 \
|
|
mp3* \
|
|
mpc7 \
|
|
mpc8 \
|
|
opus \
|
|
pcm_* \
|
|
vorbis \
|
|
wavpack \
|
|
wmav1 \
|
|
wmav2 \
|
|
wmalossless \
|
|
wmapro \
|
|
zlib \
|
|
|
|
FFMPEG_AUDIO_DEMUXERS:= \
|
|
aac \
|
|
ac3 \
|
|
aiff \
|
|
amr \
|
|
ape \
|
|
avi \
|
|
flac \
|
|
ffm \
|
|
matroska \
|
|
mp3 \
|
|
mov \
|
|
mpc \
|
|
mpc8 \
|
|
mpegts \
|
|
ogg \
|
|
rm \
|
|
rtsp \
|
|
rtp \
|
|
sdp \
|
|
wav \
|
|
wv \
|
|
|
|
FFMPEG_AUDIO_PARSERS:= \
|
|
aac \
|
|
aac_latm \
|
|
ac3 \
|
|
flac \
|
|
mpegaudio \
|
|
opus \
|
|
|
|
FFMPEG_AUDIO_PROTOCOLS:= \
|
|
file http icecast rtp tcp udp
|
|
|
|
|
|
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_DEMUXER_%,$(FFMPEG_CUSTOM_DEMUXERS)) \
|
|
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PARSER_%,$(FFMPEG_CUSTOM_PARSERS)) \
|
|
$(patsubst %,CONFIG_FFMPEG_CUSTOM_PROTOCOL_%,$(FFMPEG_CUSTOM_PROTOCOLS))
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
|
|
define Package/ffmpeg/Default
|
|
TITLE:=FFmpeg
|
|
URL:=http://ffmpeg.mplayerhq.hu/
|
|
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.
|
|
endef
|
|
|
|
|
|
define Package/ffmpeg
|
|
$(call Package/ffmpeg/Default)
|
|
SECTION:=multimedia
|
|
CATEGORY:=Multimedia
|
|
TITLE+= program
|
|
DEPENDS+= +libpthread +libffmpeg-full
|
|
VARIANT:=full
|
|
endef
|
|
|
|
define Package/ffmpeg/description
|
|
$(call Package/ffmpeg/Default/description)
|
|
.
|
|
This package contains the FFmpeg command line tool.
|
|
endef
|
|
|
|
|
|
define Package/ffprobe
|
|
$(call Package/ffmpeg/Default)
|
|
SECTION:=multimedia
|
|
CATEGORY:=Multimedia
|
|
TITLE+= CLI media identifier
|
|
DEPENDS+= +libffmpeg-full
|
|
VARIANT:=full
|
|
endef
|
|
|
|
define Package/ffprobe/description
|
|
$(call Package/ffmpeg/Default/description)
|
|
.
|
|
This package contains the FFprobe command line tool.
|
|
endef
|
|
|
|
|
|
define Package/ffserver
|
|
$(call Package/ffserver/Default)
|
|
SECTION:=multimedia
|
|
CATEGORY:=Multimedia
|
|
TITLE+= streaming server
|
|
DEPENDS+= +libpthread +libffmpeg-full
|
|
VARIANT:=full
|
|
endef
|
|
|
|
define Package/ffserver/description
|
|
$(call Package/ffmpeg/Default/description)
|
|
.
|
|
This package contains the FFmpeg streaming server.
|
|
endef
|
|
|
|
define Package/libffmpeg/Default
|
|
$(call Package/ffmpeg/Default)
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE+= libraries
|
|
DEPENDS+= @BUILD_PATENTED @!TARGET_x86||YASM +libpthread +zlib +libbz2
|
|
PROVIDES:= libffmpeg
|
|
endef
|
|
|
|
|
|
define Package/libffmpeg-custom
|
|
$(call Package/libffmpeg/Default)
|
|
TITLE+= (custom)
|
|
DEPENDS+= +FFMPEG_CUSTOM_SELECT_libopus:libopus +FFMPEG_CUSTOM_SELECT_speex:libspeex \
|
|
+PACKAGE_libx264:libx264 +PACKAGE_lame-lib:lame-lib
|
|
|
|
VARIANT:=custom
|
|
MENU:=1
|
|
endef
|
|
|
|
define Package/libffmpeg-custom/config
|
|
source "$(SOURCE)/Config.in"
|
|
endef
|
|
|
|
define Package/libffmpeg-custom/description
|
|
$(call Package/ffmpeg/Default/description)
|
|
.
|
|
This package contains customized FFmpeg shared libraries.
|
|
endef
|
|
|
|
|
|
define Package/libffmpeg-audio-dec
|
|
$(call Package/libffmpeg/Default)
|
|
TITLE+= (audio)
|
|
DEPENDS+= +libspeex +libopus
|
|
VARIANT:=audio-dec
|
|
endef
|
|
|
|
define Package/libffmpeg-audio-dec/description
|
|
$(call Package/ffmpeg/Default/description)
|
|
.
|
|
This package contains FFmpeg shared libraries for audio decoding
|
|
endef
|
|
|
|
|
|
define Package/libffmpeg-full
|
|
$(call Package/libffmpeg/Default)
|
|
TITLE+= (full)
|
|
DEPENDS+= +alsa-lib +PACKAGE_libx264:libx264 +PACKAGE_lame-lib:lame-lib +libopus +libspeex
|
|
VARIANT:=full
|
|
endef
|
|
|
|
define Package/libffmpeg-full/description
|
|
$(call Package/ffmpeg/Default/description)
|
|
.
|
|
This package contains full-featured FFmpeg shared libraries.
|
|
endef
|
|
|
|
|
|
define Package/libffmpeg-mini
|
|
$(call Package/libffmpeg/Default)
|
|
TITLE+= (mini)
|
|
VARIANT:=mini
|
|
endef
|
|
|
|
define Package/libffmpeg-mini/description
|
|
$(call Package/ffmpeg/Default/description)
|
|
.
|
|
This package contains minimal-featured FFmpeg shared libraries.
|
|
endef
|
|
|
|
|
|
FFMPEG_CONFIGURE:= \
|
|
CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS) $(FPIC)" \
|
|
LDFLAGS="$(TARGET_LDFLAGS)" \
|
|
./configure \
|
|
--enable-cross-compile \
|
|
--cross-prefix="$(TARGET_CROSS)" \
|
|
--arch="$(ARCH)" \
|
|
--target-os=linux \
|
|
--prefix="/usr" \
|
|
--pkg-config="pkg-config" \
|
|
--enable-shared \
|
|
--enable-static \
|
|
--enable-small \
|
|
--enable-pthreads \
|
|
--enable-zlib \
|
|
--disable-doc \
|
|
--disable-debug \
|
|
\
|
|
--enable-gpl \
|
|
--enable-version3 \
|
|
\
|
|
--disable-dxva2 \
|
|
--disable-lzma \
|
|
--disable-vaapi \
|
|
--disable-vda \
|
|
--disable-vdpau \
|
|
--disable-outdevs
|
|
|
|
ifeq ($(CONFIG_SOFT_FLOAT),y)
|
|
FFMPEG_CONFIGURE += \
|
|
--disable-altivec \
|
|
--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-yasm \
|
|
--disable-inline-asm \
|
|
--disable-mips32r2 \
|
|
--disable-mipsdspr1 \
|
|
--disable-mipsdspr2 \
|
|
--disable-mipsfpu \
|
|
--disable-runtime-cpudetect
|
|
|
|
else ifneq ($(findstring arm,$(CONFIG_ARCH)),)
|
|
FFMPEG_CONFIGURE += \
|
|
--disable-runtime-cpudetect
|
|
|
|
endif
|
|
|
|
#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
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
FFMPEG_CONFIGURE+= \
|
|
--enable-libopus --enable-decoder=libopus \
|
|
--enable-libspeex --enable-decoder=libspeex \
|
|
$(if $(CONFIG_PACKAGE_libx264),--enable-libx264) \
|
|
$(if $(CONFIG_PACKAGE_lame-lib),--enable-libmp3lame)
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),custom)
|
|
|
|
FFMPEG_ENABLE= \
|
|
$(foreach c, $(2), \
|
|
$(if $($(3)_$(c)),--enable-$(1)="$(c)") \
|
|
)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
--disable-programs \
|
|
--disable-avfilter \
|
|
--disable-postproc \
|
|
--disable-swresample \
|
|
--disable-swscale \
|
|
--disable-everything \
|
|
$(call FFMPEG_ENABLE,encoder,$(FFMPEG_CUSTOM_ENCODERS),CONFIG_FFMPEG_CUSTOM_ENCODER) \
|
|
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_CUSTOM_DECODERS),CONFIG_FFMPEG_CUSTOM_DECODER) \
|
|
$(call FFMPEG_ENABLE,muxer,$(FFMPEG_CUSTOM_MUXERS),CONFIG_FFMPEG_CUSTOM_MUXER) \
|
|
$(call FFMPEG_ENABLE,demuxer,$(FFMPEG_CUSTOM_DEMUXERS),CONFIG_FFMPEG_CUSTOM_DEMUXER) \
|
|
$(call FFMPEG_ENABLE,parser,$(FFMPEG_CUSTOM_PARSERS),CONFIG_FFMPEG_CUSTOM_PARSER) \
|
|
$(call FFMPEG_ENABLE,protocol,$(FFMPEG_CUSTOM_PROTOCOLS),CONFIG_FFMPEG_CUSTOM_PROTOCOL) \
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_adpcm),y)
|
|
FFMPEG_CONFIGURE+= \
|
|
--enable-decoder=adpcm_ima_wav \
|
|
--enable-decoder=adpcm_ima_qt \
|
|
--enable-decoder=adpcm_ms \
|
|
|
|
endif
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_libopus),y)
|
|
FFMPEG_CONFIGURE+= \
|
|
--enable-libopus --enable-decoder=libopus
|
|
endif
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_speex),y)
|
|
FFMPEG_CONFIGURE+= \
|
|
--enable-libspeex --enable-decoder=libspeex
|
|
endif
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_x264),y)
|
|
FFMPEG_CONFIGURE+= \
|
|
--enable-libx264
|
|
endif
|
|
|
|
ifeq ($(CONFIG_FFMPEG_CUSTOM_SELECT_mp3lame),y)
|
|
FFMPEG_CONFIGURE+= \
|
|
--enable-libmp3lame
|
|
endif
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),audio-dec)
|
|
|
|
FFMPEG_ENABLE= \
|
|
$(foreach c, $(2), \
|
|
--enable-$(1)="$(c)" \
|
|
)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
--disable-programs \
|
|
--disable-avfilter \
|
|
--disable-postproc \
|
|
--disable-swresample \
|
|
--disable-swscale \
|
|
--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)) \
|
|
--enable-libspeex --enable-decoder=libspeex \
|
|
--disable-decoder=pcm_bluray,pcm_dvd \
|
|
|
|
endif
|
|
|
|
ifeq ($(BUILD_VARIANT),mini)
|
|
|
|
FFMPEG_ENABLE= \
|
|
$(foreach c, $(2), \
|
|
--enable-$(1)="$(c)" \
|
|
)
|
|
|
|
FFMPEG_CONFIGURE+= \
|
|
--disable-programs \
|
|
--disable-avdevice \
|
|
--disable-avfilter \
|
|
--disable-postproc \
|
|
--disable-swresample \
|
|
--disable-swscale \
|
|
--disable-everything \
|
|
$(call FFMPEG_ENABLE,decoder,$(FFMPEG_MINI_DECODERS)) \
|
|
$(call FFMPEG_ENABLE,demuxer,$(FFMPEG_MINI_DEMUXERS)) \
|
|
$(call FFMPEG_ENABLE,parser,$(FFMPEG_MINI_PARSERS)) \
|
|
$(call FFMPEG_ENABLE,protocol,$(FFMPEG_MINI_PROTOCOLS)) \
|
|
|
|
endif
|
|
|
|
ifneq ($(CONFIG_TARGET_x86),)
|
|
TARGET_CFLAGS += -fomit-frame-pointer
|
|
endif
|
|
|
|
define Build/Configure
|
|
( cd $(PKG_BUILD_DIR); $(FFMPEG_CONFIGURE) )
|
|
endef
|
|
|
|
define Build/Compile
|
|
$(MAKE) -C $(PKG_BUILD_DIR) \
|
|
DESTDIR="$(PKG_INSTALL_DIR)" \
|
|
all install
|
|
endef
|
|
|
|
define Build/InstallDev/custom
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avdevice,avformat,avutil} $(1)/usr/include/
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avformat,avutil}.{a,so*} $(1)/usr/lib/
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avdevice,avformat,avutil}.pc $(1)/usr/lib/pkgconfig/
|
|
endef
|
|
|
|
define Build/InstallDev/full
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avdevice,avfilter,avformat,avutil,postproc,swresample,swscale} $(1)/usr/include/
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avutil,postproc,swresample,swscale}.{a,so*} $(1)/usr/lib/
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avdevice,avfilter,avformat,avutil,postproc,swresample,swscale}.pc $(1)/usr/lib/pkgconfig/
|
|
endef
|
|
|
|
define Build/InstallDev/mini
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/include/lib{avcodec,avformat,avutil} $(1)/usr/include/
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avformat,avutil}.{a,so*} $(1)/usr/lib/
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/lib{avcodec,avformat,avutil}.pc $(1)/usr/lib/pkgconfig/
|
|
endef
|
|
|
|
Build/InstallDev/audio-dec = $(Build/InstallDev/custom)
|
|
|
|
# XXX: attempt at installing "best" dev files available
|
|
ifeq ($(BUILD_VARIANT),custom)
|
|
# XXX: only install "custom" dev files if -full & -mini are not selected
|
|
ifeq ($(CONFIG_PACKAGE_libffmpeg-full)$(CONFIG_PACKAGE_libffmpeg-mini),)
|
|
Build/InstallDev = $(Build/InstallDev/custom)
|
|
endif
|
|
endif
|
|
ifeq ($(BUILD_VARIANT),audio-dec)
|
|
# XXX: only install "audio-dec" dev files if -full & -mini are not selected
|
|
ifeq ($(CONFIG_PACKAGE_libffmpeg-full)$(CONFIG_PACKAGE_libffmpeg-mini),)
|
|
Build/InstallDev = $(Build/InstallDev/audio-dec)
|
|
endif
|
|
endif
|
|
ifeq ($(BUILD_VARIANT),full)
|
|
# XXX: always install "full" dev files if -full is selected
|
|
Build/InstallDev = $(Build/InstallDev/full)
|
|
endif
|
|
ifeq ($(BUILD_VARIANT),mini)
|
|
# XXX: only install "mini" dev files if -full is not selected
|
|
ifeq ($(CONFIG_PACKAGE_libffmpeg-full),)
|
|
Build/InstallDev = $(Build/InstallDev/mini)
|
|
endif
|
|
endif
|
|
|
|
define Package/ffmpeg/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ffmpeg $(1)/usr/bin/
|
|
endef
|
|
|
|
define Package/ffprobe/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ffprobe $(1)/usr/bin/
|
|
endef
|
|
|
|
define Package/ffserver/install
|
|
$(INSTALL_DIR) $(1)/usr/bin
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ffserver $(1)/usr/bin/
|
|
endef
|
|
|
|
define Package/libffmpeg-custom/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avformat,avutil}.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libffmpeg-full/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avdevice,avfilter,avformat,avutil,postproc,swresample,swscale}.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
define Package/libffmpeg-mini/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{avcodec,avformat,avutil}.so.* $(1)/usr/lib/
|
|
endef
|
|
|
|
Package/libffmpeg-audio-dec/install = $(Package/libffmpeg-custom/install)
|
|
|
|
$(eval $(call BuildPackage,ffmpeg))
|
|
$(eval $(call BuildPackage,ffprobe))
|
|
$(eval $(call BuildPackage,ffserver))
|
|
$(eval $(call BuildPackage,libffmpeg-audio-dec))
|
|
$(eval $(call BuildPackage,libffmpeg-full))
|
|
$(eval $(call BuildPackage,libffmpeg-mini))
|
|
ifneq ($(CONFIG_ALL),y)
|
|
$(eval $(call BuildPackage,libffmpeg-custom))
|
|
endif
|