![Thomas Petazzoni](/assets/img/avatar_default.png)
m68k coldfire causes ffmpeg to think atomic intrinsics are available, so ffmpeg doesn't use its fallback on pthreads based atomic operations. However, m68k coldfire doesn't provide properly working sync 4 atomics, causing a build failure. Since fixing ffmpeg on m68k coldfire is not really important (who wants to use ffmpeg on such platform?), we simply disallow the selection of ffmpeg on this platform. Alternate approaches have been proposed in the past: - Bernd Kuhls proposed in http://patchwork.ozlabs.org/patch/766909/ to add a dependency on BR2_TOOLCHAIN_HAS_SYNC_4, but this is wrong because other architectures that lack sync 4 atomics, such as Sparc, can build ffmpeg perfectly fine thanks to the pthreads based fallback code. - Waldemar Brodkorb proposed in https://patchwork.ozlabs.org/patch/756664/ to add an explicit option in ffmpeg configure to force the use of pthreads based atomics. However, we believe that running ffmpeg on m68k coldfire is such an unlikely use case that it isn't worth carrying a patch for this. Fixes: http://autobuild.buildroot.net/results/b3e/b3eaaf6d73cd49f5919143aeaa5cbb4d15a7ccc3/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
184 lines
5 KiB
Plaintext
184 lines
5 KiB
Plaintext
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)
|
|
# 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.
|
|
default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze && !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_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
|