## gstvideofilter gstvideofilter — Base class for video filters |

## Types and Values

struct | GstVideoFilter
struct | GstVideoFilterClass

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GstObject
                ╰── GstElement
                    ╰── GstBaseTransform
                        ╰── GstVideoFilter

## Includes

    #include <gst/video/gstvideofilter.h>

## Description

Provides useful functions and a base class for video filters.

The videofilter will by default enable QoS on the parent GstBaseTransform to implement frame dropping.

## Functions

## Types and Values

### struct GstVideoFilter

    struct GstVideoFilter;

### struct GstVideoFilterClass

    struct GstVideoFilterClass {
      GstBaseTransformClass parent_class;

      gboolean      (*set_info)           (GstVideoFilter *filter,
                                           GstCaps *incaps, GstVideoInfo *in_info,
                                           GstCaps *outcaps, GstVideoInfo *out_info);

      /* transform */
      GstFlowReturn (*transform_frame)    (GstVideoFilter *filter,
                                           GstVideoFrame *inframe, GstVideoFrame *outframe);
      GstFlowReturn (*transform_frame_ip) (GstVideoFilter *trans, GstVideoFrame *frame);
    };

The video filter class structure.

#### Members

GstBaseTransformClass `parent_class`; | the parent class structure |
`set_info` () | function to be called with the negotiated caps and video infos |
`transform_frame` () | transform a video frame |
`transform_frame_ip` () | transform a video frame in place |