summaryrefslogtreecommitdiff
path: root/libavutil/hwcontext_cuda.c
Commit message (Collapse)AuthorAge
* avutil/hwcontext_cuda: return more useful error codes from init functionsTimo Rothenpieler2021-11-22
|
* avutil/hwcontext_cuda: add option to use primary device contextTimo Rothenpieler2021-11-22
|
* hwcontext_vulkan: dynamically load functionsLynne2021-04-30
| | | | This patch allows for alternative loader implementations.
* avutil/buffer: Switch AVBuffer API to size_tAndreas Rheinhardt2021-04-27
| | | | | | | Announced in 14040a1d913794d9a3fd6406a6d8c2f0e37e0062. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avutil: use the buffer_size_t typedef where requiredJames Almer2021-03-10
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/hwcontext_cuda: fix edge case with non-even frame heightsTimo Rothenpieler2020-11-04
|
* avutil/hwcontext_cuda: query correct alignment from deviceTimo Rothenpieler2020-11-04
|
* avutil/hwcontext_cuda: increase CUDA frame alignment to 512Timo Rothenpieler2020-11-03
| | | | | At least on Turing, a frame without 512 byte alignment cannot be passed to cuTexObjectCreate.
* hwcontext: add av_hwdevice_ctx_create_derived_optsLynne2020-05-23
| | | | | | | | | | | | | This allows for users who derive devices to set options for the new device context they derive. The main use case of this is to allow users to enable extensions (such as surface drawing extensions) in Vulkan while deriving from the device their frames are on. That way, users don't need to write any initialization code themselves, since the Vulkan spec invalidates mixing instances, physical devices and active devices. Apart from Vulkan, other hwcontexts ignore the opts argument since they don't support options at all (or in VAAPI and OpenCL's case, options are currently only used for device selection, which device_derive overrides).
* avutil/hwcontext_cuda: Only handle CUDA hardware framesTimo Rothenpieler2020-04-06
|
* avutil/hwcontext_cuda: combine transfer functionsTimo Rothenpieler2020-03-19
| | | | | Gets rid of some mostly duplicated code and adds the ability to do hardware to hardware transfers.
* avutil/hwcontext_cuda: add YUVA420P pixel formatYaroslav Pogrebnyak2020-03-19
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* lavu/hwcontext_cuda: refactor context initialisationPhilip Langdale2020-02-04
| | | | | There's enough going on here now that it should not be duplicated between cuda_device_create and cuda_device_derive.
* lavu: add Vulkan hwcontext codeLynne2020-02-04
| | | | | | | | | | This commit adds the necessary code to initialize and use a Vulkan device within the hwcontext libavutil framework. Currently direct mapping to VAAPI and DRM frames is functional, and transfers to CUDA and native frames are supported. Lets hope the future Vulkan video decode extension fits well within this framework.
* avutil/hwcontext_cuda: allow using primary CUDA device contextOleg Dobkin2019-11-26
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avutil/hcontext_cuda: Remove unnecessary stream synchronisationPhilip Langdale2019-03-30
| | | | | | | Similarly to the previous changes, we don't need to synchronise after a memcpy to device memory. On the other hand, we need to keep synchronising after a copy to host memory, otherwise there's no guarantee that subsequent host reads will return valid data.
* avutil/hwcontext_cuda: Define and use common CHECK_CU()Philip Langdale2018-11-14
| | | | | | | | | | | | | | | | | | We have a pattern of wrapping CUDA calls to print errors and normalise return values that is used in a couple of places. To avoid duplication and increase consistency, let's put the wrapper implementation in a shared place and use it everywhere. Affects: * avcodec/cuviddec * avcodec/nvdec * avcodec/nvenc * avfilter/vf_scale_cuda * avfilter/vf_scale_npp * avfilter/vf_thumbnail_cuda * avfilter/vf_transpose_npp * avfilter/vf_yadif_cuda
* avutil/hwcontext_cuda: fix YUV420P cuda_get_bufferMarton Balint2018-05-15
| | | | | | Regression since ece068a771ac3f725e854c681ecbef08e792addc. Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/hwcontext_cuda: use generic size and pointer assignment functionsTimo Rothenpieler2018-05-10
|
* avutil/hwcontext_cuda: add support for nvenc rgb formatsTimo Rothenpieler2018-05-10
|
* avutil/hwcontext_cuda: explicitly synchronize cuMemcpy callsTimo Rothenpieler2018-05-10
|
* avutil/hwcontext_cuda: add CUstream in cuda hwctxTimo Rothenpieler2018-05-10
|
* compat/cuda: Pass a logging context to load functionsMark Thompson2017-11-20
| | | | Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
* hwcontext_cuda : Support YUV444P16 formatYogender Gupta2017-08-03
| | | | Signed-off-by: Philip Langdale <philipl@overt.org>
* hwcontext_cuda: implement frames_get_constraintswm42017-01-23
| | | | Copied and modified from hwcontext_qsv.c.
* avutil/hwcontext_cuda: check for missing pixel formatTimo Rothenpieler2016-11-30
|
* libavutil/hwcontext_cuda: Support P010 and P016 formatsPhilip Langdale2016-11-22
| | | | | CUVID is now capable of returning 10bit and 12bit decoded content in P010/P016. Let's support transfering those formats.
* avutil/hwcontext_cuda: use dynamically loaded CUDATimo Rothenpieler2016-11-22
|
* avutil/hwcontext_cuda: align allocated framesTimo Rothenpieler2016-10-03
|
* avutil/hwcontext_cuda: use proper synchronization flagTimo Rothenpieler2016-09-29
|
* Merge commit '2e219b491bcc0845248345fdad31231b081e06d1'Hendrik Leppkes2016-06-26
|\ | | | | | | | | | | | | * commit '2e219b491bcc0845248345fdad31231b081e06d1': hwcontext_cuda: implement device creation Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hwcontext_cuda: implement device creationAnton Khirnov2016-05-26
| |
* | Merge commit 'ad884d100259e55cb51a4239cd8a4fd5154c2073'Derek Buitenhuis2016-02-24
|/ | | | | | | * commit 'ad884d100259e55cb51a4239cd8a4fd5154c2073': hwcontext: add a CUDA implementation Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* hwcontext: add a CUDA implementationAnton Khirnov2016-02-14