3b38f440c0
With Microblaze Gcc version < 8.x the build hangs due to gcc bug 85180: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85180. To avoid this problem, until now, ffmpeg could not be selected on Microblaze. However, this problem only happens due to optimization, and can worked around by forcing -O0. So, when BR2_TOOLCHAIN_HAS_GCC_BUG_85180=y, this commit: - adds --disable-optimizations to FFMPEG_CONF_OPTS - passes -O0 to CFLAGS in FFMPEG_CONF_ENV Then, we remove 'depends on !BR2_microblaze' from Config.in to re-enable the package. Note that the comment was talking about gcc bug 71124, but this gcc bug is a duplicate of 85180. Since all Buildroot packages now use the reference to gcc bug 85180 and the option is named BR2_TOOLCHAIN_HAS_GCC_BUG_85180, we use this naming as well for ffmpeg. Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com> [Thomas: tweak CFLAGS logic, improve commit log] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
182 lines
4.9 KiB
Plaintext
182 lines
4.9 KiB
Plaintext
config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
|
|
bool
|
|
default y
|
|
# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW
|
|
depends on !(BR2_archs38 && BR2_TOOLCHAIN_USES_GLIBC)
|
|
# fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2
|
|
depends on !BR2_nios2
|
|
# No support for ARMv7-M in the ARM assembly logic
|
|
depends on !BR2_ARM_CPU_ARMV7M
|
|
# m68k coldfire causes a build failure, because the check for
|
|
# atomics (atomic_store) succeeds, which causes ffmpeg to
|
|
# think atomic intrinsics are available, while they are
|
|
# not. See https://patchwork.ozlabs.org/patch/756664/ and
|
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68467 for more
|
|
# details.
|
|
depends on !BR2_m68k_cf
|
|
|
|
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"
|
|
depends on !BR2_STATIC_LIBS # sdl2
|
|
select BR2_PACKAGE_FFMPEG_SWSCALE
|
|
select BR2_PACKAGE_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_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
|