encoder(h264,h263,mpeg4): changed styles, names
[profile/ivi/gstreamer-vaapi.git] / gst-libs / gst / vaapi / gstvaapiencoder_h264.c
similarity index 90%
rename from gst/vaapiencode/gstvaapih264encoder.c
rename to gst-libs/gst/vaapi/gstvaapiencoder_h264.c
index 3b4e622..01c5962 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  gstvaapih264encoder.c -  H.264 encoder
+ *  gstvaapiencoder_h264.c -  H.264 encoder
  *
  *  Copyright (C) 2011 Intel Corporation
  *
@@ -19,7 +19,7 @@
  *  Boston, MA 02110-1301 USA
  */
 
-#include "gstvaapih264encoder.h"
+#include "gstvaapiencoder_h264.h"
 
 #include <string.h>
 #include <stdlib.h>
@@ -83,8 +83,8 @@ typedef enum {
   SLICE_TYPE_I  = 2
 } H264_SLICE_TYPE;
 
-struct _GstH264EncoderPrivate {
-  GstH264Encoder   *public;
+struct _GstVaapiEncoderH264Private {
+  GstVaapiEncoderH264   *public;
   guint32           format;   /*NV12, I420,*/
   gboolean          avc_flag;  /*elementary flag*/
 
@@ -123,7 +123,7 @@ struct _GstH264EncoderPrivate {
   guint64           last_decode_time;
 };
 
-G_DEFINE_TYPE(GstH264Encoder, gst_h264_encoder, GST_TYPE_VAAPI_BASE_ENCODER);
+G_DEFINE_TYPE(GstVaapiEncoderH264, gst_vaapi_encoder_h264, GST_TYPE_VAAPI_BASE_ENCODER);
 
 
 // 4096-1
@@ -142,33 +142,33 @@ typedef struct _H264Bitstream H264Bitstream;
 
 static const guint8 h264_bit_mask[9] = {0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x3F, 0x7F, 0xFF};
 
-static EncoderStatus gst_h264_encoder_flush(GstVaapiEncoder* encoder, GstVaapiDisplay *display,
+static EncoderStatus gst_vaapi_encoder_h264_flush(GstVaapiEncoder* encoder, GstVaapiDisplay *display,
                                     GstVaapiContext *context, GList **coded_pics);
 
 /*other functions*/
 /*other functions*/
-static EncoderStatus gst_h264_encoder_get_codec_data(
+static EncoderStatus gst_vaapi_encoder_h264_get_codec_data(
                                     GstVaapiEncoder* encoder, GstBuffer **buffer);
 static gboolean      gst_h264_validate_parameters(GstVaapiBaseEncoder *encoder);
-static void          gst_h264_encoder_finalize(GObject *object);
-static void          gst_h264_encoder_init_public_values(GstH264Encoder* encoder);
+static void          gst_vaapi_encoder_h264_finalize(GObject *object);
+static void          gst_vaapi_encoder_h264_init_public_values(GstVaapiEncoderH264* encoder);
 
-static gboolean      gst_h264_encoder_alloc_slices(GstVaapiBaseEncoder *encoder,
+static gboolean      gst_vaapi_encoder_h264_alloc_slices(GstVaapiBaseEncoder *encoder,
                                     GstVaapiDisplay *display, GstVaapiContext *context);
-static gboolean      gst_h264_encoder_release_resource(GstVaapiBaseEncoder* encoder,
+static gboolean      gst_vaapi_encoder_h264_release_resource(GstVaapiBaseEncoder* encoder,
                                     GstVaapiDisplay *display, GstVaapiContext *context);
-static EncoderStatus gst_h264_encoder_prepare_next_buffer(GstVaapiBaseEncoder* encoder,
+static EncoderStatus gst_vaapi_encoder_h264_prepare_next_buffer(GstVaapiBaseEncoder* encoder,
                                     GstVaapiVideoBuffer *display_buf,  gboolean need_flush,
                                     GstVaapiVideoBuffer **out_buf);
-static void          gst_h264_encoder_frame_failed(GstVaapiBaseEncoder *encoder,
+static void          gst_vaapi_encoder_h264_frame_failed(GstVaapiBaseEncoder *encoder,
                                     GstVaapiVideoBuffer* buffer);
-static EncoderStatus gst_h264_encoder_rendering(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *display,
+static EncoderStatus gst_vaapi_encoder_h264_rendering(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *display,
                                     GstVaapiContext *context, GstVaapiSurface *surface,
                                     guint frame_index, VABufferID coded_buf, gboolean *is_key);
 static void          gst_h264_notify_frame(GstVaapiBaseEncoder *encoder, guint8 *buf, guint32 size);
 //static EncoderStatus h264_encoder_read_sps_pps(
-//                                    GstH264EncoderPrivate *h264_prv, const guint8 *buf, guint32 size);
-static GstBuffer    *gst_h264_encoder_copy_coded_buffer(GstVaapiBaseEncoder *encoder,
+//                                    GstVaapiEncoderH264Private *h264_prv, const guint8 *buf, guint32 size);
+static GstBuffer    *gst_vaapi_encoder_h264_copy_coded_buffer(GstVaapiBaseEncoder *encoder,
                                     guint8 *frame, guint32 frame_size, VABufferID *coded_buf);
 
 /* h264 bitstream functions */
@@ -192,35 +192,35 @@ static gboolean h264_read_sps_attributes(const guint8 *sps_data, guint32 sps_siz
                                     guint32 *profile_idc, guint32 *profile_comp, guint32 *level_idc);
 
 static void
-gst_h264_encoder_class_init(GstH264EncoderClass *klass)
+gst_vaapi_encoder_h264_class_init(GstVaapiEncoderH264Class *klass)
 {
   GObjectClass * const object_class = G_OBJECT_CLASS(klass);
   GstVaapiEncoderClass * const encoder_class = GST_VAAPI_ENCODER_CLASS(klass);
   GstVaapiBaseEncoderClass * const base_class = GST_VAAPI_BASE_ENCODER_CLASS(klass);
 
-  g_type_class_add_private(klass, sizeof(GstH264EncoderPrivate));
+  g_type_class_add_private(klass, sizeof(GstVaapiEncoderH264Private));
 
   GST_DEBUG_CATEGORY_INIT (gst_vaapi_h264_encoder_debug, "gst_va_h264_encoder", 0,
       "gst_va_h264_encoder element");
 
-  object_class->finalize = gst_h264_encoder_finalize;
+  object_class->finalize = gst_vaapi_encoder_h264_finalize;
 
   base_class->validate_attributes = gst_h264_validate_parameters;
-  base_class->pre_alloc_resource  = gst_h264_encoder_alloc_slices;
-  base_class->release_resource    = gst_h264_encoder_release_resource;
-  base_class->prepare_next_input_buffer = gst_h264_encoder_prepare_next_buffer;
-  base_class->render_frame = gst_h264_encoder_rendering;
+  base_class->pre_alloc_resource  = gst_vaapi_encoder_h264_alloc_slices;
+  base_class->release_resource    = gst_vaapi_encoder_h264_release_resource;
+  base_class->prepare_next_input_buffer = gst_vaapi_encoder_h264_prepare_next_buffer;
+  base_class->render_frame = gst_vaapi_encoder_h264_rendering;
   base_class->notify_frame = gst_h264_notify_frame;
-  base_class->copy_coded_frame = gst_h264_encoder_copy_coded_buffer;
-  base_class->encode_frame_failed = gst_h264_encoder_frame_failed;
+  base_class->copy_coded_frame = gst_vaapi_encoder_h264_copy_coded_buffer;
+  base_class->encode_frame_failed = gst_vaapi_encoder_h264_frame_failed;
 
-  encoder_class->flush = gst_h264_encoder_flush;
+  encoder_class->flush = gst_vaapi_encoder_h264_flush;
 
-  encoder_class->get_codec_data = gst_h264_encoder_get_codec_data;
+  encoder_class->get_codec_data = gst_vaapi_encoder_h264_get_codec_data;
 
   /*
-  object_class->set_property = gst_h264_encoder_set_property;
-  object_class->get_property = gst_h264_encoder_get_property;
+  object_class->set_property = gst_vaapi_encoder_h264_set_property;
+  object_class->get_property = gst_vaapi_encoder_h264_get_property;
   */
 }
 
@@ -244,14 +244,14 @@ h264_get_va_profile(guint32 profile)
 }
 
 static void
-gst_h264_encoder_init(GstH264Encoder *encoder)
+gst_vaapi_encoder_h264_init(GstVaapiEncoderH264 *encoder)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(encoder);
   ENCODER_ASSERT(h264_prv);
   h264_prv->public = encoder;
 
   /* init public attributes */
-  gst_h264_encoder_init_public_values(encoder);
+  gst_vaapi_encoder_h264_init_public_values(encoder);
   gst_vaapi_base_encoder_set_frame_notify(GST_VAAPI_BASE_ENCODER(encoder), TRUE);
 
   /* init private values*/
@@ -286,11 +286,11 @@ gst_h264_encoder_init(GstH264Encoder *encoder)
 }
 
 static void
-gst_h264_encoder_finalize(GObject *object)
+gst_vaapi_encoder_h264_finalize(GObject *object)
 {
   /*free private buffers*/
   GstVaapiEncoder *encoder = GST_VAAPI_ENCODER(object);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(object);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(object);
 
   if (gst_vaapi_encoder_get_state(encoder) != VAAPI_ENC_NULL) {
     gst_vaapi_encoder_uninitialize(encoder);
@@ -315,18 +315,18 @@ gst_h264_encoder_finalize(GObject *object)
     h264_prv->queued_buffers = NULL;
   }
 
-  G_OBJECT_CLASS(gst_h264_encoder_parent_class)->finalize(object);
+  G_OBJECT_CLASS(gst_vaapi_encoder_h264_parent_class)->finalize(object);
 }
 
 
-GstH264Encoder *
-gst_h264_encoder_new(void)
+GstVaapiEncoderH264 *
+gst_vaapi_encoder_h264_new(void)
 {
-  return GST_H264_ENCODER(g_object_new(GST_TYPE_H264_ENCODER, NULL));
+  return GST_VAAPI_ENCODER_H264(g_object_new(GST_TYPE_VAAPI_ENCODER_H264, NULL));
 }
 
 static void
-gst_h264_encoder_init_public_values(GstH264Encoder* encoder)
+gst_vaapi_encoder_h264_init_public_values(GstVaapiEncoderH264* encoder)
 {
   encoder->profile = 0;
   encoder->level = 0;
@@ -339,24 +339,24 @@ gst_h264_encoder_init_public_values(GstH264Encoder* encoder)
 }
 
 void
-gst_h264_encoder_set_avc_flag(GstH264Encoder* encoder, gboolean avc)
+gst_vaapi_encoder_h264_set_avc_flag(GstVaapiEncoderH264* encoder, gboolean avc)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(encoder);
   h264_prv->avc_flag = avc;
 }
 
 gboolean
-gst_h264_encoder_get_avc_flag(GstH264Encoder* encoder)
+gst_vaapi_encoder_h264_get_avc_flag(GstVaapiEncoderH264* encoder)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(encoder);
   return h264_prv->avc_flag;
 }
 
 gboolean
 gst_h264_validate_parameters(GstVaapiBaseEncoder *base_encoder)
 {
-  GstH264Encoder *encoder = GST_H264_ENCODER(base_encoder);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(encoder);
+  GstVaapiEncoderH264 *encoder = GST_VAAPI_ENCODER_H264(base_encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(encoder);
   if (!ENCODER_WIDTH(encoder) || !ENCODER_HEIGHT(encoder) || !ENCODER_FPS(encoder)) {
     return FALSE;
   }
@@ -423,10 +423,10 @@ gst_h264_validate_parameters(GstVaapiBaseEncoder *base_encoder)
 
 
 static gboolean
-h264_encoder_release_parameters(GstH264Encoder *h264_encoder, GstVaapiDisplay *display, GstVaapiContext *context)
+h264_encoder_release_parameters(GstVaapiEncoderH264 *h264_encoder, GstVaapiDisplay *display, GstVaapiContext *context)
 {
   VAStatus va_status = VA_STATUS_SUCCESS;
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
 
   gboolean is_locked = FALSE;
 
@@ -486,7 +486,7 @@ h264_encoder_release_parameters(GstH264Encoder *h264_encoder, GstVaapiDisplay *d
 }
 
 static void
-h264_release_queued_buffers(GstH264EncoderPrivate *h264_prv)
+h264_release_queued_buffers(GstVaapiEncoderH264Private *h264_prv)
 {
     while (!g_queue_is_empty(h264_prv->queued_buffers)) {
     GstBuffer* tmp = g_queue_pop_head(h264_prv->queued_buffers);
@@ -497,11 +497,11 @@ h264_release_queued_buffers(GstH264EncoderPrivate *h264_prv)
 
 
 static gboolean
-gst_h264_encoder_release_resource(GstVaapiBaseEncoder* encoder, GstVaapiDisplay *display, GstVaapiContext *context)
+gst_vaapi_encoder_h264_release_resource(GstVaapiBaseEncoder* encoder, GstVaapiDisplay *display, GstVaapiContext *context)
 {
-  GstH264Encoder* h264_encoder = GST_H264_ENCODER(encoder);
+  GstVaapiEncoderH264* h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
   gboolean ret = TRUE;
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
 
   /* release buffers first */
   h264_encoder_release_parameters(h264_encoder, display, context);
@@ -546,11 +546,11 @@ gst_h264_encoder_release_resource(GstVaapiBaseEncoder* encoder, GstVaapiDisplay
 }
 
 static gboolean
-gst_h264_encoder_alloc_slices(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *display, GstVaapiContext *context)
+gst_vaapi_encoder_h264_alloc_slices(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *display, GstVaapiContext *context)
 {
   gboolean ret = TRUE;
-  GstH264Encoder *h264_encoder = GST_H264_ENCODER(encoder);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(encoder);
+  GstVaapiEncoderH264 *h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(encoder);
 
   h264_prv->slice_param_buffers =
 #ifdef _SIMPLE_LIB_VA_
@@ -565,10 +565,10 @@ gst_h264_encoder_alloc_slices(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *dis
 }
 
 static void
-gst_h264_encoder_frame_failed(GstVaapiBaseEncoder *encoder, GstVaapiVideoBuffer* buffer)
+gst_vaapi_encoder_h264_frame_failed(GstVaapiBaseEncoder *encoder, GstVaapiVideoBuffer* buffer)
 {
-  GstH264Encoder *h264_encoder = GST_H264_ENCODER(encoder);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264 *h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
 
   h264_release_queued_buffers(h264_prv);
   h264_prv->cur_display_num = 0;
@@ -579,13 +579,13 @@ gst_h264_encoder_frame_failed(GstVaapiBaseEncoder *encoder, GstVaapiVideoBuffer*
 }
 
 static EncoderStatus
-gst_h264_encoder_prepare_next_buffer(GstVaapiBaseEncoder* encoder,
+gst_vaapi_encoder_h264_prepare_next_buffer(GstVaapiBaseEncoder* encoder,
                               GstVaapiVideoBuffer *display_buf, gboolean need_flush,
                               GstVaapiVideoBuffer **out_buf)
 {
   EncoderStatus ret = ENCODER_NO_ERROR;
-  GstH264Encoder *h264_encoder = GST_H264_ENCODER(encoder);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264 *h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
   GstVaapiVideoBuffer  *return_buf = NULL;
   //guint64 pts = 0;
 
@@ -668,14 +668,14 @@ end:
 
 #ifdef _SIMPLE_LIB_VA_
 static EncoderStatus
-gst_h264_encoder_rendering(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *display,
+gst_vaapi_encoder_h264_rendering(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *display,
                              GstVaapiContext *context, GstVaapiSurface *surface,
                              guint frame_index, VABufferID coded_buf, gboolean *is_key)
 {
   EncoderStatus ret = ENCODER_NO_ERROR;
   VAStatus va_status = VA_STATUS_SUCCESS;
-  GstH264Encoder *h264_encoder = GST_H264_ENCODER(encoder);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264 *h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
   VAEncPictureParameterBufferH264 pic_h264;
   VAEncSliceParameterBuffer *slice_h264 = NULL;
 
@@ -811,10 +811,10 @@ static void h264_swap_surface(GstVaapiSurface **s1, GstVaapiSurface **s2)
 }
 
 static gboolean
-h264_recreate_seq_param(GstH264Encoder *h264_encoder,
+h264_recreate_seq_param(GstVaapiEncoderH264 *h264_encoder,
                         VADisplay va_dpy, VAContextID context_id)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
   VAEncSequenceParameterBufferH264 seq_h264 = { 0 };
   guint width_in_mbs, height_in_mbs;
   gboolean ret = TRUE;
@@ -932,11 +932,11 @@ end:
 }
 
 static gboolean
-h264_recreate_pic_param(GstH264Encoder *h264_encoder,
+h264_recreate_pic_param(GstVaapiEncoderH264 *h264_encoder,
                         VADisplay va_dpy, VAContextID context_id,
                         VABufferID coded_buf)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
   VAEncPictureParameterBufferH264 pic_h264;
   gboolean ret = TRUE;
   VAStatus va_status = VA_STATUS_SUCCESS;
@@ -1038,10 +1038,10 @@ end:
 
 
 static gboolean
-h264_recreate_slice_param(GstH264Encoder *h264_encoder,
+h264_recreate_slice_param(GstVaapiEncoderH264 *h264_encoder,
                         VADisplay va_dpy, VAContextID context_id)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
   VAEncSliceParameterBufferH264 *slice_h264 = NULL;
   guint width_in_mbs;
   gboolean ret = TRUE;
@@ -1102,14 +1102,14 @@ end:
 }
 
 static EncoderStatus
-gst_h264_encoder_rendering(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *display,
+gst_vaapi_encoder_h264_rendering(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *display,
                              GstVaapiContext *context, GstVaapiSurface *surface,
                              guint frame_index, VABufferID coded_buf, gboolean *is_key)
 {
   EncoderStatus ret = ENCODER_NO_ERROR;
   VAStatus va_status = VA_STATUS_SUCCESS;
-  GstH264Encoder *h264_encoder = GST_H264_ENCODER(encoder);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264 *h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
   VABufferID va_buffers[64];
   guint32    va_buffers_count = 0;
   gboolean is_params_ok = TRUE;
@@ -1204,12 +1204,12 @@ gst_h264_encoder_rendering(GstVaapiBaseEncoder *encoder, GstVaapiDisplay *displa
 #endif
 
 static GstBuffer *
-gst_h264_encoder_copy_coded_buffer(GstVaapiBaseEncoder *encoder,
+gst_vaapi_encoder_h264_copy_coded_buffer(GstVaapiBaseEncoder *encoder,
                                         guint8 *frame,
                                         guint32 frame_size,
                                         VABufferID *coded_buf)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(encoder);
   GstBuffer *ret_buffer;
   guint32   nal_size;
   const guint8   *nal_start;
@@ -1251,7 +1251,7 @@ gst_h264_encoder_copy_coded_buffer(GstVaapiBaseEncoder *encoder,
 }
 
 static EncoderStatus
-h264_encoder_read_sps_pps(GstH264EncoderPrivate *h264_prv, const guint8 *buf, guint32 size)
+h264_encoder_read_sps_pps(GstVaapiEncoderH264Private *h264_prv, const guint8 *buf, guint32 size)
 {
   const guint8 *end = buf + size;
   const guint8 *nal_start = buf;
@@ -1298,7 +1298,7 @@ h264_encoder_read_sps_pps(GstH264EncoderPrivate *h264_prv, const guint8 *buf, gu
 static void
 gst_h264_notify_frame(GstVaapiBaseEncoder *encoder, guint8 *buf, guint32 size)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(encoder);
   if (!h264_prv->sps_data || !h264_prv->pps_data) {
     h264_encoder_read_sps_pps(h264_prv, buf, size);
   }
@@ -1326,12 +1326,12 @@ h264_read_sps_attributes(const guint8 *sps_data, guint32 sps_size,
 
 
 static EncoderStatus
-gst_h264_encoder_flush(GstVaapiEncoder* encoder, GstVaapiDisplay *display,
+gst_vaapi_encoder_h264_flush(GstVaapiEncoder* encoder, GstVaapiDisplay *display,
                        GstVaapiContext *context, GList **coded_pics)
 {
-  GstH264Encoder* h264_encoder = GST_H264_ENCODER(encoder);
+  GstVaapiEncoderH264* h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
   EncoderStatus ret = ENCODER_NO_ERROR;
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
 
   //h264_prv->frame_count = 0;
   h264_prv->cur_display_num = 0;
@@ -1370,7 +1370,7 @@ int main_test(int argc, char* argv[])
   if (!g_thread_supported ())
     g_thread_init (NULL);
 
-  GstH264Encoder *h264_encoder = gst_h264_encoder_new();
+  GstVaapiEncoderH264 *h264_encoder = gst_vaapi_encoder_h264_new();
   encoder = GST_VAAPI_ENCODER(h264_encoder);
   ENCODER_ASSERT(encoder);
 
@@ -1446,9 +1446,9 @@ int main_test(int argc, char* argv[])
 }
 
 EncoderStatus
-gst_h264_encoder_get_avcC_codec_data(GstH264Encoder *h264_encoder, GstBuffer **buffer)
+gst_vaapi_encoder_h264_get_avcC_codec_data(GstVaapiEncoderH264 *h264_encoder, GstBuffer **buffer)
 {
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
   GstBuffer *avc_codec;
   const guint32 configuration_version = 0x01;
   const guint32 length_size_minus_one = 0x03;
@@ -1505,22 +1505,22 @@ gst_h264_encoder_get_avcC_codec_data(GstH264Encoder *h264_encoder, GstBuffer **b
 }
 
 static EncoderStatus
-gst_h264_encoder_get_codec_data(GstVaapiEncoder* encoder, GstBuffer **buffer)
+gst_vaapi_encoder_h264_get_codec_data(GstVaapiEncoder* encoder, GstBuffer **buffer)
 {
-  GstH264Encoder *h264_encoder = GST_H264_ENCODER(encoder);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264 *h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
 
   if (h264_prv->avc_flag)
-    return gst_h264_encoder_get_avcC_codec_data(h264_encoder, buffer);
+    return gst_vaapi_encoder_h264_get_avcC_codec_data(h264_encoder, buffer);
   return ENCODER_NO_DATA;
 }
 
 #if 0
 EncoderStatus
-gst_h264_encoder_get_nal_codec_data(GstVaapiEncoder *encoder, GstBuffer **buffer)
+gst_vaapi_encoder_h264_get_nal_codec_data(GstVaapiEncoder *encoder, GstBuffer **buffer)
 {
-  GstH264Encoder *h264_encoder = GST_H264_ENCODER(encoder);
-  GstH264EncoderPrivate *h264_prv = GST_H264_ENCODER_GET_PRIVATE(h264_encoder);
+  GstVaapiEncoderH264 *h264_encoder = GST_VAAPI_ENCODER_H264(encoder);
+  GstVaapiEncoderH264Private *h264_prv = GST_VAAPI_ENCODER_H264_GET_PRIVATE(h264_encoder);
   GstBuffer *nal_sps_pps;
 
   ENCODER_ASSERT(buffer);