// Generated by generate_plugin_gmmproc_file. Don't edit this file.


#include <gstreamermm/basetransform.h>
_DEFS(gstreamermm,gst)

namespace Gst
{

_WRAP_ENUM(VideoDitherMethod,GstVideoDitherMethod)
_CONV_ENUM(Gst,VideoDitherMethod)

_WRAP_ENUM(VideoResamplerMethod,GstVideoResamplerMethod)
_CONV_ENUM(Gst,VideoResamplerMethod)

_WRAP_ENUM(VideoAlphaMode,GstVideoAlphaMode)
_CONV_ENUM(Gst,VideoAlphaMode)

_WRAP_ENUM(VideoChromaMode,GstVideoChromaMode)
_CONV_ENUM(Gst,VideoChromaMode)

_WRAP_ENUM(VideoMatrixMode,GstVideoMatrixMode)
_CONV_ENUM(Gst,VideoMatrixMode)

_WRAP_ENUM(VideoGammaMode,GstVideoGammaMode)
_CONV_ENUM(Gst,VideoGammaMode)

_WRAP_ENUM(VideoPrimariesMode,GstVideoPrimariesMode)
_CONV_ENUM(Gst,VideoPrimariesMode)

/** A Wrapper for the videoconvert plugin.
 * Please note that not all plug-ins are available on all systems so care
 * must be taken that they exist before they are used otherwise there will
 * be errors and possibly a crash.
 *
 * @ingroup GstPlugins
 * @deprecated Plugins API is deprecated, and should not be used in a new code.
 */
class VideoConvert
: public Gst::BaseTransform
{
  _CLASS_GOBJECT(VideoConvert, GstVideoConvert, GST_VIDEO_CONVERT_GSTREAMERMM, Gst::BaseTransform, GstBaseTransform)
  _IS_GSTREAMERMM_PLUGIN
protected:
  VideoConvert();
  explicit VideoConvert(const Glib::ustring& name);

public:
  /** Creates a new videoconvert plugin with a unique name.
   */
  _WRAP_CREATE()

  /** Creates a new videoconvert plugin with the given name.
   */
  _WRAP_CREATE(const Glib::ustring& name)

  _WRAP_PROPERTY("dither", Gst::VideoDitherMethod)
  _WRAP_PROPERTY("dither-quantization", guint)
  _WRAP_PROPERTY("chroma-resampler", Gst::VideoResamplerMethod)
  _WRAP_PROPERTY("alpha-mode", Gst::VideoAlphaMode)
  _WRAP_PROPERTY("alpha-value", double)
  _WRAP_PROPERTY("chroma-mode", Gst::VideoChromaMode)
  _WRAP_PROPERTY("matrix-mode", Gst::VideoMatrixMode)
  _WRAP_PROPERTY("gamma-mode", Gst::VideoGammaMode)
  _WRAP_PROPERTY("primaries-mode", Gst::VideoPrimariesMode)
};

} // namespace Gst
