nvenc: Add support for CUDA memory zero-copy encoding

Closed Seungha Yang requested to merge seungha.yang/gstreamer:nvenc-zero-copy into main
  • Remove pre-CUDA-memory allocation for all input types (CUDA, GL, and SYSTEM)
  • Register input CUDA memory directly to encoding session if possible. Otherwise (if input type is not CUDA), input memory will be copied into internal CUDA memory using newly added gst_cuda_buffer_copy() method and then internal CUDA memory is registered to encoding session
  • D3D11 is not supported yet.

Depends on !1945 (merged)

Merge request reports