static void
gst_vaapiencode_mpeg2_class_init (GstVaapiEncodeMpeg2Class * klass)
{
  GObjectClass *const object_class = G_OBJECT_CLASS (klass);
  GstElementClass *const element_class = GST_ELEMENT_CLASS (klass);
  GstVaapiEncodeClass *const encode_class = GST_VAAPIENCODE_CLASS (klass);

  GST_DEBUG_CATEGORY_INIT (gst_vaapi_mpeg2_encode_debug,
      GST_PLUGIN_NAME, 0, GST_PLUGIN_DESC);

  object_class->finalize = gst_vaapiencode_mpeg2_finalize;
  object_class->set_property = gst_vaapiencode_mpeg2_set_property;
  object_class->get_property = gst_vaapiencode_mpeg2_get_property;

  encode_class->get_properties = gst_vaapi_encoder_mpeg2_get_default_properties;
  encode_class->get_caps = gst_vaapiencode_mpeg2_get_caps;
  encode_class->alloc_encoder = gst_vaapiencode_mpeg2_alloc_encoder;

  gst_element_class_set_static_metadata (element_class,
      "VA-API MPEG-2 encoder",
      "Codec/Encoder/Video",
      GST_PLUGIN_DESC, "Guangxin Xu <*****@*****.**>");

  /* sink pad */
  gst_element_class_add_pad_template (element_class,
      gst_static_pad_template_get (&gst_vaapiencode_mpeg2_sink_factory));

  /* src pad */
  gst_element_class_add_pad_template (element_class,
      gst_static_pad_template_get (&gst_vaapiencode_mpeg2_src_factory));

  gst_vaapiencode_class_init_properties (encode_class);
}
static void
gst_vaapiencode_jpeg_class_init (GstVaapiEncodeJpegClass * klass)
{
  GObjectClass *const object_class = G_OBJECT_CLASS (klass);
  GstElementClass *const element_class = GST_ELEMENT_CLASS (klass);
  GstVaapiEncodeClass *const encode_class = GST_VAAPIENCODE_CLASS (klass);

  GST_DEBUG_CATEGORY_INIT (gst_vaapi_jpeg_encode_debug,
      GST_PLUGIN_NAME, 0, GST_PLUGIN_DESC);

  object_class->finalize = gst_vaapiencode_jpeg_finalize;
  object_class->set_property = gst_vaapiencode_jpeg_set_property;
  object_class->get_property = gst_vaapiencode_jpeg_get_property;

  encode_class->get_properties = gst_vaapi_encoder_jpeg_get_default_properties;
  encode_class->get_caps = gst_vaapiencode_jpeg_get_caps;
  encode_class->alloc_encoder = gst_vaapiencode_jpeg_alloc_encoder;

  gst_element_class_set_static_metadata (element_class,
      "VA-API JPEG encoder",
      "Codec/Encoder/Image",
      GST_PLUGIN_DESC, "Sreerenj Balachandran <*****@*****.**>");

  /* sink pad */
  gst_element_class_add_pad_template (element_class,
      gst_static_pad_template_get (&gst_vaapiencode_jpeg_sink_factory));

  /* src pad */
  gst_element_class_add_pad_template (element_class,
      gst_static_pad_template_get (&gst_vaapiencode_jpeg_src_factory));

  gst_vaapiencode_class_init_properties (encode_class);
}