summaryrefslogtreecommitdiff
path: root/gst-libs/gst/vaapi/gstvaapiencoder.h
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-01-10 13:23:48 +0100
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2014-01-13 17:31:55 +0100
commit59229b20a5965081a210296122efe34e71d9d79f (patch)
tree6d646a6881e979c680768119c68283f1feb592b5 /gst-libs/gst/vaapi/gstvaapiencoder.h
parent8788ea99a87c61d48ce1f411f49b4b9c1489fc66 (diff)
encoder: add keyframe period API.
Add gst_vaapi_encoder_set_keyframe_period() interface to allow the user control the maximum distance between two keyframes. This new property can only be set prior to gst_vaapi_encoder_set_codec_state(). A value of zero for "keyframe-period" gets it re-evaluated to the actual framerate during encoder reconfiguration.
Diffstat (limited to 'gst-libs/gst/vaapi/gstvaapiencoder.h')
-rw-r--r--gst-libs/gst/vaapi/gstvaapiencoder.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiencoder.h b/gst-libs/gst/vaapi/gstvaapiencoder.h
index 8f6e6ae1..1c3c86b0 100644
--- a/gst-libs/gst/vaapi/gstvaapiencoder.h
+++ b/gst-libs/gst/vaapi/gstvaapiencoder.h
@@ -72,12 +72,15 @@ typedef enum
* GstVaapiEncoderProp:
* @GST_VAAPI_ENCODER_PROP_RATECONTROL: Rate control (#GstVaapiRateControl).
* @GST_VAAPI_ENCODER_PROP_BITRATE: Bitrate expressed in kbps (uint).
+ * @GST_VAAPI_ENCODER_PROP_KEYFRAME_PERIOD: The maximal distance
+ * between two keyframes (uint).
*
* The set of configurable properties for the encoder.
*/
typedef enum {
GST_VAAPI_ENCODER_PROP_RATECONTROL = 1,
GST_VAAPI_ENCODER_PROP_BITRATE,
+ GST_VAAPI_ENCODER_PROP_KEYFRAME_PERIOD,
} GstVaapiEncoderProp;
/**
@@ -126,6 +129,10 @@ gst_vaapi_encoder_put_frame (GstVaapiEncoder * encoder,
GstVideoCodecFrame * frame);
GstVaapiEncoderStatus
+gst_vaapi_encoder_set_keyframe_period (GstVaapiEncoder * encoder,
+ guint keyframe_period);
+
+GstVaapiEncoderStatus
gst_vaapi_encoder_get_buffer_with_timeout (GstVaapiEncoder * encoder,
GstVaapiCodedBufferProxy ** out_codedbuf_proxy_ptr, guint64 timeout);