I’m new on the Video Codec SDK, and I need some help for porting an C++ - Application
which works on OpenCL with AMD-GPU to NVidia.
I have an image already in a cuda memory (buffer A) and I need to encode and decode it with HEVC.
At the end I need the compressed data as I-frame and the decoded image in the same cuda memory (buffer A).
The Image is organized with first the entire R-Layer, followed by the data of the G-Layer, and than the B-Layer, and every layer has a size of 4912x4912 (8-bit).
I think I must do the following steps:
allocate a buffer B for BGRA representation
allocate a buffer C for the compressed data
Convert R-G-B Layers in buffer A to BGRA with a cuda kernel to buffer B
encode the buffer B to buffer C
decode the buffer C to buffer B
Convert BGRA-Image in buffer B to R-G-B Layers with a cuda kernel to the buffer A
download Buffer C from device memory and save it on disk
execute some kernel on the Buffer C
A dynamic memory managment isn’t needed, but it would be fine, if I can run 20 jobs in parallel.
Can everyone help me, or has a sample that I can use for starting ?