gstreamer/subprojects/gst-plugins-bad/sys/nvcodec
Seungha Yang c11f8fa930 cuda: Rewrite colorspace/rescale object
Rewriting GstCudaConverter object, since the old implementation was not
well organized and it's hard to add new features.
Moreover, the conversion operations were not very optimized.

Major change of this implementation:
* Remove redundant intermediate conversion operations such as
  any RGB -> ARGB(64) conversion or any YUV -> Y444 (or 16bits Y444).
  That's not required most of cases. The only required case is
  converting 24bits (such as RGB/BGR) packed format to 32bits format
  because CUDA texture object does not support sampling 24bits format
* Use normalized sample fetching (i.e., [0, 1] range float value)
  and also normalized coordinates system for CUDA texture.
  It's consistent with the other graphics APIs such as Direct3D
  and OpenGL, that makes sampling operations much easier.
* Support a kind of viewport and adopt math for colorspace conversion
  from GstD3D11 implementation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>
2022-11-15 16:25:44 +00:00
..
cuviddec.h nvcodec: Bump SDK header version to 11.1 2022-05-03 23:56:34 +09:00
gstcudabasetransform.c cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00
gstcudabasetransform.h cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00
gstcudaconverter.c cuda: Rewrite colorspace/rescale object 2022-11-15 16:25:44 +00:00
gstcudaconverter.h cuda: Rewrite colorspace/rescale object 2022-11-15 16:25:44 +00:00
gstcudaconvertscale.c cuda: Rewrite colorspace/rescale object 2022-11-15 16:25:44 +00:00
gstcudaconvertscale.h cudaconvert, cudascale: Port to GstCudaBaseCovert baseclass 2022-11-15 16:25:44 +00:00
gstcudafilter.c cudaconvert, cudascale: Port to GstCudaBaseCovert baseclass 2022-11-15 16:25:44 +00:00
gstcudafilter.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstcudaformat.h cudaupload,cudadownload: Add support for planar 8bits RGB formats 2022-11-15 16:25:44 +00:00
gstcudamemorycopy.c nvcodec: Update for documentation 2022-10-24 12:42:51 +00:00
gstcudamemorycopy.h nvcodec: Refactor cudaupload/download and add support for GL memory 2022-03-06 15:39:04 +00:00
gstcudanvmm.c cudaupload,cudadownload: Add support for dGPU NVMM 2022-03-07 19:05:29 +00:00
gstcudanvmm.h cudaupload,cudadownload: Add support for dGPU NVMM 2022-03-07 19:05:29 +00:00
gstcuvidloader.c nvcodec: Indent update 2022-03-06 15:39:04 +00:00
gstcuvidloader.h cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00
gstnvav1dec.c nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
gstnvav1dec.h nvcodec: Add AV1 decoder 2022-05-04 01:23:25 +09:00
gstnvbaseenc.c cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00
gstnvbaseenc.h cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00
gstnvdec.c nvdec: Fix for HEVC decoding when coded resolution is larger than display resolution 2022-09-14 05:59:20 +09:00
gstnvdec.h cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00
gstnvdecoder.c nvcodec: Add AV1 decoder 2022-05-04 01:23:25 +09:00
gstnvdecoder.h nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
gstnvenc.c cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00
gstnvenc.h cuda: Factor out a public GstCUDA library 2022-04-19 16:39:43 +00:00
gstnvencoder.cpp nvcodec: Update for documentation 2022-10-24 12:42:51 +00:00
gstnvencoder.h nvencoder: Add support for dynamic GPU device selection 2022-06-30 12:38:08 +00:00
gstnvh264dec.c nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
gstnvh264dec.h nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
gstnvh264enc.c nvh264enc: add constrained-baseline to the caps profiles 2021-10-21 09:06:08 +00:00
gstnvh264enc.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstnvh264encoder.cpp nvcodec: Update for documentation 2022-10-24 12:42:51 +00:00
gstnvh264encoder.h nvencoder: Add support for dynamic GPU device selection 2022-06-30 12:38:08 +00:00
gstnvh265dec.c h265parse: fix typo in member of GstH265SPS 2022-10-04 10:01:12 +00:00
gstnvh265dec.h nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
gstnvh265enc.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstnvh265enc.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
gstnvh265encoder.cpp nvcodec: Update for documentation 2022-10-24 12:42:51 +00:00
gstnvh265encoder.h nvencoder: Add support for dynamic GPU device selection 2022-06-30 12:38:08 +00:00
gstnvvp8dec.c nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
gstnvvp8dec.h nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
gstnvvp9dec.c nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
gstnvvp9dec.h nvcodec: Add cuda-device-id read-only property to stateless decoders 2022-06-30 01:54:17 +09:00
meson.build cuda: Rewrite colorspace/rescale object 2022-11-15 16:25:44 +00:00
nvcuvid.h nvcodec: Bump SDK header version to 11.1 2022-05-03 23:56:34 +09:00
nvEncodeAPI.h nvcodec: Bump SDK header version to 11.1 2022-05-03 23:56:34 +09:00
plugin.c nvencoder: Add support for dynamic GPU device selection 2022-06-30 12:38:08 +00:00