static GstFlowReturn
gst_cv_dilate_transform_ip (GstOpencvVideoFilter * base, GstBuffer * buf,
    IplImage * img)
{
  GstCvDilateErode *filter = GST_CV_DILATE_ERODE (base);

  cvDilate (img, img, NULL, filter->iterations);

  return GST_FLOW_OK;
}
static GstFlowReturn
gst_cv_dilate_transform (GstOpencvVideoFilter * base, GstBuffer * buf,
    IplImage * img, GstBuffer * outbuf, IplImage * outimg)
{
  GstCvDilateErode *filter = GST_CV_DILATE_ERODE (base);

  /* TODO support kernel as a parameter */
  cvDilate (img, outimg, NULL, filter->iterations);

  return GST_FLOW_OK;
}
static void
gst_cv_dilate_erode_get_property (GObject * object, guint prop_id,
    GValue * value, GParamSpec * pspec)
{
  GstCvDilateErode *filter = GST_CV_DILATE_ERODE (object);

  switch (prop_id) {
    case PROP_ITERATIONS:
      g_value_set_int (value, filter->iterations);
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
      break;
  }
}