# Gstav1Decoder

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoDecoder
                        ╰──GstAV1Decoder

The opaque GstAV1Decoder data structure.

Since : 1.20

### Class structure

#### GstAV1DecoderClass

##### Fields

`parent_class` (GstVideoDecoderClass) –
No description available

### GstCodecs.AV1DecoderClass

##### Attributes

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

### GstCodecs.AV1DecoderClass

##### Attributes

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

## GstCodecs.AV1Decoder

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

The opaque GstCodecs.AV1Decoder data structure.

Since : 1.20

## GstCodecs.AV1Decoder

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

The opaque GstCodecs.AV1Decoder data structure.

Since : 1.20

### Virtual Methods

#### decode_tile

    GstFlowReturn
    decode_tile (GstAV1Decoder * decoder,
                 GstAV1Picture * picture,
                 GstAV1Tile * tile)

Provides the tile data with tile group header and required raw bitstream for subclass to decode it.

Parameters:

`decoder` –

a GstAV1Decoder

`picture` ( [transfer: none]) –

a GstAV1Picture

`tile` ( [transfer: none]) –

a GstAV1Tile

Returns –
No description available

Since : 1.20

#### vfunc_decode_tile

    function vfunc_decode_tile(decoder: GstCodecs.AV1Decoder, picture: GstCodecs.AV1Picture, tile: GstCodecs.AV1Tile): {
        // javascript implementation of the 'decode_tile' virtual method
    }

Provides the tile data with tile group header and required raw bitstream for subclass to decode it.

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

`tile` (GstCodecs.AV1Tile) –

a GstCodecs.AV1Tile

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### do_decode_tile

    def do_decode_tile (decoder, picture, tile):
        #python implementation of the 'decode_tile' virtual method

Provides the tile data with tile group header and required raw bitstream for subclass to decode it.

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

`tile` (GstCodecs.AV1Tile) –

a GstCodecs.AV1Tile

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### duplicate_picture

    GstAV1Picture *
    duplicate_picture (GstAV1Decoder * decoder,
                       GstVideoCodecFrame * frame,
                       GstAV1Picture * picture)

Called when need to duplicate an existing GstAV1Picture. As duplicated key-frame will populate the DPB, this virtual function is not optional.

Parameters:

`decoder` –

a GstAV1Decoder

`frame` ( [transfer: none]) –

the current GstVideoCodecFrame

`picture` ( [transfer: none]) –

a GstAV1Picture

Returns –
No description available

Since : 1.22

#### vfunc_duplicate_picture

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

Called when need to duplicate an existing GstCodecs.AV1Picture. As duplicated key-frame will populate the DPB, this virtual function is not optional.

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`frame` (GstVideo.VideoCodecFrame) –

the current GstVideo.VideoCodecFrame

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (GstCodecs.AV1Picture) –
No description available

Since : 1.22

#### do_duplicate_picture

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

Called when need to duplicate an existing GstCodecs.AV1Picture. As duplicated key-frame will populate the DPB, this virtual function is not optional.

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`frame` (GstVideo.VideoCodecFrame) –

the current GstVideo.VideoCodecFrame

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (GstCodecs.AV1Picture) –
No description available

Since : 1.22

#### end_picture

    GstFlowReturn
    end_picture (GstAV1Decoder * decoder,
                 GstAV1Picture * picture)

Optional. Called per one GstAV1Picture to notify subclass to finish decoding process for the GstAV1Picture

Parameters:

`decoder` –

a GstAV1Decoder

`picture` ( [transfer: none]) –

a GstAV1Picture

Returns –
No description available

Since : 1.20

#### vfunc_end_picture

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

Optional. Called per one GstCodecs.AV1Picture to notify subclass to finish decoding process for the GstCodecs.AV1Picture

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### do_end_picture

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

Optional. Called per one GstCodecs.AV1Picture to notify subclass to finish decoding process for the GstCodecs.AV1Picture

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### get_preferred_output_delay

    guint
    get_preferred_output_delay (GstAV1Decoder * decoder,
                                gboolean live)

Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.

Parameters:

`decoder` –

a GstAV1Decoder

`live` –

whether upstream is live or not

Returns –

the number of perferred delayed output frame

Since : 1.22

#### vfunc_get_preferred_output_delay

    function vfunc_get_preferred_output_delay(decoder: GstCodecs.AV1Decoder, live: Number): {
        // javascript implementation of the 'get_preferred_output_delay' virtual method
    }

Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`live` (Number) –

whether upstream is live or not

Returns (Number) –

the number of perferred delayed output frame

Since : 1.22

#### do_get_preferred_output_delay

    def do_get_preferred_output_delay (decoder, live):
        #python implementation of the 'get_preferred_output_delay' virtual method

Optional. Called by baseclass to query whether delaying output is preferred by subclass or not.

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`live` (bool) –

whether upstream is live or not

Returns (int) –

the number of perferred delayed output frame

Since : 1.22

#### new_picture

    GstFlowReturn
    new_picture (GstAV1Decoder * decoder,
                 GstVideoCodecFrame * frame,
                 GstAV1Picture * picture)

Optional. Called whenever new GstAV1Picture is created. Subclass can set implementation specific user data on the GstAV1Picture via gst_av1_picture_set_user_data

Parameters:

`decoder` –

a GstAV1Decoder

`frame` ( [transfer: none]) –

a GstVideoCodecFrame

`picture` ( [transfer: none]) –

a GstAV1Picture

Returns –
No description available

Since : 1.20

#### vfunc_new_picture

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

Optional. Called whenever new GstCodecs.AV1Picture is created. Subclass can set implementation specific user data on the GstCodecs.AV1Picture via GstCodecs.AV1Picture.prototype.set_user_data

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`frame` (GstVideo.VideoCodecFrame) –

a GstVideo.VideoCodecFrame

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### do_new_picture

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

Optional. Called whenever new GstCodecs.AV1Picture is created. Subclass can set implementation specific user data on the GstCodecs.AV1Picture via GstCodecs.AV1Picture.set_user_data

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`frame` (GstVideo.VideoCodecFrame) –

a GstVideo.VideoCodecFrame

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### new_sequence

    GstFlowReturn
    new_sequence (GstAV1Decoder * decoder,
                  const GstAV1SequenceHeaderOBU * seq_hdr,
                  gint max_dpb_size)

Notifies subclass of SPS update

Parameters:

`decoder` –

a GstAV1Decoder

`seq_hdr` –

a GstAV1SequenceHeaderOBU

`max_dpb_size` –

the size of dpb including preferred output delay by subclass reported via get_preferred_output_delay method.

Returns –
No description available

Since : 1.20

#### output_picture

    GstFlowReturn
    output_picture (GstAV1Decoder * decoder,
                    GstVideoCodecFrame * frame,
                    GstAV1Picture * picture)

Called with a GstAV1Picture which is required to be outputted. The GstVideoCodecFrame must be consumed by subclass.

Parameters:

`decoder` –

a GstAV1Decoder

`frame` ( [transfer: full]) –

a GstVideoCodecFrame

`picture` ( [transfer: full]) –

a GstAV1Picture

Returns –
No description available

Since : 1.20

#### vfunc_output_picture

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

Called with a GstCodecs.AV1Picture which is required to be outputted. The GstVideo.VideoCodecFrame must be consumed by subclass.

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`frame` (GstVideo.VideoCodecFrame) –

a GstVideo.VideoCodecFrame

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### do_output_picture

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

Called with a GstCodecs.AV1Picture which is required to be outputted. The GstVideo.VideoCodecFrame must be consumed by subclass.

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`frame` (GstVideo.VideoCodecFrame) –

a GstVideo.VideoCodecFrame

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### start_picture

    GstFlowReturn
    start_picture (GstAV1Decoder * decoder,
                   GstAV1Picture * picture,
                   GstAV1Dpb * dpb)

Optional. Called per one GstAV1Picture to notify subclass to prepare decoding process for the GstAV1Picture

Parameters:

`decoder` –

a GstAV1Decoder

`picture` ( [transfer: none]) –

a GstAV1Picture

`dpb` ( [transfer: none]) –

a GstAV1Dpb

Returns –
No description available

Since : 1.20

#### vfunc_start_picture

    function vfunc_start_picture(decoder: GstCodecs.AV1Decoder, picture: GstCodecs.AV1Picture, dpb: GstCodecs.AV1Dpb): {
        // javascript implementation of the 'start_picture' virtual method
    }

Optional. Called per one GstCodecs.AV1Picture to notify subclass to prepare decoding process for the GstCodecs.AV1Picture

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

`dpb` (GstCodecs.AV1Dpb) –

a GstCodecs.AV1Dpb

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### do_start_picture

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

Optional. Called per one GstCodecs.AV1Picture to notify subclass to prepare decoding process for the GstCodecs.AV1Picture

Parameters:

`decoder` (GstCodecs.AV1Decoder) –

a GstCodecs.AV1Decoder

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

`dpb` (GstCodecs.AV1Dpb) –

a GstCodecs.AV1Dpb

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

## GstAV1Dpb

### Members

`pic_list` (GstAV1Picture *) –
No description available

Since : 1.20

## GstCodecs.AV1Dpb

### Members

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

Since : 1.20

## GstCodecs.AV1Dpb

### Members

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

Since : 1.20

### Methods

#### gst_av1_dpb_add

    gst_av1_dpb_add (GstAV1Dpb * dpb,
                     GstAV1Picture * picture)

Store the picture

Parameters:

`dpb` –

a GstAV1Dpb

`picture` ( [transfer: full]) –

a GstAV1Picture

Since : 1.20

#### GstCodecs.AV1Dpb.prototype.add

    function GstCodecs.AV1Dpb.prototype.add(picture: GstCodecs.AV1Picture): {
        // javascript wrapper for 'gst_av1_dpb_add'
    }

Store the picture

Parameters:

`dpb` (GstCodecs.AV1Dpb) –

a GstCodecs.AV1Dpb

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Since : 1.20

#### GstCodecs.AV1Dpb.add

    def GstCodecs.AV1Dpb.add (self, picture):
        #python wrapper for 'gst_av1_dpb_add'

Store the picture

Parameters:

`dpb` (GstCodecs.AV1Dpb) –

a GstCodecs.AV1Dpb

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Since : 1.20

#### gst_av1_dpb_clear

    gst_av1_dpb_clear (GstAV1Dpb * dpb)

Clear all stored GstAV1Picture

Parameters:

`dpb` –

a GstAV1Dpb

Since : 1.20

#### GstCodecs.AV1Dpb.prototype.clear

    function GstCodecs.AV1Dpb.prototype.clear(): {
        // javascript wrapper for 'gst_av1_dpb_clear'
    }

Clear all stored GstCodecs.AV1Picture

Parameters:

`dpb` (GstCodecs.AV1Dpb) –

a GstCodecs.AV1Dpb

Since : 1.20

#### GstCodecs.AV1Dpb.clear

    def GstCodecs.AV1Dpb.clear (self):
        #python wrapper for 'gst_av1_dpb_clear'

Clear all stored GstCodecs.AV1Picture

Parameters:

`dpb` (GstCodecs.AV1Dpb) –

a GstCodecs.AV1Dpb

Since : 1.20

#### gst_av1_dpb_free

    gst_av1_dpb_free (GstAV1Dpb * dpb)

Free the dpb

Parameters:

`dpb` –

a GstAV1Dpb to free

Since : 1.20

#### GstCodecs.AV1Dpb.prototype.free

    function GstCodecs.AV1Dpb.prototype.free(): {
        // javascript wrapper for 'gst_av1_dpb_free'
    }

Free the dpb

Parameters:

`dpb` (GstCodecs.AV1Dpb) –

a GstCodecs.AV1Dpb to free

Since : 1.20

#### GstCodecs.AV1Dpb.free

    def GstCodecs.AV1Dpb.free (self):
        #python wrapper for 'gst_av1_dpb_free'

Free the dpb

Parameters:

`dpb` (GstCodecs.AV1Dpb) –

a GstCodecs.AV1Dpb to free

Since : 1.20

### Functions

#### gst_av1_dpb_new

    GstAV1Dpb *
    gst_av1_dpb_new ()

Create new GstAV1Dpb

Returns –

a new GstAV1Dpb

Since : 1.20

## GstAV1Picture

Since : 1.20

## GstCodecs.AV1Picture

Since : 1.20

## GstCodecs.AV1Picture

Since : 1.20

### Constructors

#### gst_av1_picture_new

    GstAV1Picture *
    gst_av1_picture_new ()

Create new GstAV1Picture

Returns –

a new GstAV1Picture

Since : 1.20

#### GstCodecs.AV1Picture.prototype.new

    function GstCodecs.AV1Picture.prototype.new(): {
        // javascript wrapper for 'gst_av1_picture_new'
    }

Create new GstCodecs.AV1Picture

Returns (GstCodecs.AV1Picture) –

a new GstCodecs.AV1Picture

Since : 1.20

#### GstCodecs.AV1Picture.new

    def GstCodecs.AV1Picture.new ():
        #python wrapper for 'gst_av1_picture_new'

Create new GstCodecs.AV1Picture

Returns (GstCodecs.AV1Picture) –

a new GstCodecs.AV1Picture

Since : 1.20

### Methods

#### gst_av1_picture_get_user_data

    gpointer
    gst_av1_picture_get_user_data (GstAV1Picture * picture)

Gets private data set on the picture via gst_av1_picture_set_user_data previously.

Parameters:

`picture` –

a GstAV1Picture

Returns ( [transfer: none]) –

The previously set user_data

Since : 1.20

#### GstCodecs.AV1Picture.prototype.get_user_data

    function GstCodecs.AV1Picture.prototype.get_user_data(): {
        // javascript wrapper for 'gst_av1_picture_get_user_data'
    }

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

Parameters:

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (Object) –

The previously set user_data

Since : 1.20

#### GstCodecs.AV1Picture.get_user_data

    def GstCodecs.AV1Picture.get_user_data (self):
        #python wrapper for 'gst_av1_picture_get_user_data'

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

Parameters:

`picture` (GstCodecs.AV1Picture) –

a GstCodecs.AV1Picture

Returns (object) –

The previously set user_data

Since : 1.20

#### gst_av1_picture_set_user_data

    gst_av1_picture_set_user_data (GstAV1Picture * 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 GstAV1Picture

`user_data` –

private data

`notify` ( [closure]) –

a GDestroyNotify

Since : 1.20

#### GstCodecs.AV1Picture.prototype.set_user_data

    function GstCodecs.AV1Picture.prototype.set_user_data(user_data: Object, notify: GLib.DestroyNotify): {
        // javascript wrapper for 'gst_av1_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.AV1Picture) –

a GstCodecs.AV1Picture

`user_data` (Object) –

private data

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

Since : 1.20

#### GstCodecs.AV1Picture.set_user_data

    def GstCodecs.AV1Picture.set_user_data (self, *user_data, notify):
        #python wrapper for 'gst_av1_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.AV1Picture) –

a GstCodecs.AV1Picture

`user_data` (variadic) –

private data

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

Since : 1.20

## GstAV1Tile

### Members

`tile_group` (GstAV1TileGroupOBU) –
No description available
`obu` (GstAV1OBU) –
No description available

Since : 1.20

## GstCodecs.AV1Tile

### Members

`tile_group (not introspectable)` (object) –
No description available
`obu (not introspectable)` (object) –
No description available

Since : 1.20

## GstCodecs.AV1Tile

### Members

`tile_group (not introspectable)` (object) –
No description available
`obu (not introspectable)` (object) –
No description available

Since : 1.20

## Function Macros

### GST_AV1_PICTURE

    #define GST_AV1_PICTURE(obj)     ((GstAV1Picture *)obj)

Since : 1.20

### GST_IS_AV1_PICTURE

    #define GST_IS_AV1_PICTURE(obj)  (GST_IS_MINI_OBJECT_TYPE(obj, GST_TYPE_AV1_PICTURE))

Since : 1.20

## Constants

### GST_TYPE_AV1_PICTURE

    #define GST_TYPE_AV1_PICTURE     (gst_av1_picture_get_type())

Since : 1.20

The results of the search are