libs: encoder: add flags to all encoder properties.

G_PARAM_CONSTRUCT make all properties init correctly, we do not
need to init the properties manually.
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE is a vaapi encoder specific
flag, means need to expose the property to according encode class.
This commit is contained in:
He Junyan 2019-08-30 18:39:32 +08:00
parent 46c8b425dd
commit bc2f8fd19e
10 changed files with 272 additions and 118 deletions

View file

@ -1803,7 +1803,9 @@ gst_vaapi_encoder_class_init (GstVaapiEncoderClass * klass)
g_param_spec_uint ("bitrate", g_param_spec_uint ("bitrate",
"Bitrate (kbps)", "Bitrate (kbps)",
"The desired bitrate expressed in kbps (0: auto-calculate)", "The desired bitrate expressed in kbps (0: auto-calculate)",
0, 2000 * 1024, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 0, 2000 * 1024, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoder:target-percentage: * GstVaapiEncoder:target-percentage:
@ -1814,7 +1816,9 @@ gst_vaapi_encoder_class_init (GstVaapiEncoderClass * klass)
g_param_spec_uint ("target-percentage", g_param_spec_uint ("target-percentage",
"Target Percentage", "Target Percentage",
"The desired target percentage of bitrate for variable rate " "The desired target percentage of bitrate for variable rate "
"controls.", 1, 100, 70, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); "controls.", 1, 100, 70,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoder:keyframe-period: * GstVaapiEncoder:keyframe-period:
@ -1825,7 +1829,9 @@ gst_vaapi_encoder_class_init (GstVaapiEncoderClass * klass)
g_param_spec_uint ("keyframe-period", g_param_spec_uint ("keyframe-period",
"Keyframe Period", "Keyframe Period",
"Maximal distance between two keyframes (0: auto-calculate)", 0, "Maximal distance between two keyframes (0: auto-calculate)", 0,
G_MAXUINT32, 30, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_MAXUINT32, 30,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoder:quality-level: * GstVaapiEncoder:quality-level:
@ -1837,7 +1843,8 @@ gst_vaapi_encoder_class_init (GstVaapiEncoderClass * klass)
"Quality Level", "Encoding Quality Level " "Quality Level", "Encoding Quality Level "
"(lower value means higher-quality/slow-encode, " "(lower value means higher-quality/slow-encode, "
" higher value means lower-quality/fast-encode)", " higher value means lower-quality/fast-encode)",
1, 7, 4, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 7, 4, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVapiEncoder:roi-default-delta-qp * GstVapiEncoder:roi-default-delta-qp
@ -1849,7 +1856,9 @@ gst_vaapi_encoder_class_init (GstVaapiEncoderClass * klass)
"The default delta-qp to apply to each Region of Interest" "The default delta-qp to apply to each Region of Interest"
"(lower value means higher-quality, " "(lower value means higher-quality, "
"higher value means lower-quality)", "higher value means lower-quality)",
-10, 10, -10, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); -10, 10, -10,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoder: trellis: * GstVaapiEncoder: trellis:
@ -1862,7 +1871,8 @@ gst_vaapi_encoder_class_init (GstVaapiEncoderClass * klass)
g_param_spec_boolean ("trellis", g_param_spec_boolean ("trellis",
"Trellis Quantization", "Trellis Quantization",
"The Trellis Quantization Method of Encoder", "The Trellis Quantization Method of Encoder",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, ENCODER_N_PROPERTIES, g_object_class_install_properties (object_class, ENCODER_N_PROPERTIES,
properties); properties);

View file

@ -41,6 +41,11 @@ typedef struct _GstVaapiEncoder GstVaapiEncoder;
GType GType
gst_vaapi_encoder_get_type (void) G_GNUC_CONST; gst_vaapi_encoder_get_type (void) G_GNUC_CONST;
/* This user defined flag is added when the internal encoder
class wants to expose its property gparam spec to the according
encode class. */
#define G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE (1 << 29)
/** /**
* GstVaapiEncoderStatus: * GstVaapiEncoderStatus:
* @GST_VAAPI_ENCODER_STATUS_SUCCESS: Success. * @GST_VAAPI_ENCODER_STATUS_SUCCESS: Success.

View file

@ -3836,7 +3836,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
"Rate Control", "Rate control mode", "Rate Control", "Rate control mode",
g_class_data.rate_control_get_type (), g_class_data.rate_control_get_type (),
g_class_data.default_rate_control, g_class_data.default_rate_control,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:tune: * GstVaapiEncoderH264:tune:
@ -3849,7 +3850,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
"Encoder tuning option", "Encoder tuning option",
g_class_data.encoder_tune_get_type (), g_class_data.encoder_tune_get_type (),
g_class_data.default_encoder_tune, g_class_data.default_encoder_tune,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:max-bframes: * GstVaapiEncoderH264:max-bframes:
@ -3859,7 +3861,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
properties[ENCODER_H264_PROP_MAX_BFRAMES] = properties[ENCODER_H264_PROP_MAX_BFRAMES] =
g_param_spec_uint ("max-bframes", g_param_spec_uint ("max-bframes",
"Max B-Frames", "Number of B-frames between I and P", 0, 10, 0, "Max B-Frames", "Number of B-frames between I and P", 0, 10, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:refs: * GstVaapiEncoderH264:refs:
@ -3870,7 +3873,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
properties[ENCODER_H264_PROP_NUM_REF_FRAMES] = properties[ENCODER_H264_PROP_NUM_REF_FRAMES] =
g_param_spec_uint ("refs", "Number of Reference Frames", g_param_spec_uint ("refs", "Number of Reference Frames",
"Number of reference frames", 1, 8, 1, "Number of reference frames", 1, 8, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:init-qp: * GstVaapiEncoderH264:init-qp:
@ -3880,7 +3884,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
properties[ENCODER_H264_PROP_INIT_QP] = properties[ENCODER_H264_PROP_INIT_QP] =
g_param_spec_uint ("init-qp", g_param_spec_uint ("init-qp",
"Initial QP", "Initial quantizer value", 0, 51, 26, "Initial QP", "Initial quantizer value", 0, 51, 26,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:min-qp: * GstVaapiEncoderH264:min-qp:
@ -3890,7 +3895,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
properties[ENCODER_H264_PROP_MIN_QP] = properties[ENCODER_H264_PROP_MIN_QP] =
g_param_spec_uint ("min-qp", g_param_spec_uint ("min-qp",
"Minimum QP", "Minimum quantizer value", 0, 51, 1, "Minimum QP", "Minimum quantizer value", 0, 51, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:max-qp: * GstVaapiEncoderH264:max-qp:
@ -3902,7 +3908,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
properties[ENCODER_H264_PROP_MAX_QP] = properties[ENCODER_H264_PROP_MAX_QP] =
g_param_spec_uint ("max-qp", g_param_spec_uint ("max-qp",
"Maximum QP", "Maximum quantizer value", 0, 51, 51, "Maximum QP", "Maximum quantizer value", 0, 51, 51,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:qp-ip: * GstVaapiEncoderH264:qp-ip:
@ -3914,7 +3921,9 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
g_param_spec_int ("qp-ip", g_param_spec_int ("qp-ip",
"Difference of QP between I and P frame", "Difference of QP between I and P frame",
"Difference of QP between I and P frame (available only on CQP)", "Difference of QP between I and P frame (available only on CQP)",
-51, 51, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); -51, 51, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:qp-ib: * GstVaapiEncoderH264:qp-ib:
@ -3926,7 +3935,9 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
g_param_spec_int ("qp-ib", g_param_spec_int ("qp-ib",
"Difference of QP between I and B frame", "Difference of QP between I and B frame",
"Difference of QP between I and B frame (available only on CQP)", "Difference of QP between I and B frame (available only on CQP)",
-51, 51, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); -51, 51, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:num-slices: * GstVaapiEncoderH264:num-slices:
@ -3937,7 +3948,9 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
g_param_spec_uint ("num-slices", g_param_spec_uint ("num-slices",
"Number of Slices", "Number of Slices",
"Number of slices per frame", "Number of slices per frame",
1, 200, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 200, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:cabac: * GstVaapiEncoderH264:cabac:
@ -3950,7 +3963,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
g_param_spec_boolean ("cabac", g_param_spec_boolean ("cabac",
"Enable CABAC", "Enable CABAC",
"Enable CABAC entropy coding mode", "Enable CABAC entropy coding mode",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:dct8x8: * GstVaapiEncoderH264:dct8x8:
@ -3963,7 +3977,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
g_param_spec_boolean ("dct8x8", g_param_spec_boolean ("dct8x8",
"Enable 8x8 DCT", "Enable 8x8 DCT",
"Enable adaptive use of 8x8 transforms in I-frames", "Enable adaptive use of 8x8 transforms in I-frames",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:mbbrc: * GstVaapiEncoderH264:mbbrc:
@ -3976,7 +3991,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
"Macroblock level Bitrate Control", "Macroblock level Bitrate Control",
"Macroblock level Bitrate Control", "Macroblock level Bitrate Control",
GST_VAAPI_TYPE_ENCODER_MBBRC, GST_VAAPI_ENCODER_MBBRC_AUTO, GST_VAAPI_TYPE_ENCODER_MBBRC, GST_VAAPI_ENCODER_MBBRC_AUTO,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:temporal-levels: * GstVaapiEncoderH264:temporal-levels:
@ -3988,7 +4004,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
"temporal levels", "temporal levels",
"Number of temporal levels in the encoded stream ", "Number of temporal levels in the encoded stream ",
MIN_TEMPORAL_LEVELS, MAX_TEMPORAL_LEVELS, MIN_TEMPORAL_LEVELS, MIN_TEMPORAL_LEVELS, MAX_TEMPORAL_LEVELS, MIN_TEMPORAL_LEVELS,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:prediction-type: * GstVaapiEncoderH264:prediction-type:
@ -4001,7 +4018,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
"Reference Picture Selection Modes", "Reference Picture Selection Modes",
gst_vaapi_encoder_h264_prediction_type (), gst_vaapi_encoder_h264_prediction_type (),
GST_VAAPI_ENCODER_H264_PREDICTION_DEFAULT, GST_VAAPI_ENCODER_H264_PREDICTION_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:cpb-length: * GstVaapiEncoderH264:cpb-length:
@ -4011,7 +4029,9 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
properties[ENCODER_H264_PROP_CPB_LENGTH] = properties[ENCODER_H264_PROP_CPB_LENGTH] =
g_param_spec_uint ("cpb-length", g_param_spec_uint ("cpb-length",
"CPB Length", "Length of the CPB buffer in milliseconds", "CPB Length", "Length of the CPB buffer in milliseconds",
1, 10000, DEFAULT_CPB_LENGTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 10000, DEFAULT_CPB_LENGTH,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:num-views: * GstVaapiEncoderH264:num-views:
@ -4022,7 +4042,9 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
g_param_spec_uint ("num-views", g_param_spec_uint ("num-views",
"Number of Views", "Number of Views",
"Number of Views for MVC encoding", "Number of Views for MVC encoding",
1, MAX_NUM_VIEWS, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, MAX_NUM_VIEWS, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:view-ids: * GstVaapiEncoderH264:view-ids:
@ -4035,7 +4057,8 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
g_param_spec_uint ("view-id-value", "View id value", g_param_spec_uint ("view-id-value", "View id value",
"view id values used for mvc encoding", 0, MAX_VIEW_ID, 0, "view id values used for mvc encoding", 0, MAX_VIEW_ID, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS), G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS),
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:aud: * GstVaapiEncoderH264:aud:
@ -4057,9 +4080,12 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
properties[ENCODER_H264_PROP_COMPLIANCE_MODE] = properties[ENCODER_H264_PROP_COMPLIANCE_MODE] =
g_param_spec_enum ("compliance-mode", g_param_spec_enum ("compliance-mode",
"Spec Compliance Mode", "Spec Compliance Mode",
"Tune Encode quality/performance by relaxing specification compliance restrictions", "Tune Encode quality/performance by relaxing specification"
" compliance restrictions",
gst_vaapi_encoder_h264_compliance_mode_type (), gst_vaapi_encoder_h264_compliance_mode_type (),
GST_VAAPI_ENCODER_H264_COMPLIANCE_MODE_STRICT, G_PARAM_READWRITE); GST_VAAPI_ENCODER_H264_COMPLIANCE_MODE_STRICT,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:quality_factor: * GstVaapiEncoderH264:quality_factor:
@ -4071,7 +4097,9 @@ gst_vaapi_encoder_h264_class_init (GstVaapiEncoderH264Class * klass)
"Quality factor for ICQ/QVBR", "Quality factor for ICQ/QVBR",
"quality factor for ICQ/QVBR bitrate control mode" "quality factor for ICQ/QVBR bitrate control mode"
"(low value means higher-quality, higher value means lower-quality)", "(low value means higher-quality, higher value means lower-quality)",
1, 51, 26, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 51, 26,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, ENCODER_H264_N_PROPERTIES, g_object_class_install_properties (object_class, ENCODER_H264_N_PROPERTIES,
properties); properties);

View file

@ -4342,7 +4342,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_enum ("rate-control", "Rate Control", "Rate control mode", g_param_spec_enum ("rate-control", "Rate Control", "Rate control mode",
fei_encoder_class_data.rate_control_get_type (), fei_encoder_class_data.rate_control_get_type (),
fei_encoder_class_data.default_rate_control, fei_encoder_class_data.default_rate_control,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:tune: * GstVaapiEncoderH264Fei:tune:
@ -4355,7 +4356,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"Encoder tuning option", "Encoder tuning option",
fei_encoder_class_data.encoder_tune_get_type (), fei_encoder_class_data.encoder_tune_get_type (),
fei_encoder_class_data.default_encoder_tune, fei_encoder_class_data.default_encoder_tune,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:max-bframes: * GstVaapiEncoderH264Fei:max-bframes:
@ -4365,7 +4367,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
properties[ENCODER_H264_FEI_PROP_MAX_BFRAMES] = properties[ENCODER_H264_FEI_PROP_MAX_BFRAMES] =
g_param_spec_uint ("max-bframes", g_param_spec_uint ("max-bframes",
"Max B-Frames", "Number of B-frames between I and P", 0, 10, 1, "Max B-Frames", "Number of B-frames between I and P", 0, 10, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:init-qp: * GstVaapiEncoderH264Fei:init-qp:
@ -4375,7 +4378,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
properties[ENCODER_H264_FEI_PROP_INIT_QP] = properties[ENCODER_H264_FEI_PROP_INIT_QP] =
g_param_spec_uint ("init-qp", g_param_spec_uint ("init-qp",
"Initial QP", "Initial quantizer value", 0, 51, 26, "Initial QP", "Initial quantizer value", 0, 51, 26,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:min-qp: * GstVaapiEncoderH264Fei:min-qp:
@ -4385,7 +4389,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
properties[ENCODER_H264_FEI_PROP_MIN_QP] = properties[ENCODER_H264_FEI_PROP_MIN_QP] =
g_param_spec_uint ("min-qp", g_param_spec_uint ("min-qp",
"Minimum QP", "Minimum quantizer value", 0, 51, 1, "Minimum QP", "Minimum quantizer value", 0, 51, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:max-qp: * GstVaapiEncoderH264Fei:max-qp:
@ -4397,7 +4402,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
properties[ENCODER_H264_FEI_PROP_MAX_QP] = properties[ENCODER_H264_FEI_PROP_MAX_QP] =
g_param_spec_uint ("max-qp", g_param_spec_uint ("max-qp",
"Maximum QP", "Maximum quantizer value", 0, 51, 51, "Maximum QP", "Maximum quantizer value", 0, 51, 51,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:num-slices: * GstVaapiEncoderH264Fei:num-slices:
@ -4408,7 +4414,9 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_uint ("num-slices", g_param_spec_uint ("num-slices",
"Number of Slices", "Number of Slices",
"Number of slices per frame", "Number of slices per frame",
1, 200, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 200, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:cabac: * GstVaapiEncoderH264Fei:cabac:
@ -4421,7 +4429,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_boolean ("cabac", g_param_spec_boolean ("cabac",
"Enable CABAC", "Enable CABAC",
"Enable CABAC entropy coding mode", "Enable CABAC entropy coding mode",
TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:dct8x8: * GstVaapiEncoderH264Fei:dct8x8:
@ -4434,7 +4443,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_boolean ("dct8x8", g_param_spec_boolean ("dct8x8",
"Enable 8x8 DCT", "Enable 8x8 DCT",
"Enable adaptive use of 8x8 transforms in I-frames", "Enable adaptive use of 8x8 transforms in I-frames",
TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:cpb-length: * GstVaapiEncoderH264Fei:cpb-length:
@ -4444,7 +4454,9 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
properties[ENCODER_H264_FEI_PROP_CPB_LENGTH] = properties[ENCODER_H264_FEI_PROP_CPB_LENGTH] =
g_param_spec_uint ("cpb-length", g_param_spec_uint ("cpb-length",
"CPB Length", "Length of the CPB buffer in milliseconds", "CPB Length", "Length of the CPB buffer in milliseconds",
1, 10000, DEFAULT_CPB_LENGTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 10000, DEFAULT_CPB_LENGTH,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:num-views: * GstVaapiEncoderH264Fei:num-views:
@ -4455,7 +4467,9 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_uint ("num-views", g_param_spec_uint ("num-views",
"Number of Views", "Number of Views",
"Number of Views for MVC encoding", "Number of Views for MVC encoding",
1, MAX_NUM_VIEWS, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, MAX_NUM_VIEWS, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei:view-ids: * GstVaapiEncoderH264Fei:view-ids:
* *
@ -4467,7 +4481,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_uint ("view-id-value", "View id value", g_param_spec_uint ("view-id-value", "View id value",
"view id values used for mvc encoding", 0, MAX_VIEW_ID, 0, "view id values used for mvc encoding", 0, MAX_VIEW_ID, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS), G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS),
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264: disable-fei: * GstVaapiEncoderH264: disable-fei:
@ -4482,7 +4497,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_boolean ("disable-fei", g_param_spec_boolean ("disable-fei",
"Disable FEI Mode Encode", "Disable FEI Mode Encode",
"Disable Flexible Encoding Infrasturcture", FALSE, "Disable Flexible Encoding Infrasturcture", FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
@ -4498,7 +4514,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_boolean ("stats-out", g_param_spec_boolean ("stats-out",
"stats out", "stats out",
"Enable stats out for fei", "Enable stats out for fei",
TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:num_mv_predictors_l0: * GstVaapiEncoderH264:num_mv_predictors_l0:
@ -4510,7 +4527,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"Num mv predict l0", "Num mv predict l0",
"Indicate how many predictors should be used for l0," "Indicate how many predictors should be used for l0,"
"only valid if MVPredictor input enabled", "only valid if MVPredictor input enabled",
0, 3, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 0, 3, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:num_mv_predictors_l1: * GstVaapiEncoderH264:num_mv_predictors_l1:
* Indicate how many mv predictors should be used for l1 frames. * Indicate how many mv predictors should be used for l1 frames.
@ -4522,7 +4540,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"Num mv predict l1", "Num mv predict l1",
"Indicate how many predictors should be used for l1," "Indicate how many predictors should be used for l1,"
"only valid if MVPredictor input enabled", "only valid if MVPredictor input enabled",
0, 3, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 0, 3, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:search-window: * GstVaapiEncoderH264:search-window:
* Use predefined Search Window * Use predefined Search Window
@ -4533,7 +4552,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"Specify one of the predefined search path", "Specify one of the predefined search path",
GST_VAAPI_TYPE_FEI_H264_SEARCH_WINDOW, GST_VAAPI_TYPE_FEI_H264_SEARCH_WINDOW,
GST_VAAPI_FEI_H264_SEARCH_WINDOW_DEFAULT, GST_VAAPI_FEI_H264_SEARCH_WINDOW_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:len-sp: * GstVaapiEncoderH264:len-sp:
@ -4543,7 +4563,9 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_uint ("len-sp", g_param_spec_uint ("len-sp",
"length of search path", "length of search path",
"This value defines number of search units in search path", "This value defines number of search units in search path",
1, 63, 32, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 63, 32,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:search-path: * GstVaapiEncoderH264:search-path:
@ -4556,7 +4578,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"Specify search path", "Specify search path",
GST_VAAPI_TYPE_FEI_H264_SEARCH_PATH, GST_VAAPI_TYPE_FEI_H264_SEARCH_PATH,
GST_VAAPI_FEI_H264_SEARCH_PATH_DEFAULT, GST_VAAPI_FEI_H264_SEARCH_PATH_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:ref-width: * GstVaapiEncoderH264:ref-width:
@ -4566,7 +4589,9 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_uint ("ref-width", g_param_spec_uint ("ref-width",
"ref width", "ref width",
"Width of search region in pixel, must be multiple of 4", "Width of search region in pixel, must be multiple of 4",
4, 64, 32, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 4, 64, 32,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:ref-height: * GstVaapiEncoderH264:ref-height:
@ -4576,7 +4601,9 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_uint ("ref-height", g_param_spec_uint ("ref-height",
"ref height", "ref height",
"Height of search region in pixel, must be multiple of 4", "Height of search region in pixel, must be multiple of 4",
4, 32, 32, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 4, 32, 32,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:submb-mask: * GstVaapiEncoderH264:submb-mask:
* Defines the bit-mask for disabling sub-partition * Defines the bit-mask for disabling sub-partition
@ -4588,7 +4615,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"defines the bit-mask for disabling sub mb partition", "defines the bit-mask for disabling sub mb partition",
GST_VAAPI_TYPE_FEI_H264_SUB_MB_PART_MASK, GST_VAAPI_TYPE_FEI_H264_SUB_MB_PART_MASK,
GST_VAAPI_FEI_H264_SUB_MB_PART_MASK_DEFAULT, GST_VAAPI_FEI_H264_SUB_MB_PART_MASK_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:subpel-mode: * GstVaapiEncoderH264:subpel-mode:
@ -4603,7 +4631,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"Sub pixel precision for motion estimation", "Sub pixel precision for motion estimation",
GST_VAAPI_TYPE_FEI_H264_SUB_PEL_MODE, GST_VAAPI_TYPE_FEI_H264_SUB_PEL_MODE,
GST_VAAPI_FEI_H264_SUB_PEL_MODE_DEFAULT, GST_VAAPI_FEI_H264_SUB_PEL_MODE_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:intrapart-mask: * GstVaapiEncoderH264:intrapart-mask:
* Specifies which Luma Intra partition is enabled/disabled * Specifies which Luma Intra partition is enabled/disabled
@ -4616,7 +4645,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"intra mode decision", "intra mode decision",
GST_VAAPI_TYPE_FEI_H264_INTRA_PART_MASK, GST_VAAPI_TYPE_FEI_H264_INTRA_PART_MASK,
GST_VAAPI_FEI_H264_INTRA_PART_MASK_DEFAULT, GST_VAAPI_FEI_H264_INTRA_PART_MASK_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:intra-sad: * GstVaapiEncoderH264:intra-sad:
@ -4629,7 +4659,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"Specifies distortion measure adjustments used" "Specifies distortion measure adjustments used"
"in the motion search SAD comparison for intra MB", "in the motion search SAD comparison for intra MB",
GST_VAAPI_TYPE_FEI_H264_SAD_MODE, GST_VAAPI_FEI_H264_SAD_MODE_DEFAULT, GST_VAAPI_TYPE_FEI_H264_SAD_MODE, GST_VAAPI_FEI_H264_SAD_MODE_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:inter-sad: * GstVaapiEncoderH264:inter-sad:
@ -4642,7 +4673,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"Specifies distortion measure adjustments used" "Specifies distortion measure adjustments used"
"in the motion search SAD comparison for inter MB", "in the motion search SAD comparison for inter MB",
GST_VAAPI_TYPE_FEI_H264_SAD_MODE, GST_VAAPI_FEI_H264_SAD_MODE_DEFAULT, GST_VAAPI_TYPE_FEI_H264_SAD_MODE, GST_VAAPI_FEI_H264_SAD_MODE_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:adaptive-search: * GstVaapiEncoderH264:adaptive-search:
@ -4652,7 +4684,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
g_param_spec_boolean ("adaptive-search", g_param_spec_boolean ("adaptive-search",
"adaptive-search", "adaptive-search",
"Enable adaptive search", "Enable adaptive search",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:multi-predL0: * GstVaapiEncoderH264:multi-predL0:
* When set to 1, neighbor MV will be used as predictor for list L0, * When set to 1, neighbor MV will be used as predictor for list L0,
@ -4663,7 +4696,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"multi predL0", "multi predL0",
"Enable multi prediction for ref L0 list, when set neighbor MV will be used" "Enable multi prediction for ref L0 list, when set neighbor MV will be used"
"as predictor, no neighbor MV will be used otherwise", "as predictor, no neighbor MV will be used otherwise",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264:multi-predL1: * GstVaapiEncoderH264:multi-predL1:
@ -4675,7 +4709,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"multi predL1", "multi predL1",
"Enable multi prediction for ref L1 list, when set neighbor MV will be used" "Enable multi prediction for ref L1 list, when set neighbor MV will be used"
"as predictor, no neighbor MV will be used otherwise", "as predictor, no neighbor MV will be used otherwise",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH264Fei: fei-mode: * GstVaapiEncoderH264Fei: fei-mode:
@ -4694,7 +4729,8 @@ gst_vaapi_encoder_h264_fei_class_init (GstVaapiEncoderH264FeiClass * klass)
"FEI Encoding Mode", "FEI Encoding Mode",
"Functional mode of FEI Encoding", "Functional mode of FEI Encoding",
GST_VAAPI_TYPE_FEI_MODE, GST_VAAPI_FEI_MODE_DEFAULT, GST_VAAPI_TYPE_FEI_MODE, GST_VAAPI_FEI_MODE_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, g_object_class_install_properties (object_class,
ENCODER_H264_FEI_N_PROPERTIES, properties); ENCODER_H264_FEI_N_PROPERTIES, properties);

View file

@ -2894,7 +2894,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
"Rate Control", "Rate control mode", "Rate Control", "Rate control mode",
g_class_data.rate_control_get_type (), g_class_data.rate_control_get_type (),
g_class_data.default_rate_control, g_class_data.default_rate_control,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:tune: * GstVaapiEncoderH265:tune:
@ -2907,7 +2908,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
"Encoder tuning option", "Encoder tuning option",
g_class_data.encoder_tune_get_type (), g_class_data.encoder_tune_get_type (),
g_class_data.default_encoder_tune, g_class_data.default_encoder_tune,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:max-bframes: * GstVaapiEncoderH265:max-bframes:
@ -2917,7 +2919,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
properties[ENCODER_H265_PROP_MAX_BFRAMES] = properties[ENCODER_H265_PROP_MAX_BFRAMES] =
g_param_spec_uint ("max-bframes", g_param_spec_uint ("max-bframes",
"Max B-Frames", "Number of B-frames between I and P", 0, 10, 0, "Max B-Frames", "Number of B-frames between I and P", 0, 10, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:refs: * GstVaapiEncoderH265:refs:
@ -2928,7 +2931,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
properties[ENCODER_H265_PROP_NUM_REF_FRAMES] = properties[ENCODER_H265_PROP_NUM_REF_FRAMES] =
g_param_spec_uint ("refs", g_param_spec_uint ("refs",
"Number of Reference Frames", "Number of reference frames", 1, 3, 1, "Number of Reference Frames", "Number of reference frames", 1, 3, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:init-qp: * GstVaapiEncoderH265:init-qp:
@ -2938,7 +2942,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
properties[ENCODER_H265_PROP_INIT_QP] = properties[ENCODER_H265_PROP_INIT_QP] =
g_param_spec_uint ("init-qp", g_param_spec_uint ("init-qp",
"Initial QP", "Initial quantizer value", 0, 51, 26, "Initial QP", "Initial quantizer value", 0, 51, 26,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:min-qp: * GstVaapiEncoderH265:min-qp:
@ -2948,7 +2953,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
properties[ENCODER_H265_PROP_MIN_QP] = properties[ENCODER_H265_PROP_MIN_QP] =
g_param_spec_uint ("min-qp", g_param_spec_uint ("min-qp",
"Minimum QP", "Minimum quantizer value", 0, 51, 1, "Minimum QP", "Minimum quantizer value", 0, 51, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:max-qp: * GstVaapiEncoderH265:max-qp:
@ -2960,7 +2966,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
properties[ENCODER_H265_PROP_MAX_QP] = properties[ENCODER_H265_PROP_MAX_QP] =
g_param_spec_uint ("max-qp", g_param_spec_uint ("max-qp",
"Maximum QP", "Maximum quantizer value", 0, 51, 51, "Maximum QP", "Maximum quantizer value", 0, 51, 51,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:qp-ip: * GstVaapiEncoderH265:qp-ip:
@ -2972,7 +2979,9 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
g_param_spec_int ("qp-ip", g_param_spec_int ("qp-ip",
"Difference of QP between I and P frame", "Difference of QP between I and P frame",
"Difference of QP between I and P frame (available only on CQP)", "Difference of QP between I and P frame (available only on CQP)",
-51, 51, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); -51, 51, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:qp-ib: * GstVaapiEncoderH265:qp-ib:
@ -2984,7 +2993,9 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
g_param_spec_int ("qp-ib", g_param_spec_int ("qp-ib",
"Difference of QP between I and B frame", "Difference of QP between I and B frame",
"Difference of QP between I and B frame (available only on CQP)", "Difference of QP between I and B frame (available only on CQP)",
-51, 51, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); -51, 51, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/* FIXME: there seems to be issues with multi-slice encoding */ /* FIXME: there seems to be issues with multi-slice encoding */
/** /**
@ -2996,7 +3007,9 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
g_param_spec_uint ("num-slices", g_param_spec_uint ("num-slices",
"Number of Slices", "Number of Slices",
"Number of slices per frame", "Number of slices per frame",
1, 200, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 200, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:cpb-length: * GstVaapiEncoderH265:cpb-length:
@ -3006,7 +3019,9 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
properties[ENCODER_H265_PROP_CPB_LENGTH] = properties[ENCODER_H265_PROP_CPB_LENGTH] =
g_param_spec_uint ("cpb-length", g_param_spec_uint ("cpb-length",
"CPB Length", "Length of the CPB buffer in milliseconds", "CPB Length", "Length of the CPB buffer in milliseconds",
1, 10000, DEFAULT_CPB_LENGTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 10000, DEFAULT_CPB_LENGTH,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:mbbrc: * GstVaapiEncoderH265:mbbrc:
@ -3019,7 +3034,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
"Macroblock level Bitrate Control", "Macroblock level Bitrate Control",
"Macroblock level Bitrate Control", "Macroblock level Bitrate Control",
GST_VAAPI_TYPE_ENCODER_MBBRC, GST_VAAPI_ENCODER_MBBRC_AUTO, GST_VAAPI_TYPE_ENCODER_MBBRC, GST_VAAPI_ENCODER_MBBRC_AUTO,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderH265:low_delay_b: * GstVaapiEncoderH265:low_delay_b:
@ -3031,7 +3047,8 @@ gst_vaapi_encoder_h265_class_init (GstVaapiEncoderH265Class * klass)
"Enable low delay b", "Enable low delay b",
"Transforms P frames into predictive B frames." "Transforms P frames into predictive B frames."
" Enable it when P frames are not supported.", " Enable it when P frames are not supported.",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, ENCODER_H265_N_PROPERTIES, g_object_class_install_properties (object_class, ENCODER_H265_N_PROPERTIES,
properties); properties);

View file

@ -871,7 +871,8 @@ gst_vaapi_encoder_jpeg_class_init (GstVaapiEncoderJpegClass * klass)
"Rate Control", "Rate control mode", "Rate Control", "Rate control mode",
g_class_data.rate_control_get_type (), g_class_data.rate_control_get_type (),
g_class_data.default_rate_control, g_class_data.default_rate_control,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_JPEG_PROP_TUNE] = properties[ENCODER_JPEG_PROP_TUNE] =
g_param_spec_enum ("tune", g_param_spec_enum ("tune",
@ -879,12 +880,15 @@ gst_vaapi_encoder_jpeg_class_init (GstVaapiEncoderJpegClass * klass)
"Encoder tuning option", "Encoder tuning option",
g_class_data.encoder_tune_get_type (), g_class_data.encoder_tune_get_type (),
g_class_data.default_encoder_tune, g_class_data.default_encoder_tune,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_JPEG_PROP_QUALITY] = properties[ENCODER_JPEG_PROP_QUALITY] =
g_param_spec_uint ("quality", g_param_spec_uint ("quality",
"Quality factor", "Quality factor",
"Quality factor", 0, 100, 50, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); "Quality factor", 0, 100, 50,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, ENCODER_JPEG_N_PROPERTIES, g_object_class_install_properties (object_class, ENCODER_JPEG_N_PROPERTIES,
properties); properties);

View file

@ -910,7 +910,8 @@ gst_vaapi_encoder_mpeg2_class_init (GstVaapiEncoderMpeg2Class * klass)
"Rate Control", "Rate control mode", "Rate Control", "Rate control mode",
g_class_data.rate_control_get_type (), g_class_data.rate_control_get_type (),
g_class_data.default_rate_control, g_class_data.default_rate_control,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderMpeg2:tune: * GstVaapiEncoderMpeg2:tune:
@ -923,18 +924,21 @@ gst_vaapi_encoder_mpeg2_class_init (GstVaapiEncoderMpeg2Class * klass)
"Encoder tuning option", "Encoder tuning option",
g_class_data.encoder_tune_get_type (), g_class_data.encoder_tune_get_type (),
g_class_data.default_encoder_tune, g_class_data.default_encoder_tune,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_MPEG2_PROP_QUANTIZER] = properties[ENCODER_MPEG2_PROP_QUANTIZER] =
g_param_spec_uint ("quantizer", g_param_spec_uint ("quantizer",
"Constant Quantizer", "Constant Quantizer",
"Constant quantizer (if rate-control mode is CQP)", "Constant quantizer (if rate-control mode is CQP)",
2, 62, 8, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 2, 62, 8, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_MPEG2_PROP_MAX_BFRAMES] = properties[ENCODER_MPEG2_PROP_MAX_BFRAMES] =
g_param_spec_uint ("max-bframes", "Max B-Frames", g_param_spec_uint ("max-bframes", "Max B-Frames",
"Number of B-frames between I and P", 0, 16, 0, "Number of B-frames between I and P", 0, 16, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, ENCODER_MPEG2_N_PROPERTIES, g_object_class_install_properties (object_class, ENCODER_MPEG2_N_PROPERTIES,
properties); properties);

View file

@ -667,23 +667,29 @@ gst_vaapi_encoder_vp8_class_init (GstVaapiEncoderVP8Class * klass)
"Rate Control", "Rate control mode", "Rate Control", "Rate control mode",
g_class_data.rate_control_get_type (), g_class_data.rate_control_get_type (),
g_class_data.default_rate_control, g_class_data.default_rate_control,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP8_PROP_TUNE] = properties[ENCODER_VP8_PROP_TUNE] =
g_param_spec_enum ("tune", "Encoder Tuning", "Encoder tuning option", g_param_spec_enum ("tune", "Encoder Tuning", "Encoder tuning option",
g_class_data.encoder_tune_get_type (), g_class_data.encoder_tune_get_type (),
g_class_data.default_encoder_tune, g_class_data.default_encoder_tune,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP8_PROP_LOOP_FILTER_LEVEL] = properties[ENCODER_VP8_PROP_LOOP_FILTER_LEVEL] =
g_param_spec_uint ("loop-filter-level", "Loop Filter Level", g_param_spec_uint ("loop-filter-level", "Loop Filter Level",
"Controls the deblocking filter strength", 0, 63, "Controls the deblocking filter strength", 0, 63,
DEFAULT_LOOP_FILTER_LEVEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); DEFAULT_LOOP_FILTER_LEVEL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP8_PROP_SHARPNESS_LEVEL] = properties[ENCODER_VP8_PROP_SHARPNESS_LEVEL] =
g_param_spec_uint ("sharpness-level", "Sharpness Level", g_param_spec_uint ("sharpness-level", "Sharpness Level",
"Controls the deblocking filter sensitivity", 0, 7, "Controls the deblocking filter sensitivity", 0, 7,
DEFAULT_SHARPNESS_LEVEL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); DEFAULT_SHARPNESS_LEVEL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP8_PROP_YAC_Q_INDEX] = properties[ENCODER_VP8_PROP_YAC_Q_INDEX] =
g_param_spec_uint ("yac-qi", g_param_spec_uint ("yac-qi",
@ -691,7 +697,9 @@ gst_vaapi_encoder_vp8_class_init (GstVaapiEncoderVP8Class * klass)
"Quantization Table index for Luma AC Coefficients," "Quantization Table index for Luma AC Coefficients,"
" (in default case, yac_qi=4 for key frames and yac_qi=40" " (in default case, yac_qi=4 for key frames and yac_qi=40"
" for P frames)", " for P frames)",
0, 127, DEFAULT_YAC_QI, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 0, 127, DEFAULT_YAC_QI,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, ENCODER_VP8_N_PROPERTIES, g_object_class_install_properties (object_class, ENCODER_VP8_N_PROPERTIES,
properties); properties);

View file

@ -427,8 +427,8 @@ update_ref_list (GstVaapiEncoderVP9 * encoder, GstVaapiEncPicture * picture,
gst_vaapi_surface_proxy_unref (ref); gst_vaapi_surface_proxy_unref (ref);
break; break;
case GST_VAAPI_ENCODER_VP9_REF_PIC_MODE_1: case GST_VAAPI_ENCODER_VP9_REF_PIC_MODE_1:
gst_vaapi_surface_proxy_replace (&encoder-> gst_vaapi_surface_proxy_replace (&encoder->ref_list[encoder->
ref_list[encoder->ref_list_idx], ref); ref_list_idx], ref);
gst_vaapi_surface_proxy_unref (ref); gst_vaapi_surface_proxy_unref (ref);
encoder->ref_list_idx = (encoder->ref_list_idx + 1) % GST_VP9_REF_FRAMES; encoder->ref_list_idx = (encoder->ref_list_idx + 1) % GST_VP9_REF_FRAMES;
break; break;
@ -709,7 +709,8 @@ gst_vaapi_encoder_vp9_class_init (GstVaapiEncoderVP9Class * klass)
"Rate Control", "Rate control mode", "Rate Control", "Rate control mode",
g_class_data.rate_control_get_type (), g_class_data.rate_control_get_type (),
g_class_data.default_rate_control, g_class_data.default_rate_control,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP9_PROP_TUNE] = properties[ENCODER_VP9_PROP_TUNE] =
g_param_spec_enum ("tune", g_param_spec_enum ("tune",
@ -717,27 +718,32 @@ gst_vaapi_encoder_vp9_class_init (GstVaapiEncoderVP9Class * klass)
"Encoder tuning option", "Encoder tuning option",
g_class_data.encoder_tune_get_type (), g_class_data.encoder_tune_get_type (),
g_class_data.default_encoder_tune, g_class_data.default_encoder_tune,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP9_PROP_LOOP_FILTER_LEVEL] = properties[ENCODER_VP9_PROP_LOOP_FILTER_LEVEL] =
g_param_spec_uint ("loop-filter-level", g_param_spec_uint ("loop-filter-level",
"Loop Filter Level", "Loop Filter Level",
"Controls the deblocking filter strength", "Controls the deblocking filter strength",
0, 63, DEFAULT_LOOP_FILTER_LEVEL, 0, 63, DEFAULT_LOOP_FILTER_LEVEL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP9_PROP_SHARPNESS_LEVEL] = properties[ENCODER_VP9_PROP_SHARPNESS_LEVEL] =
g_param_spec_uint ("sharpness-level", g_param_spec_uint ("sharpness-level",
"Sharpness Level", "Sharpness Level",
"Controls the deblocking filter sensitivity", "Controls the deblocking filter sensitivity",
0, 7, DEFAULT_SHARPNESS_LEVEL, 0, 7, DEFAULT_SHARPNESS_LEVEL,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP9_PROP_YAC_Q_INDEX] = properties[ENCODER_VP9_PROP_YAC_Q_INDEX] =
g_param_spec_uint ("yac-qi", g_param_spec_uint ("yac-qi",
"Luma AC Quant Table index", "Luma AC Quant Table index",
"Quantization Table index for Luma AC Coefficients", "Quantization Table index for Luma AC Coefficients",
0, 255, DEFAULT_YAC_QINDEX, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 0, 255, DEFAULT_YAC_QINDEX,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
properties[ENCODER_VP9_PROP_REF_PIC_MODE] = properties[ENCODER_VP9_PROP_REF_PIC_MODE] =
g_param_spec_enum ("ref-pic-mode", g_param_spec_enum ("ref-pic-mode",
@ -745,7 +751,8 @@ gst_vaapi_encoder_vp9_class_init (GstVaapiEncoderVP9Class * klass)
"Reference Picture Selection Modes", "Reference Picture Selection Modes",
gst_vaapi_encoder_vp9_ref_pic_mode_type (), gst_vaapi_encoder_vp9_ref_pic_mode_type (),
GST_VAAPI_ENCODER_VP9_REF_PIC_MODE_0, GST_VAAPI_ENCODER_VP9_REF_PIC_MODE_0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiEncoderVP9:cpb-length: * GstVaapiEncoderVP9:cpb-length:
@ -757,7 +764,9 @@ gst_vaapi_encoder_vp9_class_init (GstVaapiEncoderVP9Class * klass)
properties[ENCODER_VP9_PROP_CPB_LENGTH] = properties[ENCODER_VP9_PROP_CPB_LENGTH] =
g_param_spec_uint ("cpb-length", g_param_spec_uint ("cpb-length",
"CPB Length", "Length of the CPB_buffer/window_size in milliseconds", "CPB Length", "Length of the CPB_buffer/window_size in milliseconds",
1, 10000, DEFAULT_CPB_LENGTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 10000, DEFAULT_CPB_LENGTH,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, ENCODER_VP9_N_PROPERTIES, g_object_class_install_properties (object_class, ENCODER_VP9_N_PROPERTIES,
properties); properties);

View file

@ -2126,7 +2126,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"Rate Control", "Rate control mode", "Rate Control", "Rate control mode",
fei_enc_class_data.rate_control_get_type (), fei_enc_class_data.rate_control_get_type (),
fei_enc_class_data.default_rate_control, fei_enc_class_data.default_rate_control,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:tune: * GstVaapiFeiEncH264:tune:
@ -2139,7 +2140,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"Encoder tuning option", "Encoder tuning option",
fei_enc_class_data.encoder_tune_get_type (), fei_enc_class_data.encoder_tune_get_type (),
fei_enc_class_data.default_encoder_tune, fei_enc_class_data.default_encoder_tune,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:max-bframes: * GstVaapiFeiEncH264:max-bframes:
@ -2149,7 +2151,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
properties[FEI_H264_ENC_PROP_MAX_BFRAMES] = properties[FEI_H264_ENC_PROP_MAX_BFRAMES] =
g_param_spec_uint ("max-bframes", g_param_spec_uint ("max-bframes",
"Max B-Frames", "Number of B-frames between I and P", 0, 10, 0, "Max B-Frames", "Number of B-frames between I and P", 0, 10, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:init-qp: * GstVaapiFeiEncH264:init-qp:
@ -2159,7 +2162,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
properties[FEI_H264_ENC_PROP_INIT_QP] = properties[FEI_H264_ENC_PROP_INIT_QP] =
g_param_spec_uint ("init-qp", g_param_spec_uint ("init-qp",
"Initial QP", "Initial quantizer value", 1, 51, 26, "Initial QP", "Initial quantizer value", 1, 51, 26,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:min-qp: * GstVaapiFeiEncH264:min-qp:
@ -2169,7 +2173,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
properties[FEI_H264_ENC_PROP_MIN_QP] = properties[FEI_H264_ENC_PROP_MIN_QP] =
g_param_spec_uint ("min-qp", g_param_spec_uint ("min-qp",
"Minimum QP", "Minimum quantizer value", 1, 51, 1, "Minimum QP", "Minimum quantizer value", 1, 51, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:num-slices: * GstVaapiFeiEncH264:num-slices:
@ -2180,7 +2185,9 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("num-slices", g_param_spec_uint ("num-slices",
"Number of Slices", "Number of Slices",
"Number of slices per frame", "Number of slices per frame",
1, 200, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 200, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:cabac: * GstVaapiFeiEncH264:cabac:
@ -2193,7 +2200,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_boolean ("cabac", g_param_spec_boolean ("cabac",
"Enable CABAC", "Enable CABAC",
"Enable CABAC entropy coding mode", "Enable CABAC entropy coding mode",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:dct8x8: * GstVaapiFeiEncH264:dct8x8:
@ -2206,7 +2214,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_boolean ("dct8x8", g_param_spec_boolean ("dct8x8",
"Enable 8x8 DCT", "Enable 8x8 DCT",
"Enable adaptive use of 8x8 transforms in I-frames", "Enable adaptive use of 8x8 transforms in I-frames",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:cpb-length: * GstVaapiFeiEncH264:cpb-length:
@ -2216,7 +2225,9 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
properties[FEI_H264_ENC_PROP_CPB_LENGTH] = properties[FEI_H264_ENC_PROP_CPB_LENGTH] =
g_param_spec_uint ("cpb-length", g_param_spec_uint ("cpb-length",
"CPB Length", "Length of the CPB buffer in milliseconds", "CPB Length", "Length of the CPB buffer in milliseconds",
1, 10000, DEFAULT_CPB_LENGTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 10000, DEFAULT_CPB_LENGTH,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:num-views: * GstVaapiFeiEncH264:num-views:
@ -2227,7 +2238,9 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("num-views", g_param_spec_uint ("num-views",
"Number of Views", "Number of Views",
"Number of Views for MVC encoding", "Number of Views for MVC encoding",
1, MAX_NUM_VIEWS, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, MAX_NUM_VIEWS, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:view-ids: * GstVaapiFeiEncH264:view-ids:
* *
@ -2239,7 +2252,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("view-id-value", "View id value", g_param_spec_uint ("view-id-value", "View id value",
"view id values used for mvc encoding", 0, MAX_VIEW_ID, 0, "view id values used for mvc encoding", 0, MAX_VIEW_ID, 0,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS), G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS),
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:num-ref: * GstVaapiFeiEncH264:num-ref:
* *
@ -2249,7 +2263,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("num-ref", g_param_spec_uint ("num-ref",
"Num Ref", "Num Ref",
"reference frame number", "reference frame number",
1, 6, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 6, 1, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:num_mv_predictors_l0: * GstVaapiFeiEncH264:num_mv_predictors_l0:
@ -2260,7 +2275,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("num-mvpredict-l0", g_param_spec_uint ("num-mvpredict-l0",
"Num mv predict l0", "Num mv predict l0",
"Indicate how many predictors should be used for l0", "Indicate how many predictors should be used for l0",
0, 3, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 0, 3, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:num_mv_predictors_l1: * GstVaapiFeiEncH264:num_mv_predictors_l1:
* *
@ -2270,7 +2286,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("num-mvpredict-l1", g_param_spec_uint ("num-mvpredict-l1",
"Num mv predict l1", "Num mv predict l1",
"Indicate how many predictors should be used for l1", "Indicate how many predictors should be used for l1",
0, 3, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 0, 3, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:search-window: * GstVaapiFeiEncH264:search-window:
*/ */
@ -2280,7 +2297,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"Specify one of the predefined search path", "Specify one of the predefined search path",
GST_VAAPI_TYPE_FEI_H264_SEARCH_WINDOW, GST_VAAPI_TYPE_FEI_H264_SEARCH_WINDOW,
GST_VAAPI_FEI_H264_SEARCH_WINDOW_DEFAULT, GST_VAAPI_FEI_H264_SEARCH_WINDOW_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:len-sp: * GstVaapiFeiEncH264:len-sp:
*/ */
@ -2288,7 +2306,9 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("len-sp", g_param_spec_uint ("len-sp",
"len sp", "len sp",
"This value defines number of search units in search path", "This value defines number of search units in search path",
1, 63, 32, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 1, 63, 32,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:search-path: * GstVaapiFeiEncH264:search-path:
@ -2299,7 +2319,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"Specify search path", "Specify search path",
GST_VAAPI_TYPE_FEI_H264_SEARCH_PATH, GST_VAAPI_TYPE_FEI_H264_SEARCH_PATH,
GST_VAAPI_FEI_H264_SEARCH_PATH_DEFAULT, GST_VAAPI_FEI_H264_SEARCH_PATH_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:ref-width: * GstVaapiFeiEncH264:ref-width:
@ -2308,7 +2329,9 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("ref-width", g_param_spec_uint ("ref-width",
"ref width", "ref width",
"Width of search region in pixel, must be multiple of 4", "Width of search region in pixel, must be multiple of 4",
4, 64, 32, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 4, 64, 32,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:ref-height: * GstVaapiFeiEncH264:ref-height:
@ -2317,7 +2340,9 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_uint ("ref-height", g_param_spec_uint ("ref-height",
"ref height", "ref height",
"Height of search region in pixel, must be multiple of 4", "Height of search region in pixel, must be multiple of 4",
4, 32, 32, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); 4, 32, 32,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:submb-mask: * GstVaapiFeiEncH264:submb-mask:
* Defines the bit-mask for disabling sub-partition * Defines the bit-mask for disabling sub-partition
@ -2329,7 +2354,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"defines the bit-mask for disabling sub mb partition", "defines the bit-mask for disabling sub mb partition",
GST_VAAPI_TYPE_FEI_H264_SUB_MB_PART_MASK, GST_VAAPI_TYPE_FEI_H264_SUB_MB_PART_MASK,
GST_VAAPI_FEI_H264_SUB_MB_PART_MASK_DEFAULT, GST_VAAPI_FEI_H264_SUB_MB_PART_MASK_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:subpel-mode: * GstVaapiFeiEncH264:subpel-mode:
@ -2340,7 +2366,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"Sub pixel precision for motion estimation", "Sub pixel precision for motion estimation",
GST_VAAPI_TYPE_FEI_H264_SUB_PEL_MODE, GST_VAAPI_TYPE_FEI_H264_SUB_PEL_MODE,
GST_VAAPI_FEI_H264_SUB_PEL_MODE_DEFAULT, GST_VAAPI_FEI_H264_SUB_PEL_MODE_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:intrapart-mask: * GstVaapiFeiEncH264:intrapart-mask:
*/ */
@ -2350,7 +2377,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"What block and sub-block partitions are disabled for intra MBs", "What block and sub-block partitions are disabled for intra MBs",
GST_VAAPI_TYPE_FEI_H264_INTRA_PART_MASK, GST_VAAPI_TYPE_FEI_H264_INTRA_PART_MASK,
GST_VAAPI_FEI_H264_INTRA_PART_MASK_DEFAULT, GST_VAAPI_FEI_H264_INTRA_PART_MASK_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:intra-sad: * GstVaapiFeiEncH264:intra-sad:
*/ */
@ -2359,7 +2387,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"intra sad", "intra sad",
"Specifies distortion measure adjustments used in the motion search SAD comparison for intra MB", "Specifies distortion measure adjustments used in the motion search SAD comparison for intra MB",
GST_VAAPI_TYPE_FEI_H264_SAD_MODE, GST_VAAPI_FEI_H264_SAD_MODE_DEFAULT, GST_VAAPI_TYPE_FEI_H264_SAD_MODE, GST_VAAPI_FEI_H264_SAD_MODE_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:inter-sad: * GstVaapiFeiEncH264:inter-sad:
@ -2369,7 +2398,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
"inter sad", "inter sad",
"Specifies distortion measure adjustments used in the motion search SAD comparison for inter MB", "Specifies distortion measure adjustments used in the motion search SAD comparison for inter MB",
GST_VAAPI_TYPE_FEI_H264_SAD_MODE, GST_VAAPI_FEI_H264_SAD_MODE_DEFAULT, GST_VAAPI_TYPE_FEI_H264_SAD_MODE, GST_VAAPI_FEI_H264_SAD_MODE_DEFAULT,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:adaptive-search: * GstVaapiFeiEncH264:adaptive-search:
@ -2378,7 +2408,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_boolean ("adaptive-search", g_param_spec_boolean ("adaptive-search",
"adaptive-search", "adaptive-search",
"Enable adaptive search", "Enable adaptive search",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:multi-predL0: * GstVaapiFeiEncH264:multi-predL0:
@ -2387,7 +2418,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_boolean ("multi-predL0", g_param_spec_boolean ("multi-predL0",
"multi predL0", "multi predL0",
"Enable multi prediction for ref L0 list", "Enable multi prediction for ref L0 list",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
/** /**
* GstVaapiFeiEncH264:multi-predL0: * GstVaapiFeiEncH264:multi-predL0:
@ -2396,7 +2428,8 @@ gst_vaapi_feienc_h264_class_init (GstVaapiFeiEncH264Class * klass)
g_param_spec_boolean ("multi-predL1", g_param_spec_boolean ("multi-predL1",
"multi predL1", "multi predL1",
"Enable multi prediction for ref L1 list", "Enable multi prediction for ref L1 list",
FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT |
G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE);
g_object_class_install_properties (object_class, FEI_H264_ENC_N_PROPERTIES, g_object_class_install_properties (object_class, FEI_H264_ENC_N_PROPERTIES,
properties); properties);