d3d11: Add support for planar RGB formats
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-bad / docs / plugins / gst_plugins_cache.json
index 5cca720..aa25709 100644 (file)
                     "GstPreset"
                 ],
                 "klass": "Codec/Encoder/Video/Hardware",
-                "long-name": "AMD AMF H.264 Video Encoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 128, 4096 ]\n         height: [ 128, 4096 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: NV12\n          width: [ 128, 4096 ]\n         height: [ 128, 4096 ]\n interlace-mode: progressive\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 128, 4096 ]\n         height: [ 128, 4096 ]\nvideo/x-raw:\n         format: NV12\n          width: [ 128, 4096 ]\n         height: [ 128, 4096 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "58766",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
-                        "mutable": "playing",
+                        "mutable": "null",
                         "readable": true,
                         "type": "gint64",
-                        "writable": true
+                        "writable": false
                     },
                     "aud": {
                         "blurb": "Use AU (Access Unit) delimiter",
                     "GstPreset"
                 ],
                 "klass": "Codec/Encoder/Video/Hardware",
-                "long-name": "AMD AMF H.265 Video Encoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 128, 4096 ]\n         height: [ 128, 4096 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: NV12\n          width: [ 128, 4096 ]\n         height: [ 128, 4096 ]\n interlace-mode: progressive\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 128, 4096 ]\n         height: [ 128, 4096 ]\nvideo/x-raw:\n         format: NV12\n          width: [ 128, 4096 ]\n         height: [ 128, 4096 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "58766",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
-                        "mutable": "playing",
+                        "mutable": "null",
                         "readable": true,
                         "type": "gint64",
-                        "writable": true
+                        "writable": false
                     },
                     "aud": {
                         "blurb": "Use AU (Access Unit) delimiter",
         "elements": {
             "d3dvideosink": {
                 "author": "David Hoyt <dhoyt@hoytsoft.org>, Roland Krikava <info@bluedigits.com>",
-                "description": "Display data using a Direct3D video renderer",
+                "description": "Display data using a Direct3D9 video renderer",
                 "hierarchy": [
                     "GstD3DVideoSink",
                     "GstVideoSink",
                     "GObject"
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "Direct3D11/DXVA AV1 NVIDIA GeForce RTX 3060 Laptop GPU Decoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-av1:\n      alignment: frame\n        profile: 0\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\n",
+                        "caps": "video/x-av1:\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      alignment: frame\n        profile: main\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "59071",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "9504",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "4318",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "writable": false
                     }
                 },
-                "rank": "secondary"
+                "rank": "primary"
             },
             "d3d11colorconvert": {
                 "author": "Seungha Yang <seungha@centricular.com>",
                     "GObject"
                 ],
                 "klass": "Filter/Converter/Video/Hardware",
-                "long-name": "Direct3D11 colorspace converter",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
-                "rank": "none"
-            },
-            "d3d11compositor": {
-                "author": "Seungha Yang <seungha@centricular.com>",
-                "description": "A Direct3D11 compositor bin",
-                "hierarchy": [
-                    "GstD3D11CompositorBin",
-                    "GstBin",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "interfaces": [
-                    "GstChildProxy"
-                ],
-                "klass": "Filter/Editor/Video/Compositor",
-                "long-name": "Direct3D11 Compositor Bin",
-                "pad-templates": {
-                    "sink_%%u": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "request",
-                        "type": "GstD3D11CompositorBinInput"
-                    },
-                    "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always",
-                        "type": "GstD3D11CompositorBinPad"
-                    }
-                },
                 "properties": {
-                    "adapter": {
-                        "blurb": "Adapter index for creating device (-1 for default)",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-1",
-                        "mutable": "ready",
-                        "readable": true,
-                        "type": "gint",
-                        "writable": true
-                    },
-                    "background": {
-                        "blurb": "Background type",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "checker (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBackground",
-                        "writable": true
-                    },
-                    "emit-signals": {
-                        "blurb": "Send signals",
+                    "gamma-mode": {
+                        "blurb": "Gamma conversion mode",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "false",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gboolean",
-                        "writable": true
-                    },
-                    "latency": {
-                        "blurb": "Additional latency in live mode to allow upstream to take longer to produce buffers for the current position (in nanoseconds)",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "0",
-                        "max": "18446744073709551615",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "guint64",
-                        "writable": true
-                    },
-                    "min-upstream-latency": {
-                        "blurb": "When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into account when larger than the actually reported minimum latency. (nanoseconds)",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "0",
-                        "max": "18446744073709551615",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "guint64",
-                        "writable": true
-                    },
-                    "mixer": {
-                        "blurb": "The d3d11 mixer chain to use",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstElement",
-                        "writable": false
-                    },
-                    "start-time": {
-                        "blurb": "Start time to use if start-time-selection=set",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "18446744073709551615",
-                        "max": "18446744073709551615",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "guint64",
+                        "type": "GstVideoGammaMode",
                         "writable": true
                     },
-                    "start-time-selection": {
-                        "blurb": "Decides which start time is output",
+                    "primaries-mode": {
+                        "blurb": "Primaries conversion mode",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "zero (0)",
-                        "mutable": "null",
+                        "default": "none (0)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstAggregatorStartTimeSelection",
+                        "type": "GstVideoPrimariesMode",
                         "writable": true
                     }
                 },
-                "rank": "secondary"
+                "rank": "none"
             },
-            "d3d11compositorelement": {
+            "d3d11compositor": {
                 "author": "Seungha Yang <seungha@centricular.com>",
                 "description": "A Direct3D11 compositor",
                 "hierarchy": [
                     "GstChildProxy"
                 ],
                 "klass": "Filter/Editor/Video/Compositor",
-                "long-name": "Direct3D11 Compositor",
                 "pad-templates": {
                     "sink_%%u": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA, BGRA }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "request",
                         "type": "GstD3D11CompositorPad"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA, BGRA }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, Y42B, Y444, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, Y42B, Y444, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always",
                         "type": "GstAggregatorPad"
                         "writable": true
                     }
                 },
-                "rank": "none"
+                "rank": "secondary"
             },
             "d3d11convert": {
                 "author": "Seungha Yang <seungha.yang@navercorp.com>, Jeongki Kim <jeongki.kim@jeongki.kim>",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Converter/Scaler/Video/Hardware",
-                "long-name": "Direct3D11 colorspace converter and scaler",
+                "interfaces": [
+                    "GstVideoDirection"
+                ],
+                "klass": "Filter/Converter/Scaler/Effect/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
+                    },
+                    "border-color": {
+                        "blurb": "Border color to use in ARGB64 format",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "18446462598732840960",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    },
+                    "gamma-mode": {
+                        "blurb": "Gamma conversion mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "none (0)",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "GstVideoGammaMode",
+                        "writable": true
+                    },
+                    "primaries-mode": {
+                        "blurb": "Primaries conversion mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "none (0)",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "GstVideoPrimariesMode",
+                        "writable": true
                     }
                 },
                 "rank": "none"
                     "GstChildProxy"
                 ],
                 "klass": "Filter/Effect/Video/Deinterlace/Hardware",
-                "long-name": "Direct3D11 Intel(R) Iris(R) Plus Graphics Deinterlacer Bin",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\nvideo/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\nvideo/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "35410",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "bob",
+                        "default": "mocomp+adaptive+bob+blend",
                         "mutable": "ready",
                         "readable": true,
                         "type": "GstD3D11DeinterlaceMethod",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "32902",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                     "GObject"
                 ],
                 "klass": "Filter/Effect/Video/Deinterlace/Hardware",
-                "long-name": "Direct3D11 Intel(R) Iris(R) Plus Graphics Deinterlacer",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12 }\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12 }\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12 }\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12 }\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "35410",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "bob",
+                        "default": "mocomp+adaptive+bob+blend",
                         "mutable": "ready",
                         "readable": true,
                         "type": "GstD3D11DeinterlaceMethod",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "32902",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                     "GObject"
                 ],
                 "klass": "Filter/Video",
-                "long-name": "Direct3D11 downloader",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                     "GObject"
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "Direct3D11/DXVA H.264 Intel(R) Iris(R) Plus Graphics Decoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-h264:\n  stream-format: { (string)avc, (string)avc3, (string)byte-stream }\n      alignment: au\n        profile: { (string)high, (string)progressive-high, (string)constrained-high, (string)main, (string)constrained-baseline, (string)baseline }\n          width: [ 1, 4096 ]\n         height: [ 1, 4096 ]\n",
+                        "caps": "video/x-h264:\n          width: [ 1, 4096 ]\n         height: [ 1, 4096 ]\n  stream-format: { (string)avc, (string)avc3, (string)byte-stream }\n      alignment: au\n        profile: { (string)high, (string)progressive-high, (string)constrained-high, (string)main, (string)constrained-baseline, (string)baseline }\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "86670",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "35410",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "32902",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "writable": false
                     }
                 },
-                "rank": "secondary"
+                "rank": "primary + 1"
             },
             "d3d11h265dec": {
                 "author": "Seungha Yang <seungha.yang@navercorp.com>",
                     "GObject"
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "Direct3D11/DXVA H.265 Intel(R) Iris(R) Plus Graphics Decoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-h265:\n  stream-format: { (string)hev1, (string)hvc1, (string)byte-stream }\n      alignment: au\n        profile: { (string)main, (string)main-10 }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\n",
+                        "caps": "video/x-h265:\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n  stream-format: { (string)hev1, (string)hvc1, (string)byte-stream }\n      alignment: au\n        profile: { (string)main, (string)main-10 }\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\n\nvideo/x-raw(format:Interlaced):\n         format: { NV12, P010_10LE }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\n interlace-mode: alternate\n\nvideo/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "86670",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "35410",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "32902",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "writable": false
                     }
                 },
-                "rank": "secondary"
+                "rank": "primary + 1"
             },
             "d3d11mpeg2dec": {
                 "author": "Seungha Yang <seungha@centricular.com>",
                     "GObject"
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "Direct3D11/DXVA MPEG2 Intel(R) Iris(R) Plus Graphics Decoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/mpeg:\n    mpegversion: 2\n   systemstream: false\n        profile: { (string)main, (string)simple }\n          width: [ 1, 1920 ]\n         height: [ 1, 1920 ]\n",
+                        "caps": "video/mpeg:\n          width: [ 1, 1920 ]\n         height: [ 1, 1920 ]\n    mpegversion: 2\n   systemstream: false\n        profile: { (string)main, (string)simple }\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "86670",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "35410",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "32902",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                     "GObject"
                 ],
                 "klass": "Filter/Converter/Video/Scaler/Hardware",
-                "long-name": "Direct3D11 scaler",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
+                    },
+                    "border-color": {
+                        "blurb": "Border color to use in ARGB64 format",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "18446462598732840960",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
                     }
                 },
                 "rank": "none"
             },
             "d3d11screencapturesrc": {
                 "author": "Seungha Yang <seungha@centricular.com>",
-                "description": "Capture desktop image by using Desktop Duplication API",
+                "description": "Captures desktop screen",
                 "hierarchy": [
                     "GstD3D11ScreenCaptureSrc",
                     "GstBaseSrc",
                     "GObject"
                 ],
                 "klass": "Source/Video",
-                "long-name": "Direct3D11 screen capture src",
                 "pad-templates": {
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: BGRA\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: BGRA\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\npixel-aspect-ratio: 1/1\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\npixel-aspect-ratio: 1/1\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
+                    "adapter": {
+                        "blurb": "DXGI Adapter index for creating device when WGC mode is selected (-1 for default)",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "capture-api": {
+                        "blurb": "Capture API to use",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "dxgi (0)",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "GstD3D11ScreenCaptureAPI",
+                        "writable": true
+                    },
+                    "crop-height": {
+                        "blurb": "Height of screen capture area (0 = maximum)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "crop-width": {
+                        "blurb": "Width of screen capture area (0 = maximum)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "crop-x": {
+                        "blurb": "Horizontal coordinate of top left corner for the screen capture area",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "crop-y": {
+                        "blurb": "Vertical coordinate of top left corner for the screen capture area",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
                     "monitor-handle": {
                         "blurb": "A HMONITOR handle of monitor to capture",
                         "conditionally-available": false,
                         "type": "gint",
                         "writable": true
                     },
+                    "show-border": {
+                        "blurb": "Show border lines to capture area when WGC mode is selected",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
                     "show-cursor": {
                         "blurb": "Whether to show mouse cursor",
                         "conditionally-available": false,
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
+                    },
+                    "window-handle": {
+                        "blurb": "A HWND handle of window to capture",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "18446744073709551615",
+                        "min": "0",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "guint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "d3d11testsrc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Creates a test video stream",
+                "hierarchy": [
+                    "GstD3D11TestSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Video",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "adapter": {
+                        "blurb": "DXGI Adapter index (-1 for any device)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "is-live": {
+                        "blurb": "Whether to act as a live source",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "pattern": {
+                        "blurb": "Type of test pattern to generate",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "smpte (0)",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "GstD3D11TestSrcPattern",
+                        "writable": true
                     }
                 },
                 "rank": "none"
                     "GObject"
                 ],
                 "klass": "Filter/Video",
-                "long-name": "Direct3D11 uploader",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                     "GstNavigation"
                 ],
                 "klass": "Sink/Video",
-                "long-name": "Direct3D11 video sink",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { BGRA, RGBA, RGB10A2_LE, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, Y410 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:SystemMemory, meta:GstVideoOverlayComposition):\n         format: { RGBA64_LE, RGB10A2_LE, BGRA, RGBA, BGRx, RGBx, VUYA, NV12, NV21, P010_10LE, P012_LE, P016_LE, I420, YV12, I420_10LE, I420_12LE, Y42B, I422_10LE, I422_12LE, Y444, Y444_10LE, Y444_12LE, Y444_16LE, GRAY8, GRAY16_LE, AYUV, AYUV64, RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, GBRA_12LE, Y410, YUY2 }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     }
                         "type": "gint",
                         "writable": true
                     },
+                    "display-format": {
+                        "blurb": "Swapchain display format",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "unknown (0)",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "GstD3D11VideoSinkDisplayFormat",
+                        "writable": true
+                    },
                     "draw-on-shared-texture": {
                         "blurb": "Draw on user provided shared texture instead of window. When enabled, user can pass application's own texture to sink by using \"draw\" action signal on \"begin-draw\" signal handler, so that sink can draw video data on application's texture. Supported texture formats for user texture are DXGI_FORMAT_R8G8B8A8_UNORM, DXGI_FORMAT_B8G8R8A8_UNORM, and DXGI_FORMAT_R10G10B10A2_UNORM.",
                         "conditionally-available": false,
                         "type": "gboolean",
                         "writable": true
                     },
+                    "emit-present": {
+                        "blurb": "Emits present signal",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
                     "enable-navigation-events": {
                         "blurb": "When enabled, navigation events are sent upstream",
                         "conditionally-available": false,
                         "readable": true,
                         "type": "GstD3D11WindowFullscreenToggleMode",
                         "writable": true
+                    },
+                    "gamma-mode": {
+                        "blurb": "Gamma conversion mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "none (0)",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "GstVideoGammaMode",
+                        "writable": true
+                    },
+                    "primaries-mode": {
+                        "blurb": "Primaries conversion mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "none (0)",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "GstVideoPrimariesMode",
+                        "writable": true
+                    },
+                    "rotate-method": {
+                        "blurb": "Rotate method to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "identity (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstVideoOrientationMethod",
+                        "writable": true
                     }
                 },
                 "rank": "primary",
                         ],
                         "return-type": "gboolean",
                         "when": "last"
+                    },
+                    "present": {
+                        "args": [
+                            {
+                                "name": "arg0",
+                                "type": "GstObject"
+                            },
+                            {
+                                "name": "arg1",
+                                "type": "gpointer"
+                            }
+                        ],
+                        "return-type": "void",
+                        "when": "last"
                     }
                 }
             },
                     "GObject"
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "Direct3D11/DXVA VP8 Intel(R) Iris(R) Plus Graphics Decoder",
                 "pad-templates": {
                     "sink": {
                         "caps": "video/x-vp8:\n          width: [ 1, 4096 ]\n         height: [ 1, 4096 ]\n",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "86670",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "35410",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "32902",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "writable": false
                     }
                 },
-                "rank": "secondary"
+                "rank": "primary"
             },
             "d3d11vp9dec": {
                 "author": "Seungha Yang <seungha.yang@navercorp.com>",
                     "GObject"
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "Direct3D11/DXVA VP9 Intel(R) Iris(R) Plus Graphics Decoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-vp9:\n      alignment: frame\n        profile: { (string)0, (string)2 }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\n",
+                        "caps": "video/x-vp9:\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      alignment: frame\n        profile: { (string)0, (string)2 }\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 8192 ]\n         height: [ 1, 8192 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "86670",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "35410",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "32902",
+                        "default": "0",
                         "max": "-1",
                         "min": "0",
                         "mutable": "null",
                         "writable": false
                     }
                 },
-                "rank": "secondary"
+                "rank": "primary"
             }
         },
         "filename": "gstd3d11",
                     }
                 ]
             },
-            "GstD3D11CompositorBinInput": {
+            "GstD3D11CompositorOperator": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Source",
+                        "name": "source",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Over",
+                        "name": "over",
+                        "value": "1"
+                    }
+                ]
+            },
+            "GstD3D11CompositorPad": {
                 "hierarchy": [
-                    "GstD3D11CompositorBinInput",
-                    "GstD3D11CompositorBinPad",
-                    "GstGhostPad",
-                    "GstProxyPad",
+                    "GstD3D11CompositorPad",
+                    "GstVideoAggregatorPad",
+                    "GstAggregatorPad",
                     "GstPad",
                     "GstObject",
                     "GInitiallyUnowned",
                         "construct": false,
                         "construct-only": false,
                         "controllable": true,
-                        "default": "0",
+                        "default": "1",
                         "max": "1",
                         "min": "0",
                         "mutable": "null",
                         "type": "gdouble",
                         "writable": true
                     },
-                    "blend-dest-alpha": {
-                        "blurb": "Blend factor for destination alpha, \"*-color\" values are not allowed",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "zero (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlend",
-                        "writable": true
-                    },
-                    "blend-dest-rgb": {
-                        "blurb": "Blend factor for destination RGB",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "zero (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlend",
-                        "writable": true
-                    },
-                    "blend-factor-alpha": {
-                        "blurb": "Blend factor for alpha component when blend type is \"blend-factor\" or \"inv-blend-factor\"",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "blend-factor-blue": {
-                        "blurb": "Blend factor for blue component when blend type is \"blend-factor\" or \"inv-blend-factor\"",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "blend-factor-green": {
-                        "blurb": "Blend factor for green component when blend type is \"blend-factor\" or \"inv-blend-factor\"",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "blend-factor-red": {
-                        "blurb": "Blend factor for red component when blend type is \"blend-factor\" or \"inv-blend-factor\"",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "blend-op-alpha": {
-                        "blurb": "Blend equation for alpha",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "add (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlendOperation",
-                        "writable": true
-                    },
-                    "blend-op-rgb": {
-                        "blurb": "Blend equation for RGB",
+                    "gamma-mode": {
+                        "blurb": "Gamma conversion mode",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": true,
-                        "default": "add (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlendOperation",
-                        "writable": true
-                    },
-                    "blend-src-alpha": {
-                        "blurb": "Blend factor for source alpha, \"*-color\" values are not allowed",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "zero (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlend",
-                        "writable": true
-                    },
-                    "blend-src-rgb": {
-                        "blurb": "Blend factor for source RGB",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "zero (0)",
+                        "default": "none (0)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstD3D11CompositorBlend",
+                        "type": "GstVideoGammaMode",
                         "writable": true
                     },
                     "height": {
                         "type": "gint",
                         "writable": true
                     },
-                    "max-last-buffer-repeat": {
-                        "blurb": "Repeat last buffer for time (in ns, -1=until EOS), behaviour on EOS is not affected",
+                    "operator": {
+                        "blurb": "Blending operator to use for blending this pad over the previous ones",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
-                        "controllable": false,
-                        "default": "0",
-                        "max": "18446744073709551615",
-                        "min": "0",
-                        "mutable": "playing",
+                        "controllable": true,
+                        "default": "over (1)",
+                        "mutable": "null",
                         "readable": true,
-                        "type": "guint64",
+                        "type": "GstD3D11CompositorOperator",
                         "writable": true
                     },
-                    "repeat-after-eos": {
-                        "blurb": "Repeat the last frame after EOS until all pads are EOS",
+                    "primaries-mode": {
+                        "blurb": "Primaries conversion mode",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": true,
-                        "default": "false",
+                        "default": "none (0)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "GstVideoPrimariesMode",
                         "writable": true
                     },
                     "sizing-policy": {
                         "readable": true,
                         "type": "gint",
                         "writable": true
-                    },
-                    "zorder": {
-                        "blurb": "Z Order of the picture",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "-1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "guint",
-                        "writable": true
                     }
                 }
             },
-            "GstD3D11CompositorBinPad": {
-                "hierarchy": [
-                    "GstD3D11CompositorBinPad",
-                    "GstGhostPad",
-                    "GstProxyPad",
-                    "GstPad",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "kind": "object",
-                "properties": {
-                    "emit-signals": {
-                        "blurb": "Send signals to signal data consumption",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "false",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gboolean",
-                        "writable": true
-                    }
-                },
-                "signals": {
-                    "buffer-consumed": {
-                        "args": [
-                            {
-                                "name": "arg0",
-                                "type": "GstBuffer"
-                            }
-                        ],
-                        "return-type": "void",
-                        "when": "first"
-                    }
-                }
-            },
-            "GstD3D11CompositorBlend": {
+            "GstD3D11CompositorSizingPolicy": {
                 "kind": "enum",
                 "values": [
                     {
-                        "desc": "The blend factor is (0, 0, 0, 0)",
-                        "name": "zero",
+                        "desc": "None: Image is scaled to fill configured destination rectangle without padding or keeping the aspect ratio",
+                        "name": "none",
                         "value": "0"
                     },
                     {
-                        "desc": "The blend factor is (1, 1, 1, 1)",
-                        "name": "one",
+                        "desc": "Keep Aspect Ratio: Image is scaled to fit destination rectangle specified by GstCompositorPad:{xpos, ypos, width, height} with preserved aspect ratio. Resulting image will be centered in the destination rectangle with padding if necessary",
+                        "name": "keep-aspect-ratio",
                         "value": "1"
-                    },
-                    {
-                        "desc": "The blend factor is (Rs, Gs, Bs, As)",
-                        "name": "src-color",
-                        "value": "2"
-                    },
-                    {
-                        "desc": "The blend factor is (1 - Rs, 1 - Gs, 1 - Bs, 1 - As)",
-                        "name": "inv-src-color",
-                        "value": "3"
-                    },
-                    {
-                        "desc": "The blend factor is (As, As, As, As)",
-                        "name": "src-alpha",
-                        "value": "4"
-                    },
-                    {
-                        "desc": "The blend factor is (1 - As, 1 - As, 1 - As, 1 - As)",
-                        "name": "inv-src-alpha",
-                        "value": "5"
-                    },
-                    {
-                        "desc": "The blend factor is (Ad, Ad, Ad, Ad)",
-                        "name": "dest-alpha",
-                        "value": "6"
-                    },
+                    }
+                ]
+            },
+            "GstD3D11DeinterlaceMethod": {
+                "kind": "flags",
+                "values": [
                     {
-                        "desc": "The blend factor is (1 - Ad, 1 - Ad, 1 - Ad, 1 - Ad)",
-                        "name": "inv-dest-alpha",
-                        "value": "7"
+                        "desc": "Blend: Blending top/bottom field pictures into one frame. Framerate will be preserved (e.g., 60i -> 30p)",
+                        "name": "blend",
+                        "value": "0x00000001"
                     },
                     {
-                        "desc": "The blend factor is (Rd, Gd, Bd, Ad)",
-                        "name": "dest-color",
-                        "value": "8"
+                        "desc": "Bob: Interpolating missing lines by using the adjacent lines. Framerate will be doubled (e,g, 60i -> 60p)",
+                        "name": "bob",
+                        "value": "0x00000002"
                     },
                     {
-                        "desc": "The blend factor is (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad)",
-                        "name": "inv-dest-color",
-                        "value": "9"
+                        "desc": "Adaptive: Interpolating missing lines by using spatial/temporal references. Framerate will be doubled (e,g, 60i -> 60p)",
+                        "name": "adaptive",
+                        "value": "0x00000004"
                     },
                     {
-                        "desc": "The blend factor is (f, f, f, 1); where f = min(As, 1 - Ad)",
-                        "name": "src-alpha-sat",
-                        "value": "10"
-                    },
+                        "desc": "Motion Compensation: Recreating missing lines by using motion vector. Framerate will be doubled (e,g, 60i -> 60p)",
+                        "name": "mocomp",
+                        "value": "0x00000008"
+                    }
+                ]
+            },
+            "GstD3D11ScreenCaptureAPI": {
+                "kind": "enum",
+                "values": [
                     {
-                        "desc": "User defined blend factor",
-                        "name": "blend-factor",
-                        "value": "11"
+                        "desc": "DXGI Desktop Duplication",
+                        "name": "dxgi",
+                        "value": "0"
                     },
                     {
-                        "desc": "Inverse of user defined blend factor",
-                        "name": "inv-blend-factor",
-                        "value": "12"
+                        "desc": "Windows Graphics Capture",
+                        "name": "wgc",
+                        "value": "1"
                     }
                 ]
             },
-            "GstD3D11CompositorBlendOperation": {
+            "GstD3D11TestSrcPattern": {
                 "kind": "enum",
                 "values": [
                     {
-                        "desc": "Add source and background",
-                        "name": "add",
+                        "desc": "SMPTE 100%% color bars",
+                        "name": "smpte",
                         "value": "0"
                     },
                     {
-                        "desc": "Subtract source from background",
-                        "name": "subtract",
+                        "desc": "Random (television snow)",
+                        "name": "snow",
                         "value": "1"
                     },
                     {
-                        "desc": "Subtract background from source",
-                        "name": "rev-subtract",
+                        "desc": "100%% Black",
+                        "name": "black",
                         "value": "2"
                     },
                     {
-                        "desc": "Minimum of source and background",
-                        "name": "min",
+                        "desc": "100%% White",
+                        "name": "white",
                         "value": "3"
                     },
                     {
-                        "desc": "Maximum of source and background",
-                        "name": "max",
+                        "desc": "Red",
+                        "name": "red",
                         "value": "4"
-                    }
-                ]
-            },
-            "GstD3D11CompositorPad": {
-                "hierarchy": [
-                    "GstD3D11CompositorPad",
-                    "GstVideoAggregatorPad",
-                    "GstAggregatorPad",
-                    "GstPad",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "kind": "object",
-                "properties": {
-                    "alpha": {
-                        "blurb": "Alpha of the picture",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "1",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gdouble",
-                        "writable": true
-                    },
-                    "blend-dest-alpha": {
-                        "blurb": "Blend factor for destination alpha, \"*-color\" values are not allowed",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "inv-src-alpha (5)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlend",
-                        "writable": true
-                    },
-                    "blend-dest-rgb": {
-                        "blurb": "Blend factor for destination RGB",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "inv-src-alpha (5)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlend",
-                        "writable": true
                     },
-                    "blend-factor-alpha": {
-                        "blurb": "Blend factor for alpha component when blend type is \"blend-factor\" or \"inv-blend-factor\"",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "1",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "blend-factor-blue": {
-                        "blurb": "Blend factor for blue component when blend type is \"blend-factor\" or \"inv-blend-factor\"",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "1",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "blend-factor-green": {
-                        "blurb": "Blend factor for green component when blend type is \"blend-factor\" or \"inv-blend-factor\"",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "1",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "blend-factor-red": {
-                        "blurb": "Blend factor for red component when blend type is \"blend-factor\" or \"inv-blend-factor\"",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "1",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "blend-op-alpha": {
-                        "blurb": "Blend equation for alpha",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "add (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlendOperation",
-                        "writable": true
-                    },
-                    "blend-op-rgb": {
-                        "blurb": "Blend equation for RGB",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "add (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlendOperation",
-                        "writable": true
-                    },
-                    "blend-src-alpha": {
-                        "blurb": "Blend factor for source alpha, \"*-color\" values are not allowed",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "one (1)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlend",
-                        "writable": true
-                    },
-                    "blend-src-rgb": {
-                        "blurb": "Blend factor for source RGB",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "src-alpha (4)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorBlend",
-                        "writable": true
-                    },
-                    "height": {
-                        "blurb": "Height of the picture",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-2147483648",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gint",
-                        "writable": true
+                    {
+                        "desc": "Green",
+                        "name": "green",
+                        "value": "5"
                     },
-                    "sizing-policy": {
-                        "blurb": "Sizing policy to use for image scaling",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "none (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstD3D11CompositorSizingPolicy",
-                        "writable": true
+                    {
+                        "desc": "Blue",
+                        "name": "blue",
+                        "value": "6"
                     },
-                    "width": {
-                        "blurb": "Width of the picture",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-2147483648",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gint",
-                        "writable": true
+                    {
+                        "desc": "Checkers 1px",
+                        "name": "checkers-1",
+                        "value": "7"
                     },
-                    "xpos": {
-                        "blurb": "X position of the picture",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-2147483648",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gint",
-                        "writable": true
+                    {
+                        "desc": "Checkers 2px",
+                        "name": "checkers-2",
+                        "value": "8"
                     },
-                    "ypos": {
-                        "blurb": "Y position of the picture",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-2147483648",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gint",
-                        "writable": true
-                    }
-                }
-            },
-            "GstD3D11CompositorSizingPolicy": {
-                "kind": "enum",
-                "values": [
                     {
-                        "desc": "None: Image is scaled to fill configured destination rectangle without padding or keeping the aspect ratio",
-                        "name": "none",
-                        "value": "0"
+                        "desc": "Checkers 4px",
+                        "name": "checkers-4",
+                        "value": "9"
                     },
                     {
-                        "desc": "Keep Aspect Ratio: Image is scaled to fit destination rectangle specified by GstCompositorPad:{xpos, ypos, width, height} with preserved aspect ratio. Resulting image will be centered in the destination rectangle with padding if necessary",
-                        "name": "keep-aspect-ratio",
-                        "value": "1"
+                        "desc": "Checkers 8px",
+                        "name": "checkers-8",
+                        "value": "10"
                     }
                 ]
             },
-            "GstD3D11DeinterlaceMethod": {
-                "kind": "flags",
+            "GstD3D11VideoSinkDisplayFormat": {
+                "kind": "enum",
                 "values": [
                     {
-                        "desc": "Blend: Blending top/bottom field pictures into one frame. Framerate will be preserved (e.g., 60i -> 30p)",
-                        "name": "blend",
-                        "value": "0x00000001"
+                        "desc": "DXGI_FORMAT_UNKNOWN",
+                        "name": "unknown",
+                        "value": "0"
                     },
                     {
-                        "desc": "Bob: Interpolating missing lines by using the adjacent lines. Framerate will be doubled (e,g, 60i -> 60p)",
-                        "name": "bob",
-                        "value": "0x00000002"
+                        "desc": "DXGI_FORMAT_R10G10B10A2_UNORM",
+                        "name": "r10g10b10a2-unorm",
+                        "value": "24"
                     },
                     {
-                        "desc": "Adaptive: Interpolating missing lines by using spatial/temporal references. Framerate will be doubled (e,g, 60i -> 60p)",
-                        "name": "adaptive",
-                        "value": "0x00000004"
+                        "desc": "DXGI_FORMAT_R8G8B8A8_UNORM",
+                        "name": "r8g8b8a8-unorm",
+                        "value": "28"
                     },
                     {
-                        "desc": "Motion Compensation: Recreating missing lines by using motion vector. Framerate will be doubled (e,g, 60i -> 60p)",
-                        "name": "mocomp",
-                        "value": "0x00000008"
+                        "desc": "DXGI_FORMAT_B8G8R8A8_UNORM",
+                        "name": "b8g8r8a8-unorm",
+                        "value": "87"
                     }
                 ]
             },
                 "long-name": "Video CODEC Test Sink",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: { I420, I420_10LE, NV12 }\n",
+                        "caps": "video/x-raw:\n         format: { Y444_12LE, I422_12LE, I420_12LE, Y444_10LE, I422_10LE, I420_10LE, Y444, Y42B, I420, NV12 }\n",
                         "direction": "sink",
                         "presence": "always"
                     }
         "tracers": {},
         "url": "Unknown package origin"
     },
+    "directshow": {
+        "description": "DirectShow plugin",
+        "elements": {
+            "dshowadec_mp3": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow MPEG Layer 3 Audio Decoder Wrapper",
+                "hierarchy": [
+                    "dshowadec_mp3",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/mpeg:\n    mpegversion: 1\n          layer: 3\n           rate: [ 8000, 48000 ]\n       channels: [ 1, 2 ]\n         parsed: true\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowadec_mpeg_1_2": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow MPEG Layer 1,2 Audio Decoder Wrapper",
+                "hierarchy": [
+                    "dshowadec_mpeg_1_2",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/mpeg:\n    mpegversion: 1\n          layer: [ 1, 2 ]\n           rate: [ 8000, 48000 ]\n       channels: [ 1, 2 ]\n         parsed: true\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowadec_wma1": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Audio 7 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowadec_wma1",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-wma:\n     wmaversion: 1\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowadec_wma2": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Audio 8 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowadec_wma2",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-wma:\n     wmaversion: 2\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowadec_wma3": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Audio 9 Professional Decoder Wrapper",
+                "hierarchy": [
+                    "dshowadec_wma3",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-wma:\n     wmaversion: 3\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowadec_wma4": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Audio 9 Lossless Decoder Wrapper",
+                "hierarchy": [
+                    "dshowadec_wma4",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-wma:\n     wmaversion: 4\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowadec_wms": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Audio Voice v9 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowadec_wms",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-wms:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { F64LE, F64BE, F32LE, F32BE, S32LE, S32BE, U32LE, U32BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, S16LE, S16BE, U16LE, U16BE, S8, U8 }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n         layout: interleaved\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowaudiosrc": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "Receive data from a directshow audio capture graph",
+                "hierarchy": [
+                    "GstDshowAudioSrc",
+                    "GstAudioSrc",
+                    "GstAudioBaseSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Audio",
+                "pad-templates": {
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { S16LE, U16LE, S8LE, U8LE }\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device": {
+                        "blurb": "Directshow device reference (classID/name)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "device-index": {
+                        "blurb": "Index of the enumerated audio device",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "device-name": {
+                        "blurb": "Human-readable name of the sound device",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "dshowvdec_cinepak": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Cinepack Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_cinepak",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-cinepak:\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n            bpp: 32\n          depth: 24\n     endianness: 4321\n       red_mask: 65280\n     green_mask: 16711680\n      blue_mask: -16777216\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_divx3": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow DIVX 3.0 Video Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_divx3",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-divx:\n    divxversion: 3\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_divx4": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow DIVX 4.0 Video Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_divx4",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-divx:\n    divxversion: 4\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_divx5": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow DIVX 5.0 Video Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_divx5",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-divx:\n    divxversion: 5\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_mpeg1": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow MPEG-1 Video Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_mpeg1",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/mpeg:\n    mpegversion: 1\n         parsed: true\n   systemstream: false\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_mpeg4": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow MPEG-4 Video Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_mpeg4",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/mpeg:\n  msmpegversion: 4\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_msmpeg4": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Microsoft ISO MPEG-4 version 1.1 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_msmpeg4",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-msmpeg:\n  msmpegversion: 4\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_msmpeg41": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Microsoft ISO MPEG-4 version 1 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_msmpeg41",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-msmpeg:\n  msmpegversion: 41\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_msmpeg42": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Microsoft ISO MPEG-4 version 2 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_msmpeg42",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-msmpeg:\n  msmpegversion: 42\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_msmpeg43": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Microsoft ISO MPEG-4 version 3 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_msmpeg43",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-msmpeg:\n  msmpegversion: 43\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_wmv1": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Video 7 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_wmv1",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-wmv:\n     wmvversion: 1\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_wmv2": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Video 8 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_wmv2",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-wmv:\n     wmvversion: 2\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_wmv3": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Video 9 Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_wmv3",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-wmv:\n     wmvversion: 3\n         format: WMV3\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_wmva": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Video 9 Advanced Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_wmva",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-wmv:\n     wmvversion: 3\n         format: WMVA\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_wmvp": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media Video 9 Image Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_wmvp",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-wmv:\n     wmvversion: 3\n         format: { WMVP, MSS1 }\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvdec_wvc1": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow Windows Media VC1 video Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_wvc1",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-wmv:\n     wmvversion: 3\n         format: WVC1\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal + 2"
+            },
+            "dshowvdec_xvid": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "DirectShow XVID Video Decoder Wrapper",
+                "hierarchy": [
+                    "dshowvdec_xvid",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-xvid:\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: YUY2\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvideosink": {
+                "author": "Pioneers of the Inevitable <songbird@songbirdnest.com>, FLUENDO S.A. <support@fluendo.com>",
+                "description": "Display data using a DirectShow video renderer",
+                "hierarchy": [
+                    "GstDshowVideoSink",
+                    "GstVideoSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstVideoOverlay",
+                    "GstNavigation"
+                ],
+                "klass": "Sink/Video",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n         format: { YUY2, UYVY, YV12 }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "fullscreen": {
+                        "blurb": "Use full-screen mode (not available when using XOverlay)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "renderer": {
+                        "blurb": "Force usage of specific DirectShow renderer (EVR, VMR9 or VMR7)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    }
+                },
+                "rank": "marginal"
+            },
+            "dshowvideosrc": {
+                "author": "Sebastien Moutte <sebastien@moutte.net>",
+                "description": "Receive data from a directshow video capture graph",
+                "hierarchy": [
+                    "GstDshowVideoSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Video",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { I420, BGR, YUY2, UYVY, BGRx, BGR16, BGR15, GRAY8 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-dv:\n         format: DVSD\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n   systemstream: { (boolean)true, (boolean)false }\nimage/jpeg:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-h264:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device": {
+                        "blurb": "Directshow device path (@..classID/name)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "device-index": {
+                        "blurb": "Index of the enumerated video device",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "device-name": {
+                        "blurb": "Human-readable name of the video device",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "gstdirectshow",
+        "license": "LGPL",
+        "other-types": {},
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
     "directsoundsrc": {
         "description": "Direct Sound Source plugin library",
         "elements": {
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "audio/mpeg:\n    mpegversion: 4\n           rate: { (int)8000, (int)11025, (int)12000, (int)16000, (int)22050, (int)24000, (int)32000, (int)44100, (int)48000, (int)64000, (int)88200, (int)96000 }\n       channels: { (int)1, (int)2, (int)3, (int)4, (int)5, (int)6, (int)8 }\n  stream-format: { (string)adts, (string)adif, (string)raw }\n   base-profile: lc\n         framed: true\n",
+                        "caps": "audio/mpeg:\n    mpegversion: 4\n           rate: { (int)8000, (int)11025, (int)12000, (int)16000, (int)22050, (int)24000, (int)32000, (int)44100, (int)48000, (int)64000, (int)88200, (int)96000 }\n       channels: { (int)1, (int)2, (int)3, (int)4, (int)5, (int)6, (int)8 }\n  stream-format: { (string)adts, (string)adif, (string)raw }\n        profile: { (string)lc, (string)he-aac-v1, (string)he-aac-v2, (string)ld }\n         framed: true\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
+                    "afterburner": {
+                        "blurb": "Additional quality control parameter. Can cause workload increase.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
                     "bitrate": {
-                        "blurb": "Target Audio Bitrate (0 = fixed value based on  sample rate and channel count)",
+                        "blurb": "Target Audio Bitrate. Only applicable if rate-control=cbr. (0 = fixed value based on sample rate and channel count)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "peak-bitrate": {
+                        "blurb": "Peak Bitrate to adjust maximum bits per audio frame. Bitrate is in bits/second. Only applicable if rate-control=vbr. (0 = Not set)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "readable": true,
                         "type": "gint",
                         "writable": true
+                    },
+                    "rate-control": {
+                        "blurb": "Whether Constant or Variable Bitrate should be used.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "cbr (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstFdkAacRateControl",
+                        "writable": true
+                    },
+                    "vbr-preset": {
+                        "blurb": "AAC Variable Bitrate configurations. Requires rate-control as vbr.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "medium (3)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstFdkAacVbrPreset",
+                        "writable": true
                     }
                 },
                 "rank": "primary"
         },
         "filename": "gstfdkaac",
         "license": "LGPL",
-        "other-types": {},
+        "other-types": {
+            "GstFdkAacRateControl": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Constant Bitrate",
+                        "name": "cbr",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Variable Bitrate",
+                        "name": "vbr",
+                        "value": "1"
+                    }
+                ]
+            },
+            "GstFdkAacVbrPreset": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Very Low Variable Bitrate",
+                        "name": "very-low",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Low Variable Bitrate",
+                        "name": "low",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Medium Variable Bitrate",
+                        "name": "medium",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "High Variable Bitrate",
+                        "name": "high",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "Very High Variable Bitrate",
+                        "name": "very-high",
+                        "value": "5"
+                    }
+                ]
+            }
+        },
         "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
     "mediafoundation": {
         "description": "Microsoft Media Foundation plugin",
         "elements": {
+            "mfaacdec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Microsoft Media Foundation AAC Decoder",
+                "hierarchy": [
+                    "GstMFAacDec",
+                    "GstMFAudioDecoder",
+                    "GstAudioDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/mpeg:\n    mpegversion: { (int)2, (int)4 }\n  stream-format: raw\n         framed: true\n       channels: [ 1, 6 ]\n           rate: [ 8000, 48000 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: S16LE\n         layout: interleaved\n       channels: [ 1, 6 ]\n           rate: [ 8000, 48000 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "secondary"
+            },
             "mfaacenc": {
                 "author": "Seungha Yang <seungha@centricular.com>",
                 "description": "Microsoft Media Foundation AAC Encoder",
                 "hierarchy": [
                     "GstMFAacEnc",
-                    "GstMFAudioEnc",
+                    "GstMFAudioEncoder",
                     "GstAudioEncoder",
                     "GstElement",
                     "GstObject",
                     "GstPreset"
                 ],
                 "klass": "Codec/Encoder/Audio",
-                "long-name": "Media Foundation Microsoft AAC Audio Encoder MFT",
                 "pad-templates": {
                     "sink": {
                         "caps": "audio/x-raw:\n         layout: interleaved\n         format: S16LE\n       channels: { (int)1, (int)2, (int)6 }\n           rate: { (int)44100, (int)48000 }\n",
                 "description": "Microsoft Media Foundation H.264 Encoder",
                 "hierarchy": [
                     "GstMFH264Enc",
-                    "GstMFVideoEnc",
+                    "GstMFVideoEncoder",
                     "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GstPreset"
                 ],
                 "klass": "Codec/Encoder/Video/Hardware",
-                "long-name": "Media Foundation Intel® Quick Sync Video H.264 Encoder MFT",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12 }\n\nvideo/x-raw(memory:D3D11Memory):\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12 }\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\nvideo/x-raw:\n         format: NV12\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-h264:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)high, (string)main, (string)constrained-baseline, (string)baseline }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n",
+                        "caps": "video/x-h264:\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)high, (string)main, (string)constrained-baseline, (string)baseline }\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "86670",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "type": "gint64",
                         "writable": false
                     },
+                    "adaptive-mode": {
+                        "blurb": "Adaptive Mode",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "none (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstMFH264EncAdaptiveMode",
+                        "writable": true
+                    },
                     "bframes": {
                         "blurb": "The maximum number of consecutive B frames",
                         "conditionally-available": true,
                         "type": "guint",
                         "writable": true
                     },
+                    "max-qp": {
+                        "blurb": "The maximum allowed QP applied to all rc-mode",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "51",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "min-qp": {
+                        "blurb": "The minimum allowed QP applied to all rc-mode",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
                     "qp": {
                         "blurb": "QP applied when rc-mode is \"qvbr\"",
                         "conditionally-available": true,
                 "description": "Microsoft Media Foundation H.265 Encoder",
                 "hierarchy": [
                     "GstMFH265Enc",
-                    "GstMFVideoEnc",
+                    "GstMFVideoEncoder",
                     "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GstPreset"
                 ],
                 "klass": "Codec/Encoder/Video/Hardware",
-                "long-name": "Media Foundation Intel® Hardware H265 Encoder MFT",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12, P010_10LE }\n\nvideo/x-raw(memory:D3D11Memory):\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12, P010_10LE }\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-h265:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)main-10 }\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n",
+                        "caps": "video/x-h265:\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)main-10 }\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "86670",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "type": "guint",
                         "writable": true
                     },
+                    "max-qp": {
+                        "blurb": "The maximum allowed QP applied to all rc-mode",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "51",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "min-qp": {
+                        "blurb": "The minimum allowed QP applied to all rc-mode",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
                     "qp": {
                         "blurb": "QP applied when rc-mode is \"qvbr\"",
                         "conditionally-available": true,
                         "type": "GstMFH265EncRCMode",
                         "writable": true
                     },
+                    "ref": {
+                        "blurb": "The number of reference frames",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "2",
+                        "max": "16",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
                     "vbv-buffer-size": {
                         "blurb": "VBV(HRD) Buffer Size in bytes (0 = MFT default)",
                         "conditionally-available": true,
                 },
                 "rank": "secondary"
             },
+            "mfmp3dec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Microsoft Media Foundation MP3 Decoder",
+                "hierarchy": [
+                    "GstMFMp3Dec",
+                    "GstMFAudioDecoder",
+                    "GstAudioDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/mpeg:\n    mpegversion: 1\n          layer: 3\n       channels: [ 1, 2 ]\n           rate: [ 8000, 48000 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: S16LE\n         layout: interleaved\n       channels: [ 1, 2 ]\n           rate: [ 8000, 48000 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "secondary"
+            },
             "mfmp3enc": {
                 "author": "Seungha Yang <seungha@centricular.com>",
                 "description": "Microsoft Media Foundation MP3 Encoder",
                 "hierarchy": [
                     "GstMFMp3Enc",
-                    "GstMFAudioEnc",
+                    "GstMFAudioEncoder",
                     "GstAudioEncoder",
                     "GstElement",
                     "GstObject",
                     "GstPreset"
                 ],
                 "klass": "Codec/Encoder/Audio",
-                "long-name": "Media Foundation MP3 Encoder ACM Wrapper MFT",
                 "pad-templates": {
                     "sink": {
                         "caps": "audio/x-raw:\n         format: S16LE\n         layout: interleaved\n       channels: [ 1, 2 ]\n           rate: { (int)8000, (int)11025, (int)12000, (int)16000, (int)22050, (int)24000, (int)32000, (int)44100, (int)48000 }\n",
                     "GObject"
                 ],
                 "klass": "Source/Video/Hardware",
-                "long-name": "Media Foundation Video Source",
                 "pad-templates": {
                     "src": {
                         "caps": "video/x-raw:\n         format: { BGRx, BGRA, BGR, RGB15, RGB16, VUYA, YUY2, YVYU, UYVY, NV12, YV12, I420, P010, P016, v210, v216, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nimage/jpeg:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                 "description": "Microsoft Media Foundation VP9 Encoder",
                 "hierarchy": [
                     "GstMFVP9Enc",
-                    "GstMFVideoEnc",
+                    "GstMFVideoEncoder",
                     "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GstPreset"
                 ],
                 "klass": "Codec/Encoder/Video/Hardware",
-                "long-name": "Media Foundation Intel® Hardware VP9 Encoder MFT",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12 }\n\nvideo/x-raw(memory:D3D11Memory):\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n         format: { NV12 }\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\nvideo/x-raw:\n         format: NV12\n          width: [ 64, 8192 ]\n         height: [ 64, 8192 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "86670",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
         "filename": "gstmediafoundation",
         "license": "LGPL",
         "other-types": {
-            "GstMFAudioEnc": {
+            "GstMFAudioDecoder": {
                 "hierarchy": [
-                    "GstMFAudioEnc",
+                    "GstMFAudioDecoder",
+                    "GstAudioDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object"
+            },
+            "GstMFAudioEncoder": {
+                "hierarchy": [
+                    "GstMFAudioEncoder",
                     "GstAudioEncoder",
                     "GstElement",
                     "GstObject",
                 ],
                 "kind": "object"
             },
+            "GstMFH264EncAdaptiveMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "None",
+                        "name": "none",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Adaptively change the frame rate",
+                        "name": "framerate",
+                        "value": "1"
+                    }
+                ]
+            },
             "GstMFH264EncRCMode": {
                 "kind": "enum",
                 "values": [
                     }
                 ]
             },
-            "GstMFVideoEnc": {
+            "GstMFVideoEncoder": {
                 "hierarchy": [
-                    "GstMFVideoEnc",
+                    "GstMFVideoEncoder",
                     "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                 "properties": {},
                 "rank": "none"
             },
+            "msdkav1enc": {
+                "author": "Haihao Xiang <haihao.xiang@intel.com>, Mengkejiergeli Ba <mengkejiergeli.ba@intel.com>",
+                "description": "AV1 video encoder based on Intel oneVPL",
+                "hierarchy": [
+                    "GstMsdkAV1Enc",
+                    "GstMsdkEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
+                "long-name": "Intel MSDK AV1 encoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw\n        format: { NV12, P010_10LE }\n         width: [ 1, 2147483647 ]\n        height: [ 1, 2147483647 ]\n     framerate: [ 0/1, 2147483647/1 ]\ninterlace-mode: progressive\nvideo/x-raw(memory:DMABuf)\n        format: { NV12, P010_10LE }\n         width: [ 1, 2147483647 ]\n        height: [ 1, 2147483647 ]\n     framerate: [ 0/1, 2147483647/1 ]\ninterlace-mode: progressive\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-av1\n     framerate: [ 0/1, 2147483647/1 ]\n         width: [ 1, 2147483647 ]\n        height: [ 1, 2147483647 ]\n         profile: { (string)main }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "b-pyramid": {
+                        "blurb": "Enable B-Pyramid Reference structure",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "num-tile-cols": {
+                        "blurb": "number of columns for tiled encoding",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "64",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "num-tile-rows": {
+                        "blurb": "number of rows for tiled encoding",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "64",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "p-pyramid": {
+                        "blurb": "Enable P-Pyramid Reference structure",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
             "msdkh264dec": {
                 "author": "Scott D Phillips <scott.d.phillips@intel.com>",
                 "description": "H264 video decoder based on Intel Media SDK",
                 "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",
+                        "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, Y42B, I422_10LE, I422_12LE }\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",
+                        "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, Y42B, I422_10LE, I422_12LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 "description": "Downloads data from NVIDA GPU via CUDA APIs",
                 "hierarchy": [
                     "GstCudaDownload",
+                    "GstCudaMemoryCopy",
                     "GstCudaBaseTransform",
                     "GstBaseTransform",
                     "GstElement",
                 "long-name": "CUDA downloader",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:CUDAMemory):\nvideo/x-raw:\n",
+                        "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, Y42B, I422_10LE, I422_12LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\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, Y42B, I422_10LE, I422_12LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n",
+                        "caps": "video/x-raw:\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, Y42B, I422_10LE, I422_12LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n         format: { I420, YV12, NV12, NV21, P010_10LE, P016_LE, Y444, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory):\n         format: { I420, YV12, I420_10LE, Y444, Y444_16LE, BGRA, RGBA, BGRx, RGBx, Y42B, I422_10LE, I422_12LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/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, Y42B, I422_10LE, I422_12LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 "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",
+                        "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, Y42B, I422_10LE, I422_12LE }\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",
+                        "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, Y42B, I422_10LE, I422_12LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 "description": "Uploads data into NVIDA GPU via CUDA APIs",
                 "hierarchy": [
                     "GstCudaUpload",
+                    "GstCudaMemoryCopy",
                     "GstCudaBaseTransform",
                     "GstBaseTransform",
                     "GstElement",
                 "long-name": "CUDA uploader",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n\nvideo/x-raw(memory:CUDAMemory):\n",
+                        "caps": "video/x-raw:\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, Y42B, I422_10LE, I422_12LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:GLMemory):\n         format: { I420, YV12, NV12, NV21, P010_10LE, P016_LE, Y444, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:D3D11Memory):\n         format: { I420, YV12, I420_10LE, Y444, Y444_16LE, BGRA, RGBA, BGRx, RGBx, Y42B, I422_10LE, I422_12LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/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, Y42B, I422_10LE, I422_12LE, YUY2, UYVY }\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",
+                        "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, Y42B, I422_10LE, I422_12LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\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, Y42B, I422_10LE, I422_12LE, YUY2, UYVY }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "rank": "none"
             },
-            "nvh264dec": {
-                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "NVDEC video decoder",
-                "hierarchy": [
-                    "nvh264dec",
-                    "GstNvDec",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC h264 Video Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-h264:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)high, (string)constrained-high, (string)progressive-high }\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": "primary"
-            },
-            "nvh264enc": {
-                "author": "Tim-Philipp Müller <tim@centricular.com>, Matthew Waters <matthew@centricular.com>, Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "Encode H.264 video streams using NVIDIA's hardware-accelerated NVENC encoder API",
+            "nvautogpuh264enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.264 video streams using NVCODEC API auto GPU select Mode",
                 "hierarchy": [
-                    "GstNvH264Enc",
-                    "GstNvDevice0H264Enc",
-                    "GstNvBaseEnc",
+                    "GstNvAutoGpuH264Enc",
+                    "GstNvEncoder",
                     "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GstPreset"
                 ],
                 "klass": "Codec/Encoder/Video/Hardware",
-                "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\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",
+                        "caps": "video/x-raw(memory:CUDAMemory):\n         format: { NV12, Y444 }\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:D3D11Memory):\n         format: { NV12, Y444 }\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { NV12, Y444 }\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n interlace-mode: progressive\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-h264:\n          width: [ 145, 4096 ]\n         height: [ 49, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)high, (string)high-4:4:4, (string)baseline, (string)constrained-baseline }\n",
+                        "caps": "video/x-h264:\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n        profile: { (string)main, (string)high, (string)constrained-high, (string)constrained-baseline, (string)baseline, (string)high-4:4:4 }\n  stream-format: { (string)avc, (string)byte-stream }\n      alignment: au\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
+                    "adapter-luid": {
+                        "blurb": "DXGI Adapter LUID (Locally Unique Identifier) to use",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint64",
+                        "writable": true
+                    },
+                    "aq-strength": {
+                        "blurb": "Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "15",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
                     "aud": {
                         "blurb": "Use AU (Access Unit) delimiter",
                         "conditionally-available": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "false",
-                        "mutable": "ready",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "bframes": {
+                    "b-frames": {
                         "blurb": "Number of B-frames between I and P",
                         "conditionally-available": true,
                         "construct": false,
                         "default": "0",
                         "max": "4",
                         "min": "0",
-                        "mutable": "ready",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "rc-lookahead": {
-                        "blurb": "Number of frames for frame type lookahead",
-                        "conditionally-available": true,
+                    "bitrate": {
+                        "blurb": "Bitrate in kbit/sec (0 = automatic)",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "32",
+                        "max": "2048000",
                         "min": "0",
-                        "mutable": "ready",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "temporal-aq": {
-                        "blurb": "Temporal Adaptive Quantization",
+                    "cabac": {
+                        "blurb": "Enable CABAC entropy coding",
                         "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "false",
+                        "default": "true",
                         "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "vbv-buffer-size": {
-                        "blurb": "VBV(HRD) Buffer Size in kbits (0 = NVENC default)",
+                    "const-quality": {
+                        "blurb": "Target Constant Quality level for VBR mode (0 = automatic)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "cuda-device-id": {
+                        "blurb": "CUDA device ID to use",
                         "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "-1",
+                        "max": "2147483647",
                         "min": "0",
-                        "mutable": "ready",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "weighted-pred": {
-                        "blurb": "Weighted Prediction",
+                    "gop-size": {
+                        "blurb": "Number of frames between intra frames (-1 = infinite)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "30",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "i-adapt": {
+                        "blurb": "Enable adaptive I-frame insert when lookahead is enabled",
                         "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
-                    }
-                },
-                "rank": "primary + 256"
-            },
-            "nvh264sldec": {
-                "author": "Seungha Yang <seungha@centricular.com>",
-                "description": "Nvidia H.264 video decoder",
-                "hierarchy": [
-                    "GstNvH264StatelessDec",
-                    "GstNvH264Dec",
-                    "GstH264Decoder",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC H.264 Stateless Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-h264:\n  stream-format: { (string)avc, (string)avc3, (string)byte-stream }\n      alignment: au\n        profile: { (string)high, (string)main, (string)constrained-high, (string)constrained-baseline, (string)baseline }\n      framerate: [ 0/1, 2147483647/1 ]\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"
-            },
-            "nvh265dec": {
-                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "NVDEC video decoder",
-                "hierarchy": [
-                    "nvh265dec",
-                    "GstNvDec",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC h265 Video Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-h265:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)main-10, (string)main-12, (string)main-444, (string)main-444-10, (string)main-444-12 }\n          width: [ 144, 8192 ]\n         height: [ 144, 8192 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
+                    "max-bitrate": {
+                        "blurb": "Maximum Bitrate in kbit/sec (ignored in CBR mode)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
                     },
-                    "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\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"
-                    }
-                },
-                "rank": "primary"
-            },
-            "nvh265enc": {
-                "author": "Tim-Philipp Müller <tim@centricular.com>, Matthew Waters <matthew@centricular.com>, Seungha Yang <pudding8757@gmail.com>",
-                "description": "Encode HEVC video streams using NVIDIA's hardware-accelerated NVENC encoder API",
-                "hierarchy": [
-                    "GstNvH265Enc",
-                    "GstNvDevice0H265Enc",
-                    "GstNvBaseEnc",
-                    "GstVideoEncoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "interfaces": [
-                    "GstPreset"
-                ],
-                "klass": "Codec/Encoder/Video/Hardware",
-                "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\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"
+                    "max-qp-b": {
+                        "blurb": "Maximum QP value for B frame, (-1 = automatic)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
                     },
-                    "src": {
-                        "caps": "video/x-h265:\n          width: [ 144, 8192 ]\n         height: [ 144, 8192 ]\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)main-10, (string)main-12, (string)main-444, (string)main-444-10, (string)main-444-12 }\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "aud": {
-                        "blurb": "Use AU (Access Unit) delimiter",
+                    "max-qp-i": {
+                        "blurb": "Maximum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
                         "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gint",
                         "writable": true
                     },
-                    "b-adapt": {
-                        "blurb": "Enable adaptive B-frame insert when lookahead is enabled",
-                        "conditionally-available": true,
+                    "max-qp-p": {
+                        "blurb": "Maximum QP value for P frame, (-1 = automatic)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "min-qp-b": {
+                        "blurb": "Minimum QP value for B frame, (-1 = automatic)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "min-qp-i": {
+                        "blurb": "Minimum QP value for I frame, (-1 = disabled)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "min-qp-p": {
+                        "blurb": "Minimum QP value for P frame, (-1 = automatic)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "nonref-p": {
+                        "blurb": "Automatic insertion of non-reference P-frames",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "false",
-                        "mutable": "ready",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "bframes": {
-                        "blurb": "Number of B-frames between I and P",
-                        "conditionally-available": true,
+                    "preset": {
+                        "blurb": "Encoding Preset",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "5",
-                        "min": "0",
-                        "mutable": "ready",
+                        "default": "default (0)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "guint",
+                        "type": "GstNvEncoderPreset",
+                        "writable": true
+                    },
+                    "qp-b": {
+                        "blurb": "Constant QP value for B frame (-1 = default)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-i": {
+                        "blurb": "Constant QP value for I frame (-1 = default)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-p": {
+                        "blurb": "Constant QP value for P frame (-1 = default)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "vbr (1)",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "GstNvEncoderRCMode",
                         "writable": true
                     },
                     "rc-lookahead": {
                         "default": "0",
                         "max": "32",
                         "min": "0",
-                        "mutable": "ready",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
+                    "repeat-sequence-header": {
+                        "blurb": "Insert sequence headers (SPS/PPS) per IDR",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "spatial-aq": {
+                        "blurb": "Spatial Adaptive Quantization",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "strict-gop": {
+                        "blurb": "Minimize GOP-to-GOP rate fluctuations",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
                     "temporal-aq": {
                         "blurb": "Temporal Adaptive Quantization",
                         "conditionally-available": true,
                         "default": "0",
                         "max": "-1",
                         "min": "0",
-                        "mutable": "ready",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
                     "weighted-pred": {
-                        "blurb": "Weighted Prediction",
+                        "blurb": "Enables Weighted Prediction",
                         "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
-                    }
-                },
-                "rank": "primary + 256"
-            },
-            "nvh265sldec": {
-                "author": "Seungha Yang <seungha@centricular.com>",
-                "description": "Nvidia H.265 video decoder",
-                "hierarchy": [
-                    "GstNvH265StatelessDec",
-                    "GstNvH265Dec",
-                    "GstH265Decoder",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC H.265 Stateless Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-h265:\n  stream-format: { (string)hev1, (string)hvc1, (string)byte-stream }\n      alignment: au\n        profile: { (string)main, (string)main-10, (string)main-12, (string)main-444, (string)main-444-10, (string)main-444-12 }\n          width: [ 144, 8192 ]\n         height: [ 144, 8192 ]\n",
-                        "direction": "sink",
-                        "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\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"
-                    }
-                },
-                "rank": "secondary"
-            },
-            "nvjpegdec": {
-                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "NVDEC video decoder",
-                "hierarchy": [
-                    "nvjpegdec",
-                    "GstNvDec",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC jpeg Video Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "image/jpeg:\n          width: [ 64, 32768 ]\n         height: [ 64, 16384 ]\n",
-                        "direction": "sink",
-                        "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\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"
-                    }
-                },
-                "rank": "primary"
-            },
-            "nvmpeg2videodec": {
-                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "NVDEC video decoder",
-                "hierarchy": [
-                    "nvmpeg2videodec",
-                    "GstNvDec",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC mpeg2video Video Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/mpeg:\n    mpegversion: 2\n   systemstream: false\n          width: [ 48, 4080 ]\n         height: [ 16, 4080 ]\n",
-                        "direction": "sink",
-                        "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\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"
-                    }
-                },
-                "rank": "primary"
-            },
-            "nvmpeg4videodec": {
-                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "NVDEC video decoder",
-                "hierarchy": [
-                    "nvmpeg4videodec",
-                    "GstNvDec",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC mpeg4video Video Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/mpeg:\n    mpegversion: 4\n   systemstream: false\n          width: [ 48, 2032 ]\n         height: [ 16, 2032 ]\n",
-                        "direction": "sink",
-                        "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\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"
-                    }
-                },
-                "rank": "primary"
-            },
-            "nvmpegvideodec": {
-                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "NVDEC video decoder",
-                "hierarchy": [
-                    "nvmpegvideodec",
-                    "GstNvDec",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC mpegvideo Video Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/mpeg:\n    mpegversion: 1\n   systemstream: false\n          width: [ 48, 4080 ]\n         height: [ 16, 4080 ]\n",
-                        "direction": "sink",
-                        "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\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"
-                    }
-                },
-                "rank": "primary"
-            },
-            "nvvp8dec": {
-                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "NVDEC video decoder",
-                "hierarchy": [
-                    "nvvp8dec",
-                    "GstNvDec",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC vp8 Video 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"
+                    "zero-reorder-delay": {
+                        "blurb": "Zero latency operation (i.e., num_reorder_frames = 0)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
                     }
                 },
-                "rank": "primary"
+                "rank": "none"
             },
-            "nvvp8sldec": {
+            "nvautogpuh265enc": {
                 "author": "Seungha Yang <seungha@centricular.com>",
-                "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 <seungha.yang@navercorp.com>",
-                "description": "NVDEC video decoder",
+                "description": "Encode H.265 video streams using NVCODEC API auto GPU select Mode",
                 "hierarchy": [
-                    "nvvp9dec",
-                    "GstNvDec",
-                    "GstVideoDecoder",
+                    "GstNvAutoGpuH265Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC vp9 Video Decoder",
-                "pad-templates": {
-                    "sink": {
-                        "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\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 <seungha@centricular.com>",
-                "description": "NVIDIA VP9 video decoder",
-                "hierarchy": [
-                    "GstNvVP9StatelessDec",
-                    "GstNvVp9Dec",
-                    "GstVp9Decoder",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
+                "interfaces": [
+                    "GstPreset"
                 ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC VP9 Stateless Decoder",
+                "klass": "Codec/Encoder/Video/Hardware",
                 "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",
+                        "caps": "video/x-raw(memory:CUDAMemory):\n         format: { NV12, P010_10LE, Y444, Y444_16LE }\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE, Y444, Y444_16LE }\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { NV12, P010_10LE, Y444, Y444_16LE }\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n interlace-mode: progressive\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",
+                        "caps": "video/x-h265:\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n        profile: { (string)main, (string)main-10, (string)main-444, (string)main-444-10 }\n  stream-format: { (string)hvc1, (string)hev1, (string)byte-stream }\n      alignment: au\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,
+                    "adapter-luid": {
+                        "blurb": "DXGI Adapter LUID (Locally Unique Identifier) to use",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
-                        "max": "2147483647",
-                        "min": "-1",
-                        "mutable": "ready",
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gint64",
                         "writable": true
-                    }
-                }
-            },
-            "GstNvBaseEnc": {
-                "hierarchy": [
-                    "GstNvBaseEnc",
-                    "GstVideoEncoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "interfaces": [
-                    "GstPreset"
-                ],
-                "kind": "object",
-                "properties": {
+                    },
                     "aq-strength": {
                         "blurb": "Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)",
                         "conditionally-available": false,
                         "type": "guint",
                         "writable": true
                     },
+                    "aud": {
+                        "blurb": "Use AU (Access Unit) delimiter",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "b-adapt": {
+                        "blurb": "Enable adaptive B-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "b-frames": {
+                        "blurb": "Number of B-frames between I and P",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "5",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
                     "bitrate": {
-                        "blurb": "Bitrate in kbit/sec (0 = from NVENC preset)",
+                        "blurb": "Bitrate in kbit/sec (0 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "writable": true
                     },
                     "cuda-device-id": {
-                        "blurb": "Get the GPU device to use for operations",
-                        "conditionally-available": false,
+                        "blurb": "CUDA device ID to use",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "-1",
+                        "max": "2147483647",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
-                        "writable": false
+                        "writable": true
                     },
                     "gop-size": {
                         "blurb": "Number of frames between intra frames (-1 = infinite)",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "75",
+                        "default": "30",
                         "max": "2147483647",
                         "min": "-1",
                         "mutable": "playing",
                     },
                     "i-adapt": {
                         "blurb": "Enable adaptive I-frame insert when lookahead is enabled",
-                        "conditionally-available": false,
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "false",
-                        "mutable": "ready",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
                     "max-bitrate": {
-                        "blurb": "Maximum Bitrate in kbit/sec (ignored for CBR mode)",
+                        "blurb": "Maximum Bitrate in kbit/sec (ignored in CBR mode)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "guint",
                         "writable": true
                     },
-                    "nonref-p": {
-                        "blurb": "Automatic insertion of non-reference P-frames",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "false",
-                        "mutable": "playing",
-                        "readable": true,
-                        "type": "gboolean",
-                        "writable": true
-                    },
-                    "preset": {
-                        "blurb": "Encoding Preset",
+                    "max-qp-b": {
+                        "blurb": "Maximum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "default (0)",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
                         "mutable": "playing",
                         "readable": true,
-                        "type": "GstNvPreset",
+                        "type": "gint",
                         "writable": true
                     },
-                    "qp-const": {
-                        "blurb": "Constant quantizer (-1 = from NVENC preset)",
+                    "max-qp-i": {
+                        "blurb": "Maximum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gint",
                         "writable": true
                     },
-                    "qp-const-b": {
-                        "blurb": "Constant QP value for B frame, When >= 0, \"qp-const-i\" and \"qp-const-p\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)",
+                    "max-qp-p": {
+                        "blurb": "Maximum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gint",
                         "writable": true
                     },
-                    "qp-const-i": {
-                        "blurb": "Constant QP value for I frame, When >= 0, \"qp-const-p\" and \"qp-const-b\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)",
+                    "min-qp-b": {
+                        "blurb": "Minimum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gint",
                         "writable": true
                     },
-                    "qp-const-p": {
-                        "blurb": "Constant QP value for P frame, When >= 0, \"qp-const-i\" and \"qp-const-b\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)",
+                    "min-qp-i": {
+                        "blurb": "Minimum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gint",
                         "writable": true
                     },
-                    "qp-max": {
-                        "blurb": "Maximum quantizer (-1 = from NVENC preset)",
+                    "min-qp-p": {
+                        "blurb": "Minimum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gint",
                         "writable": true
                     },
-                    "qp-max-b": {
-                        "blurb": "Maximum QP value for B frame, When >= 0, \"qp-max-i\" and \"qp-max-p\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)",
+                    "nonref-p": {
+                        "blurb": "Automatic insertion of non-reference P-frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
-                        "max": "51",
-                        "min": "-1",
+                        "default": "false",
                         "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "qp-max-i": {
-                        "blurb": "Maximum QP value for I frame, When >= 0, \"qp-max-p\" and \"qp-max-b\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)",
+                    "preset": {
+                        "blurb": "Encoding Preset",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
-                        "max": "51",
-                        "min": "-1",
+                        "default": "default (0)",
                         "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "GstNvEncoderPreset",
                         "writable": true
                     },
-                    "qp-max-p": {
-                        "blurb": "Maximum QP value for P frame, When >= 0, \"qp-max-i\" and \"qp-max-b\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)",
+                    "qp-b": {
+                        "blurb": "Constant QP value for B frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gint",
                         "writable": true
                     },
-                    "qp-min": {
-                        "blurb": "Minimum quantizer (-1 = from NVENC preset)",
+                    "qp-i": {
+                        "blurb": "Constant QP value for I frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gint",
                         "writable": true
                     },
-                    "qp-min-b": {
-                        "blurb": "Minimum QP value for B frame, When >= 0, \"qp-min-i\" and \"qp-min-p\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)",
+                    "qp-p": {
+                        "blurb": "Constant QP value for P frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gint",
                         "writable": true
                     },
-                    "qp-min-i": {
-                        "blurb": "Minimum QP value for I frame, When >= 0, \"qp-min-p\" and \"qp-min-b\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)",
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
-                        "max": "51",
-                        "min": "-1",
+                        "default": "vbr (1)",
                         "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "GstNvEncoderRCMode",
                         "writable": true
                     },
-                    "qp-min-p": {
-                        "blurb": "Minimum QP value for P frame, When >= 0, \"qp-min-i\" and \"qp-min-b\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)",
-                        "conditionally-available": false,
+                    "rc-lookahead": {
+                        "blurb": "Number of frames for frame type lookahead",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
-                        "max": "51",
-                        "min": "-1",
+                        "default": "0",
+                        "max": "32",
+                        "min": "0",
                         "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "rc-mode": {
-                        "blurb": "Rate Control Mode",
+                    "repeat-sequence-header": {
+                        "blurb": "Insert sequence headers (SPS/PPS) per IDR, ignored if negotiated stream-format is \"hvc1\"",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "default (0)",
+                        "default": "false",
                         "mutable": "playing",
                         "readable": true,
-                        "type": "GstNvRCMode",
+                        "type": "gboolean",
                         "writable": true
                     },
                     "spatial-aq": {
                         "type": "gboolean",
                         "writable": true
                     },
-                    "zerolatency": {
-                        "blurb": "Zero latency operation (no reordering delay)",
+                    "temporal-aq": {
+                        "blurb": "Temporal Adaptive Quantization",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "vbv-buffer-size": {
+                        "blurb": "VBV(HRD) Buffer Size in kbits (0 = NVENC default)",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "weighted-pred": {
+                        "blurb": "Enables Weighted Prediction",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "zero-reorder-delay": {
+                        "blurb": "Zero latency operation (i.e., num_reorder_frames = 0)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "gboolean",
                         "writable": true
                     }
-                }
+                },
+                "rank": "none"
             },
-            "GstNvDec": {
+            "nvav1dec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "NVIDIA AV1 video decoder",
                 "hierarchy": [
-                    "GstNvDec",
+                    "GstNvAV1Dec",
+                    "GstAV1Decoder",
                     "GstVideoDecoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "kind": "object",
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-av1:\n      alignment: frame\n          width: [ 128, 8192 ]\n         height: [ 128, 8192 ]\n        profile: { (string)main }\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 }\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 }\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 }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
                 "properties": {
-                    "max-display-delay": {
-                        "blurb": "Improves pipelining of decode with display, 0 means no delay (auto = -1)",
+                    "cuda-device-id": {
+                        "blurb": "Assigned CUDA device id",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
+                        "default": "0",
                         "max": "2147483647",
-                        "min": "-1",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
-                        "writable": true
+                        "type": "guint",
+                        "writable": false
                     }
-                }
-            },
-            "GstNvDevice0H264Enc": {
-                "hierarchy": [
-                    "GstNvDevice0H264Enc",
-                    "GstNvBaseEnc",
-                    "GstVideoEncoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "interfaces": [
-                    "GstPreset"
-                ],
-                "kind": "object"
+                },
+                "rank": "primary"
             },
-            "GstNvDevice0H265Enc": {
+            "nvcudah264enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.264 video streams using NVCODEC API CUDA Mode",
                 "hierarchy": [
-                    "GstNvDevice0H265Enc",
-                    "GstNvBaseEnc",
+                    "GstNvCudaH264Enc",
+                    "GstNvEncoder",
                     "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                 "interfaces": [
                     "GstPreset"
                 ],
-                "kind": "object"
-            },
-            "GstNvH264Dec": {
-                "hierarchy": [
-                    "GstNvH264Dec",
-                    "GstH264Decoder",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "kind": "object"
-            },
-            "GstNvH265Dec": {
-                "hierarchy": [
-                    "GstNvH265Dec",
-                    "GstH265Decoder",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "kind": "object"
-            },
-            "GstNvPreset": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Default",
-                        "name": "default",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "High Performance",
-                        "name": "hp",
-                        "value": "1"
+                "klass": "Codec/Encoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:CUDAMemory):\n         format: { NV12, Y444 }\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { NV12, Y444 }\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n interlace-mode: progressive\n",
+                        "direction": "sink",
+                        "presence": "always"
                     },
-                    {
-                        "desc": "High Quality",
-                        "name": "hq",
-                        "value": "2"
+                    "src": {
+                        "caps": "video/x-h264:\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n        profile: { (string)main, (string)high, (string)constrained-baseline, (string)baseline, (string)high-4:4:4 }\n  stream-format: { (string)avc, (string)byte-stream }\n      alignment: au\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aq-strength": {
+                        "blurb": "Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "15",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
                     },
-                    {
-                        "desc": "Low Latency",
-                        "name": "low-latency",
-                        "value": "3"
+                    "aud": {
+                        "blurb": "Use AU (Access Unit) delimiter",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
                     },
-                    {
-                        "desc": "Low Latency, High Quality",
-                        "name": "low-latency-hq",
-                        "value": "4"
-                    },
-                    {
-                        "desc": "Low Latency, High Performance",
-                        "name": "low-latency-hp",
-                        "value": "5"
-                    },
-                    {
-                        "desc": "Lossless",
-                        "name": "lossless",
-                        "value": "6"
-                    },
-                    {
-                        "desc": "Lossless, High Performance",
-                        "name": "lossless-hp",
-                        "value": "7"
-                    }
-                ]
-            },
-            "GstNvRCMode": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Default",
-                        "name": "default",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Constant Quantization",
-                        "name": "constqp",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "Constant Bit Rate",
-                        "name": "cbr",
-                        "value": "2"
-                    },
-                    {
-                        "desc": "Variable Bit Rate",
-                        "name": "vbr",
-                        "value": "3"
+                    "b-adapt": {
+                        "blurb": "Enable adaptive B-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
                     },
-                    {
-                        "desc": "Variable Bit Rate (with minimum quantization parameter, DEPRECATED)",
-                        "name": "vbr-minqp",
-                        "value": "4"
+                    "b-frames": {
+                        "blurb": "Number of B-frames between I and P",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "4",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
                     },
-                    {
-                        "desc": "Low-Delay CBR, High Quality",
-                        "name": "cbr-ld-hq",
-                        "value": "5"
+                    "bitrate": {
+                        "blurb": "Bitrate in kbit/sec (0 = automatic)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
                     },
-                    {
-                        "desc": "CBR, High Quality (slower)",
-                        "name": "cbr-hq",
-                        "value": "6"
+                    "cabac": {
+                        "blurb": "Enable CABAC entropy coding",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
                     },
-                    {
-                        "desc": "VBR, High Quality (slower)",
-                        "name": "vbr-hq",
-                        "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",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "openal": {
-        "description": "OpenAL plugin library",
-        "elements": {
-            "openalsink": {
-                "author": "Juan Manuel Borges Caño <juanmabcmail@gmail.com>",
-                "description": "Output audio through OpenAL",
-                "hierarchy": [
-                    "GstOpenALSink",
-                    "GstAudioSink",
-                    "GstAudioBaseSink",
-                    "GstBaseSink",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Sink/Audio",
-                "long-name": "OpenAL Audio Sink",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "audio/x-raw:\n         format: F64LE\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2 ]\naudio/x-raw:\n         format: F32LE\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\naudio/x-raw:\n         format: S16LE\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\naudio/x-raw:\n         format: U8\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "device": {
-                        "blurb": "Human-readable name of the device",
+                    "const-quality": {
+                        "blurb": "Target Constant Quality level for VBR mode (0 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gdouble",
                         "writable": true
                     },
-                    "device-name": {
-                        "blurb": "Human-readable name of the opened device",
+                    "cuda-device-id": {
+                        "blurb": "CUDA device ID of associated GPU",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "",
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "guint",
                         "writable": false
                     },
-                    "user-context": {
-                        "blurb": "User context",
+                    "gop-size": {
+                        "blurb": "Number of frames between intra frames (-1 = infinite)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "mutable": "null",
+                        "default": "30",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gpointer",
+                        "type": "gint",
                         "writable": true
                     },
-                    "user-device": {
-                        "blurb": "User device",
-                        "conditionally-available": false,
+                    "i-adapt": {
+                        "blurb": "Enable adaptive I-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gpointer",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "user-source": {
-                        "blurb": "User source",
+                    "max-bitrate": {
+                        "blurb": "Maximum Bitrate in kbit/sec (ignored in CBR mode)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "-1",
+                        "max": "2048000",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "secondary"
-            },
-            "openalsrc": {
-                "author": "Juan Manuel Borges Caño <juanmabcmail@gmail.com>",
-                "description": "Input audio through OpenAL",
-                "hierarchy": [
-                    "GstOpenalSrc",
-                    "GstAudioSrc",
-                    "GstAudioBaseSrc",
-                    "GstPushSrc",
-                    "GstBaseSrc",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Source/Audio",
-                "long-name": "OpenAL Audio Source",
-                "pad-templates": {
-                    "src": {
-                        "caps": "audio/x-raw:\n         format: S16LE\n           rate: [ 1, 2147483647 ]\n       channels: 1\naudio/x-raw:\n         format: U8\n           rate: [ 1, 2147483647 ]\n       channels: 1\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "device": {
-                        "blurb": "User device, default device if NULL",
+                    },
+                    "max-qp-b": {
+                        "blurb": "Maximum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gint",
                         "writable": true
                     },
-                    "device-name": {
-                        "blurb": "Human-readable name of the device",
+                    "max-qp-i": {
+                        "blurb": "Maximum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
-                        "writable": false
-                    }
-                },
-                "rank": "secondary"
-            }
-        },
-        "filename": "gstopenal",
-        "license": "LGPL",
-        "other-types": {},
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "opencv": {
-        "description": "GStreamer OpenCV Plugins",
-        "elements": {
-            "cameracalibrate": {
-                "author": "Philippe Renon <philippe_renon@yahoo.fr>",
-                "description": "Performs camera calibration by having it point at a chessboard pattern using upstream/downstream cameraundistort",
-                "hierarchy": [
-                    "GstCameraCalibrate",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "cameracalibrate",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
+                        "type": "gint",
+                        "writable": true
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "aspect-ratio": {
-                        "blurb": "The aspect ratio",
+                    "max-qp-p": {
+                        "blurb": "Maximum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "3.40282e+38",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gfloat",
+                        "type": "gint",
                         "writable": true
                     },
-                    "board-height": {
-                        "blurb": "The board height in number of items (e.g. number of squares for chessboard)",
+                    "min-qp-b": {
+                        "blurb": "Minimum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "6",
-                        "max": "2147483647",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "board-width": {
-                        "blurb": "The board width in number of items (e.g. number of squares for chessboard)",
+                    "min-qp-i": {
+                        "blurb": "Minimum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "9",
-                        "max": "2147483647",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "center-principal-point": {
-                        "blurb": "Fix the principal point at the center",
+                    "min-qp-p": {
+                        "blurb": "Minimum QP value for P frame, (-1 = automatic)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "nonref-p": {
+                        "blurb": "Automatic insertion of non-reference P-frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "false",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "corner-sub-pixel": {
-                        "blurb": "Improve corner detection accuracy for chessboard",
+                    "preset": {
+                        "blurb": "Encoding Preset",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "default (0)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "GstNvEncoderPreset",
                         "writable": true
                     },
-                    "delay": {
-                        "blurb": "Sampling periodicity in ms",
+                    "qp-b": {
+                        "blurb": "Constant QP value for B frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "350",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "frame-count": {
-                        "blurb": "The number of frames to use from the input for calibration",
+                    "qp-i": {
+                        "blurb": "Constant QP value for I frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "25",
-                        "max": "2147483647",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "pattern": {
-                        "blurb": "One of the chessboard, circles, or asymmetric circle pattern",
+                    "qp-p": {
+                        "blurb": "Constant QP value for P frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "chessboard (0)",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstCameraCalibrationPattern",
+                        "type": "gint",
                         "writable": true
                     },
-                    "settings": {
-                        "blurb": "Camera correction parameters (opaque string of serialized OpenCV objects)",
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
-                        "mutable": "null",
+                        "default": "vbr (1)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
-                        "writable": false
+                        "type": "GstNvEncoderRCMode",
+                        "writable": true
                     },
-                    "show-corners": {
-                        "blurb": "Show corners",
+                    "rc-lookahead": {
+                        "blurb": "Number of frames for frame type lookahead",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "32",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "repeat-sequence-header": {
+                        "blurb": "Insert sequence headers (SPS/PPS) per IDR",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "square-size": {
-                        "blurb": "The size of a square in your defined unit (point, millimeter, etc.)",
+                    "spatial-aq": {
+                        "blurb": "Spatial Adaptive Quantization",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "3.40282e+38",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gfloat",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "use-fisheye": {
-                        "blurb": "Use fisheye camera model for calibration",
+                    "strict-gop": {
+                        "blurb": "Minimize GOP-to-GOP rate fluctuations",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "false",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "zero-tangent-distorsion": {
-                        "blurb": "Assume zero tangential distortion",
-                        "conditionally-available": false,
+                    "temporal-aq": {
+                        "blurb": "Temporal Adaptive Quantization",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "false",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "cameraundistort": {
-                "author": "Philippe Renon <philippe_renon@yahoo.fr>",
-                "description": "Performs camera undistort",
-                "hierarchy": [
-                    "GstCameraUndistort",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "cameraundistort",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "alpha": {
-                        "blurb": "Show all pixels (1), only valid ones (0) or something in between",
-                        "conditionally-available": false,
+                    "vbv-buffer-size": {
+                        "blurb": "VBV(HRD) Buffer Size in kbits (0 = NVENC default)",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "1",
+                        "max": "-1",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gfloat",
+                        "type": "guint",
                         "writable": true
                     },
-                    "settings": {
-                        "blurb": "Camera correction parameters (opaque string of serialized OpenCV objects)",
-                        "conditionally-available": false,
+                    "weighted-pred": {
+                        "blurb": "Enables Weighted Prediction",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "undistort": {
-                        "blurb": "Apply camera corrections",
+                    "zero-reorder-delay": {
+                        "blurb": "Zero latency operation (i.e., num_reorder_frames = 0)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                 },
                 "rank": "none"
             },
-            "cvdilate": {
-                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
-                "description": "Applies cvDilate OpenCV function to the image",
-                "hierarchy": [
-                    "GstCvDilate",
-                    "GstCvDilateErode",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Transform/Effect/Video",
-                "long-name": "cvdilate",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {},
-                "rank": "none"
-            },
-            "cvequalizehist": {
-                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
-                "description": "Applies cvEqualizeHist OpenCV function to the image",
-                "hierarchy": [
-                    "GstCvEqualizeHist",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Transform/Effect/Video",
-                "long-name": "cvequalizehist",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {},
-                "rank": "none"
-            },
-            "cverode": {
-                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
-                "description": "Applies cvErode OpenCV function to the image",
+            "nvcudah265enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.265 video streams using NVCODEC API CUDA Mode",
                 "hierarchy": [
-                    "GstCvErode",
-                    "GstCvDilateErode",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
+                    "GstNvCudaH265Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Transform/Effect/Video",
-                "long-name": "cverode",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {},
-                "rank": "none"
-            },
-            "cvlaplace": {
-                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
-                "description": "Applies cvLaplace OpenCV function to the image",
-                "hierarchy": [
-                    "GstCvLaplace",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
+                "interfaces": [
+                    "GstPreset"
                 ],
-                "klass": "Transform/Effect/Video",
-                "long-name": "cvlaplace",
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:CUDAMemory):\n         format: { NV12, P010_10LE, Y444, Y444_16LE }\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { NV12, P010_10LE, Y444, Y444_16LE }\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n interlace-mode: progressive\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-h265:\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n        profile: { (string)main, (string)main-10, (string)main-444, (string)main-444-10 }\n  stream-format: { (string)hvc1, (string)hev1, (string)byte-stream }\n      alignment: au\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "aperture-size": {
-                        "blurb": "Size of the extended Laplace Kernel (1, 3, 5 or 7)",
+                    "aq-strength": {
+                        "blurb": "Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
-                        "max": "7",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "15",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "mask": {
-                        "blurb": "Sets whether the detected edges should be used as a mask on the original input or not",
+                    "aud": {
+                        "blurb": "Use AU (Access Unit) delimiter",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "true",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "scale": {
-                        "blurb": "Scale factor",
-                        "conditionally-available": false,
+                    "b-adapt": {
+                        "blurb": "Enable adaptive B-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "1.79769e+308",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "shift": {
-                        "blurb": "Value added to the scaled source array elements",
-                        "conditionally-available": false,
+                    "b-frames": {
+                        "blurb": "Number of B-frames between I and P",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "1.79769e+308",
+                        "max": "5",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "cvsmooth": {
-                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
-                "description": "Applies cvSmooth OpenCV function to the image",
-                "hierarchy": [
-                    "GstCvSmooth",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Transform/Effect/Video",
-                "long-name": "cvsmooth",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "color": {
-                        "blurb": "If type is gaussian, this means the standard deviation.If type is bilateral, this means the color-sigma. If zero, Default values are used.",
+                    "bitrate": {
+                        "blurb": "Bitrate in kbit/sec (0 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "1.79769e+308",
+                        "max": "2048000",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "guint",
                         "writable": true
                     },
-                    "height": {
-                        "blurb": "Height of the area to blur (in pixels).",
+                    "const-quality": {
+                        "blurb": "Target Constant Quality level for VBR mode (0 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "2147483647",
-                        "max": "2147483647",
+                        "default": "0",
+                        "max": "51",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gdouble",
                         "writable": true
                     },
-                    "kernel-height": {
-                        "blurb": "The gaussian kernel height (must be positive and odd).",
+                    "cuda-device-id": {
+                        "blurb": "CUDA device ID of associated GPU",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
+                        "default": "0",
                         "max": "2147483647",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
-                        "writable": true
+                        "type": "guint",
+                        "writable": false
                     },
-                    "kernel-width": {
-                        "blurb": "The gaussian kernel width (must be positive and odd).If type is median, this means the aperture linear size.Check OpenCV docs: http://docs.opencv.org/2.4/modules/imgproc/doc/filtering.htm",
+                    "gop-size": {
+                        "blurb": "Number of frames between intra frames (-1 = infinite)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
+                        "default": "30",
                         "max": "2147483647",
-                        "min": "1",
-                        "mutable": "null",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "position-x": {
-                        "blurb": "Starting x position for blur (in pixels).",
-                        "conditionally-available": false,
+                    "i-adapt": {
+                        "blurb": "Enable adaptive I-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "position-y": {
-                        "blurb": "Starting y position for blur (in pixels).",
+                    "max-bitrate": {
+                        "blurb": "Maximum Bitrate in kbit/sec (ignored in CBR mode)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "2147483647",
+                        "max": "2048000",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "spatial": {
-                        "blurb": "Only used in bilateral type, means the spatial-sigma.",
+                    "max-qp-b": {
+                        "blurb": "Maximum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "1.79769e+308",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gint",
                         "writable": true
                     },
-                    "type": {
-                        "blurb": "Smooth Type",
+                    "max-qp-i": {
+                        "blurb": "Maximum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "gaussian (2)",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstCvSmoothTypeType",
+                        "type": "gint",
                         "writable": true
                     },
-                    "width": {
-                        "blurb": "Width of the area to blur (in pixels).",
+                    "max-qp-p": {
+                        "blurb": "Maximum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "2147483647",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "cvsobel": {
-                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
-                "description": "Applies cvSobel OpenCV function to the image",
-                "hierarchy": [
-                    "GstCvSobel",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Transform/Effect/Video",
-                "long-name": "cvsobel",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "aperture-size": {
-                        "blurb": "Size of the extended Sobel Kernel (1, 3, 5 or 7)",
+                    "min-qp-b": {
+                        "blurb": "Minimum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
-                        "max": "7",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "mask": {
-                        "blurb": "Sets whether the detected derivative edges should be used as a mask on the original input or not",
+                    "min-qp-i": {
+                        "blurb": "Minimum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gint",
                         "writable": true
                     },
-                    "x-order": {
-                        "blurb": "Order of the derivative x",
+                    "min-qp-p": {
+                        "blurb": "Minimum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "2147483647",
+                        "default": "-1",
+                        "max": "51",
                         "min": "-1",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "y-order": {
-                        "blurb": "Order of the derivative y",
+                    "nonref-p": {
+                        "blurb": "Automatic insertion of non-reference P-frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-1",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "cvtracker": {
-                "author": "Vivek R <123vivekr@gmail.com>",
-                "description": "Performs object tracking on videos and stores it in video buffer metadata.",
-                "hierarchy": [
-                    "GstCVTracker",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "cvtracker",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "algorithm": {
-                        "blurb": "Algorithm for tracking objects",
+                    "preset": {
+                        "blurb": "Encoding Preset",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "MedianFlow (3)",
-                        "mutable": "null",
+                        "default": "default (0)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstOpenCVTrackerAlgorithm",
+                        "type": "GstNvEncoderPreset",
                         "writable": true
                     },
-                    "draw-rect": {
-                        "blurb": "Draw rectangle around tracked object",
+                    "qp-b": {
+                        "blurb": "Constant QP value for B frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gint",
                         "writable": true
                     },
-                    "object-initial-height": {
-                        "blurb": "Track object box's initial height",
+                    "qp-i": {
+                        "blurb": "Constant QP value for I frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "-1",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "guint",
+                        "type": "gint",
                         "writable": true
                     },
-                    "object-initial-width": {
-                        "blurb": "Track object box's initial width",
+                    "qp-p": {
+                        "blurb": "Constant QP value for P frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "-1",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "guint",
+                        "type": "gint",
                         "writable": true
                     },
-                    "object-initial-x": {
-                        "blurb": "Track object box's initial X coordinate",
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "-1",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "vbr (1)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "guint",
+                        "type": "GstNvEncoderRCMode",
                         "writable": true
                     },
-                    "object-initial-y": {
-                        "blurb": "Track object box's initial Y coordinate",
-                        "conditionally-available": false,
+                    "rc-lookahead": {
+                        "blurb": "Number of frames for frame type lookahead",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "-1",
+                        "default": "0",
+                        "max": "32",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "dewarp": {
-                "author": "Nicola Murino <nicola.murino@gmail.com>",
-                "description": "Dewarp fisheye images",
-                "hierarchy": [
-                    "GstDewarp",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "Dewarp fisheye images",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "display-mode": {
-                        "blurb": "How to display the dewarped image",
+                    "repeat-sequence-header": {
+                        "blurb": "Insert sequence headers (SPS/PPS) per IDR, ignored if negotiated stream-format is \"hvc1\"",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "single-panorama (0)",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstDewarpDisplayMode",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "inner-radius": {
-                        "blurb": "Inner radius of the fisheye image donut. If outer radius <= inner radius the element will work in passthrough mode",
+                    "spatial-aq": {
+                        "blurb": "Spatial Adaptive Quantization",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "interpolation-method": {
-                        "blurb": "Interpolation method to use",
+                    "strict-gop": {
+                        "blurb": "Minimize GOP-to-GOP rate fluctuations",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "bilinear (1)",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstDewarpInterpolationMode",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "outer-radius": {
-                        "blurb": "Outer radius of the fisheye image donut. If outer radius <= inner radius the element will work in passthrough mode",
-                        "conditionally-available": false,
+                    "temporal-aq": {
+                        "blurb": "Temporal Adaptive Quantization",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
-                        "controllable": true,
-                        "default": "0",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "x-center": {
-                        "blurb": "X axis center of the fisheye image",
-                        "conditionally-available": false,
+                    "vbv-buffer-size": {
+                        "blurb": "VBV(HRD) Buffer Size in kbits (0 = NVENC default)",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
-                        "controllable": true,
-                        "default": "0.5",
-                        "max": "1",
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
                         "min": "0",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gdouble",
-                        "writable": true
-                    },
-                    "x-remap-correction": {
-                        "blurb": "Correction factor for remapping on x axis. A correction is needed if the fisheye image is not inside a circle",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": true,
-                        "default": "1",
-                        "max": "10",
-                        "min": "0.1",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "guint",
                         "writable": true
                     },
-                    "y-center": {
-                        "blurb": "Y axis center of the fisheye image",
-                        "conditionally-available": false,
+                    "weighted-pred": {
+                        "blurb": "Enables Weighted Prediction",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
-                        "controllable": true,
-                        "default": "0.5",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "y-remap-correction": {
-                        "blurb": "Correction factor for remapping on y axis. A correction is needed if the fisheye image is not inside a circle",
+                    "zero-reorder-delay": {
+                        "blurb": "Zero latency operation (i.e., num_reorder_frames = 0)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
-                        "controllable": true,
-                        "default": "1",
-                        "max": "10",
-                        "min": "0.1",
-                        "mutable": "null",
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gboolean",
                         "writable": true
                     }
                 },
                 "rank": "none"
             },
-            "disparity": {
-                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
-                "description": "Calculates the stereo disparity map from two (sequences of) rectified and aligned stereo images",
+            "nvd3d11h264enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.264 video streams using NVCODEC API Direct3D11 Mode",
                 "hierarchy": [
-                    "GstDisparity",
+                    "GstNvD3D11H264Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "Stereo image disparity (depth) map calculation",
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, Y444 }\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { NV12, Y444 }\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n interlace-mode: progressive\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-h264:\n          width: [ 160, 4096 ]\n         height: [ 64, 4096 ]\n        profile: { (string)main, (string)high, (string)constrained-high, (string)constrained-baseline, (string)baseline, (string)high-4:4:4 }\n  stream-format: { (string)avc, (string)byte-stream }\n      alignment: au\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "method": {
-                        "blurb": "Stereo matching method to use",
+                    "adapter-luid": {
+                        "blurb": "DXGI Adapter LUID (Locally Unique Identifier) of associated GPU",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "sgbm (1)",
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstDisparityMethod",
-                        "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "edgedetect": {
-                "author": "Michael Sheldon <mike@mikeasoft.com>",
-                "description": "Performs canny edge detection on videos and images.",
-                "hierarchy": [
-                    "GstEdgeDetect",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "edgedetect",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
+                        "type": "gint64",
+                        "writable": false
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "aperture": {
-                        "blurb": "Aperture size for Sobel operator (Must be either 3, 5 or 7",
+                    "aq-strength": {
+                        "blurb": "Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
-                        "max": "7",
-                        "min": "3",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "15",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "mask": {
-                        "blurb": "Sets whether the detected edges should be used as a mask on the original input or not",
+                    "aud": {
+                        "blurb": "Use AU (Access Unit) delimiter",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "true",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "threshold1": {
-                        "blurb": "Threshold value for canny edge detection",
-                        "conditionally-available": false,
+                    "b-adapt": {
+                        "blurb": "Enable adaptive B-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "1000",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "threshold2": {
-                        "blurb": "Second threshold value for canny edge detection",
-                        "conditionally-available": false,
+                    "b-frames": {
+                        "blurb": "Number of B-frames between I and P",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "150",
-                        "max": "1000",
+                        "default": "0",
+                        "max": "4",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "faceblur": {
-                "author": "Michael Sheldon <mike@mikeasoft.com>,Robert Jobbagy <jobbagy.robert@gmail.com>",
-                "description": "Blurs faces in images and videos",
-                "hierarchy": [
-                    "GstFaceBlur",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "faceblur",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "flags": {
-                        "blurb": "Flags to cvHaarDetectObjects",
+                    "bitrate": {
+                        "blurb": "Bitrate in kbit/sec (0 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "do-canny-pruning",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstOpencvFaceBlurFlags",
+                        "type": "guint",
                         "writable": true
                     },
-                    "min-neighbors": {
-                        "blurb": "Minimum number (minus 1) of neighbor rectangles that makes up an object",
-                        "conditionally-available": false,
+                    "cabac": {
+                        "blurb": "Enable CABAC entropy coding",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "true",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "min-size-height": {
-                        "blurb": "Minimum window height size",
+                    "const-quality": {
+                        "blurb": "Target Constant Quality level for VBR mode (0 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "30",
-                        "max": "2147483647",
+                        "default": "0",
+                        "max": "51",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gdouble",
                         "writable": true
                     },
-                    "min-size-width": {
-                        "blurb": "Minimum window width size",
+                    "gop-size": {
+                        "blurb": "Number of frames between intra frames (-1 = infinite)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "30",
                         "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "profile": {
-                        "blurb": "Location of Haar cascade file to use for face blurion",
-                        "conditionally-available": false,
+                    "i-adapt": {
+                        "blurb": "Enable adaptive I-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "scale-factor": {
-                        "blurb": "Factor by which the windows is scaled after each scan",
+                    "max-bitrate": {
+                        "blurb": "Maximum Bitrate in kbit/sec (ignored in CBR mode)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1.25",
-                        "max": "10",
-                        "min": "1.1",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "facedetect": {
-                "author": "Michael Sheldon <mike@mikeasoft.com>",
-                "description": "Performs face detection on videos and images, providing detected positions via bus messages",
-                "hierarchy": [
-                    "GstFaceDetect",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "facedetect",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "display": {
-                        "blurb": "Sets whether the detected faces should be highlighted in the output",
+                    "max-qp-b": {
+                        "blurb": "Maximum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gint",
                         "writable": true
                     },
-                    "eyes-profile": {
-                        "blurb": "Location of Haar cascade file to use for eye-pair detection",
+                    "max-qp-i": {
+                        "blurb": "Maximum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_eyepair_small.xml",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gint",
                         "writable": true
                     },
-                    "flags": {
-                        "blurb": "Flags to cvHaarDetectObjects",
+                    "max-qp-p": {
+                        "blurb": "Maximum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "do-canny-pruning",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstOpencvFaceDetectFlags",
+                        "type": "gint",
                         "writable": true
                     },
-                    "min-neighbors": {
-                        "blurb": "Minimum number (minus 1) of neighbor rectangles that makes up an object",
+                    "min-qp-b": {
+                        "blurb": "Minimum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "min-size-height": {
-                        "blurb": "Minimum area height to be recognized as a face",
+                    "min-qp-i": {
+                        "blurb": "Minimum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "30",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "min-size-width": {
-                        "blurb": "Minimum area width to be recognized as a face",
+                    "min-qp-p": {
+                        "blurb": "Minimum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "30",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "min-stddev": {
-                        "blurb": "Minimum image average standard deviation: on images with standard deviation lesser than this value facedetection will not be performed. Setting this property help to save cpu and reduce false positives not performing face detection on images with little changes",
+                    "nonref-p": {
+                        "blurb": "Automatic insertion of non-reference P-frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "255",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "mouth-profile": {
-                        "blurb": "Location of Haar cascade file to use for mouth detection",
+                    "preset": {
+                        "blurb": "Encoding Preset",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_mouth.xml",
-                        "mutable": "null",
+                        "default": "default (0)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "GstNvEncoderPreset",
                         "writable": true
                     },
-                    "nose-profile": {
-                        "blurb": "Location of Haar cascade file to use for nose detection",
+                    "qp-b": {
+                        "blurb": "Constant QP value for B frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_nose.xml",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gint",
                         "writable": true
                     },
-                    "profile": {
-                        "blurb": "Location of Haar cascade file to use for face detection",
+                    "qp-i": {
+                        "blurb": "Constant QP value for I frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gint",
                         "writable": true
                     },
-                    "scale-factor": {
-                        "blurb": "Factor by which the frame is scaled after each object scan",
+                    "qp-p": {
+                        "blurb": "Constant QP value for P frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1.25",
-                        "max": "10",
-                        "min": "1.1",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gint",
                         "writable": true
                     },
-                    "updates": {
-                        "blurb": "When send update bus messages, if at all",
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "every_frame (0)",
-                        "mutable": "null",
+                        "default": "vbr (1)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "GstFaceDetectUpdates",
+                        "type": "GstNvEncoderRCMode",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "grabcut": {
-                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
-                "description": "Runs Grabcut algorithm on input alpha. Values: BG=0, FG=1, PR_BG=2, PR_FGD=3; NOTE: larger values of alpha (notably 255) are interpreted as PR_FGD too. \nIN CASE OF no alpha mask input (all 0's or all 1's), the 'face' downstream event is used to create a bbox of PR_FG elements.\nIF nothing is present, then nothing is done.",
-                "hierarchy": [
-                    "GstGrabcut",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "Grabcut-based image FG/BG segmentation",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "scale": {
-                        "blurb": "Grow factor for the face bounding box, if present",
-                        "conditionally-available": false,
+                    "rc-lookahead": {
+                        "blurb": "Number of frames for frame type lookahead",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1.6",
-                        "max": "4",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "32",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gfloat",
+                        "type": "guint",
                         "writable": true
                     },
-                    "test-mode": {
-                        "blurb": "If true, the output RGB is overwritten with the segmented foreground. Alpha channel same as normal case ",
+                    "repeat-sequence-header": {
+                        "blurb": "Insert sequence headers (SPS/PPS) per IDR",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "false",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "handdetect": {
-                "author": "Andol Li <andol@andol.info>",
-                "description": "Performs hand gesture detection on videos, providing detected hand positions via bus message and navigation event, and deals with hand gesture events",
-                "hierarchy": [
-                    "GstHanddetect",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "interfaces": [
-                    "GstNavigation"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "handdetect",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "ROI-HEIGHT": {
-                        "blurb": "HEIGHT of left-top pointer in region of interest \nGestures in the defined region of interest will emit messages",
+                    "spatial-aq": {
+                        "blurb": "Spatial Adaptive Quantization",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "ROI-WIDTH": {
-                        "blurb": "WIDTH of left-top pointer in region of interest \nGestures in the defined region of interest will emit messages",
+                    "strict-gop": {
+                        "blurb": "Minimize GOP-to-GOP rate fluctuations",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "ROI-X": {
-                        "blurb": "X of left-top pointer in region of interest \nGestures in the defined region of interest will emit messages",
-                        "conditionally-available": false,
+                    "temporal-aq": {
+                        "blurb": "Temporal Adaptive Quantization",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "ROI-Y": {
-                        "blurb": "Y of left-top pointer in region of interest \nGestures in the defined region of interest will emit messages",
-                        "conditionally-available": false,
+                    "vbv-buffer-size": {
+                        "blurb": "VBV(HRD) Buffer Size in kbits (0 = NVENC default)",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "2147483647",
+                        "max": "-1",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "display": {
-                        "blurb": "Whether the detected hands are highlighted in output frame",
-                        "conditionally-available": false,
+                    "weighted-pred": {
+                        "blurb": "Enables Weighted Prediction",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gboolean",
                         "writable": true
                     },
-                    "profile-fist": {
-                        "blurb": "Location of HAAR cascade file (fist gesture)",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "@0@/fist.xml",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gchararray",
-                        "writable": true
-                    },
-                    "profile-palm": {
-                        "blurb": "Location of HAAR cascade file (palm gesture)",
+                    "zero-reorder-delay": {
+                        "blurb": "Zero latency operation (i.e., num_reorder_frames = 0)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "@0@/palm.xml",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gboolean",
                         "writable": true
                     }
                 },
                 "rank": "none"
             },
-            "motioncells": {
-                "author": "Robert Jobbagy <jobbagy dot robert at gmail dot com>, Nicola Murino <nicola dot murino at gmail.com>",
-                "description": "Performs motion detection on videos and images, providing detected motion cells index via bus messages",
+            "nvd3d11h265enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.265 video streams using NVCODEC API Direct3D11 Mode",
                 "hierarchy": [
-                    "GstMotioncells",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
+                    "GstNvD3D11H265Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "motioncells",
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE, Y444, Y444_16LE }\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { NV12, P010_10LE, Y444, Y444_16LE }\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n interlace-mode: progressive\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-h265:\n          width: [ 144, 8192 ]\n         height: [ 48, 8192 ]\n        profile: { (string)main, (string)main-10, (string)main-444, (string)main-444-10 }\n  stream-format: { (string)hvc1, (string)hev1, (string)byte-stream }\n      alignment: au\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "calculatemotion": {
-                        "blurb": "Toggles motion calculation. If FALSE, this filter does nothing",
+                    "adapter-luid": {
+                        "blurb": "DXGI Adapter LUID (Locally Unique Identifier) of associated GPU",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
-                        "writable": true
+                        "type": "gint64",
+                        "writable": false
                     },
-                    "cellscolor": {
-                        "blurb": "Color for motion cells in R,G,B format. Max per channel is 255",
+                    "aq-strength": {
+                        "blurb": "Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "255,255,0",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "15",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "guint",
                         "writable": true
                     },
-                    "datafile": {
-                        "blurb": "Location of motioncells data file (empty string means no saving)",
+                    "aud": {
+                        "blurb": "Use AU (Access Unit) delimiter",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
-                        "mutable": "null",
+                        "default": "true",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "datafileextension": {
-                        "blurb": "Extension of datafile",
-                        "conditionally-available": false,
+                    "b-adapt": {
+                        "blurb": "Enable adaptive B-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "vamc",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "display": {
-                        "blurb": "Toggle display of motion cells on current frame",
-                        "conditionally-available": false,
+                    "b-frames": {
+                        "blurb": "Number of B-frames between I and P",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "5",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "guint",
                         "writable": true
                     },
-                    "gap": {
-                        "blurb": "Interval in seconds after which motion is considered finished and a motion finished bus message is posted.",
+                    "bitrate": {
+                        "blurb": "Bitrate in kbit/sec (0 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "5",
-                        "max": "60",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "gridx": {
-                        "blurb": "Number of horizontal grid cells.",
+                    "const-quality": {
+                        "blurb": "Target Constant Quality level for VBR mode (0 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "10",
-                        "max": "32",
-                        "min": "8",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gdouble",
                         "writable": true
                     },
-                    "gridy": {
-                        "blurb": "Number of vertical grid cells.",
+                    "gop-size": {
+                        "blurb": "Number of frames between intra frames (-1 = infinite)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "10",
-                        "max": "32",
-                        "min": "8",
-                        "mutable": "null",
+                        "default": "30",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "minimummotionframes": {
-                        "blurb": "Minimum number of motion frames triggering a motion event",
+                    "i-adapt": {
+                        "blurb": "Enable adaptive I-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "max-bitrate": {
+                        "blurb": "Maximum Bitrate in kbit/sec (ignored in CBR mode)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "60",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "motioncellsidx": {
-                        "blurb": "Describe a cell with its line and column idx separated with \":\". Pass multiple cells as a comma-separated list",
+                    "max-qp-b": {
+                        "blurb": "Maximum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gint",
                         "writable": true
                     },
-                    "motioncellthickness": {
-                        "blurb": "Motion Cell Border Thickness. Set to -1 to fill motion cell",
+                    "max-qp-i": {
+                        "blurb": "Maximum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "5",
+                        "default": "-1",
+                        "max": "51",
                         "min": "-1",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "motionmaskcellspos": {
-                        "blurb": "Describe a cell with its line and column idx separated with \":\". Pass multiple cells as a comma-separated list",
+                    "max-qp-p": {
+                        "blurb": "Maximum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gint",
                         "writable": true
                     },
-                    "motionmaskcoords": {
-                        "blurb": "Describe a region with its upper left and lower right x, y coordinates separated with \":\". Pass multiple regions as a comma-separated list",
+                    "min-qp-b": {
+                        "blurb": "Minimum QP value for B frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gint",
                         "writable": true
                     },
-                    "postallmotion": {
-                        "blurb": "Post bus messages for every motion frame or just motion start and motion stop",
+                    "min-qp-i": {
+                        "blurb": "Minimum QP value for I frame, (-1 = disabled)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "false",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gint",
                         "writable": true
                     },
-                    "postnomotion": {
-                        "blurb": "If non 0, post a no_motion event on the bus if no motion is detected for the given number of seconds",
+                    "min-qp-p": {
+                        "blurb": "Minimum QP value for P frame, (-1 = automatic)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "180",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "sensitivity": {
-                        "blurb": "Motion detection sensitivity.",
+                    "nonref-p": {
+                        "blurb": "Automatic insertion of non-reference P-frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0.5",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "threshold": {
-                        "blurb": "Threshold value for motion. Filter detects motion when at least this fraction of the cells have moved",
+                    "preset": {
+                        "blurb": "Encoding Preset",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0.01",
-                        "max": "1",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "default (0)",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "GstNvEncoderPreset",
                         "writable": true
                     },
-                    "usealpha": {
-                        "blurb": "Toggle usage of alpha blending on frames with motion cells",
+                    "qp-b": {
+                        "blurb": "Constant QP value for B frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "opencvtextoverlay": {
-                "author": "sreerenj<bsreerenj@gmail.com>",
-                "description": "Write text on the top of video",
-                "hierarchy": [
-                    "GstOpencvTextOverlay",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "opencvtextoverlay",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "colorB": {
-                        "blurb": "Sets the color -B",
+                    "qp-i": {
+                        "blurb": "Constant QP value for I frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "255",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "colorG": {
-                        "blurb": "Sets the color -G",
+                    "qp-p": {
+                        "blurb": "Constant QP value for P frame (-1 = default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "255",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
                         "readable": true,
                         "type": "gint",
                         "writable": true
                     },
-                    "colorR": {
-                        "blurb": "Sets the color -R",
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
+                        "default": "vbr (1)",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "GstNvEncoderRCMode",
+                        "writable": true
+                    },
+                    "rc-lookahead": {
+                        "blurb": "Number of frames for frame type lookahead",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
                         "default": "0",
-                        "max": "255",
+                        "max": "32",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "height": {
-                        "blurb": "Sets the height of fonts",
+                    "repeat-sequence-header": {
+                        "blurb": "Insert sequence headers (SPS/PPS) per IDR, ignored if negotiated stream-format is \"hvc1\"",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "5",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "text": {
-                        "blurb": "Text to be display.",
+                    "spatial-aq": {
+                        "blurb": "Spatial Adaptive Quantization",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "Opencv Text Overlay",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "thickness": {
-                        "blurb": "Sets the Thickness of Font",
+                    "strict-gop": {
+                        "blurb": "Minimize GOP-to-GOP rate fluctuations",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "2",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "width": {
-                        "blurb": "Sets the width of fonts",
-                        "conditionally-available": false,
+                    "temporal-aq": {
+                        "blurb": "Temporal Adaptive Quantization",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "5",
-                        "min": "1",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "xpos": {
-                        "blurb": "Sets the Horizontal position",
-                        "conditionally-available": false,
+                    "vbv-buffer-size": {
+                        "blurb": "VBV(HRD) Buffer Size in kbits (0 = NVENC default)",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "2147483647",
+                        "default": "0",
+                        "max": "-1",
                         "min": "0",
-                        "mutable": "null",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "ypos": {
-                        "blurb": "Sets the Vertical position",
+                    "weighted-pred": {
+                        "blurb": "Enables Weighted Prediction",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "zero-reorder-delay": {
+                        "blurb": "Zero latency operation (i.e., num_reorder_frames = 0)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "2147483647",
-                        "min": "0",
-                        "mutable": "null",
+                        "default": "false",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     }
                 },
                 "rank": "none"
             },
-            "retinex": {
-                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
-                "description": "Multiscale retinex for colour image enhancement",
+            "nvh264dec": {
+                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "NVDEC video decoder",
                 "hierarchy": [
-                    "GstRetinex",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
+                    "nvh264dec",
+                    "GstNvDec",
+                    "GstVideoDecoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "Retinex image colour enhancement",
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC h264 Video Decoder",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-h264:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)high, (string)constrained-high, (string)progressive-high }\n          width: [ 48, 4096 ]\n         height: [ 16, 4096 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\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"
                     }
                 },
-                "properties": {
-                    "gain": {
-                        "blurb": "Gain",
-                        "conditionally-available": false,
+                "rank": "primary"
+            },
+            "nvh264enc": {
+                "author": "Tim-Philipp Müller <tim@centricular.com>, Matthew Waters <matthew@centricular.com>, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "Encode H.264 video streams using NVIDIA's hardware-accelerated NVENC encoder API",
+                "hierarchy": [
+                    "GstNvH264Enc",
+                    "GstNvDevice0H264Enc",
+                    "GstNvBaseEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
+                "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\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"
+                    },
+                    "src": {
+                        "caps": "video/x-h264:\n          width: [ 145, 4096 ]\n         height: [ 49, 4096 ]\n      framerate: [ 0/1, 2147483647/1 ]\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)high, (string)high-4:4:4, (string)baseline, (string)constrained-baseline }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aud": {
+                        "blurb": "Use AU (Access Unit) delimiter",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "b-adapt": {
+                        "blurb": "Enable adaptive B-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "bframes": {
+                        "blurb": "Number of B-frames between I and P",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "4",
+                        "min": "0",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "rc-lookahead": {
+                        "blurb": "Number of frames for frame type lookahead",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "32",
+                        "min": "0",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "temporal-aq": {
+                        "blurb": "Temporal Adaptive Quantization",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "vbv-buffer-size": {
+                        "blurb": "VBV(HRD) Buffer Size in kbits (0 = NVENC default)",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "weighted-pred": {
+                        "blurb": "Weighted Prediction",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "primary + 256"
+            },
+            "nvh264sldec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "NVIDIA H.264 video decoder",
+                "hierarchy": [
+                    "GstNvH264SLDec",
+                    "GstH264Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC H.264 Stateless Decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-h264:\n  stream-format: { (string)avc, (string)avc3, (string)byte-stream }\n      alignment: au\n        profile: { (string)high, (string)main, (string)constrained-high, (string)constrained-baseline, (string)baseline }\n      framerate: [ 0/1, 2147483647/1 ]\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"
+                    }
+                },
+                "properties": {
+                    "cuda-device-id": {
+                        "blurb": "Assigned CUDA device id",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": false
+                    }
+                },
+                "rank": "secondary"
+            },
+            "nvh265dec": {
+                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "NVDEC video decoder",
+                "hierarchy": [
+                    "nvh265dec",
+                    "GstNvDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC h265 Video Decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-h265:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)main-10, (string)main-12, (string)main-444, (string)main-444-10, (string)main-444-12 }\n          width: [ 144, 8192 ]\n         height: [ 144, 8192 ]\n",
+                        "direction": "sink",
+                        "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\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"
+                    }
+                },
+                "rank": "primary"
+            },
+            "nvh265enc": {
+                "author": "Tim-Philipp Müller <tim@centricular.com>, Matthew Waters <matthew@centricular.com>, Seungha Yang <pudding8757@gmail.com>",
+                "description": "Encode HEVC video streams using NVIDIA's hardware-accelerated NVENC encoder API",
+                "hierarchy": [
+                    "GstNvH265Enc",
+                    "GstNvDevice0H265Enc",
+                    "GstNvBaseEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
+                "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\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"
+                    },
+                    "src": {
+                        "caps": "video/x-h265:\n          width: [ 144, 8192 ]\n         height: [ 144, 8192 ]\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)main-10, (string)main-12, (string)main-444, (string)main-444-10, (string)main-444-12 }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aud": {
+                        "blurb": "Use AU (Access Unit) delimiter",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "b-adapt": {
+                        "blurb": "Enable adaptive B-frame insert when lookahead is enabled",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "bframes": {
+                        "blurb": "Number of B-frames between I and P",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "5",
+                        "min": "0",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "rc-lookahead": {
+                        "blurb": "Number of frames for frame type lookahead",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "32",
+                        "min": "0",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "temporal-aq": {
+                        "blurb": "Temporal Adaptive Quantization",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "vbv-buffer-size": {
+                        "blurb": "VBV(HRD) Buffer Size in kbits (0 = NVENC default)",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "weighted-pred": {
+                        "blurb": "Weighted Prediction",
+                        "conditionally-available": true,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "primary + 256"
+            },
+            "nvh265sldec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "NVIDIA H.265 video decoder",
+                "hierarchy": [
+                    "GstNvH265SLDec",
+                    "GstH265Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC H.265 Stateless Decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-h265:\n  stream-format: { (string)hev1, (string)hvc1, (string)byte-stream }\n      alignment: au\n        profile: { (string)main, (string)main-10, (string)main-12, (string)main-444, (string)main-444-10, (string)main-444-12 }\n          width: [ 144, 8192 ]\n         height: [ 144, 8192 ]\n",
+                        "direction": "sink",
+                        "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\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"
+                    }
+                },
+                "properties": {
+                    "cuda-device-id": {
+                        "blurb": "Assigned CUDA device id",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": false
+                    }
+                },
+                "rank": "secondary"
+            },
+            "nvjpegdec": {
+                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "NVDEC video decoder",
+                "hierarchy": [
+                    "nvjpegdec",
+                    "GstNvDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC jpeg Video Decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "image/jpeg:\n          width: [ 64, 32768 ]\n         height: [ 64, 16384 ]\n",
+                        "direction": "sink",
+                        "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\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"
+                    }
+                },
+                "rank": "primary"
+            },
+            "nvmpeg2videodec": {
+                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "NVDEC video decoder",
+                "hierarchy": [
+                    "nvmpeg2videodec",
+                    "GstNvDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC mpeg2video Video Decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/mpeg:\n    mpegversion: 2\n   systemstream: false\n          width: [ 48, 4080 ]\n         height: [ 16, 4080 ]\n",
+                        "direction": "sink",
+                        "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\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"
+                    }
+                },
+                "rank": "primary"
+            },
+            "nvmpeg4videodec": {
+                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "NVDEC video decoder",
+                "hierarchy": [
+                    "nvmpeg4videodec",
+                    "GstNvDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC mpeg4video Video Decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/mpeg:\n    mpegversion: 4\n   systemstream: false\n          width: [ 48, 2032 ]\n         height: [ 16, 2032 ]\n",
+                        "direction": "sink",
+                        "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\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"
+                    }
+                },
+                "rank": "primary"
+            },
+            "nvmpegvideodec": {
+                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "NVDEC video decoder",
+                "hierarchy": [
+                    "nvmpegvideodec",
+                    "GstNvDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC mpegvideo Video Decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/mpeg:\n    mpegversion: 1\n   systemstream: false\n          width: [ 48, 4080 ]\n         height: [ 16, 4080 ]\n",
+                        "direction": "sink",
+                        "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\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"
+                    }
+                },
+                "rank": "primary"
+            },
+            "nvvp8dec": {
+                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "NVDEC video decoder",
+                "hierarchy": [
+                    "nvvp8dec",
+                    "GstNvDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC vp8 Video 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": "primary"
+            },
+            "nvvp8sldec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "NVIDIA VP8 video decoder",
+                "hierarchy": [
+                    "GstNvVp8SLDec",
+                    "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"
+                    }
+                },
+                "properties": {
+                    "cuda-device-id": {
+                        "blurb": "Assigned CUDA device id",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": false
+                    }
+                },
+                "rank": "secondary"
+            },
+            "nvvp9dec": {
+                "author": "Ericsson AB, http://www.ericsson.com, Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "NVDEC video decoder",
+                "hierarchy": [
+                    "nvvp9dec",
+                    "GstNvDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "NVDEC vp9 Video Decoder",
+                "pad-templates": {
+                    "sink": {
+                        "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\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 <seungha@centricular.com>",
+                "description": "NVIDIA VP9 video decoder",
+                "hierarchy": [
+                    "GstNvVp9SLDec",
+                    "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"
+                    }
+                },
+                "properties": {
+                    "cuda-device-id": {
+                        "blurb": "Assigned CUDA device id",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": false
+                    }
+                },
+                "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
+                    }
+                }
+            },
+            "GstCudaMemoryCopy": {
+                "hierarchy": [
+                    "GstCudaMemoryCopy",
+                    "GstCudaBaseTransform",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object"
+            },
+            "GstNvBaseEnc": {
+                "hierarchy": [
+                    "GstNvBaseEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "kind": "object",
+                "properties": {
+                    "aq-strength": {
+                        "blurb": "Adaptive Quantization Strength when spatial-aq is enabled from 1 (low) to 15 (aggressive), (0 = autoselect)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "15",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "bitrate": {
+                        "blurb": "Bitrate in kbit/sec (0 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "const-quality": {
+                        "blurb": "Target Constant Quality level for VBR mode (0 = automatic)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "cuda-device-id": {
+                        "blurb": "Get the GPU device to use for operations",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": false
+                    },
+                    "gop-size": {
+                        "blurb": "Number of frames between intra frames (-1 = infinite)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "75",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "i-adapt": {
+                        "blurb": "Enable adaptive I-frame insert when lookahead is enabled",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "max-bitrate": {
+                        "blurb": "Maximum Bitrate in kbit/sec (ignored for CBR mode)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "nonref-p": {
+                        "blurb": "Automatic insertion of non-reference P-frames",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "preset": {
+                        "blurb": "Encoding Preset",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "default (0)",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "GstNvPreset",
+                        "writable": true
+                    },
+                    "qp-const": {
+                        "blurb": "Constant quantizer (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-const-b": {
+                        "blurb": "Constant QP value for B frame, When >= 0, \"qp-const-i\" and \"qp-const-p\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-const-i": {
+                        "blurb": "Constant QP value for I frame, When >= 0, \"qp-const-p\" and \"qp-const-b\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-const-p": {
+                        "blurb": "Constant QP value for P frame, When >= 0, \"qp-const-i\" and \"qp-const-b\" should be also >= 0. Overwritten by \"qp-const\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-max": {
+                        "blurb": "Maximum quantizer (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-max-b": {
+                        "blurb": "Maximum QP value for B frame, When >= 0, \"qp-max-i\" and \"qp-max-p\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-max-i": {
+                        "blurb": "Maximum QP value for I frame, When >= 0, \"qp-max-p\" and \"qp-max-b\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-max-p": {
+                        "blurb": "Maximum QP value for P frame, When >= 0, \"qp-max-i\" and \"qp-max-b\" should be also >= 0. Overwritten by \"qp-max\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-min": {
+                        "blurb": "Minimum quantizer (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-min-b": {
+                        "blurb": "Minimum QP value for B frame, When >= 0, \"qp-min-i\" and \"qp-min-p\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-min-i": {
+                        "blurb": "Minimum QP value for I frame, When >= 0, \"qp-min-p\" and \"qp-min-b\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "qp-min-p": {
+                        "blurb": "Minimum QP value for P frame, When >= 0, \"qp-min-i\" and \"qp-min-b\" should be also >= 0. Overwritten by \"qp-min\" (-1 = from NVENC preset)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "rc-mode": {
+                        "blurb": "Rate Control Mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "default (0)",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "GstNvRCMode",
+                        "writable": true
+                    },
+                    "spatial-aq": {
+                        "blurb": "Spatial Adaptive Quantization",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "strict-gop": {
+                        "blurb": "Minimize GOP-to-GOP rate fluctuations",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "zerolatency": {
+                        "blurb": "Zero latency operation (no reordering delay)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                }
+            },
+            "GstNvDec": {
+                "hierarchy": [
+                    "GstNvDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object",
+                "properties": {
+                    "cuda-device-id": {
+                        "blurb": "Assigned CUDA device id",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": false
+                    },
+                    "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": [
+                    "GstNvDevice0H264Enc",
+                    "GstNvBaseEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "kind": "object"
+            },
+            "GstNvDevice0H265Enc": {
+                "hierarchy": [
+                    "GstNvDevice0H265Enc",
+                    "GstNvBaseEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "kind": "object"
+            },
+            "GstNvEncoder": {
+                "hierarchy": [
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "kind": "object"
+            },
+            "GstNvEncoderPreset": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Default",
+                        "name": "default",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "High Performance",
+                        "name": "hp",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "High Quality",
+                        "name": "hq",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Low Latency",
+                        "name": "low-latency",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "Low Latency, High Quality",
+                        "name": "low-latency-hq",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "Low Latency, High Performance",
+                        "name": "low-latency-hp",
+                        "value": "5"
+                    },
+                    {
+                        "desc": "Lossless",
+                        "name": "lossless",
+                        "value": "6"
+                    },
+                    {
+                        "desc": "Lossless, High Performance",
+                        "name": "lossless-hp",
+                        "value": "7"
+                    }
+                ]
+            },
+            "GstNvEncoderRCMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Constant Quantization",
+                        "name": "cqp",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Variable Bit Rate",
+                        "name": "vbr",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Constant Bit Rate",
+                        "name": "cbr",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Low-Delay CBR, High Quality",
+                        "name": "cbr-ld-hq",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "CBR, High Quality (slower)",
+                        "name": "cbr-hq",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "VBR, High Quality (slower)",
+                        "name": "vbr-hq",
+                        "value": "5"
+                    }
+                ]
+            },
+            "GstNvPreset": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Default",
+                        "name": "default",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "High Performance",
+                        "name": "hp",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "High Quality",
+                        "name": "hq",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Low Latency",
+                        "name": "low-latency",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "Low Latency, High Quality",
+                        "name": "low-latency-hq",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "Low Latency, High Performance",
+                        "name": "low-latency-hp",
+                        "value": "5"
+                    },
+                    {
+                        "desc": "Lossless",
+                        "name": "lossless",
+                        "value": "6"
+                    },
+                    {
+                        "desc": "Lossless, High Performance",
+                        "name": "lossless-hp",
+                        "value": "7"
+                    }
+                ]
+            },
+            "GstNvRCMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Default",
+                        "name": "default",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Constant Quantization",
+                        "name": "constqp",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Constant Bit Rate",
+                        "name": "cbr",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Variable Bit Rate",
+                        "name": "vbr",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "Variable Bit Rate (with minimum quantization parameter, DEPRECATED)",
+                        "name": "vbr-minqp",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "Low-Delay CBR, High Quality",
+                        "name": "cbr-ld-hq",
+                        "value": "5"
+                    },
+                    {
+                        "desc": "CBR, High Quality (slower)",
+                        "name": "cbr-hq",
+                        "value": "6"
+                    },
+                    {
+                        "desc": "VBR, High Quality (slower)",
+                        "name": "vbr-hq",
+                        "value": "7"
+                    }
+                ]
+            }
+        },
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "openal": {
+        "description": "OpenAL plugin library",
+        "elements": {
+            "openalsink": {
+                "author": "Juan Manuel Borges Caño <juanmabcmail@gmail.com>",
+                "description": "Output audio through OpenAL",
+                "hierarchy": [
+                    "GstOpenALSink",
+                    "GstAudioSink",
+                    "GstAudioBaseSink",
+                    "GstBaseSink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink/Audio",
+                "long-name": "OpenAL Audio Sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-raw:\n         format: F64LE\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2 ]\naudio/x-raw:\n         format: F32LE\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\naudio/x-raw:\n         format: S16LE\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\naudio/x-raw:\n         format: U8\n           rate: [ 1, 2147483647 ]\n       channels: [ 1, 2147483647 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device": {
+                        "blurb": "Human-readable name of the device",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "device-name": {
+                        "blurb": "Human-readable name of the opened device",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    },
+                    "user-context": {
+                        "blurb": "User context",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gpointer",
+                        "writable": true
+                    },
+                    "user-device": {
+                        "blurb": "User device",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gpointer",
+                        "writable": true
+                    },
+                    "user-source": {
+                        "blurb": "User source",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    }
+                },
+                "rank": "secondary"
+            },
+            "openalsrc": {
+                "author": "Juan Manuel Borges Caño <juanmabcmail@gmail.com>",
+                "description": "Input audio through OpenAL",
+                "hierarchy": [
+                    "GstOpenalSrc",
+                    "GstAudioSrc",
+                    "GstAudioBaseSrc",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Audio",
+                "long-name": "OpenAL Audio Source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: S16LE\n           rate: [ 1, 2147483647 ]\n       channels: 1\naudio/x-raw:\n         format: U8\n           rate: [ 1, 2147483647 ]\n       channels: 1\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device": {
+                        "blurb": "User device, default device if NULL",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "device-name": {
+                        "blurb": "Human-readable name of the device",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                },
+                "rank": "secondary"
+            }
+        },
+        "filename": "gstopenal",
+        "license": "LGPL",
+        "other-types": {},
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "opencv": {
+        "description": "GStreamer OpenCV Plugins",
+        "elements": {
+            "cameracalibrate": {
+                "author": "Philippe Renon <philippe_renon@yahoo.fr>",
+                "description": "Performs camera calibration by having it point at a chessboard pattern using upstream/downstream cameraundistort",
+                "hierarchy": [
+                    "GstCameraCalibrate",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "cameracalibrate",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aspect-ratio": {
+                        "blurb": "The aspect ratio",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "3.40282e+38",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gfloat",
+                        "writable": true
+                    },
+                    "board-height": {
+                        "blurb": "The board height in number of items (e.g. number of squares for chessboard)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "6",
+                        "max": "2147483647",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "board-width": {
+                        "blurb": "The board width in number of items (e.g. number of squares for chessboard)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "9",
+                        "max": "2147483647",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "center-principal-point": {
+                        "blurb": "Fix the principal point at the center",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "corner-sub-pixel": {
+                        "blurb": "Improve corner detection accuracy for chessboard",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "delay": {
+                        "blurb": "Sampling periodicity in ms",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "350",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "frame-count": {
+                        "blurb": "The number of frames to use from the input for calibration",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "25",
+                        "max": "2147483647",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "pattern": {
+                        "blurb": "One of the chessboard, circles, or asymmetric circle pattern",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "chessboard (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstCameraCalibrationPattern",
+                        "writable": true
+                    },
+                    "settings": {
+                        "blurb": "Camera correction parameters (opaque string of serialized OpenCV objects)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    },
+                    "show-corners": {
+                        "blurb": "Show corners",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "square-size": {
+                        "blurb": "The size of a square in your defined unit (point, millimeter, etc.)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "50",
+                        "max": "3.40282e+38",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gfloat",
+                        "writable": true
+                    },
+                    "use-fisheye": {
+                        "blurb": "Use fisheye camera model for calibration",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "zero-tangent-distorsion": {
+                        "blurb": "Assume zero tangential distortion",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "cameraundistort": {
+                "author": "Philippe Renon <philippe_renon@yahoo.fr>",
+                "description": "Performs camera undistort",
+                "hierarchy": [
+                    "GstCameraUndistort",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "cameraundistort",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "alpha": {
+                        "blurb": "Show all pixels (1), only valid ones (0) or something in between",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gfloat",
+                        "writable": true
+                    },
+                    "settings": {
+                        "blurb": "Camera correction parameters (opaque string of serialized OpenCV objects)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "undistort": {
+                        "blurb": "Apply camera corrections",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "cvdilate": {
+                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
+                "description": "Applies cvDilate OpenCV function to the image",
+                "hierarchy": [
+                    "GstCvDilate",
+                    "GstCvDilateErode",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Transform/Effect/Video",
+                "long-name": "cvdilate",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {},
+                "rank": "none"
+            },
+            "cvequalizehist": {
+                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
+                "description": "Applies cvEqualizeHist OpenCV function to the image",
+                "hierarchy": [
+                    "GstCvEqualizeHist",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Transform/Effect/Video",
+                "long-name": "cvequalizehist",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {},
+                "rank": "none"
+            },
+            "cverode": {
+                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
+                "description": "Applies cvErode OpenCV function to the image",
+                "hierarchy": [
+                    "GstCvErode",
+                    "GstCvDilateErode",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Transform/Effect/Video",
+                "long-name": "cverode",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: GRAY16_LE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY16_BE\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xRGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRx\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: xBGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ARGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGRA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: ABGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {},
+                "rank": "none"
+            },
+            "cvlaplace": {
+                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
+                "description": "Applies cvLaplace OpenCV function to the image",
+                "hierarchy": [
+                    "GstCvLaplace",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Transform/Effect/Video",
+                "long-name": "cvlaplace",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aperture-size": {
+                        "blurb": "Size of the extended Laplace Kernel (1, 3, 5 or 7)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "7",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "mask": {
+                        "blurb": "Sets whether the detected edges should be used as a mask on the original input or not",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "scale": {
+                        "blurb": "Scale factor",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "1.79769e+308",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "shift": {
+                        "blurb": "Value added to the scaled source array elements",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "1.79769e+308",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "cvsmooth": {
+                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
+                "description": "Applies cvSmooth OpenCV function to the image",
+                "hierarchy": [
+                    "GstCvSmooth",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Transform/Effect/Video",
+                "long-name": "cvsmooth",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: GRAY8\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "color": {
+                        "blurb": "If type is gaussian, this means the standard deviation.If type is bilateral, this means the color-sigma. If zero, Default values are used.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "1.79769e+308",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "height": {
+                        "blurb": "Height of the area to blur (in pixels).",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "2147483647",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "kernel-height": {
+                        "blurb": "The gaussian kernel height (must be positive and odd).",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "kernel-width": {
+                        "blurb": "The gaussian kernel width (must be positive and odd).If type is median, this means the aperture linear size.Check OpenCV docs: http://docs.opencv.org/2.4/modules/imgproc/doc/filtering.htm",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "2147483647",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "position-x": {
+                        "blurb": "Starting x position for blur (in pixels).",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "position-y": {
+                        "blurb": "Starting y position for blur (in pixels).",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "spatial": {
+                        "blurb": "Only used in bilateral type, means the spatial-sigma.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "1.79769e+308",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "type": {
+                        "blurb": "Smooth Type",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "gaussian (2)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstCvSmoothTypeType",
+                        "writable": true
+                    },
+                    "width": {
+                        "blurb": "Width of the area to blur (in pixels).",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "2147483647",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "cvsobel": {
+                "author": "Thiago Santos<thiago.sousa.santos@collabora.co.uk>",
+                "description": "Applies cvSobel OpenCV function to the image",
+                "hierarchy": [
+                    "GstCvSobel",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Transform/Effect/Video",
+                "long-name": "cvsobel",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aperture-size": {
+                        "blurb": "Size of the extended Sobel Kernel (1, 3, 5 or 7)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "7",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "mask": {
+                        "blurb": "Sets whether the detected derivative edges should be used as a mask on the original input or not",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "x-order": {
+                        "blurb": "Order of the derivative x",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "y-order": {
+                        "blurb": "Order of the derivative y",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "cvtracker": {
+                "author": "Vivek R <123vivekr@gmail.com>",
+                "description": "Performs object tracking on videos and stores it in video buffer metadata.",
+                "hierarchy": [
+                    "GstCVTracker",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "cvtracker",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "algorithm": {
+                        "blurb": "Algorithm for tracking objects",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "MedianFlow (3)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstOpenCVTrackerAlgorithm",
+                        "writable": true
+                    },
+                    "draw-rect": {
+                        "blurb": "Draw rectangle around tracked object",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "object-initial-height": {
+                        "blurb": "Track object box's initial height",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "50",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "object-initial-width": {
+                        "blurb": "Track object box's initial width",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "50",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "object-initial-x": {
+                        "blurb": "Track object box's initial X coordinate",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "50",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "object-initial-y": {
+                        "blurb": "Track object box's initial Y coordinate",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "50",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "dewarp": {
+                "author": "Nicola Murino <nicola.murino@gmail.com>",
+                "description": "Dewarp fisheye images",
+                "hierarchy": [
+                    "GstDewarp",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Dewarp fisheye images",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "display-mode": {
+                        "blurb": "How to display the dewarped image",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "single-panorama (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstDewarpDisplayMode",
+                        "writable": true
+                    },
+                    "inner-radius": {
+                        "blurb": "Inner radius of the fisheye image donut. If outer radius <= inner radius the element will work in passthrough mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "interpolation-method": {
+                        "blurb": "Interpolation method to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "bilinear (1)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstDewarpInterpolationMode",
+                        "writable": true
+                    },
+                    "outer-radius": {
+                        "blurb": "Outer radius of the fisheye image donut. If outer radius <= inner radius the element will work in passthrough mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "x-center": {
+                        "blurb": "X axis center of the fisheye image",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "x-remap-correction": {
+                        "blurb": "Correction factor for remapping on x axis. A correction is needed if the fisheye image is not inside a circle",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "1",
+                        "max": "10",
+                        "min": "0.1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "y-center": {
+                        "blurb": "Y axis center of the fisheye image",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "y-remap-correction": {
+                        "blurb": "Correction factor for remapping on y axis. A correction is needed if the fisheye image is not inside a circle",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "1",
+                        "max": "10",
+                        "min": "0.1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "disparity": {
+                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
+                "description": "Calculates the stereo disparity map from two (sequences of) rectified and aligned stereo images",
+                "hierarchy": [
+                    "GstDisparity",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Stereo image disparity (depth) map calculation",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "method": {
+                        "blurb": "Stereo matching method to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "sgbm (1)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstDisparityMethod",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "edgedetect": {
+                "author": "Michael Sheldon <mike@mikeasoft.com>",
+                "description": "Performs canny edge detection on videos and images.",
+                "hierarchy": [
+                    "GstEdgeDetect",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "edgedetect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aperture": {
+                        "blurb": "Aperture size for Sobel operator (Must be either 3, 5 or 7",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "7",
+                        "min": "3",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "mask": {
+                        "blurb": "Sets whether the detected edges should be used as a mask on the original input or not",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "threshold1": {
+                        "blurb": "Threshold value for canny edge detection",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "50",
+                        "max": "1000",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "threshold2": {
+                        "blurb": "Second threshold value for canny edge detection",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "150",
+                        "max": "1000",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "faceblur": {
+                "author": "Michael Sheldon <mike@mikeasoft.com>,Robert Jobbagy <jobbagy.robert@gmail.com>",
+                "description": "Blurs faces in images and videos",
+                "hierarchy": [
+                    "GstFaceBlur",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "faceblur",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "flags": {
+                        "blurb": "Flags to cvHaarDetectObjects",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "do-canny-pruning",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstOpencvFaceBlurFlags",
+                        "writable": true
+                    },
+                    "min-neighbors": {
+                        "blurb": "Minimum number (minus 1) of neighbor rectangles that makes up an object",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "min-size-height": {
+                        "blurb": "Minimum window height size",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "30",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "min-size-width": {
+                        "blurb": "Minimum window width size",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "30",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "profile": {
+                        "blurb": "Location of Haar cascade file to use for face blurion",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "scale-factor": {
+                        "blurb": "Factor by which the windows is scaled after each scan",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1.25",
+                        "max": "10",
+                        "min": "1.1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "facedetect": {
+                "author": "Michael Sheldon <mike@mikeasoft.com>",
+                "description": "Performs face detection on videos and images, providing detected positions via bus messages",
+                "hierarchy": [
+                    "GstFaceDetect",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "facedetect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "display": {
+                        "blurb": "Sets whether the detected faces should be highlighted in the output",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "eyes-profile": {
+                        "blurb": "Location of Haar cascade file to use for eye-pair detection",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_eyepair_small.xml",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "flags": {
+                        "blurb": "Flags to cvHaarDetectObjects",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "do-canny-pruning",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstOpencvFaceDetectFlags",
+                        "writable": true
+                    },
+                    "min-neighbors": {
+                        "blurb": "Minimum number (minus 1) of neighbor rectangles that makes up an object",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "min-size-height": {
+                        "blurb": "Minimum area height to be recognized as a face",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "30",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "min-size-width": {
+                        "blurb": "Minimum area width to be recognized as a face",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "30",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "min-stddev": {
+                        "blurb": "Minimum image average standard deviation: on images with standard deviation lesser than this value facedetection will not be performed. Setting this property help to save cpu and reduce false positives not performing face detection on images with little changes",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "mouth-profile": {
+                        "blurb": "Location of Haar cascade file to use for mouth detection",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_mouth.xml",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "nose-profile": {
+                        "blurb": "Location of Haar cascade file to use for nose detection",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_mcs_nose.xml",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "profile": {
+                        "blurb": "Location of Haar cascade file to use for face detection",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "scale-factor": {
+                        "blurb": "Factor by which the frame is scaled after each object scan",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1.25",
+                        "max": "10",
+                        "min": "1.1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "updates": {
+                        "blurb": "When send update bus messages, if at all",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "every_frame (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstFaceDetectUpdates",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "grabcut": {
+                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
+                "description": "Runs Grabcut algorithm on input alpha. Values: BG=0, FG=1, PR_BG=2, PR_FGD=3; NOTE: larger values of alpha (notably 255) are interpreted as PR_FGD too. \nIN CASE OF no alpha mask input (all 0's or all 1's), the 'face' downstream event is used to create a bbox of PR_FG elements.\nIF nothing is present, then nothing is done.",
+                "hierarchy": [
+                    "GstGrabcut",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Grabcut-based image FG/BG segmentation",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "scale": {
+                        "blurb": "Grow factor for the face bounding box, if present",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1.6",
+                        "max": "4",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gfloat",
+                        "writable": true
+                    },
+                    "test-mode": {
+                        "blurb": "If true, the output RGB is overwritten with the segmented foreground. Alpha channel same as normal case ",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "handdetect": {
+                "author": "Andol Li <andol@andol.info>",
+                "description": "Performs hand gesture detection on videos, providing detected hand positions via bus message and navigation event, and deals with hand gesture events",
+                "hierarchy": [
+                    "GstHanddetect",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstNavigation"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "handdetect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "ROI-HEIGHT": {
+                        "blurb": "HEIGHT of left-top pointer in region of interest \nGestures in the defined region of interest will emit messages",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "ROI-WIDTH": {
+                        "blurb": "WIDTH of left-top pointer in region of interest \nGestures in the defined region of interest will emit messages",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "ROI-X": {
+                        "blurb": "X of left-top pointer in region of interest \nGestures in the defined region of interest will emit messages",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "ROI-Y": {
+                        "blurb": "Y of left-top pointer in region of interest \nGestures in the defined region of interest will emit messages",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "display": {
+                        "blurb": "Whether the detected hands are highlighted in output frame",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "profile-fist": {
+                        "blurb": "Location of HAAR cascade file (fist gesture)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "@0@/fist.xml",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "profile-palm": {
+                        "blurb": "Location of HAAR cascade file (palm gesture)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "@0@/palm.xml",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "motioncells": {
+                "author": "Robert Jobbagy <jobbagy dot robert at gmail dot com>, Nicola Murino <nicola dot murino at gmail.com>",
+                "description": "Performs motion detection on videos and images, providing detected motion cells index via bus messages",
+                "hierarchy": [
+                    "GstMotioncells",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "motioncells",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "calculatemotion": {
+                        "blurb": "Toggles motion calculation. If FALSE, this filter does nothing",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "cellscolor": {
+                        "blurb": "Color for motion cells in R,G,B format. Max per channel is 255",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "255,255,0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "datafile": {
+                        "blurb": "Location of motioncells data file (empty string means no saving)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "datafileextension": {
+                        "blurb": "Extension of datafile",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "vamc",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "display": {
+                        "blurb": "Toggle display of motion cells on current frame",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "gap": {
+                        "blurb": "Interval in seconds after which motion is considered finished and a motion finished bus message is posted.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "5",
+                        "max": "60",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "gridx": {
+                        "blurb": "Number of horizontal grid cells.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "10",
+                        "max": "32",
+                        "min": "8",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "gridy": {
+                        "blurb": "Number of vertical grid cells.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "10",
+                        "max": "32",
+                        "min": "8",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "minimummotionframes": {
+                        "blurb": "Minimum number of motion frames triggering a motion event",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "60",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "motioncellsidx": {
+                        "blurb": "Describe a cell with its line and column idx separated with \":\". Pass multiple cells as a comma-separated list",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "motioncellthickness": {
+                        "blurb": "Motion Cell Border Thickness. Set to -1 to fill motion cell",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "5",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "motionmaskcellspos": {
+                        "blurb": "Describe a cell with its line and column idx separated with \":\". Pass multiple cells as a comma-separated list",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "motionmaskcoords": {
+                        "blurb": "Describe a region with its upper left and lower right x, y coordinates separated with \":\". Pass multiple regions as a comma-separated list",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "postallmotion": {
+                        "blurb": "Post bus messages for every motion frame or just motion start and motion stop",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "postnomotion": {
+                        "blurb": "If non 0, post a no_motion event on the bus if no motion is detected for the given number of seconds",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "180",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "sensitivity": {
+                        "blurb": "Motion detection sensitivity.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0.5",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "threshold": {
+                        "blurb": "Threshold value for motion. Filter detects motion when at least this fraction of the cells have moved",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0.01",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "usealpha": {
+                        "blurb": "Toggle usage of alpha blending on frames with motion cells",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "opencvtextoverlay": {
+                "author": "sreerenj<bsreerenj@gmail.com>",
+                "description": "Write text on the top of video",
+                "hierarchy": [
+                    "GstOpencvTextOverlay",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "opencvtextoverlay",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "colorB": {
+                        "blurb": "Sets the color -B",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "colorG": {
+                        "blurb": "Sets the color -G",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "colorR": {
+                        "blurb": "Sets the color -R",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "height": {
+                        "blurb": "Sets the height of fonts",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "5",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "text": {
+                        "blurb": "Text to be display.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "Opencv Text Overlay",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "thickness": {
+                        "blurb": "Sets the Thickness of Font",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "2",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "width": {
+                        "blurb": "Sets the width of fonts",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "5",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "xpos": {
+                        "blurb": "Sets the Horizontal position",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "50",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "ypos": {
+                        "blurb": "Sets the Vertical position",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "50",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "retinex": {
+                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
+                "description": "Multiscale retinex for colour image enhancement",
+                "hierarchy": [
+                    "GstRetinex",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Retinex image colour enhancement",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "gain": {
+                        "blurb": "Gain",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "128",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "method": {
+                        "blurb": "Retinex method to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "basic (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstRetinexMethod",
+                        "writable": true
+                    },
+                    "offset": {
+                        "blurb": "Offset",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "128",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "scales": {
+                        "blurb": "Amount of gaussian filters (scales) used in multiscale retinex",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "4",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "sigma": {
+                        "blurb": "Sigma",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "14",
+                        "max": "1.79769e+308",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "segmentation": {
+                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
+                "description": "Create a Foregound/Background mask applying a particular algorithm",
+                "hierarchy": [
+                    "GstSegmentation",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "Foreground/background video sequence segmentation",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "learning-rate": {
+                        "blurb": "Speed with which a motionless foreground pixel would become background (inverse of number of frames)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0.01",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gfloat",
+                        "writable": true
+                    },
+                    "method": {
+                        "blurb": "Segmentation method to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "mog2 (2)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstSegmentationMethod",
+                        "writable": true
+                    },
+                    "test-mode": {
+                        "blurb": "If true, the output RGB is overwritten with the calculated foreground (white color)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "skindetect": {
+                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
+                "description": "Performs non-parametric skin detection on input",
+                "hierarchy": [
+                    "GstSkinDetect",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "skindetect",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "method": {
+                        "blurb": "Method to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "hsv (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstSkindetectMethod",
+                        "writable": true
+                    },
+                    "postprocess": {
+                        "blurb": "Apply opening-closing to skin detection to extract large, significant blobs ",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "templatematch": {
+                "author": "Noam Lewis <jones.noamle@gmail.com>",
+                "description": "Performs template matching on videos and images, providing detected positions via bus messages.",
+                "hierarchy": [
+                    "GstTemplateMatch",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video",
+                "long-name": "templatematch",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "display": {
+                        "blurb": "Sets whether the detected template should be highlighted in the output",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "method": {
+                        "blurb": "Specifies the way the template must be compared with image regions. 0=SQDIFF, 1=SQDIFF_NORMED, 2=CCOR, 3=CCOR_NORMED, 4=CCOEFF, 5=CCOEFF_NORMED.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "5",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "template": {
+                        "blurb": "Filename of template image",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "gstopencv",
+        "license": "LGPL",
+        "other-types": {
+            "GstCameraCalibrationPattern": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Chessboard",
+                        "name": "chessboard",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Circle Grids",
+                        "name": "circle_grids",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Asymmetric Circle Grids",
+                        "name": "asymmetric_circle_grids",
+                        "value": "2"
+                    }
+                ]
+            },
+            "GstCvDilateErode": {
+                "hierarchy": [
+                    "GstCvDilateErode",
+                    "GstOpencvVideoFilter",
+                    "GstVideoFilter",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object",
+                "properties": {
+                    "iterations": {
+                        "blurb": "Number of iterations to run the algorithm",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    }
+                }
+            },
+            "GstCvSmoothTypeType": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "CV Blur",
+                        "name": "blur",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "CV Gaussian",
+                        "name": "gaussian",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "CV Median",
+                        "name": "median",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "CV Bilateral",
+                        "name": "bilateral",
+                        "value": "4"
+                    }
+                ]
+            },
+            "GstDewarpDisplayMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Single panorama image",
+                        "name": "single-panorama",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Dewarped image is split in two images displayed one below the other",
+                        "name": "double-panorama",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Dewarped image is split in four images dysplayed as a quad view",
+                        "name": "quad-view",
+                        "value": "2"
+                    }
+                ]
+            },
+            "GstDewarpInterpolationMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "A nearest-neighbor interpolation",
+                        "name": "nearest",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "A bilinear interpolation",
+                        "name": "bilinear",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "A bicubic interpolation over 4x4 pixel neighborhood",
+                        "name": "bicubic",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "A Lanczos interpolation over 8x8 pixel neighborhood",
+                        "name": "Lanczos",
+                        "value": "3"
+                    }
+                ]
+            },
+            "GstDisparityMethod": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Global block matching algorithm",
+                        "name": "sbm",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Semi-global block matching algorithm",
+                        "name": "sgbm",
+                        "value": "1"
+                    }
+                ]
+            },
+            "GstFaceDetectUpdates": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Send update messages on every frame",
+                        "name": "every_frame",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Send messages when a new face is detected or one is not anymore detected",
+                        "name": "on_change",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Send messages whenever a face is detected",
+                        "name": "on_face",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Send no messages update",
+                        "name": "none",
+                        "value": "3"
+                    }
+                ]
+            },
+            "GstOpenCVTrackerAlgorithm": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "the Boosting tracker",
+                        "name": "Boosting",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "the CSRT tracker",
+                        "name": "CSRT",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "the KCF (Kernelized Correlation Filter) tracker",
+                        "name": "KCF",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "the Median Flow tracker",
+                        "name": "MedianFlow",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "the MIL tracker",
+                        "name": "MIL",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "the MOSSE (Minimum Output Sum of Squared Error) tracker",
+                        "name": "MOSSE",
+                        "value": "5"
+                    },
+                    {
+                        "desc": "the TLD (Tracking, learning and detection) tracker",
+                        "name": "TLD",
+                        "value": "6"
+                    }
+                ]
+            },
+            "GstOpencvFaceBlurFlags": {
+                "kind": "flags",
+                "values": [
+                    {
+                        "desc": "Do Canny edge detection to discard some regions",
+                        "name": "do-canny-pruning",
+                        "value": "0x00000001"
+                    }
+                ]
+            },
+            "GstOpencvFaceDetectFlags": {
+                "kind": "flags",
+                "values": [
+                    {
+                        "desc": "Do Canny edge detection to discard some regions",
+                        "name": "do-canny-pruning",
+                        "value": "0x00000001"
+                    }
+                ]
+            },
+            "GstRetinexMethod": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Basic retinex restoration",
+                        "name": "basic",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Mutiscale retinex restoration",
+                        "name": "multiscale",
+                        "value": "1"
+                    }
+                ]
+            },
+            "GstSegmentationMethod": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Codebook-based segmentation (Bradski2008)",
+                        "name": "codebook",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Mixture-of-Gaussians segmentation (Bowden2001)",
+                        "name": "mog",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Mixture-of-Gaussians segmentation (Zivkovic2004)",
+                        "name": "mog2",
+                        "value": "2"
+                    }
+                ]
+            },
+            "GstSkindetectMethod": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Classic HSV thresholding",
+                        "name": "hsv",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Normalised-RGB colorspace thresholding",
+                        "name": "rgb",
+                        "value": "1"
+                    }
+                ]
+            }
+        },
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "openexr": {
+        "description": "OpenEXR image plugin",
+        "elements": {
+            "openexrdec": {
+                "author": "Sebastian Dröge <sebastian@centricular.com>",
+                "description": "Decode EXR streams",
+                "hierarchy": [
+                    "GstOpenEXRDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "long-name": "OpenEXR decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "image/x-exr:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: ARGB64\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {},
+                "rank": "primary"
+            }
+        },
+        "filename": "gstopenexr",
+        "license": "LGPL",
+        "other-types": {},
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "openh264": {
+        "description": "OpenH264 encoder/decoder plugin",
+        "elements": {
+            "openh264dec": {
+                "author": "Ericsson AB, http://www.ericsson.com",
+                "description": "OpenH264 video decoder",
+                "hierarchy": [
+                    "GstOpenh264Dec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Decoder/Video",
+                "long-name": "OpenH264 video decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-h264:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)high, (string)constrained-high, (string)progressive-high }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: I420\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {},
+                "rank": "marginal"
+            },
+            "openh264enc": {
+                "author": "Ericsson AB, http://www.ericsson.com",
+                "description": "OpenH264 video encoder",
+                "hierarchy": [
+                    "GstOpenh264Enc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Encoder/Video",
+                "long-name": "OpenH264 video encoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: I420\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-h264:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)constrained-high, (string)high }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "adaptive-quantization": {
+                        "blurb": "Adaptive quantization",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "background-detection": {
+                        "blurb": "Background detection",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "bitrate": {
+                        "blurb": "Bitrate (in bits per second)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "128000",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "complexity": {
+                        "blurb": "Complexity",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "medium (1)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstOpenh264encComplexity",
+                        "writable": true
+                    },
+                    "deblocking": {
+                        "blurb": "Deblocking mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "on (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstOpenh264encDeblockingModes",
+                        "writable": true
+                    },
+                    "enable-denoise": {
+                        "blurb": "Denoise control",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "enable-frame-skip": {
+                        "blurb": "Skip frames to reach target bitrate",
+                        "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "128",
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "gop-size": {
+                        "blurb": "Number of frames between intra frames",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "90",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "max-bitrate": {
+                        "blurb": "Maximum Bitrate (in bits per second)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "max-slice-size": {
+                        "blurb": "The maximum size of one slice (in bytes).",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1500000",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "multi-thread": {
+                        "blurb": "The number of threads.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "num-slices": {
+                        "blurb": "The number of slices (needs slice-mode=n-slices)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "qp-max": {
+                        "blurb": "Maximum quantizer",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "51",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "qp-min": {
+                        "blurb": "Minimum quantizer",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "rate-control": {
+                        "blurb": "Rate control mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "quality (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "RC_MODES",
+                        "writable": true
+                    },
+                    "scene-change-detection": {
+                        "blurb": "Scene change detection",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "slice-mode": {
+                        "blurb": "Slice mode",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "n-slices (1)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstOpenh264EncSliceModes",
+                        "writable": true
+                    },
+                    "usage-type": {
+                        "blurb": "Type of video content",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "camera (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "EUsageType",
+                        "writable": true
+                    }
+                },
+                "rank": "marginal"
+            }
+        },
+        "filename": "gstopenh264",
+        "license": "BSD",
+        "other-types": {
+            "EUsageType": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "video from camera",
+                        "name": "camera",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "screen content",
+                        "name": "screen",
+                        "value": "1"
+                    }
+                ]
+            },
+            "GstOpenh264EncSliceModes": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Fixed number of slices",
+                        "name": "n-slices",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Number of slices equal to number of threads",
+                        "name": "auto",
+                        "value": "5"
+                    }
+                ]
+            },
+            "GstOpenh264encComplexity": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Low complexity / high speed encoding",
+                        "name": "low",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Medium complexity / medium speed encoding",
+                        "name": "medium",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "High complexity / low speed encoding",
+                        "name": "high",
+                        "value": "2"
+                    }
+                ]
+            },
+            "GstOpenh264encDeblockingModes": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Deblocking on",
+                        "name": "on",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Deblocking off",
+                        "name": "off",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Deblocking on, except for slice boundaries",
+                        "name": "not-slice-boundaries",
+                        "value": "2"
+                    }
+                ]
+            },
+            "RC_MODES": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Quality mode",
+                        "name": "quality",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Bitrate mode",
+                        "name": "bitrate",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "No bitrate control, just using buffer status",
+                        "name": "buffer",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Rate control off mode",
+                        "name": "off",
+                        "value": "-1"
+                    }
+                ]
+            }
+        },
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "openjpeg": {
+        "description": "OpenJPEG-based JPEG2000 image decoder/encoder",
+        "elements": {
+            "openjpegdec": {
+                "author": "Sebastian Dröge <sebastian.droege@collabora.co.uk>",
+                "description": "Decode JPEG2000 streams",
+                "hierarchy": [
+                    "GstOpenJPEGDec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video",
+                "long-name": "OpenJPEG JPEG2000 decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "image/x-j2c:\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\nimage/x-jpc:\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\nimage/jp2:\nimage/x-jpc-striped:\n    num-stripes: [ 2, 2147483647 ]\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { ARGB64, ARGB, xRGB, AYUV64, Y444_10LE, I422_10LE, I420_10LE, AYUV, Y444, Y42B, I420, Y41B, YUV9, GRAY8, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "max-slice-threads": {
+                        "blurb": "Maximum number of worker threads to spawn according to the frame boundary. (0 = no thread)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
                         "max": "2147483647",
                         "min": "0",
                         "mutable": "null",
                         "type": "gint",
                         "writable": true
                     },
-                    "method": {
-                        "blurb": "Retinex method to use",
+                    "max-threads": {
+                        "blurb": "Maximum number of worker threads to spawn used by openjpeg internally. (0 = no thread)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "basic (0)",
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstRetinexMethod",
+                        "type": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            },
+            "openjpegenc": {
+                "author": "Sebastian Dröge <sebastian.droege@collabora.co.uk>",
+                "description": "Encode JPEG2000 streams",
+                "hierarchy": [
+                    "GstOpenJPEGEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video",
+                "long-name": "OpenJPEG JPEG2000 encoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: { ARGB64, ARGB, xRGB, AYUV64, Y444_10LE, I422_10LE, I420_10LE, AYUV, Y444, Y42B, I420, Y41B, YUV9, GRAY8, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "image/x-j2c:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n num-components: [ 1, 4 ]\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\n     colorspace: { (string)sRGB, (string)sYUV, (string)GRAY }\nimage/x-jpc:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n num-components: [ 1, 4 ]\n    num-stripes: [ 1, 2147483647 ]\n      alignment: { (string)frame, (string)stripe }\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\n     colorspace: { (string)sRGB, (string)sYUV, (string)GRAY }\nimage/jp2:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nimage/x-jpc-striped:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n num-components: [ 1, 4 ]\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\n     colorspace: { (string)sRGB, (string)sYUV, (string)GRAY }\n    num-stripes: [ 2, 2147483647 ]\n  stripe-height: [ 1, 2147483647 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "num-layers": {
+                        "blurb": "Number of layers",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "10",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
                         "writable": true
                     },
-                    "offset": {
-                        "blurb": "Offset",
+                    "num-resolutions": {
+                        "blurb": "Number of resolutions",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "128",
+                        "default": "6",
+                        "max": "10",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "num-stripes": {
+                        "blurb": "Number of stripes for low latency encoding. (1 = low latency disabled)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "2147483647",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "num-threads": {
+                        "blurb": "Max number of simultaneous threads to encode stripe or frame, default: encode with streaming thread.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "progression-order": {
+                        "blurb": "Progression order",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "lrcp (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstOpenJPEGEncProgressionOrder",
+                        "writable": true
+                    },
+                    "tile-height": {
+                        "blurb": "Tile Height",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "tile-offset-x": {
+                        "blurb": "Tile Offset X",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "tile-offset-y": {
+                        "blurb": "Tile Offset Y",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "tile-width": {
+                        "blurb": "Tile Width",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "primary"
+            }
+        },
+        "filename": "gstopenjpeg",
+        "license": "LGPL",
+        "other-types": {
+            "GstOpenJPEGEncProgressionOrder": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "LRCP",
+                        "name": "lrcp",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "RLCP",
+                        "name": "rlcp",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "RPCL",
+                        "name": "rpcl",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "PCRL",
+                        "name": "pcrl",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "CPRL",
+                        "name": "crpl",
+                        "value": "4"
+                    }
+                ]
+            }
+        },
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "openmpt": {
+        "description": "OpenMPT module player",
+        "elements": {
+            "openmptdec": {
+                "author": "Carlos Rafael Giani <dv@pseudoterminal.org>",
+                "description": "Decoders module files (MOD/S3M/XM/IT/MTM/...) using OpenMPT",
+                "hierarchy": [
+                    "GstOpenMptDec",
+                    "GstNonstreamAudioDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Audio",
+                "long-name": "OpenMPT-based module music decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-mod:\n           type: { (string)669, (string)asylum-amf, (string)dsmi-amf, (string)extreme-ams, (string)velvet-ams, (string)dbm, (string)digi, (string)dmf, (string)dsm, (string)far, (string)gdm, (string)imf, (string)it, (string)j2b, (string)mdl, (string)med, (string)mod, (string)mt2, (string)mtm, (string)okt, (string)psm, (string)ptm, (string)s3m, (string)stm, (string)ult, (string)xm }\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-raw:\n         format: { S16LE, F32LE }\n         layout: interleaved\n           rate: [ 1, 192000 ]\n       channels: { (int)1, (int)2, (int)4 }\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "current-subsong": {
+                        "blurb": "Subsong that is currently selected for playback",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "filter-length": {
+                        "blurb": "Length of interpolation filter to use for the samples (0 = internal default)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "8",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "master-gain": {
+                        "blurb": "Gain to apply to the playback, in millibel",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483647",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "num-loops": {
+                        "blurb": "Number of times a playback loop shall be executed (special values: 0 = no looping; -1 = infinite loop)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "output-buffer-size": {
+                        "blurb": "Size of each output buffer, in samples (actual size can be smaller than this during flush or EOS)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1024",
+                        "max": "268435455",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "output-mode": {
+                        "blurb": "Which mode playback shall use when a loop is encountered; looping = reset position to start of loop, steady = do not reset position",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "steady (1)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstNonstreamAudioOutputMode",
+                        "writable": true
+                    },
+                    "stereo-separation": {
+                        "blurb": "Degree of separation for stereo channels, in percent",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "100",
+                        "max": "400",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "subsong-mode": {
+                        "blurb": "Mode which defines how to treat subsongs",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "default (2)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstNonstreamAudioSubsongMode",
+                        "writable": true
+                    },
+                    "volume-ramping": {
+                        "blurb": "Volume ramping strength; higher value -> slower ramping (-1 = internal default)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "10",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    }
+                },
+                "rank": "primary + 2"
+            }
+        },
+        "filename": "gstopenmpt",
+        "license": "LGPL",
+        "other-types": {},
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "openni2": {
+        "description": "GStreamer Openni2 Plugins",
+        "elements": {
+            "openni2src": {
+                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
+                "description": "Extract readings from an OpenNI supported device (Kinect etc). ",
+                "hierarchy": [
+                    "GstOpenni2Src",
+                    "GstPushSrc",
+                    "GstBaseSrc",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Source/Video",
+                "long-name": "Openni2 client source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { RGBA, RGB, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "blocksize": {
+                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "do-timestamp": {
+                        "blurb": "Apply current stream time to buffers",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "location": {
+                        "blurb": "Source uri, can be a file or a device.",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "num-buffers": {
+                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
                         "max": "2147483647",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "sourcetype": {
+                        "blurb": "Type of readings to get from the source",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "depth (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstOpenni2SrcSourcetype",
+                        "writable": true
+                    },
+                    "typefind": {
+                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "gstopenni2",
+        "license": "LGPL",
+        "other-types": {
+            "GstOpenni2SrcSourcetype": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Get depth readings",
+                        "name": "depth",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Get color readings",
+                        "name": "color",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Get color and depth (as alpha) readings - EXPERIMENTAL",
+                        "name": "both",
+                        "value": "2"
+                    }
+                ]
+            }
+        },
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "opusparse": {
+        "description": "OPUS parse plugin",
+        "elements": {
+            "opusparse": {
+                "author": "Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>",
+                "description": "parses opus audio streams",
+                "hierarchy": [
+                    "GstOpusParse",
+                    "GstBaseParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Parser/Audio",
+                "long-name": "Opus audio parser",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "audio/x-opus:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "audio/x-opus:\n         framed: true\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {},
+                "rank": "none"
+            }
+        },
+        "filename": "gstopusparse",
+        "license": "LGPL",
+        "other-types": {},
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "pcapparse": {
+        "description": "Element parsing raw pcap streams",
+        "elements": {
+            "irtspparse": {
+                "author": "Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>",
+                "description": "Parses a raw interleaved RTSP stream",
+                "hierarchy": [
+                    "GstIRTSPParse",
+                    "GstBaseParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Raw/Parser",
+                "long-name": "IRTSPParse",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "application/x-rtp:\napplication/x-rtcp:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "channel-id": {
+                        "blurb": "Channel Identifier",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "255",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "gint",
                         "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "pcapparse": {
+                "author": "Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>",
+                "description": "Parses a raw pcap stream",
+                "hierarchy": [
+                    "GstPcapParse",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Raw/Parser",
+                "long-name": "PCapParse",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "raw/x-pcap:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "caps": {
+                        "blurb": "The caps of the source pad",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstCaps",
+                        "writable": true
+                    },
+                    "dst-ip": {
+                        "blurb": "Destination IP to restrict to",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "dst-port": {
+                        "blurb": "Destination port to restrict to",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "65535",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "src-ip": {
+                        "blurb": "Source IP to restrict to",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "src-port": {
+                        "blurb": "Source port to restrict to",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "-1",
+                        "max": "65535",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "ts-offset": {
+                        "blurb": "Relative timestamp offset (ns) to apply (-1 = use absolute packet time)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "18446744073709551615",
+                        "max": "9223372036854775807",
+                        "min": "-1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint64",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            }
+        },
+        "filename": "gstpcapparse",
+        "license": "LGPL",
+        "other-types": {},
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "pnm": {
+        "description": "PNM plugin",
+        "elements": {
+            "pnmdec": {
+                "author": "Lutz Mueller <lutz@users.sourceforge.net>",
+                "description": "Decodes images in portable pixmap/graymap/bitmap/anymamp (PNM) format",
+                "hierarchy": [
+                    "GstPnmdec",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Image",
+                "long-name": "PNM image decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "image/x-portable-bitmap:\nimage/x-portable-graymap:\nimage/x-portable-pixmap:\nimage/x-portable-anymap:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { RGB, GRAY8, GRAY16_BE, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {},
+                "rank": "primary"
+            },
+            "pnmenc": {
+                "author": "Lutz Mueller <lutz@users.sourceforge.net>",
+                "description": "Encodes images into portable pixmap or graymap (PNM) format",
+                "hierarchy": [
+                    "GstPnmenc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Image",
+                "long-name": "PNM image encoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw:\n         format: { RGB, GRAY8, GRAY16_BE, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
                     },
-                    "scales": {
-                        "blurb": "Amount of gaussian filters (scales) used in multiscale retinex",
+                    "src": {
+                        "caps": "image/x-portable-bitmap:\nimage/x-portable-graymap:\nimage/x-portable-pixmap:\nimage/x-portable-anymap:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "ascii": {
+                        "blurb": "The output will be ASCII encoded",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
-                        "max": "4",
-                        "min": "1",
+                        "default": "false",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
-                    },
-                    "sigma": {
-                        "blurb": "Sigma",
+                    }
+                },
+                "rank": "primary"
+            }
+        },
+        "filename": "gstpnm",
+        "license": "LGPL",
+        "other-types": {},
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "proxy": {
+        "description": "plugin for proxied inter-pipeline communication",
+        "elements": {
+            "proxysink": {
+                "author": "Sebastian Dröge <sebastian@centricular.com>",
+                "description": "Proxy source for internal process communication",
+                "hierarchy": [
+                    "GstProxySink",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Sink",
+                "long-name": "Proxy Sink",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "ANY",
+                        "direction": "sink",
+                        "presence": "always"
+                    }
+                },
+                "rank": "none"
+            },
+            "proxysrc": {
+                "author": "Sebastian Dröge <sebastian@centricular.com>",
+                "description": "Proxy source for internal process communication",
+                "hierarchy": [
+                    "GstProxySrc",
+                    "GstBin",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstChildProxy"
+                ],
+                "klass": "Source",
+                "long-name": "Proxy source",
+                "pad-templates": {
+                    "src": {
+                        "caps": "ANY",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "proxysink": {
+                        "blurb": "Matching proxysink",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "14",
-                        "max": "1.79769e+308",
-                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gdouble",
+                        "type": "GstProxySink",
                         "writable": true
                     }
                 },
                 "rank": "none"
-            },
-            "segmentation": {
-                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
-                "description": "Create a Foregound/Background mask applying a particular algorithm",
+            }
+        },
+        "filename": "gstproxy",
+        "license": "LGPL",
+        "other-types": {},
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
+    "qroverlay": {
+        "description": "libqrencode qroverlay plugin",
+        "elements": {
+            "debugqroverlay": {
+                "author": "Anthony Violo <anthony.violo@ubicast.eu>",
+                "description": "Overlay Qrcodes over each buffer with buffer information and custom data",
                 "hierarchy": [
-                    "GstSegmentation",
-                    "GstOpencvVideoFilter",
+                    "GstDebugQROverlay",
+                    "GstBaseQROverlay",
                     "GstVideoFilter",
                     "GstBaseTransform",
                     "GstElement",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "Foreground/background video sequence segmentation",
+                "klass": "Qrcode overlay containing buffer information",
+                "long-name": "qroverlay",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { I420 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 16, 2147483647 ]\n         height: [ 16, 2147483647 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: RGBA\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { I420 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 16, 2147483647 ]\n         height: [ 16, 2147483647 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "learning-rate": {
-                        "blurb": "Speed with which a motionless foreground pixel would become background (inverse of number of frames)",
+                    "extra-data-array": {
+                        "blurb": "List of comma separated values that the extra data value will be  cycled from at each interval, example array structure : \"240,480,720,960,1200,1440,1680,1920\"",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0.01",
-                        "max": "1",
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": true
+                    },
+                    "extra-data-interval-buffers": {
+                        "blurb": "Extra data append into the Qrcode at the first buffer of each  interval",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "60",
+                        "max": "9223372036854775807",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gfloat",
+                        "type": "gint64",
                         "writable": true
                     },
-                    "method": {
-                        "blurb": "Segmentation method to use",
+                    "extra-data-name": {
+                        "blurb": "Json key name for extra append data",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "mog2 (2)",
+                        "default": "NULL",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstSegmentationMethod",
+                        "type": "gchararray",
                         "writable": true
                     },
-                    "test-mode": {
-                        "blurb": "If true, the output RGB is overwritten with the calculated foreground (white color)",
+                    "extra-data-span-buffers": {
+                        "blurb": "Numbers of consecutive buffers that the extra data will be inserted  (counting the first buffer)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "false",
+                        "default": "1",
+                        "max": "9223372036854775807",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gint64",
                         "writable": true
                     }
                 },
                 "rank": "none"
             },
-            "skindetect": {
-                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
-                "description": "Performs non-parametric skin detection on input",
+            "qroverlay": {
+                "author": "Thibault Saunier <tsaunier@igalia.com>",
+                "description": "Overlay Qrcodes over each buffer with data passed in",
                 "hierarchy": [
-                    "GstSkinDetect",
-                    "GstOpencvVideoFilter",
+                    "GstQROverlay",
+                    "GstBaseQROverlay",
                     "GstVideoFilter",
                     "GstBaseTransform",
                     "GstElement",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "skindetect",
+                "klass": "Qrcode overlay containing random data",
+                "long-name": "qroverlay",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { I420 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 16, 2147483647 ]\n         height: [ 16, 2147483647 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: RGB\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw:\n         format: { I420 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 16, 2147483647 ]\n         height: [ 16, 2147483647 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "method": {
-                        "blurb": "Method to use",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "hsv (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstSkindetectMethod",
-                        "writable": true
-                    },
-                    "postprocess": {
-                        "blurb": "Apply opening-closing to skin detection to extract large, significant blobs ",
+                    "data": {
+                        "blurb": "Data to write in the QRCode to be overlaid",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
-                        "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
+                        "controllable": true,
+                        "default": "NULL",
+                        "mutable": "playing",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gchararray",
                         "writable": true
                     }
                 },
                 "rank": "none"
-            },
-            "templatematch": {
-                "author": "Noam Lewis <jones.noamle@gmail.com>",
-                "description": "Performs template matching on videos and images, providing detected positions via bus messages.",
+            }
+        },
+        "filename": "gstqroverlay",
+        "license": "LGPL",
+        "other-types": {
+            "GstBaseQROverlay": {
                 "hierarchy": [
-                    "GstTemplateMatch",
-                    "GstOpencvVideoFilter",
+                    "GstBaseQROverlay",
                     "GstVideoFilter",
                     "GstBaseTransform",
                     "GstElement",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Effect/Video",
-                "long-name": "templatematch",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: BGR\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
+                "kind": "object",
                 "properties": {
-                    "display": {
-                        "blurb": "Sets whether the detected template should be highlighted in the output",
+                    "pixel-size": {
+                        "blurb": "Pixel size of each Qrcode pixel",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
+                        "default": "3",
+                        "max": "100",
+                        "min": "1",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "gfloat",
                         "writable": true
                     },
-                    "method": {
-                        "blurb": "Specifies the way the template must be compared with image regions. 0=SQDIFF, 1=SQDIFF_NORMED, 2=CCOR, 3=CCOR_NORMED, 4=CCOEFF, 5=CCOEFF_NORMED.",
+                    "qrcode-error-correction": {
+                        "blurb": "qrcode-error-correction",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
-                        "max": "5",
-                        "min": "0",
+                        "default": "Approx 15%% (1)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "GstQrcodeOverlayCorrection",
                         "writable": true
                     },
-                    "template": {
-                        "blurb": "Filename of template image",
+                    "x": {
+                        "blurb": "X position (in percent of the width)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
+                        "default": "50",
+                        "max": "100",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "gfloat",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            }
-        },
-        "filename": "gstopencv",
-        "license": "LGPL",
-        "other-types": {
-            "GstCameraCalibrationPattern": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Chessboard",
-                        "name": "chessboard",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Circle Grids",
-                        "name": "circle_grids",
-                        "value": "1"
                     },
-                    {
-                        "desc": "Asymmetric Circle Grids",
-                        "name": "asymmetric_circle_grids",
-                        "value": "2"
-                    }
-                ]
-            },
-            "GstCvDilateErode": {
-                "hierarchy": [
-                    "GstCvDilateErode",
-                    "GstOpencvVideoFilter",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "kind": "object",
-                "properties": {
-                    "iterations": {
-                        "blurb": "Number of iterations to run the algorithm",
+                    "y": {
+                        "blurb": "Y position (in percent of the height)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "2147483647",
-                        "min": "1",
+                        "default": "50",
+                        "max": "100",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gfloat",
                         "writable": true
                     }
                 }
             },
-            "GstCvSmoothTypeType": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "CV Blur",
-                        "name": "blur",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "CV Gaussian",
-                        "name": "gaussian",
-                        "value": "2"
-                    },
-                    {
-                        "desc": "CV Median",
-                        "name": "median",
-                        "value": "3"
-                    },
-                    {
-                        "desc": "CV Bilateral",
-                        "name": "bilateral",
-                        "value": "4"
-                    }
-                ]
-            },
-            "GstDewarpDisplayMode": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Single panorama image",
-                        "name": "single-panorama",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Dewarped image is split in two images displayed one below the other",
-                        "name": "double-panorama",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "Dewarped image is split in four images dysplayed as a quad view",
-                        "name": "quad-view",
-                        "value": "2"
-                    }
-                ]
-            },
-            "GstDewarpInterpolationMode": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "A nearest-neighbor interpolation",
-                        "name": "nearest",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "A bilinear interpolation",
-                        "name": "bilinear",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "A bicubic interpolation over 4x4 pixel neighborhood",
-                        "name": "bicubic",
-                        "value": "2"
-                    },
-                    {
-                        "desc": "A Lanczos interpolation over 8x8 pixel neighborhood",
-                        "name": "Lanczos",
-                        "value": "3"
-                    }
-                ]
-            },
-            "GstDisparityMethod": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Global block matching algorithm",
-                        "name": "sbm",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Semi-global block matching algorithm",
-                        "name": "sgbm",
-                        "value": "1"
-                    }
-                ]
-            },
-            "GstFaceDetectUpdates": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Send update messages on every frame",
-                        "name": "every_frame",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Send messages when a new face is detected or one is not anymore detected",
-                        "name": "on_change",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "Send messages whenever a face is detected",
-                        "name": "on_face",
-                        "value": "2"
-                    },
-                    {
-                        "desc": "Send no messages update",
-                        "name": "none",
-                        "value": "3"
-                    }
-                ]
-            },
-            "GstOpenCVTrackerAlgorithm": {
+            "GstQrcodeOverlayCorrection": {
                 "kind": "enum",
                 "values": [
                     {
-                        "desc": "the Boosting tracker",
-                        "name": "Boosting",
+                        "desc": "Level L",
+                        "name": "Approx 7%%",
                         "value": "0"
                     },
                     {
-                        "desc": "the CSRT tracker",
-                        "name": "CSRT",
+                        "desc": "Level M",
+                        "name": "Approx 15%%",
                         "value": "1"
                     },
                     {
-                        "desc": "the KCF (Kernelized Correlation Filter) tracker",
-                        "name": "KCF",
+                        "desc": "Level Q",
+                        "name": "Approx 25%%",
                         "value": "2"
                     },
                     {
-                        "desc": "the Median Flow tracker",
-                        "name": "MedianFlow",
+                        "desc": "Level H",
+                        "name": "Approx 30%%",
                         "value": "3"
-                    },
-                    {
-                        "desc": "the MIL tracker",
-                        "name": "MIL",
-                        "value": "4"
-                    },
-                    {
-                        "desc": "the MOSSE (Minimum Output Sum of Squared Error) tracker",
-                        "name": "MOSSE",
-                        "value": "5"
-                    },
-                    {
-                        "desc": "the TLD (Tracking, learning and detection) tracker",
-                        "name": "TLD",
-                        "value": "6"
-                    }
-                ]
-            },
-            "GstOpencvFaceBlurFlags": {
-                "kind": "flags",
-                "values": [
-                    {
-                        "desc": "Do Canny edge detection to discard some regions",
-                        "name": "do-canny-pruning",
-                        "value": "0x00000001"
-                    }
-                ]
-            },
-            "GstOpencvFaceDetectFlags": {
-                "kind": "flags",
-                "values": [
-                    {
-                        "desc": "Do Canny edge detection to discard some regions",
-                        "name": "do-canny-pruning",
-                        "value": "0x00000001"
-                    }
-                ]
-            },
-            "GstRetinexMethod": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Basic retinex restoration",
-                        "name": "basic",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Mutiscale retinex restoration",
-                        "name": "multiscale",
-                        "value": "1"
-                    }
-                ]
-            },
-            "GstSegmentationMethod": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Codebook-based segmentation (Bradski2008)",
-                        "name": "codebook",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Mixture-of-Gaussians segmentation (Bowden2001)",
-                        "name": "mog",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "Mixture-of-Gaussians segmentation (Zivkovic2004)",
-                        "name": "mog2",
-                        "value": "2"
-                    }
-                ]
-            },
-            "GstSkindetectMethod": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Classic HSV thresholding",
-                        "name": "hsv",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Normalised-RGB colorspace thresholding",
-                        "name": "rgb",
-                        "value": "1"
                     }
                 ]
             }
         "tracers": {},
         "url": "Unknown package origin"
     },
-    "openexr": {
-        "description": "OpenEXR image plugin",
+    "qsv": {
+        "description": "Intel Quick Sync Video plugin",
         "elements": {
-            "openexrdec": {
-                "author": "Sebastian Dröge <sebastian@centricular.com>",
-                "description": "Decode EXR streams",
+            "qsvav1enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video AV1 Encoder",
                 "hierarchy": [
-                    "GstOpenEXRDec",
-                    "GstVideoDecoder",
+                    "GstQsvAV1Enc",
+                    "GstQsvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Codec/Decoder/Video",
-                "long-name": "OpenEXR decoder",
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "image/x-exr:\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n\nvideo/x-raw(memory:VAMemory):\n         format: { NV12, P010_10LE }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: ARGB64\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-av1:\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n      alignment: tu\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
-                "properties": {},
-                "rank": "primary"
-            }
-        },
-        "filename": "gstopenexr",
-        "license": "LGPL",
-        "other-types": {},
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "openh264": {
-        "description": "OpenH264 encoder/decoder plugin",
-        "elements": {
-            "openh264dec": {
-                "author": "Ericsson AB, http://www.ericsson.com",
-                "description": "OpenH264 video decoder",
+                "properties": {
+                    "bitrate": {
+                        "blurb": "Target bitrate in kbit/sec, Ignored when selected rate-control mode is constant QP variants (i.e., \"cqp\" and \"icq\")",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "2000",
+                        "max": "65535",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "gop-size": {
+                        "blurb": "Number of pictures within a GOP (0: unspecified)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "max-bitrate": {
+                        "blurb": "Maximum bitrate in kbit/sec, Ignored when selected rate-control mode is constant QP variants (i.e., \"cqp\" and \"icq\")",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "qp-i": {
+                        "blurb": "Constant quantizer for I frames (0: default)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "qp-p": {
+                        "blurb": "Constant quantizer for P frames (0: default)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "vbr (2)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstQsvAV1EncRateControl",
+                        "writable": true
+                    },
+                    "ref-frames": {
+                        "blurb": "Number of reference frames (0: unspecified)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "3",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "qsvh264dec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video H.264 Decoder",
                 "hierarchy": [
-                    "GstOpenh264Dec",
+                    "GstQsvH264Dec",
+                    "GstQsvDecoder",
                     "GstVideoDecoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Decoder/Video",
-                "long-name": "OpenH264 video decoder",
+                "klass": "Codec/Decoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-h264:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)high, (string)constrained-high, (string)progressive-high }\n",
+                        "caps": "video/x-h264:\n          width: [ 1, 4096 ]\n         height: [ 1, 4096 ]\n  stream-format: { (string)byte-stream, (string)avc, (string)avc3 }\n      alignment: au\n        profile: { (string)high, (string)progressive-high, (string)constrained-high, (string)main, (string)constrained-baseline, (string)baseline }\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: I420\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 1, 4096 ]\n         height: [ 1, 4096 ]\nvideo/x-raw:\n         format: NV12\n          width: [ 1, 4096 ]\n         height: [ 1, 4096 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
-                "properties": {},
                 "rank": "marginal"
             },
-            "openh264enc": {
-                "author": "Ericsson AB, http://www.ericsson.com",
-                "description": "OpenH264 video encoder",
+            "qsvh264enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video H.264 Encoder",
                 "hierarchy": [
-                    "GstOpenh264Enc",
+                    "GstQsvH264Enc",
+                    "GstQsvEncoder",
                     "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                 "interfaces": [
                     "GstPreset"
                 ],
-                "klass": "Encoder/Video",
-                "long-name": "OpenH264 video encoder",
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: I420\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n\nvideo/x-raw(memory:VAMemory):\n         format: NV12\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\nvideo/x-raw:\n         format: NV12\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-h264:\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)constrained-high, (string)high }\n",
+                        "caps": "video/x-h264:\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n  stream-format: { (string)avc, (string)byte-stream }\n      alignment: au\n        profile: { (string)high, (string)main, (string)constrained-baseline, (string)progressive-high, (string)constrained-high, (string)baseline }\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "adaptive-quantization": {
-                        "blurb": "Adaptive quantization",
+                    "avbr-accuracy": {
+                        "blurb": "AVBR Accuracy in the unit of tenth of percent",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "guint",
                         "writable": true
                     },
-                    "background-detection": {
-                        "blurb": "Background detection",
+                    "avbr-convergence": {
+                        "blurb": "AVBR Convergence in the unit of 100 frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "true",
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "guint",
                         "writable": true
                     },
-                    "bitrate": {
-                        "blurb": "Bitrate (in bits per second)",
+                    "b-frames": {
+                        "blurb": "Number of B frames between I and P frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "128000",
-                        "max": "-1",
+                        "default": "0",
+                        "max": "65535",
                         "min": "0",
-                        "mutable": "playing",
+                        "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "complexity": {
-                        "blurb": "Complexity",
+                    "bitrate": {
+                        "blurb": "Target bitrate in kbit/sec, Ignored when selected rate-control mode is constant QP variants (i.e., \"cqp\", \"icq\", and \"la_icq\")",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "medium (1)",
+                        "default": "2000",
+                        "max": "2147483647",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstOpenh264encComplexity",
+                        "type": "guint",
                         "writable": true
                     },
-                    "deblocking": {
-                        "blurb": "Deblocking mode",
+                    "cabac": {
+                        "blurb": "Enables CABAC entropy coding",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "on (0)",
+                        "default": "unknown (0)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstOpenh264encDeblockingModes",
+                        "type": "GstQsvCodingOption",
                         "writable": true
                     },
-                    "enable-denoise": {
-                        "blurb": "Denoise control",
+                    "cc-insert": {
+                        "blurb": "Closed Caption Insert mode. Only CEA-708 RAW format is supported for now",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "false",
+                        "default": "insert (0)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "GstQsvH264EncSeiInsertMode",
                         "writable": true
                     },
-                    "enable-frame-skip": {
-                        "blurb": "Skip frames to reach target bitrate",
+                    "disable-hrd-conformance": {
+                        "blurb": "Allow NAL HRD non-conformant stream",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "writable": true
                     },
                     "gop-size": {
-                        "blurb": "Number of frames between intra frames",
+                        "blurb": "Number of pictures within a GOP (0: unspecified)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "90",
-                        "max": "-1",
+                        "default": "30",
+                        "max": "65535",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "max-bitrate": {
-                        "blurb": "Maximum Bitrate (in bits per second)",
+                    "icq-quality": {
+                        "blurb": "Intelligent Constant Quality for \"icq\" rate-control (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "-1",
+                        "max": "51",
                         "min": "0",
-                        "mutable": "playing",
+                        "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "max-slice-size": {
-                        "blurb": "The maximum size of one slice (in bytes).",
+                    "idr-interval": {
+                        "blurb": "IDR-frame interval in terms of I-frames. 0: every I-frame is an IDR frame, N: \"N\" I-frames are inserted between IDR-frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1500000",
-                        "max": "-1",
+                        "default": "0",
+                        "max": "65535",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "multi-thread": {
-                        "blurb": "The number of threads.",
+                    "max-bitrate": {
+                        "blurb": "Maximum bitrate in kbit/sec, Ignored when selected rate-control mode is constant QP variants (i.e., \"cqp\", \"icq\", and \"la_icq\")",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "-1",
+                        "max": "2147483647",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "num-slices": {
-                        "blurb": "The number of slices (needs slice-mode=n-slices)",
+                    "max-qp-b": {
+                        "blurb": "Maximum allowed QP value for B-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "-1",
+                        "default": "0",
+                        "max": "51",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "qp-max": {
-                        "blurb": "Maximum quantizer",
+                    "max-qp-i": {
+                        "blurb": "Maximum allowed QP value for I-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "51",
+                        "default": "0",
                         "max": "51",
                         "min": "0",
                         "mutable": "null",
                         "type": "guint",
                         "writable": true
                     },
-                    "qp-min": {
-                        "blurb": "Minimum quantizer",
+                    "max-qp-p": {
+                        "blurb": "Maximum allowed QP value for P-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "type": "guint",
                         "writable": true
                     },
-                    "rate-control": {
-                        "blurb": "Rate control mode",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "quality (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "RC_MODES",
-                        "writable": true
-                    },
-                    "scene-change-detection": {
-                        "blurb": "Scene change detection",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "true",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gboolean",
-                        "writable": true
-                    },
-                    "slice-mode": {
-                        "blurb": "Slice mode",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "n-slices (1)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstOpenh264EncSliceModes",
-                        "writable": true
-                    },
-                    "usage-type": {
-                        "blurb": "Type of video content",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "camera (0)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "EUsageType",
-                        "writable": true
-                    }
-                },
-                "rank": "marginal"
-            }
-        },
-        "filename": "gstopenh264",
-        "license": "BSD",
-        "other-types": {
-            "EUsageType": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "video from camera",
-                        "name": "camera",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "screen content",
-                        "name": "screen",
-                        "value": "1"
-                    }
-                ]
-            },
-            "GstOpenh264EncSliceModes": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Fixed number of slices",
-                        "name": "n-slices",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "Number of slices equal to number of threads",
-                        "name": "auto",
-                        "value": "5"
-                    }
-                ]
-            },
-            "GstOpenh264encComplexity": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Low complexity / high speed encoding",
-                        "name": "low",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Medium complexity / medium speed encoding",
-                        "name": "medium",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "High complexity / low speed encoding",
-                        "name": "high",
-                        "value": "2"
-                    }
-                ]
-            },
-            "GstOpenh264encDeblockingModes": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Deblocking on",
-                        "name": "on",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Deblocking off",
-                        "name": "off",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "Deblocking on, except for slice boundaries",
-                        "name": "not-slice-boundaries",
-                        "value": "2"
-                    }
-                ]
-            },
-            "RC_MODES": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Quality mode",
-                        "name": "quality",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Bitrate mode",
-                        "name": "bitrate",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "No bitrate control, just using buffer status",
-                        "name": "buffer",
-                        "value": "2"
-                    },
-                    {
-                        "desc": "Rate control off mode",
-                        "name": "off",
-                        "value": "-1"
-                    }
-                ]
-            }
-        },
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "openjpeg": {
-        "description": "OpenJPEG-based JPEG2000 image decoder/encoder",
-        "elements": {
-            "openjpegdec": {
-                "author": "Sebastian Dröge <sebastian.droege@collabora.co.uk>",
-                "description": "Decode JPEG2000 streams",
-                "hierarchy": [
-                    "GstOpenJPEGDec",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video",
-                "long-name": "OpenJPEG JPEG2000 decoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "image/x-j2c:\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\nimage/x-jpc:\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\nimage/jp2:\nimage/x-jpc-striped:\n    num-stripes: [ 2, 2147483647 ]\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: { ARGB64, ARGB, xRGB, AYUV64, Y444_10LE, I422_10LE, I420_10LE, AYUV, Y444, Y42B, I420, Y41B, YUV9, GRAY8, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "max-slice-threads": {
-                        "blurb": "Maximum number of worker threads to spawn according to the frame boundary. (0 = no thread)",
+                    "min-qp-b": {
+                        "blurb": "Minimum allowed QP value for B-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "2147483647",
+                        "max": "51",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "max-threads": {
-                        "blurb": "Maximum number of worker threads to spawn used by openjpeg internally. (0 = no thread)",
+                    "min-qp-i": {
+                        "blurb": "Minimum allowed QP value for I-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "2147483647",
+                        "max": "51",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "primary"
-            },
-            "openjpegenc": {
-                "author": "Sebastian Dröge <sebastian.droege@collabora.co.uk>",
-                "description": "Encode JPEG2000 streams",
-                "hierarchy": [
-                    "GstOpenJPEGEnc",
-                    "GstVideoEncoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "interfaces": [
-                    "GstPreset"
-                ],
-                "klass": "Codec/Encoder/Video",
-                "long-name": "OpenJPEG JPEG2000 encoder",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: { ARGB64, ARGB, xRGB, AYUV64, Y444_10LE, I422_10LE, I420_10LE, AYUV, Y444, Y42B, I420, Y41B, YUV9, GRAY8, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "image/x-j2c:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n num-components: [ 1, 4 ]\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\n     colorspace: { (string)sRGB, (string)sYUV, (string)GRAY }\nimage/x-jpc:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n num-components: [ 1, 4 ]\n    num-stripes: [ 1, 2147483647 ]\n      alignment: { (string)frame, (string)stripe }\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\n     colorspace: { (string)sRGB, (string)sYUV, (string)GRAY }\nimage/jp2:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\nimage/x-jpc-striped:\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n num-components: [ 1, 4 ]\n       sampling: { (string)RGB, (string)BGR, (string)RGBA, (string)BGRA, (string)YCbCr-4:4:4, (string)YCbCr-4:2:2, (string)YCbCr-4:2:0, (string)YCbCr-4:1:1, (string)YCbCr-4:1:0, (string)GRAYSCALE, (string)YCbCrA-4:4:4:4 }\n     colorspace: { (string)sRGB, (string)sYUV, (string)GRAY }\n    num-stripes: [ 2, 2147483647 ]\n  stripe-height: [ 1, 2147483647 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "num-layers": {
-                        "blurb": "Number of layers",
+                    "min-qp-p": {
+                        "blurb": "Minimum allowed QP value for P-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "10",
-                        "min": "1",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
-                    },
-                    "num-resolutions": {
-                        "blurb": "Number of resolutions",
+                    },
+                    "qp-b": {
+                        "blurb": "Constant quantizer for B frames (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "6",
-                        "max": "10",
-                        "min": "1",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "num-stripes": {
-                        "blurb": "Number of stripes for low latency encoding. (1 = low latency disabled)",
+                    "qp-i": {
+                        "blurb": "Constant quantizer for I frames (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "2147483647",
-                        "min": "1",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "num-threads": {
-                        "blurb": "Max number of simultaneous threads to encode stripe or frame, default: encode with streaming thread.",
+                    "qp-p": {
+                        "blurb": "Constant quantizer for P frames (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "2147483647",
+                        "max": "51",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "progression-order": {
-                        "blurb": "Progression order",
+                    "qvbr-quality": {
+                        "blurb": "Quality level used for \"qvbr\" rate-control mode (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "lrcp (0)",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstOpenJPEGEncProgressionOrder",
+                        "type": "guint",
                         "writable": true
                     },
-                    "tile-height": {
-                        "blurb": "Tile Height",
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "0",
+                        "default": "vbr (2)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "GstQsvH264EncRateControl",
                         "writable": true
                     },
-                    "tile-offset-x": {
-                        "blurb": "Tile Offset X",
+                    "rc-lookahead": {
+                        "blurb": "Number of frames to look ahead for Rate Control, used for \"la_vbr\", \"la_icq\", and \"la_hrd\" rate-control modes",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-2147483648",
+                        "default": "10",
+                        "max": "100",
+                        "min": "10",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "tile-offset-y": {
-                        "blurb": "Tile Offset Y",
+                    "rc-lookahead-ds": {
+                        "blurb": "Downsampling method in look-ahead rate control",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-2147483648",
+                        "default": "unknown (0)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "GstQsvH264EncRCLookAheadDS",
                         "writable": true
                     },
-                    "tile-width": {
-                        "blurb": "Tile Width",
+                    "ref-frames": {
+                        "blurb": "Number of reference frames (0: unspecified)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
+                        "default": "2",
+                        "max": "16",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     }
                 },
-                "rank": "primary"
-            }
-        },
-        "filename": "gstopenjpeg",
-        "license": "LGPL",
-        "other-types": {
-            "GstOpenJPEGEncProgressionOrder": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "LRCP",
-                        "name": "lrcp",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "RLCP",
-                        "name": "rlcp",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "RPCL",
-                        "name": "rpcl",
-                        "value": "2"
-                    },
-                    {
-                        "desc": "PCRL",
-                        "name": "pcrl",
-                        "value": "3"
+                "rank": "none"
+            },
+            "qsvh265dec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video H.265 Decoder",
+                "hierarchy": [
+                    "GstQsvH265Dec",
+                    "GstQsvDecoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-h265:\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n  stream-format: { (string)byte-stream, (string)hev1, (string)hvc1 }\n      alignment: au\n        profile: { (string)main, (string)main-10 }\n",
+                        "direction": "sink",
+                        "presence": "always"
                     },
-                    {
-                        "desc": "CPRL",
-                        "name": "crpl",
-                        "value": "4"
+                    "src": {
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: NV12\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\nvideo/x-raw:\n         format: NV12\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
+                        "direction": "src",
+                        "presence": "always"
                     }
-                ]
-            }
-        },
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "openmpt": {
-        "description": "OpenMPT module player",
-        "elements": {
-            "openmptdec": {
-                "author": "Carlos Rafael Giani <dv@pseudoterminal.org>",
-                "description": "Decoders module files (MOD/S3M/XM/IT/MTM/...) using OpenMPT",
+                },
+                "rank": "marginal"
+            },
+            "qsvh265enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video H.265 Encoder",
                 "hierarchy": [
-                    "GstOpenMptDec",
-                    "GstNonstreamAudioDecoder",
+                    "GstQsvH265Enc",
+                    "GstQsvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Codec/Decoder/Audio",
-                "long-name": "OpenMPT-based module music decoder",
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "audio/x-mod:\n           type: { (string)669, (string)asylum-amf, (string)dsmi-amf, (string)extreme-ams, (string)velvet-ams, (string)dbm, (string)digi, (string)dmf, (string)dsm, (string)far, (string)gdm, (string)imf, (string)it, (string)j2b, (string)mdl, (string)med, (string)mod, (string)mt2, (string)mtm, (string)okt, (string)psm, (string)ptm, (string)s3m, (string)stm, (string)ult, (string)xm }\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n\nvideo/x-raw(memory:VAMemory):\n         format: { NV12, P010_10LE }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "audio/x-raw:\n         format: { S16LE, F32LE }\n         layout: interleaved\n           rate: [ 1, 192000 ]\n       channels: { (int)1, (int)2, (int)4 }\n",
+                        "caps": "video/x-h265:\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n  stream-format: byte-stream\n      alignment: au\n        profile: { (string)main, (string)main-10 }\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "current-subsong": {
-                        "blurb": "Subsong that is currently selected for playback",
+                    "b-frames": {
+                        "blurb": "Number of B frames between I and P frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "-1",
+                        "max": "65535",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "filter-length": {
-                        "blurb": "Length of interpolation filter to use for the samples (0 = internal default)",
+                    "bitrate": {
+                        "blurb": "Target bitrate in kbit/sec, Ignored when selected rate-control mode is constant QP variants (i.e., \"cqp\" and \"icq\")",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "8",
+                        "default": "2000",
+                        "max": "2147483647",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "master-gain": {
-                        "blurb": "Gain to apply to the playback, in millibel",
+                    "cc-insert": {
+                        "blurb": "Closed Caption Insert mode. Only CEA-708 RAW format is supported for now",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-2147483647",
+                        "default": "insert (0)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "GstQsvH265EncSeiInsertMode",
                         "writable": true
                     },
-                    "num-loops": {
-                        "blurb": "Number of times a playback loop shall be executed (special values: 0 = no looping; -1 = infinite loop)",
+                    "disable-hrd-conformance": {
+                        "blurb": "Allow NAL HRD non-conformant stream",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "-1",
+                        "default": "false",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "output-buffer-size": {
-                        "blurb": "Size of each output buffer, in samples (actual size can be smaller than this during flush or EOS)",
+                    "gop-size": {
+                        "blurb": "Number of pictures within a GOP (0: unspecified)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1024",
-                        "max": "268435455",
-                        "min": "1",
+                        "default": "30",
+                        "max": "65535",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "output-mode": {
-                        "blurb": "Which mode playback shall use when a loop is encountered; looping = reset position to start of loop, steady = do not reset position",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "steady (1)",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "GstNonstreamAudioOutputMode",
-                        "writable": true
-                    },
-                    "stereo-separation": {
-                        "blurb": "Degree of separation for stereo channels, in percent",
+                    "icq-quality": {
+                        "blurb": "Intelligent Constant Quality for \"icq\" rate-control (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "100",
-                        "max": "400",
+                        "default": "0",
+                        "max": "51",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "subsong-mode": {
-                        "blurb": "Mode which defines how to treat subsongs",
+                    "idr-interval": {
+                        "blurb": "IDR-frame interval in terms of I-frames. 0: only first I-frame is is an IDR frame, 1: every I-frame is an IDR frame, N: \"N - 1\" I-frames are inserted between IDR-frames",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "default (2)",
+                        "default": "1",
+                        "max": "65535",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstNonstreamAudioSubsongMode",
+                        "type": "guint",
                         "writable": true
                     },
-                    "volume-ramping": {
-                        "blurb": "Volume ramping strength; higher value -> slower ramping (-1 = internal default)",
-                        "conditionally-available": false,
-                        "construct": false,
-                        "construct-only": false,
-                        "controllable": false,
-                        "default": "-1",
-                        "max": "10",
-                        "min": "-1",
-                        "mutable": "null",
-                        "readable": true,
-                        "type": "gint",
-                        "writable": true
-                    }
-                },
-                "rank": "primary + 2"
-            }
-        },
-        "filename": "gstopenmpt",
-        "license": "LGPL",
-        "other-types": {},
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "openni2": {
-        "description": "GStreamer Openni2 Plugins",
-        "elements": {
-            "openni2src": {
-                "author": "Miguel Casas-Sanchez <miguelecasassanchez@gmail.com>",
-                "description": "Extract readings from an OpenNI supported device (Kinect etc). ",
-                "hierarchy": [
-                    "GstOpenni2Src",
-                    "GstPushSrc",
-                    "GstBaseSrc",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Source/Video",
-                "long-name": "Openni2 client source",
-                "pad-templates": {
-                    "src": {
-                        "caps": "video/x-raw:\n         format: { RGBA, RGB, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "blocksize": {
-                        "blurb": "Size in bytes to read per buffer (-1 = default)",
+                    "max-bitrate": {
+                        "blurb": "Maximum bitrate in kbit/sec, Ignored when selected rate-control mode is constant QP variants (i.e., \"cqp\" and \"icq\")",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "4096",
-                        "max": "-1",
+                        "default": "0",
+                        "max": "2147483647",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
                         "type": "guint",
                         "writable": true
                     },
-                    "do-timestamp": {
-                        "blurb": "Apply current stream time to buffers",
+                    "max-qp-b": {
+                        "blurb": "Maximum allowed QP value for B-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "false",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "guint",
                         "writable": true
                     },
-                    "location": {
-                        "blurb": "Source uri, can be a file or a device.",
+                    "max-qp-i": {
+                        "blurb": "Maximum allowed QP value for I-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "guint",
                         "writable": true
                     },
-                    "num-buffers": {
-                        "blurb": "Number of buffers to output before sending EOS (-1 = unlimited)",
+                    "max-qp-p": {
+                        "blurb": "Maximum allowed QP value for P-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
-                        "max": "2147483647",
-                        "min": "-1",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "sourcetype": {
-                        "blurb": "Type of readings to get from the source",
+                    "min-qp-b": {
+                        "blurb": "Minimum allowed QP value for B-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "depth (0)",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstOpenni2SrcSourcetype",
+                        "type": "guint",
                         "writable": true
                     },
-                    "typefind": {
-                        "blurb": "Run typefind before negotiating (deprecated, non-functional)",
+                    "min-qp-i": {
+                        "blurb": "Minimum allowed QP value for I-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "false",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            }
-        },
-        "filename": "gstopenni2",
-        "license": "LGPL",
-        "other-types": {
-            "GstOpenni2SrcSourcetype": {
-                "kind": "enum",
-                "values": [
-                    {
-                        "desc": "Get depth readings",
-                        "name": "depth",
-                        "value": "0"
-                    },
-                    {
-                        "desc": "Get color readings",
-                        "name": "color",
-                        "value": "1"
-                    },
-                    {
-                        "desc": "Get color and depth (as alpha) readings - EXPERIMENTAL",
-                        "name": "both",
-                        "value": "2"
-                    }
-                ]
-            }
-        },
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "opusparse": {
-        "description": "OPUS parse plugin",
-        "elements": {
-            "opusparse": {
-                "author": "Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>",
-                "description": "parses opus audio streams",
-                "hierarchy": [
-                    "GstOpusParse",
-                    "GstBaseParse",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Parser/Audio",
-                "long-name": "Opus audio parser",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "audio/x-opus:\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "audio/x-opus:\n         framed: true\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {},
-                "rank": "none"
-            }
-        },
-        "filename": "gstopusparse",
-        "license": "LGPL",
-        "other-types": {},
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "pcapparse": {
-        "description": "Element parsing raw pcap streams",
-        "elements": {
-            "irtspparse": {
-                "author": "Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>",
-                "description": "Parses a raw interleaved RTSP stream",
-                "hierarchy": [
-                    "GstIRTSPParse",
-                    "GstBaseParse",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Raw/Parser",
-                "long-name": "IRTSPParse",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "ANY",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "application/x-rtp:\napplication/x-rtcp:\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "channel-id": {
-                        "blurb": "Channel Identifier",
+                    "min-qp-p": {
+                        "blurb": "Minimum allowed QP value for P-frame types (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
                         "default": "0",
-                        "max": "255",
+                        "max": "51",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "pcapparse": {
-                "author": "Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>",
-                "description": "Parses a raw pcap stream",
-                "hierarchy": [
-                    "GstPcapParse",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Raw/Parser",
-                "long-name": "PCapParse",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "raw/x-pcap:\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "ANY",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "caps": {
-                        "blurb": "The caps of the source pad",
+                    "qp-b": {
+                        "blurb": "Constant quantizer for B frames (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstCaps",
+                        "type": "guint",
                         "writable": true
                     },
-                    "dst-ip": {
-                        "blurb": "Destination IP to restrict to",
+                    "qp-i": {
+                        "blurb": "Constant quantizer for I frames (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "guint",
                         "writable": true
                     },
-                    "dst-port": {
-                        "blurb": "Destination port to restrict to",
+                    "qp-p": {
+                        "blurb": "Constant quantizer for P frames (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
-                        "max": "65535",
-                        "min": "-1",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "guint",
                         "writable": true
                     },
-                    "src-ip": {
-                        "blurb": "Source IP to restrict to",
+                    "qvbr-quality": {
+                        "blurb": "Quality level used for \"qvbr\" rate-control mode (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "",
+                        "default": "0",
+                        "max": "51",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "guint",
                         "writable": true
                     },
-                    "src-port": {
-                        "blurb": "Source port to restrict to",
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "-1",
-                        "max": "65535",
-                        "min": "-1",
+                        "default": "vbr (2)",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint",
+                        "type": "GstQsvH265EncRateControl",
                         "writable": true
                     },
-                    "ts-offset": {
-                        "blurb": "Relative timestamp offset (ns) to apply (-1 = use absolute packet time)",
+                    "ref-frames": {
+                        "blurb": "Number of reference frames (0: unspecified)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "18446744073709551615",
-                        "max": "9223372036854775807",
-                        "min": "-1",
+                        "default": "2",
+                        "max": "16",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint64",
+                        "type": "guint",
                         "writable": true
                     }
                 },
                 "rank": "none"
-            }
-        },
-        "filename": "gstpcapparse",
-        "license": "LGPL",
-        "other-types": {},
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "pnm": {
-        "description": "PNM plugin",
-        "elements": {
-            "pnmdec": {
-                "author": "Lutz Mueller <lutz@users.sourceforge.net>",
-                "description": "Decodes images in portable pixmap/graymap/bitmap/anymamp (PNM) format",
+            },
+            "qsvjpegdec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video JPEG Decoder",
                 "hierarchy": [
-                    "GstPnmdec",
+                    "GstQsvJpegDec",
+                    "GstQsvDecoder",
                     "GstVideoDecoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Codec/Decoder/Image",
-                "long-name": "PNM image decoder",
+                "klass": "Codec/Decoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "image/x-portable-bitmap:\nimage/x-portable-graymap:\nimage/x-portable-pixmap:\nimage/x-portable-anymap:\n",
+                        "caps": "image/jpeg:\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw:\n         format: { RGB, GRAY8, GRAY16_BE, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, YUY2, BGRA }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\nvideo/x-raw:\n         format: { NV12, YUY2, BGRA }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
-                "properties": {},
-                "rank": "primary"
+                "rank": "secondary"
             },
-            "pnmenc": {
-                "author": "Lutz Mueller <lutz@users.sourceforge.net>",
-                "description": "Encodes images into portable pixmap or graymap (PNM) format",
+            "qsvjpegenc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video JPEG Encoder",
                 "hierarchy": [
-                    "GstPnmenc",
+                    "GstQsvJpegEnc",
+                    "GstQsvEncoder",
                     "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                 "interfaces": [
                     "GstPreset"
                 ],
-                "klass": "Codec/Encoder/Image",
-                "long-name": "PNM image encoder",
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n         format: { RGB, GRAY8, GRAY16_BE, GRAY16_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, YUY2, BGRA }\n          width: [ 16, 16384 ]\n         height: [ 16, 16384 ]\n\nvideo/x-raw(memory:VAMemory):\n         format: { NV12, YUY2, BGRA }\n          width: [ 16, 16384 ]\n         height: [ 16, 16384 ]\nvideo/x-raw:\n         format: { NV12, YUY2, BGRA }\n          width: [ 16, 16384 ]\n         height: [ 16, 16384 ]\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "image/x-portable-bitmap:\nimage/x-portable-graymap:\nimage/x-portable-pixmap:\nimage/x-portable-anymap:\n",
+                        "caps": "image/jpeg:\n          width: [ 16, 16384 ]\n         height: [ 16, 16384 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "ascii": {
-                        "blurb": "The output will be ASCII encoded",
+                    "quality": {
+                        "blurb": "Encoding quality, 100 for best quality",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "false",
+                        "default": "85",
+                        "max": "100",
+                        "min": "1",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gboolean",
+                        "type": "guint",
                         "writable": true
                     }
                 },
-                "rank": "primary"
-            }
-        },
-        "filename": "gstpnm",
-        "license": "LGPL",
-        "other-types": {},
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "proxy": {
-        "description": "plugin for proxied inter-pipeline communication",
-        "elements": {
-            "proxysink": {
-                "author": "Sebastian Dröge <sebastian@centricular.com>",
-                "description": "Proxy source for internal process communication",
+                "rank": "none"
+            },
+            "qsvvp9dec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video VP9 Decoder",
                 "hierarchy": [
-                    "GstProxySink",
+                    "GstQsvVP9Dec",
+                    "GstQsvDecoder",
+                    "GstVideoDecoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Sink",
-                "long-name": "Proxy Sink",
+                "klass": "Codec/Decoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "ANY",
+                        "caps": "video/x-vp9:\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n      alignment: frame\n        profile: { (string)0, (string)2 }\n",
                         "direction": "sink",
                         "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE, P016_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE, P016_LE }\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
+                        "direction": "src",
+                        "presence": "always"
                     }
                 },
-                "rank": "none"
+                "rank": "marginal"
             },
-            "proxysrc": {
-                "author": "Sebastian Dröge <sebastian@centricular.com>",
-                "description": "Proxy source for internal process communication",
+            "qsvvp9enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video VP9 Encoder",
                 "hierarchy": [
-                    "GstProxySrc",
-                    "GstBin",
+                    "GstQsvVP9Enc",
+                    "GstQsvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
                 "interfaces": [
-                    "GstChildProxy"
+                    "GstPreset"
                 ],
-                "klass": "Source",
-                "long-name": "Proxy source",
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, P010_10LE, VUYA, Y410 }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n\nvideo/x-raw(memory:VAMemory):\n         format: { NV12, P010_10LE, VUYA, Y410 }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE, VUYA, Y410 }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
                     "src": {
-                        "caps": "ANY",
+                        "caps": "video/x-vp9:\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n        profile: { (string)0, (string)2, (string)1, (string)3 }\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "proxysink": {
-                        "blurb": "Matching proxysink",
+                    "bitrate": {
+                        "blurb": "Target bitrate in kbit/sec, Ignored when selected rate-control mode is constant QP variants (i.e., \"cqp\" and \"icq\")",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
+                        "default": "2000",
+                        "max": "65535",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstProxySink",
+                        "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            }
-        },
-        "filename": "gstproxy",
-        "license": "LGPL",
-        "other-types": {},
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
-    "qroverlay": {
-        "description": "libqrencode qroverlay plugin",
-        "elements": {
-            "debugqroverlay": {
-                "author": "Anthony Violo <anthony.violo@ubicast.eu>",
-                "description": "Overlay Qrcodes over each buffer with buffer information and custom data",
-                "hierarchy": [
-                    "GstDebugQROverlay",
-                    "GstBaseQROverlay",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Qrcode overlay containing buffer information",
-                "long-name": "qroverlay",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: { I420 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 16, 2147483647 ]\n         height: [ 16, 2147483647 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: { I420 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 16, 2147483647 ]\n         height: [ 16, 2147483647 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "extra-data-array": {
-                        "blurb": "List of comma separated values that the extra data value will be  cycled from at each interval, example array structure : \"240,480,720,960,1200,1440,1680,1920\"",
+                    "gop-size": {
+                        "blurb": "Number of pictures within a GOP (0: unspecified)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "guint",
                         "writable": true
                     },
-                    "extra-data-interval-buffers": {
-                        "blurb": "Extra data append into the Qrcode at the first buffer of each  interval",
+                    "icq-quality": {
+                        "blurb": "Intelligent Constant Quality for \"icq\" rate-control (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "60",
-                        "max": "9223372036854775807",
+                        "default": "0",
+                        "max": "255",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint64",
+                        "type": "guint",
                         "writable": true
                     },
-                    "extra-data-name": {
-                        "blurb": "Json key name for extra append data",
+                    "max-bitrate": {
+                        "blurb": "Maximum bitrate in kbit/sec, Ignored when selected rate-control mode is constant QP variants (i.e., \"cqp\" and \"icq\")",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "NULL",
+                        "default": "0",
+                        "max": "65535",
+                        "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "guint",
                         "writable": true
                     },
-                    "extra-data-span-buffers": {
-                        "blurb": "Numbers of consecutive buffers that the extra data will be inserted  (counting the first buffer)",
+                    "qp-i": {
+                        "blurb": "Constant quantizer for I frames (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "1",
-                        "max": "9223372036854775807",
+                        "default": "0",
+                        "max": "255",
                         "min": "0",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gint64",
+                        "type": "guint",
                         "writable": true
-                    }
-                },
-                "rank": "none"
-            },
-            "qroverlay": {
-                "author": "Thibault Saunier <tsaunier@igalia.com>",
-                "description": "Overlay Qrcodes over each buffer with data passed in",
-                "hierarchy": [
-                    "GstQROverlay",
-                    "GstBaseQROverlay",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Qrcode overlay containing random data",
-                "long-name": "qroverlay",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw:\n         format: { I420 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 16, 2147483647 ]\n         height: [ 16, 2147483647 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/x-raw:\n         format: { I420 }\n      framerate: [ 0/1, 2147483647/1 ]\n          width: [ 16, 2147483647 ]\n         height: [ 16, 2147483647 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "data": {
-                        "blurb": "Data to write in the QRCode to be overlaid",
+                    "qp-p": {
+                        "blurb": "Constant quantizer for P frames (0: default)",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
-                        "controllable": true,
-                        "default": "NULL",
-                        "mutable": "playing",
+                        "controllable": false,
+                        "default": "0",
+                        "max": "255",
+                        "min": "0",
+                        "mutable": "null",
                         "readable": true,
-                        "type": "gchararray",
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "rate-control": {
+                        "blurb": "Rate Control Method",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "vbr (2)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstQsvVP9EncRateControl",
+                        "writable": true
+                    },
+                    "ref-frames": {
+                        "blurb": "Number of reference frames (0: unspecified)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "3",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     }
                 },
                 "rank": "none"
             }
         },
-        "filename": "gstqroverlay",
+        "filename": "gstqsv",
         "license": "LGPL",
         "other-types": {
-            "GstBaseQROverlay": {
+            "GstQsvAV1EncRateControl": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Constant Bitrate",
+                        "name": "cbr",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Variable Bitrate",
+                        "name": "vbr",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Constant Quantizer",
+                        "name": "cqp",
+                        "value": "3"
+                    }
+                ]
+            },
+            "GstQsvCodingOption": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Unknown",
+                        "name": "unknown",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "On",
+                        "name": "on",
+                        "value": "16"
+                    },
+                    {
+                        "desc": "Off",
+                        "name": "off",
+                        "value": "32"
+                    }
+                ]
+            },
+            "GstQsvDecoder": {
                 "hierarchy": [
-                    "GstBaseQROverlay",
-                    "GstVideoFilter",
-                    "GstBaseTransform",
+                    "GstQsvDecoder",
+                    "GstVideoDecoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                 ],
                 "kind": "object",
                 "properties": {
-                    "pixel-size": {
-                        "blurb": "Pixel size of each Qrcode pixel",
-                        "conditionally-available": false,
+                    "adapter-luid": {
+                        "blurb": "DXGI Adapter LUID (Locally Unique Identifier) of created device",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "3",
-                        "max": "100",
-                        "min": "1",
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gfloat",
-                        "writable": true
-                    },
-                    "qrcode-error-correction": {
-                        "blurb": "qrcode-error-correction",
-                        "conditionally-available": false,
+                        "type": "gint64",
+                        "writable": false
+                    }
+                }
+            },
+            "GstQsvEncoder": {
+                "hierarchy": [
+                    "GstQsvEncoder",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "kind": "object",
+                "properties": {
+                    "adapter-luid": {
+                        "blurb": "DXGI Adapter LUID (Locally Unique Identifier) of created device",
+                        "conditionally-available": true,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "Approx 15%% (1)",
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
                         "mutable": "null",
                         "readable": true,
-                        "type": "GstQrcodeOverlayCorrection",
-                        "writable": true
+                        "type": "gint64",
+                        "writable": false
                     },
-                    "x": {
-                        "blurb": "X position (in percent of the width)",
+                    "low-latency": {
+                        "blurb": "Enables low-latency encoding",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "100",
-                        "min": "0",
+                        "default": "false",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gfloat",
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "y": {
-                        "blurb": "Y position (in percent of the height)",
+                    "target-usage": {
+                        "blurb": "1: Best quality, 4: Balanced, 7: Best speed",
                         "conditionally-available": false,
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "50",
-                        "max": "100",
-                        "min": "0",
+                        "default": "4",
+                        "max": "7",
+                        "min": "1",
                         "mutable": "null",
                         "readable": true,
-                        "type": "gfloat",
+                        "type": "guint",
                         "writable": true
                     }
                 }
             },
-            "GstQrcodeOverlayCorrection": {
+            "GstQsvH264EncRCLookAheadDS": {
                 "kind": "enum",
                 "values": [
                     {
-                        "desc": "Level L",
-                        "name": "Approx 7%%",
+                        "desc": "Unknown",
+                        "name": "unknown",
                         "value": "0"
                     },
                     {
-                        "desc": "Level M",
-                        "name": "Approx 15%%",
+                        "desc": "Do not use down sampling",
+                        "name": "off",
                         "value": "1"
                     },
                     {
-                        "desc": "Level Q",
-                        "name": "Approx 25%%",
+                        "desc": "Down sample frames two times before estimation",
+                        "name": "2x",
                         "value": "2"
                     },
                     {
-                        "desc": "Level H",
-                        "name": "Approx 30%%",
+                        "desc": "Down sample frames four times before estimation",
+                        "name": "4x",
+                        "value": "3"
+                    }
+                ]
+            },
+            "GstQsvH264EncRateControl": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Constant Bitrate",
+                        "name": "cbr",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Variable Bitrate",
+                        "name": "vbr",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Constant Quantizer",
+                        "name": "cqp",
                         "value": "3"
+                    },
+                    {
+                        "desc": "Average Variable Bitrate",
+                        "name": "avbr",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "VBR with look ahead (Non HRD compliant)",
+                        "name": "la-vbr",
+                        "value": "8"
+                    },
+                    {
+                        "desc": "Intelligent CQP",
+                        "name": "icq",
+                        "value": "9"
+                    },
+                    {
+                        "desc": "Video Conferencing Mode (Non HRD compliant)",
+                        "name": "vcm",
+                        "value": "10"
+                    },
+                    {
+                        "desc": "Intelligent CQP with LA (Non HRD compliant)",
+                        "name": "la-icq",
+                        "value": "11"
+                    },
+                    {
+                        "desc": "HRD compliant LA",
+                        "name": "la-hrd",
+                        "value": "13"
+                    },
+                    {
+                        "desc": "VBR with CQP",
+                        "name": "qvbr",
+                        "value": "14"
+                    }
+                ]
+            },
+            "GstQsvH264EncSeiInsertMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Insert SEI",
+                        "name": "insert",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Insert SEI and remove corresponding meta from output buffer",
+                        "name": "insert-and-drop",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Disable SEI insertion",
+                        "name": "disabled",
+                        "value": "2"
+                    }
+                ]
+            },
+            "GstQsvH265EncRateControl": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Constant Bitrate",
+                        "name": "cbr",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Variable Bitrate",
+                        "name": "vbr",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Constant Quantizer",
+                        "name": "cqp",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "Intelligent CQP",
+                        "name": "icq",
+                        "value": "9"
+                    },
+                    {
+                        "desc": "Video Conferencing Mode (Non HRD compliant)",
+                        "name": "vcm",
+                        "value": "10"
+                    },
+                    {
+                        "desc": "VBR with CQP",
+                        "name": "qvbr",
+                        "value": "14"
+                    }
+                ]
+            },
+            "GstQsvH265EncSeiInsertMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Insert SEI",
+                        "name": "insert",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Insert SEI and remove corresponding meta from output buffer",
+                        "name": "insert-and-drop",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Disable SEI insertion",
+                        "name": "disabled",
+                        "value": "2"
+                    }
+                ]
+            },
+            "GstQsvVP9EncRateControl": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Constant Bitrate",
+                        "name": "cbr",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Variable Bitrate",
+                        "name": "vbr",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Constant Quantizer",
+                        "name": "cqp",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "Intelligent CQP",
+                        "name": "icq",
+                        "value": "9"
                     }
                 ]
             }
         "tracers": {},
         "url": "Unknown package origin"
     },
-    "qsv": {
-        "description": "Intel Quick Sync Video plugin",
-        "elements": {},
-        "filename": "gstqsv",
-        "license": "LGPL",
-        "other-types": {},
-        "package": "GStreamer Bad Plug-ins",
-        "source": "gst-plugins-bad",
-        "tracers": {},
-        "url": "Unknown package origin"
-    },
     "removesilence": {
         "description": "Removes silence from an audio stream",
         "elements": {
     },
     "va": {
         "description": "VA-API codecs plugin",
-        "elements": {},
+        "elements": {
+            "vaav1dec": {
+                "author": "He Junyan <junyan.he@intel.com>",
+                "description": "VA-API based AV1 video decoder",
+                "hierarchy": [
+                    "GstVaAV1Dec",
+                    "GstAV1Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-av1:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                },
+                "rank": "none"
+            },
+            "vacompositor": {
+                "author": "U. Artie Eoff <ullysses.a.eoff@intel.com>",
+                "description": "VA-API based video compositor",
+                "hierarchy": [
+                    "GstVaCompositor",
+                    "GstVideoAggregator",
+                    "GstAggregator",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstChildProxy"
+                ],
+                "klass": "Filter/Editor/Video/Compositor/Hardware",
+                "pad-templates": {
+                    "sink_%%u": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "request",
+                        "type": "GstVaCompositorPad"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always",
+                        "type": "GstAggregatorPad"
+                    }
+                },
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    },
+                    "scale-method": {
+                        "blurb": "Scale method to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "default (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstVaScaleMethod",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "vadeinterlace": {
+                "author": "Víctor Jáquez <vjaquez@igalia.com>",
+                "description": "VA-API based deinterlacer",
+                "hierarchy": [
+                    "GstVaDeinterlace",
+                    "GstVaBaseTransform",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Effect/Video/Deinterlace",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }\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:VAMemory):\n         format: { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "method": {
+                        "blurb": "Deinterlace Method",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "bob (1)",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "GstVaDeinterlaceMethods",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "vah264dec": {
+                "author": "Víctor Jáquez <vjaquez@igalia.com>",
+                "description": "VA-API based H.264 video decoder",
+                "hierarchy": [
+                    "GstVaH264Dec",
+                    "GstH264Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-h264:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                },
+                "rank": "none"
+            },
+            "vah264enc": {
+                "author": "He Junyan <junyan.he@intel.com>",
+                "description": "VA-API based H.264 video encoder",
+                "hierarchy": [
+                    "GstVaH264Enc",
+                    "GstVaBaseEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-h264:\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "aud": {
+                        "blurb": "Insert AU (Access Unit) delimeter for each frame",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "b-frames": {
+                        "blurb": "Number of B frames between I and P reference frames",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "31",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "b-pyramid": {
+                        "blurb": "Enable the b-pyramid reference structure in the GOP",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "bitrate": {
+                        "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "cabac": {
+                        "blurb": "Enable CABAC entropy coding mode",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "cc-insert": {
+                        "blurb": "Insert CEA-708 Closed Captions",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "cpb-size": {
+                        "blurb": "The desired max CPB size in Kb (0: auto-calculate)",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "dct8x8": {
+                        "blurb": "Enable adaptive use of 8x8 transforms in I-frames",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "true",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "i-frames": {
+                        "blurb": "Force the number of I frames insertion within one GOP, not including the first IDR frame",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "1023",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "key-int-max": {
+                        "blurb": "The maximal distance between two keyframes. It decides the size of GOP (0: auto-calculate)",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "1024",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "max-qp": {
+                        "blurb": "Maximum quantizer value for each frame",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "51",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "mbbrc": {
+                        "blurb": "Macroblock level Bitrate Control. It is not compatible with CQP",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "disabled (0)",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "GstVaFeature",
+                        "writable": true
+                    },
+                    "min-qp": {
+                        "blurb": "Minimum quantizer value for each frame",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "num-slices": {
+                        "blurb": "Number of slices per frame",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "1",
+                        "max": "200",
+                        "min": "1",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "qpb": {
+                        "blurb": "The quantizer value for B frame. This is available only in CQP mode",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "26",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "qpi": {
+                        "blurb": "The quantizer value for I frame. In CQP mode, it specifies the QP of I frame, in other mode, it specifies the init QP of all frames",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "26",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "qpp": {
+                        "blurb": "The quantizer value for P frame. This is available only in CQP mode",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "26",
+                        "max": "51",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "ref-frames": {
+                        "blurb": "Number of reference frames, including both the forward and the backward",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "3",
+                        "max": "16",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "target-percentage": {
+                        "blurb": "The percentage for 'target bitrate'/'maximum bitrate' (Only in VBR)",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "66",
+                        "max": "100",
+                        "min": "50",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "target-usage": {
+                        "blurb": "The target usage to control and balance the encoding speed/quality",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "4",
+                        "max": "7",
+                        "min": "1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "trellis": {
+                        "blurb": "Enable the trellis quantization method",
+                        "conditionally-available": false,
+                        "construct": true,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "vah265dec": {
+                "author": "Nicolas Dufresne <nicolas.dufresne@collabora.com>",
+                "description": "VA-API based H.265 video decoder",
+                "hierarchy": [
+                    "GstVaH265Dec",
+                    "GstH265Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-h265:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                },
+                "rank": "none"
+            },
+            "vajpegdec": {
+                "author": "Víctor Jáquez <vjaquez@igalia.com>",
+                "description": "VA-API based JPEG image decoder",
+                "hierarchy": [
+                    "GstVaJpegDec",
+                    "GstJpegDecoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Image/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "image/jpeg:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                },
+                "rank": "none"
+            },
+            "vampeg2dec": {
+                "author": "He Junyan <junyan.he@intel.com>",
+                "description": "VA-API based Mpeg2 video decoder",
+                "hierarchy": [
+                    "GstVaMpeg2Dec",
+                    "GstMpeg2Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-mpeg2:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                },
+                "rank": "none"
+            },
+            "vapostproc": {
+                "author": "Víctor Jáquez <vjaquez@igalia.com>",
+                "description": "VA-API based video postprocessor",
+                "hierarchy": [
+                    "GstVaPostProc",
+                    "GstVaBaseTransform",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstColorBalance"
+                ],
+                "klass": "Effect/Converter/Filter/Colorspace/Scaler/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }\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:VAMemory):\n         format: { NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "add-borders": {
+                        "blurb": "Add black borders if necessary to keep the display aspect ratio",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "disable-passthrough": {
+                        "blurb": "Forces passing buffers through the postprocessor",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "ready",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "scale-method": {
+                        "blurb": "Scale method to use",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "default (0)",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "GstVaScaleMethod",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "vavp8dec": {
+                "author": "He Junyan <junyan.he@intel.com>",
+                "description": "VA-API based VP8 video decoder",
+                "hierarchy": [
+                    "GstVaVp8Dec",
+                    "GstVp8Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-vp8:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                },
+                "rank": "none"
+            },
+            "vavp9dec": {
+                "author": "Víctor Jáquez <vjaquez@igalia.com>",
+                "description": "VA-API based VP9 video decoder",
+                "hierarchy": [
+                    "GstVaVp9Dec",
+                    "GstVp9Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-vp9:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw(memory:VAMemory):\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                },
+                "rank": "none"
+            }
+        },
         "filename": "gstva",
         "license": "LGPL",
-        "other-types": {},
+        "other-types": {
+            "GstJpegDecoder": {
+                "hierarchy": [
+                    "GstJpegDecoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object"
+            },
+            "GstVaBaseEnc": {
+                "hierarchy": [
+                    "GstVaBaseEnc",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "kind": "object",
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                }
+            },
+            "GstVaBaseTransform": {
+                "hierarchy": [
+                    "GstVaBaseTransform",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object",
+                "properties": {
+                    "device-path": {
+                        "blurb": "DRM device path",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "NULL",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gchararray",
+                        "writable": false
+                    }
+                }
+            },
+            "GstVaCompositorPad": {
+                "hierarchy": [
+                    "GstVaCompositorPad",
+                    "GstVideoAggregatorPad",
+                    "GstAggregatorPad",
+                    "GstPad",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object",
+                "properties": {
+                    "alpha": {
+                        "blurb": "Alpha of the picture",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "1",
+                        "max": "1",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gdouble",
+                        "writable": true
+                    },
+                    "height": {
+                        "blurb": "Height of the picture (0, to use the height of the input frame)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "width": {
+                        "blurb": "Width of the picture (0, to use the width of the input frame)",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "xpos": {
+                        "blurb": "X Position of the picture",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "ypos": {
+                        "blurb": "Y Position of the picture",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": true,
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "-2147483648",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    }
+                }
+            },
+            "GstVaDeinterlaceMethods": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Bob: Interpolating missing lines by using the adjacent lines.",
+                        "name": "bob",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Adaptive: Interpolating missing lines by using spatial/temporal references.",
+                        "name": "adaptive",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "Compensation: Recreating missing lines by using motion vector.",
+                        "name": "compensated",
+                        "value": "4"
+                    }
+                ]
+            },
+            "GstVaScaleMethod": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Default scaling method",
+                        "name": "default",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Fast scaling method",
+                        "name": "fast",
+                        "value": "256"
+                    },
+                    {
+                        "desc": "High quality scaling method",
+                        "name": "hq",
+                        "value": "512"
+                    }
+                ]
+            }
+        },
         "package": "GStreamer Bad Plug-ins",
         "source": "gst-plugins-bad",
         "tracers": {},
         "tracers": {},
         "url": "Unknown package origin"
     },
+    "wic": {
+        "description": "Windows Imaging Component (WIC) plugin",
+        "elements": {
+            "wicjpegdec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Jpeg image decoder using Windows Imaging Component API",
+                "hierarchy": [
+                    "GstWicJpegDec",
+                    "GstWicDecoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Image",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "image/jpeg:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { BGR, GRAY8, NV12, Y42B, Y444 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "secondary"
+            },
+            "wicpngdec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Png image decoder using Windows Imaging Component API",
+                "hierarchy": [
+                    "GstWicPngDec",
+                    "GstWicDecoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Image",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "image/png:\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "caps": "video/x-raw:\n         format: { RGBA64_LE, BGRA, RGBA, BGR, RGB, GRAY8, GRAY16_BE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "secondary"
+            }
+        },
+        "filename": "gstwic",
+        "license": "LGPL",
+        "other-types": {
+            "GstWicDecoder": {
+                "hierarchy": [
+                    "GstWicDecoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object"
+            }
+        },
+        "package": "GStreamer Bad Plug-ins",
+        "source": "gst-plugins-bad",
+        "tracers": {},
+        "url": "Unknown package origin"
+    },
     "wildmidi": {
         "description": "WildMidi-based MIDI playback plugin",
         "elements": {