# GstVideoFilter

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.

## GstVideoFilter

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

### Members

`element` (GstBaseTransform) –
No description available
`negotiated` (gboolean) –
No description available
`in_info` (GstVideoInfo) –
No description available
`out_info` (GstVideoInfo) –
No description available

### Class structure

#### GstVideoFilterClass

The video filter class structure.

##### Fields

`parent_class` (GstBaseTransformClass) –

the parent class structure

### GstVideo.VideoFilterClass

The video filter class structure.

##### Attributes

`parent_class` (GstBase.BaseTransformClass) –

the parent class structure

### GstVideo.VideoFilterClass

The video filter class structure.

##### Attributes

`parent_class` (GstBase.BaseTransformClass) –

the parent class structure

## GstVideo.VideoFilter

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstBase.BaseTransform
                        ╰──GstVideo.VideoFilter

### Members

`element` (GstBase.BaseTransform) –
No description available
`negotiated` (Number) –
No description available
`in_info` (GstVideo.VideoInfo) –
No description available
`out_info` (GstVideo.VideoInfo) –
No description available

## GstVideo.VideoFilter

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstBase.BaseTransform
                        ╰──GstVideo.VideoFilter

### Members

`element` (GstBase.BaseTransform) –
No description available
`negotiated` (bool) –
No description available
`in_info` (GstVideo.VideoInfo) –
No description available
`out_info` (GstVideo.VideoInfo) –
No description available

### Virtual Methods

#### set_info

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

function to be called with the negotiated caps and video infos

Parameters:

`filter` –
No description available
`incaps` –
No description available
`in_info` –
No description available
`outcaps` –
No description available
`out_info` –
No description available
Returns –
No description available

#### vfunc_set_info

    function vfunc_set_info(filter: GstVideo.VideoFilter, incaps: Gst.Caps, in_info: GstVideo.VideoInfo, outcaps: Gst.Caps, out_info: GstVideo.VideoInfo): {
        // javascript implementation of the 'set_info' virtual method
    }

function to be called with the negotiated caps and video infos

Parameters:

`filter` (GstVideo.VideoFilter) –
No description available
`incaps` (Gst.Caps) –
No description available
`in_info` (GstVideo.VideoInfo) –
No description available
`outcaps` (Gst.Caps) –
No description available
`out_info` (GstVideo.VideoInfo) –
No description available
Returns (Number) –
No description available

#### do_set_info

    def do_set_info (filter, incaps, in_info, outcaps, out_info):
        #python implementation of the 'set_info' virtual method

function to be called with the negotiated caps and video infos

Parameters:

`filter` (GstVideo.VideoFilter) –
No description available
`incaps` (Gst.Caps) –
No description available
`in_info` (GstVideo.VideoInfo) –
No description available
`outcaps` (Gst.Caps) –
No description available
`out_info` (GstVideo.VideoInfo) –
No description available
Returns (bool) –
No description available

#### transform_frame

    GstFlowReturn
    transform_frame (GstVideoFilter * filter,
                     GstVideoFrame * inframe,
                     GstVideoFrame * outframe)

transform a video frame

Parameters:

`filter` –
No description available
`inframe` –
No description available
`outframe` –
No description available
Returns –
No description available

#### vfunc_transform_frame

    function vfunc_transform_frame(filter: GstVideo.VideoFilter, inframe: GstVideo.VideoFrame, outframe: GstVideo.VideoFrame): {
        // javascript implementation of the 'transform_frame' virtual method
    }

transform a video frame

Parameters:

`filter` (GstVideo.VideoFilter) –
No description available
`inframe` (GstVideo.VideoFrame) –
No description available
`outframe` (GstVideo.VideoFrame) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### do_transform_frame

    def do_transform_frame (filter, inframe, outframe):
        #python implementation of the 'transform_frame' virtual method

transform a video frame

Parameters:

`filter` (GstVideo.VideoFilter) –
No description available
`inframe` (GstVideo.VideoFrame) –
No description available
`outframe` (GstVideo.VideoFrame) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### transform_frame_ip

    GstFlowReturn
    transform_frame_ip (GstVideoFilter * trans,
                        GstVideoFrame * frame)

transform a video frame in place

Parameters:

`trans` –
No description available
`frame` –
No description available
Returns –
No description available

#### vfunc_transform_frame_ip

    function vfunc_transform_frame_ip(trans: GstVideo.VideoFilter, frame: GstVideo.VideoFrame): {
        // javascript implementation of the 'transform_frame_ip' virtual method
    }

transform a video frame in place

Parameters:

`trans` (GstVideo.VideoFilter) –
No description available
`frame` (GstVideo.VideoFrame) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### do_transform_frame_ip

    def do_transform_frame_ip (trans, frame):
        #python implementation of the 'transform_frame_ip' virtual method

transform a video frame in place

Parameters:

`trans` (GstVideo.VideoFilter) –
No description available
`frame` (GstVideo.VideoFrame) –
No description available
Returns (Gst.FlowReturn) –
No description available

## Function Macros

### GST_VIDEO_FILTER_CAST

    #define GST_VIDEO_FILTER_CAST(obj)  ((GstVideoFilter *)(obj))

## Constants

### GST_TYPE_VIDEO_FILTER

    #define GST_TYPE_VIDEO_FILTER \
      (gst_video_filter_get_type())

The results of the search are