Janne Grunau
35d1f726eb
fate: Add --ignore-tests configure option for omitting specific FATE tests
...
This can be useful to filter out noise in known-broken scenarios like
miscompilation by legacy compilers and similar.
Originally based on a patch by Diego Biurrun.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-12-28 18:10:32 +01:00
Diego Biurrun
8a34f36593
build: Add version numbers to "Requires" entries in pkg-config files
...
The (required) version numbers disappeared after edb4348732
.
2016-12-28 17:41:54 +01:00
Diego Biurrun
92db508307
build: Generate pkg-config files from Make and not from configure
...
This moves work from the configure to the Make stage where it can
be parallelized and ensures that pkgconfig files are updated when
library versions change.
Bug-Id: 449
2016-12-22 12:30:54 +01:00
Diego Biurrun
edb4348732
build: Store library version numbers in .version files
...
This moves work from the configure to the Make stage where it can
be parallelized and ensures that shared libraries are built with
the right version number in the filename.
2016-12-22 12:17:37 +01:00
Diego Biurrun
11a9320de5
build: Move build-system-related helper files to a separate subdirectory
...
This unclutters the top-level directory and groups related files together.
2016-12-22 11:07:50 +01:00
Anton Khirnov
ea8b730d8e
hevcdec: add a VAAPI hwaccel
...
Partially based on a patch by Timo Rothenpieler <timo@rothenpieler.org>.
Additional scaling list handling fix by Jun Zhao <mypopydev@gmail.com>.
2016-12-19 08:13:08 +01:00
Diego Biurrun
ee480790c7
build: Add name parameter to check_lib() helper function
...
This allows enabling or disabling the library-related variables from
within the function instead of doing it manually outside of it.
2016-12-16 13:39:22 +01:00
Diego Biurrun
1faffe7e8f
configure: Disentangle vfw32 and user32 lib handling
...
Check for and link against user32 instead, which also fixes
the missing dependency of dxva2 on user32 with MSVC.
2016-12-16 13:37:33 +01:00
Steve Lhomme
f7174d7ed0
configure: fix linking with MSVC when using --disable-optimizations
...
Without any optimization flags, MSVC does no dead code elimination (DCE) at
all, even for the most trivial cases. DCE is a prerequisite for building libav
correctly, otherwise there are undefined references to functions for other
architectures and disabled components.
-O1 is the minimal optimization flag for MSVC that does include DCE.
2016-12-16 10:03:21 +01:00
Steve Lhomme
ef9a711be7
configure: put d3d11 check in alphabetical order
2016-12-16 10:03:20 +01:00
Anton Khirnov
fa1749dd34
vp9: split superframes in the filtering stage before actual decoding
...
Significantly increases the efficiency of frame threading, since
individual frames in a superframe can now be decoded in parallel.
2016-12-14 09:06:45 +01:00
Anton Khirnov
972c71e9cb
lavc: add support for filtering packets before decoding
2016-12-14 09:06:45 +01:00
Diego Biurrun
fc368497f2
configure: Add missing dxva2 dependency for dxva2_lib
2016-12-12 00:15:38 +01:00
Diego Biurrun
f1248fae90
configure: Handle dxva2 optional components in the standard way
2016-12-11 09:27:40 +01:00
Mark Thompson
ade370a4d7
lavfi: Add VAAPI deinterlacer
2016-12-10 16:55:44 +00:00
Diego Biurrun
f8a1ead0ae
build: Add -D_XOPEN_SOURCE=600 to CPPFLAGS on Cygwin
...
This is required to make certain math defines visible on modern Cygwin.
2016-12-10 16:14:25 +01:00
Diego Biurrun
39fbcf8f76
configure: Fix _libs vs. _extralibs oversight
2016-12-10 15:06:34 +01:00
Diego Biurrun
be2d555c98
build: Use _extralibs variable names instead of _libs everywhere
...
This makes naming more consistent and simplifies extralibs-related changes.
2016-12-09 18:57:03 +01:00
Diego Biurrun
0507cd5b9f
build: Rename host_libs/HOSTLIBS variables to host_extralibs/HOSTEXTRALIBS
...
This is more in line with the other related variable names.
2016-12-09 18:51:23 +01:00
Diego Biurrun
a7101eb40e
configure: Simplify some library checks via check_lib()
2016-12-09 18:40:47 +01:00
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