summaryrefslogtreecommitdiffstats
path: root/compat
Commit message (Collapse)AuthorAgeFilesLines
* compat/cuda: Change inclusion guardsAndreas Rheinhardt2019-08-052-6/+6
| | | | | | | | | | cuda_runtime.h as well as dynlink_loader.h used nonstandard inclusion guards with an AV_ prefix, although these files are not in an libav*/ path. So change the inclusion guards and adapt the ref file of the source fate test accordingly. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* build: add support for building CUDA files with clangRodger Combs2019-08-041-0/+131
| | | | | | | | | | | | | | | | This avoids using the CUDA SDK at all; instead, we provide a minimal reimplementation of the basic functionality that lavfi actually uses. It generates very similar code to what NVCC produces. The header contains no implementation code derived from the SDK. The function and type declarations are derived from the SDK only to the extent required to build a compatible implementation. This is generally accepted to qualify as fair use. Because this option does not require the proprietary SDK, it does not require the "--enable-nonfree" flag in configure. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* compat/cuda/ptx2c: don't drop final newlineTimo Rothenpieler2019-05-241-1/+1
|
* compat/avisynth: update headersStephen Hutchinson2019-05-044-162/+415
| | | | | | | As part of the update, it is now possible to test 32-bit GCC builds of AviSynth+ with FFmpeg by using the AVS_WIN32_GCC32 define. Due to different calling conventions between MSVC and GCC regarding 32-bit Windows, this is unfortunately necessary.
* compat/windows/makedef: Allow building shared libs with MSVC under WSLCyber Sinh2019-04-241-2/+2
| | | | A similar patch was posted by Gilles Khouzam in his blog.
* configure: Add .exe suffix to toolchain calls.Carl Eugen Hoyos2019-04-201-1/+1
| | | | Allows in-tree msvc compilation with wsl.
* additional math.h functions for djgppPeter Ross2018-11-282-0/+72
|
* compat: remove in-tree NVidia headersTimo Rothenpieler2018-02-275-4918/+19
| | | | | | | | | | | | | | | | External headers are no longer welcome in the ffmpeg codebase because they increase the maintenance burden. However, in the NVidia case the vanilla headers need some modifications to be usable in ffmpeg therefore we still provide them, but in a separate repository. The external headers can be found at https://git.videolan.org/?p=ffmpeg/nv-codec-headers.git Fate-source is updated because of the deleted files, and dynlink_loader.h license headers were updated with the standard FFmpeg headers. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* compat/os2threads: support static mutexesKO Myung-Hun2018-01-071-6/+8
| | | | | Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* w32pthreads: remove some remaining superfluous checksJames Almer2017-12-251-7/+0
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* w32pthreads: always use Vista+ API, drop XP supportwm42017-12-261-256/+10
| | | | | | | | | | | This removes the XP compatibility code, and switches entirely to SWR locks, which are available starting at Windows Vista. This removes CRITICAL_SECTION use, which allows us to add PTHREAD_MUTEX_INITIALIZER, which will be useful later. Windows XP is hereby not a supported build target anymore. It was decided in a project vote that this is OK.
* compat/cuda: Pass a logging context to load functionsMark Thompson2017-11-201-9/+9
| | | | Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: fix double defined GUID on cygwinTimo Rothenpieler2017-11-171-1/+1
|
* Merge commit 'bad7ce1d82f0b7da55086b8c6124eff0d35a1b1a'James Almer2017-11-161-27/+1
|\ | | | | | | | | | | | | * commit 'bad7ce1d82f0b7da55086b8c6124eff0d35a1b1a': makedef: Pass EXTERN_PREFIX from configure to makedef Merged-by: James Almer <jamrial@gmail.com>
| * makedef: Pass EXTERN_PREFIX from configure to makedefMartin Storsjö2017-11-161-27/+1
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '0af8a72174108b9bb482f1073a1e9a3bc258af51'James Almer2017-11-111-30/+0
|\ \ | |/ | | | | | | | | | | * commit '0af8a72174108b9bb482f1073a1e9a3bc258af51': build: Drop support for legacy TI ARM compiler Merged-by: James Almer <jamrial@gmail.com>
| * build: Drop support for legacy TI ARM compilerDiego Biurrun2017-10-251-30/+0
| |
* | Merge commit 'a37e84be69310cd7de9540c8bc194cb0a6d158ed'James Almer2017-11-111-2/+2
|\ \ | |/ | | | | | | | | | | * commit 'a37e84be69310cd7de9540c8bc194cb0a6d158ed': makedef: Add support for identifying the ARM64 machine type Merged-by: James Almer <jamrial@gmail.com>
| * makedef: Add support for identifying the ARM64 machine typeMartin Storsjö2017-10-121-2/+2
| | | | | | | | | | | | | | | | Since this machine type is 5 chars while the existing ones only were 3 (which the regexp assumed), the regexp has to be extended a little. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '1a7bf48eed806beea7e835b31b06aa6bc94da5da'James Almer2017-11-111-16/+39
|\ \ | |/ | | | | | | | | | | * commit '1a7bf48eed806beea7e835b31b06aa6bc94da5da': makedef: Extend the script for use with mingw tools as well Merged-by: James Almer <jamrial@gmail.com>
| * makedef: Extend the script for use with mingw tools as wellMartin Storsjö2017-08-311-16/+39
| | | | | | | | | | | | | | | | | | This is invoked by setting the NM and AR variables to the names of those specific tools. The ARCH variable also needs to be provided, to choose the symbol prefix (nm doesn't provide any option that dumps the architecture easily). Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '44aa9105c535471ca9e23796d7ca29b341f47636'James Almer2017-11-111-4/+4
|\ \ | |/ | | | | | | | | | | * commit '44aa9105c535471ca9e23796d7ca29b341f47636': makedef: Fold as much text transformations as possible into the initial dump Merged-by: James Almer <jamrial@gmail.com>
| * makedef: Fold as much text transformations as possible into the initial dumpMartin Storsjö2017-08-311-4/+4
| | | | | | | | | | | | This avoids redoing them for each expression in the list. Signed-off-by: Martin Storsjö <martin@martin.st>
* | compat/w32dlfcn: add missing config.h includeJames Almer2017-11-071-0/+1
| | | | | | | | | | | | Fixes warnings about undefined HAVE_WINRT Signed-off-by: James Almer <jamrial@gmail.com>
* | compat/cuda/ptx2c: strip CR from each lineRicardo Constantino2017-08-301-1/+1
| | | | | | | | | | | | | | Windows nvcc + cl.exe produce a .ctx file with CR+LF newlines which need to be stripped to work with gcc. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | win32_dlfcn: Support WinRT/UWP.Matt Oliver2017-07-301-1/+11
| | | | | | | | | | | | | | | | | | This only enables dlls that are packaged with the application to be loaded. Due to the limitations of WinRT/UWP it is not allowed to load external/system dlls so this cannot be used as a complete replacement for normal win32 dll loading. Signed-off-by: Matt Oliver <protogonoi@gmail.com>
* | compat/cuda: make cuvidGetDecoderCaps optionalTimo Rothenpieler2017-06-011-1/+10
| |
* | compat/cuda/ptx2c: remove bashism and harden against arbitrary inputTimo Rothenpieler2017-05-151-6/+6
| |
* | build: add support for building .cu files via nvccTimo Rothenpieler2017-05-151-0/+36
| | | | | | | | Original work by Yogender Gupta <ygupta@nvidia.com>
* | compat/cuda: fix cast warnings on windowsTimo Rothenpieler2017-05-091-43/+46
| |
* | compat/cuda: update cuvid/nvdec headers to Video Codec SDK 8.0.14Timo Rothenpieler2017-05-094-461/+575
| | | | | | | | | | | | This raises the required minimum NVIDIA display driver versions: NVIDIA Linux display driver 378.13 or newer NVIDIA Windows display driver 378.66 or newer
* | compat/nvenc: bump nvEncodeAPI.h to Video Codec SDK 8.0.14Timo Rothenpieler2017-05-091-66/+171
| | | | | | | | | | | | This raises the required minimum NVIDIA display driver versions: NVIDIA Linux display driver 378.13 or newer NVIDIA Windows display driver 378.66 or newer
* | compat/strtod: Add missing const qualifiers.Carl Eugen Hoyos2017-05-041-6/+6
| | | | | | | | | | Fixes many warnings: initialization discards 'const' qualifier from pointer target type
* | Support building C++ files with MSVCAaron Levinson2017-04-131-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '6a93b596c5c3af31b843d63013a7985ffeea354d'James Almer2017-04-132-2/+3
|\ \ | |/ | | | | | | | | | | * commit '6a93b596c5c3af31b843d63013a7985ffeea354d': compat/atomics: add typecasts in atomic_compare_exchange_strong() Merged-by: James Almer <jamrial@gmail.com>
| * compat/atomics: add typecasts in atomic_compare_exchange_strong()Wan-Teh Chang2016-12-082-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Solaris and Windows emulations of atomic_compare_exchange_strong() need typecasts to avoid compiler warnings, because the functions they call expect a void* pointer but an intptr_t integer is passed. Note that the emulations of atomic_compare_exchange_strong() (except the gcc version) only work for atomic_intptr_t because of the type of the second argument (|expected|). See http://en.cppreference.com/w/c/atomic: _Bool atomic_compare_exchange_strong( volatile A* obj, C* expected, C desired ); The types of the first argument and second argument are different (|A| and |C|, respectively). |C| is the non-atomic type corresponding to |A|. In the emulations of atomic_compare_exchange_strong(), |C| is intptr_t. This implies |A| can only be sig_intptr_t. Signed-off-by: Wan-Teh Chang <wtc@google.com>
* | Merge commit '3794062ab1a13442b06f6d76c54dce51ffa54697'Clément Bœsch2017-04-093-46/+0
|\ \ | |/ | | | | | | | | | | * commit '3794062ab1a13442b06f6d76c54dce51ffa54697': Remove Plan 9 support Merged-by: Clément Bœsch <u@pkh.me>
| * Remove Plan 9 supportDiego Biurrun2016-12-033-46/+0
| | | | | | | | | | | | Supporting the system was a nice joke for the 9 release, but it has run its course. Nowadays Plan 9 receives no testing and has no practical usefulness.
* | Merge commit 'bd9cd04626a98a752c5771d057a6b86779359904'James Almer2017-04-041-12/+12
|\ \ | |/ | | | | | | | | | | * commit 'bd9cd04626a98a752c5771d057a6b86779359904': w32pthreads: Fix function pointer casts Merged-by: James Almer <jamrial@gmail.com>
| * w32pthreads: Fix function pointer castsDiego Biurrun2016-11-241-12/+12
| | | | | | | | This eliminates a handful of warnings at every inclusion of the header.
| * Add a compat dummy stdatomic.h used when threading is disabledAnton Khirnov2016-10-021-0/+176
| | | | | | | | Adapted from the code by Rémi Denis-Courmont from VLC
| * Add a compat stdatomic.h implementation based on pthreadsAnton Khirnov2016-10-022-0/+236
| | | | | | | | Adapted from the code by Rémi Denis-Courmont from VLC
| * Add a compat stdatomic.h implementation based on suncc atomicsAnton Khirnov2016-10-021-0/+186
| | | | | | | | Adapted from the code by Rémi Denis-Courmont from VLC
| * Add a compat stdatomic.h implementation based on windows atomicsAnton Khirnov2016-10-021-0/+179
| | | | | | | | Adapted from the code by Rémi Denis-Courmont from VLC
| * Add a compat stdatomic.h implementation based on GCC atomicsAnton Khirnov2016-10-021-0/+173
| | | | | | | | Adapted from the code by Rémi Denis-Courmont from VLC
* | stdatomic/win32: only include the lean windows headers to avoid conflictsHendrik Leppkes2017-04-041-0/+1
| |
* | compat/atomics: fix atomic_fetch_xorJames Almer2017-04-025-6/+6
| |
* | compat/atomics/gcc: use __typeof__ instead of typeofJames Almer2017-03-181-4/+4
| | | | | | | | | | | | | | | | | | The typeof keyword is apparently not available when using the -std=c99 option. Fixes the use of C11 atomic functions with old GCC. Reviewed-by: Muhammad Faiz <mfcc64@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* | compat/cuda: fix ulong size on cygwinTimo Rothenpieler2017-03-012-12/+18
| |
* | compat/atomics: rename header guardsJames Almer2016-12-025-15/+15
| | | | | | | | | | | | Fixes fate-source. Signed-off-by: James Almer <jamrial@gmail.com>
OpenPOWER on IntegriCloud