gstreamer/sys/nvcodec
Seungha Yang 92afa74939 nvenc: Register elements per GPU device with capability check
* By this commit, if there are more than one device,
nvenc element factory will be created per
device like nvh264device{device-id}enc and nvh265device{device-id}enc
in addition to nvh264enc and nvh265enc, so that the element factory
can expose the exact capability of the device for the codec.

* Each element factory will have fixed cuda-device-id
which is determined during plugin initialization
depending on the capability of corresponding device.
(e.g., when only the second device can encode h265 among two GPU,
then nvh265enc will choose "1" (zero-based numbering)
as it's target cuda-device-id. As we have element factory
per GPU device, "cuda-device-id" property is changed to read-only.

* nvh265enc gains ability to encoding
4:4:4 8bits, 4:2:0 10 bits formats and up to 8K resolution
depending on device capability.
Additionally, I420 GLMemory input is supported by nvenc.
2019-07-22 21:01:41 +00:00
..
cuviddec.h nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
gstcudaloader.c nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
gstcudaloader.h nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
gstcuvidloader.c nvdec: Register elements per device/codec with capability check 2019-07-22 17:39:45 +00:00
gstcuvidloader.h nvdec: Register elements per device/codec with capability check 2019-07-22 17:39:45 +00:00
gstnvbaseenc.c nvenc: Register elements per GPU device with capability check 2019-07-22 21:01:41 +00:00
gstnvbaseenc.h nvenc: Register elements per GPU device with capability check 2019-07-22 21:01:41 +00:00
gstnvdec.c nvdec: Create CUDA context with registered device id 2019-07-22 17:39:45 +00:00
gstnvdec.h nvdec: Create CUDA context with registered device id 2019-07-22 17:39:45 +00:00
gstnvenc.c nvenc: Register elements per GPU device with capability check 2019-07-22 21:01:41 +00:00
gstnvenc.h nvenc: Register elements per GPU device with capability check 2019-07-22 21:01:41 +00:00
gstnvh264enc.c nvenc: Register elements per GPU device with capability check 2019-07-22 21:01:41 +00:00
gstnvh264enc.h nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
gstnvh265enc.c nvenc: Register elements per GPU device with capability check 2019-07-22 21:01:41 +00:00
gstnvh265enc.h nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
Makefile.am nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
meson.build nvcodec: Drop cudaGL.h dependency 2019-07-22 23:11:14 +09:00
nvcuvid.h nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
nvEncodeAPI.h nvdec,nvenc: Port to dynamic library loading 2019-07-08 10:37:46 +00:00
plugin.c nvdec: Register elements per device/codec with capability check 2019-07-22 17:39:45 +00:00