diff options
author | Víctor Manuel Jáquez Leal <vjaquez@igalia.com> | 2018-02-22 08:22:35 -0600 |
---|---|---|
committer | Nicolas Dufresne <nicolas.dufresne@collabora.com> | 2018-02-27 17:51:02 -0500 |
commit | d3110713b8c0c7ec3bd81e0422db5a56fff32042 (patch) | |
tree | eb8a61a1e8b6f8c1aaaa8f8f83e88f53a412916d /gst-libs | |
parent | 35226dba88a47a0fe235a28123438e9177eeada1 (diff) |
Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
https://bugzilla.gnome.org/show_bug.cgi?id=768248
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiencoder.c | 108 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiencoder.h | 12 | ||||
-rw-r--r-- | gst-libs/gst/vaapi/gstvaapiencoder_priv.h | 3 |
3 files changed, 0 insertions, 123 deletions
diff --git a/gst-libs/gst/vaapi/gstvaapiencoder.c b/gst-libs/gst/vaapi/gstvaapiencoder.c index 1f8e0a1a..71a7c1a0 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder.c +++ b/gst-libs/gst/vaapi/gstvaapiencoder.c @@ -1323,9 +1323,6 @@ gst_vaapi_encoder_finalize (GstVaapiEncoder * encoder) klass->finalize (encoder); - if (encoder->roi_regions) - g_list_free_full (encoder->roi_regions, g_free); - gst_vaapi_object_replace (&encoder->context, NULL); gst_vaapi_display_replace (&encoder->display, NULL); encoder->va_display = NULL; @@ -1566,111 +1563,6 @@ gst_vaapi_encoder_ensure_max_num_ref_frames (GstVaapiEncoder * encoder, return TRUE; } -/** - * gst_vaapi_encoder_add_roi: - * @encoder: a #GstVaapiEncoder - * @roi: (transfer none): a #GstVaapiROI - * - * Adds a roi region provided by user. - * - * This can be called on running a pipeline, - * Since vaapi encoder set roi regions at every frame encoding. - * Note that if it exceeds number of supported roi in driver, - * this will return FALSE. - * - * Return value: a #gboolean - */ -gboolean -gst_vaapi_encoder_add_roi (GstVaapiEncoder * encoder, GstVaapiROI * roi) -{ - GstVaapiContextInfo *const cip = &encoder->context_info; - const GstVaapiConfigInfoEncoder *const config = &cip->config.encoder; - GstVaapiROI *region = NULL; - GList *walk; - - g_return_val_if_fail (roi != NULL, FALSE); - - if (!config->roi_capability) - return FALSE; - - if (encoder->roi_regions && - g_list_length (encoder->roi_regions) > config->roi_num_supported) - return FALSE; - - walk = encoder->roi_regions; - while (walk) { - GstVaapiROI *region_ptr = (GstVaapiROI *) walk->data; - if (region_ptr->rect.x == roi->rect.x && - region_ptr->rect.y == roi->rect.y && - region_ptr->rect.width == roi->rect.width && - region_ptr->rect.height == roi->rect.height) { - /* Duplicated region */ - goto end; - } - walk = walk->next; - } - - region = g_malloc0 (sizeof (GstVaapiROI)); - if (G_UNLIKELY (!region)) - return FALSE; - - region->rect.x = roi->rect.x; - region->rect.y = roi->rect.y; - region->rect.width = roi->rect.width; - region->rect.height = roi->rect.height; - - encoder->roi_regions = g_list_append (encoder->roi_regions, region); - -end: - return TRUE; -} - -/** - * gst_vaapi_encoder_del_roi: - * @encoder: a #GstVaapiEncoder - * @roi: (transfer none): a #GstVaapiROI - * - * Deletes a roi region provided by user. - * - * This can be called on running a pipeline, - * Since vaapi encoder set roi regions at every frame encoding. - * - * Return value: a #gboolean - */ -gboolean -gst_vaapi_encoder_del_roi (GstVaapiEncoder * encoder, GstVaapiROI * roi) -{ - GstVaapiContextInfo *const cip = &encoder->context_info; - const GstVaapiConfigInfoEncoder *const config = &cip->config.encoder; - GList *walk; - gboolean ret = FALSE; - - g_return_val_if_fail (roi != NULL, FALSE); - - if (!config->roi_capability) - return FALSE; - - if (encoder->roi_regions && g_list_length (encoder->roi_regions) == 0) - return FALSE; - - walk = encoder->roi_regions; - while (walk) { - GstVaapiROI *region = (GstVaapiROI *) walk->data; - if (region->rect.x == roi->rect.x && - region->rect.y == roi->rect.y && - region->rect.width == roi->rect.width && - region->rect.height == roi->rect.height) { - encoder->roi_regions = g_list_remove (encoder->roi_regions, region); - g_free (region); - ret = TRUE; - break; - } - walk = walk->next; - } - - return ret; -} - /** Returns a GType for the #GstVaapiEncoderTune set */ GType gst_vaapi_encoder_tune_get_type (void) diff --git a/gst-libs/gst/vaapi/gstvaapiencoder.h b/gst-libs/gst/vaapi/gstvaapiencoder.h index d1869057..c610e8e1 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder.h +++ b/gst-libs/gst/vaapi/gstvaapiencoder.h @@ -140,11 +140,6 @@ typedef struct { GParamSpec *const pspec; } GstVaapiEncoderPropInfo; -typedef struct _GstVaapiROI { - gint roi_value; - GstVaapiRectangle rect; -} GstVaapiROI; - GType gst_vaapi_encoder_tune_get_type (void) G_GNUC_CONST; @@ -206,13 +201,6 @@ gst_vaapi_encoder_flush (GstVaapiEncoder * encoder); GArray * gst_vaapi_encoder_get_surface_formats (GstVaapiEncoder * encoder, GstVaapiProfile profile); - -gboolean -gst_vaapi_encoder_add_roi (GstVaapiEncoder * encoder, GstVaapiROI * roi); - -gboolean -gst_vaapi_encoder_del_roi (GstVaapiEncoder * encoder, GstVaapiROI * roi); - G_END_DECLS #endif /* GST_VAAPI_ENCODER_H */ diff --git a/gst-libs/gst/vaapi/gstvaapiencoder_priv.h b/gst-libs/gst/vaapi/gstvaapiencoder_priv.h index d71a49e1..2dccabce 100644 --- a/gst-libs/gst/vaapi/gstvaapiencoder_priv.h +++ b/gst-libs/gst/vaapi/gstvaapiencoder_priv.h @@ -283,9 +283,6 @@ struct _GstVaapiEncoder guint got_packed_headers:1; guint got_rate_control_mask:1; - /* Region of Interest */ - GList *roi_regions; - /* miscellaneous buffer parameters */ VAEncMiscParameterRateControl va_ratecontrol; VAEncMiscParameterFrameRate va_framerate; |