diff --git a/docs/gst_plugins_cache.json b/docs/gst_plugins_cache.json index 2ffd1d231f..8dc00b2a81 100644 --- a/docs/gst_plugins_cache.json +++ b/docs/gst_plugins_cache.json @@ -591,210 +591,298 @@ "properties": { "bitrate": { "blurb": "The desired bitrate expressed in kbps (0: auto-calculate)", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "0", "max": "2048000", "min": "0", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "cpb-length": { "blurb": "Length of the CPB buffer in milliseconds", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "1500", "max": "10000", "min": "1", + "mutable": "null", "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)", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "-10", "max": "10", "min": "-10", + "mutable": "null", "readable": true, "type": "gint", "writable": true }, "init-qp": { "blurb": "Initial quantizer value", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "26", "max": "51", "min": "0", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "keyframe-period": { "blurb": "Maximal distance between two keyframes (0: auto-calculate)", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "30", "max": "-1", "min": "0", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "low-delay-b": { "blurb": "Transforms P frames into predictive B frames. Enable it when P frames are not supported.", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "false", + "mutable": "null", "readable": true, "type": "gboolean", "writable": true }, "max-bframes": { "blurb": "Number of B-frames between I and P", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "0", "max": "10", "min": "0", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "max-qp": { "blurb": "Maximum quantizer value", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "51", "max": "51", "min": "0", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "mbbrc": { "blurb": "Macroblock level Bitrate Control", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "auto (0)", + "mutable": "null", "readable": true, "type": "GstVaapiEncoderMbbrc", "writable": true }, "min-qp": { "blurb": "Minimum quantizer value", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "1", "max": "51", "min": "0", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "num-slices": { "blurb": "Number of slices per frame", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "1", "max": "200", "min": "1", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "num-tile-cols": { + "blurb": "the number of columns for tile encoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "20", + "min": "1", + "mutable": "null", + "readable": true, + "type": "guint", + "writable": true + }, + "num-tile-rows": { + "blurb": "the number of rows for tile encoding", + "conditionally-available": false, + "construct": false, + "construct-only": false, + "controllable": false, + "default": "1", + "max": "22", + "min": "1", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "qp-ib": { "blurb": "Difference of QP between I and B frame (available only on CQP)", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "0", "max": "51", "min": "-51", + "mutable": "null", "readable": true, "type": "gint", "writable": true }, "qp-ip": { "blurb": "Difference of QP between I and P frame (available only on CQP)", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "0", "max": "51", "min": "-51", + "mutable": "null", "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)", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "26", "max": "51", "min": "1", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "quality-level": { "blurb": "Encoding Quality Level (lower value means higher-quality/slow-encode, higher value means lower-quality/fast-encode)", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "4", "max": "7", "min": "1", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "rate-control": { "blurb": "Rate control mode", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "cqp (1)", + "mutable": "null", "readable": true, "type": "GstVaapiRateControlH265", "writable": true }, "refs": { "blurb": "Number of reference frames", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "1", "max": "3", "min": "1", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "target-percentage": { "blurb": "The desired target percentage of bitrate for variable rate controls.", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "70", "max": "100", "min": "1", + "mutable": "null", "readable": true, "type": "guint", "writable": true }, "trellis": { "blurb": "The Trellis Quantization Method of Encoder", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "false", + "mutable": "null", "readable": true, "type": "gboolean", "writable": true }, "tune": { "blurb": "Encoder tuning option", + "conditionally-available": false, "construct": false, "construct-only": false, + "controllable": false, "default": "none (0)", + "mutable": "null", "readable": true, "type": "GstVaapiEncoderTuneH265", "writable": true @@ -1662,6 +1750,20 @@ } ] }, + "GstVaapiEncode": { + "hierarchy": [ + "GstVaapiEncode", + "GstVideoEncoder", + "GstElement", + "GstObject", + "GInitiallyUnowned", + "GObject" + ], + "interfaces": [ + "GstPreset" + ], + "kind": "object" + }, "GstVaapiEncoderH264ComplianceMode": { "kind": "enum", "values": [ diff --git a/gst/vaapi/gstvaapiencode.c b/gst/vaapi/gstvaapiencode.c index 7671170d42..eacf13c3d9 100644 --- a/gst/vaapi/gstvaapiencode.c +++ b/gst/vaapi/gstvaapiencode.c @@ -882,6 +882,8 @@ gst_vaapiencode_class_init (GstVaapiEncodeClass * klass) venc_class->src_query = GST_DEBUG_FUNCPTR (gst_vaapiencode_src_query); venc_class->sink_query = GST_DEBUG_FUNCPTR (gst_vaapiencode_sink_query); + + gst_type_mark_as_plugin_api (GST_TYPE_VAAPIENCODE, 0); } /* Only used by the drived class */