update buildroot to 2017.02.11
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
Fix bfin compile error
|
||||
|
||||
See gcc bug report:
|
||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77311
|
||||
|
||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
|
||||
diff -Nur ffmpeg-2.8.7.orig/libavcodec/hevcdsp_template.c ffmpeg-2.8.7/libavcodec/hevcdsp_template.c
|
||||
--- ffmpeg-2.8.7.orig/libavcodec/hevcdsp_template.c 2016-03-29 04:25:16.000000000 +0200
|
||||
+++ ffmpeg-2.8.7/libavcodec/hevcdsp_template.c 2016-08-12 21:32:36.728178969 +0200
|
||||
@@ -1517,7 +1517,14 @@
|
||||
#define TQ2 pix[2 * xstride + 3 * ystride]
|
||||
#define TQ3 pix[3 * xstride + 3 * ystride]
|
||||
|
||||
-static void FUNC(hevc_loop_filter_luma)(uint8_t *_pix,
|
||||
+// Blackfin gcc 6.1.x fails with
|
||||
+// unable to find a register to spill in class CCREGS
|
||||
+#if defined(__bfin__)
|
||||
+#define disable_opt __attribute__ ((optimize("O1")))
|
||||
+#else
|
||||
+#define disable_opt
|
||||
+#endif
|
||||
+static void disable_opt FUNC(hevc_loop_filter_luma)(uint8_t *_pix,
|
||||
ptrdiff_t _xstride, ptrdiff_t _ystride,
|
||||
int beta, int *_tc,
|
||||
uint8_t *_no_p, uint8_t *_no_q)
|
||||
177
bsp/buildroot-2017.02.11/package/ffmpeg/Config.in
Normal file
177
bsp/buildroot-2017.02.11/package/ffmpeg/Config.in
Normal file
@@ -0,0 +1,177 @@
|
||||
config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
||||
bool
|
||||
# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
|
||||
# No support for ARMv7-M in the ARM assembly logic
|
||||
# Microblaze build affected by gcc PR71124 (infinite loop)
|
||||
default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze
|
||||
|
||||
menuconfig BR2_PACKAGE_FFMPEG
|
||||
bool "ffmpeg"
|
||||
depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
||||
help
|
||||
FFmpeg is a complete, cross-platform solution to record, convert
|
||||
and stream audio and video.
|
||||
|
||||
http://www.ffmpeg.org
|
||||
|
||||
if BR2_PACKAGE_FFMPEG
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_GPL
|
||||
bool "Enable GPL code"
|
||||
help
|
||||
allow use of GPL code, the resulting libs and binaries will
|
||||
be under GPL
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_NONFREE
|
||||
bool "Enable nonfree code"
|
||||
help
|
||||
allow use of nonfree code, the resulting libs and binaries
|
||||
will be unredistributable
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_FFMPEG
|
||||
bool "Build ffmpeg (the command line application)"
|
||||
default y
|
||||
help
|
||||
FFmpeg is a very fast video and audio converter.
|
||||
It can also grab from a live audio/video source.
|
||||
|
||||
It is not needed if you want to link the FFmpeg libraries
|
||||
to your application.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_FFPLAY
|
||||
bool "Build ffplay"
|
||||
select BR2_PACKAGE_FFMPEG_SWSCALE
|
||||
select BR2_PACKAGE_SDL2
|
||||
depends on !BR2_STATIC_LIBS # sdl2
|
||||
help
|
||||
FFplay is a very simple and portable media player using the
|
||||
FFmpeg libraries and the SDL library.
|
||||
It is mostly used as a testbed for the various FFmpeg APIs.
|
||||
|
||||
comment "ffplay needs a toolchain w/ dynamic library"
|
||||
depends on BR2_STATIC_LIBS
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_FFSERVER
|
||||
bool "Build ffserver"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
help
|
||||
FFserver is a streaming server for both audio and video.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_FFPROBE
|
||||
bool "Build ffprobe"
|
||||
help
|
||||
FFprobe is a utility to determine the audio and video
|
||||
characteristics of a container file.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_AVRESAMPLE
|
||||
bool "Build libavresample"
|
||||
help
|
||||
Avresample is a audio conversion library for compatibility.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_POSTPROC
|
||||
bool "Build libpostproc"
|
||||
depends on BR2_PACKAGE_FFMPEG_GPL
|
||||
help
|
||||
Postproc is a library of video postprocessing routines.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_SWSCALE
|
||||
bool "Build libswscale"
|
||||
help
|
||||
Swscale is a library of video scaling routines.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_ENCODERS
|
||||
string "Enabled encoders"
|
||||
default "all"
|
||||
help
|
||||
Space-separated list of encoders to build in FFmpeg,
|
||||
or "all" to build all of them.
|
||||
|
||||
Run ./configure --list-encoders in the ffmpeg sources
|
||||
directory to know the available options.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_DECODERS
|
||||
string "Enabled decoders"
|
||||
default "all"
|
||||
help
|
||||
Space-separated list of decoders to build in FFmpeg,
|
||||
or "all" to build all of them.
|
||||
|
||||
Run ./configure --list-decoders in the ffmpeg sources
|
||||
directory to know the available options.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_MUXERS
|
||||
string "Enabled muxers"
|
||||
default "all"
|
||||
help
|
||||
Space-separated list of muxers to build in FFmpeg,
|
||||
or "all" to build all of them.
|
||||
|
||||
Run ./configure --list-muxers in the ffmpeg sources
|
||||
directory to know the available options.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_DEMUXERS
|
||||
string "Enabled demuxers"
|
||||
default "all"
|
||||
help
|
||||
Space-separated list of demuxers to build in FFmpeg,
|
||||
or "all" to build all of them.
|
||||
|
||||
Run ./configure --list-demuxers in the ffmpeg sources
|
||||
directory to know the available options.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_PARSERS
|
||||
string "Enabled parsers"
|
||||
default "all"
|
||||
help
|
||||
Space-separated list of parsers to build in FFmpeg,
|
||||
or "all" to build all of them.
|
||||
|
||||
Run ./configure --list-parsers in the ffmpeg sources
|
||||
directory to know the available options.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_BSFS
|
||||
string "Enabled bitstreams"
|
||||
default "all"
|
||||
help
|
||||
Space-separated list of bitstream filters to build in FFmpeg,
|
||||
or "all" to build all of them.
|
||||
|
||||
Run ./configure --list-bsfs in the ffmpeg sources
|
||||
directory to know the available options.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_PROTOCOLS
|
||||
string "Enabled protocols"
|
||||
default "all"
|
||||
help
|
||||
Space-separated list of protocols to build in FFmpeg,
|
||||
or "all" to build all of them.
|
||||
|
||||
Run ./configure --list-protocols in the ffmpeg sources
|
||||
directory to know the available options.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_FILTERS
|
||||
string "Enabled filters"
|
||||
default "all"
|
||||
help
|
||||
Space-separated list of filters to build in FFmpeg,
|
||||
or "all" to build all of them.
|
||||
|
||||
Run ./configure --list-filters in the ffmpeg sources
|
||||
directory to know the available options.
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_INDEVS
|
||||
bool "Enable input devices"
|
||||
default y
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_OUTDEVS
|
||||
bool "Enable output devices"
|
||||
default y
|
||||
|
||||
config BR2_PACKAGE_FFMPEG_EXTRACONF
|
||||
string "Additional parameters for ./configure"
|
||||
default ""
|
||||
help
|
||||
Extra parameters that will be appended to FFmpeg's
|
||||
./configure commandline.
|
||||
|
||||
endif
|
||||
2
bsp/buildroot-2017.02.11/package/ffmpeg/ffmpeg.hash
Normal file
2
bsp/buildroot-2017.02.11/package/ffmpeg/ffmpeg.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 1131d37890ed3dcbc3970452b200a56ceb36b73eaa51d1c23c770c90f928537f ffmpeg-3.2.9.tar.xz
|
||||
508
bsp/buildroot-2017.02.11/package/ffmpeg/ffmpeg.mk
Normal file
508
bsp/buildroot-2017.02.11/package/ffmpeg/ffmpeg.mk
Normal file
@@ -0,0 +1,508 @@
|
||||
################################################################################
|
||||
#
|
||||
# ffmpeg
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FFMPEG_VERSION = 3.2.9
|
||||
FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz
|
||||
FFMPEG_SITE = http://ffmpeg.org/releases
|
||||
FFMPEG_INSTALL_STAGING = YES
|
||||
|
||||
FFMPEG_LICENSE = LGPLv2.1+, libjpeg license
|
||||
FFMPEG_LICENSE_FILES = LICENSE.md COPYING.LGPLv2.1
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y)
|
||||
FFMPEG_LICENSE += and GPLv2+
|
||||
FFMPEG_LICENSE_FILES += COPYING.GPLv2
|
||||
endif
|
||||
|
||||
FFMPEG_CONF_OPTS = \
|
||||
--prefix=/usr \
|
||||
--enable-avfilter \
|
||||
--disable-version3 \
|
||||
--enable-logging \
|
||||
--enable-optimizations \
|
||||
--disable-extra-warnings \
|
||||
--enable-avdevice \
|
||||
--enable-avcodec \
|
||||
--enable-avformat \
|
||||
--disable-x11grab \
|
||||
--enable-network \
|
||||
--disable-gray \
|
||||
--enable-swscale-alpha \
|
||||
--disable-small \
|
||||
--enable-dct \
|
||||
--enable-fft \
|
||||
--enable-mdct \
|
||||
--enable-rdft \
|
||||
--disable-crystalhd \
|
||||
--disable-dxva2 \
|
||||
--enable-runtime-cpudetect \
|
||||
--disable-hardcoded-tables \
|
||||
--disable-memalign-hack \
|
||||
--disable-mipsdsp \
|
||||
--disable-mipsdspr2 \
|
||||
--disable-msa \
|
||||
--enable-hwaccels \
|
||||
--disable-cuda \
|
||||
--disable-cuvid \
|
||||
--disable-nvenc \
|
||||
--disable-avisynth \
|
||||
--disable-frei0r \
|
||||
--disable-libopencore-amrnb \
|
||||
--disable-libopencore-amrwb \
|
||||
--disable-libcdio \
|
||||
--disable-libdc1394 \
|
||||
--disable-libgsm \
|
||||
--disable-libilbc \
|
||||
--disable-libnut \
|
||||
--disable-libopenjpeg \
|
||||
--disable-libschroedinger \
|
||||
--disable-libvo-amrwbenc \
|
||||
--disable-symver \
|
||||
--disable-doc
|
||||
|
||||
FFMPEG_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) host-pkgconf
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y)
|
||||
FFMPEG_CONF_OPTS += --enable-gpl
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-gpl
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_NONFREE),y)
|
||||
FFMPEG_CONF_OPTS += --enable-nonfree
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-nonfree
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_FFMPEG),y)
|
||||
FFMPEG_CONF_OPTS += --enable-ffmpeg
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-ffmpeg
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_FFPLAY),y)
|
||||
FFMPEG_DEPENDENCIES += sdl2
|
||||
FFMPEG_CONF_OPTS += --enable-ffplay
|
||||
FFMPEG_CONF_ENV += SDL_CONFIG=$(STAGING_DIR)/usr/bin/sdl2-config
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-ffplay
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_FFSERVER),y)
|
||||
FFMPEG_CONF_OPTS += --enable-ffserver
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-ffserver
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_AVRESAMPLE),y)
|
||||
FFMPEG_CONF_OPTS += --enable-avresample
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-avresample
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_FFPROBE),y)
|
||||
FFMPEG_CONF_OPTS += --enable-ffprobe
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-ffprobe
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_POSTPROC),y)
|
||||
FFMPEG_CONF_OPTS += --enable-postproc
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-postproc
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_SWSCALE),y)
|
||||
FFMPEG_CONF_OPTS += --enable-swscale
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-swscale
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_ENCODERS)),all)
|
||||
FFMPEG_CONF_OPTS += --disable-encoders \
|
||||
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_ENCODERS)),--enable-encoder=$(x))
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_DECODERS)),all)
|
||||
FFMPEG_CONF_OPTS += --disable-decoders \
|
||||
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_DECODERS)),--enable-decoder=$(x))
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_MUXERS)),all)
|
||||
FFMPEG_CONF_OPTS += --disable-muxers \
|
||||
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_MUXERS)),--enable-muxer=$(x))
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_DEMUXERS)),all)
|
||||
FFMPEG_CONF_OPTS += --disable-demuxers \
|
||||
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_DEMUXERS)),--enable-demuxer=$(x))
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PARSERS)),all)
|
||||
FFMPEG_CONF_OPTS += --disable-parsers \
|
||||
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_PARSERS)),--enable-parser=$(x))
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),all)
|
||||
FFMPEG_CONF_OPTS += --disable-bsfs \
|
||||
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_BSFS)),--enable-bsfs=$(x))
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),all)
|
||||
FFMPEG_CONF_OPTS += --disable-protocols \
|
||||
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_PROTOCOLS)),--enable-protocol=$(x))
|
||||
endif
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_PACKAGE_FFMPEG_FILTERS)),all)
|
||||
FFMPEG_CONF_OPTS += --disable-filters \
|
||||
$(foreach x,$(call qstrip,$(BR2_PACKAGE_FFMPEG_FILTERS)),--enable-filter=$(x))
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_INDEVS),y)
|
||||
FFMPEG_CONF_OPTS += --enable-indevs
|
||||
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
|
||||
FFMPEG_DEPENDENCIES += alsa-lib
|
||||
endif
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-indevs
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_OUTDEVS),y)
|
||||
FFMPEG_CONF_OPTS += --enable-outdevs
|
||||
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
|
||||
FFMPEG_DEPENDENCIES += alsa-lib
|
||||
endif
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-outdevs
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
|
||||
FFMPEG_CONF_OPTS += --enable-pthreads
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-pthreads
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_ZLIB),y)
|
||||
FFMPEG_CONF_OPTS += --enable-zlib
|
||||
FFMPEG_DEPENDENCIES += zlib
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-zlib
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_BZIP2),y)
|
||||
FFMPEG_CONF_OPTS += --enable-bzlib
|
||||
FFMPEG_DEPENDENCIES += bzip2
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-bzlib
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FDK_AAC)$(BR2_PACKAGE_FFMPEG_NONFREE),yy)
|
||||
FFMPEG_CONF_OPTS += --enable-libfdk-aac
|
||||
FFMPEG_DEPENDENCIES += fdk-aac
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libfdk-aac
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GNUTLS),y)
|
||||
FFMPEG_CONF_OPTS += --enable-gnutls --disable-openssl
|
||||
FFMPEG_DEPENDENCIES += gnutls
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-gnutls
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL),y)
|
||||
# openssl isn't license compatible with GPL
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_GPL)x$(BR2_PACKAGE_FFMPEG_NONFREE),yx)
|
||||
FFMPEG_CONF_OPTS += --disable-openssl
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --enable-openssl
|
||||
FFMPEG_DEPENDENCIES += openssl
|
||||
endif
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-openssl
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FFMPEG_GPL)$(BR2_PACKAGE_LIBEBUR128),yy)
|
||||
FFMPEG_DEPENDENCIES += libebur128
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBOPENH264),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libopenh264
|
||||
FFMPEG_DEPENDENCIES += libopenh264
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libopenh264
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBVORBIS),y)
|
||||
FFMPEG_DEPENDENCIES += libvorbis
|
||||
FFMPEG_CONF_OPTS += \
|
||||
--enable-libvorbis \
|
||||
--enable-muxer=ogg \
|
||||
--enable-encoder=libvorbis
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBVA),y)
|
||||
FFMPEG_CONF_OPTS += --enable-vaapi
|
||||
FFMPEG_DEPENDENCIES += libva
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-vaapi
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBVDPAU),y)
|
||||
FFMPEG_CONF_OPTS += --enable-vdpau
|
||||
FFMPEG_DEPENDENCIES += libvdpau
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-vdpau
|
||||
endif
|
||||
|
||||
# To avoid a circular dependency only use opencv if opencv itself does
|
||||
# not depend on ffmpeg.
|
||||
ifeq ($(BR2_PACKAGE_OPENCV_LIB_IMGPROC)x$(BR2_PACKAGE_OPENCV_WITH_FFMPEG),yx)
|
||||
FFMPEG_CONF_OPTS += --enable-libopencv
|
||||
FFMPEG_DEPENDENCIES += opencv
|
||||
else ifeq ($(BR2_PACKAGE_OPENCV3_LIB_IMGPROC)x$(BR2_PACKAGE_OPENCV3_WITH_FFMPEG),yx)
|
||||
FFMPEG_CONF_OPTS += --enable-libopencv
|
||||
FFMPEG_DEPENDENCIES += opencv3
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libopencv
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OPUS),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libopus
|
||||
FFMPEG_DEPENDENCIES += opus
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libopus
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBVPX),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libvpx
|
||||
FFMPEG_DEPENDENCIES += libvpx
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libvpx
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBASS),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libass
|
||||
FFMPEG_DEPENDENCIES += libass
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libass
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBBLURAY),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libbluray
|
||||
FFMPEG_DEPENDENCIES += libbluray
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libbluray
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_RTMPDUMP),y)
|
||||
FFMPEG_CONF_OPTS += --enable-librtmp
|
||||
FFMPEG_DEPENDENCIES += rtmpdump
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-librtmp
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LAME),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libmp3lame
|
||||
FFMPEG_DEPENDENCIES += lame
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libmp3lame
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBMODPLUG),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libmodplug
|
||||
FFMPEG_DEPENDENCIES += libmodplug
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libmodplug
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SPEEX),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libspeex
|
||||
FFMPEG_DEPENDENCIES += speex
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libspeex
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBTHEORA),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libtheora
|
||||
FFMPEG_DEPENDENCIES += libtheora
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libtheora
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WAVPACK),y)
|
||||
FFMPEG_CONF_OPTS += --enable-libwavpack
|
||||
FFMPEG_DEPENDENCIES += wavpack
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libwavpack
|
||||
endif
|
||||
|
||||
# ffmpeg freetype support require fenv.h which is only
|
||||
# available/working on glibc.
|
||||
# The microblaze variant doesn't provide the needed exceptions
|
||||
ifeq ($(BR2_PACKAGE_FREETYPE)$(BR2_TOOLCHAIN_USES_GLIBC)x$(BR2_microblaze),yyx)
|
||||
FFMPEG_CONF_OPTS += --enable-libfreetype
|
||||
FFMPEG_DEPENDENCIES += freetype
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libfreetype
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_FONTCONFIG),y)
|
||||
FFMPEG_CONF_OPTS += --enable-fontconfig
|
||||
FFMPEG_DEPENDENCIES += fontconfig
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-fontconfig
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_X264)$(BR2_PACKAGE_FFMPEG_GPL),yy)
|
||||
FFMPEG_CONF_OPTS += --enable-libx264
|
||||
FFMPEG_DEPENDENCIES += x264
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libx264
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_X265)$(BR2_PACKAGE_FFMPEG_GPL),yy)
|
||||
FFMPEG_CONF_OPTS += --enable-libx265
|
||||
FFMPEG_DEPENDENCIES += x265
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-libx265
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_MMX),y)
|
||||
FFMPEG_CONF_OPTS += --enable-yasm
|
||||
FFMPEG_DEPENDENCIES += host-yasm
|
||||
else
|
||||
ifeq ($(BR2_x86_i586),y)
|
||||
# Needed to work around a bug with gcc 5.x:
|
||||
# error: 'asm' operand has impossible constraints
|
||||
FFMPEG_CONF_OPTS += --disable-inline-asm
|
||||
endif
|
||||
FFMPEG_CONF_OPTS += --disable-yasm
|
||||
FFMPEG_CONF_OPTS += --disable-mmx
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_SSE),y)
|
||||
FFMPEG_CONF_OPTS += --enable-sse
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-sse
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
|
||||
FFMPEG_CONF_OPTS += --enable-sse2
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-sse2
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_SSE3),y)
|
||||
FFMPEG_CONF_OPTS += --enable-sse3
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-sse3
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_SSSE3),y)
|
||||
FFMPEG_CONF_OPTS += --enable-ssse3
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-ssse3
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_SSE4),y)
|
||||
FFMPEG_CONF_OPTS += --enable-sse4
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-sse4
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_SSE42),y)
|
||||
FFMPEG_CONF_OPTS += --enable-sse42
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-sse42
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_AVX),y)
|
||||
FFMPEG_CONF_OPTS += --enable-avx
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-avx
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_AVX2),y)
|
||||
FFMPEG_CONF_OPTS += --enable-avx2
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-avx2
|
||||
endif
|
||||
|
||||
# Explicitly disable everything that doesn't match for ARM
|
||||
# FFMPEG "autodetects" by compiling an extended instruction via AS
|
||||
# This works on compilers that aren't built for generic by default
|
||||
ifeq ($(BR2_ARM_CPU_ARMV4),y)
|
||||
FFMPEG_CONF_OPTS += --disable-armv5te
|
||||
endif
|
||||
ifeq ($(BR2_ARM_CPU_ARMV6)$(BR2_ARM_CPU_ARMV7A),y)
|
||||
FFMPEG_CONF_OPTS += --enable-armv6
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-armv6 --disable-armv6t2
|
||||
endif
|
||||
ifeq ($(BR2_ARM_CPU_HAS_VFPV2),y)
|
||||
FFMPEG_CONF_OPTS += --enable-vfp
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-vfp
|
||||
endif
|
||||
ifeq ($(BR2_ARM_CPU_HAS_NEON),y)
|
||||
FFMPEG_CONF_OPTS += --enable-neon
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-neon
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
|
||||
ifeq ($(BR2_MIPS_SOFT_FLOAT),y)
|
||||
FFMPEG_CONF_OPTS += --disable-mipsfpu
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --enable-mipsfpu
|
||||
endif
|
||||
endif # MIPS
|
||||
|
||||
ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
|
||||
FFMPEG_CONF_OPTS += --enable-altivec
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-altivec
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS),)
|
||||
FFMPEG_CONF_OPTS += --enable-pic
|
||||
else
|
||||
FFMPEG_CONF_OPTS += --disable-pic
|
||||
endif
|
||||
|
||||
# Default to --cpu=generic for MIPS architecture, in order to avoid a
|
||||
# warning from ffmpeg's configure script.
|
||||
ifeq ($(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el),y)
|
||||
FFMPEG_CONF_OPTS += --cpu=generic
|
||||
else ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),)
|
||||
FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_CPU)
|
||||
else ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
|
||||
FFMPEG_CONF_OPTS += --cpu=$(BR2_GCC_TARGET_ARCH)
|
||||
endif
|
||||
|
||||
|
||||
FFMPEG_CONF_OPTS += $(call qstrip,$(BR2_PACKAGE_FFMPEG_EXTRACONF))
|
||||
|
||||
# Override FFMPEG_CONFIGURE_CMDS: FFmpeg does not support --target and others
|
||||
define FFMPEG_CONFIGURE_CMDS
|
||||
(cd $(FFMPEG_SRCDIR) && rm -rf config.cache && \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(TARGET_CONFIGURE_ARGS) \
|
||||
$(FFMPEG_CONF_ENV) \
|
||||
./configure \
|
||||
--enable-cross-compile \
|
||||
--cross-prefix=$(TARGET_CROSS) \
|
||||
--sysroot=$(STAGING_DIR) \
|
||||
--host-cc="$(HOSTCC)" \
|
||||
--arch=$(BR2_ARCH) \
|
||||
--target-os="linux" \
|
||||
--disable-stripping \
|
||||
--pkg-config="$(PKG_CONFIG_HOST_BINARY)" \
|
||||
$(SHARED_STATIC_LIBS_OPTS) \
|
||||
$(FFMPEG_CONF_OPTS) \
|
||||
)
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
||||
Reference in New Issue
Block a user