summaryrefslogtreecommitdiff
path: root/compat
Commit message (Collapse)AuthorAgeFilesLines
* compat: Use '-' instead of '/' for rc.exe optionsZiemowit Laski2023-02-131-5/+5
| | | | | | | | | | | | | When building FFMPEG in the MSYS environment under Windows, one must not use forward slashes ('/') for command-line options. It appears that the MSYS shell interprets these as absolute paths and then automatically rewrites them into equivalent Windows paths. For example, the '/nologo' switch below gets rewritten to something like 'C:/Program Files/Git/nologo', and this obviously breaks the build. Thankfully, most M$ tools accept dashes ('-') as well. Signed-off-by: Ziemowit Łąski <15880281+zlaski@users.noreply.github.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* compat/cuda: switch from powf to __powf intrinsicTimo Rothenpieler2022-09-031-1/+1
| | | | | | The powf builtin causes crashes on older clang, so manually implement the (faster) intrinsic. The code it spawns is identical to that of nvcc.
* avfilter: add bilateral_cuda filterMohamed Khaled Mohamed2022-09-031-0/+1
| | | | | | | GSoC 2022 Signed-off-by: Mohamed Khaled <mohamed.elbassiony00@eng-st.cu.edu.eg> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* compat: add msvc windres wrapperTimo Rothenpieler2022-08-131-0/+32
| | | | | This is by no means a complete wrapper. It's only designed to fit the usecase ffmpegs build system has.
* avfilter: add chromakey_cuda filterMohamed Khaled Mohamed2022-07-101-0/+2
| | | | | | | | | | | | GSoC'22 libavfilter/vf_chromakey_cuda.cu:the CUDA kernel for the filter libavfilter/vf_chromakey_cuda.c: the C side that calls the kernel and gets user input libavfilter/allfilters.c: added the filter to it libavfilter/Makefile: added the filter to it cuda/cuda_runtime.h: added two math CUDA functions that are used in the filter Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* compat/w32dlfcn.h: Remove MAX_PATH limit and replace LoadLibraryExA with ↵Nil Admirari2022-06-211-22/+78
| | | | | | LoadLibraryExW Signed-off-by: Martin Storsjö <martin@martin.st>
* Replace all occurences of av_mallocz_array() by av_calloc()Andreas Rheinhardt2021-09-201-1/+1
| | | | | | | They do the same. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* compat/cuda: add __expf() implementationTimo Rothenpieler2021-08-141-0/+1
|
* avfilter: compress CUDA PTX code if possibleTimo Rothenpieler2021-06-221-34/+0
|
* fix broken links to msdn documentationPeter Ross2021-05-131-1/+1
| | | | Signed-off-by: Peter Ross <pross@xvid.org>
* atomics: Fix the win32 atomic_exchange functionMartin Storsjö2021-04-041-1/+1
| | | | | | | | | | This fixes building with MSVC after a2a38b160620d91bc3f895dadc4501c589998b9c. Remove the stray semicolon, and add casts for the input argument (which is an intptr_t*) to the right type (PVOID volatile *). Signed-off-by: Martin Storsjö <martin@martin.st>
* compat/cuda: correct ushort4 to use ushortMatt Oliver2021-02-221-1/+1
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* All: update names in copyright headersrcombs2021-01-201-1/+1
|
* avfilter/scale_cuda: add lanczos algorithmTimo Rothenpieler2020-11-041-0/+3
|
* avfilter/scale_cuda: add bicubic interpolationTimo Rothenpieler2020-11-031-7/+61
|
* compat/cuda/ptx2c: remove shell loop; fix BSD sed compatrcombs2020-06-011-5/+3
| | | | This fixes building on macOS, and improves build times dramatically there
* compat/avisynth: remove avisynth headersStephen Hutchinson2020-04-057-2375/+0
|
* avformat/udp: support w32pthreads compatphunkyfish2020-03-081-0/+8
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* compat/os2threads: define INCL_DOSERRORSDave Yeo2020-02-151-0/+1
| | | | | | | This is needed to pull in the define for ERROR_TIMEOUT Signed-off-by: Dave Yeo <daveryeo@telus.net> Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/thread: Add pthread_cond_timedwait functionMatt Oliver2020-01-212-0/+43
| | | | | | v2: fix calculating milisecond times and use SleepConditionVariableSRW. Signed-off-by: Matt Oliver <protogonoi@gmail.com>
* compat/avisynth: Fix unicode compilation.Matt Oliver2020-01-011-1/+1
| | | | | Reviewed-by: Stephen Hutchinson <qyot27@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* 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>