guint bitrate_bits; // bitrate (bits)
guint cpb_length; // length of CPB buffer (ms)
guint cpb_length_bits; // length of CPB buffer (bits)
+ guint mbbrc; // macroblock bitrate control
/* Crop rectangle */
guint conformance_window_flag:1;
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).window_size = encoder->cpb_length;
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).initial_qp = encoder->init_qp;
GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).min_qp = encoder->min_qp;
+ GST_VAAPI_ENCODER_VA_RATE_CONTROL (encoder).rc_flags.bits.mb_rate_control =
+ encoder->mbbrc;
/* HRD params */
fill_hrd_params (encoder, &GST_VAAPI_ENCODER_VA_HRD (encoder));
case GST_VAAPI_ENCODER_H265_PROP_NUM_REF_FRAMES:
encoder->num_ref_frames = g_value_get_uint (value);
break;
+ case GST_VAAPI_ENCODER_H265_PROP_MBBRC:
+ encoder->mbbrc = g_value_get_uint (value);
+ break;
default:
return GST_VAAPI_ENCODER_STATUS_ERROR_INVALID_PARAMETER;
}
1, 10000, DEFAULT_CPB_LENGTH,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ /**
+ * GstVaapiEncoderH265:mbbrc:
+ *
+ * Macroblock level bitrate control.
+ * This is not compatible with Constant QP rate control.
+ */
+ GST_VAAPI_ENCODER_PROPERTIES_APPEND (props,
+ GST_VAAPI_ENCODER_H265_PROP_MBBRC,
+ g_param_spec_uint ("mbbrc",
+ "Macroblock level Bitrate Control",
+ "Macroblock level Bitrate Control (0: auto, 1: on, 2: off)", 0, 2,
+ 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
return props;
}
* @GST_VAAPI_ENCODER_H265_PROP_NUM_SLICES: Number of slices per frame (uint).
* @GST_VAAPI_ENCODER_H265_PROP_NUM_REF_FRAMES: Maximum number of reference frames.
* @GST_VAAPI_ENCODER_H265_PROP_CPB_LENGTH: Length of the CPB buffer
+ * @GST_VAAPI_ENCODER_H265_PROP_MBBRC: Macroblock level Bitrate Control.
* in milliseconds (uint).
*
* The set of H.265 encoder specific configurable properties.
GST_VAAPI_ENCODER_H265_PROP_MIN_QP = -3,
GST_VAAPI_ENCODER_H265_PROP_NUM_SLICES = -4,
GST_VAAPI_ENCODER_H265_PROP_NUM_REF_FRAMES = -5,
- GST_VAAPI_ENCODER_H265_PROP_CPB_LENGTH = -7
+ GST_VAAPI_ENCODER_H265_PROP_CPB_LENGTH = -7,
+ GST_VAAPI_ENCODER_H265_PROP_MBBRC = -8,
} GstVaapiEncoderH265Prop;
GstVaapiEncoder *