mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
libs: encoder: add gst_vaapi_encoder_get_surface_formats()
This method will return the valid surface formats in the current config. If the are no VAConfig it is created with the information available. https://bugzilla.gnome.org/show_bug.cgi?id=769266 Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
This commit is contained in:
parent
72e26ed30b
commit
4e2049d108
2 changed files with 31 additions and 0 deletions
|
@ -1153,6 +1153,35 @@ error:
|
|||
}
|
||||
}
|
||||
|
||||
static gboolean
|
||||
gst_vaapi_encoder_ensure_context_config (GstVaapiEncoder * encoder)
|
||||
{
|
||||
GstVaapiContextInfo *const cip = &encoder->context_info;
|
||||
|
||||
if (encoder->context)
|
||||
return TRUE;
|
||||
|
||||
init_context_info (encoder);
|
||||
encoder->context = gst_vaapi_context_new (encoder->display, cip);
|
||||
return (encoder->context != NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* gst_vaapi_encoder_get_surface_formats:
|
||||
* @encoder: a #GstVaapiEncoder instances
|
||||
*
|
||||
* Fetches the valid surface formats for the current VAConfig
|
||||
*
|
||||
* Returns: a #GArray of valid formats for the current VAConfig
|
||||
**/
|
||||
GArray *
|
||||
gst_vaapi_encoder_get_surface_formats (GstVaapiEncoder * encoder)
|
||||
{
|
||||
if (!gst_vaapi_encoder_ensure_context_config (encoder))
|
||||
return NULL;
|
||||
return gst_vaapi_context_get_surface_formats (encoder->context);
|
||||
}
|
||||
|
||||
/** Returns a GType for the #GstVaapiEncoderTune set */
|
||||
GType
|
||||
gst_vaapi_encoder_tune_get_type (void)
|
||||
|
|
|
@ -173,6 +173,8 @@ gst_vaapi_encoder_get_buffer_with_timeout (GstVaapiEncoder * encoder,
|
|||
GstVaapiEncoderStatus
|
||||
gst_vaapi_encoder_flush (GstVaapiEncoder * encoder);
|
||||
|
||||
GArray *
|
||||
gst_vaapi_encoder_get_surface_formats (GstVaapiEncoder * encoder);
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* GST_VAAPI_ENCODER_H */
|
||||
|
|
Loading…
Reference in a new issue