mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-02 21:48:20 +03:00
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>
(cherry picked from commit 3b6fa452f6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
513 lines
12 KiB
Makefile
513 lines
12 KiB
Makefile
################################################################################
|
|
#
|
|
# ffmpeg
|
|
#
|
|
################################################################################
|
|
|
|
FFMPEG_VERSION = 3.3.1
|
|
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))
|