1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

4945 Commits

Author SHA1 Message Date
Clément Bœsch
1cf23e3fdd build: cleanup audiotoolbox handling
*_at codecs only need the AudioToolbox framework, which is now checked
like the other Apple frameworks.
2017-09-08 18:55:19 +02:00
Clément Bœsch
496d0178b0 build: add --disable-coreimage autodetect switch 2017-09-08 18:55:19 +02:00
Clément Bœsch
97d8013582 build: add --disable-avfoundation autodetect switch 2017-09-08 18:55:19 +02:00
Clément Bœsch
b6dce64a8e build: add check_apple_framework()
This will be used in the following commits.
2017-09-08 18:55:19 +02:00
Clément Bœsch
f8519529cf lavfi/coreimage: reduce dependency scope from QuartzCore to CoreImage
What is required by the filter is CoreImage, there is no QuartzCore
usage. QuartzCore/CoreImage.h is simply an include to
CoreImage/CoreImage.h.
2017-09-08 18:55:19 +02:00
Clément Bœsch
b476e7720c build: fix objcc header check
$headers is a variable set in the context of other functions (we don't
use the "local" keyword in our scripts, so those variables are global).

Currently, when checking for AVFoundation/AVFoundation.h, the actual
enabled header is math.h.

Similarly, when testing for QuartzCore/CoreImage.h, the actual enabled
header is CoreGraphics/CoreGraphics.h.

This is completely broken and may be the reason why these checks are
made in random places.
2017-09-08 18:55:19 +02:00
Clément Bœsch
e0d56f097f checkasm: use perf API on Linux ARM*
On ARM platforms, accessing the PMU registers requires special user
access permissions. Since there is no other way to get accurate timers,
the current implementation of timers in FFmpeg rely on these registers.
Unfortunately, enabling user access to these registers on Linux is not
trivial, and generally involve compiling a random and unreliable github
kernel module, or patching somehow your kernel.

Such module is very unlikely to reach the upstream anytime soon. Quoting
Robin Murphin from ARM:

> Say you do give userspace direct access to the PMU; now run two or more
> programs at once that believe they can use the counters for their own
> "minimal-overhead" profiling. Have fun interpreting those results...
>
> And that's not even getting into the implications of scheduling across
> different CPUs, CPUidle, etc. where the PMU state is completely beyond
> userspace's control. In general, the plan to provide userspace with
> something which might happen to just about work in a few corner cases,
> but is meaningless, misleading or downright broken in all others, is to
> never do so.

As a result, the alternative is to use the Performance Monitoring Linux
API which makes use of these registers internally (assuming the PMU of
your ARM board is supported in the kernel, which is definitely not a
given...).

While the Linux API is obviously cross platform, it does have a
significant overhead which needs to be taken into account. As a result,
that mode is only weakly enabled on ARM platforms exclusively.

Note on the non flexibility of the implementation: the timers (native
FFmpeg vs Linux API) are selected at compilation time to prevent the
need of function calls, which would result in a negative impact on the
cycle counters.
2017-09-08 18:51:05 +02:00
Clément Bœsch
516ac7bcc7 build: consistent spacing between lists (cosmetics) 2017-09-05 12:45:25 +02:00
Clément Bœsch
ca7dc3ee90 lavd: drop QTKit indev
QTKit has been deprecated in favor of AVFoundation for years, and we
have an avfoundation input device.

See https://developer.apple.com/documentation/qtkit
2017-09-04 17:19:58 +02:00
Clément Bœsch
b4b1285fa1 lavd: drop disabled v4l code
This code is disabled since 2012. V4L1 was dropped from the kernel more
than 10 years ago.
2017-09-03 09:55:30 +02:00
Clément Bœsch
69e6877de8 build: drop unused sndio_h and asoundlib_h 2017-09-02 16:14:15 +02:00
Clément Bœsch
e090e750ba build: make sndio part of the autodetected libraries
sndio is already autodetected, this commit makes sure
--disable-autodetect actually disable it unless --enable-sndio is
specified.
2017-09-02 16:14:15 +02:00
Clément Bœsch
b7fbb3516a build: make jack part of the autodetected libraries
jack is already autodetected, this commit makes sure
--disable-autodetect actually disable it unless --enable-jack is
specified.
2017-09-02 16:14:15 +02:00
Clément Bœsch
b447629093 build: make alsa part of the autodetected libraries
alsa libs are already autodetected, this commit makes sure
--disable-autodetect actually disable it unless --enable-alsa is
specified.
2017-09-02 16:14:15 +02:00
Clément Bœsch
fe9c85e4e2 build: make sure a disabled autodetect still pick the libc's iconv 2017-09-02 16:14:15 +02:00
Clément Bœsch
e3c1219c7c build: add --disable-autodetect switch 2017-09-02 16:14:15 +02:00
Clément Bœsch
9ef5a2f5f3 build: simplify weak-enabling of autodetected libraries 2017-09-02 16:14:15 +02:00
Clément Bœsch
7e98c3cbb3 build: remove vda_framework from enable_weak
vda_framework is already pulled by the weakly enabled vda and
videotoolbox.
2017-09-02 16:14:15 +02:00
Clément Bœsch
353c2e384c build: replace use of HAVE_SDL2 with existing CONFIG_SDL2
There is no need for duplication.
2017-09-02 16:14:15 +02:00
Clément Bœsch
b802971d6d build: treat sdl2 like other autodetected libraries 2017-09-02 16:14:15 +02:00
Clément Bœsch
778fa6350e build: isolate sdl-to-sdl2 aliasing
This simplifies incoming SDL related changes by removing potential
mismatching states of sdl and sdl2 variables. Since a component can have
all kind of states (such as unset, enabled, disabled or requested),
keeping these variables in sync manually in random places is not robust.
2017-09-02 16:14:15 +02:00
Clément Bœsch
72655616d9 build: treat securetransport and schannel like other autodetected libraries 2017-09-02 16:14:15 +02:00
Clément Bœsch
1c08ff08ad build: treat libxcb like other autodetected libraries 2017-09-02 16:14:15 +02:00
Clément Bœsch
c9075d2c65 build: treat iconv like other autodetected libraries 2017-09-02 16:14:15 +02:00
Clément Bœsch
55fdfc88b8 build: treat crystalhd like other hwaccels 2017-09-02 16:14:15 +02:00
Clément Bœsch
e70e2a7abd build: group z libs with other autodetected libraries 2017-09-02 16:14:15 +02:00
Martin Storsjö
accb06120c configure: Use dllexport/dllimport for data symbols across DLLs with mingw
This avoids having to use pseudo relocations.

The version script used for exporting functions is skipped as soon
as the set of object files contains symbols marked with dllexport,
therefore we need to use makedef to produce the full list of symbols
to be exported.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-08-31 14:22:22 +03:00
Martin Storsjö
e41daa6246 Remove support for building for mingw32ce (Windows CE)
The toolchain for this target is unmaintained since many years.

While it has been continuously build tested on fate, it hasn't
actually been tested at runtime since many, many years (and back
then, only a few codecs in libavcodec were tested).

So far, keeping support for it has been mostly effortless, but
the compiler does seem to have issues with dllimported data symbols,
ending up as internal compiler errors in some cases. Instead of
jumping through further hoops to work around that, just remove the
target.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-08-31 14:21:08 +03:00
Ashish Singh
1dc33c1237 configure: require pkg-config for libvmaf
This patch makes the libvmaf filter use pkg-config to detect
and link to libvmaf.

Signed-off-by: Ashish Singh <ashk43712@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-08-30 09:19:16 -04:00
Timo Rothenpieler
1ac03c8dc0 configure: add support for libnpp* from cuda sdk 9
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-08-30 11:03:18 +02:00
Maksym Veremeyenko
2634927fe3 lavd: implement NewTek NDI input/output device support
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-08-27 18:07:50 +02:00
Martin Vignali
435dd2ee4e configure: add avx2 enabled log
Signed-off-by: James Almer <jamrial@gmail.com>
2017-08-26 20:00:30 -03:00
Martin Storsjö
29ba1e6076 configure: Include d3d11va_extralibs in libavutil
This fixes shared WinRT/UWP builds with d3d11va enabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-08-25 09:22:42 +03:00
Mark Thompson
b78c30d7ec lavc: Add mpeg2_metadata bitstream filter 2017-08-20 15:14:33 +01:00
Mark Thompson
2bc9ba8d3c lavc: Add coded bitstream read/write support for MPEG-2
Also enable MPEG-2 support in the trace_headers filter.
2017-08-20 13:59:17 +01:00
Mark Thompson
ac12486714 vaapi_h265: Convert to use coded bitstream infrastructure
Also improves the metadata and generally makes the configuration
a bit cleaner.
2017-08-13 17:55:02 +01:00
Mark Thompson
7a4fac5e91 vaapi_h264: Convert to use coded bitstream infrastructure 2017-08-13 17:55:02 +01:00
Mark Thompson
b31a9eae02 lavc: Add hevc_metadata bitstream filter
This is able to modify some header metadata found in the VPS/SPS/VUI,
and can also add/remove AUDs.
2017-08-13 17:55:02 +01:00
Mark Thompson
e6874bc3af lavc: Add h264_redundant_pps bitstream filter
This applies a specific fixup to some Bluray streams which contain
redundant PPSs modifying irrelevant parameters of the stream which
confuse other transformations which require correct extradata.

A new single global PPS is created, and all of the redundant PPSs
within the stream are removed.
2017-08-13 17:54:59 +01:00
Mark Thompson
9e93001b61 lavc: Add h264_metadata bitstream filter
This is able to modify some header metadata found in the SPS/VUI,
and can also add/remove AUDs and insert user data in SEI NAL units.
2017-08-13 17:48:49 +01:00
Mark Thompson
f11d8a5e8b lavc: Add trace_headers bitstream filter
Supports all streams that the coded bitstream infrastructure does
(currently H.264 and H.265).
2017-08-12 22:17:20 +01:00
Mark Thompson
867381b8b5 lavc: Add coded bitstream read/write support for H.265 2017-08-12 22:17:20 +01:00
Mark Thompson
acf06f4544 lavc: Add coded bitstream read/write support for H.264 2017-08-12 22:17:20 +01:00
Mark Thompson
18f1706f33 lavc: Add coded bitstream read/write API 2017-08-12 22:17:20 +01:00
Martin Storsjö
9042402ec7 d3d11va: Check WINAPI_FAMILY instead of HAVE_LOADLIBRARY
If using the winstore compat library, a fallback LoadLibrary
function does exist, that only calls LoadPackagedLibrary though
(which doesn't work for dynamically loading d3d11 DLLs).

Therefore explicitly check the targeted API family instead.

Make this check a reusable HAVE_* component which other parts
of the libraries can check when necessary as well.

Signed-off-by: Martin Storsjö <martin@martin.st>

Merged from Libav commit 4d330da006.
2017-08-10 11:58:25 +02:00
Jun Zhao
1e0c75ea16 examples/hw_decode: Add a HWAccel decoding example.
Works with VAAPI, VDPAU, DXVA2 and D3D11VA.

Signed-off-by: Liu, Kaixuan <kaixuan.liu@intel.com>
Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-07-30 00:15:05 +01:00
Anton Khirnov
b90fdb2c71 hevcdec: add a CUVID hwaccel 2017-07-28 14:12:56 +02:00
Anton Khirnov
b9129ec466 h264dec: add a CUVID hwaccel
Some parts of the code are based on a patch by
Timo Rothenpieler <timo@rothenpieler.org>
2017-07-26 23:24:34 +02:00
Huang, Zhengxu
2fd6e7d077 libavcodec/mjpeg_qsv: Add QSV MJPEG encoder
usage:
-hwaccel qsv -c:v h264_qsv -i in -c:v mjpeg_qsv -global_quality 80 -f
mjpeg out

Signed-off-by: ChaoX A Liu <chaox.a.liu@gmail.com>
Signed-off-by: Zhengxu Huang <zhengxu.maxwell@gmail.com>
Signed-off-by: Andrew Zhang <huazh407@gmail.com
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-07-25 13:27:43 +02:00
foo86
930fe4b1f7 avcodec: add Dolby E decoder 2017-07-19 12:27:32 +02:00
Matt Oliver
d8f1982639 configure: Fix libvmaf name
Fixes:
    fatal error: libvmaf.h: No such file or directory.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-07-16 16:12:25 +01:00
Ashish Singh
615479d51c avfilter: add LIBVMAF filter
This one changes the previous vmaf patch to libvmaf to keep it separate from the
native implementation of vmaf inside ffmpeg later.

Signed-off-by: Ashish Singh <ashk43712@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-07-16 08:21:32 -04:00
Ricardo Constantino
0bf857a13f configure: use pkg-config for libgme, if available
The pkg-config file is relatively new (2013), so some distros might
not have it yet. And the -lstdc++ being required for the static lib
is only present since the last release in December 2016.
2017-07-13 14:06:07 +02:00
Ricardo Constantino
3b3501f75c configure: require pkg-config for libvorbis
libvorbis comes with pkg-config files since at least v1.0.1, way back in 2003.

We need the two checks for vorbis and vorbisenc because we use functions from
both and Xiph considers them separate libraries.

The check is inverted (vorbis first then vorbisenc) because add_extralibs()
prepends to EXTRALIBS instead of appending. For both shared and static linking
the order didn't seem to matter anyway, testing with MinGW.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2017-07-06 15:39:10 -04:00
Martin Storsjö
1912973a2d d3d11va: Check WINAPI_FAMILY instead of HAVE_LOADLIBRARY
If using the winstore compat library, a fallback LoadLibrary
function does exist, that only calls LoadPackagedLibrary though
(which doesn't work for dynamically loading d3d11 DLLs).

Therefore explicitly check the targeted API family instead.

Make this check a reusable HAVE_* component which other parts
of the libraries can check when necessary as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-07-05 13:55:11 +03:00
wm4
289d387330 hwcontext_d3d11va: add option to enable debug mode
Basically copied from VLC (LGPL):

http://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_output/win32/direct3d11.c;h=e9fcb83dcabfe778f26e63d19f218caf06a7c3ae;hb=HEAD#l1482
http://git.videolan.org/?p=vlc.git;a=blob;f=modules/codec/avcodec/d3d11va.c;h=85e7d25caebc059a9770da2ef4bb8fe90816d76d;hb=HEAD#l599

Merges Libav commit cfc9e7c94e.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-06-27 18:05:02 +02:00
Martin Storsjö
3125a4a8a8 d3d11va: Link directly to dxgi.dll and d3d11.dll functions if LoadLibrary is unavailable
When targeting the UWP API subset, the LoadLibrary function is not
available (and the fallback, LoadPackagedLibrary, can't be used to
load system DLLs). In these cases, link directly to the functions
in the DLLs instead of trying to load them dynamically at runtime.

Merges Libav commit fd1ffa1f10.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-06-27 18:05:02 +02:00
wm4
70143a3954 dxva: add support for new dxva2 and d3d11 hwaccel APIs
This also adds support to avconv (which is trivial due to the new
hwaccel API being generic enough).

The new decoder setup code in dxva2.c is significantly based on work by
Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites.

Merges Libav commit f9e7a2f95a.
Also adds untested VP9 support.
The check for DXVA2 COBJs is removed. Just update your MinGW to
something newer than a 5 year old release.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-27 18:05:02 +02:00
wm4
cfc9e7c94e hwcontext_d3d11va: add option to enable debug mode
Basically copied from VLC (LGPL):

http://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_output/win32/direct3d11.c;h=e9fcb83dcabfe778f26e63d19f218caf06a7c3ae;hb=HEAD#l1482
http://git.videolan.org/?p=vlc.git;a=blob;f=modules/codec/avcodec/d3d11va.c;h=85e7d25caebc059a9770da2ef4bb8fe90816d76d;hb=HEAD#l599

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-06-27 00:23:12 +02:00
Diego Biurrun
0e83e95c60 configure: Reset X86ASM_DEP(FLAGS) when probing for the assembler program
These variables might be set from a previous probe run, but one or the
other program that is probed for may not grok the flags, resulting in
errors during assembling when the values of those variables are passed
to the assembler.
2017-06-24 21:30:42 +02:00
Mark Thompson
bde0460406 vaapi_encode: Add VP9 support
(cherry picked from commit 0fd91e4bfc)
2017-06-24 17:41:55 +01:00
Reino17
078322f33c Add support for LibOpenJPEG v2.2/git
Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
2017-06-23 20:29:23 -07:00
James Almer
f66086adac configure: fix assignment of assembler specific flags
If the first assembler to be probed is an old nasm build, X86ASM_DEPFLAGS
will be set and remain so after yasm is ultimately used as fallback.
This results in yasm being called with said nasm specific flags and failing
during actual object assembly but not with configure sanity checks.

Regression since 5cae5a1def

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-23 17:55:14 -03:00
Janne Grunau
857e26b655 build: Add an option for passing linker flags to the shared library build
Also employ this mechanism to pass $libdir to the runtime library search
path if rpath is enabled. This fixes underlinking of some test binaries
on some systems.
2017-06-22 13:54:34 +02:00
Diego Biurrun
5cae5a1def configure: Move x86 assembler sanity check into assembler probe function
This allows for more graceful fallback from NASM to Yasm if the available
NASM version is too old.

(Cherry-picked from libav commit adfd7892e3)
Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-21 17:00:31 -03:00
Diego Biurrun
4f9297ac3b build: Prefer NASM assembler over YASM
NASM is more actively maintained and permits generating dependency information
as a sideeffect of assembling, thus cutting build times in half.

(Cherry-picked from libav commit 57b753b445)

Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-21 17:00:30 -03:00
James Almer
3cc73d3d6d build: fix commandline selection of nasm
"nasm --version" works on nasm since around version 2.11 and as
such configure assumed it was yasm.

Based on libav commit f54037da8a by
Diego Biurrun.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-21 17:00:30 -03:00
Diego Biurrun
d44935cbf4 build: Explicitly set 32-bit/64-bit object formats for nasm/yasm
Consistently use object format names with "32" suffix and set object format
to "win64" on Windows x86_64, which fixes assembling with nasm.

(Cherry-picked from libav commit 808ef43597)

Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-21 17:00:30 -03:00
Diego Biurrun
0cc0c5b6db build: Allow generating dependencies as a side-effect of assembling
(Cherry-picked from libav commit 3c0efbd033)

Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-21 17:00:29 -03:00
Diego Biurrun
fd502f4f5f build: Generalize yasm/nasm-related variable names
None of them are specific to the YASM assembler.

(Cherry-picked from libav commit 39e208f4d4)

Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-21 17:00:29 -03:00
Martin Storsjö
333a34da3a configure: Automatically add -isysroot for darwin if --sysroot is specified
Check the existing flags in the cc/cflags/cppflags/ldflags for
occurrances of -isysroot; if none is found but --sysroot was specified,
set -isysroot to the same value as --sysroot.

This simplifies configuring cross-builds for iOS, if the global
environment variable SDKROOT isn't set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-06-21 22:32:52 +03:00
Luca Barbato
19bf50406e configure: Move up the avbuild directory creation
The early check for inconsistent in-source vs out-of-source build
cannot generate a config.log otherwise.

(Cherry-picked from libav commit 0ee78020cd)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-06-20 20:40:52 -03:00
Diego Biurrun
155f071bad build: Add missing idctdsp dependency for clearvideo
(cherry picked from commit 2f792cb670)
2017-06-20 11:56:36 +02:00
Martin Storsjö
fd1ffa1f10 d3d11va: Link directly to dxgi.dll and d3d11.dll functions if LoadLibrary is unavailable
When targeting the UWP API subset, the LoadLibrary function is not
available (and the fallback, LoadPackagedLibrary, can't be used to
load system DLLs). In these cases, link directly to the functions
in the DLLs instead of trying to load them dynamically at runtime.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-06-18 23:45:03 +03:00
Diego Biurrun
7b1f9873be build: Adjust dependencies for faan(i)dct components 2017-06-17 19:12:27 +02:00
Diego Biurrun
635897ac78 configure: Factorize qsv dependencies 2017-06-17 19:12:27 +02:00
Diego Biurrun
c599c43fa1 configure: Add missing arch dependencies for arch extensions 2017-06-17 19:12:27 +02:00
Diego Biurrun
d9da7151ee configure: Fix handling of _select dependencies
The handling of _select dependencies had two issues:

1) extralibs from _select dependencies of a component were not added to
   the list of extralibs for that component.
2) extralibs from dependencies were only added to the extralibs of a
   component if the component was enabled. This led to incorrect results
   if that component was enabled by another component later in the dependency
   resolution process. Instead, always generate the full list of component
   extralibs for use later in the dependency resolution process.

Also remove a leftover unused variable.
2017-06-17 19:12:27 +02:00
Diego Biurrun
9d12dd6fa8 configure: Add x86 dependency for mmx_internal
This ensures that mmx_internal is only ever enabled on x86.
2017-06-17 19:12:26 +02:00
Diego Biurrun
2f792cb670 build: Add missing idctdsp dependency for clearvideo 2017-06-17 19:12:26 +02:00
Rostislav Pehlivanov
18f09524f7 configure: use -x instead of -wN ..@ to strip assembly files
Reduces the amount of debugging information of external asm from
uselessly verbose to informative enough.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: James Darnley <james.darnley@gmail.com>
2017-06-16 15:25:31 +01:00
Diego Biurrun
e2edf1529c configure: Simplify AltiVec/VSX check with a helper function 2017-06-13 12:34:35 +02:00
Diego Biurrun
d76479c502 ppc: Drop support for Apple GCC
Apple GCC has not been a thing anymore on PowerPC since many years.
2017-06-13 12:34:35 +02:00
Paul B Mahol
2336c76b22 avfilter/af_sofalizer: switch to libmysofa
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-06-08 22:02:26 +02:00
wm4
f9e7a2f95a dxva: add support for new dxva2 and d3d11 hwaccel APIs
This also adds support to avconv (which is trivial due to the new
hwaccel API being generic enough).

The new decoder setup code in dxva2.c is significantly based on work by
Steve Lhomme <robux4@gmail.com>, but with heavy changes/rewrites.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-06-08 21:20:18 +02:00
Aman Gupta
a32a6b4201 lavc: add mpeg2 mediacodec decoder
Android TV and FireOS hardware supports mpeg2 hardware decoding via
MediaCodec.

Signed-off-by: Matthieu Bouron <matthieu.bouron@gmail.com>
2017-06-08 19:16:09 +02:00
Diego Biurrun
ed434be106 configure: Bail out if both GnuTLS and OpenSSL are enabled
Both libraries provide similar functionality and cannot be used together.
When both are enabled one is used and the other ignored arbitrarily. Error
out instead and have the user choose which library to use.
2017-06-06 14:47:42 +02:00
Diego Biurrun
adfd7892e3 configure: Move x86 assembler sanity check into assembler probe function
This allows for more graceful fallback from NASM to Yasm if the available
NASM version is too old.
2017-06-03 19:34:08 +02:00
Diego Biurrun
5e27ef800b build: Add missing zlib dependencies for several protocols 2017-06-03 19:34:08 +02:00
Shivraj Patil
6f35c21659 Disable MSA optimization for big endian arch
The current upstreamed code has been written and tested for Little Endian systems.
We do have plans to add the Big Endian support in near future, but till that time, need to disable all to avoid its usage and failures.

Signed-off-by: Shivraj Patil <shivraj.patil@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-06-03 00:09:58 +02:00
Diego Biurrun
61cec5adaa tls: Hide backend implementation details from users
TLS is currently implemented over either OpenSSL or GnuTLS, with more
backends likely to appear in the future. Currently, those backend libraries
are part of the protocol names used during e.g. the configure stage of a
build. Hide those details behind a generically-named declaration for the
TLS protocol to avoid leaking those details into the configuration stage.
2017-06-02 10:41:52 +02:00
Martin Storsjö
4d444d04c1 configure: Default to _WIN32_WINNT=0x0502 (XP) as minimum, for legacy mingw
This makes the getaddrinfo functions visible, which aren't normally
by default on legacy mingw.

We already force __MSVCRT_VERSION__ to an XP version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-06-01 13:29:51 +03:00
Timo Rothenpieler
2d978d1c72 configure: libnpp does not need to link libcuda 2017-06-01 11:36:13 +02:00
Martin Storsjö
47c43ce36f configure: Fix the msvcrt version check for mingw32
This was actually broken when committed in 46e3936fb04; the
test never succeeded, and thus, _aligned_malloc wasn't actually
used on legacy mingw.

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit 427f7a1f9e)
2017-05-31 12:57:22 +02:00
Martin Storsjö
427f7a1f9e configure: Fix the msvcrt version check for mingw32
This was actually broken when committed in 46e3936fb04; the
test never succeeded, and thus, _aligned_malloc wasn't actually
used on legacy mingw.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-05-31 13:30:24 +03:00
Rostislav Pehlivanov
220b24c7c9 lavc: remove libschroedinger encoding and decoding wrappers
The library has stopped being developed and Debian has removed it
from its repositories citing security issues.
The native Dirac decoder supports everything the library has and basic
encoding support is still provided via the native vc2 (Dirac Pro, intra
only version of Dirac) encoder. Hence, there's no reason to still support
linking to the library and potentially leading users into security issues.
2017-05-29 20:15:58 +01:00
Rostislav Pehlivanov
a3deeaade3 lavf: remove the libnut library wrapper
libnut is outdated and not developed anymore, all nut developments
happens in this repo, so users are getting mislead
2017-05-29 20:15:58 +01:00
Luca Barbato
6a7e928555 configure: Do not check for the __builtin_vec_vsx_ld
Clang support for Altivec/VSX uses a different approach.
2017-05-29 13:40:47 +02:00
James Almer
8794cfbbc5 configure: fix --tempprefix option
It was broken in 091c986055
2017-05-20 21:29:58 -03:00
Clément Bœsch
a8ad127a63 Merge commit 'ba6a49e60bdd61b6d02c2b26daa01942c35f39cc'
* commit 'ba6a49e60bdd61b6d02c2b26daa01942c35f39cc':
  configure: Clean up temporary files on interrupt

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-20 16:50:28 +02:00
Clément Bœsch
091c986055 Merge commit '78489822074096e3ae0f3c3b70accace955086f6'
* commit '78489822074096e3ae0f3c3b70accace955086f6':
  configure: Place all temporary files in one separate directory

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-20 16:47:20 +02:00
Clément Bœsch
068d91885f Merge commit '2bbb5abd877104fa9bc342c521bb49bc1aad50ce'
* commit '2bbb5abd877104fa9bc342c521bb49bc1aad50ce':
  build: Map -Wall compiler flag to -W3 for MSVC and -Wextra to -W4

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-20 16:31:37 +02:00
Clément Bœsch
d1da0fc4b9 Merge commit '6151e9128ce2a84a443c82b78f5b5cb364ba2ab4'
* commit '6151e9128ce2a84a443c82b78f5b5cb364ba2ab4':
  build: Detect blocks C language extension and add it as VDA dependency

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-20 16:28:43 +02:00
Clément Bœsch
55b56a8d6a Merge commit 'f96d07f4ec4193fb5293d7ac8f1324aac3c3ea07'
* commit 'f96d07f4ec4193fb5293d7ac8f1324aac3c3ea07':
  configure: Add quotes around a variable which might be empty

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-19 12:01:43 +02:00
Clément Bœsch
2fbeb42df3 Merge commit '9bf262f4c6e14f43f291cdb745ed372884ee2a7f'
* commit '9bf262f4c6e14f43f291cdb745ed372884ee2a7f':
  configure: Use proper compiler-specific speed flags for hostcc

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-19 11:59:35 +02:00
Clément Bœsch
f78f3df7e0 Merge commit 'bf38959a30ecba4e4ee95d4f2a80ba7ece4f34be'
* commit 'bf38959a30ecba4e4ee95d4f2a80ba7ece4f34be':
  configure: Move optflags checks to a more sensible place

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-19 11:54:30 +02:00
Clément Bœsch
42ed79a229 Merge commit '7ff018c1cb43a5fe5ee2049d325cdd785852067a'
* commit '7ff018c1cb43a5fe5ee2049d325cdd785852067a':
  OS/2: Try to commit memory above 1GB

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-19 11:21:41 +02:00
James Almer
3e295e633c build: remove --enable-raise-major configure option
It's not used by anything, has dubious usefulness, the reasons for which
it was introduced are no longer valid, and only serves to add complexity
to the build system.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-05-17 22:52:59 -03:00
Rostislav Pehlivanov
5fd4cffe32 lavc: add a librsvg rasterization library wrapper
Enables rendering of SVG images. This is possible since SVG images
still contain and specify the dimensions in pixels to which they've
been drawn to and thus enable browsers to display them without any
external data. Users can still override and generate images with
arbitrary resolutions.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-05-16 11:40:44 +01:00
Aman Gupta
376247a102 configure: jni no longer requires -ldl
This dependency was removed in 33d69a9008.
2017-05-16 12:25:13 +02:00
Timo Rothenpieler
f1ab71b046 build: add support for building .cu files via nvcc
Original work by Yogender Gupta <ygupta@nvidia.com>
2017-05-15 11:46:50 +02:00
Timo Rothenpieler
6a3740572d configure: add cuda-sdk for things requiring full CUDA sdk 2017-05-15 11:46:50 +02:00
Martin Storsjö
d7320ca3ed arm: Avoid using .dn register aliases
clang now (in the upcoming 5.0 version) is capable of building our
arm assembly without relying on gas-preprocessor, although clang/LLVM
doesn't support .dn register aliases.

The VC1 MC assembly was only built and used if the chosen assembler
supported the .dn directives though. This was supported as long as
gas-preprocessor was used.

This means that VC1 decoding got a speed regression on clang 5.0,
unless the user manually chose using gas-preprocessor again.

By avoiding using the .dn register aliases, we can build the VC1 MC
assembly with the latest clang version.

Support for the .dn/.qn directives in clang/LLVM isn't actively planned,
see https://bugs.llvm.org/show_bug.cgi?id=18199.

This partially reverts 896a5bff64.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-05-15 09:52:18 +03:00
Paul B Mahol
49bbfb9d13 avfilter: add arbitrary audio FIR filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-05-09 20:47:52 +02:00
Aaron Levinson
164e277326 configure: Added require alternative for libmfx to support alternate installation options
Purpose: Added require alternative for libmfx in the case that pkg-config
cannot find libmfx.  On Linux, most people likely get libmfx via
https://github.com/lu-zero/mfx_dispatch , but on Windows, the most
well-known way to get libmfx is via the Intel Media SDK, which
provides a static build of libmfx.lib and also provides the source
code for building libmfx yourself.  If built this way, there are no
pkg-config files to be found.

Comments:

-- configure: Altered enabled libmfx step to use use_pkg_config()
   instead of require_pkg_config(), and, if use_pkg_config() fails, it
   falls back to require().  Also added explanatory comment.  Note
   that the reason that require() is passed -llibmfx as the last
   argument, instead of -lmfx, is the file name for the library
   produced from the Intel Media SDK starts with "libmfx".
   Apparently, the filename for the library produced via
   https://github.com/lu-zero/mfx_dispatch starts with "mfx".

Signed-off-by: Aaron Levinson <alevinsn@aracnet.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-09 03:24:58 +02:00
Aaron Levinson
7f7ee86d5a avdevice/decklink: fix MSVC build issues
Purpose: Made minor changes to get the decklink avdevice code to build
using Visual C++.

Notes: Made changes to configure per Hendrik Leppkes's review of first
and second versions of patch.  Also made slight alterations per Marton
Balint's reviews.

Comments:

-- configure: Added if enabled decklink section and setting
   decklink_indev_extralibs and decklink_outdev_extralibs here for
   both mingw and Windows.  Also eliminated the setting of these
   variables in the mingw section earlier in the file.

-- libavdevice/decklink_common.cpp: Switched the order of the include
   of libavformat/internal.h to workaround build issues with Visual
   C++.  See comment in file for more details.

-- libavdevice/decklink_dec.cpp:
a) Rearranged the include of libavformat/internal.h (for reasons as
   described above).
b) Made slight alteration to an argument for call to av_rescale_q() to
   workaround a compiler error with Visual C++.  This appears to only
   be an issue when building C++ files with Visual C++.  See comment
   in code for more details.

-- libavdevice/decklink_enc.cpp: Rearranged the include of
   libavformat/internal.h (for reasons as described above).

Signed-off-by: Aaron Levinson <alevinsn@aracnet.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-05-08 22:43:35 +02:00
James Almer
74fee9760f configure: add missing lpc dependency to mlp and truehd encoders 2017-05-08 11:24:48 -03:00
Martin Storsjö
59cee42d7d arm: Check for the .arch directive in configure
When targeting windows, the .arch directive isn't available.

So far, when building for windows, we've always used gas-preprocessor,
both when using msvc's armasm and when using clang. Lately, clang/llvm
has implemented the last missing piece (altmacro support) for building
our assembly without gas-preprocessor. This means that we now build
for arm/windows with clang without any extra compatibility layer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-05-08 14:21:08 +03:00
James Almer
4a51aa7dda configure: add missing avcodec dependencies to filters 2017-05-06 23:52:38 -03:00
Clément Bœsch
f5218b27c4 Merge commit '35d1f726eb9fdd376ab900587fb02122b72f2b9a'
* commit '35d1f726eb9fdd376ab900587fb02122b72f2b9a':
  fate: Add --ignore-tests configure option for omitting specific FATE tests

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-05-05 09:27:18 +02:00
James Almer
6fdd35a312 Merge commit '92db5083077a8b0f8e1050507671b456fd155125'
* commit '92db5083077a8b0f8e1050507671b456fd155125':
  build: Generate pkg-config files from Make and not from configure
  build: Store library version numbers in .version files

Includes cherry-picked commits 8a34f36593 and
ee164727dd to fix issues.

Changes were also made to retain support for raise_major and build_suffix.

Reviewed-by: ubitux
Merged-by: James Almer <jamrial@gmail.com>
2017-05-04 19:59:30 -03:00
Michael Niedermayer
92f4a4bf29 configure: Do not add omit-frame-pointer for ossfuzz
ossfuzz works better without it

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-05-04 14:31:20 +02:00
James Almer
c53bf8c9b8 configure: fix libopus detection
Prevents compilation failures on libopus < 1.0.3
Regression since 37941878.
2017-05-04 00:26:13 -03:00
Clément Bœsch
3f17751eeb Merge commit '11a9320de54759340531177c9f2b1e31e6112cc2'
* commit '11a9320de54759340531177c9f2b1e31e6112cc2':
  build: Move build-system-related helper files to a separate subdirectory

"ffbuild" directory name is used instead of "avbuild".

Merged-by: Clément Bœsch <u@pkh.me>
2017-05-03 16:49:12 +02:00
Diego Biurrun
b5f19f7478 aac: Split function to parse ADTS header data into public and private part
This makes the currently semi-public avpriv_aac_parse_header() function
private to libavcodec and adds a proper public API function to return
the parts of the ADTS header required in libavformat.
2017-05-02 18:50:34 +02:00
Clément Bœsch
7e503828b0 Merge commit 'ee480790c7eeb03c9cebd8971c46e0cb7db65277'
* commit 'ee480790c7eeb03c9cebd8971c46e0cb7db65277':
  build: Add name parameter to check_lib() helper function

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 17:15:07 +02:00
Clément Bœsch
dfbfbbfa48 Merge commit '1faffe7e8fab21186a233011bc8a62f47962e2cd'
* commit '1faffe7e8fab21186a233011bc8a62f47962e2cd':
  configure: Disentangle vfw32 and user32 lib handling

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:42:17 +02:00
Clément Bœsch
f9ecf5498c Merge commit 'f7174d7ed045445d00a6d557236737d09ad32343'
* commit 'f7174d7ed045445d00a6d557236737d09ad32343':
  configure: fix linking with MSVC when using --disable-optimizations

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:39:37 +02:00
Clément Bœsch
9c1b09f73e Merge commit 'ef9a711be718ed3802a263d1d9ed340a4aaef224'
* commit 'ef9a711be718ed3802a263d1d9ed340a4aaef224':
  configure: put d3d11 check in alphabetical order

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-26 16:38:10 +02:00
Luca Barbato
44aafa3325 configure: Properly escape arguments in filter/filter_out helper functions
The arguments may contain '$', which gets interpreted by the shell.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-04-25 00:38:07 +02:00
Luca Barbato
41262498ff configure: Fix sem_timedwait probe
It requires pthreads.
2017-04-25 00:38:07 +02:00
Michael Niedermayer
5b499bf4a0 Make tools/target_dec_*_fuzzer buildable with configure and make
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-04-24 23:17:47 +02:00
James Almer
79778bb9b0 Merge commit '972c71e9cb63e24f57ee481e413199c7d88a8813'
* commit '972c71e9cb63e24f57ee481e413199c7d88a8813':
  lavc: add support for filtering packets before decoding

Merged-by: James Almer <jamrial@gmail.com>
2017-04-22 22:35:27 -03:00
Paul B Mahol
61088051bd avcodec: add Screen Recorder Gold Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-18 15:04:12 +02:00
Paul B Mahol
a96db6be06 avcodec: add Mandsoft Screen Capture Codec decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-04-18 15:03:12 +02:00
Clément Bœsch
17f848ca07 Merge commit 'fc368497f2fff54ddf5316224c573c9d1939fb25'
* commit 'fc368497f2fff54ddf5316224c573c9d1939fb25':
  configure: Add missing dxva2 dependency for dxva2_lib

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 13:45:21 +02:00
Clément Bœsch
d1c8b96608 Merge commit 'f1248fae90b45501af4e8743d373e79191470331'
* commit 'f1248fae90b45501af4e8743d373e79191470331':
  configure: Handle dxva2 optional components in the standard way

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 13:42:33 +02:00
Clément Bœsch
15bca8c67d Merge commit 'f8a1ead0ae4402df0503c83f213f57b785a5f20f'
* commit 'f8a1ead0ae4402df0503c83f213f57b785a5f20f':
  build: Add -D_XOPEN_SOURCE=600 to CPPFLAGS on Cygwin

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 10:27:18 +02:00
Clément Bœsch
9bf3d84089 Merge commit 'be2d555c980220e65d0ca5c3d78e6cc1e24451a5'
* commit 'be2d555c980220e65d0ca5c3d78e6cc1e24451a5':
  build: Use _extralibs variable names instead of _libs everywhere

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 10:22:52 +02:00
Clément Bœsch
0ba67a8eb1 build: remove special freetype check
Since 52ccc4a0e was merged, it's pointless to keep our special version.
2017-04-17 10:03:26 +02:00
Clément Bœsch
0a0517bbf5 Merge commit '0507cd5b9f3c3769645bc6e9177eaf760f490d1c'
* commit '0507cd5b9f3c3769645bc6e9177eaf760f490d1c':
  build: Rename host_libs/HOSTLIBS variables to host_extralibs/HOSTEXTRALIBS

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 09:39:31 +02:00
Clément Bœsch
9ae1ffe641 Merge commit '1818a640cfdccd52e97edf13564f45bc3d0d93eb'
* commit '1818a640cfdccd52e97edf13564f45bc3d0d93eb':
  build: Fix dependencies for alsa/jack/sndio support

Added explicit enable (which will be automatically added later on in
ee480790c) to actually fix this commit. Without the explicit enables,
alsa, jack and sndio gets disabled.

Also added jack, alsa and sndio to the have list so the HAVE_* are
populated to make (this fixes the SKIPHEADERS chunks).

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-17 09:28:34 +02:00
Clément Bœsch
3390a2be9d Merge commit 'af451ac0de6776e97d6a3ff95eac257b7964002e'
* commit 'af451ac0de6776e97d6a3ff95eac257b7964002e':
  configure: Drop redundant and partly bogus vaapi/vdpau header checks

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-15 18:38:45 +02:00
Paul B Mahol
9227bd8ac2 utvideodec: Reuse the huffyuv add_left
~10% faster when simd is available.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-04-15 15:37:18 +02:00
Aaron Levinson
9e86a61870 avdevice/decklink: remove pthread dependency
Purpose: avdevice/decklink: Removed pthread dependency by replacing
semaphore used in code appropriately.  Doing so makes it easier to
build ffmpeg using Visual C++ on Windows.  This is a contination of
Kyle Schwarz's "avdevice/decklink: Remove pthread dependency" patch
that is available at https://patchwork.ffmpeg.org/patch/2654/ .  This
patch wasn't accepted, and as far as I can tell, there was no
follow-up after it was rejected.

Notes: Used Visual Studio 2015 (with update 3) for this.

Comments:

-- configure: Eliminated pthreads dependency for decklink_indev_deps
   and decklink_outdev_deps and replaced with threads dependency

-- libavdevice/decklink_common.cpp / .h:
a) Eliminated semaphore and replaced with a combination of a mutex,
   condition variable, and a counter (frames_buffer_available_spots).
b) Removed include of pthread.h and semaphore.h and now using
   libavutil/thread.h instead.

-- libavdevice/decklink_dec.cpp: Eliminated include of pthread.h and
   semaphore.h.

-- libavdevice/decklink_enc.cpp:
a) Eliminated include of pthread.h and semaphore.h.
b) Replaced use of semaphore with the equivalent using a combination
   of a mutex, condition variable, and a counter
   (frames_buffer_available_spots).  In theory, libavutil/thread.h and
   the associated code could have been modified instead to add
   cross-platform implementations of the sem_ functions, but an
   inspection of the ffmpeg source base indicates that there are only
   two cases in which semaphores are used (including this one that was
   replaced), so it was deemed to not be worth the effort.

Signed-off-by: Marton Balint <cus@passwd.hu>
2017-04-15 12:26:21 +02:00
Aaron Levinson
bceb3d0f86 Support building C++ files with MSVC
Made appropriate changes to be able to successfully
build C++ files using a Visual C++ build on Windows.

Based on an earlier patch by Kyle Schwarz.

Comments:

-- compat/w32pthreads.h: Made appropriate changes to w32pthreads.h to
   get it to build when it is being included in a C++ file and built
   with Visual C++.  This is mostly a copy of Kyle Schwarz's patch as
   described above.

-- configure:
a) Now calling set_ccvars CXX to cause the various CXX_ variables to
   be setup properly.  For example, with MSVC (Microsoft Visual C++),
   this causes CXX_O to be set to -Fo$@ instead of using the default
   value.  The default value does not work with Visual C++.  This
   change will also have the impact of correcting CXX_O (and possibly
   CXX_C) for other compilers, although this is really only relevant
   for the Intel compiler, in addition to MSVC.
b) Now using cl for the C++ compiler for the MSVC toolchain.  This is
   currently only relevant for building the
   Blackmagic/Decklink-related files under avdevice.

Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
2017-04-13 23:57:31 +02:00
James Almer
0dd2777309 configure: add missing golomb dependency to hevcparse
Based on a dependency addition from fbec58daa2
2017-04-13 18:15:39 -03:00
James Almer
40f3f0298a Merge commit 'f55c0a64ae40dc8e0a131a590e123cd14d0c0f7a'
* commit 'f55c0a64ae40dc8e0a131a590e123cd14d0c0f7a':
  build: Drop stray golomb dependencies

Merged-by: James Almer <jamrial@gmail.com>
2017-04-13 18:14:04 -03:00
James Almer
8c71d1b060 Merge commit '6bd9590b33742f1cceecc0c0d81b3caf3d8a4e1a'
* commit '6bd9590b33742f1cceecc0c0d81b3caf3d8a4e1a':
  build: Have old H.264/HEVC nvenc encoders select their new counterparts

Merged-by: James Almer <jamrial@gmail.com>
2017-04-13 17:20:50 -03:00
James Almer
41b8b2ca28 Merge commit '404cb74793284aa03e2e1a7e911c980c4cba0e9e'
* commit '404cb74793284aa03e2e1a7e911c980c4cba0e9e':
  configure: Pass CFLAGS_HEADERS through the right CFLAGS filter

Merged-by: James Almer <jamrial@gmail.com>
2017-04-13 17:01:01 -03:00
Carl Eugen Hoyos
a081acc440 configure: Fix decklink license dependency. 2017-04-12 22:49:06 +02:00
James Almer
d8e5a4818b Merge commit '3d6135eacf3b6a82c3024620c6a28169960464a7'
* commit '3d6135eacf3b6a82c3024620c6a28169960464a7':
  configure: Simplify OMX check

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 14:51:31 -03:00
James Almer
6992c806e6 Merge commit '601f8dde13ccd0e1993b7840a0304fa2cfe53432'
* commit '601f8dde13ccd0e1993b7840a0304fa2cfe53432':
  configure: Move COMPONENT_LIST to the bottom of CONFIG_LIST

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 14:49:09 -03:00
James Almer
fa1fe495fc Merge commit '29d2e03ed96d9f7b8cb2cc87dca0a63c2a6eff70'
* commit '29d2e03ed96d9f7b8cb2cc87dca0a63c2a6eff70':
  configure: Simplify and fix avfoundation indev handling

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 14:46:08 -03:00
James Almer
498e9e8e2a avcodec/hevc_parse: split build dependencies
Reviewed-by: nevcairiel
Signed-off-by: James Almer <jamrial@gmail.com>
2017-04-09 13:55:17 -03:00
James Almer
adf9f0416f Merge commit '2a096440768b1086bb437939f827b8b7a5716bf7'
* commit '2a096440768b1086bb437939f827b8b7a5716bf7':
  configure: Separate package name and version requirements in helper functions

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 13:11:08 -03:00
James Almer
0905c679eb Merge commit 'ffb9025f39b274abfc4ad2b264205a44cc0238a4'
* commit 'ffb9025f39b274abfc4ad2b264205a44cc0238a4':
  configure: Simplify MMAL check

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 12:43:55 -03:00
James Almer
e5ac47c068 Merge commit '660470cd62c59f25cc52c731af6230e7bc1aba62'
* commit '660470cd62c59f25cc52c731af6230e7bc1aba62':
  build: Add missing audio_frame_queue dependency for libwavpack encoder

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 12:41:21 -03:00
James Almer
521197ebec Merge commit 'e1dc5358af0dadef548114ec9cabba766b7c6260'
* commit 'e1dc5358af0dadef548114ec9cabba766b7c6260':
  build: Create a component for MPEG audio header decoding

Merged-by: James Almer <jamrial@gmail.com>
2017-04-09 12:29:58 -03:00
Clément Bœsch
41a2208035 Merge commit '6ef3360a38efe027cb6ebf9785870048ca7eb38b'
* commit '6ef3360a38efe027cb6ebf9785870048ca7eb38b':
  configure: Add misssing qpeldsp dependency to mss2 decoder

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-09 15:05:31 +02:00
Clément Bœsch
210678d3c5 Merge commit '3794062ab1a13442b06f6d76c54dce51ffa54697'
* commit '3794062ab1a13442b06f6d76c54dce51ffa54697':
  Remove Plan 9 support

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-09 14:52:00 +02:00
Clément Bœsch
a329b822e1 Merge commit '4a1ef543983b7480e2822f6ac281ba361d1f893d'
* commit '4a1ef543983b7480e2822f6ac281ba361d1f893d':
  build: Drop support for old versions of libdc1394

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-09 14:22:43 +02:00
Clément Bœsch
d14a1bd8e4 Merge commit '2575b1917b2703fae41a4b4901ad85c888374dfd'
* commit '2575b1917b2703fae41a4b4901ad85c888374dfd':
  build: Add separate flags for checkheaders targets

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 15:09:57 +02:00
Clément Bœsch
3d0475ef38 Merge commit '984e50e74ba71301720652e56232161a994bd0b5'
* commit '984e50e74ba71301720652e56232161a994bd0b5':
  build: Add -Wpedantic and -Wextra to extra warning flags

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 15:00:25 +02:00
Clément Bœsch
efb0ea2af4 Merge commit '518a22471e40604a158180a0660aabeeec65e07f'
* commit '518a22471e40604a158180a0660aabeeec65e07f':
  configure: Be more helpful when requiring options set

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:51:56 +02:00
Clément Bœsch
8aaacbf7fd Merge commit 'c21d78a903da378af48c9e5f971fe989592ddb65'
* commit 'c21d78a903da378af48c9e5f971fe989592ddb65':
  configure: Integrate X11 checks into vaapi/vdpau checks

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:13:43 +02:00
Clément Bœsch
f98ccbd6a0 Merge commit '8b56dbe7435d8cfe3964f447fc45fe98db5d9042'
* commit '8b56dbe7435d8cfe3964f447fc45fe98db5d9042':
  configure: Do not add newlines in filter()/filter_out() functions

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:11:21 +02:00
Clément Bœsch
8e0bea5515 Merge commit '9254344e11f9b016088ec6250724f74377f5d7a0'
* commit '9254344e11f9b016088ec6250724f74377f5d7a0':
  configure: Move hardware-accelerated codec deps out of hwaccel section

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 14:08:51 +02:00
Clément Bœsch
09027c8977 Merge commit 'd4f2a681cb6d4e913f1c879ad376313255d6cf4c'
* commit 'd4f2a681cb6d4e913f1c879ad376313255d6cf4c':
  configure: MMAL-related decoders should depend on, not select, mmal

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-08 13:51:57 +02:00
James Almer
12290077d1 Merge commit 'bf2f748fc74fff5272075e1fe1c07b4152421526'
* commit 'bf2f748fc74fff5272075e1fe1c07b4152421526':
  configure: Use correct libm linker flag during math function checks

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 16:16:57 -03:00
James Almer
b26b4d62be Merge commit '04698d528cac334b6b5cabd3384f01406a766285'
* commit '04698d528cac334b6b5cabd3384f01406a766285':
  configure: Use correct variable name in libsnappy test

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 16:08:21 -03:00
James Almer
743eae3cd6 Merge commit '30f0d1b997f15d667c05feab0b54f0b2814ba7a9'
* commit '30f0d1b997f15d667c05feab0b54f0b2814ba7a9':
  configure: Remove old avisynth support leftover

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 16:06:02 -03:00
James Almer
b9886e569a Merge commit '5bcc6f76f180d0f88269018727c92fc562fb8abb'
* commit '5bcc6f76f180d0f88269018727c92fc562fb8abb':
  configure: Disable warning C4703 with MSVC

Merged-by: James Almer <jamrial@gmail.com>
2017-04-04 16:03:05 -03:00
Clément Bœsch
4069394fd4 Merge commit '1dd2b6c91ca5f26207805720d4f5564de60b241b'
* commit '1dd2b6c91ca5f26207805720d4f5564de60b241b':
  examples/qsvdec: switch to the hwcontext API

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-03 21:07:59 +02:00
Diego Biurrun
b62ed68738 configure: Better names for functions that sanitize input 2017-04-03 14:39:08 +02:00
Mark Thompson
0fd91e4bfc vaapi_encode: Add VP9 support 2017-04-02 19:06:33 +01:00
Clément Bœsch
ab04d9bf63 Merge commit 'ffe89e1edb0281ff65d1bda88253784e9283b717'
* commit 'ffe89e1edb0281ff65d1bda88253784e9283b717':
  configure: Move mjpeg_vaapi_decoder dependency declarations to the right place

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-01 11:29:34 +02:00
Clément Bœsch
e06b8b07d5 Merge commit 'e0b164576f7467b7b1127c18175e215dc1df011f'
* commit 'e0b164576f7467b7b1127c18175e215dc1df011f':
  qsv: Add VP8 decoder

Merged-by: Clément Bœsch <u@pkh.me>
2017-04-01 11:21:02 +02:00
Carl Eugen Hoyos
fa0a6ce34d configure: Fix GPL dependency for avisynth / avxsynth. 2017-04-01 11:05:13 +02:00
James Almer
678ab33861 Merge commit 'b6582b29277e00e5d49f400e58beefa5a21d83b8'
* commit 'b6582b29277e00e5d49f400e58beefa5a21d83b8':
  qsv: Add VC-1 decoder

See fb57bc6c34.
Merged for cosmetic purposes to reduce differences with libav.

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 17:42:12 -03:00
James Almer
0ad9aff022 Merge commit '2dd464868c64fa21a6e3bd63ad364ff12999c7d0'
* commit '2dd464868c64fa21a6e3bd63ad364ff12999c7d0':
  configure: Move license checks directly after command line parsing

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:39:10 -03:00
James Almer
8d50dd976d Merge commit 'c78495d1cdac6dd13786a7e5571b606604a360bd'
* commit 'c78495d1cdac6dd13786a7e5571b606604a360bd':
  configure: Log name and parameters of all helper functions where it makes sense

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:36:38 -03:00
James Almer
3795899978 Merge commit '8a6e7a67cb2943f552569801539829a304971302'
* commit '8a6e7a67cb2943f552569801539829a304971302':
  configure: Use check_cpp in CPP flags tests

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:34:25 -03:00
James Almer
e5177e8f8d Merge commit '831005b2302cbeb377e3f00fd18c78928bcec185'
* commit '831005b2302cbeb377e3f00fd18c78928bcec185':
  configure: Log correct test name and use correct filter when testing objective C flags

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:32:32 -03:00
James Almer
f0df60d392 Merge commit 'fe7bc1f16abaefe66d8a20f734ca3eb8a4ce4d43'
* commit 'fe7bc1f16abaefe66d8a20f734ca3eb8a4ce4d43':
  configure: Do not unconditionally check for (and enable) xlib

Merged-by: James Almer <jamrial@gmail.com>
2017-03-31 14:29:22 -03:00
Clément Bœsch
12bfed2fd9 configure: remove redundant info
Based on d1a91ebe49
2017-03-31 11:30:38 +02:00
Clément Bœsch
d62606480f Merge commit 'd1a91ebe4990001e0800ee9ac54ed2207e4f56ff'
* commit 'd1a91ebe4990001e0800ee9ac54ed2207e4f56ff':
  configure: Print list of enabled programs

This commit is mostly a noop, see 832b4a4a43

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-31 11:25:06 +02:00
Clément Bœsch
6f95771046 Merge commit '576c9003aef0fe18c0cf8da6e865211610552005'
* commit '576c9003aef0fe18c0cf8da6e865211610552005':
  configure: Improve output wording

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-31 11:02:07 +02:00
Clément Bœsch
b6c293d5e6 Merge commit '59d2b00d201935c16408a2917957d89a170fe58f'
* commit '59d2b00d201935c16408a2917957d89a170fe58f':
  configure: Add --quiet command line parameter to suppress informative output

The license assignment is moved out of the quiet condition to make sure
it ends up in config.h

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-31 10:22:32 +02:00
Clément Bœsch
8524b0162f Merge commit 'd1ef1b9eaa45043ea5df5a004fb37243e05da61d'
* commit 'd1ef1b9eaa45043ea5df5a004fb37243e05da61d':
  configure: Silence lld-link when getting the version number

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-30 11:04:12 +02:00
Clément Bœsch
925ce244d8 Merge commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d'
* commit '7b1f03477f1a43d2261fbd83e50a4ad90c7f806d':
  examples/avcodec: split the remaining two examples into separate files

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 14:09:09 +02:00
Clément Bœsch
878070cc56 Merge commit 'f5df897c4b61985e3afc89ba1290649712ff438e'
* commit 'f5df897c4b61985e3afc89ba1290649712ff438e':
  examples/avcodec: split audio decoding into a separate example

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:43:47 +02:00
Clément Bœsch
b785af4868 Merge commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d'
* commit '40aaa8dadfd1c69ff4460d04750e1403b5535a6d':
  examples/avcodec: split audio encoding into a separate example

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-29 13:29:22 +02:00
Marton Balint
7cfa98fd94 configure: use c++11 and fallback to c++0x for c++ files
Needed for the C+11 atomics. Also change add_cxxflags to check_cxxflags.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-03-28 21:57:54 +02:00
Diego Biurrun
5a969f64b9 jack: Drop support for old (2012) JACK versions 2017-03-28 09:11:00 +02:00
Rostislav Pehlivanov
a8fe8d6b4a lavfi: remove af_asynts filter
Long overdue for removal, af_aresample should be used instead.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-03-27 14:06:16 +01:00
Diego Biurrun
75ef915434 configure: Disable inline assembly for PathScale compilers
These compilers pass the inline assembly check, but fail to compile
our inline assembly in various ways.
2017-03-27 09:47:58 +02:00
Timo Rothenpieler
bd717340a2 configure: cuvid hwaccels need the corresponding decoder, not the other way around 2017-03-25 22:39:01 +01:00
Diego Biurrun
d6390090c4 configure: Skip check for inline assembly capabilities when explicitly disabled
Otherwise inline assembly may get enabled when disabled on the command line.
2017-03-24 20:24:08 +01:00
James Almer
d07f2dacb9 Merge commit '1f821e5ad3f8ebacbbb362668561ad976c392c9e'
* commit '1f821e5ad3f8ebacbbb362668561ad976c392c9e':
  configure: Print warnings after all other output

Merged-by: James Almer <jamrial@gmail.com>
2017-03-23 18:43:39 -03:00
Diego Biurrun
dcc39ee10e lavc: Remove deprecated XvMC support hacks
Deprecated in 11/2013.
2017-03-23 10:09:14 +01:00
Clément Bœsch
ad98af27f7 Merge commit 'de2ae3c1fae5a2eb539b9abd7bc2a9ca8c286ff0'
* commit 'de2ae3c1fae5a2eb539b9abd7bc2a9ca8c286ff0':
  lavc: add clobber tests for the new encoding/decoding API

The merge only re-order what we already have.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-21 14:43:53 +01:00
Luca Barbato
bd805964f4 configure: Do not treat JACK as a system library
JACK is not commonly installed and should not be picked up as a
dependency unless specifically requested.
2017-03-21 04:23:41 +01:00
Gerion Entrup
5e3a418b60 add signature filter for MPEG7 video signature
This filter does not implement all features of MPEG7. Missing features:
- compression of signature files
- work only on (cropped) parts of the video

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-21 00:11:08 +01:00
Clément Bœsch
bbc3bde14f configure: fix crystalhd detection
Regression since 4563a86f01.

See 20c4fb2e01 for more information.

Tested-by: Michael Niedermayer <michael@niedermayer.cc>
2017-03-20 19:46:19 +01:00
Matthieu Bouron
d839c4716c configure: error out if jni is enabled and cannot be found 2017-03-20 18:48:44 +01:00
Ricardo Constantino
20c4fb2e01 configure: add stdint.h to x264 and xavs checks
Regression from 4563a86f01.
Both need stdint.h included before the respective x264.h and xavs.h.

Old require() used different, separate checks that didn't actually
need stdint.h to work. require2()'s (now require) check_func_headers()
does include stdint.h but only after the custom headers.

For libxavs this would also be consequently fixed by libav's
commit 20abcaa273 which wasn't merged yet.
2017-03-20 15:17:57 +01:00
Clément Bœsch
4563a86f01 Merge commit 'ab3554e1a7c04a5ea30f9c905de92348478ef7c8'
* commit 'ab3554e1a7c04a5ea30f9c905de92348478ef7c8':
  configure: Drop check_lib()/require() in favor of check_lib2()/require2()

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 12:23:02 +01:00
Clément Bœsch
100026bed6 Merge commit 'ec903058447ad5be34d89533962e9ae1aa1c78f7'
* commit 'ec903058447ad5be34d89533962e9ae1aa1c78f7':
  configure: Simplify clock_gettime() test

nanosleep check also updated.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 11:04:50 +01:00
Clément Bœsch
d0db00c808 configure: remove pod2man from the config list
The configure has the --disable-manpages option for this purpose, and
--disable-pod2man is currently ignored due to that. This is also
consistent with the other documentation options.
2017-03-20 10:45:48 +01:00
Clément Bœsch
3835283293 Merge commit '4fb311c804098d78e5ce5f527f9a9c37536d3a08'
* commit '4fb311c804098d78e5ce5f527f9a9c37536d3a08':
  Drop memalign hack

Merged, as this may indeed be uneeded since
46e3936fb0.

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-20 08:54:44 +01:00
Clément Bœsch
206a9fb29c Merge commit '46e3936fb04d06550151e667357065e3f646da1a'
* commit '46e3936fb04d06550151e667357065e3f646da1a':
  configure: Set __MSVCRT_VERSION__to 0x0700 for MinGW

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-19 18:21:56 +01:00
wang-bin
b573e3f484 configure: clang -Oz for small size build to reduce size further 2017-03-16 20:58:52 +01:00
James Almer
6c4665deb4 Merge commit '89aebc5bcc6e23a0a79c3f51c3a55c3571692ba0'
* commit '89aebc5bcc6e23a0a79c3f51c3a55c3571692ba0':
  lavc: align the linesize to 32 when AVX is enabled

Merged-by: James Almer <jamrial@gmail.com>
2017-03-15 22:16:53 -03:00
Ricardo Constantino
b409d8d4a2 configure: libnpp is always nonfree, even with LGPL
libnpp was erroneously grouped up with libfdk-aac and openssl to check
if --enable-nonfree wasn't passed only with --enable-gpl in
9f28db47ac. The latter two are compatible
with LGPL, libnpp is not.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-15 19:53:12 -03:00
Clément Bœsch
f6d61eb6f9 Merge commit '5ed4644d6de7f6112431dc2d9a5cfe9a0a75a688'
* commit '5ed4644d6de7f6112431dc2d9a5cfe9a0a75a688':
  x11grab: Rename internal component to "xcbgrab"

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-15 22:19:56 +01:00
Clément Bœsch
4a9c5f6bc5 Merge commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c'
* commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c':
  Remove the legacy X11 screen grabber

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-15 22:07:47 +01:00
Clément Bœsch
9f28db47ac Merge commit 'ae90119c6701fa09ff747cca35238e36b2d2ab2f'
* commit 'ae90119c6701fa09ff747cca35238e36b2d2ab2f':
  configure: Simplify license incompatibility check

An extra GPLV3 list is added for libsmbclient as having it in both GPL
and VERSION3 lists would cause a duplicate in the final config list.

Also, for consistency, libnpp is treated the same as the other nonfree
component (libfdk_aac and openssl).

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-15 21:19:57 +01:00
Luca Barbato
0d8013b88b configure: Replace -no_weak_symbols with -Werror=partial-availability
Jack uses weak symbols on purpose.
2017-03-15 20:24:52 +01:00
Clément Bœsch
67e2ba36ec Merge commit '100fb0ddfda958da70f98feac81f924c02483789'
* commit '100fb0ddfda958da70f98feac81f924c02483789':
  configure: Allow detecting and using LLVM lld-link as linker for windows

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-15 12:50:04 +01:00
Clément Bœsch
50d303a66a Merge commit '79fb0692992c74214c6cf8e81350fc93eeffc5ec'
* commit '79fb0692992c74214c6cf8e81350fc93eeffc5ec':
  configure: Move defines for controlling MSVCRT headers to the CRT detection section

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-15 12:44:35 +01:00
Clément Bœsch
132523448b Merge commit '56af0bc10f49654b5b5f3efe82c69a13bf15fc8b'
* commit '56af0bc10f49654b5b5f3efe82c69a13bf15fc8b':
  configure: Check for strtoll and redirect to _strtoi64 in the msvcrt block

Also includes _strtoui64 in the check.

Merged-by: Clément Bœsch <cboesch@gopro.com>
2017-03-15 12:39:34 +01:00
Mark Thompson
b9acc7fbd9 Merge commit 'ad71d3276fef0ee7e791e62bbfe9c4e540047417'
* commit 'ad71d3276fef0ee7e791e62bbfe9c4e540047417':
  lavfi: add a QSV deinterlacing filter

Minor fixup for lavfi differences.

Merged-by: Mark Thompson <sw@jkqxz.net>
2017-03-12 17:00:42 +00:00
Anton Khirnov
807a3b30d2 lavfi: add a QSV scaling filter
This merges libav commit ac7bfd6967,
which was previously skipped.

(cherry picked from commit ac7bfd6967)
Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-03-12 15:02:33 +00:00
Clément Bœsch
993a9a3d72 Merge commit 'b0f36a0043d76436cc7ab8ff92ab99c94595d3c0'
* commit 'b0f36a0043d76436cc7ab8ff92ab99c94595d3c0':
  avconv: stop using setpts for input framerate forced with -r

Merged-by: Clément Bœsch <u@pkh.me>
2017-03-12 13:08:04 +01:00
James Almer
dbc932e745 Revert "lavu/atomic: add support for the new memory model aware gcc built-ins"
This reverts commit faa9d29829.

This change became superfluous when support for C11 atomics was introduced.
Reverting it will make the removal of this implementation in an upcoming
merge conflict free.

Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-03-08 00:48:37 -03:00
Luca Barbato
81bffae368 configure: Check for -no_weak_imports in ldflags on macOS
Recent versions of macOS provide more POSIX API (in particular,
clock_gettime) than previous versions and recent Apple toolchains
provide all that API, even when targeting older releases without
said API. Disallow linking to functions which might not be available
at runtime.

To actually have an effect, either add
--extra-cflags="-mmacosx-version-min=10.11" (or any other version
prior to 10.12) or set MACOSX_DEPLOYMENT_TARGET=10.11 when running
configure.

As a workaround for libav versions without this fix, one can
also add --extra-cflags="-mmacosx-version-min=10.11
-Werror=partial-availability" while running configure.

The -no_weak_imports flag is new in Xcode 8; in Xcode 7 it is not
supported. This is not an issue since Xcode 7 only ships with the
10.11 macOS SDK, which lacks clock_gettime.

Bug-Id: 1033

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-03-07 09:48:55 +02:00
Diego Biurrun
003124ebf4 build: Fix logic of clock_gettime() check
We should only check for clock_gettime() if _POSIX_MONOTONIC_CLOCK is
available and do a full link check for clock_gettime() in all cases.
2017-03-07 08:32:37 +01:00
Diego Biurrun
57b753b445 build: Prefer NASM assembler over YASM
NASM is more actively maintained and permits generating dependency information
as a sideeffect of assembling, thus cutting build times in half.
2017-03-07 08:32:37 +01:00
Diego Biurrun
f54037da8a build: Make x86 assembler commandline-selectable 2017-03-07 08:32:37 +01:00
Diego Biurrun
51411eb7ff build: Special-case handling of SDL CFLAGS
SDL adds some "special" CFLAGS that interfere with building normal
binaries. Capture those CFLAGS separately and avoid adding them to
the general CFLAGS.
2017-03-07 08:32:37 +01:00
Diego Biurrun
808ef43597 build: Explicitly set 32-bit/64-bit object formats for nasm/yasm
Consistently use object format names with "32" suffix and set object format
to "win64" on Windows x86_64, which fixes assembling with nasm.
2017-03-05 14:38:56 +01:00
Diego Biurrun
5ff3b5cafc build: Add pthreads to list of avutil extralibs
libavutil uses pthreads in the buffer code (abstracted through a header).
2017-03-01 12:02:11 +01:00
Diego Biurrun
3c0efbd033 build: Allow generating dependencies as a side-effect of assembling 2017-03-01 10:18:15 +01:00
Diego Biurrun
39e208f4d4 build: Generalize yasm/nasm-related variable names
None of them are specific to the YASM assembler.
2017-03-01 10:18:15 +01:00
Diego Biurrun
58407b4d74 configure: Fix typo in objcc default setting
Also drop stray duplicate OBJCC config.mak entry.
2017-03-01 09:23:42 +01:00
Diego Biurrun
7cb1d9e2db build: Fine-grained link-time dependency settings
Previously, all link-time dependencies were added for all libraries,
resulting in bogus link-time dependencies since not all dependencies
are shared across libraries. Also, in some cases like libavutil, not
all dependencies were taken into account, resulting in some cases of
underlinking.

To address all this mess a machinery is added for tracking which
dependency belongs to which library component and then leveraged
to determine correct dependencies for all individual libraries.
2017-03-01 09:00:40 +01:00
Diego Biurrun
d154bdd3d0 configure: Simplify dlopen check 2017-03-01 09:00:40 +01:00
Diego Biurrun
21cca00dfe build: Explicitly disable external libraries when not explicitly enabled
Leaving those variables in an undefined state allows them getting implicitly
enabled when they are declared as weak dependencies of other components.
In that case, the library check is not run and required linker flags are not
added, resulting in a failing build.

Fixes linking when enabling libfreetype without libfontconfig.
2017-02-28 13:00:20 +01:00
Mark Thompson
359586f14f lavfi: Add VAAPI deinterlacer
(cherry picked from commit ade370a4d7)
(cherry picked from commit 2d518aec4c)
2017-02-23 22:08:26 +00:00
Paul B Mahol
20789372da avcodec/shorten: support decoding AIFF-C variant
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-02-23 23:03:27 +01:00
Diego Biurrun
7208e5b5d6 configure: Restructure the way check_pkg_config() operates
Have check_pkg_config() enable variables and set cflags and extralibs
instead of relegating that task to require_pkg_config. This simplifies
require_pkg_config(), is consistent with what other helper functions
like check_lib() do and allows getting rid of some manual variable
setting in places where check_pkg_config() is used.
2017-02-20 20:16:05 +01:00
Diego Biurrun
54e39b102e configure: Explicitly spell out first require_pkg_config() parameter
This is less confusing than encountering "" in the argument list.
2017-02-20 20:16:05 +01:00
Diego Biurrun
d00a0d8e84 configure: Handle SDL version check through pkg-config 2017-02-16 09:28:33 +01:00
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
Diego Biurrun
871b4f3654 configure: Check for xcb as well as xcb-shape before enabling libxcb
Newer versions of libxcb have xcb-foo pkg-config files that do not declare
their xcb dependency so that required linker flags will not be generated.
2017-02-15 10:33:34 +01: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
Luca Barbato
0ee78020cd configure: Move up the avbuild directory creation
The early check for inconsistent in-source vs out-of-source build
cannot generate a config.log otherwise.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2017-02-11 15:47:43 +01:00