Diego Biurrun
1818a640cf
build: Fix dependencies for alsa/jack/sndio support
...
These components should depend on the availability of the respective
libraries, not just on the availability of the respective headers.
2016-12-09 08:42:34 +01:00
Diego Biurrun
af451ac0de
configure: Drop redundant and partly bogus vaapi/vdpau header checks
...
These are taken care of more correctly by the library checks.
2016-12-09 08:42:08 +01:00
Diego Biurrun
892acc7010
configure: Fail if cuda was enabled and is not available
...
This is the standard behavior for external libraries.
2016-12-08 20:12:24 +01:00
Diego Biurrun
f55c0a64ae
build: Drop stray golomb dependencies
2016-12-08 20:12:24 +01:00
Diego Biurrun
fbec58daa2
build: Add an internal component for hevc_ps code
...
This allows expressing dependencies in a more correct way.
2016-12-08 20:12:23 +01:00
Diego Biurrun
6bd9590b33
build: Have old H.264/HEVC nvenc encoders select their new counterparts
...
This makes sense and takes care of missing build dependencies.
2016-12-07 12:13:23 +01:00
Wan-Teh Chang
f22da2cdf9
configure: add -fPIE instead of -pie to C flags for ThreadSanitizer
...
-pie was added to C flags for ThreadSanitizer in commit
19f251a288
. Under clang 3.8.0, the -pie
flag causes a compiler warning and a linker error when running configure
--toolchain=clang-tsan. Here is an excerpt from config.log:
clang ... -fsanitize=thread -pie -std=c11 -fomit-frame-pointer -pthread -c -o /tmp/ffconf.A8SsaoCF.o /tmp/ffconf.JdpujQlD.c
clang: warning: argument unused during compilation: '-pie'
clang -fsanitize=thread -pie -Wl,--as-needed -o /tmp/ffconf.2iYA4bsw /tmp/ffconf.A8SsaoCF.o -lm -lm -lbz2 -lz -pthread
/usr/bin/ld: /tmp/ffconf.A8SsaoCF.o: relocation R_X86_64_PC32 against undefined symbol `atan2f@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
clang: error: linker command failed with exit code 1 (use -v to see invocation)
To be conservative, I changed -pie to -fPIE. But the documentation seems
to imply just -fsanitize=thread is enough:
http://clang.llvm.org/docs/ThreadSanitizer.html
https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual
Signed-off-by: Wan-Teh Chang <wtc@google.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-12-06 20:34:25 +01:00
Diego Biurrun
404cb74793
configure: Pass CFLAGS_HEADERS through the right CFLAGS filter
...
The generic parameter names used for CFLAGS in configure must be filtered
for each compiler and replaced by the equivalent flag for that compiler.
2016-12-06 17:49:05 +01:00
Diego Biurrun
9265364bec
build: Separate avisynth and avxsynth support
...
This simplifies the code.
2016-12-06 17:49:05 +01:00
Diego Biurrun
3d6135eacf
configure: Simplify OMX check
2016-12-06 08:33:08 +01:00
Diego Biurrun
601f8dde13
configure: Move COMPONENT_LIST to the bottom of CONFIG_LIST
...
This ensures that dependencies are resolved correctly. COMPONENT_LIST
can contain parts that depend on previous entries of CONFIG_LIST.
2016-12-06 08:33:07 +01:00
Diego Biurrun
29d2e03ed9
configure: Simplify and fix avfoundation indev handling
...
Handle extralibs in the standard way, add missing pthreads dependency.
Also globally check for -fobj-arc with Objective-C compilers since
that option is useful for other Objective-C code as well.
2016-12-05 18:07:24 +01:00
Diego Biurrun
2a09644076
configure: Separate package name and version requirements in helper functions
...
The unadorned package name is needed to derive package-related variable names.
2016-12-05 16:37:55 +01:00
Diego Biurrun
ffb9025f39
configure: Simplify MMAL check
2016-12-05 16:15:40 +01:00
Diego Biurrun
660470cd62
build: Add missing audio_frame_queue dependency for libwavpack encoder
2016-12-05 16:13:05 +01:00
Diego Biurrun
e1dc5358af
build: Create a component for MPEG audio header decoding
...
Fixes standalone compilation of the libmp3lame encoder.
2016-12-05 16:13:05 +01:00
Diego Biurrun
6ef3360a38
configure: Add misssing qpeldsp dependency to mss2 decoder
2016-12-03 14:06:36 +01:00
Diego Biurrun
14bba44fb2
build: Drop support for configuring library name suffixes
...
It is of doubtful utility, adds complexity and no known users exist.
2016-12-03 09:15:01 +01:00
Diego Biurrun
1ea77aae92
configure: Drop bogus xcb_event variables
2016-12-03 09:15:01 +01:00
Diego Biurrun
3794062ab1
Remove Plan 9 support
...
Supporting the system was a nice joke for the 9 release, but it has
run its course. Nowadays Plan 9 receives no testing and has no
practical usefulness.
2016-12-03 09:15:01 +01:00
Diego Biurrun
4a1ef54398
build: Drop support for old versions of libdc1394
...
The libdc1394 API transition was finished close to a decade ago.
2016-12-03 09:15:01 +01:00
Diego Biurrun
2575b1917b
build: Add separate flags for checkheaders targets
...
This allows filtering out some warning noise.
2016-12-03 08:00:33 +01:00
Diego Biurrun
984e50e74b
build: Add -Wpedantic and -Wextra to extra warning flags
...
Also drop -Winline from set of warning flags as it only produces noise.
2016-12-03 08:00:33 +01:00
Luca Barbato
518a22471e
configure: Be more helpful when requiring options set
...
Be explicit about which options should be set.
2016-12-02 12:00:07 -05:00
Diego Biurrun
c21d78a903
configure: Integrate X11 checks into vaapi/vdpau checks
2016-11-29 19:14:07 +01:00
Diego Biurrun
8b56dbe743
configure: Do not add newlines in filter()/filter_out() functions
2016-11-29 18:43:05 +01:00
Diego Biurrun
9254344e11
configure: Move hardware-accelerated codec deps out of hwaccel section
2016-11-29 15:10:58 +01:00
Diego Biurrun
d4f2a681cb
configure: MMAL-related decoders should depend on, not select, mmal
2016-11-29 15:10:58 +01:00
Diego Biurrun
e122b12c88
build: Drop gcrypt support
...
GnuTLS in combination with gcrypt has been deprecated since 2010.
2016-11-25 18:46:53 +01:00
Diego Biurrun
bf2f748fc7
configure: Use correct libm linker flag during math function checks
2016-11-25 18:46:52 +01:00
Diego Biurrun
ce6f780bc6
configure: Add missing asyncts filter, movie filter, and output example deps
...
Also add a missing avcodec.h #include in the movie filter.
2016-11-25 18:45:27 +01:00
Diego Biurrun
04698d528c
configure: Use correct variable name in libsnappy test
2016-11-25 16:44:57 +01:00
Diego Biurrun
30f0d1b997
configure: Remove old avisynth support leftover
2016-11-25 16:44:56 +01:00
Diego Biurrun
5bcc6f76f1
configure: Disable warning C4703 with MSVC
...
This disables warnings about potentially uninitialized local pointer
variables. Disabling the warning is in line with what we do for gcc.
2016-11-24 16:14:33 +01:00
Anton Khirnov
1dd2b6c91c
examples/qsvdec: switch to the hwcontext API
...
The code now does not depend on VA and will work on windows as well.
2016-11-23 13:08:33 +01:00
Diego Biurrun
ffe89e1edb
configure: Move mjpeg_vaapi_decoder dependency declarations to the right place
2016-11-16 08:21:05 +01:00
Mark Thompson
e0b164576f
qsv: Add VP8 decoder
2016-11-14 19:38:20 +00:00
Mark Thompson
b6582b2927
qsv: Add VC-1 decoder
...
It uses the same code as the MPEG-2 decoder, so the file is renamed
to contain all "other" (that is, not H.26[45]) codecs.
2016-11-14 19:38:19 +00:00
Diego Biurrun
12db2832e4
libxvid: Require availability of mkstemp()
...
The replacement code uses tempnam(), which is dangerous.
Such a fringe feature is not worth the trouble.
2016-11-11 10:17:07 +01:00
Diego Biurrun
2dd464868c
configure: Move license checks directly after command line parsing
...
This will allow to error out immediately if incompatible options are
passed on the command line instead of running time-consuming tests.
2016-11-09 20:51:56 +01:00
Diego Biurrun
c78495d1cd
configure: Log name and parameters of all helper functions where it makes sense
2016-11-09 20:51:56 +01:00
Diego Biurrun
8a6e7a67cb
configure: Use check_cpp in CPP flags tests
2016-11-09 20:51:56 +01:00
Diego Biurrun
831005b230
configure: Log correct test name and use correct filter when testing objective C flags
2016-11-09 20:51:56 +01:00
Diego Biurrun
fe7bc1f16a
configure: Do not unconditionally check for (and enable) xlib
...
This avoids unnecessarily linking against xlib.
2016-11-09 20:51:55 +01:00
Diego Biurrun
d1a91ebe49
configure: Print list of enabled programs
...
Also drop a related and now redundant informative output line.
2016-11-09 20:51:55 +01:00
Diego Biurrun
576c9003ae
configure: Improve output wording
...
Also drop a redundant output line.
2016-11-09 20:51:55 +01:00
Diego Biurrun
59d2b00d20
configure: Add --quiet command line parameter to suppress informative output
2016-11-08 17:32:57 +01:00
Martin Storsjö
d1ef1b9eaa
configure: Silence lld-link when getting the version number
...
In recent lld-link versions, this command prints the version to
stdout, but also prints an error to stderr:
$ lld-link -flavor gnu --version
LLD 4.0.0 (trunk 285641)
lld-link: error: no input files
lld-link: error: target emulation unknown: -m or at least one .o file required
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-11-04 21:37:57 +02:00
Anton Khirnov
7b1f03477f
examples/avcodec: split the remaining two examples into separate files
2016-11-02 10:16:04 +01:00
Anton Khirnov
f5df897c4b
examples/avcodec: split audio decoding into a separate example
...
The four examples (audio/video encoding/decoding) are completely
independent so it makes little sense to have them all in one file.
2016-11-02 10:13:27 +01:00
Anton Khirnov
40aaa8dadf
examples/avcodec: split audio encoding into a separate example
...
The four examples (audio/video encoding/decoding) are completely
independent so it makes little sense to have them all in one file.
2016-11-02 10:11:46 +01:00
Luca Barbato
dad7514f9e
xcb: Add all the libraries to the link line explicitly
...
Avoid an underlink issue on recent distributions.
CC: libav-stable@libav.org
2016-10-30 21:55:03 +01:00
Matt Oliver
ee05079766
openssl: Support version 1.1.0.
...
Further simplifications by Martin Storsjö, to minimize the
diff.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-10-23 22:02:08 +03:00
Diego Biurrun
1f821e5ad3
configure: Print warnings after all other output
2016-10-19 10:13:34 +02:00
Diego Biurrun
20abcaa273
configure: #include stdint.h as part of libxavs test
...
Unfortunately the xavs.h API header is not self-sufficient and relies
on manual stdint.h inclusion by its users.
2016-10-06 12:32:34 +02:00
Anton Khirnov
5cc0057f49
lavu: remove the custom atomic API
...
It has been replaced by C11 stdatomic.h and is now unused.
2016-10-02 19:35:55 +02:00
Anton Khirnov
eb34d40354
Add a compat dummy stdatomic.h used when threading is disabled
...
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:57:56 +02:00
Anton Khirnov
f9a6a80e06
Add a compat stdatomic.h implementation based on pthreads
...
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:56:52 +02:00
Anton Khirnov
bb81ed4765
Add a compat stdatomic.h implementation based on suncc atomics
...
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:55:41 +02:00
Anton Khirnov
c2755864af
Add a compat stdatomic.h implementation based on windows atomics
...
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:54:28 +02:00
Anton Khirnov
4e928ef340
Add a compat stdatomic.h implementation based on GCC atomics
...
Adapted from the code by Rémi Denis-Courmont from VLC
2016-10-02 18:52:08 +02:00
Anton Khirnov
13f5d2bf75
configure: check for stdatomic.h
...
Since this is a C11 feature, it requires -std=c11.
Not actually used for anything yet, that will be added in the following
commits.
2016-10-02 18:49:14 +02:00
Anton Khirnov
de2ae3c1fa
lavc: add clobber tests for the new encoding/decoding API
2016-09-28 10:01:52 +02:00
Diego Biurrun
ab3554e1a7
configure: Drop check_lib()/require() in favor of check_lib2()/require2()
...
The latter can do everything the former can do, but also handle conditions
the former cannot like multiple header #includes and checking for headers
and functions in a single test program, which is necessary for certain
library tests.
2016-09-13 10:37:01 +02:00
Mark Thompson
a9fb134730
lavc/vaapi: Add VP8 decode hwaccel
2016-09-08 21:58:22 +01:00
Diego Biurrun
ec90305844
configure: Simplify clock_gettime() test
2016-09-06 18:13:00 +02:00
Diego Biurrun
0e5dde7399
configure: Fix --disable-pod2man / --disable-texi2html
2016-09-05 11:18:23 +02:00
Diego Biurrun
b8c2d407ef
configure: Simplify libopenjpeg check
2016-09-05 11:18:23 +02:00
Diego Biurrun
2610c9528f
configure: Move initial VAAPI check to a more sensible place
2016-09-05 11:18:23 +02:00
Diego Biurrun
4fb311c804
Drop memalign hack
...
It no longer serves a useful purpose.
2016-09-03 15:11:29 +02:00
Burt P
728e80cd2e
High Definition Compatible Digital (HDCD) decoder filter, using libhdcd
...
Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2016-08-29 19:09:59 +02:00
Diego Biurrun
46e3936fb0
configure: Set __MSVCRT_VERSION__to 0x0700 for MinGW
...
This exposes some required functionality like _aligned_malloc() in the
MinGW system headers, thus obviating the need for the memalign hack.
2016-08-23 17:07:26 +02:00
Anton Khirnov
89aebc5bcc
lavc: align the linesize to 32 when AVX is enabled
2016-08-03 10:56:53 +02:00
James Almer
63ac8e2d93
lavu: add LOCAL_ALIGNED_32
...
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:56:52 +02:00
Diego Biurrun
5ed4644d6d
x11grab: Rename internal component to "xcbgrab"
2016-07-29 19:03:10 +02:00
Diego Biurrun
4fef648d10
Remove the legacy X11 screen grabber
...
The XCB screen grabber is a drop-in replacement and not under GPL.
2016-07-29 19:03:10 +02:00
Diego Biurrun
ae90119c67
configure: Simplify license incompatibility check
2016-07-27 10:59:48 +02:00
Martin Storsjö
100fb0ddfd
configure: Allow detecting and using LLVM lld-link as linker for windows
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-26 09:29:49 +03:00
Martin Storsjö
79fb069299
configure: Move defines for controlling MSVCRT headers to the CRT detection section
...
This allows these flags to be automatically enabled for clang,
when using MSVCRT headers.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-26 09:29:38 +03:00
Martin Storsjö
56af0bc10f
configure: Check for strtoll and redirect to _strtoi64 in the msvcrt block
...
This allows doing this redirection, if building with clang against
old enough MSVC headers that lack strtoll (2012 and older).
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-26 09:29:24 +03:00
Anton Khirnov
ad71d3276f
lavfi: add a QSV deinterlacing filter
2016-07-22 19:08:13 +02:00
Anton Khirnov
b0f36a0043
avconv: stop using setpts for input framerate forced with -r
...
The setpts filter does not signal to the rest of the filtergraph that
the stream is CFR. Just generate the timestamps manually instead.
2016-07-22 19:08:12 +02:00
Martin Storsjö
6f9e34baea
arm: Check for support for the .fpu directive
...
When targeting COFF (windows), clang doesn't support this
directive (while binutils supports it for all targets).
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-21 12:52:10 +03:00
Diego Biurrun
8c929037ec
build: Add a new component for H.264 parsing code
...
This fixes standalone compilation of the SVQ3 decoder, which had
incomplete dependencies related to H.264 parsing.
2016-06-29 12:31:03 +02:00
Martin Storsjö
82b7525173
Add an OpenH264 decoder wrapper
...
While it is less featureful (and slower) than the built-in H264
decoder, one could potentially want to use it to take advantage
of the cisco patent license offer.
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-06-28 14:17:43 +03:00
Anton Khirnov
ac7bfd6967
lavfi: add a QSV scaling filter
2016-06-21 19:53:38 +02:00
Paul B Mahol
d78fd2fa21
Add MagicYUV decoder
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-20 15:45:51 -04:00
Diego Biurrun
b2d5d6a7f2
build: Only enable symbol reduction if the compiler does proper DCE
...
With compilers that do not support proper dead code elimination, like
Sun C 5.12, linking fails due to missing references to unavailable,
but also unused, symbols.
Bug-Id: 895
2016-05-30 14:59:43 +02:00
Diego Biurrun
c5fd4b5061
build: Simplify postprocessing of linker version script files
...
Generate the files in a single postprocessing step w/o intermediate files.
2016-05-29 16:49:16 +02:00
Anton Khirnov
38392b2af8
hwcontext_vdpau: implement device creation
2016-05-26 15:40:33 +02:00
Timo Rothenpieler
09522a303d
configure: Don't require nonfree for nvenc
...
As the nvEncodeApi.h header is now MIT licensed, this can be dropped.
The loaded CUDA and NVENC libraries are part of the nvidia driver, and
thus count as system libraries.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-05-19 14:17:03 +02:00
Anton Khirnov
6f58b4dc47
nvenc: drop the hard dependency on CUDA
...
The code needs only a few definitions from cuda.h, so define them
directly when CUDA is not enabled. CUDA is still required for accepting
HW frames as input.
Based on the code by Timo Rothenpieler <timo@rothenpieler.org>.
2016-05-19 14:17:03 +02:00
Anton Khirnov
2156c4c300
nvenc: write the VUI signal properties for HEVC
...
Bump the API version requirement to 6.
Based on a patch by Agatha Hu <ahu@nvidia.com>.
2016-05-19 14:17:03 +02:00
Anton Khirnov
85ce9636e4
configure: move the hardware accel libs' entries in the configure output
...
Print them as a subsection of the external library section, in line with
what is done for the help text in the previous commit.
2016-05-19 13:43:29 +02:00
Anton Khirnov
c0f4c7db9f
configure: move the hardware accel libs' entries in the help text
...
Group them in a subsection of the external library section. That should
make them easier to find and understand how they fit in the scheme of
things.
Also, rewrite the description text in a similar way as in the previous
commit.
2016-05-19 13:41:51 +02:00
Anton Khirnov
5e2203448a
configure: improve the help text for external libraries
...
Add a more accurate description of what the switches actually do (i.e.
allow using the given library, not enabling the corresponding
codecs etc.).
Replace the library descriptions, in many cases boilerplate text without
useful information, with a short summary of what the library does.
2016-05-19 13:40:53 +02:00
Diego Biurrun
1f1ad8ace0
configure: Document --enable-libfontconfig
2016-05-05 10:47:00 +02:00
Janne Grunau
c267413321
Revert "mmaldec: autodetect by default" since it breaks linking on systems without mmal libraries
...
This reverts commit 33ac77e850
.
2016-04-30 16:05:32 +02:00
wm4
33ac77e850
mmaldec: autodetect by default
...
It qualifies as a system library.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-30 08:34:10 +02:00
wm4
74beead9bd
mmaldec: limit internal buffering
...
This uses a new MMAL feature, which limits the number of extra frames
that can be buffered within the decoder. VIDEO_MAX_NUM_CALLBACKS can
be defined as positive or negative number. Positive numbers are
absolute, and can lead to deadlocks if the user underestimates the
number of required buffers. Negative numbers specify the number of extra
buffers, e.g. -1 means no extra buffer, (-1-N) means N extra buffers.
Set a gratuitous default of -11 (N=10). This is much lower than the
firmware default, which appears to be 96.
This is backwards compatible, but needs a symbol only present in newer
firmware headers. (It's an enum item, so it requires a check in
configure.)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-04-30 08:31:08 +02:00