guint32 max_pic_order_cnt;
guint32 log2_max_pic_order_cnt;
guint32 idr_num;
+ guint num_ref_frames;
GstBuffer *vps_data;
GstBuffer *sps_data;
case GST_VAAPI_ENCODER_H265_PROP_CPB_LENGTH:
encoder->cpb_length = g_value_get_uint (value);
break;
+ case GST_VAAPI_ENCODER_H265_PROP_NUM_REF_FRAMES:
+ encoder->num_ref_frames = g_value_get_uint (value);
+ break;
default:
return GST_VAAPI_ENCODER_STATUS_ERROR_INVALID_PARAMETER;
}
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
/**
+ * GstVaapiEncoderH265:refs:
+ *
+ * The number of reference frames.
+ * If B frame is encoded, it will add 1 reference frame more.
+ */
+ GST_VAAPI_ENCODER_PROPERTIES_APPEND (props,
+ GST_VAAPI_ENCODER_H265_PROP_NUM_REF_FRAMES,
+ g_param_spec_uint ("refs",
+ "Number of Reference Frames", "Number of reference frames", 1, 3, 1,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ /**
* GstVaapiEncoderH265:init-qp:
*
* The initial quantizer value.
* @GST_VAAPI_ENCODER_H265_PROP_INIT_QP: Initial quantizer value (uint).
* @GST_VAAPI_ENCODER_H265_PROP_MIN_QP: Minimal quantizer value (uint).
* @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
* in milliseconds (uint).
*
GST_VAAPI_ENCODER_H265_PROP_INIT_QP = -2,
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
} GstVaapiEncoderH265Prop;