[Bug 768248] vaapiencode: Add Encoding region-of-interest (ROI) support

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Feb 17 15:48:25 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=768248

Víctor Manuel Jáquez Leal <vjaquez at igalia.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #344626|none                        |needs-work
             status|                            |

--- Comment #10 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
Review of attachment 344626:
 --> (https://bugzilla.gnome.org/review?bug=768248&attachment=344626)

::: gst-libs/gst/vaapi/gstvaapiencoder.c
@@ +1230,3 @@
+
+  if (!config->roi_capability)
+    return;

Turn the function into boolean to report back if it's possible to execute the
operation.

@@ +1240,3 @@
+    g_array_free (encoder->roi_regions, FALSE);
+
+  encoder->roi_regions = g_array_new (FALSE, FALSE, sizeof (GstVaapiROI));

As we know the size, we should use g_array_sized_new ()

::: gst-libs/gst/vaapi/gstvaapiencoder.h
@@ +129,3 @@
+  guint w;
+  guint h;
+} GstVaapiROI;

I would reuse the GstVaapiRectangle nested in GstVaapiROI

@@ +187,3 @@

+void
+gst_vaapi_encoder_set_roi (GstVaapiEncoder * encoder, GArray * roi_regions);

What about an API to add and delete single ROIs??

gboolean gst_vaapi_encoder_add_roi (GstVaapiEncoder * encoder, GstVaapiROI *
roi);
gboolean gst_vaapi_encoder_del_roi (GstVaapiEncoder * encoder, GstVaapiROI *
roi);

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list