Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Wed, 21 Feb 2018 16:56:47 +0000 (10:56 -0600)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 27 Feb 2018 22:51:02 +0000 (17:51 -0500)
This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.

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

gst/vaapi/gstvaapiencode.c
gst/vaapi/gstvaapiencode_h264.c

index 5bc67c5..159cd85 100644 (file)
@@ -787,45 +787,6 @@ gst_vaapiencode_sink_event (GstVideoEncoder * venc, GstEvent * event)
   GstPad *const srcpad = GST_VAAPI_PLUGIN_BASE_SRC_PAD (encode);
   gboolean ret;
 
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_CUSTOM_DOWNSTREAM:{
-      const GstStructure *s = gst_event_get_structure (event);
-      if (gst_structure_has_name (s, "GstVaapiEncoderRegionOfInterest")) {
-        GstVaapiROI roi;
-
-        if (!encode->encoder)
-          return TRUE;
-
-        if (!gst_structure_get_uint (s, "roi-x", &roi.rect.x) ||
-            !gst_structure_get_uint (s, "roi-y", &roi.rect.y) ||
-            !gst_structure_get_uint (s, "roi-width", &roi.rect.width) ||
-            !gst_structure_get_uint (s, "roi-height", &roi.rect.height) ||
-            !gst_structure_get_int (s, "roi-value", &roi.roi_value)) {
-          return TRUE;
-        }
-
-        if (roi.roi_value == 0) {
-          ret = gst_vaapi_encoder_del_roi (encode->encoder, &roi);
-          if (ret) {
-            GST_INFO_OBJECT (venc, "ROI: region with %d/%d/%d/%d is removed",
-                roi.rect.x, roi.rect.y, roi.rect.width, roi.rect.height);
-          }
-        } else {
-          ret = gst_vaapi_encoder_add_roi (encode->encoder, &roi);
-          if (ret) {
-            GST_INFO_OBJECT (venc, "ROI: region with %d/%d/%d/%d is added",
-                roi.rect.x, roi.rect.y, roi.rect.width, roi.rect.height);
-          }
-        }
-        gst_event_unref (event);
-        return ret;
-      }
-      break;
-    }
-    default:
-      break;
-  }
-
   ret = GST_VIDEO_ENCODER_CLASS (gst_vaapiencode_parent_class)->sink_event
       (venc, event);
   if (!ret)
index f963de9..96e6ef5 100644 (file)
  *  gst-launch-1.0 -ev videotestsrc num-buffers=60 ! timeoverlay ! vaapih264enc ! h264parse ! mp4mux ! filesink location=test.mp4
  * ]|
  * </refsect2>
- *
- * <refsect2>
- * <title>Region of Interest</title>
- * Since libva supports Region Of Interest for avc encoding depending on H/W,
- * GStreamer VA-API supports it by #GstEvent.
- * To enable ROI, an application must send an event of type GST_EVENT_CUSTOM_DOWNSTREAM,
- * having a structure of name "GstVaapiEncoderRegionOfInterest" with fields set
- * according to the following table:
- *
- * <informaltable>
- * <tgroup cols='3'>
- * <colspec colname='Name' />
- * <colspec colname='Type' />
- * <colspec colname='Purpose' />
- * <thead>
- * <row>
- * <entry>Name</entry>
- * <entry>GType</entry>
- * <entry>Description</entry>
- * </row>
- * </thead>
- * <tbody>
- * <row>
- * <entry>roi-value</entry>
- * <entry>G_TYPE_INT</entry>
- * <entry>specifies ROI delta QP or ROI priority.
- * ROI delta QP is the value that will be added on top of the frame level QP.
- * ROI priority specifies the priority of a region, it can be positive (more important)
- * or negative (less important) values and is compared with non-ROI region (taken as value 0),
- *
- * </entry>
- * </row>
- * <row>
- * <entry>roi-x</entry>
- * <entry>G_TYPE_UINT</entry>
- * <entry>X</entry>
- * </row>
- * <row>
- * <entry>roi-y</entry>
- * <entry>G_TYPE_UINT</entry>
- * <entry>Y</entry>
- * </row>
- * <row>
- * <entry>roi-width</entry>
- * <entry>G_TYPE_UINT</entry>
- * <entry>width</entry>
- * </row>
- * <row>
- * <entry>roi-height</entry>
- * <entry>G_TYPE_UINT</entry>
- * <entry>height</entry>
- * </row>
- * </tbody>
- * </tgroup>
- * </informaltable>
- *
- * For example, the following code informs the encoder to enable ROI
- * with a region for ROI.
- * Note that if an application wants to disable the region,
- * just send an event with roi-value=0 and same coordination.
- *
- * <programlisting>
- *   GstEvent *event = gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM,
- *       gst_structure_new ("GstVaapiEncoderRegionOfInterest",
- *       "roi-x", G_TYPE_UINT, 1820,
- *       "roi-y", G_TYPE_UINT, 980,
- *       "roi-width", G_TYPE_UINT, 100,
- *       "roi-height", G_TYPE_UINT, 100,
- *       "roi-value", G_TYPE_INT, 4, NULL));
- *
- * gst_element_send_event (pipeline, event);
- * </programlisting>
- * </refsect2>
- *
  */
 
 #include "gstcompat.h"