mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-05-18 00:12:46 +00:00
Merge branch 'alatiera/svthevcenc-docs' into 'main'
Draft: svthevcenc: Add missing Since marker for the element and mark enums as API See merge request gstreamer/gstreamer!5447
This commit is contained in:
commit
7a990192cc
|
@ -240238,6 +240238,449 @@
|
|||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"svthevcenc": {
|
||||
"description": "svt-hevc encoder based H265 plugins",
|
||||
"elements": {
|
||||
"svthevcenc": {
|
||||
"author": "Yeongjin Jeong <yeongjin.jeong@navercorp.com>",
|
||||
"description": "Scalable Video Technology for HEVC Encoder (SVT-HEVC Encoder)",
|
||||
"hierarchy": [
|
||||
"GstSvtHevcEnc",
|
||||
"GstVideoEncoder",
|
||||
"GstElement",
|
||||
"GstObject",
|
||||
"GInitiallyUnowned",
|
||||
"GObject"
|
||||
],
|
||||
"interfaces": [
|
||||
"GstPreset"
|
||||
],
|
||||
"klass": "Codec/Encoder/Video",
|
||||
"pad-templates": {
|
||||
"sink": {
|
||||
"caps": "video/x-raw:\n format: { I420, Y42B, Y444, I420_10LE, I422_10LE, Y444_10LE }\n framerate: [ 0/1, 2147483647/1 ]\n width: [ 64, 8192 ]\n height: [ 64, 4320 ]\n",
|
||||
"direction": "sink",
|
||||
"presence": "always"
|
||||
},
|
||||
"src": {
|
||||
"caps": "video/x-h265:\n framerate: [ 0/1, 2147483647/1 ]\n width: [ 64, 8192 ]\n height: [ 64, 4320 ]\n stream-format: byte-stream\n alignment: au\n profile: { (string)main, (string)main-10, (string)main-422-10, (string)main-444, (string)main-444-10 }\n",
|
||||
"direction": "src",
|
||||
"presence": "always"
|
||||
}
|
||||
},
|
||||
"properties": {
|
||||
"aud": {
|
||||
"blurb": "Use AU (Access Unit) delimiter",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"b-pyramid": {
|
||||
"blurb": "Number of hierarchical layers used to construct GOP",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "4-level-hierarchy (3)",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstSvtHevcEncBPyramid",
|
||||
"writable": true
|
||||
},
|
||||
"baselayer-mode": {
|
||||
"blurb": "Random Access Prediction Structure type setting",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "B-frame (0)",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstSvtHevcEncBaseLayerMode",
|
||||
"writable": true
|
||||
},
|
||||
"bitrate": {
|
||||
"blurb": "Bitrate in kbit/sec",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "7000",
|
||||
"max": "2147483647",
|
||||
"min": "1",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"config-interval": {
|
||||
"blurb": "Send VPS, SPS and PPS Insertion Interval per every few IDR. 0: disabled",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "-1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"cores": {
|
||||
"blurb": "Number of logical cores to be used. 0: auto",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "-1",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"enable-open-gop": {
|
||||
"blurb": "Allow intra-refresh using the CRA, not IDR",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "true",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"enable-scd": {
|
||||
"blurb": "Use the scene change detection algorithm",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "true",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"insert-vui": {
|
||||
"blurb": "Insert VUI NAL in stream",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "false",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gboolean",
|
||||
"writable": true
|
||||
},
|
||||
"key-int-max": {
|
||||
"blurb": "Distance Between Intra Frame inserted: -1=no intra update. -2=auto",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "-2",
|
||||
"max": "255",
|
||||
"min": "-2",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": true
|
||||
},
|
||||
"lookahead": {
|
||||
"blurb": "Look ahead distance",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "40",
|
||||
"max": "250",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"pred-struct": {
|
||||
"blurb": "Prediction Structure used to construct GOP",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "random-access (2)",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstSvtHevcEncPredStruct",
|
||||
"writable": true
|
||||
},
|
||||
"qp-i": {
|
||||
"blurb": "QP value for intra frames in CQP mode",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "25",
|
||||
"max": "51",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"qp-max": {
|
||||
"blurb": "Maximum QP value allowed for rate control use",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "48",
|
||||
"max": "51",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"qp-min": {
|
||||
"blurb": "Minimum QP value allowed for rate control use",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "10",
|
||||
"max": "50",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"rc": {
|
||||
"blurb": "Bitrate control mode",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "cqp (0)",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstSvtHevcEncRC",
|
||||
"writable": true
|
||||
},
|
||||
"socket": {
|
||||
"blurb": "Target socket to run on. -1: all available",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "-1",
|
||||
"max": "1",
|
||||
"min": "-1",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "gint",
|
||||
"writable": true
|
||||
},
|
||||
"speed": {
|
||||
"blurb": "Encoding preset [0, 11] (e.g. 0 is the highest quality mode, 11 is the highest), [0, 11] (for >= 4k resolution), [0, 10] (for >= 1080p resolution), [0, 9] (for all resolution)",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "7",
|
||||
"max": "11",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"tile-col": {
|
||||
"blurb": "Tile count in the Column",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "1",
|
||||
"max": "16",
|
||||
"min": "1",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"tile-row": {
|
||||
"blurb": "Tile count in the Row",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "1",
|
||||
"max": "16",
|
||||
"min": "1",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"tune": {
|
||||
"blurb": "Quality tuning mode",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "oq (1)",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "GstSvtHevcEncTune",
|
||||
"writable": true
|
||||
},
|
||||
"vbv-buffer-size": {
|
||||
"blurb": "VBV buffer size in kbits for VBR mode",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "2147483647",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
},
|
||||
"vbv-max-rate": {
|
||||
"blurb": "VBV maxrate in kbit/sec for VBR mode",
|
||||
"conditionally-available": false,
|
||||
"construct": false,
|
||||
"construct-only": false,
|
||||
"controllable": false,
|
||||
"default": "0",
|
||||
"max": "2147483647",
|
||||
"min": "0",
|
||||
"mutable": "null",
|
||||
"readable": true,
|
||||
"type": "guint",
|
||||
"writable": true
|
||||
}
|
||||
},
|
||||
"rank": "primary"
|
||||
}
|
||||
},
|
||||
"filename": "gstsvthevcenc",
|
||||
"license": "GPL",
|
||||
"other-types": {
|
||||
"GstSvtHevcEncBPyramid": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "Flat",
|
||||
"name": "flat",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"desc": "2-Level Hierarchy",
|
||||
"name": "2-level-hierarchy",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"desc": "3-Level Hierarchy",
|
||||
"name": "3-level-hierarchy",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"desc": "4-Level Hierarchy",
|
||||
"name": "4-level-hierarchy",
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
"GstSvtHevcEncBaseLayerMode": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "Use B-frames in the base layer pointing to the same past picture",
|
||||
"name": "B-frame",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"desc": "Use P-frames in the base layer",
|
||||
"name": "P-frame",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"GstSvtHevcEncPredStruct": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "Low Delay Prediction Structure with P/p pictures",
|
||||
"name": "low-delay-P",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"desc": "Low Delay Prediction Structure with B/b pictures",
|
||||
"name": "low-delay-B",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"desc": "Random Access Prediction Structure",
|
||||
"name": "random-access",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
"GstSvtHevcEncRC": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "Constant QP Control",
|
||||
"name": "cqp",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"desc": "Variable Bitrate Contorol",
|
||||
"name": "vbr",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"GstSvtHevcEncTune": {
|
||||
"kind": "enum",
|
||||
"values": [
|
||||
{
|
||||
"desc": "Visually Optimized Mode",
|
||||
"name": "sq",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"desc": "PSNR/SSIM Optimized Mode",
|
||||
"name": "oq",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"desc": "VMAF Optimized Mode",
|
||||
"name": "vmaf",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"package": "GStreamer Bad Plug-ins",
|
||||
"source": "gst-plugins-bad",
|
||||
"tracers": {},
|
||||
"url": "Unknown package origin"
|
||||
},
|
||||
"switchbin": {
|
||||
"description": "switchbin",
|
||||
"elements": {
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
*
|
||||
* This element encodes raw video into H265 compressed data.
|
||||
*
|
||||
* Since: 1.18
|
||||
**/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
|
@ -621,6 +622,12 @@ gst_svthevc_enc_class_init (GstSvtHevcEncClass * klass)
|
|||
|
||||
gst_element_class_add_static_pad_template (element_class, &sink_factory);
|
||||
gst_element_class_add_static_pad_template (element_class, &src_factory);
|
||||
|
||||
gst_type_mark_as_plugin_api (GST_SVTHEVC_ENC_B_PYRAMID_TYPE, 0);
|
||||
gst_type_mark_as_plugin_api (GST_SVTHEVC_ENC_BASE_LAYER_MODE_TYPE, 0);
|
||||
gst_type_mark_as_plugin_api (GST_SVTHEVC_ENC_PRED_STRUCT_TYPE, 0);
|
||||
gst_type_mark_as_plugin_api (GST_SVTHEVC_ENC_RC_TYPE, 0);
|
||||
gst_type_mark_as_plugin_api (GST_SVTHEVC_ENC_TUNE_TYPE, 0);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -42,6 +42,18 @@ typedef enum svt_eos_status
|
|||
EOS_TOTRIGGER
|
||||
} SVT_EOS_STATUS;
|
||||
|
||||
/**
|
||||
* GstSvtHevcEncBPyramid:
|
||||
*
|
||||
* @GST_SVTHEVC_ENC_B_PYRAMID_FLAT: foo
|
||||
* @GST_SVTHEVC_ENC_B_PYRAMID_2LEVEL_HIERARCHY: foo
|
||||
* @GST_SVTHEVC_ENC_B_PYRAMID_3LEVEL_HIERARCHY: foo
|
||||
* @GST_SVTHEVC_ENC_B_PYRAMID_4LEVEL_HIERARCHY: foo
|
||||
*
|
||||
* Something Something .
|
||||
*
|
||||
* Since: 1.18
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GST_SVTHEVC_ENC_B_PYRAMID_FLAT,
|
||||
|
@ -50,18 +62,43 @@ typedef enum
|
|||
GST_SVTHEVC_ENC_B_PYRAMID_4LEVEL_HIERARCHY,
|
||||
} GstSvtHevcEncBPyramid;
|
||||
|
||||
/**
|
||||
* GstSvtHevcEncBaseLayerMode:
|
||||
*
|
||||
* @GST_SVTHEVC_ENC_BASE_LAYER_MODE_BFRAME: foo
|
||||
* @GST_SVTHEVC_ENC_BASE_LAYER_MODE_PFRAME: foo
|
||||
*
|
||||
* Since: 1.18
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GST_SVTHEVC_ENC_BASE_LAYER_MODE_BFRAME,
|
||||
GST_SVTHEVC_ENC_BASE_LAYER_MODE_PFRAME,
|
||||
} GstSvtHevcEncBaseLayerMode;
|
||||
|
||||
/**
|
||||
* GstSvtHevcEncRC:
|
||||
*
|
||||
* @GST_SVTHEVC_ENC_RC_CQP: foo
|
||||
* @GST_SVTHEVC_ENC_RC_VBR: foo
|
||||
*
|
||||
* Since: 1.18
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GST_SVTHEVC_ENC_RC_CQP,
|
||||
GST_SVTHEVC_ENC_RC_VBR,
|
||||
} GstSvtHevcEncRC;
|
||||
|
||||
/**
|
||||
* GstSvtHevcEncTune:
|
||||
*
|
||||
* @GST_SVTHEVC_ENC_TUNE_SQ: foo
|
||||
* @GST_SVTHEVC_ENC_TUNE_OQ: foo
|
||||
* @GST_SVTHEVC_ENC_TUNE_VMAF: foo
|
||||
*
|
||||
* Since: 1.18
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GST_SVTHEVC_ENC_TUNE_SQ,
|
||||
|
@ -69,6 +106,15 @@ typedef enum
|
|||
GST_SVTHEVC_ENC_TUNE_VMAF,
|
||||
} GstSvtHevcEncTune;
|
||||
|
||||
/**
|
||||
* GstSvtHevcEncPredStruct:
|
||||
*
|
||||
* @GST_SVTHEVC_ENC_PRED_STRUCT_LOW_DELAY_P: fooo
|
||||
* @GST_SVTHEVC_ENC_PRED_STRUCT_LOW_DELAY_B: foo
|
||||
* @GST_SVTHEVC_ENC_PRED_STRUCT_RANDOM_ACCESS: foo
|
||||
*
|
||||
* Since: 1.18
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
GST_SVTHEVC_ENC_PRED_STRUCT_LOW_DELAY_P,
|
||||
|
|
Loading…
Reference in a new issue