3b6fa452f6
ffmpeg always enables support for nvenc/cuda even if their support libraries are not present: External libraries providing hardware acceleration: cuda cuvid nvenc [...] Enabled hwaccels: h264_cuvid mjpeg_cuvid mpeg2_cuvid vc1_cuvid vp9_cuvid hevc_cuvid mpeg1_cuvid mpeg4_cuvid vp8_cuvid This leads to a crash in freeswitch git master when transcoding video streams on a system without nvidia hardware: 2017-07-22 15:06:27.306760 [INFO] avcodec.c:1077 initializing encoder 352x288 2017-07-22 15:06:27.306760 [NOTICE] avcodec.c:828 NVENC HW CODEC ENABLED This patch disables the support of nvidia hardware acceleration support for now until the needed packages are added to buildroot. For details about this please refer to https://developer.nvidia.com/ffmpeg Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
513 lines
12 KiB
Makefile
513 lines
12 KiB
Makefile
################################################################################
|
|
#
|
|
# ffmpeg
|
|
#
|
|
################################################################################
|
|
|
|
FFMPEG_VERSION = 3.3.2
|
|
FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.xz
|
|
FFMPEG_SITE = http://ffmpeg.org/releases
|
|
FFMPEG_INSTALL_STAGING = YES
|
|
|
|
FFMPEG_LICENSE = LGPL-2.1+, libjpeg license
|
|
FFMPEG_LICENSE_FILES = LICENSE.md COPYING.LGPLv2.1
|
|
ifeq ($(BR2_PACKAGE_FFMPEG_GPL),y)
|
|
FFMPEG_LICENSE += and GPL-2.0+
|
|
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 \
|
|
--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-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
|
|
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 ifeq ($(BR2_aarch64),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
|
|
|
|
# Uses __atomic_fetch_add_4
|
|
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
|
|
FFMPEG_CONF_OPTS += --extra-libs=-latomic
|
|
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
|
|
|
|
define FFMPEG_REMOVE_EXAMPLE_SRC_FILES
|
|
rm -rf $(TARGET_DIR)/usr/share/ffmpeg/examples
|
|
endef
|
|
FFMPEG_POST_INSTALL_TARGET_HOOKS += FFMPEG_REMOVE_EXAMPLE_SRC_FILES
|
|
|
|
$(eval $(autotools-package))
|