buildroot/package/ffmpeg/Config.in
Bernd Kuhls 10954dfe68 package/ffmpeg: add optional dependency to libxcb
ffmpeg 3.3 added optional support for libxcb:
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/Changelog#l282

This patch ensures a reproducible build of libavdevice.so:

$ readelf -a output/target/usr/lib/libavdevice.so | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [libavfilter.so.7]
 0x0000000000000001 (NEEDED)             Shared library: [libavformat.so.58]
 0x0000000000000001 (NEEDED)             Shared library: [libavcodec.so.58]
 0x0000000000000001 (NEEDED)             Shared library: [libavutil.so.56]
 0x0000000000000001 (NEEDED)             Shared library: [libxcb.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libxcb-shm.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libxcb-shape.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libxcb-xfixes.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.0]

compared to

$ readelf -a output/target/usr/lib/libavdevice.so | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [libavfilter.so.7]
 0x0000000000000001 (NEEDED)             Shared library: [libavformat.so.58]
 0x0000000000000001 (NEEDED)             Shared library: [libavcodec.so.58]
 0x0000000000000001 (NEEDED)             Shared library: [libavutil.so.56]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.0]

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-04-11 10:57:12 +02:00

189 lines
5.1 KiB
Plaintext

config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS
bool
default y
# 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
# assertion fail in binutils
depends on !(BR2_or1k && !BR2_TOOLCHAIN_GCC_AT_LEAST_9)
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_XCBGRAB
bool "Build X11 screen grabbing"
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_LIBXCB
help
X11 screen grabbing using libxcb.
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