[Pkg-gstreamer-commits] [gstreamer-vaapi] 14/176: vaapiencode: minor clean-ups.

Vincent Cheng vcheng at moszumanska.debian.org
Tue Jun 3 08:09:23 UTC 2014


This is an automated email from the git hooks/post-receive script.

vcheng pushed a commit to branch upstream
in repository gstreamer-vaapi.

commit e01d48febad35337505d134175435fa578b55f6a
Author: Gwenole Beauchesne <gwenole.beauchesne at intel.com>
Date:   Tue Nov 26 16:34:14 2013 +0100

    vaapiencode: minor clean-ups.
    
    Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
    the GObject type system. We are guaranteed to only deal with the same
    plug-in element object.
---
 gst/vaapi/gstvaapiencode.c       |  69 ++++++++++--------------
 gst/vaapi/gstvaapiencode.h       |  35 +++++-------
 gst/vaapi/gstvaapiencode_h264.c  | 113 +++++++++++++++++++--------------------
 gst/vaapi/gstvaapiencode_h264.h  |  34 ++++++------
 gst/vaapi/gstvaapiencode_mpeg2.c |  50 ++++++++---------
 gst/vaapi/gstvaapiencode_mpeg2.h |  36 ++++++-------
 6 files changed, 151 insertions(+), 186 deletions(-)

diff --git a/gst/vaapi/gstvaapiencode.c b/gst/vaapi/gstvaapiencode.c
index eea6abf..facbbb2 100644
--- a/gst/vaapi/gstvaapiencode.c
+++ b/gst/vaapi/gstvaapiencode.c
@@ -45,11 +45,8 @@ typedef struct _GstVaapiEncodeFrameUserData
 } GstVaapiEncodeFrameUserData;
 
 GST_DEBUG_CATEGORY_STATIC (gst_vaapiencode_debug);
-
 #define GST_CAT_DEFAULT gst_vaapiencode_debug
 
-#define GstVideoContextClass GstVideoContextInterface
-
 /* GstImplementsInterface interface */
 #if !GST_CHECK_VERSION(1,0,0)
 static gboolean
@@ -66,12 +63,12 @@ gst_vaapiencode_implements_iface_init (GstImplementsInterfaceClass * iface)
 }
 #endif
 
-/* context(display) interface */
+/* GstContext interface */
 #if GST_CHECK_VERSION(1,1,0)
 static void
 gst_vaapiencode_set_context (GstElement * element, GstContext * context)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (element);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (element);
   GstVaapiDisplay *display = NULL;
 
   if (gst_vaapi_video_context_get_display (context, &display)) {
@@ -84,7 +81,7 @@ static void
 gst_vaapiencode_set_video_context (GstVideoContext * context,
     const gchar * type, const GValue * value)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (context);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (context);
 
   gst_vaapi_set_display (type, value, &encode->display);
 }
@@ -94,6 +91,8 @@ gst_video_context_interface_init (GstVideoContextInterface * iface)
 {
   iface->set_context = gst_vaapiencode_set_video_context;
 }
+
+#define GstVideoContextClass GstVideoContextInterface
 #endif
 
 G_DEFINE_TYPE_WITH_CODE (GstVaapiEncode,
@@ -112,10 +111,10 @@ static gboolean
 gst_vaapiencode_query (GstPad * pad, GstObject * parent,
     GstQuery * query)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (parent);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (parent);
   gboolean success;
 
-  GST_DEBUG ("vaapiencode query %s", GST_QUERY_TYPE_NAME (query));
+  GST_INFO_OBJECT(encode, "query type %s", GST_QUERY_TYPE_NAME(query));
 
   if (gst_vaapi_reply_to_query (query, encode->display))
     success = TRUE;
@@ -277,7 +276,7 @@ gst_vaapiencode_buffer_loop (GstVaapiEncode * encode)
 static GstCaps *
 gst_vaapiencode_get_caps_impl (GstVideoEncoder * venc)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (venc);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
   GstCaps *caps;
 
   if (encode->sinkpad_caps)
@@ -306,17 +305,8 @@ gst_vaapiencode_destroy (GstVaapiEncode * encode)
 {
   gst_vaapi_encoder_replace (&encode->encoder, NULL);
   g_clear_object (&encode->video_buffer_pool);
-
-  if (encode->sinkpad_caps) {
-    gst_caps_unref (encode->sinkpad_caps);
-    encode->sinkpad_caps = NULL;
-  }
-
-  if (encode->srcpad_caps) {
-    gst_caps_unref (encode->srcpad_caps);
-    encode->srcpad_caps = NULL;
-  }
-
+  gst_caps_replace (&encode->sinkpad_caps, NULL);
+  gst_caps_replace (&encode->srcpad_caps, NULL);
   gst_vaapi_display_replace (&encode->display, NULL);
   return TRUE;
 }
@@ -339,14 +329,15 @@ ensure_encoder (GstVaapiEncode * encode)
     return FALSE;
 
   encode->encoder = klass->create_encoder (encode, encode->display);
-  g_assert (encode->encoder);
-  return (encode->encoder ? TRUE : FALSE);
+  if (!encode->encoder)
+    return FALSE;
+  return TRUE;
 }
 
 static gboolean
 gst_vaapiencode_open (GstVideoEncoder * venc)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (venc);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
   GstVaapiDisplay *const old_display = encode->display;
   gboolean success;
 
@@ -354,18 +345,13 @@ gst_vaapiencode_open (GstVideoEncoder * venc)
   success = ensure_display (encode);
   if (old_display)
     gst_vaapi_display_unref (old_display);
-
-  GST_DEBUG ("ensure display %s, display:%p",
-      (success ? "okay" : "failed"), encode->display);
   return success;
 }
 
 static gboolean
 gst_vaapiencode_close (GstVideoEncoder * venc)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (venc);
-
-  GST_DEBUG ("vaapiencode starting close");
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
 
   return gst_vaapiencode_destroy (encode);
 }
@@ -502,7 +488,7 @@ error_pool_config:
 static gboolean
 gst_vaapiencode_set_format (GstVideoEncoder * venc, GstVideoCodecState * state)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (venc);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
 
   g_return_val_if_fail (state->caps != NULL, FALSE);
 
@@ -524,13 +510,12 @@ gst_vaapiencode_set_format (GstVideoEncoder * venc, GstVideoCodecState * state)
 
   return gst_pad_start_task (encode->srcpad,
       (GstTaskFunction) gst_vaapiencode_buffer_loop, encode, NULL);
-  return TRUE;
 }
 
 static gboolean
 gst_vaapiencode_reset (GstVideoEncoder * venc, gboolean hard)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (venc);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
 
   GST_DEBUG ("vaapiencode starting reset");
 
@@ -671,7 +656,7 @@ static GstFlowReturn
 gst_vaapiencode_handle_frame (GstVideoEncoder * venc,
     GstVideoCodecFrame * frame)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (venc);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
   GstFlowReturn ret = GST_FLOW_OK;
   GstVaapiEncoderStatus encoder_ret = GST_VAAPI_ENCODER_STATUS_SUCCESS;
   GstBuffer *buf;
@@ -707,12 +692,10 @@ end:
 static GstFlowReturn
 gst_vaapiencode_finish (GstVideoEncoder * venc)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (venc);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
   GstVaapiEncoderStatus status;
   GstFlowReturn ret = GST_FLOW_OK;
 
-  GST_DEBUG ("vaapiencode starting finish");
-
   status = gst_vaapi_encoder_flush (encode->encoder);
 
   GST_VIDEO_ENCODER_STREAM_UNLOCK (encode);
@@ -730,7 +713,7 @@ gst_vaapiencode_finish (GstVideoEncoder * venc)
 static gboolean
 gst_vaapiencode_propose_allocation (GstVideoEncoder * venc, GstQuery * query)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (venc);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (venc);
   GstCaps *caps = NULL;
   gboolean need_pool;
 
@@ -760,7 +743,7 @@ error_no_caps:
 static void
 gst_vaapiencode_finalize (GObject * object)
 {
-  GstVaapiEncode *const encode = GST_VAAPIENCODE (object);
+  GstVaapiEncode *const encode = GST_VAAPIENCODE_CAST (object);
 
   gst_vaapiencode_destroy (encode);
 
@@ -791,7 +774,9 @@ static void
 gst_vaapiencode_class_init (GstVaapiEncodeClass * klass)
 {
   GObjectClass *const object_class = G_OBJECT_CLASS (klass);
+#if GST_CHECK_VERSION(1,1,0)
   GstElementClass *const element_class = GST_ELEMENT_CLASS (klass);
+#endif
   GstVideoEncoderClass *const venc_class = GST_VIDEO_ENCODER_CLASS (klass);
 
   GST_DEBUG_CATEGORY_INIT (gst_vaapiencode_debug,
@@ -799,6 +784,10 @@ gst_vaapiencode_class_init (GstVaapiEncodeClass * klass)
 
   object_class->finalize = gst_vaapiencode_finalize;
 
+#if GST_CHECK_VERSION(1,1,0)
+  element_class->set_context = GST_DEBUG_FUNCPTR (gst_vaapiencode_set_context);
+#endif
+
   venc_class->open = GST_DEBUG_FUNCPTR (gst_vaapiencode_open);
   venc_class->close = GST_DEBUG_FUNCPTR (gst_vaapiencode_close);
   venc_class->set_format = GST_DEBUG_FUNCPTR (gst_vaapiencode_set_format);
@@ -812,10 +801,6 @@ gst_vaapiencode_class_init (GstVaapiEncodeClass * klass)
 
   klass->allocate_buffer = gst_vaapiencode_default_allocate_buffer;
 
-#if GST_CHECK_VERSION(1,1,0)
-  element_class->set_context = GST_DEBUG_FUNCPTR (gst_vaapiencode_set_context);
-#endif
-
   /* Registering debug symbols for function pointers */
   GST_DEBUG_REGISTER_FUNCPTR (gst_vaapiencode_query);
 }
diff --git a/gst/vaapi/gstvaapiencode.h b/gst/vaapi/gstvaapiencode.h
index 87e1a8e..e492acb 100644
--- a/gst/vaapi/gstvaapiencode.h
+++ b/gst/vaapi/gstvaapiencode.h
@@ -30,35 +30,26 @@
 G_BEGIN_DECLS
 
 #define GST_TYPE_VAAPIENCODE \
-    (gst_vaapiencode_get_type ())
-
+  (gst_vaapiencode_get_type ())
+#define GST_VAAPIENCODE_CAST(obj) \
+  ((GstVaapiEncode *)(obj))
+#define GST_VAAPIENCODE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VAAPIENCODE, GstVaapiEncode))
+#define GST_VAAPIENCODE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_VAAPIENCODE, GstVaapiEncodeClass))
+#define GST_VAAPIENCODE_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_VAAPIENCODE, GstVaapiEncodeClass))
 #define GST_IS_VAAPIENCODE(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VAAPIENCODE))
-
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VAAPIENCODE))
 #define GST_IS_VAAPIENCODE_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VAAPIENCODE))
-
-#define GST_VAAPIENCODE_GET_CLASS(obj)                  \
-    (G_TYPE_INSTANCE_GET_CLASS ((obj),                  \
-                                GST_TYPE_VAAPIENCODE,   \
-                                GstVaapiEncodeClass))
-
-#define GST_VAAPIENCODE(obj)                            \
-    (G_TYPE_CHECK_INSTANCE_CAST ((obj),                 \
-                                 GST_TYPE_VAAPIENCODE,  \
-                                 GstVaapiEncode))
-
-#define GST_VAAPIENCODE_CLASS(klass)                    \
-    (G_TYPE_CHECK_CLASS_CAST ((klass),                  \
-                              GST_TYPE_VAAPIENCODE,     \
-                              GstVaapiEncodeClass))
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VAAPIENCODE))
 
 typedef struct _GstVaapiEncode GstVaapiEncode;
 typedef struct _GstVaapiEncodeClass GstVaapiEncodeClass;
 
 struct _GstVaapiEncode
 {
-  /*< private > */
+  /*< private >*/
   GstVideoEncoder parent_instance;
 
   GstPad *sinkpad;
@@ -82,7 +73,7 @@ struct _GstVaapiEncode
 
 struct _GstVaapiEncodeClass
 {
-  /*< private > */
+  /*< private >*/
   GstVideoEncoderClass parent_class;
 
   GstVaapiEncoder *   (*create_encoder)    (GstVaapiEncode * encode,
diff --git a/gst/vaapi/gstvaapiencode_h264.c b/gst/vaapi/gstvaapiencode_h264.c
index 2f9293c..d3d7515 100644
--- a/gst/vaapi/gstvaapiencode_h264.c
+++ b/gst/vaapi/gstvaapiencode_h264.c
@@ -20,18 +20,13 @@
  */
 
 #include "gst/vaapi/sysdeps.h"
-#include "gst/vaapi/gstvaapicompat.h"
-
+#include <gst/vaapi/gstvaapivalue.h>
+#include <gst/vaapi/gstvaapidisplay.h>
+#include <gst/vaapi/gstvaapiencoder_h264.h>
+#include "gst/vaapi/gstvaapiencoder_h264_priv.h"
 #include "gstvaapiencode_h264.h"
 #include "gstvaapipluginutil.h"
 #include "gstvaapivideomemory.h"
-#include "gst/vaapi/gstvaapiencoder_h264.h"
-#include "gst/vaapi/gstvaapiencoder_h264_priv.h"
-#include "gst/vaapi/gstvaapidisplay.h"
-#include "gst/vaapi/gstvaapivalue.h"
-#include "gst/vaapi/gstvaapisurface.h"
-
-#include <string.h>
 
 GST_DEBUG_CATEGORY_STATIC (gst_vaapi_h264_encode_debug);
 #define GST_CAT_DEFAULT gst_vaapi_h264_encode_debug
@@ -69,14 +64,14 @@ G_DEFINE_TYPE (GstVaapiEncodeH264, gst_vaapiencode_h264, GST_TYPE_VAAPIENCODE)
 
 enum
 {
-  H264_PROP_0,
-  H264_PROP_RATE_CONTROL,
-  H264_PROP_BITRATE,
-  H264_PROP_KEY_PERIOD,
-  H264_PROP_MAX_BFRAMES,
-  H264_PROP_INIT_QP,
-  H264_PROP_MIN_QP,
-  H264_PROP_NUM_SLICES,
+  PROP_0,
+  PROP_RATE_CONTROL,
+  PROP_BITRATE,
+  PROP_KEY_PERIOD,
+  PROP_MAX_BFRAMES,
+  PROP_INIT_QP,
+  PROP_MIN_QP,
+  PROP_NUM_SLICES,
 };
 
 static void
@@ -94,28 +89,28 @@ static void
 gst_vaapiencode_h264_set_property (GObject * object,
     guint prop_id, const GValue * value, GParamSpec * pspec)
 {
-  GstVaapiEncodeH264 *const encode = GST_VAAPIENCODE_H264 (object);
+  GstVaapiEncodeH264 *const encode = GST_VAAPIENCODE_H264_CAST (object);
 
   switch (prop_id) {
-    case H264_PROP_RATE_CONTROL:
+    case PROP_RATE_CONTROL:
       encode->rate_control = g_value_get_enum (value);
       break;
-    case H264_PROP_BITRATE:
+    case PROP_BITRATE:
       encode->bitrate = g_value_get_uint (value);
       break;
-    case H264_PROP_KEY_PERIOD:
+    case PROP_KEY_PERIOD:
       encode->intra_period = g_value_get_uint (value);
       break;
-    case H264_PROP_INIT_QP:
+    case PROP_INIT_QP:
       encode->init_qp = g_value_get_uint (value);
       break;
-    case H264_PROP_MIN_QP:
+    case PROP_MIN_QP:
       encode->min_qp = g_value_get_uint (value);
       break;
-    case H264_PROP_NUM_SLICES:
+    case PROP_NUM_SLICES:
       encode->num_slices = g_value_get_uint (value);
       break;
-    case H264_PROP_MAX_BFRAMES:
+    case PROP_MAX_BFRAMES:
       encode->max_bframes = g_value_get_uint (value);
       break;
     default:
@@ -128,28 +123,28 @@ static void
 gst_vaapiencode_h264_get_property (GObject * object,
     guint prop_id, GValue * value, GParamSpec * pspec)
 {
-  GstVaapiEncodeH264 *const encode = GST_VAAPIENCODE_H264 (object);
+  GstVaapiEncodeH264 *const encode = GST_VAAPIENCODE_H264_CAST (object);
 
   switch (prop_id) {
-    case H264_PROP_RATE_CONTROL:
+    case PROP_RATE_CONTROL:
       g_value_set_enum (value, encode->rate_control);
       break;
-    case H264_PROP_BITRATE:
+    case PROP_BITRATE:
       g_value_set_uint (value, encode->bitrate);
       break;
-    case H264_PROP_KEY_PERIOD:
+    case PROP_KEY_PERIOD:
       g_value_set_uint (value, encode->intra_period);
       break;
-    case H264_PROP_INIT_QP:
+    case PROP_INIT_QP:
       g_value_set_uint (value, encode->init_qp);
       break;
-    case H264_PROP_MIN_QP:
+    case PROP_MIN_QP:
       g_value_set_uint (value, encode->min_qp);
       break;
-    case H264_PROP_NUM_SLICES:
+    case PROP_NUM_SLICES:
       g_value_set_uint (value, encode->num_slices);
       break;
-    case H264_PROP_MAX_BFRAMES:
+    case PROP_MAX_BFRAMES:
       g_value_set_uint (value, encode->max_bframes);
       break;
     default:
@@ -162,23 +157,25 @@ static GstVaapiEncoder *
 gst_vaapiencode_h264_create_encoder (GstVaapiEncode * base,
     GstVaapiDisplay * display)
 {
-  GstVaapiEncodeH264 *const encode = GST_VAAPIENCODE_H264 (base);
-  GstVaapiEncoder *ret;
-  GstVaapiEncoderH264 *h264encoder;
-
-  ret = gst_vaapi_encoder_h264_new (display);
-  h264encoder = GST_VAAPI_ENCODER_H264 (ret);
-
-  h264encoder->profile = GST_VAAPI_PROFILE_UNKNOWN;
-  h264encoder->level = GST_VAAPI_ENCODER_H264_DEFAULT_LEVEL;
-  GST_VAAPI_ENCODER_RATE_CONTROL (h264encoder) = encode->rate_control;
-  h264encoder->bitrate = encode->bitrate;
-  h264encoder->intra_period = encode->intra_period;
-  h264encoder->init_qp = encode->init_qp;
-  h264encoder->min_qp = encode->min_qp;
-  h264encoder->slice_num = encode->num_slices;
-  h264encoder->b_frame_num = encode->max_bframes;
-  return ret;
+  GstVaapiEncodeH264 *const encode = GST_VAAPIENCODE_H264_CAST (base);
+  GstVaapiEncoder *base_encoder;
+  GstVaapiEncoderH264 *encoder;
+
+  base_encoder = gst_vaapi_encoder_h264_new (display);
+  if (!base_encoder)
+    return NULL;
+  encoder = GST_VAAPI_ENCODER_H264 (base_encoder);
+
+  encoder->profile = GST_VAAPI_PROFILE_UNKNOWN;
+  encoder->level = GST_VAAPI_ENCODER_H264_DEFAULT_LEVEL;
+  GST_VAAPI_ENCODER_RATE_CONTROL (encoder) = encode->rate_control;
+  encoder->bitrate = encode->bitrate;
+  encoder->intra_period = encode->intra_period;
+  encoder->init_qp = encode->init_qp;
+  encoder->min_qp = encode->min_qp;
+  encoder->slice_num = encode->num_slices;
+  encoder->b_frame_num = encode->max_bframes;
+  return base_encoder;
 }
 
 /* h264 NAL byte stream operations */
@@ -292,7 +289,7 @@ gst_vaapiencode_h264_alloc_buffer (GstVaapiEncode * encode,
   if (!gst_vaapi_encoder_h264_is_avc (h264encoder))
     return ret;
 
-  /* convert to avc format */
+  /* Convert to avcC format */
   if (!_h264_convert_byte_stream_to_avc (*out_buf)) {
     GST_ERROR ("convert H.264 bytestream to avc buf failed.");
     gst_buffer_replace (out_buf, NULL);
@@ -333,7 +330,7 @@ gst_vaapiencode_h264_class_init (GstVaapiEncodeH264Class * klass)
       );
 
   g_object_class_install_property (object_class,
-      H264_PROP_RATE_CONTROL,
+      PROP_RATE_CONTROL,
       g_param_spec_enum ("rate-control",
           "Rate Control",
           "Rate control mode",
@@ -342,14 +339,14 @@ gst_vaapiencode_h264_class_init (GstVaapiEncodeH264Class * klass)
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_property (object_class,
-      H264_PROP_BITRATE,
+      PROP_BITRATE,
       g_param_spec_uint ("bitrate",
           "Bitrate (kbps)",
           "The desired bitrate expressed in kbps (0: auto-calculate)",
           0, 100 * 1024, 0, G_PARAM_READWRITE));
 
   g_object_class_install_property (object_class,
-      H264_PROP_KEY_PERIOD,
+      PROP_KEY_PERIOD,
       g_param_spec_uint ("key-period",
           "Key Period",
           "Maximal distance between two key-frames",
@@ -357,27 +354,27 @@ gst_vaapiencode_h264_class_init (GstVaapiEncodeH264Class * klass)
           300, GST_VAAPI_ENCODER_H264_DEFAULT_INTRA_PERIOD, G_PARAM_READWRITE));
 
   g_object_class_install_property (object_class,
-      H264_PROP_MAX_BFRAMES,
+      PROP_MAX_BFRAMES,
       g_param_spec_uint ("max-bframes",
           "Max B-Frames",
           "Number of B-frames between I and P", 0, 10, 0, G_PARAM_READWRITE));
 
   g_object_class_install_property (object_class,
-      H264_PROP_INIT_QP,
+      PROP_INIT_QP,
       g_param_spec_uint ("init-qp",
           "Initial QP",
           "Initial quantizer value",
           1, 51, GST_VAAPI_ENCODER_H264_DEFAULT_INIT_QP, G_PARAM_READWRITE));
 
   g_object_class_install_property (object_class,
-      H264_PROP_MIN_QP,
+      PROP_MIN_QP,
       g_param_spec_uint ("min-qp",
           "Minimum QP",
           "Minimum quantizer value",
           1, 51, GST_VAAPI_ENCODER_H264_DEFAULT_MIN_QP, G_PARAM_READWRITE));
 
   g_object_class_install_property (object_class,
-      H264_PROP_NUM_SLICES,
+      PROP_NUM_SLICES,
       g_param_spec_uint ("num-slices",
           "Number of Slices", "Number of slices per frame", 1, 200,
           1, G_PARAM_READWRITE));
diff --git a/gst/vaapi/gstvaapiencode_h264.h b/gst/vaapi/gstvaapiencode_h264.h
index 10fe3c8..e7b2cfa 100644
--- a/gst/vaapi/gstvaapiencode_h264.h
+++ b/gst/vaapi/gstvaapiencode_h264.h
@@ -29,32 +29,29 @@ G_BEGIN_DECLS
 
 #define GST_TYPE_VAAPIENCODE_H264 \
     (gst_vaapiencode_h264_get_type ())
+#define GST_VAAPIENCODE_H264_CAST(obj) \
+  ((GstVaapiEncodeH264 *)(obj))
+#define GST_VAAPIENCODE_H264(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VAAPIENCODE_H264, \
+      GstVaapiEncodeH264))
+#define GST_VAAPIENCODE_H264_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_VAAPIENCODE_H264, \
+      GstVaapiEncodeH264Class))
+#define GST_VAAPIENCODE_H264_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_VAAPIENCODE_H264, \
+      GstVaapiEncodeH264Class))
 #define GST_IS_VAAPIENCODE_H264(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VAAPIENCODE_H264))
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VAAPIENCODE_H264))
 #define GST_IS_VAAPIENCODE_H264_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VAAPIENCODE_H264))
-
-#define GST_VAAPIENCODE_H264_GET_CLASS(obj)                     \
-    (G_TYPE_INSTANCE_GET_CLASS ((obj),                          \
-                                GST_TYPE_VAAPIENCODE_H264,      \
-                                GstVaapiEncodeH264Class))
-
-#define GST_VAAPIENCODE_H264(obj)                               \
-    (G_TYPE_CHECK_INSTANCE_CAST ((obj),                         \
-                                 GST_TYPE_VAAPIENCODE_H264,     \
-                                 GstVaapiEncodeH264))
-
-#define GST_VAAPIENCODE_H264_CLASS(klass)                       \
-    (G_TYPE_CHECK_CLASS_CAST ((klass),                          \
-                              GST_TYPE_VAAPIENCODE_H264,        \
-                              GstVaapiEncodeH264Class))
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VAAPIENCODE_H264))
 
 typedef struct _GstVaapiEncodeH264 GstVaapiEncodeH264;
 typedef struct _GstVaapiEncodeH264Class GstVaapiEncodeH264Class;
 
 struct _GstVaapiEncodeH264
 {
-  GstVaapiEncode parent;
+  /*< private >*/
+  GstVaapiEncode parent_instance;
 
   GstVaapiProfile profile;
   guint32 level;
@@ -69,6 +66,7 @@ struct _GstVaapiEncodeH264
 
 struct _GstVaapiEncodeH264Class
 {
+  /*< private >*/
   GstVaapiEncodeClass parent_class;
 };
 
diff --git a/gst/vaapi/gstvaapiencode_mpeg2.c b/gst/vaapi/gstvaapiencode_mpeg2.c
index 2bd9677..fa3e152 100644
--- a/gst/vaapi/gstvaapiencode_mpeg2.c
+++ b/gst/vaapi/gstvaapiencode_mpeg2.c
@@ -20,18 +20,13 @@
  */
 
 #include "gst/vaapi/sysdeps.h"
-#include "gst/vaapi/gstvaapicompat.h"
-
+#include <gst/vaapi/gstvaapivalue.h>
+#include <gst/vaapi/gstvaapidisplay.h>
+#include <gst/vaapi/gstvaapiencoder_mpeg2.h>
+#include "gst/vaapi/gstvaapiencoder_mpeg2_priv.h"
 #include "gstvaapiencode_mpeg2.h"
 #include "gstvaapipluginutil.h"
 #include "gstvaapivideomemory.h"
-#include "gst/vaapi/gstvaapiencoder_mpeg2.h"
-#include "gst/vaapi/gstvaapiencoder_mpeg2_priv.h"
-#include "gst/vaapi/gstvaapidisplay.h"
-#include "gst/vaapi/gstvaapivalue.h"
-#include "gst/vaapi/gstvaapisurface.h"
-
-#include <string.h>
 
 GST_DEBUG_CATEGORY_STATIC (gst_vaapi_mpeg2_encode_debug);
 #define GST_CAT_DEFAULT gst_vaapi_mpeg2_encode_debug
@@ -98,7 +93,7 @@ static void
 gst_vaapiencode_mpeg2_set_property (GObject * object,
     guint prop_id, const GValue * value, GParamSpec * pspec)
 {
-  GstVaapiEncodeMpeg2 *encode = GST_VAAPIENCODE_MPEG2 (object);
+  GstVaapiEncodeMpeg2 *encode = GST_VAAPIENCODE_MPEG2_CAST (object);
 
   switch (prop_id) {
     case PROP_RATE_CONTROL:
@@ -134,7 +129,7 @@ static void
 gst_vaapiencode_mpeg2_get_property (GObject * object,
     guint prop_id, GValue * value, GParamSpec * pspec)
 {
-  GstVaapiEncodeMpeg2 *encode = GST_VAAPIENCODE_MPEG2 (object);
+  GstVaapiEncodeMpeg2 *encode = GST_VAAPIENCODE_MPEG2_CAST (object);
 
   switch (prop_id) {
     case PROP_RATE_CONTROL:
@@ -162,22 +157,23 @@ static GstVaapiEncoder *
 gst_vaapiencode_mpeg2_create_encoder (GstVaapiEncode * base,
     GstVaapiDisplay * display)
 {
-  GstVaapiEncodeMpeg2 *encode = GST_VAAPIENCODE_MPEG2 (base);
-  GstVaapiEncoder *ret;
-  GstVaapiEncoderMpeg2 *mpeg2encoder;
-
-  ret = gst_vaapi_encoder_mpeg2_new (display);
-  mpeg2encoder = GST_VAAPI_ENCODER_MPEG2 (ret);
-
-  mpeg2encoder->profile = GST_VAAPI_ENCODER_MPEG2_DEFAULT_PROFILE;
-  mpeg2encoder->level = GST_VAAPI_ENCODER_MPEG2_DEFAULT_LEVEL;
-  GST_VAAPI_ENCODER_RATE_CONTROL (mpeg2encoder) = encode->rate_control;
-  mpeg2encoder->bitrate = encode->bitrate;
-  mpeg2encoder->cqp = encode->quantizer;
-  mpeg2encoder->intra_period = encode->intra_period;
-  mpeg2encoder->ip_period = encode->ip_period;
-
-  return ret;
+  GstVaapiEncodeMpeg2 *encode = GST_VAAPIENCODE_MPEG2_CAST (base);
+  GstVaapiEncoder *base_encoder;
+  GstVaapiEncoderMpeg2 *encoder;
+
+  base_encoder = gst_vaapi_encoder_mpeg2_new (display);
+  if (!base_encoder)
+    return NULL;
+  encoder = GST_VAAPI_ENCODER_MPEG2 (base_encoder);
+
+  encoder->profile = GST_VAAPI_ENCODER_MPEG2_DEFAULT_PROFILE;
+  encoder->level = GST_VAAPI_ENCODER_MPEG2_DEFAULT_LEVEL;
+  GST_VAAPI_ENCODER_RATE_CONTROL (encoder) = encode->rate_control;
+  encoder->bitrate = encode->bitrate;
+  encoder->cqp = encode->quantizer;
+  encoder->intra_period = encode->intra_period;
+  encoder->ip_period = encode->ip_period;
+  return base_encoder;
 }
 
 static void
diff --git a/gst/vaapi/gstvaapiencode_mpeg2.h b/gst/vaapi/gstvaapiencode_mpeg2.h
index f6be378..6658e79 100644
--- a/gst/vaapi/gstvaapiencode_mpeg2.h
+++ b/gst/vaapi/gstvaapiencode_mpeg2.h
@@ -28,33 +28,30 @@
 G_BEGIN_DECLS
 
 #define GST_TYPE_VAAPIENCODE_MPEG2 \
-    (gst_vaapiencode_mpeg2_get_type())
+    (gst_vaapiencode_mpeg2_get_type ())
+#define GST_VAAPIENCODE_MPEG2_CAST(obj) \
+  ((GstVaapiEncodeMpeg2 *)(obj))
+#define GST_VAAPIENCODE_MPEG2(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_VAAPIENCODE_MPEG2, \
+      GstVaapiEncodeMpeg2))
+#define GST_VAAPIENCODE_MPEG2_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_VAAPIENCODE_MPEG2, \
+      GstVaapiEncodeMpeg2Class))
+#define GST_VAAPIENCODE_MPEG2_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_VAAPIENCODE_MPEG2, \
+      GstVaapiEncodeMpeg2Class))
 #define GST_IS_VAAPIENCODE_MPEG2(obj) \
-    (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VAAPIENCODE_MPEG2))
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_VAAPIENCODE_MPEG2))
 #define GST_IS_VAAPIENCODE_MPEG2_CLASS(klass) \
-    (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VAAPIENCODE_MPEG2))
-
-#define GST_VAAPIENCODE_MPEG2_GET_CLASS(obj)                   \
-    (G_TYPE_INSTANCE_GET_CLASS ((obj),                         \
-                                GST_TYPE_VAAPIENCODE_MPEG2,    \
-                                GstVaapiEncodeMpeg2Class))
-
-#define GST_VAAPIENCODE_MPEG2(obj)                             \
-    (G_TYPE_CHECK_INSTANCE_CAST ((obj),                        \
-                                 GST_TYPE_VAAPIENCODE_MPEG2,   \
-                                 GstVaapiEncodeMpeg2))
-
-#define GST_VAAPIENCODE_MPEG2_CLASS(klass)                     \
-    (G_TYPE_CHECK_CLASS_CAST ((klass),                         \
-                              GST_TYPE_VAAPIENCODE_MPEG2,      \
-                              GstVaapiEncodeMpeg2Class))
+  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_VAAPIENCODE_MPEG2))
 
 typedef struct _GstVaapiEncodeMpeg2 GstVaapiEncodeMpeg2;
 typedef struct _GstVaapiEncodeMpeg2Class GstVaapiEncodeMpeg2Class;
 
 struct _GstVaapiEncodeMpeg2
 {
-  GstVaapiEncode parent;
+  /*< private >*/
+  GstVaapiEncode parent_instance;
 
   GstVaapiRateControl rate_control;
   guint32 bitrate;              /* kbps */
@@ -65,6 +62,7 @@ struct _GstVaapiEncodeMpeg2
 
 struct _GstVaapiEncodeMpeg2Class
 {
+  /*< private >*/
   GstVaapiEncodeClass parent_class;
 };
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gstreamer/gstreamer-vaapi.git



More information about the Pkg-gstreamer-commits mailing list