The source project of this merge request has been removed.
cudamemory: add support for planar 4:2:2 YUV formats
These commits introduce
- the support of Y42B, I422_10LE, I422_12LE formats to cudamemory
- the support of Y42B, I422_10LE, I422_12LE formats for all elements using
GST_CUDA_FORMATS
definition (cudaupload
,cudadownload
,cudascale
,cudaconvert
) - allows CUDA <-> D3D11 interop to support planar YUV formats (
GST_CUDA_D3D11_FORMATS
has been updated to be the intersection between CUDA supported formats and D3D11 supported formats)
This allows 422 pipeline to remain in GPU memory, e.g.
gst-launch-1.0 -v d3d11screencapturesrc ! d3d11convert ! cudaupload ! "video/x-raw(memory:CUDAMemory), framerate=(fraction)60/1, format=Y42B/I422_10LE/I422_12LE" ! cudaconvert ! cudadownload ! d3d11videosink
gst-launch-1.0 -v d3d11screencapturesrc ! d3d11convert ! cudaupload ! "video/x-raw(memory:CUDAMemory), framerate=(fraction)60/1, format=Y444" ! cudaconvert ! cudadownload ! d3d11videosink
gst-launch-1.0 -v videotestsrc ! cudaupload ! "video/x-raw(memory:CUDAMemory), framerate=(fraction)60/1, format=Y42B/I422_10LE/I422_12LE" ! cudadownload ! d3d11videosink
gst-launch-1.0 -v videotestsrc ! cudaupload ! "video/x-raw(memory:CUDAMemory), framerate=(fraction)60/1, format=Y42B/I422_10LE/I422_12LE" ! cudadownload ! d3d11convert ! "video/x-raw(memory:D3D11Memory), format=BGRA" ! d3d11videosink
Edited by Corentin Damman