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>
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.
* commit '3152058bf1dca318898550efacf0286f4836cae6':
libavcodec: Don't use dllexport, only dllimport when building DLLs
Merged-by: James Almer <jamrial@gmail.com>
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>
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>
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.
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.
* commit 'd070b9b703a542429a13db9623109ae20474c775':
configure: Coalesce some arch configuration and PIC handling
Merged-by: James Almer <jamrial@gmail.com>
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>
- Move a variable closer to where it is used
- Add an explanatory comment
- Simplify a crosscompile check
- Minor SHFLAGS simplification
- Coalesce some threads tests
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>
* commit '8e0febe28effe7f427e45190eab37110126161ea':
configure: Use right variable and right value for AIX ar flags
Merged-by: James Almer <jamrial@gmail.com>
* commit '2cf3c0ab0d84b5cdb379059f8570809a13a306b9':
Revert "configure: Detect AIX ar command instead of hardcoding it in the OS section"
Merged-by: James Almer <jamrial@gmail.com>
* commit '192fe52e42f64a493c47cad1461b20fe1149dbea':
configure: Miscellaneous minor changes to config file handling
Merged-by: James Almer <jamrial@gmail.com>
* commit '61a17423d3711cb34a18b44e1ec2510c2f70a56c':
configure: Miscellaneous small changes to helper functions
Merged-by: James Almer <jamrial@gmail.com>
* commit '67c72f08a4707c18a67a4734660e3a23cc9488b6':
configure: Stop using dlltool to create an import library
Merged-by: James Almer <jamrial@gmail.com>
* commit '68649bfed30a35dc3e45ea240541b2774b2f282b':
configure: Group system feature variables and system libraries together
Merged-by: James Almer <jamrial@gmail.com>
* commit '62be1caf161c1241a9e148f347850cfe092588dc':
configure: Bail out early if neither static nor shared libs are built
Merged-by: James Almer <jamrial@gmail.com>
* commit 'c6496de33456f20144b994ac38f308f2de333608':
configure: Move enabling libc_type into probe_libc() function
Merged-by: James Almer <jamrial@gmail.com>
* commit '41df62fd674bd0c67f7b6952381d235a393245d6':
configure: Set the default assembler to armasm64 for MSVC for arm64
Merged-by: James Almer <jamrial@gmail.com>
* 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>
* commit '0ca66409911e9fba940424be8bdfa54e056b0a4b':
configure: Don't add -fPIC to asflags when targeting windows
Merged-by: James Almer <jamrial@gmail.com>
* commit 'f951837ce58e8588b175fb53a76fd453a81528ec':
configure: Don't add -fPIC to cflags for target_os=win32
Merged-by: James Almer <jamrial@gmail.com>
* commit '7ac092d05de487d088bc96ab4a7bd6207fbfa98c':
build: CryptGenRandom --> wincrypt, it is a better name
Merged-by: James Almer <jamrial@gmail.com>
* 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>
* commit '8e97a8c69162afce47abea96c8c0914f3550e212':
build: Remove check for gsm/gsm.h for libgsm
Also includes fix from 010baac12a
Merged-by: James Almer <jamrial@gmail.com>
* commit '29ccc641b17afad058a5c24071ea827865a8b3a9':
build: Drop check for sys/mman.h in favor of mmap() check
Merged-by: James Almer <jamrial@gmail.com>
* commit 'fca9ca539c8c6e4fe0072486c7e0479a08a15e7c':
configure: Drop unused or internally-used entries from variable lists
Merged-by: James Almer <jamrial@gmail.com>
* commit 'accb06120c13a4ead442464d96f2fa318fa07a4e':
configure: Use dllexport/dllimport for data symbols across DLLs with mingw
Merged-by: James Almer <jamrial@gmail.com>
* commit 'b90fdb2c7199cc8b0e8d994fafba1fb4dc181d88':
hevcdec: add a CUVID hwaccel
Adapted for ffmpeg by Timo Rothenpieler.
Merged-by: James Almer <jamrial@gmail.com>
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>
* commit '0e83e95c60892747f2f1bd8382f915f2397f99a5':
configure: Reset X86ASM_DEP(FLAGS) when probing for the assembler program
See f66086adac
Merged-by: James Almer <jamrial@gmail.com>
* 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>
* commit '333a34da3a6d13155de480e7d16ec5fec7f4cd6c':
configure: Automatically add -isysroot for darwin if --sysroot is specified
Merged-by: James Almer <jamrial@gmail.com>
- 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.
- 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()
* commit 'e2edf1529cb35eaf043e3f8e5cba498ed06e2563':
configure: Simplify AltiVec/VSX check with a helper function
Merged-by: James Almer <jamrial@gmail.com>
* 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>
* commit '4d444d04c1e19cd02ac836d411433906a9f32613':
configure: Default to _WIN32_WINNT=0x0502 (XP) as minimum, for legacy mingw
See 69f7aad571
Merged-by: James Almer <jamrial@gmail.com>
* commit 'b5f19f7478492307e4b4763aeac3180faf50e17f':
aac: Split function to parse ADTS header data into public and private part
Merged-by: James Almer <jamrial@gmail.com>
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>
* commit 'b62ed6873821c8fce8f7e2c2927ae54f86afeb22':
configure: Better names for functions that sanitize input
Merged-by: James Almer <jamrial@gmail.com>
* 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>