Timo Rothenpieler
30b28f9a83
avutil/hwcontext_cuda: Only handle CUDA hardware frames
5 years ago
Timo Rothenpieler
d9a37af070
avutil/hwcontext_cuda: combine transfer functions
...
Gets rid of some mostly duplicated code and adds the ability to do
hardware to hardware transfers.
5 years ago
Yaroslav Pogrebnyak
08d46cb586
avutil/hwcontext_cuda: add YUVA420P pixel format
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years ago
Philip Langdale
7f149b0452
lavu/hwcontext_cuda: refactor context initialisation
...
There's enough going on here now that it should not be duplicated
between cuda_device_create and cuda_device_derive.
5 years ago
Lynne
a88449ffb2
lavu: add Vulkan hwcontext code
...
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.
5 years ago
Oleg Dobkin
32ba563cfc
avutil/hwcontext_cuda: allow using primary CUDA device context
...
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
5 years ago
Philip Langdale
52d8f35b14
avutil/hcontext_cuda: Remove unnecessary stream synchronisation
...
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.
6 years ago
Philip Langdale
19d3d0c057
avutil/hwcontext_cuda: Define and use common CHECK_CU()
...
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
6 years ago
Marton Balint
1b2471039b
avutil/hwcontext_cuda: fix YUV420P cuda_get_buffer
...
Regression since ece068a771
.
Signed-off-by: Marton Balint <cus@passwd.hu>
7 years ago
Timo Rothenpieler
ece068a771
avutil/hwcontext_cuda: use generic size and pointer assignment functions
7 years ago
Timo Rothenpieler
41a18982d0
avutil/hwcontext_cuda: add support for nvenc rgb formats
7 years ago
Timo Rothenpieler
9b82e333b7
avutil/hwcontext_cuda: explicitly synchronize cuMemcpy calls
7 years ago
Timo Rothenpieler
c855683427
avutil/hwcontext_cuda: add CUstream in cuda hwctx
7 years ago
Mark Thompson
1dc483a6f2
compat/cuda: Pass a logging context to load functions
...
Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
7 years ago
Yogender Gupta
3407d8118c
hwcontext_cuda : Support YUV444P16 format
...
Signed-off-by: Philip Langdale <philipl@overt.org>
8 years ago
wm4
3ad825793a
hwcontext_cuda: implement frames_get_constraints
...
Copied and modified from hwcontext_qsv.c.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years ago
wm4
c16fe1432d
hwcontext_cuda: implement frames_get_constraints
...
Copied and modified from hwcontext_qsv.c.
8 years ago
Timo Rothenpieler
52773a2c68
avutil/hwcontext_cuda: check for missing pixel format
8 years ago
Philip Langdale
8d6c358ea8
libavutil/hwcontext_cuda: Support P010 and P016 formats
...
CUVID is now capable of returning 10bit and 12bit decoded content
in P010/P016. Let's support transfering those formats.
8 years ago
Timo Rothenpieler
e6464a44ed
avutil/hwcontext_cuda: use dynamically loaded CUDA
8 years ago
Timo Rothenpieler
a0d7ce1406
avutil/hwcontext_cuda: align allocated frames
8 years ago
Timo Rothenpieler
97e7f03d35
avutil/hwcontext_cuda: use proper synchronization flag
8 years ago
Yogender Kumar Gupta
340f12f712
hwcontext_cuda: Add P010 and YUV444P16 pixel format
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years ago
Anton Khirnov
2e219b491b
hwcontext_cuda: implement device creation
9 years ago
Anton Khirnov
ad884d1002
hwcontext: add a CUDA implementation
9 years ago