nvcodec: Refactor basetransform subclasses
authorSeungha Yang <seungha@centricular.com>
Wed, 2 Mar 2022 13:03:54 +0000 (22:03 +0900)
committerSeungha Yang <seungha@centricular.com>
Sun, 6 Mar 2022 15:39:04 +0000 (15:39 +0000)
commitad0e7fca142ddb50c81a172e2639ad5806cf12e8
tree3c3fcdce8c21e1367b1b3a1d325323a14ca943a4
parent89bbcf0061b7a4b694fda793fe8648d66a7dd3d0
nvcodec: Refactor basetransform subclasses

* cudaupload/download
  - Specify only formats actually we can deal with
    nvcodec elements, not all video formats
  - Supports CUDA output for download and input for upload in order
    to make passthrough possible, like other upload/download elements.
* cudabasetransform
  - Reset conversion element if upstream CUDA memory
    holds different CUDA context and the element can accept it.
    This is the same behavior as corresponding d3d11 filter elements.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1834>
subprojects/gst-plugins-bad/sys/nvcodec/cuda-converter.h
subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasefilter.c
subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasefilter.h
subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasetransform.c
subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasetransform.h
subprojects/gst-plugins-bad/sys/nvcodec/gstcudaconvert.c
subprojects/gst-plugins-bad/sys/nvcodec/gstcudadownload.c
subprojects/gst-plugins-bad/sys/nvcodec/gstcudadownload.h
subprojects/gst-plugins-bad/sys/nvcodec/gstcudaformat.h [new file with mode: 0644]
subprojects/gst-plugins-bad/sys/nvcodec/gstcudaupload.c
subprojects/gst-plugins-bad/sys/nvcodec/gstcudaupload.h