d3d11: Add support for planar RGB formats
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-bad / docs / plugins / gst_plugins_cache.json
index be3e06f..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"
+                    }
+                },
+                "rank": "none"
+            },
+            "cudascale": {
+                "author": "Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "Resizes Video using CUDA",
+                "hierarchy": [
+                    "GstCudaScale",
+                    "GstCudaBaseFilter",
+                    "GstCudaBaseTransform",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Converter/Video/Scaler/Hardware",
+                "long-name": "CUDA Video scaler",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/x-raw(memory:CUDAMemory):\n         format: { I420, YV12, NV12, NV21, P010_10LE, P016_LE, I420_10LE, Y444, Y444_16LE, BGRA, RGBA, RGBx, BGRx, ARGB, ABGR, RGB, BGR, BGR10A2_LE, RGB10A2_LE, 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, Y42B, I422_10LE, I422_12LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "rank": "none"
+            },
+            "cudaupload": {
+                "author": "Seungha Yang <seungha.yang@navercorp.com>",
+                "description": "Uploads data into NVIDA GPU via CUDA APIs",
+                "hierarchy": [
+                    "GstCudaUpload",
+                    "GstCudaMemoryCopy",
+                    "GstCudaBaseTransform",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Filter/Video",
+                "long-name": "CUDA uploader",
+                "pad-templates": {
+                    "sink": {
+                        "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         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"
             },
-            "cudascale": {
-                "author": "Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "Resizes Video using CUDA",
+            "nvautogpuh264enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.264 video streams using NVCODEC API auto GPU select Mode",
+                "hierarchy": [
+                    "GstNvAutoGpuH264Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "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\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: [ 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": 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": "4",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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
+                    },
+                    "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": "2147483647",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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,
+                        "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": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": 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": "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": "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": {
+                        "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": "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,
+                        "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,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "nvautogpuh265enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.265 video streams using NVCODEC API auto GPU select Mode",
+                "hierarchy": [
+                    "GstNvAutoGpuH265Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "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-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": {
+                    "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": 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 = 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
+                    },
+                    "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": "2147483647",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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,
+                        "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": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": 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": "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": "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": {
+                        "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, ignored if negotiated stream-format is \"hvc1\"",
+                        "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,
+                        "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,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "nvav1dec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "NVIDIA AV1 video decoder",
+                "hierarchy": [
+                    "GstNvAV1Dec",
+                    "GstAV1Decoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "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": {
+                    "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": "primary"
+            },
+            "nvcudah264enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.264 video streams using NVCODEC API CUDA Mode",
+                "hierarchy": [
+                    "GstNvCudaH264Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "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"
+                    },
+                    "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
+                    },
+                    "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": "4",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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
+                    },
+                    "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 of associated GPU",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "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": "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,
+                        "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": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": 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": "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": "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": {
+                        "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": "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,
+                        "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,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "nvcudah265enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.265 video streams using NVCODEC API CUDA Mode",
+                "hierarchy": [
+                    "GstNvCudaH265Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "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-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": {
+                    "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": 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 = 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
+                    },
+                    "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 of associated GPU",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "2147483647",
+                        "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": "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,
+                        "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": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": 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": "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": "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": {
+                        "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, ignored if negotiated stream-format is \"hvc1\"",
+                        "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,
+                        "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,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
+                "rank": "none"
+            },
+            "nvd3d11h264enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.264 video streams using NVCODEC API Direct3D11 Mode",
                 "hierarchy": [
-                    "GstCudaScale",
-                    "GstCudaBaseFilter",
-                    "GstCudaBaseTransform",
-                    "GstBaseTransform",
+                    "GstNvD3D11H264Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Converter/Video/Scaler/Hardware",
-                "long-name": "CUDA Video scaler",
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
                 "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: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(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-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) of associated GPU",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint64",
+                        "writable": false
+                    },
+                    "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": 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": "4",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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
+                    },
+                    "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
+                    },
+                    "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,
+                        "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": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": 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": "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": "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": {
+                        "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": "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,
+                        "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,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
                 "rank": "none"
             },
-            "cudaupload": {
-                "author": "Seungha Yang <seungha.yang@navercorp.com>",
-                "description": "Uploads data into NVIDA GPU via CUDA APIs",
+            "nvd3d11h265enc": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Encode H.265 video streams using NVCODEC API Direct3D11 Mode",
                 "hierarchy": [
-                    "GstCudaUpload",
-                    "GstCudaBaseTransform",
-                    "GstBaseTransform",
+                    "GstNvD3D11H265Enc",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Video",
-                "long-name": "CUDA uploader",
+                "interfaces": [
+                    "GstPreset"
+                ],
+                "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw:\n\nvideo/x-raw(memory:CUDAMemory):\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(memory:CUDAMemory):\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": {
+                    "adapter-luid": {
+                        "blurb": "DXGI Adapter LUID (Locally Unique Identifier) of associated GPU",
+                        "conditionally-available": false,
+                        "construct": false,
+                        "construct-only": false,
+                        "controllable": false,
+                        "default": "0",
+                        "max": "9223372036854775807",
+                        "min": "-9223372036854775808",
+                        "mutable": "null",
+                        "readable": true,
+                        "type": "gint64",
+                        "writable": false
+                    },
+                    "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": 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 = 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
+                    },
+                    "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
+                    },
+                    "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,
+                        "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": "0",
+                        "max": "2048000",
+                        "min": "0",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "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
+                    },
+                    "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": "51",
+                        "min": "-1",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": 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": "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": "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": {
+                        "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, ignored if negotiated stream-format is \"hvc1\"",
+                        "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,
+                        "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,
+                        "controllable": false,
+                        "default": "false",
+                        "mutable": "playing",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    }
+                },
                 "rank": "none"
             },
             "nvh264dec": {
                 },
                 "rank": "primary + 256"
             },
-            "nvh264sldec": {
+            "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.264 video decoder",
+                "description": "NVIDIA H.265 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",
+                    "GstNvH265SLDec",
+                    "GstH265Decoder",
                     "GstVideoDecoder",
                     "GstElement",
                     "GstObject",
                     "GObject"
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "NVDEC h265 Video Decoder",
+                "long-name": "NVDEC H.265 Stateless 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",
+                        "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"
                     },
                         "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",
+                    "cuda-device-id": {
+                        "blurb": "Assigned CUDA device id",
                         "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",
+                        "max": "2147483647",
                         "min": "0",
-                        "mutable": "ready",
+                        "mutable": "null",
                         "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": [
-                    "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"
+                        "writable": false
                     }
                 },
                 "rank": "secondary"
                 "author": "Seungha Yang <seungha@centricular.com>",
                 "description": "NVIDIA VP8 video decoder",
                 "hierarchy": [
-                    "GstNvVP8StatelessDec",
-                    "GstNvVp8Dec",
+                    "GstNvVp8SLDec",
                     "GstVp8Decoder",
                     "GstVideoDecoder",
                     "GstElement",
                         "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": "Seungha Yang <seungha@centricular.com>",
                 "description": "NVIDIA VP9 video decoder",
                 "hierarchy": [
-                    "GstNvVP9StatelessDec",
-                    "GstNvVp9Dec",
+                    "GstNvVp9SLDec",
                     "GstVp9Decoder",
                     "GstVideoDecoder",
                     "GstElement",
                         "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"
             }
         },
                     }
                 }
             },
+            "GstCudaMemoryCopy": {
+                "hierarchy": [
+                    "GstCudaMemoryCopy",
+                    "GstCudaBaseTransform",
+                    "GstBaseTransform",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "kind": "object"
+            },
             "GstNvBaseEnc": {
                 "hierarchy": [
                     "GstNvBaseEnc",
                 ],
                 "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,
                 ],
                 "kind": "object"
             },
-            "GstNvH264Dec": {
+            "GstNvEncoder": {
                 "hierarchy": [
-                    "GstNvH264Dec",
-                    "GstH264Decoder",
-                    "GstVideoDecoder",
+                    "GstNvEncoder",
+                    "GstVideoEncoder",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "kind": "object"
-            },
-            "GstNvH265Dec": {
-                "hierarchy": [
-                    "GstNvH265Dec",
-                    "GstH265Decoder",
-                    "GstVideoDecoder",
-                    "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": [
                         "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",
                 "klass": "Codec/Decoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-h264:\n          width: [ 16, 4096 ]\n         height: [ 16, 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",
+                        "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(memory:D3D11Memory):\n         format: NV12\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\nvideo/x-raw:\n         format: NV12\n          width: [ 16, 4096 ]\n         height: [ 16, 4096 ]\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"
                     }
                 "klass": "Codec/Decoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-h265:\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n  stream-format: { (string)byte-stream, (string)hev1, (string)hvc1 }\n      alignment: au\n        profile: { (string)main, (string)main-10 }\n",
+                        "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"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\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",
+                        "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"
                     }
                 },
                 "rank": "none"
             },
+            "qsvjpegdec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video JPEG Decoder",
+                "hierarchy": [
+                    "GstQsvJpegDec",
+                    "GstQsvDecoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "image/jpeg:\n          width: [ 1, 16384 ]\n         height: [ 1, 16384 ]\n",
+                        "direction": "sink",
+                        "presence": "always"
+                    },
+                    "src": {
+                        "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"
+                    }
+                },
+                "rank": "secondary"
+            },
             "qsvjpegenc": {
                 "author": "Seungha Yang <seungha@centricular.com>",
                 "description": "Intel Quick Sync Video JPEG Encoder",
                 "klass": "Codec/Encoder/Video/Hardware",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:D3D11Memory):\n         format: { NV12, BGRA }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n\nvideo/x-raw(memory:VAMemory):\n         format: { NV12, BGRA }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\nvideo/x-raw:\n         format: { NV12, BGRA }\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\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/jpeg:\n          width: [ 16, 8192 ]\n         height: [ 16, 8192 ]\n",
+                        "caps": "image/jpeg:\n          width: [ 16, 16384 ]\n         height: [ 16, 16384 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "rank": "none"
             },
+            "qsvvp9dec": {
+                "author": "Seungha Yang <seungha@centricular.com>",
+                "description": "Intel Quick Sync Video VP9 Decoder",
+                "hierarchy": [
+                    "GstQsvVP9Dec",
+                    "GstQsvDecoder",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "pad-templates": {
+                    "sink": {
+                        "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": "marginal"
+            },
             "qsvvp9enc": {
                 "author": "Seungha Yang <seungha@centricular.com>",
                 "description": "Intel Quick Sync Video VP9 Encoder",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "73102",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
                         "construct": false,
                         "construct-only": false,
                         "controllable": false,
-                        "default": "73102",
+                        "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
                         "mutable": "null",
     },
     "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": {