1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

5069 Commits

Author SHA1 Message Date
Mark Thompson
9204b2deea lavfi: Add OpenCL overlay filter
Input and output formats must be the same, the overlay format must be
the same as the input except possibly with an additional alpha component.
2017-11-22 23:18:02 +00:00
Mark Thompson
7faae6e745 hwcontext_opencl: DRM to OpenCL mapping for ARM
Using cl_arm_import_memory.  Unfortunately, despite this not being a
standard extension, the function clImportMemoryARM() is not accessible
via clGetExtensionFunctionAddressForPlatform().  This means that it has
to be linked directly to the ARM OpenCL binary, so making a portable
binary is not possible as it is with all other mapping extensions.
2017-11-22 23:02:33 +00:00
Mark Thompson
f06754e4f3 hwcontext_opencl: D3D11 to OpenCL mapping
Using cl_khr_d3d11_sharing and cl_intel_d3d11_nv12_media_sharing.
2017-11-22 23:02:33 +00:00
Mark Thompson
9e7cda1b1e hwcontext_opencl: DXVA2 to OpenCL mapping
Using cl_khr_dx9_media_sharing.
2017-11-22 23:02:33 +00:00
Mark Thompson
403cde8e85 hwcontext_opencl: QSV to OpenCL mapping for Intel Media SDK
Uses the cl_intel_va_api_media_sharing extension, which supports only
NV12 surfaces and only mapping from QSV to OpenCL.
2017-11-22 23:02:33 +00:00
Mark Thompson
eb3e9f469a hwcontext_opencl: VAAPI to OpenCL mapping for Intel i965+beignet
Supports all surface formats in common between the two.
2017-11-22 23:02:33 +00:00
Mark Thompson
b25d8ef0a7 lavu: OpenCL hwcontext implementation 2017-11-22 23:02:29 +00:00
James Zern
b765a04550 configure: require libvpx-1.4.0 for vp[89] support
this will simplify libvpxenc/dec.c and ensure more stable versions of
the codecs are present.

Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: James Zern <jzern@google.com>
2017-11-20 16:02:21 -08:00
Philip Langdale
6b77a10e43 avcodec: Implement mpeg4 nvdec hwaccel
This was predictably nightmarish, given how ridiculous mpeg4 is.
I had to stare at the cuvid parser output for a long time to work
out what each field was supposed to be, and even then, I still don't
fully understand some of them. Particularly:

vop_coded: If I'm reading the decoder correctly, this flag will always
           be 1 as the decoder will not pass the hwaccel any frame
           where it is not 1.
divx_flags: There's obviously no documentation on what the possible
            flags are. I simply observed that this is '0' for a
            normal bitstream and '5' for packed b-frames.
gmc_enabled: I had a number of guesses as to what this mapped to.
             I picked the condition I did based on when the cuvid
             parser was setting flag.

Also note that as with the vdpau hwaccel, the decoder needs to
consume the entire frame and not the slice.
2017-11-20 07:21:41 -08:00
Philip Langdale
8bca292c30 avcodec: Implement mpeg1 nvdec hwaccel
Once I remembered that there's a separate decoder type for mpeg1,
even though params struct is shared with mpeg2, everything worked.
2017-11-20 07:03:26 -08:00
James Almer
c9cd990dcc Merge commit '3152058bf1dca318898550efacf0286f4836cae6'
* commit '3152058bf1dca318898550efacf0286f4836cae6':
  libavcodec: Don't use dllexport, only dllimport when building DLLs

Merged-by: James Almer <jamrial@gmail.com>
2017-11-19 18:26:45 -03:00
James Almer
c6f7eb8663 configure: fix module dependencies on zlib
select should not be used with external libraries. It's mean to soft
enable internal modules/features.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-19 18:14:48 -03:00
Martin Storsjö
3152058bf1 libavcodec: Don't use dllexport, only dllimport when building DLLs
The only purpose of dllexport (which is set while building the library
that exports the symbols) is to have the linker automatically
export such symbols into a DLL without using a def file - it doesn't
affect the generated code.

For both MSVC and mingw builds, this isn't essential since we override
what symbols to export via an autogenerated def file instead.

Update a comment in configure to refer to the right concept.

With lld, this avoids warnings about duplicate export directives,
when some symbols are requested to be exported both via dllexport
attributes and via the autogenerated def file.

This also reduces the number of lines of code marginally.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-11-19 22:01:38 +02:00
James Darnley
0b7cd29d47 configure: add audio_frame_queue dependency for aptx codec 2017-11-19 14:54:34 +01:00
Philip Langdale
7c9f739d86 avcodec: Implement mpeg2 nvdec hwaccel
This is mostly straight-forward. The weird part is that it should
just work for mpeg1, but I see corruption in my test cases, so I'm
going to try and fix that separately.
2017-11-18 08:13:50 -08:00
Timo Rothenpieler
4fb20d4e3a configure: call flatten_extralibs in a subshell
By putting the call in a subshell, the problem of it spilling
cleanup-decision from a previous library to other libraries is avoided.

For example, it could have already cleaned up cuda_extralibs in a
previous library that depended on cuda. Then when it gets to avutil, it
will never pick up the dependency of avutil to cuda, which depends on
libdl, which in turn results in a missing -ldl extralib, resulting in
link failures in certain configurations.
2017-11-16 17:39:39 +01:00
James Almer
edef07569c Merge commit 'bad7ce1d82f0b7da55086b8c6124eff0d35a1b1a'
* commit 'bad7ce1d82f0b7da55086b8c6124eff0d35a1b1a':
  makedef: Pass EXTERN_PREFIX from configure to makedef

Merged-by: James Almer <jamrial@gmail.com>
2017-11-16 13:12:59 -03:00
James Almer
1146a7a363 Merge commit 'd070b9b703a542429a13db9623109ae20474c775'
* commit 'd070b9b703a542429a13db9623109ae20474c775':
  configure: Coalesce some arch configuration and PIC handling

Merged-by: James Almer <jamrial@gmail.com>
2017-11-16 13:11:52 -03:00
James Almer
b449af20d5 Merge commit '9e48de3cc86c732d9cebd496d6f0a2b7e7732754'
* commit '9e48de3cc86c732d9cebd496d6f0a2b7e7732754':
  configure: Miscellaneous minor changes

Merged-by: James Almer <jamrial@gmail.com>
2017-11-16 13:11:24 -03:00
Martin Storsjö
bad7ce1d82 makedef: Pass EXTERN_PREFIX from configure to makedef
This avoids having to use either "dumpbin -headers" to find out
the current architecture, or pass $ARCH from configure to deduce it.

When configuring with --disable-asm, ARCH is equal to "c", which doesn't
give any indication of what symbol prefix is to be used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-11-16 16:54:08 +02:00
Diego Biurrun
d070b9b703 configure: Coalesce some arch configuration and PIC handling 2017-11-15 13:29:41 +01:00
Diego Biurrun
9e48de3cc8 configure: Miscellaneous minor changes
- Move a variable closer to where it is used
- Add an explanatory comment
- Simplify a crosscompile check
- Minor SHFLAGS simplification
- Coalesce some threads tests
2017-11-15 13:29:41 +01:00
Philip Langdale
912ceba61b avcodec: Implement vc1 nvdec hwaccel
This hwaccel is interesting because it also works for wmv3/9 content,
which is not supported by the nvidia parser used by cuviddec.
2017-11-14 19:40:01 -08:00
Aman Gupta
e7a5249ab1 avcodec/videotoolboxenc: add hevc_videotoolbox encoder
Signed-off-by: Aman Gupta <aman@tmm1.net>
Reviewed-by: Rodger Combs <rodger.combs@gmail.com>
2017-11-13 14:28:14 -08:00
Timo Rothenpieler
578addcff6 configure: factorize nvdec dependencies 2017-11-13 22:10:37 +01:00
Timo Rothenpieler
681c638fab configure: fix cuda dependency on nvdec 2017-11-13 22:10:37 +01:00
Timo Rothenpieler
f3f73f0893 avcodec: implement vp9 nvdec hwaccel 2017-11-13 20:33:10 +01:00
James Almer
d9ff1e4c8b configure: fix writing library dependencies to config.sh
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-12 23:04:17 -03:00
James Almer
b72ac6dbb8 configure: fix writing library dependencies to config.sh
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-12 23:02:31 -03:00
Aman Gupta
fd18d310ec lavf/tls_securetransport: build on iOS
This works as expected on iOS, except for the ca_file feature which
is disabled because SecItemImport is not available.

Signed-off-by: Aman Gupta <aman@tmm1.net>
2017-11-12 14:37:12 -08:00
James Almer
ccf7bca1c9 Merge commit '17b6c7efb471e8ff1b8a7271f6531ba1d52bf69c'
* commit '17b6c7efb471e8ff1b8a7271f6531ba1d52bf69c':
  build: Add missing config.sh dependency for pkg-config files

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 01:02:02 -03:00
James Almer
792802f5f9 Merge commit '8e0febe28effe7f427e45190eab37110126161ea'
* commit '8e0febe28effe7f427e45190eab37110126161ea':
  configure: Use right variable and right value for AIX ar flags

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 00:51:21 -03:00
James Almer
221d813599 Merge commit '2cf3c0ab0d84b5cdb379059f8570809a13a306b9'
* commit '2cf3c0ab0d84b5cdb379059f8570809a13a306b9':
  Revert "configure: Detect AIX ar command instead of hardcoding it in the OS section"

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 00:43:08 -03:00
James Almer
e55781954f Merge commit '192fe52e42f64a493c47cad1461b20fe1149dbea'
* commit '192fe52e42f64a493c47cad1461b20fe1149dbea':
  configure: Miscellaneous minor changes to config file handling

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 00:39:41 -03:00
James Almer
e0f84c303d Merge commit '61a17423d3711cb34a18b44e1ec2510c2f70a56c'
* commit '61a17423d3711cb34a18b44e1ec2510c2f70a56c':
  configure: Miscellaneous small changes to helper functions

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 00:38:09 -03:00
James Almer
5b5365fe9d Merge commit '67c72f08a4707c18a67a4734660e3a23cc9488b6'
* commit '67c72f08a4707c18a67a4734660e3a23cc9488b6':
  configure: Stop using dlltool to create an import library

Merged-by: James Almer <jamrial@gmail.com>
2017-11-12 00:20:34 -03:00
James Almer
82fc222f67 Merge commit '9dc79b2943d99f256a3279f09580b27a95fb9aa8'
* commit '9dc79b2943d99f256a3279f09580b27a95fb9aa8':
  configure: Drop support for legacy PGI compiler

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 23:43:36 -03:00
James Almer
12f4e2ba02 Merge commit '0af8a72174108b9bb482f1073a1e9a3bc258af51'
* commit '0af8a72174108b9bb482f1073a1e9a3bc258af51':
  build: Drop support for legacy TI ARM compiler

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 23:41:35 -03:00
James Almer
3749d0defc Merge commit '68649bfed30a35dc3e45ea240541b2774b2f282b'
* commit '68649bfed30a35dc3e45ea240541b2774b2f282b':
  configure: Group system feature variables and system libraries together

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 23:21:55 -03:00
James Almer
d168ff70ea Merge commit '62be1caf161c1241a9e148f347850cfe092588dc'
* commit '62be1caf161c1241a9e148f347850cfe092588dc':
  configure: Bail out early if neither static nor shared libs are built

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 23:11:44 -03:00
James Almer
3e9fd83592 Merge commit 'c6496de33456f20144b994ac38f308f2de333608'
* commit 'c6496de33456f20144b994ac38f308f2de333608':
  configure: Move enabling libc_type into probe_libc() function

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 23:09:21 -03:00
James Almer
fb94e7b39a Revert "Merge commit '8e97a8c69162afce47abea96c8c0914f3550e212'"
This reverts commit 1a4315f24d, reversing
changes made to 869401cefc.

At least one distro (Arch) ships gsm.h inside the gsm/ folder
2017-11-11 18:04:22 -03:00
James Almer
5fd3e6c3a6 Merge commit '41df62fd674bd0c67f7b6952381d235a393245d6'
* commit '41df62fd674bd0c67f7b6952381d235a393245d6':
  configure: Set the default assembler to armasm64 for MSVC for arm64

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 17:48:11 -03:00
James Almer
1338cc1ac2 Merge commit '40d5df67d2c4e1f0dd1e902435567eb5edad6a9a'
* commit '40d5df67d2c4e1f0dd1e902435567eb5edad6a9a':
  configure: Add a comment about why we don't try to enable pic on arm on target_os=win32

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:58:15 -03:00
James Almer
ce726e7757 Merge commit '0ca66409911e9fba940424be8bdfa54e056b0a4b'
* commit '0ca66409911e9fba940424be8bdfa54e056b0a4b':
  configure: Don't add -fPIC to asflags when targeting windows

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:56:59 -03:00
James Almer
7e3d6f10f0 Merge commit 'f951837ce58e8588b175fb53a76fd453a81528ec'
* commit 'f951837ce58e8588b175fb53a76fd453a81528ec':
  configure: Don't add -fPIC to cflags for target_os=win32

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:55:43 -03:00
James Almer
3f27200954 Merge commit '7ac092d05de487d088bc96ab4a7bd6207fbfa98c'
* commit '7ac092d05de487d088bc96ab4a7bd6207fbfa98c':
  build: CryptGenRandom --> wincrypt, it is a better name

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:53:19 -03:00
James Almer
8882e8ad0d Merge commit '93797681c2310faeeb0158f66f471965213904c6'
* commit '93797681c2310faeeb0158f66f471965213904c6':
  build: Rename stdatomic_h variable to stdatomic

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:50:35 -03:00
James Almer
84522ad3fe Merge commit '62d5b5a9d3b0181335072d6fa792f2d805bc27b6'
* commit '62d5b5a9d3b0181335072d6fa792f2d805bc27b6':
  configure: Extend check_header() to allow checking for multiple headers

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:48:49 -03:00
James Almer
4e754e9419 Merge commit 'b46900914a1f25ce8dbf49d7c53766ff1f18b60f'
* commit 'b46900914a1f25ce8dbf49d7c53766ff1f18b60f':
  build: Merge mach/mach_time.h and mach_absolute_time() checks

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:42:27 -03:00
James Almer
e2989c74dc Merge commit '76481f57b528168b00035aee76f7e0878669011f'
* commit '76481f57b528168b00035aee76f7e0878669011f':
  configure: Remove pointless empty *_COMPONENTS variables

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:31:40 -03:00
James Almer
b9ab980cd9 Merge commit '1c047c8f4d5e016e89250afdeb88a4fea707cc1c'
* commit '1c047c8f4d5e016e89250afdeb88a4fea707cc1c':
  configure: Drop stray extralibs for libspeex

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:30:11 -03:00
James Almer
814e217d14 Merge commit '3e5950287317938e6b81e7ef8f024b403c303289'
* commit '3e5950287317938e6b81e7ef8f024b403c303289':
  configure: Drop unused attribute checks

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:28:42 -03:00
James Almer
08fd6e8e3c Merge commit '421c10ed4fb0475a2cb055dd130ba12a6adb9f70'
* commit '421c10ed4fb0475a2cb055dd130ba12a6adb9f70':
  configure: Drop test for fork()

We keep the check as it's needed by the http_multiclient example.

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:23:48 -03:00
James Almer
fdd03d2d79 Merge commit 'b586903ae1b89e2d8b99c79f33cabe9b3ca03784'
* commit 'b586903ae1b89e2d8b99c79f33cabe9b3ca03784':
  build: Drop redundant check for soundcard.h

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:19:50 -03:00
James Almer
1a4315f24d Merge commit '8e97a8c69162afce47abea96c8c0914f3550e212'
* commit '8e97a8c69162afce47abea96c8c0914f3550e212':
  build: Remove check for gsm/gsm.h for libgsm

Also includes fix from 010baac12a

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:13:23 -03:00
James Almer
869401cefc Merge commit '29ccc641b17afad058a5c24071ea827865a8b3a9'
* commit '29ccc641b17afad058a5c24071ea827865a8b3a9':
  build: Drop check for sys/mman.h in favor of mmap() check

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:09:09 -03:00
James Almer
084e7fbe49 Merge commit 'e7168d4c0cb279cf267690549ca92ad564572bc6'
* commit 'e7168d4c0cb279cf267690549ca92ad564572bc6':
  configure: Drop redundant header check for d3d11.h

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:05:45 -03:00
James Almer
1409c2b7ba Merge commit '4064f42889685e7122cfad4934b060098c147753'
* commit '4064f42889685e7122cfad4934b060098c147753':
  build: Drop explicit check for dlfcn.h

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:03:21 -03:00
James Almer
0efdc768eb Merge commit 'fca9ca539c8c6e4fe0072486c7e0479a08a15e7c'
* commit 'fca9ca539c8c6e4fe0072486c7e0479a08a15e7c':
  configure: Drop unused or internally-used entries from variable lists

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 16:00:30 -03:00
James Almer
c584368817 Merge commit '09c98327b9f25c6c1716c0ee82ce09d8b484887a'
* commit '09c98327b9f25c6c1716c0ee82ce09d8b484887a':
  build: Drop support for Tru64 Unix (OSF/1)

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:56:27 -03:00
James Almer
93ccba96df Merge commit 'd66fe7ff53a5cade7a702100a9006dfe5ae1c473'
* commit 'd66fe7ff53a5cade7a702100a9006dfe5ae1c473':
  configure: Add test_pkg_config()

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:35:32 -03:00
James Almer
4391d6cb81 Merge commit 'a5a6ac1a123a927e5bed984ed757a29b7ff87dab'
* commit 'a5a6ac1a123a927e5bed984ed757a29b7ff87dab':
  libavfilter/overlay_qsv: Add QSV overlay vpp filter
  libavfilter/vf_vpp: Add common filters of the qsv vpp

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 15:07:06 -03:00
James Almer
98a9b1f0de Merge commit 'accb06120c13a4ead442464d96f2fa318fa07a4e'
* commit 'accb06120c13a4ead442464d96f2fa318fa07a4e':
  configure: Use dllexport/dllimport for data symbols across DLLs with mingw

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 13:15:42 -03:00
James Almer
f87ad3a058 Merge commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e'
* commit 'e41daa62465036ad36ad0bd14e4936e848d7f07e':
  Remove support for building for mingw32ce (Windows CE)

Merged-by: James Almer <jamrial@gmail.com>
2017-11-11 10:22:11 -03:00
James Almer
1178babaca Merge commit 'b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88'
* commit 'b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88':
  hevcdec: add a CUVID hwaccel

Adapted for ffmpeg by Timo Rothenpieler.

Merged-by: James Almer <jamrial@gmail.com>
2017-11-10 20:43:15 -03:00
Anton Khirnov
0e00624389 h264dec: add a NVDEC hwaccel
Some parts of the code are based on a patch by
Timo Rothenpieler <timo@rothenpieler.org>

Merges Libav commit b9129ec466.

Due to the name clash with our cuvid decoder, rename it to nvdec.

This commit also changes the Libav code to dynamic loading of the
cuda/cuvid libraries.

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-11-10 22:48:53 +01:00
James Almer
28f5753fed configure: fix the non pkg-config libmfx check on Windows
Based on a patch by Aaron Levinson.

Reviewed-by: alevinsn
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-09 15:27:43 -03:00
Diego Biurrun
17b6c7efb4 build: Add missing config.sh dependency for pkg-config files
Also only update config.sh when it changed to avoid spurious rebuilds.
2017-11-09 15:22:03 +01:00
James Almer
69218b4198 configure: add missing avutil deps for hwcontext modules
Fixes ticket #6812

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-08 19:32:26 -03:00
James Almer
1926f13a20 Merge commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2'
* commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2':
  libavcodec/mjpeg_qsv: Add QSV MJPEG encoder

Merged-by: James Almer <jamrial@gmail.com>
2017-11-08 13:45:09 -03:00
Carl Eugen Hoyos
15c632719a configure: libvmaf is not GPLv2-compatible.
It is licensed under Apache 2.0.
2017-11-07 13:49:20 +01:00
James Almer
d9e59029a1 Merge commit '0e83e95c60892747f2f1bd8382f915f2397f99a5'
* commit '0e83e95c60892747f2f1bd8382f915f2397f99a5':
  configure: Reset X86ASM_DEP(FLAGS) when probing for the assembler program

See f66086adac

Merged-by: James Almer <jamrial@gmail.com>
2017-11-06 18:15:33 -03:00
James Almer
88d6f79ac0 Merge commit '857e26b655a769e5a56bada1a0d9adb44cc176b7'
* commit '857e26b655a769e5a56bada1a0d9adb44cc176b7':
  build: Add an option for passing linker flags to the shared library build

See e34a3468f2.

--extra-ldlibflags is left in place for compatibility reasons.

Merged-by: James Almer <jamrial@gmail.com>
2017-11-06 17:57:53 -03:00
James Almer
7a5a1c8c97 Merge commit '333a34da3a6d13155de480e7d16ec5fec7f4cd6c'
* commit '333a34da3a6d13155de480e7d16ec5fec7f4cd6c':
  configure: Automatically add -isysroot for darwin if --sysroot is specified

Merged-by: James Almer <jamrial@gmail.com>
2017-11-06 17:50:00 -03:00
Diego Biurrun
8e0febe28e configure: Use right variable and right value for AIX ar flags 2017-11-04 22:26:23 +01:00
Diego Biurrun
2cf3c0ab0d Revert "configure: Detect AIX ar command instead of hardcoding it in the OS section"
This reverts commit 4822ee3ca6.
AIX is a fringe oddity. Do not clutter the main codepath with AIX workarounds.
2017-11-03 16:46:27 +01:00
Diego Biurrun
9b0aff51a7 configure: Simplify MIPS instruction set handling 2017-11-02 11:00:25 +01:00
Diego Biurrun
192fe52e42 configure: Miscellaneous minor changes to config file handling
- Move generating config.fate to a more sensible place.
- Move printing warnings to a more appropriate place.
- Improve "generated by" comment in libavutil/avconfig.h.
- Drop pointless informative output about generating config files.
- Write a standard comment header to config.asm as well.
2017-11-02 11:00:24 +01:00
Diego Biurrun
61a17423d3 configure: Miscellaneous small changes to helper functions
- Reuse sanitize_var_name() where appropriate
- Add some quotes to enabled()/disabled() to ease readability
- Fix logged names of some helper functions
- Filter LDFLAGS also in test_ldflags()
2017-11-02 10:55:47 +01:00
Diego Biurrun
14bba662d4 configure: Remove unused apply() helper function 2017-11-02 10:55:47 +01:00
James Almer
7e5ebd0009 Merge commit '7b1f9873be2f9d5aea2762c9197ff46df82768dc'
* commit '7b1f9873be2f9d5aea2762c9197ff46df82768dc':
  build: Adjust dependencies for faan(i)dct components

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 20:56:07 -03:00
James Almer
9f10052c9d Merge commit '635897ac78ef29869f0321ab921c91b3e1aad453'
* commit '635897ac78ef29869f0321ab921c91b3e1aad453':
  configure: Factorize qsv dependencies

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 20:51:03 -03:00
James Almer
6c35f89067 Merge commit 'c599c43fa147d7a001cdbf8f3b7da0a965f2e285'
* commit 'c599c43fa147d7a001cdbf8f3b7da0a965f2e285':
  configure: Add missing arch dependencies for arch extensions

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 20:39:37 -03:00
James Almer
7116e6894b Merge commit '9d12dd6fa84d9f6094bdf0fdae62527ecec0bbb6'
* commit '9d12dd6fa84d9f6094bdf0fdae62527ecec0bbb6':
  configure: Add x86 dependency for mmx_internal

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 20:33:47 -03:00
James Almer
5352db1dd0 Merge commit 'e2edf1529cb35eaf043e3f8e5cba498ed06e2563'
* commit 'e2edf1529cb35eaf043e3f8e5cba498ed06e2563':
  configure: Simplify AltiVec/VSX check with a helper function

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 20:18:54 -03:00
James Almer
2eb20caccf Merge commit 'd76479c5020ca43e67d47ba3767146b192dc4782'
* commit 'd76479c5020ca43e67d47ba3767146b192dc4782':
  ppc: Drop support for Apple GCC

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 20:16:33 -03:00
James Almer
4600b0619a Merge commit '61cec5adaacb358783c18aa07362f15824c1b274'
* commit '61cec5adaacb358783c18aa07362f15824c1b274':
  tls: Hide backend implementation details from users

Also includes ed434be106
Changes were made to support schannel and securetransport.

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 16:52:05 -03:00
James Almer
9c2f477151 Merge commit '4d444d04c1e19cd02ac836d411433906a9f32613'
* commit '4d444d04c1e19cd02ac836d411433906a9f32613':
  configure: Default to _WIN32_WINNT=0x0502 (XP) as minimum, for legacy mingw

See 69f7aad571

Merged-by: James Almer <jamrial@gmail.com>
2017-11-01 13:47:02 -03:00
James Almer
092951f4a8 Merge commit '6a7e928555d081ff86c867867ebce74fdc4c87d6'
* commit '6a7e928555d081ff86c867867ebce74fdc4c87d6':
  configure: Do not check for the __builtin_vec_vsx_ld

Merged-by: James Almer <jamrial@gmail.com>
2017-10-31 13:11:02 -03:00
James Almer
921993503b Merge commit 'd7320ca3ed10f0d35b3740fa03341161e74275ea'
* commit 'd7320ca3ed10f0d35b3740fa03341161e74275ea':
  arm: Avoid using .dn register aliases

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 21:00:51 -03:00
James Almer
71bf534dd6 Merge commit '59cee42d7d22530e66a155305389e29679b11f78'
* commit '59cee42d7d22530e66a155305389e29679b11f78':
  arm: Check for the .arch directive in configure

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 20:04:46 -03:00
James Almer
b9d3def9b2 Merge commit 'b5f19f7478492307e4b4763aeac3180faf50e17f'
* commit 'b5f19f7478492307e4b4763aeac3180faf50e17f':
  aac: Split function to parse ADTS header data into public and private part

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 18:56:45 -03:00
Martin Storsjö
67c72f08a4 configure: Stop using dlltool to create an import library
There shouldn't be any functional difference between the import
library created by dlltool and the one produced by the linker itself.
Keep installing it with both names though, for compatibility with users
that expect both to exist.

The dlltool step was added in ec10a9ab4; prior to that, a MSVC
compatible import library was generated using lib.exe. After that
commit, there was no functional difference between the two import
libraries (and since MSVC 2012, link.exe works just fine with the
GNU binutils generated one).

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-10-30 21:22:24 +02:00
James Almer
9b0ddd1d87 Merge commit '44aafa3325ec09a120bdb81b8579b8dfd65b1693'
* commit '44aafa3325ec09a120bdb81b8579b8dfd65b1693':
  configure: Properly escape arguments in filter/filter_out helper functions

Merged-by: James Almer <jamrial@gmail.com>
2017-10-30 13:55:41 -03:00
James Almer
93a1aac441 configure: add missing llvidencdsp dependency to MagicYUV encoder
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-28 13:14:51 -03:00
James Almer
cdba33c45f Merge commit 'b62ed6873821c8fce8f7e2c2927ae54f86afeb22'
* commit 'b62ed6873821c8fce8f7e2c2927ae54f86afeb22':
  configure: Better names for functions that sanitize input

Merged-by: James Almer <jamrial@gmail.com>
2017-10-26 16:14:54 -03:00
James Almer
c64800e976 configure: add optional zlib dependency to avformat
id3v2 code is compiled unconditionally and uses zlib when available.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-26 15:29:49 -03:00
James Almer
5de85c1029 Merge commit '10f4511f14a4e830c0ed471df4cd1cc2a18a481a'
* commit '10f4511f14a4e830c0ed471df4cd1cc2a18a481a':
  libavutil: Make LOCAL_ALIGNED(xx be equal to LOCAL_ALIGNED_xx(

Also added LOCAL_ALIGNED_4 as it's used in vp8 decoder, and
simplified the configure defines.

Merged-by: James Almer <jamrial@gmail.com>
2017-10-26 14:06:34 -03:00
Diego Biurrun
9dc79b2943 configure: Drop support for legacy PGI compiler 2017-10-25 13:39:58 +02:00
Diego Biurrun
0af8a72174 build: Drop support for legacy TI ARM compiler 2017-10-25 13:39:58 +02:00
Mark Thompson
a126b67e1b configure: Add config option for libva2 (VAAPI 1) 2017-10-24 23:53:44 +01:00
James Almer
6821b693ec Merge commit '5a969f64b9cf40bad923c73b66c3031b0018e848'
* commit '5a969f64b9cf40bad923c73b66c3031b0018e848':
  jack: Drop support for old (2012) JACK versions

Merged-by: James Almer <jamrial@gmail.com>
2017-10-24 19:17:02 -03:00
James Almer
acf70639fb Merge commit '75ef91543422049a01b594925fcdb182ea12eb09'
* commit '75ef91543422049a01b594925fcdb182ea12eb09':
  configure: Disable inline assembly for PathScale compilers

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 20:47:23 -03:00
James Almer
4e6c85b3ba Merge commit 'd6390090c4dbd766b77353553d9cb4fb4fb41ebd'
* commit 'd6390090c4dbd766b77353553d9cb4fb4fb41ebd':
  configure: Skip check for inline assembly capabilities when explicitly disabled

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 19:42:23 -03:00
James Almer
b773a8d8c1 Merge commit 'dd343fd986459f467a2d1d70c26101dff1d47d68'
* commit 'dd343fd986459f467a2d1d70c26101dff1d47d68':
  lavu: Drop deprecated VDPAU pixel formats

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 18:15:49 -03:00
James Almer
b46613dd9b Merge commit 'dcc39ee10e82833ce24aa57926c00ffeb1948198'
* commit 'dcc39ee10e82833ce24aa57926c00ffeb1948198':
  lavc: Remove deprecated XvMC support hacks

Merged-by: James Almer <jamrial@gmail.com>
2017-10-23 15:20:49 -03:00
Clément Bœsch
2b32031827 lavc: drop VDA
Deprecated (aka removed) in OSX 10.11, and we have a replacement for it
(VideoToolbox).
2017-10-23 11:56:15 +02:00
Diego Biurrun
68649bfed3 configure: Group system feature variables and system libraries together 2017-10-22 05:53:03 +02:00
James Almer
a2a7b02fbd Merge commit 'bd805964f40f7af83da64645ba83d1e8060a1214'
* commit 'bd805964f40f7af83da64645ba83d1e8060a1214':
  configure: Do not treat JACK as a system library

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 14:10:39 -03:00
James Almer
13c84b077a Merge commit '0d8013b88b1cb7d65da891a8819d3beebafb9bb5'
* commit '0d8013b88b1cb7d65da891a8819d3beebafb9bb5':
  configure: Replace -no_weak_symbols with -Werror=partial-availability

Merged-by: James Almer <jamrial@gmail.com>
2017-10-21 12:50:49 -03:00
Michael Bradshaw
279dc40716 lavc: drop support for OpenJPEG 1.3-2.0
We now require 2.1+ with pkg-config.

Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
2017-10-20 17:35:28 -07:00
Diego Biurrun
62be1caf16 configure: Bail out early if neither static nor shared libs are built 2017-10-19 18:09:39 +02:00
Diego Biurrun
c6496de334 configure: Move enabling libc_type into probe_libc() function 2017-10-19 18:09:39 +02:00
Jan Ekström
247281e805 configure: add pkg-config check for alsa
Helps with use cases such as static linking, as the .pc file
does actually contain the necessary Libs.private entries for all
required dependencies.
2017-10-18 17:37:28 +03:00
Martin Storsjö
41df62fd67 configure: Set the default assembler to armasm64 for MSVC for arm64
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-10-18 10:49:48 +03:00
Mark Thompson
d8928ad6b6 vaapi_mpeg2: Convert to use coded bitstream infrastructure
(cherry picked from commit 10eb496d9a)
2017-10-17 20:56:30 +01:00
Mark Thompson
00179664bc vaapi_h265: Convert to use coded bitstream infrastructure
Also improves the metadata and generally makes the configuration
a bit cleaner.

(cherry picked from commit ac12486714)
2017-10-17 20:56:30 +01:00
Mark Thompson
2e29ca2a9f vaapi_h264: Convert to use coded bitstream infrastructure
(cherry picked from commit 7a4fac5e91)
2017-10-17 20:56:30 +01:00
Mark Thompson
569721ac8d lavc: Add mpeg2_metadata bitstream filter
(cherry picked from commit b78c30d7ec)
2017-10-17 20:56:30 +01:00
Mark Thompson
03f982bbca 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.

(cherry picked from commit b31a9eae02)
2017-10-17 20:56:30 +01:00
Mark Thompson
8b26306294 lavc: Add h264_redundant_pps bitstream filter
This applies a specific fixup to some Blu-ray 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.

(cherry picked from commit e6874bc3af)
2017-10-17 20:56:30 +01:00
Mark Thompson
a308872b04 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.

(cherry picked from commit 9e93001b61)
(cherry picked from commit c42b62d1f9)
2017-10-17 20:56:29 +01:00
Mark Thompson
9c7d70b49b lavc: Add trace_headers bitstream filter
Supports all streams that the coded bitstream infrastructure does
(currently H.264, H.265 and MPEG-2).

(cherry picked from commit f11d8a5e8b)
2017-10-17 20:56:29 +01:00
Mark Thompson
686e388bbb lavc: Add coded bitstream read/write support for MPEG-2
(cherry picked from commit 2bc9ba8d3c)
(cherry picked from commit a41b69b5eb)
2017-10-17 20:56:29 +01:00
Mark Thompson
9b0c7aa0e4 lavc: Add coded bitstream read/write support for H.265
(cherry picked from commit 867381b8b5)
(cherry picked from commit f763489364)
(cherry picked from commit 067a9ddeb8)
2017-10-17 20:56:29 +01:00
Mark Thompson
b4c915f4b3 lavc: Add coded bitstream read/write support for H.264
(cherry picked from commit acf06f4544)
(cherry picked from commit 768eb9182e)
(cherry picked from commit e7f64191b2)
2017-10-17 20:56:29 +01:00
Mark Thompson
6734eef6b8 lavc: Add coded bitstream read/write API
(cherry picked from commit 18f1706f33)
(cherry picked from commit 44cde38c8a)
2017-10-17 20:56:29 +01:00
James Almer
d8f382ce05 Merge commit '81bffae368f331b6cd386a814f225a58e3f32f40'
* commit '81bffae368f331b6cd386a814f225a58e3f32f40':
  configure: Check for -no_weak_imports in ldflags on macOS

Merged-by: James Almer <jamrial@gmail.com>
2017-10-17 15:14:10 -03:00
James Almer
15b86d3b4a configure: add missing optional dep on libfribidi to the drawtext filter
Fixes ticket #6740

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-17 01:17:32 -03:00
James Almer
ae6fe04bee configure: add missing optional deps on gcrypt and openssl to the hls muxer
Should fix ticket #6738

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-16 17:47:01 -03:00
James Almer
0655810072 configure: add pkg-config checks for libcdio/cdparanoia
Should be more complete than the now fallback checks.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-14 21:36:14 -03:00
James Almer
ad56e8057d configure: force erroring out in check_disable_warning() if an option doesn't exists
Should prevent some options from being added to cflags when they
don't exist and the compiler only warns about it.

Reviewd-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 20:57:05 -03:00
Reino Wijnsma
458783315b configure: switch the libzvbi check to pkg-config
The library has several dependencies that vary between systems.
Their pkg-config properly lists them all.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 20:22:44 -03:00
James Almer
fa5e71a815 configure: add missing pthreads extralib to the libilbc check
Debugged with the help of Reino Wijnsma.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 19:50:43 -03:00
James Almer
854c4e974d configure: add a -lstdc++ flag to the some external library checks
Two of them are missing it in their pkg-config file, so adding it
here is a workaround until said pkg-config files are fixed.

Debugged with the help of Reino Wijnsma.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 19:49:56 -03:00
Josh de Kock
762ab2de6e Remove dv1394 input device
Support for this device has been removed in the Linux kernel since v2.6.37.
dv1394 has been superseded by libiec61883 which is functionally equivalent.

Signed-off-by: Josh de Kock <josh@itanimul.li>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-10-13 23:57:59 +02:00
Diego Biurrun
8e7e042d41 Remove all output devices
The libavformat API is not suitable for exporting output devices as muxers.
Some practical problems are e.g. lack of timing/synchronization mechanisms
or interaction with output-specific features.
2017-10-13 23:57:01 +02:00
James Almer
6b52c0b583 configure: add missing zlib extralibs to the libmysofa check
Should fix checks with static builds.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 11:22:54 -03:00
James Almer
15dc897582 configure: list libv4l2 as an optional library for v4l2
Fixes regression since 6dfcbd80ad
and 734ed38931.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-13 10:24:09 -03:00
James Almer
34dbee9f60 configure: explicitly list videotoolbox deps for avutil
There's a bug in configure where they are not being resolved right,
so make them explicit deps for avutil for now.
2017-10-12 21:04:26 -03:00
Luca Barbato
abb5efca26 configure: Fix sem_timedwait probe
(cherry-picked from libav commit 41262498ff)
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-12 20:28:10 -03:00
James Almer
4440bcf6a0 configure: fix pthread_cancel check
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-12 20:24:36 -03:00
James Almer
9c0279bc2c configure: fix CoreGraphics module name
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-12 20:05:39 -03:00
James Almer
583003670f Merge commit '003124ebf4a05f1347c74104216887ddd2e5aad4'
* commit '003124ebf4a05f1347c74104216887ddd2e5aad4':
  build: Fix logic of clock_gettime() check

Merged-by: James Almer <jamrial@gmail.com>
2017-10-12 17:52:43 -03:00
James Almer
4226c57b2b configure: add missing libfontconfig and libfreetype dependencies to showcqt filter
Tested-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-12 17:36:58 -03:00
Martin Storsjö
40d5df67d2 configure: Add a comment about why we don't try to enable pic on arm on target_os=win32
Signed-off-by: Martin Storsjö <martin@martin.st>
2017-10-12 21:49:16 +03:00
Martin Storsjö
0ca6640991 configure: Don't add -fPIC to asflags when targeting windows
On X86 windows, asflags weren't actually ever used for anything,
since assembling used x86asflags instead, and that flags list
had -DPIC already.

This fixes building shared libraries with clang for arm/aarch64
windows. (This wasn't an issue when in msvc mode before, since
we don't try to enable pic at all there, since the msvc armasm
assembler fails on our pic constructs there.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-10-12 21:49:13 +03:00
Martin Storsjö
f951837ce5 configure: Don't add -fPIC to cflags for target_os=win32
We skipped adding it to cflags for mingw/cygwin configurations
where the compiler either complains loudly or even errors out;
do the same for target_os=win32, for the case when building with
clang in msvc mode.

This wasn't needed for the actual msvc before, since msvc uses
msvc_common_flags to filter out this flag from cflags.
When building with clang in msvc mode, no such filter is used.

This fixes building shared libraries with clang in msvc mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-10-12 21:49:08 +03:00
Diego Biurrun
7ac092d05d build: CryptGenRandom --> wincrypt, it is a better name 2017-10-12 20:04:18 +02:00