docs: Update plugin cache with the new format
authorThibault Saunier <tsaunier@igalia.com>
Wed, 3 Jun 2020 21:38:10 +0000 (17:38 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Wed, 3 Jun 2020 21:38:10 +0000 (17:38 -0400)
And fix the default URL which should not be inside quotes.

docs/gst_plugins_cache.json
meson_options.txt

index 4e15a61..e1a07b8 100644 (file)
@@ -4,7 +4,6 @@
         "elements": {
             "vaapidecodebin": {
                 "author": "Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Victor Jaquez <victorx.jaquez@intel.com>",
-                "classification": "Codec/Decoder/Video",
                 "description": "A VA-API based bin with a decoder and a postprocessor",
                 "hierarchy": [
                     "GstVaapiDecodeBin",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Codec/Decoder/Video",
+                "interfaces": [
+                    "GstChildProxy"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
                 "long-name": "VA-API Decode Bin",
-                "name": "vaapidecodebin",
                 "pad-templates": {
                     "sink": {
                         "caps": "video/mpeg:\n    mpegversion: 2\n   systemstream: false\nvideo/mpeg:\n    mpegversion: 4\nvideo/x-divx:\nvideo/x-xvid:\nvideo/x-h263:\nvideo/x-h264:\nvideo/x-h265:\nvideo/x-wmv:\nvideo/x-vp8:\nvideo/x-vp9:\n",
@@ -24,7 +25,7 @@
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, P012_BE, P012_LE, I420_12BE, I420_12LE, Y212_BE, Y212_LE, I422_12BE, I422_12LE, Y412_BE, Y412_LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40, Y444_16BE, Y444_16LE, P016_BE, P016_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "deinterlace-method": {
                         "blurb": "Deinterlace method to use",
                         "construct": false,
                         "construct-only": false,
-                        "default": "bob (1)",
-                        "enum": true,
-                        "type-name": "GstVaapiDeinterlaceMethod",
-                        "values": [
-                            {
-                                "desc": "Disable deinterlacing",
-                                "name": "none",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Bob deinterlacing",
-                                "name": "bob",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Weave deinterlacing",
-                                "name": "weave",
-                                "value": "2"
-                            },
-                            {
-                                "desc": "Motion adaptive deinterlacing",
-                                "name": "motion-adaptive",
-                                "value": "3"
-                            },
-                            {
-                                "desc": "Motion compensated deinterlacing",
-                                "name": "motion-compensated",
-                                "value": "4"
-                            }
-                        ],
+                        "default": "none (0)",
+                        "readable": true,
+                        "type": "GstVaapiDeinterlaceMethod",
                         "writable": true
                     },
                     "disable-vpp": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "max-size-buffers": {
                         "blurb": "Max. number of buffers in the queue (0=disable)",
                         "construct": false,
                         "construct-only": false,
-                        "default": "0",
+                        "default": "1",
                         "max": "-1",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "max-size-bytes": {
@@ -99,7 +76,8 @@
                         "default": "0",
                         "max": "-1",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "max-size-time": {
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
-                        "type-name": "guint64",
+                        "readable": true,
+                        "type": "guint64",
                         "writable": true
                     },
                     "message-forward": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     }
                 },
             },
             "vaapih264dec": {
                 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
-                "classification": "Codec/Decoder/Video",
                 "description": "A VA-API based H264 video decoder",
                 "hierarchy": [
                     "GstVaapiDecode_h264",
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
                 "long-name": "VA-API H264 decoder",
-                "name": "vaapih264dec",
                 "pad-templates": {
                     "sink": {
                         "caps": "video/x-h264:\n",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "low-latency": {
                         "construct": true,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "parent": {
-                        "blurb": "The parent of the object",
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events from downstream",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstObject",
+                        "default": "true",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     }
                 },
             },
             "vaapih264enc": {
                 "author": "Wind Yuan <feng.yuan@intel.com>",
-                "classification": "Codec/Encoder/Video",
                 "description": "A VA-API based H264 video encoder",
                 "hierarchy": [
                     "GstVaapiEncodeH264",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
+                "interfaces": [
+                    "GstPreset"
+                ],
                 "klass": "Codec/Encoder/Video/Hardware",
                 "long-name": "VA-API H264 encoder",
-                "name": "vaapih264enc",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
+                        "caps": "video/x-raw:\n         format: { NV12, YV12, I420 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:VASurface):\n         format: { NV12, YV12, I420 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     }
                 },
                 "properties": {
-                    "aud": {
-                        "blurb": "Use AU (Access Unit) delimeter",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "false",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
                     "bitrate": {
                         "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
                         "construct": false,
                         "construct-only": false,
                         "default": "0",
-                        "max": "102400",
+                        "max": "2048000",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "cabac": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "compliance-mode": {
                         "construct": false,
                         "construct-only": false,
                         "default": "strict (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderH264ComplianceMode",
-                        "values": [
-                            {
-                                "desc": "Strict compliance to the H264 Specification ",
-                                "name": "strict",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Restrict the allocation size of coded-buffer",
-                                "name": "restrict-buf-alloc",
-                                "value": "1"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiEncoderH264ComplianceMode",
                         "writable": true
                     },
                     "cpb-length": {
                         "default": "1500",
                         "max": "10000",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "dct8x8": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "default-roi-delta-qp": {
                         "default": "-10",
                         "max": "10",
                         "min": "-10",
-                        "type-name": "gint",
+                        "readable": true,
+                        "type": "gint",
                         "writable": true
                     },
                     "init-qp": {
                         "default": "26",
                         "max": "51",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "keyframe-period": {
                         "default": "30",
                         "max": "-1",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "max-bframes": {
                         "default": "0",
                         "max": "10",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "max-qp": {
+                        "blurb": "Maximum quantizer value",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "51",
+                        "max": "51",
+                        "min": "0",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "mbbrc": {
                         "construct": false,
                         "construct-only": false,
                         "default": "auto (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderMbbrc",
-                        "values": [
-                            {
-                                "desc": "Auto",
-                                "name": "auto",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "On",
-                                "name": "on",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Off",
-                                "name": "off",
-                                "value": "2"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiEncoderMbbrc",
                         "writable": true
                     },
                     "min-qp": {
                         "default": "1",
                         "max": "51",
                         "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "num-slices": {
                         "default": "1",
                         "max": "200",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "num-views": {
                         "default": "1",
                         "max": "10",
                         "min": "1",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "prediction-type": {
                         "construct": false,
                         "construct-only": false,
                         "default": "default (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderH264PredictionType",
-                        "values": [
-                            {
-                                "desc": "Default encode, prev/next frame as ref ",
-                                "name": "default",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Hierarchical P frame encode",
-                                "name": "hierarchical-p",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Hierarchical B frame encode",
-                                "name": "hierarchical-b",
-                                "value": "2"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiEncoderH264PredictionType",
                         "writable": true
                     },
                     "qos": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "qp-ib": {
                         "default": "0",
                         "max": "51",
                         "min": "-51",
-                        "type-name": "gint",
+                        "readable": true,
+                        "type": "gint",
                         "writable": true
                     },
                     "qp-ip": {
                         "default": "0",
                         "max": "51",
                         "min": "-51",
-                        "type-name": "gint",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "quality-factor": {
+                        "blurb": "quality factor for ICQ/QVBR bitrate control mode(low value means higher-quality, higher value means lower-quality)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "26",
+                        "max": "51",
+                        "min": "1",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "quality-level": {
                         "default": "4",
                         "max": "7",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "rate-control": {
                         "construct": false,
                         "construct-only": false,
                         "default": "cqp (1)",
-                        "enum": true,
-                        "type-name": "GstVaapiRateControlH264",
-                        "values": [
-                            {
-                                "desc": "Constant QP",
-                                "name": "cqp",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Constant bitrate",
-                                "name": "cbr",
-                                "value": "2"
-                            },
-                            {
-                                "desc": "Variable bitrate",
-                                "name": "vbr",
-                                "value": "4"
-                            },
-                            {
-                                "desc": "Variable bitrate - Constrained",
-                                "name": "vbr_constrained",
-                                "value": "5"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiRateControlH264",
                         "writable": true
                     },
                     "refs": {
                         "default": "1",
                         "max": "8",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "target-percentage": {
                         "default": "70",
                         "max": "100",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "temporal-levels": {
                         "default": "1",
                         "max": "4",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "trellis": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "tune": {
                         "construct": false,
                         "construct-only": false,
                         "default": "none (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderTuneH264",
-                        "values": [
-                            {
-                                "desc": "None",
-                                "name": "none",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "High compression",
-                                "name": "high-compression",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Low power mode",
-                                "name": "low-power",
-                                "value": "3"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiEncoderTuneH264",
                         "writable": true
                     },
                     "view-ids": {
                         "blurb": "Set of View Ids used for MVC encoding",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstValueArray",
+                        "readable": true,
+                        "type": "GstValueArray",
                         "writable": true
                     }
                 },
             },
             "vaapih265dec": {
                 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
-                "classification": "Codec/Decoder/Video",
                 "description": "A VA-API based H265 video decoder",
                 "hierarchy": [
                     "GstVaapiDecode_h265",
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
                 "long-name": "VA-API H265 decoder",
-                "name": "vaapih265dec",
                 "pad-templates": {
                     "sink": {
                         "caps": "video/x-h265:\n",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events from downstream",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstObject",
+                        "default": "true",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     }
                 },
             },
             "vaapih265enc": {
                 "author": "Sreerenj Balachandran <sreerenj.balachandran@intel.com>",
-                "classification": "Codec/Encoder/Video",
                 "description": "A VA-API based H265 video encoder",
                 "hierarchy": [
                     "GstVaapiEncodeH265",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
+                "interfaces": [
+                    "GstPreset"
+                ],
                 "klass": "Codec/Encoder/Video/Hardware",
                 "long-name": "VA-API H265 encoder",
-                "name": "vaapih265enc",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
+                        "caps": "video/x-raw:\n         format: { NV12, YV12, I420 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(memory:VASurface):\n         format: { NV12, YV12, I420 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-h265:\n  stream-format: { (string)hvc1, (string)byte-stream }\n      alignment: au\n        profile: { (string)main, (string)main-10 }\n",
+                        "caps": "video/x-h265:\n  stream-format: { (string)hvc1, (string)byte-stream }\n      alignment: au\n        profile: { (string)main, (string)main-10, (string)main-444, (string)main-444-10 }\n",
                         "direction": "src",
                         "presence": "always"
                     }
                         "construct": false,
                         "construct-only": false,
                         "default": "0",
-                        "max": "102400",
+                        "max": "2048000",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "cpb-length": {
                         "default": "1500",
                         "max": "10000",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "default-roi-delta-qp": {
                         "default": "-10",
                         "max": "10",
                         "min": "-10",
-                        "type-name": "gint",
+                        "readable": true,
+                        "type": "gint",
                         "writable": true
                     },
                     "init-qp": {
                         "default": "26",
                         "max": "51",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "keyframe-period": {
                         "default": "30",
                         "max": "-1",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "low-delay-b": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "max-bframes": {
                         "default": "0",
                         "max": "10",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "max-qp": {
+                        "blurb": "Maximum quantizer value",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "51",
+                        "max": "51",
+                        "min": "0",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "mbbrc": {
                         "construct": false,
                         "construct-only": false,
                         "default": "auto (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderMbbrc",
-                        "values": [
-                            {
-                                "desc": "Auto",
-                                "name": "auto",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "On",
-                                "name": "on",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Off",
-                                "name": "off",
-                                "value": "2"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiEncoderMbbrc",
                         "writable": true
                     },
                     "min-qp": {
                         "default": "1",
                         "max": "51",
                         "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "num-slices": {
                         "default": "1",
                         "max": "200",
                         "min": "1",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "qos": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "qp-ib": {
                         "default": "0",
                         "max": "51",
                         "min": "-51",
-                        "type-name": "gint",
+                        "readable": true,
+                        "type": "gint",
                         "writable": true
                     },
                     "qp-ip": {
                         "default": "0",
                         "max": "51",
                         "min": "-51",
-                        "type-name": "gint",
+                        "readable": true,
+                        "type": "gint",
+                        "writable": true
+                    },
+                    "quality-factor": {
+                        "blurb": "quality factor for ICQ/QBVR bitrate control mode (lower value means higher quality, higher value means lower quality)",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "26",
+                        "max": "51",
+                        "min": "1",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "quality-level": {
                         "default": "4",
                         "max": "7",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "rate-control": {
                         "construct": false,
                         "construct-only": false,
                         "default": "cqp (1)",
-                        "enum": true,
-                        "type-name": "GstVaapiRateControlH265",
-                        "values": [
-                            {
-                                "desc": "Constant QP",
-                                "name": "cqp",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Constant bitrate",
-                                "name": "cbr",
-                                "value": "2"
-                            },
-                            {
-                                "desc": "Variable bitrate",
-                                "name": "vbr",
-                                "value": "4"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiRateControlH265",
                         "writable": true
                     },
                     "refs": {
                         "default": "1",
                         "max": "3",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "target-percentage": {
                         "default": "70",
                         "max": "100",
                         "min": "1",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
                     "trellis": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "tune": {
                         "construct": false,
                         "construct-only": false,
                         "default": "none (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderTuneH265",
-                        "values": [
-                            {
-                                "desc": "None",
-                                "name": "none",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Low power mode",
-                                "name": "low-power",
-                                "value": "3"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiEncoderTuneH265",
                         "writable": true
                     }
                 },
             },
             "vaapijpegdec": {
                 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
-                "classification": "Codec/Decoder/Video",
                 "description": "A VA-API based JPEG video decoder",
                 "hierarchy": [
                     "GstVaapiDecode_jpeg",
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
                 "long-name": "VA-API JPEG decoder",
-                "name": "vaapijpegdec",
                 "pad-templates": {
                     "sink": {
                         "caps": "image/jpeg:\n",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events from downstream",
+                        "construct": false,
                         "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
+                        "default": "true",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
+                    }
+                },
+                "rank": "marginal"
+            },
+            "vaapimpeg2dec": {
+                "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
+                "description": "A VA-API based MPEG2 video decoder",
+                "hierarchy": [
+                    "GstVaapiDecode_mpeg2",
+                    "GstVideoDecoder",
+                    "GstElement",
+                    "GstObject",
+                    "GInitiallyUnowned",
+                    "GObject"
+                ],
+                "klass": "Codec/Decoder/Video/Hardware",
+                "long-name": "VA-API MPEG2 decoder",
+                "pad-templates": {
+                    "sink": {
+                        "caps": "video/mpeg:\n    mpegversion: 2\n   systemstream: false\n",
+                        "direction": "sink",
+                        "presence": "always"
                     },
-                    "parent": {
-                        "blurb": "The parent of the object",
+                    "src": {
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "direction": "src",
+                        "presence": "always"
+                    }
+                },
+                "properties": {
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events from downstream",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstObject",
+                        "default": "true",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     }
                 },
-                "rank": "marginal"
+                "rank": "primary"
             },
-            "vaapijpegenc": {
-                "author": "Sreerenj Balachandran <sreerenj.balachandran@intel.com>",
-                "classification": "Codec/Encoder/Image",
-                "description": "A VA-API based JPEG video encoder",
+            "vaapipostproc": {
+                "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>",
+                "description": "A VA-API video postprocessing filter",
                 "hierarchy": [
-                    "GstVaapiEncodeJpeg",
-                    "GstVaapiEncode",
-                    "GstVideoEncoder",
+                    "GstVaapiPostproc",
+                    "GstBaseTransform",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Codec/Encoder/Image",
-                "long-name": "VA-API JPEG encoder",
-                "name": "vaapijpegenc",
+                "interfaces": [
+                    "GstColorBalance"
+                ],
+                "klass": "Filter/Converter/Effect/Video/Scaler/Deinterlace/Hardware",
+                "long-name": "VA-API video postprocessing",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\nvideo/x-raw:\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\n",
                         "direction": "sink",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "image/jpeg:\n",
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "bitrate": {
-                        "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
+                    "brightness": {
+                        "blurb": "The color brightness value",
                         "construct": false,
                         "construct-only": false,
                         "default": "0",
-                        "max": "102400",
+                        "max": "1",
+                        "min": "-1",
+                        "readable": true,
+                        "type": "gfloat",
+                        "writable": true
+                    },
+                    "contrast": {
+                        "blurb": "The color contrast value",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "1",
+                        "max": "2",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
-                    "default-roi-delta-qp": {
-                        "blurb": "The default delta-qp to apply to each Region of Interest(lower value means higher-quality, higher value means lower-quality)",
+                    "crop-bottom": {
+                        "blurb": "Pixels to crop at bottom",
                         "construct": false,
                         "construct-only": false,
-                        "default": "-10",
-                        "max": "10",
-                        "min": "-10",
-                        "type-name": "gint",
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
-                    "keyframe-period": {
-                        "blurb": "Maximal distance between two keyframes (0: auto-calculate)",
+                    "crop-left": {
+                        "blurb": "Pixels to crop at left",
                         "construct": false,
                         "construct-only": false,
-                        "default": "30",
-                        "max": "-1",
+                        "default": "0",
+                        "max": "2147483647",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
+                    "crop-right": {
+                        "blurb": "Pixels to crop at right",
+                        "construct": false,
                         "construct-only": false,
-                        "default": "vaapiencodejpeg0",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
-                    "parent": {
-                        "blurb": "The parent of the object",
+                    "crop-top": {
+                        "blurb": "Pixels to crop at top",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstObject",
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
-                    "qos": {
-                        "blurb": "Handle Quality-of-Service events from downstream",
+                    "deinterlace-method": {
+                        "blurb": "Deinterlace method to use",
                         "construct": false,
                         "construct-only": false,
-                        "default": "false",
-                        "type-name": "gboolean",
+                        "default": "bob (1)",
+                        "readable": true,
+                        "type": "GstVaapiDeinterlaceMethod",
                         "writable": true
                     },
-                    "quality": {
-                        "blurb": "Quality factor",
+                    "deinterlace-mode": {
+                        "blurb": "Deinterlace mode to use",
                         "construct": false,
                         "construct-only": false,
-                        "default": "50",
-                        "max": "100",
-                        "min": "0",
-                        "type-name": "guint",
+                        "default": "auto (0)",
+                        "readable": true,
+                        "type": "GstVaapiDeinterlaceMode",
                         "writable": true
                     },
-                    "quality-level": {
-                        "blurb": "Encoding Quality Level (lower value means higher-quality/slow-encode,  higher value means lower-quality/fast-encode)",
+                    "denoise": {
+                        "blurb": "The level of denoising to apply",
                         "construct": false,
                         "construct-only": false,
-                        "default": "4",
-                        "max": "7",
-                        "min": "1",
-                        "type-name": "guint",
+                        "default": "0",
+                        "max": "1",
+                        "min": "0",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
-                    "rate-control": {
-                        "blurb": "Rate control mode",
+                    "force-aspect-ratio": {
+                        "blurb": "When enabled, scaling will respect original aspect ratio",
                         "construct": false,
                         "construct-only": false,
-                        "default": "none (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiRateControlJPEG",
-                        "values": [
-                            {
-                                "desc": "None",
-                                "name": "none",
-                                "value": "0"
-                            }
-                        ],
+                        "default": "true",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "tune": {
-                        "blurb": "Encoder tuning option",
+                    "format": {
+                        "blurb": "The forced output pixel format",
                         "construct": false,
                         "construct-only": false,
-                        "default": "none (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderTuneJPEG",
-                        "values": [
-                            {
-                                "desc": "None",
-                                "name": "none",
-                                "value": "0"
-                            }
-                        ],
-                        "writable": true
-                    }
-                },
-                "rank": "primary"
-            },
-            "vaapimpeg2dec": {
-                "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
-                "classification": "Codec/Decoder/Video",
-                "description": "A VA-API based MPEG2 video decoder",
-                "hierarchy": [
-                    "GstVaapiDecode_mpeg2",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video/Hardware",
-                "long-name": "VA-API MPEG2 decoder",
-                "name": "vaapimpeg2dec",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/mpeg:\n    mpegversion: 2\n   systemstream: false\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
+                        "default": "encoded (1)",
+                        "readable": true,
+                        "type": "GstVideoFormat",
                         "writable": true
                     },
-                    "parent": {
-                        "blurb": "The parent of the object",
+                    "hdr-tone-map": {
+                        "blurb": "Apply HDR tone mapping algorithm",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstObject",
+                        "default": "auto (0)",
+                        "readable": true,
+                        "type": "GstVaapiHDRToneMap",
                         "writable": true
-                    }
-                },
-                "rank": "primary"
-            },
-            "vaapimpeg2enc": {
-                "author": "Guangxin Xu <guangxin.xu@intel.com>",
-                "classification": "Codec/Encoder/Video",
-                "description": "A VA-API based MPEG-2 video encoder",
-                "hierarchy": [
-                    "GstVaapiEncodeMpeg2",
-                    "GstVaapiEncode",
-                    "GstVideoEncoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Encoder/Video",
-                "long-name": "VA-API MPEG-2 encoder",
-                "name": "vaapimpeg2enc",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
-                        "direction": "sink",
-                        "presence": "always"
                     },
-                    "src": {
-                        "caps": "video/mpeg:\n    mpegversion: 2\n   systemstream: false\n",
-                        "direction": "src",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "bitrate": {
-                        "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
+                    "height": {
+                        "blurb": "Forced output height",
                         "construct": false,
                         "construct-only": false,
                         "default": "0",
-                        "max": "102400",
+                        "max": "2147483647",
                         "min": "0",
-                        "type-name": "guint",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
-                    "default-roi-delta-qp": {
-                        "blurb": "The default delta-qp to apply to each Region of Interest(lower value means higher-quality, higher value means lower-quality)",
+                    "hue": {
+                        "blurb": "The color hue value",
                         "construct": false,
                         "construct-only": false,
-                        "default": "-10",
-                        "max": "10",
-                        "min": "-10",
-                        "type-name": "gint",
+                        "default": "0",
+                        "max": "180",
+                        "min": "-180",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
-                    "keyframe-period": {
-                        "blurb": "Maximal distance between two keyframes (0: auto-calculate)",
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events",
                         "construct": false,
                         "construct-only": false,
-                        "default": "30",
-                        "max": "-1",
-                        "min": "0",
-                        "type-name": "guint",
+                        "default": "false",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "max-bframes": {
-                        "blurb": "Number of B-frames between I and P",
+                    "saturation": {
+                        "blurb": "The color saturation value",
                         "construct": false,
                         "construct-only": false,
-                        "default": "0",
-                        "max": "16",
+                        "default": "1",
+                        "max": "2",
                         "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "vaapiencodempeg2-0",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
-                    "parent": {
-                        "blurb": "The parent of the object",
+                    "scale-method": {
+                        "blurb": "Scaling method to use",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstObject",
+                        "default": "default (0)",
+                        "readable": true,
+                        "type": "GstVaapiScaleMethod",
                         "writable": true
                     },
-                    "qos": {
-                        "blurb": "Handle Quality-of-Service events from downstream",
+                    "sharpen": {
+                        "blurb": "The level of sharpening/blurring to apply",
                         "construct": false,
                         "construct-only": false,
-                        "default": "false",
-                        "type-name": "gboolean",
+                        "default": "0",
+                        "max": "1",
+                        "min": "-1",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
-                    "quality-level": {
-                        "blurb": "Encoding Quality Level (lower value means higher-quality/slow-encode,  higher value means lower-quality/fast-encode)",
+                    "skin-tone-enhancement": {
+                        "blurb": "Apply the skin tone enhancement algorithm",
                         "construct": false,
                         "construct-only": false,
-                        "default": "4",
-                        "max": "7",
-                        "min": "1",
-                        "type-name": "guint",
+                        "default": "false",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "quantizer": {
-                        "blurb": "Constant quantizer (if rate-control mode is CQP)",
+                    "skin-tone-enhancement-level": {
+                        "blurb": "Apply the skin tone enhancement algorithm with specified level",
                         "construct": false,
                         "construct-only": false,
-                        "default": "8",
-                        "max": "62",
-                        "min": "2",
-                        "type-name": "guint",
+                        "default": "3",
+                        "max": "9",
+                        "min": "0",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     },
-                    "rate-control": {
-                        "blurb": "Rate control mode",
+                    "video-direction": {
+                        "blurb": "Video direction: rotation and flipping",
                         "construct": false,
                         "construct-only": false,
-                        "default": "cqp (1)",
-                        "enum": true,
-                        "type-name": "GstVaapiRateControlMPEG2",
-                        "values": [
-                            {
-                                "desc": "Constant QP",
-                                "name": "cqp",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Constant bitrate",
-                                "name": "cbr",
-                                "value": "2"
-                            }
-                        ],
+                        "default": "identity (0)",
+                        "readable": true,
+                        "type": "GstVideoOrientationMethod",
                         "writable": true
                     },
-                    "tune": {
-                        "blurb": "Encoder tuning option",
+                    "width": {
+                        "blurb": "Forced output width",
                         "construct": false,
                         "construct-only": false,
-                        "default": "none (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderTuneMPEG2",
-                        "values": [
-                            {
-                                "desc": "None",
-                                "name": "none",
-                                "value": "0"
-                            }
-                        ],
+                        "default": "0",
+                        "max": "2147483647",
+                        "min": "0",
+                        "readable": true,
+                        "type": "guint",
                         "writable": true
                     }
                 },
                 "rank": "primary"
             },
-            "vaapipostproc": {
+            "vaapisink": {
                 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>",
-                "classification": "Filter/Converter/Video;Filter/Converter/Video/Scaler;Filter/Effect/Video;Filter/Effect/Video/Deinterlace",
-                "description": "A VA-API video postprocessing filter",
+                "description": "A VA-API based videosink",
                 "hierarchy": [
-                    "GstVaapiPostproc",
-                    "GstBaseTransform",
+                    "GstVaapiSink",
+                    "GstVideoSink",
+                    "GstBaseSink",
                     "GstElement",
                     "GstObject",
                     "GInitiallyUnowned",
                     "GObject"
                 ],
-                "klass": "Filter/Converter/Effect/Video/Scaler/Deinterlace/Hardware",
-                "long-name": "VA-API video postprocessing",
-                "name": "vaapipostproc",
+                "interfaces": [
+                    "GstVideoOverlay",
+                    "GstColorBalance",
+                    "GstNavigation"
+                ],
+                "klass": "Sink/Video",
+                "long-name": "VA-API sink",
                 "pad-templates": {
                     "sink": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\n",
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:VASurface, meta:GstVideoOverlayComposition):\n         format: { ENCODED, NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoOverlayComposition):\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, P012_BE, P012_LE, I420_12BE, I420_12LE, Y212_BE, Y212_LE, I422_12BE, I422_12LE, Y412_BE, Y412_LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40, Y444_16BE, Y444_16LE, P016_BE, P016_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, P012_BE, P012_LE, I420_12BE, I420_12LE, Y212_BE, Y212_LE, I422_12BE, I422_12LE, Y412_BE, Y412_LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40, Y444_16BE, Y444_16LE, P016_BE, P016_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "sink",
                         "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: { (string)progressive, (string)interleaved, (string)mixed }\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
                     }
                 },
                 "properties": {
-                    "brightness": {
-                        "blurb": "The color brightness value",
+                    "async": {
+                        "blurb": "Go asynchronously to PAUSED",
+                        "construct": false,
+                        "construct-only": false,
+                        "default": "true",
+                        "readable": true,
+                        "type": "gboolean",
+                        "writable": true
+                    },
+                    "blocksize": {
+                        "blurb": "Size in bytes to pull per buffer (0 = default)",
                         "construct": false,
                         "construct-only": false,
+                        "default": "4096",
+                        "max": "-1",
+                        "min": "0",
+                        "readable": true,
+                        "type": "guint",
+                        "writable": true
+                    },
+                    "brightness": {
+                        "blurb": "The display brightness value",
+                        "construct": true,
+                        "construct-only": false,
                         "default": "0",
                         "max": "1",
                         "min": "-1",
-                        "type-name": "gfloat",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
                     "contrast": {
-                        "blurb": "The color contrast value",
-                        "construct": false,
+                        "blurb": "The display contrast value",
+                        "construct": true,
                         "construct-only": false,
                         "default": "1",
                         "max": "2",
                         "min": "0",
-                        "type-name": "gfloat",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
-                    "deinterlace-method": {
-                        "blurb": "Deinterlace method to use",
+                    "display": {
+                        "blurb": "display type to use",
                         "construct": false,
                         "construct-only": false,
-                        "default": "bob (1)",
-                        "enum": true,
-                        "type-name": "GstVaapiDeinterlaceMethod",
-                        "values": [
-                            {
-                                "desc": "Disable deinterlacing",
-                                "name": "none",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Bob deinterlacing",
-                                "name": "bob",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Weave deinterlacing",
-                                "name": "weave",
-                                "value": "2"
-                            },
-                            {
-                                "desc": "Motion adaptive deinterlacing",
-                                "name": "motion-adaptive",
-                                "value": "3"
-                            },
-                            {
-                                "desc": "Motion compensated deinterlacing",
-                                "name": "motion-compensated",
-                                "value": "4"
-                            }
-                        ],
+                        "default": "any (0)",
+                        "readable": true,
+                        "type": "GstVaapiDisplayType",
                         "writable": true
                     },
-                    "deinterlace-mode": {
-                        "blurb": "Deinterlace mode to use",
+                    "display-name": {
+                        "blurb": "display name to use",
                         "construct": false,
                         "construct-only": false,
-                        "default": "auto (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiDeinterlaceMode",
-                        "values": [
-                            {
-                                "desc": "Auto detection",
-                                "name": "auto",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Force deinterlacing",
-                                "name": "interlaced",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Never deinterlace",
-                                "name": "disabled",
-                                "value": "2"
-                            }
-                        ],
+                        "default": "NULL",
+                        "readable": true,
+                        "type": "gchararray",
                         "writable": true
                     },
-                    "denoise": {
-                        "blurb": "The level of denoising to apply",
+                    "enable-last-sample": {
+                        "blurb": "Enable the last-sample property",
                         "construct": false,
                         "construct-only": false,
-                        "default": "0",
-                        "max": "1",
-                        "min": "0",
-                        "type-name": "gfloat",
+                        "default": "true",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "force-aspect-ratio": {
                         "construct": false,
                         "construct-only": false,
                         "default": "true",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
-                    "format": {
-                        "blurb": "The forced output pixel format",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "encoded (1)",
-                        "enum": true,
-                        "type-name": "GstVideoFormat",
-                        "values": [
-                            {
-                                "desc": "GST_VIDEO_FORMAT_UNKNOWN",
-                                "name": "unknown",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_ENCODED",
-                                "name": "encoded",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I420",
-                                "name": "i420",
-                                "value": "2"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_YV12",
-                                "name": "yv12",
-                                "value": "3"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_YUY2",
-                                "name": "yuy2",
-                                "value": "4"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_UYVY",
-                                "name": "uyvy",
-                                "value": "5"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_AYUV",
-                                "name": "ayuv",
-                                "value": "6"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_RGBx",
-                                "name": "rgbx",
-                                "value": "7"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_BGRx",
-                                "name": "bgrx",
-                                "value": "8"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_xRGB",
-                                "name": "xrgb",
-                                "value": "9"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_xBGR",
-                                "name": "xbgr",
-                                "value": "10"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_RGBA",
-                                "name": "rgba",
-                                "value": "11"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_BGRA",
-                                "name": "bgra",
-                                "value": "12"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_ARGB",
-                                "name": "argb",
-                                "value": "13"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_ABGR",
-                                "name": "abgr",
-                                "value": "14"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_RGB",
-                                "name": "rgb",
-                                "value": "15"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_BGR",
-                                "name": "bgr",
-                                "value": "16"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y41B",
-                                "name": "y41b",
-                                "value": "17"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y42B",
-                                "name": "y42b",
-                                "value": "18"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_YVYU",
-                                "name": "yvyu",
-                                "value": "19"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y444",
-                                "name": "y444",
-                                "value": "20"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_v210",
-                                "name": "v210",
-                                "value": "21"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_v216",
-                                "name": "v216",
-                                "value": "22"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV12",
-                                "name": "nv12",
-                                "value": "23"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV21",
-                                "name": "nv21",
-                                "value": "24"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GRAY8",
-                                "name": "gray8",
-                                "value": "25"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GRAY16_BE",
-                                "name": "gray16-be",
-                                "value": "26"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GRAY16_LE",
-                                "name": "gray16-le",
-                                "value": "27"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_v308",
-                                "name": "v308",
-                                "value": "28"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_RGB16",
-                                "name": "rgb16",
-                                "value": "29"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_BGR16",
-                                "name": "bgr16",
-                                "value": "30"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_RGB15",
-                                "name": "rgb15",
-                                "value": "31"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_BGR15",
-                                "name": "bgr15",
-                                "value": "32"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_UYVP",
-                                "name": "uyvp",
-                                "value": "33"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_A420",
-                                "name": "a420",
-                                "value": "34"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_RGB8P",
-                                "name": "rgb8p",
-                                "value": "35"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_YUV9",
-                                "name": "yuv9",
-                                "value": "36"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_YVU9",
-                                "name": "yvu9",
-                                "value": "37"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_IYU1",
-                                "name": "iyu1",
-                                "value": "38"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_ARGB64",
-                                "name": "argb64",
-                                "value": "39"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_AYUV64",
-                                "name": "ayuv64",
-                                "value": "40"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_r210",
-                                "name": "r210",
-                                "value": "41"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I420_10BE",
-                                "name": "i420-10be",
-                                "value": "42"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I420_10LE",
-                                "name": "i420-10le",
-                                "value": "43"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I422_10BE",
-                                "name": "i422-10be",
-                                "value": "44"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I422_10LE",
-                                "name": "i422-10le",
-                                "value": "45"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y444_10BE",
-                                "name": "y444-10be",
-                                "value": "46"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y444_10LE",
-                                "name": "y444-10le",
-                                "value": "47"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBR",
-                                "name": "gbr",
-                                "value": "48"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBR_10BE",
-                                "name": "gbr-10be",
-                                "value": "49"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBR_10LE",
-                                "name": "gbr-10le",
-                                "value": "50"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV16",
-                                "name": "nv16",
-                                "value": "51"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV24",
-                                "name": "nv24",
-                                "value": "52"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV12_64Z32",
-                                "name": "nv12-64z32",
-                                "value": "53"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_A420_10BE",
-                                "name": "a420-10be",
-                                "value": "54"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_A420_10LE",
-                                "name": "a420-10le",
-                                "value": "55"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_A422_10BE",
-                                "name": "a422-10be",
-                                "value": "56"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_A422_10LE",
-                                "name": "a422-10le",
-                                "value": "57"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_A444_10BE",
-                                "name": "a444-10be",
-                                "value": "58"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_A444_10LE",
-                                "name": "a444-10le",
-                                "value": "59"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV61",
-                                "name": "nv61",
-                                "value": "60"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_P010_10BE",
-                                "name": "p010-10be",
-                                "value": "61"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_P010_10LE",
-                                "name": "p010-10le",
-                                "value": "62"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_IYU2",
-                                "name": "iyu2",
-                                "value": "63"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_VYUY",
-                                "name": "vyuy",
-                                "value": "64"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBRA",
-                                "name": "gbra",
-                                "value": "65"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBRA_10BE",
-                                "name": "gbra-10be",
-                                "value": "66"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBRA_10LE",
-                                "name": "gbra-10le",
-                                "value": "67"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBR_12BE",
-                                "name": "gbr-12be",
-                                "value": "68"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBR_12LE",
-                                "name": "gbr-12le",
-                                "value": "69"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBRA_12BE",
-                                "name": "gbra-12be",
-                                "value": "70"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GBRA_12LE",
-                                "name": "gbra-12le",
-                                "value": "71"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I420_12BE",
-                                "name": "i420-12be",
-                                "value": "72"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I420_12LE",
-                                "name": "i420-12le",
-                                "value": "73"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I422_12BE",
-                                "name": "i422-12be",
-                                "value": "74"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_I422_12LE",
-                                "name": "i422-12le",
-                                "value": "75"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y444_12BE",
-                                "name": "y444-12be",
-                                "value": "76"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y444_12LE",
-                                "name": "y444-12le",
-                                "value": "77"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_GRAY10_LE32",
-                                "name": "gray10-le32",
-                                "value": "78"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV12_10LE32",
-                                "name": "nv12-10le32",
-                                "value": "79"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV16_10LE32",
-                                "name": "nv16-10le32",
-                                "value": "80"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_NV12_10LE40",
-                                "name": "nv12-10le40",
-                                "value": "81"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y210",
-                                "name": "y210",
-                                "value": "82"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_Y410",
-                                "name": "y410",
-                                "value": "83"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_VUYA",
-                                "name": "vuya",
-                                "value": "84"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_BGR10A2_LE",
-                                "name": "bgr10a2-le",
-                                "value": "85"
-                            },
-                            {
-                                "desc": "GST_VIDEO_FORMAT_RGB10A2_LE",
-                                "name": "rgb10a2-le",
-                                "value": "86"
-                            }
-                        ],
-                        "writable": true
-                    },
-                    "height": {
-                        "blurb": "Forced output height",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "hue": {
-                        "blurb": "The color hue value",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "180",
-                        "min": "-180",
-                        "type-name": "gfloat",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
-                        "writable": true
-                    },
-                    "qos": {
-                        "blurb": "Handle Quality-of-Service events",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "false",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "saturation": {
-                        "blurb": "The color saturation value",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "1",
-                        "max": "2",
-                        "min": "0",
-                        "type-name": "gfloat",
-                        "writable": true
-                    },
-                    "scale-method": {
-                        "blurb": "Scaling method to use",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "default (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiScaleMethod",
-                        "values": [
-                            {
-                                "desc": "Default scaling mode",
-                                "name": "default",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Fast scaling mode",
-                                "name": "fast",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "High quality scaling mode",
-                                "name": "hq",
-                                "value": "2"
-                            }
-                        ],
-                        "writable": true
-                    },
-                    "sharpen": {
-                        "blurb": "The level of sharpening/blurring to apply",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "1",
-                        "min": "-1",
-                        "type-name": "gfloat",
-                        "writable": true
-                    },
-                    "skin-tone-enhancement": {
-                        "blurb": "Apply the skin tone enhancement algorithm",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "false",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "width": {
-                        "blurb": "Forced output width",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "2147483647",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    }
-                },
-                "rank": "primary"
-            },
-            "vaapisink": {
-                "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>",
-                "classification": "Sink/Video",
-                "description": "A VA-API based videosink",
-                "hierarchy": [
-                    "GstVaapiSink",
-                    "GstVideoSink",
-                    "GstBaseSink",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Sink/Video",
-                "long-name": "VA-API sink",
-                "name": "vaapisink",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:VASurface, meta:GstVideoOverlayComposition):\n         format: { ENCODED, NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoOverlayComposition):\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, RGB10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    }
-                },
-                "properties": {
-                    "async": {
-                        "blurb": "Go asynchronously to PAUSED",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "true",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "blocksize": {
-                        "blurb": "Size in bytes to pull per buffer (0 = default)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "4096",
-                        "max": "-1",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "brightness": {
-                        "blurb": "The display brightness value",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "1",
-                        "min": "-1",
-                        "type-name": "gfloat",
-                        "writable": true
-                    },
-                    "contrast": {
-                        "blurb": "The display contrast value",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "1",
-                        "max": "2",
-                        "min": "0",
-                        "type-name": "gfloat",
-                        "writable": true
-                    },
-                    "display": {
-                        "blurb": "display type to use",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "any (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiDisplayType",
-                        "values": [
-                            {
-                                "desc": "Auto detection",
-                                "name": "any",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "VA/X11 display",
-                                "name": "x11",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "VA/GLX display",
-                                "name": "glx",
-                                "value": "2"
-                            },
-                            {
-                                "desc": "VA/EGL display",
-                                "name": "egl",
-                                "value": "5"
-                            },
-                            {
-                                "desc": "VA/Wayland display",
-                                "name": "wayland",
-                                "value": "3"
-                            },
-                            {
-                                "desc": "VA/DRM display",
-                                "name": "drm",
-                                "value": "4"
-                            }
-                        ],
-                        "writable": true
-                    },
-                    "display-name": {
-                        "blurb": "display name to use",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "enable-last-sample": {
-                        "blurb": "Enable the last-sample property",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "true",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "force-aspect-ratio": {
-                        "blurb": "When enabled, scaling will respect original aspect ratio",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "true",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "fullscreen": {
-                        "blurb": "Requests window in fullscreen state",
+                    "fullscreen": {
+                        "blurb": "Requests window in fullscreen state",
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "hue": {
                         "default": "0",
                         "max": "180",
                         "min": "-180",
-                        "type-name": "gfloat",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
                     "last-sample": {
                         "blurb": "The last sample received in the sink",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstSample",
+                        "readable": true,
+                        "type": "GstSample",
                         "writable": false
                     },
                     "max-bitrate": {
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
-                        "type-name": "guint64",
+                        "readable": true,
+                        "type": "guint64",
                         "writable": true
                     },
                     "max-lateness": {
                         "default": "5000000",
                         "max": "9223372036854775807",
                         "min": "-1",
-                        "type-name": "gint64",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
+                        "readable": true,
+                        "type": "gint64",
                         "writable": true
                     },
                     "processing-deadline": {
-                        "blurb": "Maximum processing deadline in nanoseconds",
+                        "blurb": "Maximum processing time for a buffer in nanoseconds",
                         "construct": false,
                         "construct-only": false,
                         "default": "15000000",
                         "max": "18446744073709551615",
                         "min": "0",
-                        "type-name": "guint64",
+                        "readable": true,
+                        "type": "guint64",
                         "writable": true
                     },
                     "qos": {
                         "construct": false,
                         "construct-only": false,
                         "default": "true",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "render-delay": {
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
-                        "type-name": "guint64",
+                        "readable": true,
+                        "type": "guint64",
                         "writable": true
                     },
                     "rotation": {
                         "construct": false,
                         "construct-only": false,
                         "default": "0 (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiRotation",
-                        "values": [
-                            {
-                                "desc": "Unrotated mode",
-                                "name": "0",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Rotated by 90\u00b0, clockwise",
-                                "name": "90",
-                                "value": "90"
-                            },
-                            {
-                                "desc": "Rotated by 180\u00b0, clockwise",
-                                "name": "180",
-                                "value": "180"
-                            },
-                            {
-                                "desc": "Rotated by 270\u00b0, clockwise",
-                                "name": "270",
-                                "value": "270"
-                            },
-                            {
-                                "desc": "Rotated by image-orientating tag\u00b0",
-                                "name": "Automatic",
-                                "value": "360"
-                            }
-                        ],
+                        "readable": true,
+                        "type": "GstVaapiRotation",
                         "writable": true
                     },
                     "saturation": {
                         "default": "1",
                         "max": "2",
                         "min": "0",
-                        "type-name": "gfloat",
+                        "readable": true,
+                        "type": "gfloat",
                         "writable": true
                     },
                     "show-preroll-frame": {
                         "construct": true,
                         "construct-only": false,
                         "default": "true",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "signal-handoffs": {
                         "construct": false,
                         "construct-only": false,
                         "default": "false",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "stats": {
                         "construct": false,
                         "construct-only": false,
                         "default": "application/x-gst-base-sink-stats, average-rate=(double)0, dropped=(guint64)0, rendered=(guint64)0;",
-                        "type-name": "GstStructure",
+                        "readable": true,
+                        "type": "GstStructure",
                         "writable": false
                     },
                     "sync": {
                         "construct": false,
                         "construct-only": false,
                         "default": "true",
-                        "type-name": "gboolean",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     },
                     "throttle-time": {
                         "default": "0",
                         "max": "18446744073709551615",
                         "min": "0",
-                        "type-name": "guint64",
+                        "readable": true,
+                        "type": "guint64",
                         "writable": true
                     },
                     "ts-offset": {
                         "default": "0",
                         "max": "9223372036854775807",
                         "min": "-9223372036854775808",
-                        "type-name": "gint64",
+                        "readable": true,
+                        "type": "gint64",
                         "writable": true
                     },
                     "view-id": {
                         "default": "-1",
                         "max": "2147483647",
                         "min": "-1",
-                        "type-name": "gint",
+                        "readable": true,
+                        "type": "gint",
                         "writable": true
                     }
                 },
-                "rank": "marginal",
+                "rank": "primary",
                 "signals": {
                     "handoff": {
                         "args": [
-                            "GstBuffer"
+                            {
+                                "name": "arg0",
+                                "type": "GstBuffer"
+                            }
                         ],
-                        "retval": "void"
+                        "return-type": "void",
+                        "when": "last"
                     }
                 }
             },
             "vaapivc1dec": {
                 "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
-                "classification": "Codec/Decoder/Video",
                 "description": "A VA-API based VC1 video decoder",
                 "hierarchy": [
                     "GstVaapiDecode_vc1",
                 ],
                 "klass": "Codec/Decoder/Video/Hardware",
                 "long-name": "VA-API VC1 decoder",
-                "name": "vaapivc1dec",
                 "pad-templates": {
                     "sink": {
                         "caps": "video/x-wmv:\n     wmvversion: 3\n         format: { WMV3, WVC1 }\n",
                         "presence": "always"
                     },
                     "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
+                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
                         "direction": "src",
                         "presence": "always"
                     }
                 },
                 "properties": {
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "NULL",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
+                    "qos": {
+                        "blurb": "Handle Quality-of-Service events from downstream",
                         "construct": false,
                         "construct-only": false,
-                        "type-name": "GstObject",
+                        "default": "true",
+                        "readable": true,
+                        "type": "gboolean",
                         "writable": true
                     }
                 },
                 "rank": "primary"
+            }
+        },
+        "filename": "gstvaapi",
+        "license": "LGPL",
+        "other-types": {
+            "GstVaapiDeinterlaceMethod": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Disable deinterlacing",
+                        "name": "none",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Bob deinterlacing",
+                        "name": "bob",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Weave deinterlacing",
+                        "name": "weave",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Motion adaptive deinterlacing",
+                        "name": "motion-adaptive",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "Motion compensated deinterlacing",
+                        "name": "motion-compensated",
+                        "value": "4"
+                    }
+                ]
             },
-            "vaapivp8dec": {
-                "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
-                "classification": "Codec/Decoder/Video",
-                "description": "A VA-API based VP8 video decoder",
-                "hierarchy": [
-                    "GstVaapiDecode_vp8",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video",
-                "long-name": "VA-API VP8 decoder",
-                "name": "vaapivp8dec",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-vp8:\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
+            "GstVaapiDeinterlaceMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Auto detection",
+                        "name": "auto",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Force deinterlacing",
+                        "name": "interlaced",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Never deinterlace",
+                        "name": "disabled",
+                        "value": "2"
                     }
-                },
-                "properties": {
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "vaapidecode_vp8-0",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
-                        "writable": true
+                ]
+            },
+            "GstVaapiDisplayType": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Auto detection",
+                        "name": "any",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "VA/X11 display",
+                        "name": "x11",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "VA/GLX display",
+                        "name": "glx",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "VA/EGL display",
+                        "name": "egl",
+                        "value": "5"
+                    },
+                    {
+                        "desc": "VA/Wayland display",
+                        "name": "wayland",
+                        "value": "3"
+                    },
+                    {
+                        "desc": "VA/DRM display",
+                        "name": "drm",
+                        "value": "4"
                     }
-                },
-                "rank": "primary"
+                ]
             },
-            "vaapivp8enc": {
-                "author": "Sreerenj Balachandran <sreerenj.balachandran@intel.com>",
-                "classification": "Codec/Encoder/Video",
-                "description": "A VA-API based VP8 video encoder",
-                "hierarchy": [
-                    "GstVaapiEncodeVP8",
-                    "GstVaapiEncode",
-                    "GstVideoEncoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Encoder/Video",
-                "long-name": "VA-API VP8 encoder",
-                "name": "vaapivp8enc",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-vp8:\n",
-                        "direction": "src",
-                        "presence": "always"
+            "GstVaapiEncoderH264ComplianceMode": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Strict compliance to the H264 Specification ",
+                        "name": "strict",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Restrict the allocation size of coded-buffer",
+                        "name": "restrict-buf-alloc",
+                        "value": "1"
                     }
-                },
-                "properties": {
-                    "bitrate": {
-                        "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "102400",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "default-roi-delta-qp": {
-                        "blurb": "The default delta-qp to apply to each Region of Interest(lower value means higher-quality, higher value means lower-quality)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "-10",
-                        "max": "10",
-                        "min": "-10",
-                        "type-name": "gint",
-                        "writable": true
-                    },
-                    "keyframe-period": {
-                        "blurb": "Maximal distance between two keyframes (0: auto-calculate)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "30",
-                        "max": "-1",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "loop-filter-level": {
-                        "blurb": "Controls the deblocking filter strength",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "63",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "vaapiencodevp8-0",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
-                        "writable": true
-                    },
-                    "qos": {
-                        "blurb": "Handle Quality-of-Service events from downstream",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "false",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "quality-level": {
-                        "blurb": "Encoding Quality Level (lower value means higher-quality/slow-encode,  higher value means lower-quality/fast-encode)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "4",
-                        "max": "7",
-                        "min": "1",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "rate-control": {
-                        "blurb": "Rate control mode",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "cqp (1)",
-                        "enum": true,
-                        "type-name": "GstVaapiRateControlVP8",
-                        "values": [
-                            {
-                                "desc": "Constant QP",
-                                "name": "cqp",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Constant bitrate",
-                                "name": "cbr",
-                                "value": "2"
-                            },
-                            {
-                                "desc": "Variable bitrate",
-                                "name": "vbr",
-                                "value": "4"
-                            }
-                        ],
-                        "writable": true
-                    },
-                    "sharpness-level": {
-                        "blurb": "Controls the deblocking filter sensitivity",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "7",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "tune": {
-                        "blurb": "Encoder tuning option",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "none (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderTuneVP8",
-                        "values": [
-                            {
-                                "desc": "None",
-                                "name": "none",
-                                "value": "0"
-                            }
-                        ],
-                        "writable": true
-                    },
-                    "yac-qi": {
-                        "blurb": "Quantization Table index for Luma AC Coefficients, (in default case, yac_qi=4 for key frames and yac_qi=40 for P frames)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "40",
-                        "max": "127",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
+                ]
+            },
+            "GstVaapiEncoderH264PredictionType": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Default encode, prev/next frame as ref ",
+                        "name": "default",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Hierarchical P frame encode",
+                        "name": "hierarchical-p",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Hierarchical B frame encode",
+                        "name": "hierarchical-b",
+                        "value": "2"
                     }
-                },
-                "rank": "primary"
+                ]
             },
-            "vaapivp9dec": {
-                "author": "Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>",
-                "classification": "Codec/Decoder/Video",
-                "description": "A VA-API based VP9 video decoder",
-                "hierarchy": [
-                    "GstVaapiDecode_vp9",
-                    "GstVideoDecoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Decoder/Video",
-                "long-name": "VA-API VP9 decoder",
-                "name": "vaapivp9dec",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-vp9:\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(meta:GstVideoGLTextureUploadMeta):\n         format: { RGBA, BGRA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\nvideo/x-raw:\n         format: { NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n\nvideo/x-raw(memory:DMABuf):\n         format: { I420, YV12, RGBA }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n",
-                        "direction": "src",
-                        "presence": "always"
+            "GstVaapiEncoderMbbrc": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Auto",
+                        "name": "auto",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "On",
+                        "name": "on",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Off",
+                        "name": "off",
+                        "value": "2"
                     }
-                },
-                "properties": {
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "vaapidecode_vp9-0",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
-                        "writable": true
+                ]
+            },
+            "GstVaapiEncoderTuneH264": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "None",
+                        "name": "none",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "High compression",
+                        "name": "high-compression",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Low power mode",
+                        "name": "low-power",
+                        "value": "3"
                     }
-                },
-                "rank": "primary"
+                ]
             },
-            "vaapivp9enc": {
-                "author": "Sreerenj Balachandran <sreerenj.balachandran@intel.com>",
-                "classification": "Codec/Encoder/Video",
-                "description": "A VA-API based VP9 video encoder",
-                "hierarchy": [
-                    "GstVaapiEncodeVP9",
-                    "GstVaapiEncode",
-                    "GstVideoEncoder",
-                    "GstElement",
-                    "GstObject",
-                    "GInitiallyUnowned",
-                    "GObject"
-                ],
-                "klass": "Codec/Encoder/Video",
-                "long-name": "VA-API VP9 encoder",
-                "name": "vaapivp9enc",
-                "pad-templates": {
-                    "sink": {
-                        "caps": "video/x-raw(memory:VASurface):\n         format: { ENCODED, NV12, I420, YV12, P010_10LE }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\nvideo/x-raw:\n         format: { I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }\n          width: [ 1, 2147483647 ]\n         height: [ 1, 2147483647 ]\n      framerate: [ 0/1, 2147483647/1 ]\n interlace-mode: progressive\n",
-                        "direction": "sink",
-                        "presence": "always"
-                    },
-                    "src": {
-                        "caps": "video/x-vp9:\n",
-                        "direction": "src",
-                        "presence": "always"
+            "GstVaapiEncoderTuneH265": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "None",
+                        "name": "none",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Low power mode",
+                        "name": "low-power",
+                        "value": "3"
                     }
-                },
-                "properties": {
-                    "bitrate": {
-                        "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "102400",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "cpb-length": {
-                        "blurb": "Length of the CPB_buffer/window_size in milliseconds",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "1500",
-                        "max": "10000",
-                        "min": "1",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "default-roi-delta-qp": {
-                        "blurb": "The default delta-qp to apply to each Region of Interest(lower value means higher-quality, higher value means lower-quality)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "-10",
-                        "max": "10",
-                        "min": "-10",
-                        "type-name": "gint",
-                        "writable": true
-                    },
-                    "keyframe-period": {
-                        "blurb": "Maximal distance between two keyframes (0: auto-calculate)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "30",
-                        "max": "-1",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "loop-filter-level": {
-                        "blurb": "Controls the deblocking filter strength",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "10",
-                        "max": "63",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "name": {
-                        "blurb": "The name of the object",
-                        "construct": true,
-                        "construct-only": false,
-                        "default": "vaapiencodevp9-0",
-                        "hotdoc-fixed-default": true,
-                        "type-name": "gchararray",
-                        "writable": true
-                    },
-                    "parent": {
-                        "blurb": "The parent of the object",
-                        "construct": false,
-                        "construct-only": false,
-                        "type-name": "GstObject",
-                        "writable": true
-                    },
-                    "qos": {
-                        "blurb": "Handle Quality-of-Service events from downstream",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "false",
-                        "type-name": "gboolean",
-                        "writable": true
-                    },
-                    "quality-level": {
-                        "blurb": "Encoding Quality Level (lower value means higher-quality/slow-encode,  higher value means lower-quality/fast-encode)",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "4",
-                        "max": "7",
-                        "min": "1",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "rate-control": {
-                        "blurb": "Rate control mode",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "cqp (1)",
-                        "enum": true,
-                        "type-name": "GstVaapiRateControlVP9",
-                        "values": [
-                            {
-                                "desc": "Constant QP",
-                                "name": "cqp",
-                                "value": "1"
-                            },
-                            {
-                                "desc": "Constant bitrate",
-                                "name": "cbr",
-                                "value": "2"
-                            },
-                            {
-                                "desc": "Variable bitrate",
-                                "name": "vbr",
-                                "value": "4"
-                            }
-                        ],
-                        "writable": true
-                    },
-                    "ref-pic-mode": {
-                        "blurb": "Reference Picture Selection Modes",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "mode-0 (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderVP9RefPicMode",
-                        "values": [
-                            {
-                                "desc": "Use Keyframe(Alt & Gold) and Previousframe(Last) for prediction ",
-                                "name": "mode-0",
-                                "value": "0"
-                            },
-                            {
-                                "desc": "Use last three frames for prediction (n:Last n-1:Gold n-2:Alt)",
-                                "name": "mode-1",
-                                "value": "1"
-                            }
-                        ],
-                        "writable": true
-                    },
-                    "sharpness-level": {
-                        "blurb": "Controls the deblocking filter sensitivity",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "0",
-                        "max": "7",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
-                    },
-                    "tune": {
-                        "blurb": "Encoder tuning option",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "none (0)",
-                        "enum": true,
-                        "type-name": "GstVaapiEncoderTuneVP9",
-                        "values": [
-                            {
-                                "desc": "None",
-                                "name": "none",
-                                "value": "0"
-                            }
-                        ],
-                        "writable": true
-                    },
-                    "yac-qi": {
-                        "blurb": "Quantization Table index for Luma AC Coefficients",
-                        "construct": false,
-                        "construct-only": false,
-                        "default": "60",
-                        "max": "255",
-                        "min": "0",
-                        "type-name": "guint",
-                        "writable": true
+                ]
+            },
+            "GstVaapiHDRToneMap": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Auto detection",
+                        "name": "auto",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Disable HDR tone mapping",
+                        "name": "disabled",
+                        "value": "1"
                     }
-                },
-                "rank": "primary"
+                ]
+            },
+            "GstVaapiRateControlH264": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Constant QP",
+                        "name": "cqp",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Constant bitrate",
+                        "name": "cbr",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Variable bitrate",
+                        "name": "vbr",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "Variable bitrate - Constrained",
+                        "name": "vbr_constrained",
+                        "value": "5"
+                    },
+                    {
+                        "desc": "Constant QP - Intelligent",
+                        "name": "icq",
+                        "value": "7"
+                    },
+                    {
+                        "desc": "Variable bitrate - Quality defined",
+                        "name": "qvbr",
+                        "value": "8"
+                    }
+                ]
+            },
+            "GstVaapiRateControlH265": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Constant QP",
+                        "name": "cqp",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "Constant bitrate",
+                        "name": "cbr",
+                        "value": "2"
+                    },
+                    {
+                        "desc": "Variable bitrate",
+                        "name": "vbr",
+                        "value": "4"
+                    },
+                    {
+                        "desc": "Constant QP - Intelligent",
+                        "name": "icq",
+                        "value": "7"
+                    },
+                    {
+                        "desc": "Variable bitrate - Quality defined",
+                        "name": "qvbr",
+                        "value": "8"
+                    }
+                ]
+            },
+            "GstVaapiRotation": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Unrotated mode",
+                        "name": "0",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Rotated by 90°, clockwise",
+                        "name": "90",
+                        "value": "90"
+                    },
+                    {
+                        "desc": "Rotated by 180°, clockwise",
+                        "name": "180",
+                        "value": "180"
+                    },
+                    {
+                        "desc": "Rotated by 270°, clockwise",
+                        "name": "270",
+                        "value": "270"
+                    },
+                    {
+                        "desc": "Rotated by image-orientating tag°",
+                        "name": "Automatic",
+                        "value": "360"
+                    }
+                ]
+            },
+            "GstVaapiScaleMethod": {
+                "kind": "enum",
+                "values": [
+                    {
+                        "desc": "Default scaling mode",
+                        "name": "default",
+                        "value": "0"
+                    },
+                    {
+                        "desc": "Fast scaling mode",
+                        "name": "fast",
+                        "value": "1"
+                    },
+                    {
+                        "desc": "High quality scaling mode",
+                        "name": "hq",
+                        "value": "2"
+                    }
+                ]
             }
         },
-        "filename": "gstvaapi",
-        "license": "LGPL",
         "package": "gstreamer-vaapi",
         "source": "gstreamer-vaapi",
-        "url": "http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer"
+        "tracers": {},
+        "url": "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues"
     }
 }
\ No newline at end of file
index ee82b1f..9c2b5e1 100644 (file)
@@ -11,5 +11,5 @@ option('tests', type : 'feature', value : 'auto', yield : true)
 option('doc', type : 'feature', value : 'auto', yield: true,
        description: 'Enable documentation.')
 option('package-origin', type : 'string',
-       value : '"https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues"',
+       value : 'https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues',
        yield : true, description : 'package origin URL to use in plugins')