Commit Graph

2919 Commits

Author SHA1 Message Date
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
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
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
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
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 14bba662d4 configure: Remove unused apply() helper function 2017-11-02 10:55:47 +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
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
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
Diego Biurrun 68649bfed3 configure: Group system feature variables and system libraries together 2017-10-22 05:53:03 +02: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
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
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
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
Diego Biurrun 93797681c2 build: Rename stdatomic_h variable to stdatomic
It does not represent a header but a complete system capability.
2017-10-12 20:04:17 +02:00
Diego Biurrun 62d5b5a9d3 configure: Extend check_header() to allow checking for multiple headers
Also use that new capability to simplify bktr header checks.
2017-10-12 20:04:17 +02:00
Diego Biurrun b46900914a build: Merge mach/mach_time.h and mach_absolute_time() checks 2017-10-12 20:04:16 +02:00
Diego Biurrun 4f6401df43 configure: Merge separate parts of GnuTLS test 2017-10-12 20:04:16 +02:00
Diego Biurrun 3613063e87 configure: Simplify nvenc check (and move it to the correct spot) 2017-10-12 20:04:15 +02:00
Diego Biurrun 8594ec3dd5 configure: Drop fallback for deprecated avserver command line options 2017-10-12 20:04:15 +02:00
Diego Biurrun a688b64fcf configure: Drop feature for randomly disabling/enabling components
This feature was never used for anything.
2017-10-12 20:04:15 +02:00
Diego Biurrun 010baac12a configure: Fix stupid typo in gsm.h header name 2017-10-11 18:58:00 +02:00
Diego Biurrun 76481f57b5 configure: Remove pointless empty *_COMPONENTS variables 2017-10-10 23:20:21 +02:00
Diego Biurrun 1c047c8f4d configure: Drop stray extralibs for libspeex
These extralibs are set by pkg-config already.
2017-10-10 23:20:20 +02:00
Diego Biurrun 3e59502873 configure: Drop unused attribute checks 2017-10-10 23:20:19 +02:00
Diego Biurrun 421c10ed4f configure: Drop test for fork()
fork() is never used conditionally.
2017-10-10 23:20:18 +02:00
Diego Biurrun b586903ae1 build: Drop redundant check for soundcard.h
It should be sys/soundcard.h nowadays.
2017-10-10 23:20:17 +02:00
Diego Biurrun 8e97a8c691 build: Remove check for gsm/gsm.h for libgsm
libgsm never installed more than a single header, the headers installed into
the gsm/ subdirectory by some distros are private. Who started this nonsense
is a mystery, but it got cargo-culted around ever since.
2017-10-10 23:20:16 +02:00
Diego Biurrun 29ccc641b1 build: Drop check for sys/mman.h in favor of mmap() check
We already rely on just mmap() in other places.
2017-10-10 23:20:16 +02:00
Diego Biurrun e7168d4c0c configure: Drop redundant header check for d3d11.h
It is detected as a part of the ID3D11VideoDecoder check.
2017-10-10 23:20:11 +02:00
Diego Biurrun 4064f42889 build: Drop explicit check for dlfcn.h
It is detected as a part of the libdl check.
2017-10-10 23:20:10 +02:00
Diego Biurrun fca9ca539c configure: Drop unused or internally-used entries from variable lists
The variable lists are for variables whose values end up in output files.
2017-10-10 23:20:05 +02:00
Diego Biurrun 09c98327b9 build: Drop support for Tru64 Unix (OSF/1)
This proprietary Unix flavor dropped from the face of the earth more
than a decade ago. Nothing of value was lost.
2017-10-10 23:17:54 +02:00
James Almer ab6422e133 configure: rename hevc_ps to hevcparse
Build h2645_parse.o with it, as every hevc_ps dependency also needs it.
This is more in line with h264's h264parse module.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-10 14:03:53 -03:00
James Almer ebfcce16ac configure: Use test_pkg_config() for the SDL check
Removes the extra code to preserve global CFLAGS.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-10-04 19:12:36 +02:00
James Almer d66fe7ff53 configure: Add test_pkg_config()
This helper is split off check_pkg_config(), setting only the pkg CFLAGS
and extralibs. This is useful for checks that do not require or do not
benefit from setting global CFLAGS.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2017-10-04 19:12:26 +02:00
Huang, Zhengxu a5a6ac1a12 libavfilter/overlay_qsv: Add QSV overlay vpp filter
The filter supports two inputs and (implicitly) scaling the second input
during composition, unlike the software overlay.

The code has been separated into common interface and qsv overlay
implementation. The common part mainly creates the qsv session and
manages the surface which is nearly the same for all qsv filters.
So the qsvvpp.c/qsvvpp.h API can be used by other QSV vpp filters
to reduce code redundancy.

Usage:
 -hwaccel qsv -c:v mpeg2_qsv -r 25 -i in.m2v -hwaccel qsv -c:v h264_qsv
 -i in.h264 -filter_complex
 "overlay_qsv=eof_action=repeat:x=(W-w)/2:y=(H-h)/2"  -b 2M -maxrate 3M
 -c:v h264_qsv -y out.h264

Two inputs should have different sizes otherwise one will be completely
covered or you need to scale the second input as follows:
  -hwaccel qsv -c:v mpeg2_qsv -r 25 -i in.m2v -hwaccel qsv -c:v h264_qsv
  -i in.h264 -filter_complex
  "overlay_qsv=w=720:h=576:x=(W-w)/2:y=(H-h)/2" -b 2M -maxrate 3M -c:v
  h264_qsv -y out.h264

  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>
  Change-Id: I5c381febb0af6e2f9622c54ba00490ab99d48297
  Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-09-17 19:59:06 +02:00
Huang, Zhengxu 8d3666c425 libavfilter/vf_vpp: Add common filters of the qsv vpp
Add common filters of the qsv vpp features including scale,denosie,
deinterlace,frc,crop and procAmp.

Performance will be significantly reduced in the test if using cascade
mode just like qsv framerate + qsv scale + qsv deinterlace + qsv denoise in
separated way no matter in system or video memmory cases.
And the code is so redundant because so much the same just as session and
surface's creation and management.
So we add a common qsv filter.

Usage:
-hwaccel qsv -c:v h264_qsv -r 25 -i in -vf
vpp_qsv=w=iw/2:h=400:deinterlace=1:framerate=60:detail=50:denoise=50
-b 2M -maxrate 3M -c:v h264_qsv -y out.h264

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>
Change-Id: I130392ce722138c209ab658c5f03f0009b6e8024
Signed-off-by: Maxym Dmytrychenko <maxim.d33@gmail.com>
2017-09-17 19:57:13 +02:00