# Gstvp9Decoder

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoDecoder
                        ╰──GstVp9Decoder

The opaque GstVp9Decoder data structure.

### Class structure

#### GstVp9DecoderClass

##### Fields

`parent_class` (GstVideoDecoderClass) –
No description available

### GstCodecs.Vp9DecoderClass

##### Attributes

`parent_class` (GstVideo.VideoDecoderClass) –
No description available

### GstCodecs.Vp9DecoderClass

##### Attributes

`parent_class` (GstVideo.VideoDecoderClass) –
No description available

## GstCodecs.Vp9Decoder

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstVideo.VideoDecoder
                        ╰──GstCodecs.Vp9Decoder

The opaque GstCodecs.Vp9Decoder data structure.

## GstCodecs.Vp9Decoder

    GObject.Object
        ╰──GObject.InitiallyUnowned
            ╰──Gst.Object
                ╰──Gst.Element
                    ╰──GstVideo.VideoDecoder
                        ╰──GstCodecs.Vp9Decoder

The opaque GstCodecs.Vp9Decoder data structure.

### Virtual Methods

#### decode_picture

    gboolean
    decode_picture (GstVp9Decoder * decoder,
                    GstVp9Picture * picture,
                    GstVp9Dpb * dpb)

Parameters:

`decoder` –
No description available
`picture` –
No description available
`dpb` –
No description available
Returns –
No description available

#### vfunc_decode_picture

    function vfunc_decode_picture(decoder: GstCodecs.Vp9Decoder, picture: GstCodecs.Vp9Picture, dpb: GstCodecs.Vp9Dpb): {
        // javascript implementation of the 'decode_picture' virtual method
    }

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
`dpb` (GstCodecs.Vp9Dpb) –
No description available
Returns (Number) –
No description available

#### do_decode_picture

    def do_decode_picture (decoder, picture, dpb):
        #python implementation of the 'decode_picture' virtual method

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
`dpb` (GstCodecs.Vp9Dpb) –
No description available
Returns (bool) –
No description available

#### duplicate_picture

    GstVp9Picture *
    duplicate_picture (GstVp9Decoder * decoder,
                       GstVideoCodecFrame * frame,
                       GstVp9Picture * picture)

Parameters:

`decoder` –
No description available
`frame` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_duplicate_picture

    function vfunc_duplicate_picture(decoder: GstCodecs.Vp9Decoder, frame: GstVideo.VideoCodecFrame, picture: GstCodecs.Vp9Picture): {
        // javascript implementation of the 'duplicate_picture' virtual method
    }

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (GstCodecs.Vp9Picture) –
No description available

#### do_duplicate_picture

    def do_duplicate_picture (decoder, frame, picture):
        #python implementation of the 'duplicate_picture' virtual method

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (GstCodecs.Vp9Picture) –
No description available

#### end_picture

    gboolean
    end_picture (GstVp9Decoder * decoder,
                 GstVp9Picture * picture)

Parameters:

`decoder` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_end_picture

    function vfunc_end_picture(decoder: GstCodecs.Vp9Decoder, picture: GstCodecs.Vp9Picture): {
        // javascript implementation of the 'end_picture' virtual method
    }

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (Number) –
No description available

#### do_end_picture

    def do_end_picture (decoder, picture):
        #python implementation of the 'end_picture' virtual method

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (bool) –
No description available

#### new_picture

    gboolean
    new_picture (GstVp9Decoder * decoder,
                 GstVideoCodecFrame * frame,
                 GstVp9Picture * picture)

Parameters:

`decoder` –
No description available
`frame` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_new_picture

    function vfunc_new_picture(decoder: GstCodecs.Vp9Decoder, frame: GstVideo.VideoCodecFrame, picture: GstCodecs.Vp9Picture): {
        // javascript implementation of the 'new_picture' virtual method
    }

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (Number) –
No description available

#### do_new_picture

    def do_new_picture (decoder, frame, picture):
        #python implementation of the 'new_picture' virtual method

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (bool) –
No description available

#### new_sequence

    gboolean
    new_sequence (GstVp9Decoder * decoder,
                  const GstVp9FrameHeader * frame_hdr)

Parameters:

`decoder` –
No description available
`frame_hdr` –
No description available
Returns –
No description available

#### vfunc_new_sequence

    function vfunc_new_sequence(decoder: GstCodecs.Vp9Decoder, frame_hdr: GstCodecs.Vp9FrameHeader): {
        // javascript implementation of the 'new_sequence' virtual method
    }

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`frame_hdr` (GstCodecs.Vp9FrameHeader) –
No description available
Returns (Number) –
No description available

#### do_new_sequence

    def do_new_sequence (decoder, frame_hdr):
        #python implementation of the 'new_sequence' virtual method

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`frame_hdr` (GstCodecs.Vp9FrameHeader) –
No description available
Returns (bool) –
No description available

#### output_picture

    GstFlowReturn
    output_picture (GstVp9Decoder * decoder,
                    GstVideoCodecFrame * frame,
                    GstVp9Picture * picture)

Parameters:

`decoder` –
No description available
`frame` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_output_picture

    function vfunc_output_picture(decoder: GstCodecs.Vp9Decoder, frame: GstVideo.VideoCodecFrame, picture: GstCodecs.Vp9Picture): {
        // javascript implementation of the 'output_picture' virtual method
    }

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### do_output_picture

    def do_output_picture (decoder, frame, picture):
        #python implementation of the 'output_picture' virtual method

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`frame` (GstVideo.VideoCodecFrame) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (Gst.FlowReturn) –
No description available

#### start_picture

    gboolean
    start_picture (GstVp9Decoder * decoder,
                   GstVp9Picture * picture)

Parameters:

`decoder` –
No description available
`picture` –
No description available
Returns –
No description available

#### vfunc_start_picture

    function vfunc_start_picture(decoder: GstCodecs.Vp9Decoder, picture: GstCodecs.Vp9Picture): {
        // javascript implementation of the 'start_picture' virtual method
    }

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (Number) –
No description available

#### do_start_picture

    def do_start_picture (decoder, picture):
        #python implementation of the 'start_picture' virtual method

Parameters:

`decoder` (GstCodecs.Vp9Decoder) –
No description available
`picture` (GstCodecs.Vp9Picture) –
No description available
Returns (bool) –
No description available

## GstVp9Dpb

### Members

`pic_list` (GstVp9Picture *) –
No description available

## GstCodecs.Vp9Dpb

### Members

`pic_list` ([ GstCodecs.Vp9Picture ]) –
No description available

## GstCodecs.Vp9Dpb

### Members

`pic_list` ([ GstCodecs.Vp9Picture ]) –
No description available

### Methods

#### gst_vp9_dpb_add

    gst_vp9_dpb_add (GstVp9Dpb * dpb,
                     GstVp9Picture * picture)

Store the picture

Parameters:

`dpb` –

a GstVp9Dpb

`picture` ( [transfer: full]) –

a GstVp9Picture

#### GstCodecs.Vp9Dpb.prototype.add

    function GstCodecs.Vp9Dpb.prototype.add(picture: GstCodecs.Vp9Picture): {
        // javascript wrapper for 'gst_vp9_dpb_add'
    }

Store the picture

Parameters:

`dpb` (GstCodecs.Vp9Dpb) –

a GstCodecs.Vp9Dpb

`picture` (GstCodecs.Vp9Picture) –

a GstCodecs.Vp9Picture

#### GstCodecs.Vp9Dpb.add

    def GstCodecs.Vp9Dpb.add (self, picture):
        #python wrapper for 'gst_vp9_dpb_add'

Store the picture

Parameters:

`dpb` (GstCodecs.Vp9Dpb) –

a GstCodecs.Vp9Dpb

`picture` (GstCodecs.Vp9Picture) –

a GstCodecs.Vp9Picture

#### gst_vp9_dpb_clear

    gst_vp9_dpb_clear (GstVp9Dpb * dpb)

Clear all stored GstVp9Picture

Parameters:

`dpb` –

a GstVp9Dpb

#### GstCodecs.Vp9Dpb.prototype.clear

    function GstCodecs.Vp9Dpb.prototype.clear(): {
        // javascript wrapper for 'gst_vp9_dpb_clear'
    }

Clear all stored GstCodecs.Vp9Picture

Parameters:

`dpb` (GstCodecs.Vp9Dpb) –

a GstCodecs.Vp9Dpb

#### GstCodecs.Vp9Dpb.clear

    def GstCodecs.Vp9Dpb.clear (self):
        #python wrapper for 'gst_vp9_dpb_clear'

Clear all stored GstCodecs.Vp9Picture

Parameters:

`dpb` (GstCodecs.Vp9Dpb) –

a GstCodecs.Vp9Dpb

#### gst_vp9_dpb_free

    gst_vp9_dpb_free (GstVp9Dpb * dpb)

Free the dpb

Parameters:

`dpb` –

a GstVp9Dpb to free

#### GstCodecs.Vp9Dpb.prototype.free

    function GstCodecs.Vp9Dpb.prototype.free(): {
        // javascript wrapper for 'gst_vp9_dpb_free'
    }

Free the dpb

Parameters:

`dpb` (GstCodecs.Vp9Dpb) –

a GstCodecs.Vp9Dpb to free

#### GstCodecs.Vp9Dpb.free

    def GstCodecs.Vp9Dpb.free (self):
        #python wrapper for 'gst_vp9_dpb_free'

Free the dpb

Parameters:

`dpb` (GstCodecs.Vp9Dpb) –

a GstCodecs.Vp9Dpb to free

### Functions

#### gst_vp9_dpb_new

    GstVp9Dpb *
    gst_vp9_dpb_new ()

Create new GstVp9Dpb

Returns –

a new GstVp9Dpb

## GstVp9Picture

## GstCodecs.Vp9Picture

### Constructors

#### gst_vp9_picture_new

    GstVp9Picture *
    gst_vp9_picture_new ()

Create new GstVp9Picture

Returns –

a new GstVp9Picture

#### GstCodecs.Vp9Picture.prototype.new

    function GstCodecs.Vp9Picture.prototype.new(): {
        // javascript wrapper for 'gst_vp9_picture_new'
    }

Create new GstCodecs.Vp9Picture

Returns (GstCodecs.Vp9Picture) –

a new GstCodecs.Vp9Picture

#### GstCodecs.Vp9Picture.new

    def GstCodecs.Vp9Picture.new ():
        #python wrapper for 'gst_vp9_picture_new'

Create new GstCodecs.Vp9Picture

Returns (GstCodecs.Vp9Picture) –

a new GstCodecs.Vp9Picture

### Methods

#### gst_vp9_picture_get_user_data

    gpointer
    gst_vp9_picture_get_user_data (GstVp9Picture * picture)

Gets private data set on the picture via gst_vp9_picture_set_user_data previously.

Parameters:

`picture` –

a GstVp9Picture

Returns ( [transfer: none]) –

The previously set user_data

#### GstCodecs.Vp9Picture.prototype.get_user_data

    function GstCodecs.Vp9Picture.prototype.get_user_data(): {
        // javascript wrapper for 'gst_vp9_picture_get_user_data'
    }

Gets private data set on the picture via GstCodecs.Vp9Picture.prototype.set_user_data previously.

Parameters:

`picture` (GstCodecs.Vp9Picture) –

a GstCodecs.Vp9Picture

Returns (Object) –

The previously set user_data

#### GstCodecs.Vp9Picture.get_user_data

    def GstCodecs.Vp9Picture.get_user_data (self):
        #python wrapper for 'gst_vp9_picture_get_user_data'

Gets private data set on the picture via GstCodecs.Vp9Picture.set_user_data previously.

Parameters:

`picture` (GstCodecs.Vp9Picture) –

a GstCodecs.Vp9Picture

Returns (object) –

The previously set user_data

#### gst_vp9_picture_set_user_data

    gst_vp9_picture_set_user_data (GstVp9Picture * picture,
                                   gpointer user_data,
                                   GDestroyNotify notify)

Sets user_data on the picture and the GDestroyNotify that will be called when the picture is freed.

If a user_data was previously set, then the previous set notify will be called before the user_data is replaced.

Parameters:

`picture` –

a GstVp9Picture

`user_data` –

private data

`notify` ( [closure]) –

a GDestroyNotify

#### GstCodecs.Vp9Picture.prototype.set_user_data

    function GstCodecs.Vp9Picture.prototype.set_user_data(user_data: Object, notify: GLib.DestroyNotify): {
        // javascript wrapper for 'gst_vp9_picture_set_user_data'
    }

Sets user_data on the picture and the GLib.DestroyNotify that will be called when the picture is freed.

If a user_data was previously set, then the previous set notify will be called before the user_data is replaced.

Parameters:

`picture` (GstCodecs.Vp9Picture) –

a GstCodecs.Vp9Picture

`user_data` (Object) –

private data

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

#### GstCodecs.Vp9Picture.set_user_data

    def GstCodecs.Vp9Picture.set_user_data (self, *user_data, notify):
        #python wrapper for 'gst_vp9_picture_set_user_data'

Sets user_data on the picture and the GLib.DestroyNotify that will be called when the picture is freed.

If a user_data was previously set, then the previous set notify will be called before the user_data is replaced.

Parameters:

`picture` (GstCodecs.Vp9Picture) –

a GstCodecs.Vp9Picture

`user_data` (variadic) –

private data

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

## Function Macros

### GST_IS_VP9_PICTURE

    #define GST_IS_VP9_PICTURE(obj)  (GST_IS_MINI_OBJECT_TYPE(obj, GST_TYPE_VP9_PICTURE))

### GST_VP9_DECODER_CAST

    #define GST_VP9_DECODER_CAST(obj)       ((GstVP9Decoder*)obj)

### GST_VP9_PICTURE

    #define GST_VP9_PICTURE(obj)     ((GstVp9Picture *)obj)

### GST_VP9_PICTURE_CAST

    #define GST_VP9_PICTURE_CAST(obj) (GST_VP9_PICTURE(obj))

## Constants

### GST_TYPE_VP9_PICTURE

    #define GST_TYPE_VP9_PICTURE     (gst_vp9_picture_get_type())

The results of the search are