1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
Commit Graph

4699 Commits

Author SHA1 Message Date
James Almer
ad1d0a1a06 configure: add missing mdct15 dependency 2017-02-16 01:17:06 -03:00
James Almer
a50b330859 configure: remove unnecessary opus encoder dependency
audiodsp is not used by the encoder.
2017-02-16 01:15:59 -03:00
Rostislav Pehlivanov
5f47c85e5c opus: add a native Opus encoder
This marks the first time anyone has written an Opus encoder without
using any libopus code. The aim of the encoder is to prove how far
the format can go by writing the craziest encoder for it.

Right now the encoder's basic, it only supports CBR encoding, however
internally every single feature the CELT layer has is implemented
(except the pitch pre-filter which needs to work well with the rest of
whatever gets implemented). Psychoacoustic and rate control systems are
under development.

The encoder takes in frames of 120 samples and depending on the value of
opus_delay the plan is to use the extra buffered frames as lookahead.
Right now the encoder will pick the nearest largest legal frame size and
won't use the lookahead, but that'll change once there's a
psychoacoustic system.

Even though its a pretty basic encoder its already outperforming
any other native encoder FFmpeg has by a huge amount.

The PVQ search algorithm is faster and more accurate than libopus's
algorithm so the encoder's performance is close to that of libopus
at zero complexity (libopus has more SIMD).
The algorithm might be ported to libopus or other codecs using PVQ in
the future.

The encoder still has a few minor bugs, like desyncs at ultra low
bitrates (below 9kbps with 20ms frames).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-02-14 06:15:36 +00:00
Rostislav Pehlivanov
d2119f624d imdct15: rename to mdct15 and add a forward transform
Handles strides (needed for Opus transients), does pre-reindexing and folding
without needing a copy.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-02-14 06:15:36 +00:00
Diego Biurrun
c546147db0 configure: Correctly recurse in do_check_deps()
Fixes all sorts of configuration problems introducec by dad7a9c7c0
on non-Linux or non-vanilla configs. Also removes a line made redundant
in that commit.
2017-02-08 21:23:41 +01:00
Mark Thompson
d1acab8293 vaapi_encode: Add VP8 support
Fixes ticket #6116.

(cherry picked from commit ca62236a89)
2017-02-08 19:14:05 +00:00
Mark Thompson
3b95c7c17d vaapi_encode: Add MPEG-2 support
(cherry picked from commit ca6ae3b77a)
2017-02-08 19:14:05 +00:00
Diego Biurrun
dad7a9c7c0 configure: Rework dependency handling for conflicting components
This makes the feature more visible and obvious.
2017-02-07 19:06:04 +01:00
Diego Biurrun
9127ac5ebc configure: Add name parameter to require_pkg_config() helper function
This allows distinguishing between the internal variable name for
external libraries and the pkg-config package name. Having both
names available avoids special-casing outside the helper function
when the two identifiers do not match.
2017-02-07 19:06:02 +01:00
Hendrik Leppkes
a6cee50fa2 configure: use dashes instead of slashes in lib.exe invocation
This avoids issues with wrong parameter translation by msys on some systems,
and the Windows SDK tools accept both forms equally.
2017-02-06 19:47:20 +01:00
Diego Biurrun
71a49fe25f configure: Use cppflags check helper functions where appropriate 2017-02-06 15:43:56 +01:00
Diego Biurrun
0ce3761c78 configure: Add stdlib.h #include to CPPFLAGS check helper functions
This ensures that added CPPFLAGS are validated against libc headers.
2017-02-06 15:43:56 +01:00
Hendrik Leppkes
8b80feb9a7 configure: instruct MSVC 2015 to properly process UTF-8 string literals
Without the /UTF-8 switch, the MSVC compiler treats all files as in the
system codepage, instead of in UTF-8, which causes UTF-8 string literals
to be interpreted wrong.

This switch was only introduced in VS2015 Update 2, and any earlier
versions do not have an equivalent solution.

Fixes fate-sub-scc on MSVC 2015+
2017-02-04 11:21:35 +01:00
Hendrik Leppkes
647af1a0dd configure: add nologo switch to invocation of lib.exe
This suppresses the startup banner, which is consistent with all other calls
to the Windows SDK binaries.
2017-02-04 11:21:33 +01:00
Diego Biurrun
bcaedef118 configure: Add require_cpp_condition() convenience function
Simplifies checking for conditions in external library headers and
aborting if said conditions are not met.
2017-02-02 17:49:51 +01:00
Diego Biurrun
aba7fdcc8b configure: Add require_header() convenience function
Simplifies checking for external library headers and aborting if
the external library support was requested, but is not available.
2017-02-02 17:49:51 +01:00
Diego Biurrun
a97563c889 configure: Simplify libxcb check 2017-02-02 17:38:50 +01:00
Diego Biurrun
6698832079 configure: Add proper weak dependency of drawtext filter on libfontconfig 2017-02-02 14:35:44 +01:00
Diego Biurrun
acfa7a2178 configure: Drop weak dependencies on external libraries for webm muxer
Weak dependencies on external libraries do not obviate having to
explicitly enable these libraries, so the weak dependency does not
simplify the configure command line nor have any real effect.
2017-02-02 14:35:44 +01:00
Diego Biurrun
24d5680bbc configure: Simplify inline asm check with appropriate helper function 2017-02-02 14:34:05 +01:00
Diego Biurrun
b3825723dc configure: Merge compiler/libc/os hacks sections 2017-02-02 14:34:05 +01:00
Clément Bœsch
a0860b0a38 Merge commit '6f9e34baea4f6f484392e4e67f606a0835d07b73'
* commit '6f9e34baea4f6f484392e4e67f606a0835d07b73':
  arm: Check for support for the .fpu directive

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-02-02 11:22:04 +01:00
Anton Khirnov
fd9212f2ed Mark some arrays that never change as const. 2017-02-01 10:42:59 +01:00
Diego Biurrun
ab87af4163 configure: Add proper weak dependency of avformat on network 2017-01-31 15:50:20 +01:00
Mark Thompson
ca62236a89 vaapi_encode: Add VP8 support 2017-01-30 23:03:46 +00:00
Diego Biurrun
ba6a49e60b configure: Clean up temporary files on interrupt 2017-01-29 20:17:46 +01:00
Michał Górny
7848982207 configure: Place all temporary files in one separate directory
Place all temporary files within a single, quasi-atomically created
temporary directory rather than relying on unsafe 'mktemp -u'. This
prevents possible race conditions in case two parallel 'mktemp -u' calls
returned the same path. Additionally, it reduces TMPDIR pollution by
keeping all test files in a single subdirectory.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-01-29 20:17:46 +01:00
Mark Thompson
ca6ae3b77a vaapi_encode: Add MPEG-2 support 2017-01-29 13:28:31 +00:00
Diego Biurrun
2bbb5abd87 build: Map -Wall compiler flag to -W3 for MSVC and -Wextra to -W4
These are more appropriate warning level equivalents.
2017-01-26 11:53:02 +01:00
Diego Biurrun
6151e9128c build: Detect blocks C language extension and add it as VDA dependency
Newer versions of OS X use the blocks extension in VDA-related headers.
Some compilers, like current gcc, do not support the blocks extension
and fail to compile code using those headers.
2017-01-26 11:53:02 +01:00
Martin Storsjö
f96d07f4ec configure: Add quotes around a variable which might be empty
If we only have a target compiler but no host compiler, the $type
variable will be empty once.

(Currently we fail to do a cross build if no host compiler is available
due to using the host compiler for processing option lists though.
But despite that, this comparison in configure needs quotes.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-01-26 12:41:53 +02:00
Diego Biurrun
9bf262f4c6 configure: Use proper compiler-specific speed flags for hostcc 2017-01-25 13:25:02 +01:00
Diego Biurrun
bf38959a30 configure: Move optflags checks to a more sensible place 2017-01-25 12:01:02 +01:00
Dave Yeo
7ff018c1cb OS/2: Try to commit memory above 1GB
Signed-off-by: Dave Yeo <dave.r.yeo@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-01-22 15:21:33 +01:00
Anton Khirnov
adb54e59c1 vaapi_hevc: Convert to use the new VAAPI hwaccel code
(cherry picked from commit ea8b730d8e)
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-01-17 23:06:46 +00:00
Kacper Michajłow
2064a3b8df configure: Don't disable SSA Optimizer on MSVC v19.00.24218+.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-01-17 17:55:34 +01:00
Carl Eugen Hoyos
e664730271 configure: Fix standalone compilation of aiff and caf muxers. 2017-01-16 12:03:21 +01:00
James Almer
cf9ef83960 huffyuvencdsp: move shared functions to a new lossless_videoencdsp context
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
James Almer
30c1f27299 huffyuvencdsp: move functions only used by huffyuv from lossless_videodsp
Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
James Almer
5ac1dd8e23 lossless_videodsp: move shared functions from huffyuvdsp
Several codecs other than huffyuv use them.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-01-12 22:53:04 -03:00
Carl Eugen Hoyos
f3adb6f74b configure: Fix standalone compilation of the ljpeg encoder.
Also fixes compilation with --disable-error-resilience.
Fixes ticket #6060.
2017-01-05 11:44:04 +01:00
James Almer
d800d48fc6 configure: bump year
Happy new year!
2017-01-02 01:38:14 -03:00
Michael Niedermayer
af7a75cb51 configure: Check build with some header not just preprocessing for testing --std=c11
Fixes build failure on FreeBSD with gcc 4.7

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-12-31 13:11:37 +01:00
Diego Biurrun
ee164727dd configure: Fix typo in incdir variable written to config.sh
This fixes includedir lines in pkg-config files broken after 92db508307.
2016-12-30 14:30:52 +01:00
James Almer
6993bb4eb6 configure: make the check for stdatomic.h stricter
Old ICC verions don't advertise having a full C11 implementation but
may nonetheless include a feature-incomplete stdatomic.h header.

Fixes ticket #6049

Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-30 00:01:38 -03:00
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
Paul B Mahol
ea93052db3 avcodec/utvideodec: add SIMD support for median prediction for planar formats
~10% faster overall.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-23 17:44:01 +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
Paul B Mahol
6d09d6edbc avcodec/magicyuv: add 10 bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-12-20 13:32:15 +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
972c71e9cb lavc: add support for filtering packets before decoding 2016-12-14 09:06:45 +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
Wan-Teh Chang
3f55752cd5 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.hL61stP9.o /tmp/ffconf.YO6ZaSFG.c
clang: warning: argument unused during compilation: '-pie'
clang -fsanitize=thread -pie -Wl,--as-needed -Wl,-z,noexecstack -o /tmp/ffconf.W5c2e41l /tmp/ffconf.hL61stP9.o -lbz2 -pthread
/usr/bin/ld: /tmp/ffconf.hL61stP9.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: Michael Niedermayer <michael@niedermayer.cc>
2016-12-13 00:41:39 +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
Andreas Cadhalpun
8aad209c13 configure: fail if autodetect-libraries are requested but not found
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-12-10 19:29:37 +01:00
Andreas Cadhalpun
4c45566493 configure: enable autodetected libraries after option parsing
And only enable them, if they haven't been disabled.

This is needed for the following patch.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-12-10 19:29:37 +01:00
Andreas Cadhalpun
c50d591ce2 configure: enable sdl if sdl2 is enabled
sdl is supposed to be an alias, so it should have the same value.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-12-10 19:29:37 +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
Mark Thompson
db7271bff2 configure: Require bit_depth field for VAAPI VP9 decode hwaccel
libva versions from 1.6.0 to 1.6.2 do not include it, and therefore
cannot work with VP9 profile >= 2.

Fixes ticket #6003.
2016-12-10 13:53:30 +00: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
f55c0a64ae build: Drop stray golomb dependencies 2016-12-08 20:12:24 +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
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
James Almer
b52d3574d4 configure: check for strtoull on msvc
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-05 14:28:10 -03: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
Carl Eugen Hoyos
6c059bb2af configure: Fix standalone compilation of the rtp muxer.
Reported and suggested by: me at juneoh dot net

Fixes ticket #5989.
2016-12-03 12:54:50 +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
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
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
Anton Khirnov
41e891e89e Add a compat dummy stdatomic.h used when threading is disabled
Adapted from the code by Rémi Denis-Courmont from VLC

This merges libav commit eb34d40354.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-02 16:25:18 -03:00
Anton Khirnov
74b5f10862 Add a compat stdatomic.h implementation based on pthreads
Adapted from the code by Rémi Denis-Courmont from VLC

This merges libav commit f9a6a80e06.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-02 16:25:18 -03:00
Anton Khirnov
70faadc826 Add a compat stdatomic.h implementation based on suncc atomics
Adapted from the code by Rémi Denis-Courmont from VLC

This merges libav commit bb81ed4765.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-02 16:25:18 -03:00
Anton Khirnov
c91e72ed52 Add a compat stdatomic.h implementation based on windows atomics
Adapted from the code by Rémi Denis-Courmont from VLC

This merges libav commit c2755864af.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-02 16:25:17 -03:00
Anton Khirnov
3359eede8f Add a compat stdatomic.h implementation based on GCC atomics
Adapted from the code by Rémi Denis-Courmont from VLC

This merges libav commit 4e928ef340.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-12-02 16:25:17 -03: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
Clément Bœsch
5d7be07a8b lavfi/f_ebur128: relicense to LGPL
All copyright holders have agreed to the relicensing.

Approved-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Approved-by: David Sedacca <sedacca@comcast.net>
Approved-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Approved-by: Jean First <jeanfirst@gmail.com>
Approved-by: Kyle Swanson <k@ylo.ph>
Approved-by: Michael Niedermayer <michael@niedermayer.cc>
Approved-by: Nicolas George <george@nsup.org>
Approved-by: Paul B Mahol <onemda@gmail.com>
Approved-by: Thilo Borgmann <thilo.borgmann@mail.de>
2016-11-27 20:46:20 +01:00
Anton Khirnov
6a4e24280d 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.

This merges libav commit 13f5d2bf75.

Signed-off-by: Wan-Teh Chang <wtc@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-27 13:07:07 +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
James Almer
d1de725bee cuda: check for cuda.h when enabled
Fixes make checkheaders on systems without the Cuda Toolkit, which
was broken after the dynlink changes.

Signed-off-by: James Almer <jamrial@gmail.com>
2016-11-24 13:50:43 -03: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
Paul B Mahol
b96a6e2024 avfilter/vf_zscale: add support for some recent new additions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-11-23 19:02:20 +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
Timo Rothenpieler
8228b714be configure: cuda is no longer nonfree, enable and autodetect by default 2016-11-22 10:34:27 +01:00
Timo Rothenpieler
a66835bcb1 avcodec/nvenc: use dynamically loaded CUDA 2016-11-22 10:34:27 +01:00
Timo Rothenpieler
e6464a44ed avutil/hwcontext_cuda: use dynamically loaded CUDA 2016-11-22 10:34:27 +01:00
Hendrik Leppkes
99218ee30d configure: properly add dxva2 link dependencies
Fixes building with --disable-everything --enable-shared --enable-dxva2

The hwcontext DXVA2 implementation in avutil needs this library now, instead
of just the ffmpeg program.
2016-11-16 14:14:28 +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
Hendrik Leppkes
575e8d11f1 Merge commit '8c929037ec75fbe9f367e0a31ee34839e92de481'
* commit '8c929037ec75fbe9f367e0a31ee34839e92de481':
  build: Add a new component for H.264 parsing code

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-11-14 10:09:44 +01:00
Hendrik Leppkes
0539ff0e1b configure: use check_lib2 for cuda and cuvid
Fixes building for Windows x86 with MSVC using the link libraries distributed with the CUDA SDK.

check_lib2 is required here because it includes the header to get the full signature of the
function, including the stdcall calling convention and all of its arguments, which enables
the linker to determine the fully qualified object name and resolve it through the import
library, since the CUDA SDK libraries do not include un-qualified aliases.
2016-11-13 12:19:15 +01:00
Marton Balint
005d058f42 lavfi/loudnorm: add an internal libebur128 library
Also contains the following changes to the library:
- add ff_ prefix to functions
- remove cplusplus defines.
- add FF_ prefix to contants and some structs
- remove true peak calculation feature, since it uses its own resampler, and
  af_loudnorm does not need it.
- remove version info and some fprintf(stderr) functions
- convert to use av_malloc
- always use histogram mode for LRA calculation, otherwise LRA data is slowly
  consuming memory making af_loudnorm unfit for 24/7 operation. It also uses a
  BSD style linked list implementation which is probably not available on all
  platforms. So let's just remove the classic mode which not uses histogram.
- add ff_thread_once for calculating static histogram tables
- convert some functions to void which cannot fail
- remove intrinsics and some unused headers
- add support for planar audio
- remove channel / sample rate changer function, in ffmpeg usually we simply
  alloc a new context
- convert some static variables to defines
- declare static histogram variables as aligned
- convert some initalizations to mallocz
- add window size parameter to init function and remove window size setter
  function
- convert return codes to AVERROR
- fix indentation

Signed-off-by: Marton Balint <cus@passwd.hu>
2016-11-11 19:37:54 +01: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
Matt Oliver
d6f85ec270 avformat/avisynth.c: Use new safe dlopen code.
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2016-11-05 18:08:53 +11: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
Reynaldo H. Verdejo Pinochet
894e7ef9b4 configure: add '-uninstalled' to uninstalled .pc files
pkg-config(1) expects uninstalled pc files to follow the
blah-uninstalled.pc naming convention and the behavior
of the program is impacted by it. Without this fix
overriding PKGP_CONFIG_LIBDIR is required to ensure
uninstalled files are preferred (overkill), instead of
just adding pc-uninstalled/ to the utility's search path
by setting PKG_CONFIG_PATH accordingly.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
2016-10-30 20:50:11 -07:00
Philip Langdale
21b68cdbae avcodec/cuvid: Don't claim to decode h.263 (it doesn't)
Turns out cuvid doesn't support h.263.
2016-10-30 15:47:37 -07: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
James Almer
c4af48eb27 configure: add missing fork() dependency to http_multiclient example
Signed-off-by: James Almer <jamrial@gmail.com>
2016-10-29 14:45:29 -03:00
Andreas Cadhalpun
890eb3d7c4 configure: make sure LTO does not optimize out the test functions
Fixes trac ticket #5909

Bud-Id: https://bugs.gentoo.org/show_bug.cgi?id=598054
Acked-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-10-28 23:58:01 +02:00
James Almer
7400f64211 configure: remove missing incompatible_libav_abi references
Signed-off-by: James Almer <jamrial@gmail.com>
2016-10-26 17:36:07 -03:00
Michael Niedermayer
ded5c88528 configure: Remove --enable-incompatible-libav-abi from the help output
As it does not work anymore since 655b6dcb34

Found-by: carl
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-26 19:27:08 +02: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
Matt Oliver
798c6ecce5 openssl: Support version 1.1.0.
Fixes #5675

Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2016-10-21 15:16:44 +11:00
Matthieu Bouron
f62c54456d lavc: add mpeg4 mediacodec decoder 2016-10-19 10:50:52 +02:00
Matthieu Bouron
0f7fce87ea lavc: add vp8/vp9 mediacodec decoders 2016-10-19 10:50:12 +02:00
Diego Biurrun
1f821e5ad3 configure: Print warnings after all other output 2016-10-19 10:13:34 +02:00
Carl Eugen Hoyos
a2c5f5aacf configure: Enable pie for toolchain=hardened. 2016-10-14 14:56:40 +02:00
Andreas Cadhalpun
7a65aef00d configure: fix detection of libopenjpeg
Use check_lib2 to test the header together with the function. This is
necessary, because '-DOPJ_STATIC' changes what the included header does.

Also add '-DOPJ_STATIC' to CPPFLAGS, so that it isn't necessary to
hardcode this in libavcodec/libopenjpeg{dec,enc}.c.

Finally, check for non-static openjpeg 2.1, too.

Reviewed-by: Michael Bradshaw <mjbshaw@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-10-13 21:04:19 +02:00
Carl Eugen Hoyos
932bbfc5d8 configure: Use LDEXEFLAGS in check_ld().
Avoids detecting libraries that are not compatible with ldexeflags.
2016-10-12 22:59:10 +02:00
Zhou Xiaoyong
50eee357eb configure: loongson disable mipsfpu and mipsdsp optimizations
The optimizations of mipsdsp are not supported by all loongson cpu.
The optimizations of mipsfpu and mipsdspr2 maybe supported by 3A2000/3A3000/3A4000 but not tested yet.
Loongson only support mmi (loongSIMD) optimizations now.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-10 16:05:27 +02:00
Carl Eugen Hoyos
d2af93ac16 configure: Also try -mstack-alignment for clang,
Fixes stack alignment on x86_32 FreeBSD.
Fixes ticket #5231.
2016-10-06 18:44:29 +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
Rodger Combs
63fbeebf6e
configure: add linker export script support on Darwin
This isn't a "version script" in the usual sense, since it doesn't set symbol
versions directly. Instead, the version for the whole .dylib is set in the
linker flags, and we generate a list of symbol patterns to export. This allows
us to keep our local symbols (e.g. ff_*) local on the platform.

The Darwin linker's exported_symbols_list format is a bit different than the
one used by the GNU linker. It doesn't handle local symbols at all, since when
a list is provided, all unlisted symbols are local by default; thus, we remove
local sections. It doesn't handle per-version sections, so we remove the
headers and brackets. It expects symbols to be prefixed with an underscore.
It errors if a listed symbol with no wildcards is not present in the output,
so we append an asterisk to any symbol that doesn't already end in one.
2016-10-04 01:11:04 -05: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
Timo Rothenpieler
b7bd5b9794 configure: define posix source on cygwin
Some function definitions are missing without it,
for example sigaction.

Fixes ticket #5868
2016-10-02 17:28:30 +02:00
Josh de Kock
dc0f711459 lavc: remove libfaac wrapper
There is really no need for two aac wrappers, we already have
libfdk-aac which is better. Not to mention that faac doesn't
even support HEv1, or HEv2. It's also under a license which is
unusable for distribution, so it would only be useful to people
who will compile their own ffmpeg, only use it themselves (which
at that point should just use fdk-aac).

Signed-off-by: Josh de Kock <josh@itanimul.li>
2016-10-01 19:58:04 +01:00
James Almer
449f263f9f avcodec: add missing xmm/neon clobber test wrappers for the new encode API
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-10-01 14:08:50 -03:00
Clément Bœsch
1a9b4bc4c7 doc/examples: build http_multiclient example 2016-09-30 19:35:52 +02:00
Clément Bœsch
3d064b7802 build: remove references to inexistant avcodec example 2016-09-30 19:35:52 +02:00
Clément Bœsch
352ca77f8a build: fix avio_dir_cmd and avio_reading example dependencies 2016-09-30 19:35:51 +02:00
Clément Bœsch
44103c6001 build: sort EXAMPLE_LIST 2016-09-30 19:35:51 +02:00
Anton Khirnov
de2ae3c1fa lavc: add clobber tests for the new encoding/decoding API 2016-09-28 10:01:52 +02:00
Josh de Kock
21344991c0 lavd/sdl2: add sdl alias
This commit also adds an sdl alias for the configure script.
2016-09-25 18:08:06 +01:00
Josh de Kock
47ea6f5c9d lavd: drop SDL1 device and SDL1 support
Signed-off-by: Josh de Kock <josh@itanimul.li>
2016-09-24 16:52:40 +01:00
Marton Balint
9c5fab5ed4 ffplay: add SDL2 support
This commit also drops SDL1 support for ffplay.

Tested-by: James Almer <jamrial@gmail.com> (Windows, mingw-w64)
Signed-off-by: Josh de Kock <josh@itanimul.li>
2016-09-24 16:50:40 +01:00
Josh de Kock
3877e3d8a8 lavd: Add SDL2 output device
Acked-by: Michael Niedermayer
Signed-off-by: Josh de Kock <josh@itanimul.li>
2016-09-24 16:50:40 +01:00
Philip Langdale
843aff3cf7 cuvid: Use bundled headers
We need to remove the dynlink fanciness and replace it with normal
function prototypes and update the include paths and configure logic.

We don't need to explicitly check for PICPARMS now - they're going
to be there.
2016-09-22 18:38:51 -07:00
Matthieu Bouron
140da8e810 lavc: add hevc mediacodec decoder 2016-09-15 21:48:28 +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
Philip Langdale
1891dfe013 cuvid: Add hwaccels and decoders for remaining supported formats
cuvid/nvdecode also supports mpeg1, mpeg2, h.263/mpeg4-asp and mjpeg.

It should, in theory, also support wmv3 via the vc1 support, given
that vdpau supports this. However, it failed to play wmv3 samples
which vdpau played correctly, so I'm not sure what to make of it.

Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2016-09-06 21:35:42 +02: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
Matt Oliver
8b4e4bc620 configure: Remove fifo muxers dependency on pthreads.
Signed-off-by: Matt Oliver <protogonoi@gmail.com>
2016-09-04 17:07:22 +10:00
Diego Biurrun
4fb311c804 Drop memalign hack
It no longer serves a useful purpose.
2016-09-03 15:11:29 +02:00
Timo Rothenpieler
1c37be6e95 configure: check for dlsym as well
For some reason, when compiling with gcc-asan and a recent enough gcc
version(seen on 5.3+ so far), linking dlopen works without -ldl, but
dlsym fails with:

undefined reference to symbol 'dlsym@@GLIBC_2.2.5'

So this patchs checks for both dlopen and dlsym to work for determining
if -ldl is needed.
2016-09-03 00:09:39 +02:00
James Almer
f66abefefe configure: add missing check for LoadLibrary
Commit 2b1d316ff6 made nvenc depend on
LoadLibrary, but the availability of the latter was never checked.

This fixes nvenc on Windows platforms

Signed-off-by: James Almer <jamrial@gmail.com>
2016-09-01 13:50:38 -03:00
Timo Rothenpieler
2b1d316ff6 configure: fix ldl dependency for new nvenc encoder names 2016-08-31 20:16:00 +02:00
Timo Rothenpieler
20f0902010 configure: fix nvenc detection logic 2016-08-31 15:40:00 +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
Timo Rothenpieler
325e56479f avcodec/nvenc: include nvEncodeAPI v7 SDK header
As Nvidia has put the most recent Video Codec SDK behind a double
registration wall, of which one needs manual approval of a lenghty
application, bundling this header saves everyone trying to use NVENC
from that headache.

The header is still MIT licensed and thus fine to bundle with ffmpeg.

Not bundling this header would get ffmpeg stuck at SDK v6, which is
still freely available, holding back future development of the NVENC
encoder.
2016-08-28 16:47:54 +02:00
Paul B Mahol
0429ff4be6 avfilter: add vaguedenoiser filter 2016-08-26 23:17:19 +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
James Almer
69f7aad571 configure: force _WIN32_WINNT >= 0x0502 on mingw32 targets
Windows versions earlier than XP are not supported.

Should fix compilation of command line tools.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-08-22 17:32:16 -03:00
Jan Sebechlebsky
92b5f8fecd avformat: Add fifo pseudo-muxer
Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-08-22 22:03:37 +02:00
Maya Rashish
23f505bee0 configure: All sun4 machines are SPARCs, not just sun4u
Allow building on sun4v

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-15 02:11:03 +02:00
Carl Eugen Hoyos
79dc94a63b configure: Check for arc4random() header definition.
Fixes Cygwin compilation.
2016-08-13 12:14:01 +02:00
Shivraj Patil
6803a298f4 Support for MIPS cpu P6600
Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-05 11:41:46 +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ö
c5d326f551 Add an OpenH264 decoder wrapper
This is cherrypicked from libav, from commits
82b7525173 and
d0b1e6049b.

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-27 10:19:40 +03: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
James Almer
66408fce49 avformat: add an Ogg Video muxer
Signed-off-by: James Almer <jamrial@gmail.com>
2016-07-20 22:32:43 -03:00
James Almer
114870dbc9 configure: add support for new CPUs
Add new -march values for Intel and AMD CPUs introduced with GCC 5 and 6, and
improve SunCC flags accordingly.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-07-19 20:45:48 -03:00
James Almer
298f556af4 configure: add missing loongson dependencies
Signed-off-by: James Almer <jamrial@gmail.com>
2016-07-16 15:18:58 -03:00
Josh de Kock
d52dd768a3 lavf: add libopenmpt demuxer
Fixes ticket #5623

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-15 20:59:25 +02:00
James Almer
fd6dbc5385 Revert "configure: Enable GCC vectorization on ≥4.9 on x86"
This reverts commit cb8646af24.

This change has brough more issues than benefits, between compilation
time failures depending on flags used and code miscompilation causing
runtime crashes.

See the "[PATCH 2/2] configure: Enable GCC vectorization on ≥4.9"
thread in the ffmpeg-devel mailing list for the relevant discussion.
2016-07-09 16:00:06 -03:00
Matthieu Bouron
0f2654c9a3 lavc: add mediacodec hwaccel support 2016-07-08 17:02:37 +02:00
Hendrik Leppkes
1ad4471526 configure: disable the new optimizer in Visual Studio 2015 Update 3
Visual Studio 2015 Update 3 introduced a new SSA optimizer, however
it unfortunately causes miscompilations. Until it is fixed, the new
optimizations are disabled and should be re-checked on subsequent
compiler releases.

Fixes recent FATE failure of fate-lavf-pam on VS2015.
2016-07-03 23:37:44 +02:00
James Almer
293484fa5e avcodec: add missing xmm/neon clobber test wrappers for the new decode API
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-07-03 18:04:30 -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
Clément Bœsch
85a52a77ce Merge commit 'b2d5d6a7f20a255a5f3c9bf539cc507afd909ce5'
* commit 'b2d5d6a7f20a255a5f3c9bf539cc507afd909ce5':
  build: Only enable symbol reduction if the compiler does proper DCE

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-27 19:48:21 +02:00
Clément Bœsch
da7c918e80 Merge commit 'c5fd4b50610f62cbb3baa4f4108139363128dea1'
* commit 'c5fd4b50610f62cbb3baa4f4108139363128dea1':
  build: Simplify postprocessing of linker version script files

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-27 19:39:46 +02:00
Rick Kern
729d82abae configure: use c++98 for c++ files
Use c++98 standard instead of c++11.

Signed-off-by: Rick Kern <kernrj@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-26 23:25:23 +02:00
Marton Balint
8f9fa49bd8 avdevice/decklink: add support for setting duplex mode
This patch also makes BlackMagic drivers v10.6.1 a hard requirement.

Reviewed-by: Deti Fliegl <deti@fliegl.de>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-06-26 19:17:56 +02:00
Hendrik Leppkes
613ac3bf82 Merge commit '38392b2af815898b8716826c4e29d95c04fb2647'
* commit '38392b2af815898b8716826c4e29d95c04fb2647':
  hwcontext_vdpau: implement device creation

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-06-26 15:24:53 +02:00
Timo Rothenpieler
888a5c7947 avcodec/nvenc: Bring encoder names in line with other encoders 2016-06-25 23:05:17 +02:00
Clément Bœsch
63ac806ccb Merge commit '85ce9636e42dbda06b7d0af76a528a64b113fb3a'
* commit '85ce9636e42dbda06b7d0af76a528a64b113fb3a':
  configure: move the hardware accel libs' entries in the configure output

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-25 11:32:26 +02:00
Clément Bœsch
7bf52e12d4 Merge commit 'c0f4c7db9fea1c07d290a298b8db858b7ceed96d'
* commit 'c0f4c7db9fea1c07d290a298b8db858b7ceed96d':
  configure: move the hardware accel libs' entries in the help text

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-25 11:23:19 +02:00
Clément Bœsch
680ec710ec Merge commit '5e2203448ab4cc8ea1d933b87f1b39b009201044'
* commit '5e2203448ab4cc8ea1d933b87f1b39b009201044':
  configure: improve the help text for external libraries

Only merged the explanation paragraphs. The removal of "enable/disable"
and "[no]" would create too much inconsistency and might cause
confusion.

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-25 11:01:50 +02:00
Rick Kern
8db203a9dd lavd/decklink: Fix compile issue on OS X
Fixes #4124: Invalid argument '-std=c99' not allowed with 'C++/ObjC++'
C++ files fail to compile. This adds '-std=c++11' to CXX_FLAGS to fix.

Signed-off-by: Rick Kern <kernrj@gmail.com>
2016-06-24 21:59:43 -04:00
Derek Buitenhuis
a02766fb4d avcodec: remove libutvideo wrapper support
The 10-bit decoding support is available now in native decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-23 13:04:11 +02:00
Clément Bœsch
ea80e90e13 Merge commit '1f1ad8ace040a08edc2646ff638ca42a8828779f'
* commit '1f1ad8ace040a08edc2646ff638ca42a8828779f':
  configure: Document --enable-libfontconfig

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 22:03:18 +02:00
Anton Khirnov
ac7bfd6967 lavfi: add a QSV scaling filter 2016-06-21 19:53:38 +02:00
Clément Bœsch
ba5100ce84 Merge commit '74beead9bd596180bcac6108548fc0a86d8eb4ae'
* commit '74beead9bd596180bcac6108548fc0a86d8eb4ae':
  mmaldec: limit internal buffering

See 14a90c9ef0

The introduction of the MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS check is
merged.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 13:32:57 +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
Clément Bœsch
0ed14bba12 Merge commit '72da8d9bb24d1b1bf74c2f1108650c0da0054d2e'
* commit '72da8d9bb24d1b1bf74c2f1108650c0da0054d2e':
  h264_parser: remove the remaining dependencies on the h264 decoder

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-19 12:50:24 +02:00
Timo Rothenpieler
88e8aef9e9 avcodec/cuvid: add cuvid decoder 2016-06-10 16:31:23 +02:00
Michael Niedermayer
134cba728b Seperate x264rgb encoder and only enable when its actually supported
This avoids enabling and building the x264rgb encoder when its actually not supported and
thus would not work

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-05 17:04:29 +02:00
Paul B Mahol
77f9c4b7aa avocdec: add MagicYUV decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-05-31 22:37:09 +02: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