summaryrefslogtreecommitdiff
path: root/compat/cuda
Commit message (Collapse)AuthorAge
* compat/cuda: add __expf() implementationTimo Rothenpieler2021-08-14
|
* avfilter: compress CUDA PTX code if possibleTimo Rothenpieler2021-06-22
|
* compat/cuda: correct ushort4 to use ushortMatt Oliver2021-02-22
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* All: update names in copyright headersrcombs2021-01-20
|
* avfilter/scale_cuda: add lanczos algorithmTimo Rothenpieler2020-11-04
|
* avfilter/scale_cuda: add bicubic interpolationTimo Rothenpieler2020-11-03
|
* compat/cuda/ptx2c: remove shell loop; fix BSD sed compatrcombs2020-06-01
| | | | This fixes building on macOS, and improves build times dramatically there
* compat/cuda: Change inclusion guardsAndreas Rheinhardt2019-08-05
| | | | | | | | | | 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-04
| | | | | | | | | | | | | | | | 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-24
|
* compat: remove in-tree NVidia headersTimo Rothenpieler2018-02-27
| | | | | | | | | | | | | | | | 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/cuda: Pass a logging context to load functionsMark Thompson2017-11-20
| | | | Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
* compat/cuda/ptx2c: strip CR from each lineRicardo Constantino2017-08-30
| | | | | | | 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>
* compat/cuda: make cuvidGetDecoderCaps optionalTimo Rothenpieler2017-06-01
|
* compat/cuda/ptx2c: remove bashism and harden against arbitrary inputTimo Rothenpieler2017-05-15
|
* build: add support for building .cu files via nvccTimo Rothenpieler2017-05-15
| | | | Original work by Yogender Gupta <ygupta@nvidia.com>
* compat/cuda: fix cast warnings on windowsTimo Rothenpieler2017-05-09
|
* compat/cuda: update cuvid/nvdec headers to Video Codec SDK 8.0.14Timo Rothenpieler2017-05-09
| | | | | | 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/cuda: fix ulong size on cygwinTimo Rothenpieler2017-03-01
|
* avcodec/cuvid: Add support for P010/P016 as an output surface formatPhilip Langdale2016-11-22
| | | | | | | | | | | | | | | | | The nvidia 375.xx driver introduces support for P016 output surfaces, for 10bit and 12bit HEVC content (it's also the first driver to support hardware decoding of 12bit content). The cuvid api, as far as I can tell, only declares one output format that they appear to refer to as P016 in the driver strings. Of course, 10bit content in P016 is identical to P010, and it is useful for compatibility purposes to declare the format to be P010 to work with other components that only know how to consume P010 (and to avoid triggering swscale conversions that are lossy when they shouldn't be). For simplicity, this change does not maintain the previous ability to output dithered NV12 for 10/12 bit input video - the user will need to update their driver to decode such videos.
* avcodec/cuvid: use dynamically loaded CUDA/CUVIDTimo Rothenpieler2016-11-22
| | | | And remove the now obsolete compat headers.
* compat/cuda: add dynamic loaderTimo Rothenpieler2016-11-22
|
* compat/cuda: convert to unix line endingsTimo Rothenpieler2016-09-23
|
* cuvid: Use bundled headersPhilip Langdale2016-09-22
| | | | | | | | We need to remove the dynlink fanciness and replace it with normal function prototypes and update the include paths and configure logic. We don't need to explicitly check for PICPARMS now - they're going to be there.
* cuvid: Add MIT licenced nvcuid headers from Video SDK 7.0Philip Langdale2016-09-22
For unknown reasons, the only accurately descriptive version of cuviddec.h is in the Video SDK - the one in CUDA 7.5 lacks vp8 PICPARAMS and the vp9 struct definition is inaccurate. The CUDA 8 RC includes an ancient version of this file from many many years go. However, the one in the Video SDK is modified to work through a dynamic link mechanism which we don't really want to use, so the next change will modify the files to just declare functions in the normal way. I've split the changes so it's clear to see what changed between the original files and ones that work for us.