diff --git a/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json b/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json index 8e5adb3664..cc3269a68f 100644 --- a/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json +++ b/subprojects/gst-plugins-bad/docs/plugins/gst_plugins_cache.json @@ -213790,6 +213790,120 @@ "nvcodec": { "description": "GStreamer NVCODEC plugin", "elements": { + "cudaconvert": { + "author": "Seungha Yang ", + "description": "Converts video from one colorspace to another using CUDA", + "hierarchy": [ + "GstCudaConvert", + "GstCudaBaseFilter", + "GstCudaBaseTransform", + "GstBaseTransform", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Filter/Converter/Video/Hardware", + "long-name": "CUDA Colorspace converter", + "pad-templates": { + "sink": { + "caps": "video/x-raw(memory:CUDAMemory):\n format: { I420, YV12, NV12, NV21, P010_10LE, P016_LE, I420_10LE, Y444, Y444_16LE, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw(memory:CUDAMemory):\n format: { I420, YV12, NV12, NV21, P010_10LE, P016_LE, I420_10LE, Y444, Y444_16LE, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "src", + "presence": "always" + } + }, + "rank": "none" + }, + "cudadownload": { + "author": "Seungha Yang ", + "description": "Downloads data from NVIDA GPU via CUDA APIs", + "hierarchy": [ + "GstCudaDownload", + "GstCudaBaseTransform", + "GstBaseTransform", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Filter/Video", + "long-name": "CUDA downloader", + "pad-templates": { + "sink": { + "caps": "video/x-raw(memory:CUDAMemory):\nvideo/x-raw:\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n", + "direction": "src", + "presence": "always" + } + }, + "rank": "none" + }, + "cudascale": { + "author": "Seungha Yang ", + "description": "Resizes Video using CUDA", + "hierarchy": [ + "GstCudaScale", + "GstCudaBaseFilter", + "GstCudaBaseTransform", + "GstBaseTransform", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Filter/Converter/Video/Scaler/Hardware", + "long-name": "CUDA Video scaler", + "pad-templates": { + "sink": { + "caps": "video/x-raw(memory:CUDAMemory):\n format: { I420, YV12, NV12, NV21, P010_10LE, P016_LE, I420_10LE, Y444, Y444_16LE, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw(memory:CUDAMemory):\n format: { I420, YV12, NV12, NV21, P010_10LE, P016_LE, I420_10LE, Y444, Y444_16LE, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE }\n width: [ 1, 2147483647 ]\n height: [ 1, 2147483647 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "direction": "src", + "presence": "always" + } + }, + "rank": "none" + }, + "cudaupload": { + "author": "Seungha Yang ", + "description": "Uploads data into NVIDA GPU via CUDA APIs", + "hierarchy": [ + "GstCudaUpload", + "GstCudaBaseTransform", + "GstBaseTransform", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Filter/Video", + "long-name": "CUDA uploader", + "pad-templates": { + "sink": { + "caps": "video/x-raw:\n\nvideo/x-raw(memory:CUDAMemory):\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw(memory:CUDAMemory):\n", + "direction": "src", + "presence": "always" + } + }, + "rank": "none" + }, "nvh264dec": { "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang ", "description": "NVDEC video decoder", @@ -213811,7 +213925,7 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", + "caps": "video/x-raw:\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", "direction": "src", "presence": "always" } @@ -213838,7 +213952,7 @@ "long-name": "NVENC H.264 Video Encoder", "pad-templates": { "sink": { - "caps": "video/x-raw:\n format: { NV12, YV12, I420, BGRA, RGBA, Y444, VUYA }\n width: [ 145, 4096 ]\n height: [ 49, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive }\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, YV12, I420, BGRA, RGBA, Y444, VUYA }\n width: [ 145, 4096 ]\n height: [ 49, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive }\n", + "caps": "video/x-raw:\n format: { NV12, YV12, I420, BGRA, RGBA, Y444, VUYA }\n width: [ 145, 4096 ]\n height: [ 49, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive }\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, YV12, I420, BGRA, RGBA, Y444, VUYA }\n width: [ 145, 4096 ]\n height: [ 49, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive }\n\nvideo/x-raw(memory:CUDAMemory):\n format: { NV12, YV12, I420, BGRA, RGBA, Y444, VUYA }\n width: [ 145, 4096 ]\n height: [ 49, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive }\n", "direction": "sink", "presence": "always" }, @@ -213964,7 +214078,7 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", + "caps": "video/x-raw:\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", "direction": "src", "presence": "always" } @@ -213992,7 +214106,7 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n", + "caps": "video/x-raw:\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n", "direction": "src", "presence": "always" } @@ -214019,7 +214133,7 @@ "long-name": "NVENC HEVC Video Encoder", "pad-templates": { "sink": { - "caps": "video/x-raw:\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n", + "caps": "video/x-raw:\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:CUDAMemory):\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n", "direction": "sink", "presence": "always" }, @@ -214145,7 +214259,7 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n", + "caps": "video/x-raw:\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 144, 8192 ]\n height: [ 144, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE, Y444, Y444_16LE, Y444_16LE }\n", "direction": "src", "presence": "always" } @@ -214173,7 +214287,7 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 64, 32768 ]\n height: [ 64, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 64, 32768 ]\n height: [ 64, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", + "caps": "video/x-raw:\n width: [ 64, 32768 ]\n height: [ 64, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 64, 32768 ]\n height: [ 64, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 64, 32768 ]\n height: [ 64, 16384 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", "direction": "src", "presence": "always" } @@ -214201,7 +214315,7 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", + "caps": "video/x-raw:\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", "direction": "src", "presence": "always" } @@ -214229,7 +214343,7 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 48, 2032 ]\n height: [ 16, 2032 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 2032 ]\n height: [ 16, 2032 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", + "caps": "video/x-raw:\n width: [ 48, 2032 ]\n height: [ 16, 2032 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 2032 ]\n height: [ 16, 2032 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 48, 2032 ]\n height: [ 16, 2032 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", "direction": "src", "presence": "always" } @@ -214257,7 +214371,7 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", + "caps": "video/x-raw:\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 48, 4080 ]\n height: [ 16, 4080 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", "direction": "src", "presence": "always" } @@ -214285,13 +214399,42 @@ "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", + "caps": "video/x-raw:\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", "direction": "src", "presence": "always" } }, "rank": "primary" }, + "nvvp8sldec": { + "author": "Seungha Yang ", + "description": "NVIDIA VP8 video decoder", + "hierarchy": [ + "GstNvVP8StatelessDec", + "GstNvVp8Dec", + "GstVp8Decoder", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video/Hardware", + "long-name": "NVDEC VP8 Stateless Decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp8:\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 48, 4096 ]\n height: [ 16, 4096 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12 }\n", + "direction": "src", + "presence": "always" + } + }, + "rank": "secondary" + }, "nvvp9dec": { "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang ", "description": "NVDEC video decoder", @@ -214308,22 +214451,90 @@ "long-name": "NVDEC vp9 Video Decoder", "pad-templates": { "sink": { - "caps": "video/x-vp9:\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n", + "caps": "video/x-vp9:\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n profile: { (string)0, (string)2 }\n", "direction": "sink", "presence": "always" }, "src": { - "caps": "video/x-raw:\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE }\n", + "caps": "video/x-raw:\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE }\n", "direction": "src", "presence": "always" } }, "rank": "primary" + }, + "nvvp9sldec": { + "author": "Seungha Yang ", + "description": "NVIDIA VP9 video decoder", + "hierarchy": [ + "GstNvVP9StatelessDec", + "GstNvVp9Dec", + "GstVp9Decoder", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "klass": "Codec/Decoder/Video/Hardware", + "long-name": "NVDEC VP9 Stateless Decoder", + "pad-templates": { + "sink": { + "caps": "video/x-vp9:\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n profile: { (string)0, (string)2 }\n alignment: frame\n", + "direction": "sink", + "presence": "always" + }, + "src": { + "caps": "video/x-raw:\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE }\n\nvideo/x-raw(memory:GLMemory):\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE }\n\nvideo/x-raw(memory:CUDAMemory):\n width: [ 128, 8192 ]\n height: [ 128, 8192 ]\n framerate: [ 0/1, 2147483647/1 ]\n format: { NV12, P010_10LE, P016_LE }\n", + "direction": "src", + "presence": "always" + } + }, + "rank": "secondary" } }, "filename": "gstnvcodec", "license": "LGPL", "other-types": { + "GstCudaBaseFilter": { + "hierarchy": [ + "GstCudaBaseFilter", + "GstCudaBaseTransform", + "GstBaseTransform", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "kind": "object" + }, + "GstCudaBaseTransform": { + "hierarchy": [ + "GstCudaBaseTransform", + "GstBaseTransform", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "kind": "object", + "properties": { + "cuda-device-id": { + "blurb": "Set the GPU device to use for operations (-1 = auto)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-1", + "mutable": "ready", + "readable": true, + "type": "gint", + "writable": true + } + } + }, "GstNvBaseEnc": { "hierarchy": [ "GstNvBaseEnc", @@ -214685,7 +214896,23 @@ "GInitiallyUnowned", "GObject" ], - "kind": "object" + "kind": "object", + "properties": { + "max-display-delay": { + "blurb": "Improves pipelining of decode with display, 0 means no delay (auto = -1)", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "-1", + "max": "2147483647", + "min": "-1", + "mutable": "null", + "readable": true, + "type": "gint", + "writable": true + } + } }, "GstNvDevice0H264Enc": { "hierarchy": [ @@ -214830,6 +215057,30 @@ "value": "7" } ] + }, + "GstNvVp8Dec": { + "hierarchy": [ + "GstNvVp8Dec", + "GstVp8Decoder", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "kind": "object" + }, + "GstNvVp9Dec": { + "hierarchy": [ + "GstNvVp9Dec", + "GstVp9Decoder", + "GstVideoDecoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "kind": "object" } }, "package": "GStreamer Bad Plug-ins", diff --git a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasefilter.c b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasefilter.c index e9bff466f3..b12ad35ac0 100644 --- a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasefilter.c +++ b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasefilter.c @@ -19,6 +19,14 @@ * Boston, MA 02110-1301, USA. */ +/** + * GstCudaBaseFilter: + * + * Base class for CUDA filters + * + * Since: 1.20 + */ + #ifdef HAVE_CONFIG_H # include #endif diff --git a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasetransform.c b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasetransform.c index a1923c37e6..17750c48b9 100644 --- a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasetransform.c +++ b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudabasetransform.c @@ -17,6 +17,14 @@ * Boston, MA 02110-1301, USA. */ +/** + * GstCudaBaseTransform: + * + * Base class for CUDA transformers + * + * Since: 1.20 + */ + #ifdef HAVE_CONFIG_H # include #endif diff --git a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudaconvert.c b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudaconvert.c index 03c7837d0a..6b857de23b 100644 --- a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudaconvert.c +++ b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudaconvert.c @@ -34,6 +34,7 @@ * cudaconvert will automatically convert the video to a format understood * by the video sink. * + * Since: 1.20 */ #ifdef HAVE_CONFIG_H @@ -245,6 +246,8 @@ gst_cuda_convert_class_init (GstCudaConvertClass * klass) GST_DEBUG_CATEGORY_INIT (gst_cuda_convert_debug, "cudaconvert", 0, "Video ColorSpace convert using CUDA"); + + gst_type_mark_as_plugin_api (GST_TYPE_CUDA_BASE_FILTER, 0); } static void diff --git a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudadownload.c b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudadownload.c index 32a15802e1..4b0b8678ff 100644 --- a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudadownload.c +++ b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudadownload.c @@ -18,6 +18,14 @@ * Boston, MA 02110-1301, USA. */ +/** + * element-cudadownload: + * + * Downloads data from NVIDA GPU via CUDA APIs + * + * Since: 1.20 + */ + #ifdef HAVE_CONFIG_H # include #endif diff --git a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudascale.c b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudascale.c index dd4687f489..629148879e 100644 --- a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudascale.c +++ b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudascale.c @@ -43,6 +43,7 @@ * ]| * Decode an mp4/h264 and display the video with a width of 100. * + * Since: 1.20 */ #ifdef HAVE_CONFIG_H diff --git a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudaupload.c b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudaupload.c index 34c9f24c43..8d2c6535a5 100644 --- a/subprojects/gst-plugins-bad/sys/nvcodec/gstcudaupload.c +++ b/subprojects/gst-plugins-bad/sys/nvcodec/gstcudaupload.c @@ -17,6 +17,14 @@ * Boston, MA 02110-1301, USA. */ +/** + * element-cudaupload: + * + * Uploads data to NVIDA GPU via CUDA APIs + * + * Since: 1.20 + */ + #ifdef HAVE_CONFIG_H # include #endif @@ -64,6 +72,7 @@ gst_cuda_upload_class_init (GstCudaUploadClass * klass) trans_class->transform_caps = GST_DEBUG_FUNCPTR (gst_cuda_upload_transform_caps); + gst_type_mark_as_plugin_api (GST_TYPE_CUDA_BASE_TRANSFORM, 0); GST_DEBUG_CATEGORY_INIT (gst_cuda_upload_debug, "cudaupload", 0, "cudaupload Element"); } diff --git a/subprojects/gst-plugins-bad/sys/nvcodec/gstnvdec.c b/subprojects/gst-plugins-bad/sys/nvcodec/gstnvdec.c index cdb0169180..450528bffb 100644 --- a/subprojects/gst-plugins-bad/sys/nvcodec/gstnvdec.c +++ b/subprojects/gst-plugins-bad/sys/nvcodec/gstnvdec.c @@ -234,6 +234,11 @@ gst_nvdec_class_init (GstNvDecClass * klass) element_class->set_context = GST_DEBUG_FUNCPTR (gst_nvdec_set_context); gst_type_mark_as_plugin_api (GST_TYPE_NVDEC, 0); + /** + * GstNvDec:max-display-delay: + * + * Since: 1.20 + */ g_object_class_install_property (gobject_class, PROP_MAX_DISPLAY_DELAY, g_param_spec_int ("max-display-delay", "Max Display Delay", "Improves pipelining of decode with display, 0 means no delay "