# GstH264Decoder

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstVideoDecoder
                        ╰──GstH264Decoder

The opaque GstH264Decoder data structure.

### Class structure

#### GstH264DecoderClass

The opaque GstH264DecoderClass data structure.

### GstCodecs.H264DecoderClass

The opaque GstCodecs.H264DecoderClass data structure.

### GstCodecs.H264DecoderClass

The opaque GstCodecs.H264DecoderClass data structure.

## GstCodecs.H264Decoder

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

The opaque GstCodecs.H264Decoder data structure.

## GstCodecs.H264Decoder

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

The opaque GstCodecs.H264Decoder data structure.

### Methods

#### gst_h264_decoder_get_picture

    GstH264Picture *
    gst_h264_decoder_get_picture (GstH264Decoder * decoder,
                                  guint32 system_frame_number)

Retrive DPB and return a GstH264Picture corresponding to the system_frame_number

Parameters:

`decoder` –

a GstH264Decoder

`system_frame_number` –

a target system frame number of GstH264Picture

Returns ( [transfer: full]) –

a GstH264Picture if successful, or NULL otherwise

Since : 1.18

#### GstCodecs.H264Decoder.prototype.get_picture

    function GstCodecs.H264Decoder.prototype.get_picture(system_frame_number: Number): {
        // javascript wrapper for 'gst_h264_decoder_get_picture'
    }

Retrive DPB and return a GstCodecs.H264Picture corresponding to the system_frame_number

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`system_frame_number` (Number) –

a target system frame number of GstCodecs.H264Picture

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture if successful, or null otherwise

Since : 1.18

#### GstCodecs.H264Decoder.get_picture

    def GstCodecs.H264Decoder.get_picture (self, system_frame_number):
        #python wrapper for 'gst_h264_decoder_get_picture'

Retrive DPB and return a GstCodecs.H264Picture corresponding to the system_frame_number

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`system_frame_number` (int) –

a target system frame number of GstCodecs.H264Picture

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture if successful, or None otherwise

Since : 1.18

#### gst_h264_decoder_set_process_ref_pic_lists

    gst_h264_decoder_set_process_ref_pic_lists (GstH264Decoder * decoder,
                                                gboolean process)

Called to en/disable reference picture modification process.

Parameters:

`decoder` –

a GstH264Decoder

`process` –

whether subclass is requiring reference picture modification process

Since : 1.18

#### GstCodecs.H264Decoder.prototype.set_process_ref_pic_lists

    function GstCodecs.H264Decoder.prototype.set_process_ref_pic_lists(process: Number): {
        // javascript wrapper for 'gst_h264_decoder_set_process_ref_pic_lists'
    }

Called to en/disable reference picture modification process.

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`process` (Number) –

whether subclass is requiring reference picture modification process

Since : 1.18

#### GstCodecs.H264Decoder.set_process_ref_pic_lists

    def GstCodecs.H264Decoder.set_process_ref_pic_lists (self, process):
        #python wrapper for 'gst_h264_decoder_set_process_ref_pic_lists'

Called to en/disable reference picture modification process.

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`process` (bool) –

whether subclass is requiring reference picture modification process

Since : 1.18

### Properties

#### compliance

    “compliance” GstH264DecoderCompliance *

The compliance controls the behavior of the decoder to handle some subtle cases and contexts, such as the low-latency DPB bumping or mapping the baseline profile as the constrained-baseline profile, etc.

Flags : Read / Write / Construct

#### compliance

    “compliance” GstCodecs.H264DecoderCompliance

The compliance controls the behavior of the decoder to handle some subtle cases and contexts, such as the low-latency DPB bumping or mapping the baseline profile as the constrained-baseline profile, etc.

Flags : Read / Write / Construct

#### compliance

    “self.props.compliance” GstCodecs.H264DecoderCompliance

The compliance controls the behavior of the decoder to handle some subtle cases and contexts, such as the low-latency DPB bumping or mapping the baseline profile as the constrained-baseline profile, etc.

Flags : Read / Write / Construct

### Virtual Methods

#### decode_slice

    GstFlowReturn
    decode_slice (GstH264Decoder * decoder,
                  GstH264Picture * picture,
                  GstH264Slice * slice,
                  GArray * ref_pic_list0,
                  GArray * ref_pic_list1)

Provides per slice data with parsed slice header and required raw bitstream for subclass to decode it. If gst_h264_decoder_set_process_ref_pic_lists is called with TRUE by the subclass, ref_pic_list0 and ref_pic_list1 are non-%NULL. In case of interlaced stream, ref_pic_list0 and ref_pic_list1 will contain only the first field of complementary reference field pair if currently being decoded picture is a frame picture. Subclasses might need to retrive the other field (i.e., the second field) of the picture if needed.

Parameters:

`decoder` –

a GstH264Decoder

`picture` ( [transfer: none]) –

a GstH264Picture

`slice` ( [transfer: none]) –

a GstH264Slice

`ref_pic_list0` –

(element-type GstH264Picture) (transfer none): an array of GstH264Picture pointers

`ref_pic_list1` –

(element-type GstH264Picture) (transfer none): an array of GstH264Picture pointers

Returns –
No description available

#### vfunc_decode_slice

    function vfunc_decode_slice(decoder: GstCodecs.H264Decoder, picture: GstCodecs.H264Picture, slice: GstCodecs.H264Slice, ref_pic_list0: [ GstCodecs.H264Picture ], ref_pic_list1: [ GstCodecs.H264Picture ]): {
        // javascript implementation of the 'decode_slice' virtual method
    }

Provides per slice data with parsed slice header and required raw bitstream for subclass to decode it. If GstCodecs.H264Decoder.prototype.set_process_ref_pic_lists is called with true by the subclass, ref_pic_list0 and ref_pic_list1 are non-%NULL. In case of interlaced stream, ref_pic_list0 and ref_pic_list1 will contain only the first field of complementary reference field pair if currently being decoded picture is a frame picture. Subclasses might need to retrive the other field (i.e., the second field) of the picture if needed.

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

`slice` (GstCodecs.H264Slice) –

a GstCodecs.H264Slice

`ref_pic_list0` ([ GstCodecs.H264Picture ]) –

(element-type GstH264Picture) (transfer none): an array of GstCodecs.H264Picture pointers

`ref_pic_list1` ([ GstCodecs.H264Picture ]) –

(element-type GstH264Picture) (transfer none): an array of GstCodecs.H264Picture pointers

Returns (Gst.FlowReturn) –
No description available

#### do_decode_slice

    def do_decode_slice (decoder, picture, slice, ref_pic_list0, ref_pic_list1):
        #python implementation of the 'decode_slice' virtual method

Provides per slice data with parsed slice header and required raw bitstream for subclass to decode it. If GstCodecs.H264Decoder.set_process_ref_pic_lists is called with True by the subclass, ref_pic_list0 and ref_pic_list1 are non-%NULL. In case of interlaced stream, ref_pic_list0 and ref_pic_list1 will contain only the first field of complementary reference field pair if currently being decoded picture is a frame picture. Subclasses might need to retrive the other field (i.e., the second field) of the picture if needed.

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

`slice` (GstCodecs.H264Slice) –

a GstCodecs.H264Slice

`ref_pic_list0` ([ GstCodecs.H264Picture ]) –

(element-type GstH264Picture) (transfer none): an array of GstCodecs.H264Picture pointers

`ref_pic_list1` ([ GstCodecs.H264Picture ]) –

(element-type GstH264Picture) (transfer none): an array of GstCodecs.H264Picture pointers

Returns (Gst.FlowReturn) –
No description available

#### end_picture

    GstFlowReturn
    end_picture (GstH264Decoder * decoder,
                 GstH264Picture * picture)

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

Parameters:

`decoder` –

a GstH264Decoder

`picture` ( [transfer: none]) –

a GstH264Picture

Returns –
No description available

#### vfunc_end_picture

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

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

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Returns (Gst.FlowReturn) –
No description available

#### do_end_picture

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

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

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Returns (Gst.FlowReturn) –
No description available

#### get_preferred_output_delay

    guint
    get_preferred_output_delay (GstH264Decoder * decoder,
                                gboolean live)

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

Parameters:

`decoder` –

a GstH264Decoder

`live` –

whether upstream is live or not

Returns –

the number of perferred delayed output frame

Since : 1.20

#### vfunc_get_preferred_output_delay

    function vfunc_get_preferred_output_delay(decoder: GstCodecs.H264Decoder, 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.H264Decoder) –

a GstCodecs.H264Decoder

`live` (Number) –

whether upstream is live or not

Returns (Number) –

the number of perferred delayed output frame

Since : 1.20

#### 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.H264Decoder) –

a GstCodecs.H264Decoder

`live` (bool) –

whether upstream is live or not

Returns (int) –

the number of perferred delayed output frame

Since : 1.20

#### new_field_picture

    GstFlowReturn
    new_field_picture (GstH264Decoder * decoder,
                       const GstH264Picture * first_field,
                       GstH264Picture * second_field)

Called when a new field picture is created for interlaced field picture. Subclass can attach implementation specific user data on second_field via gst_h264_picture_set_user_data

Parameters:

`decoder` –

a GstH264Decoder

`first_field` ( [transfer: none]) –

the first field GstH264Picture already decoded

`second_field` ( [transfer: none]) –

a GstH264Picture for the second field

Returns –
No description available

Since : 1.20

#### vfunc_new_field_picture

    function vfunc_new_field_picture(decoder: GstCodecs.H264Decoder, first_field: GstCodecs.H264Picture, second_field: GstCodecs.H264Picture): {
        // javascript implementation of the 'new_field_picture' virtual method
    }

Called when a new field picture is created for interlaced field picture. Subclass can attach implementation specific user data on second_field via GstCodecs.H264Picture.prototype.set_user_data

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`first_field` (GstCodecs.H264Picture) –

the first field GstCodecs.H264Picture already decoded

`second_field` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture for the second field

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### do_new_field_picture

    def do_new_field_picture (decoder, first_field, second_field):
        #python implementation of the 'new_field_picture' virtual method

Called when a new field picture is created for interlaced field picture. Subclass can attach implementation specific user data on second_field via GstCodecs.H264Picture.set_user_data

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`first_field` (GstCodecs.H264Picture) –

the first field GstCodecs.H264Picture already decoded

`second_field` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture for the second field

Returns (Gst.FlowReturn) –
No description available

Since : 1.20

#### new_picture

    GstFlowReturn
    new_picture (GstH264Decoder * decoder,
                 GstVideoCodecFrame * frame,
                 GstH264Picture * picture)

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

Parameters:

`decoder` –

a GstH264Decoder

`frame` ( [transfer: none]) –

a GstVideoCodecFrame

`picture` ( [transfer: none]) –

a GstH264Picture

Returns –
No description available

#### vfunc_new_picture

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

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

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`frame` (GstVideo.VideoCodecFrame) –

a GstVideo.VideoCodecFrame

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Returns (Gst.FlowReturn) –
No description available

#### do_new_picture

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

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

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`frame` (GstVideo.VideoCodecFrame) –

a GstVideo.VideoCodecFrame

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Returns (Gst.FlowReturn) –
No description available

#### new_sequence

    GstFlowReturn
    new_sequence (GstH264Decoder * decoder,
                  const GstH264SPS * sps,
                  gint max_dpb_size)

Notifies subclass of SPS update

Parameters:

`decoder` –

a GstH264Decoder

`sps` –

a GstH264SPS

`max_dpb_size` –

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

Returns –
No description available

#### output_picture

    GstFlowReturn
    output_picture (GstH264Decoder * decoder,
                    GstVideoCodecFrame * frame,
                    GstH264Picture * picture)

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

Parameters:

`decoder` –

a GstH264Decoder

`frame` ( [transfer: full]) –

a GstVideoCodecFrame

`picture` ( [transfer: full]) –

a GstH264Picture

Returns –
No description available

#### vfunc_output_picture

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

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

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`frame` (GstVideo.VideoCodecFrame) –

a GstVideo.VideoCodecFrame

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Returns (Gst.FlowReturn) –
No description available

#### do_output_picture

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

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

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`frame` (GstVideo.VideoCodecFrame) –

a GstVideo.VideoCodecFrame

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Returns (Gst.FlowReturn) –
No description available

#### start_picture

    GstFlowReturn
    start_picture (GstH264Decoder * decoder,
                   GstH264Picture * picture,
                   GstH264Slice * slice,
                   GstH264Dpb * dpb)

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

Parameters:

`decoder` –

a GstH264Decoder

`picture` ( [transfer: none]) –

a GstH264Picture

`slice` ( [transfer: none]) –

a GstH264Slice

`dpb` ( [transfer: none]) –

a GstH264Dpb

Returns –
No description available

#### vfunc_start_picture

    function vfunc_start_picture(decoder: GstCodecs.H264Decoder, picture: GstCodecs.H264Picture, slice: GstCodecs.H264Slice, dpb: GstCodecs.H264Dpb): {
        // javascript implementation of the 'start_picture' virtual method
    }

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

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

`slice` (GstCodecs.H264Slice) –

a GstCodecs.H264Slice

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (Gst.FlowReturn) –
No description available

#### do_start_picture

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

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

Parameters:

`decoder` (GstCodecs.H264Decoder) –

a GstCodecs.H264Decoder

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

`slice` (GstCodecs.H264Slice) –

a GstCodecs.H264Slice

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (Gst.FlowReturn) –
No description available

## GstH264Dpb

## GstCodecs.H264Dpb

### Methods

#### gst_h264_dpb_add

    gst_h264_dpb_add (GstH264Dpb * dpb,
                      GstH264Picture * picture)

Store the picture

Parameters:

`dpb` –

a GstH264Dpb

`picture` ( [transfer: full]) –

a GstH264Picture

#### GstCodecs.H264Dpb.prototype.add

    function GstCodecs.H264Dpb.prototype.add(picture: GstCodecs.H264Picture): {
        // javascript wrapper for 'gst_h264_dpb_add'
    }

Store the picture

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

#### GstCodecs.H264Dpb.add

    def GstCodecs.H264Dpb.add (self, picture):
        #python wrapper for 'gst_h264_dpb_add'

Store the picture

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

#### gst_h264_dpb_bump

    GstH264Picture *
    gst_h264_dpb_bump (GstH264Dpb * dpb,
                       gboolean drain)

Perform bumping process as defined in C.4.5.3 "Bumping" process. If drain is TRUE, dpb will remove a GstH264Picture from internal array so that returned GstH264Picture could hold the last reference of it

Parameters:

`dpb` –

a GstH265Dpb

`drain` –

whether draining or not

Returns ( [nullable][transfer: full]) –

a GstH264Picture which is needed to be outputted

Since : 1.20

#### GstCodecs.H264Dpb.prototype.bump

    function GstCodecs.H264Dpb.prototype.bump(drain: Number): {
        // javascript wrapper for 'gst_h264_dpb_bump'
    }

Perform bumping process as defined in C.4.5.3 "Bumping" process. If drain is true, dpb will remove a GstCodecs.H264Picture from internal array so that returned GstCodecs.H264Picture could hold the last reference of it

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H265Dpb

`drain` (Number) –

whether draining or not

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture which is needed to be outputted

Since : 1.20

#### GstCodecs.H264Dpb.bump

    def GstCodecs.H264Dpb.bump (self, drain):
        #python wrapper for 'gst_h264_dpb_bump'

Perform bumping process as defined in C.4.5.3 "Bumping" process. If drain is True, dpb will remove a GstCodecs.H264Picture from internal array so that returned GstCodecs.H264Picture could hold the last reference of it

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H265Dpb

`drain` (bool) –

whether draining or not

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture which is needed to be outputted

Since : 1.20

#### gst_h264_dpb_clear

    gst_h264_dpb_clear (GstH264Dpb * dpb)

Clear all stored GstH264Picture

Parameters:

`dpb` –

a GstH264Dpb

#### GstCodecs.H264Dpb.prototype.clear

    function GstCodecs.H264Dpb.prototype.clear(): {
        // javascript wrapper for 'gst_h264_dpb_clear'
    }

Clear all stored GstCodecs.H264Picture

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

#### GstCodecs.H264Dpb.clear

    def GstCodecs.H264Dpb.clear (self):
        #python wrapper for 'gst_h264_dpb_clear'

Clear all stored GstCodecs.H264Picture

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

#### gst_h264_dpb_delete_unused

    gst_h264_dpb_delete_unused (GstH264Dpb * dpb)

Delete already outputted and not referenced all pictures from dpb

Parameters:

`dpb` –

a GstH264Dpb

#### GstCodecs.H264Dpb.prototype.delete_unused

    function GstCodecs.H264Dpb.prototype.delete_unused(): {
        // javascript wrapper for 'gst_h264_dpb_delete_unused'
    }

Delete already outputted and not referenced all pictures from dpb

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

#### GstCodecs.H264Dpb.delete_unused

    def GstCodecs.H264Dpb.delete_unused (self):
        #python wrapper for 'gst_h264_dpb_delete_unused'

Delete already outputted and not referenced all pictures from dpb

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

#### gst_h264_dpb_free

    gst_h264_dpb_free (GstH264Dpb * dpb)

Free the dpb

Parameters:

`dpb` –

a GstH264Dpb to free

#### GstCodecs.H264Dpb.prototype.free

    function GstCodecs.H264Dpb.prototype.free(): {
        // javascript wrapper for 'gst_h264_dpb_free'
    }

Free the dpb

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb to free

#### GstCodecs.H264Dpb.free

    def GstCodecs.H264Dpb.free (self):
        #python wrapper for 'gst_h264_dpb_free'

Free the dpb

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb to free

#### gst_h264_dpb_get_interlaced

    gboolean
    gst_h264_dpb_get_interlaced (GstH264Dpb * dpb)

Parameters:

`dpb` –

a GstH264Dpb

Returns –

TRUE if dpb is configured for interlaced stream

Since : 1.20

#### GstCodecs.H264Dpb.prototype.get_interlaced

    function GstCodecs.H264Dpb.prototype.get_interlaced(): {
        // javascript wrapper for 'gst_h264_dpb_get_interlaced'
    }

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (Number) –

true if dpb is configured for interlaced stream

Since : 1.20

#### GstCodecs.H264Dpb.get_interlaced

    def GstCodecs.H264Dpb.get_interlaced (self):
        #python wrapper for 'gst_h264_dpb_get_interlaced'

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (bool) –

True if dpb is configured for interlaced stream

Since : 1.20

#### gst_h264_dpb_get_long_ref_by_long_term_pic_num

    GstH264Picture *
    gst_h264_dpb_get_long_ref_by_long_term_pic_num (GstH264Dpb * dpb,
                                                    gint long_term_pic_num)

Find a long term reference picture which has matching long term picture number

Parameters:

`dpb` –

a GstH264Dpb

`long_term_pic_num` –

a long term picture number

Returns ( [nullable][transfer: none]) –

a GstH264Picture

Since : 1.20

#### GstCodecs.H264Dpb.prototype.get_long_ref_by_long_term_pic_num

    function GstCodecs.H264Dpb.prototype.get_long_ref_by_long_term_pic_num(long_term_pic_num: Number): {
        // javascript wrapper for 'gst_h264_dpb_get_long_ref_by_long_term_pic_num'
    }

Find a long term reference picture which has matching long term picture number

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`long_term_pic_num` (Number) –

a long term picture number

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Since : 1.20

#### GstCodecs.H264Dpb.get_long_ref_by_long_term_pic_num

    def GstCodecs.H264Dpb.get_long_ref_by_long_term_pic_num (self, long_term_pic_num):
        #python wrapper for 'gst_h264_dpb_get_long_ref_by_long_term_pic_num'

Find a long term reference picture which has matching long term picture number

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`long_term_pic_num` (int) –

a long term picture number

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Since : 1.20

#### gst_h264_dpb_get_lowest_frame_num_short_ref

    GstH264Picture *
    gst_h264_dpb_get_lowest_frame_num_short_ref (GstH264Dpb * dpb)

Find a short term reference picture which has the lowest frame_num_wrap

Parameters:

`dpb` –

a GstH264Dpb

Returns ( [transfer: full]) –

a GstH264Picture

#### GstCodecs.H264Dpb.prototype.get_lowest_frame_num_short_ref

    function GstCodecs.H264Dpb.prototype.get_lowest_frame_num_short_ref(): {
        // javascript wrapper for 'gst_h264_dpb_get_lowest_frame_num_short_ref'
    }

Find a short term reference picture which has the lowest frame_num_wrap

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

#### GstCodecs.H264Dpb.get_lowest_frame_num_short_ref

    def GstCodecs.H264Dpb.get_lowest_frame_num_short_ref (self):
        #python wrapper for 'gst_h264_dpb_get_lowest_frame_num_short_ref'

Find a short term reference picture which has the lowest frame_num_wrap

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

#### gst_h264_dpb_get_max_num_frames

    gint
    gst_h264_dpb_get_max_num_frames (GstH264Dpb * dpb)

Parameters:

`dpb` –

a GstH264Dpb

Returns –

the number of maximum frames

Since : 1.20

#### GstCodecs.H264Dpb.prototype.get_max_num_frames

    function GstCodecs.H264Dpb.prototype.get_max_num_frames(): {
        // javascript wrapper for 'gst_h264_dpb_get_max_num_frames'
    }

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (Number) –

the number of maximum frames

Since : 1.20

#### GstCodecs.H264Dpb.get_max_num_frames

    def GstCodecs.H264Dpb.get_max_num_frames (self):
        #python wrapper for 'gst_h264_dpb_get_max_num_frames'

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (int) –

the number of maximum frames

Since : 1.20

#### gst_h264_dpb_get_picture

    GstH264Picture *
    gst_h264_dpb_get_picture (GstH264Dpb * dpb,
                              guint32 system_frame_number)

Parameters:

`dpb` –

a GstH264Dpb system_frame_number The system frame number

`system_frame_number` –
No description available
Returns ( [transfer: full]) –

the picture identified with the specified system_frame_number, or NULL if DPB does not contain a GstH264Picture corresponding to the system_frame_number

Since : 1.18

#### GstCodecs.H264Dpb.prototype.get_picture

    function GstCodecs.H264Dpb.prototype.get_picture(system_frame_number: Number): {
        // javascript wrapper for 'gst_h264_dpb_get_picture'
    }

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb system_frame_number The system frame number

`system_frame_number` (Number) –
No description available
Returns (GstCodecs.H264Picture) –

the picture identified with the specified system_frame_number, or null if DPB does not contain a GstCodecs.H264Picture corresponding to the system_frame_number

Since : 1.18

#### GstCodecs.H264Dpb.get_picture

    def GstCodecs.H264Dpb.get_picture (self, system_frame_number):
        #python wrapper for 'gst_h264_dpb_get_picture'

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb system_frame_number The system frame number

`system_frame_number` (int) –
No description available
Returns (GstCodecs.H264Picture) –

the picture identified with the specified system_frame_number, or None if DPB does not contain a GstCodecs.H264Picture corresponding to the system_frame_number

Since : 1.18

#### gst_h264_dpb_get_pictures_all

    GArray *
    gst_h264_dpb_get_pictures_all (GstH264Dpb * dpb)

Return: (element-type GstH264Picture) (transfer full): a GArray of GstH264Picture stored in dpb

Parameters:

`dpb` –

a GstH264Dpb

Returns –
No description available

#### GstCodecs.H264Dpb.prototype.get_pictures_all

    function GstCodecs.H264Dpb.prototype.get_pictures_all(): {
        // javascript wrapper for 'gst_h264_dpb_get_pictures_all'
    }

Return: (element-type GstH264Picture) (transfer full): a GLib.Array of GstCodecs.H264Picture stored in dpb

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns ([ GstCodecs.H264Picture ]) –
No description available

#### GstCodecs.H264Dpb.get_pictures_all

    def GstCodecs.H264Dpb.get_pictures_all (self):
        #python wrapper for 'gst_h264_dpb_get_pictures_all'

Return: (element-type GstH264Picture) (transfer full): a GLib.Array of GstCodecs.H264Picture stored in dpb

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns ([ GstCodecs.H264Picture ]) –
No description available

#### gst_h264_dpb_get_pictures_long_term_ref

    gst_h264_dpb_get_pictures_long_term_ref (GstH264Dpb * dpb,
                                             gboolean include_second_field,
                                             GArray * out)

Retrieve all long-term reference pictures from dpb. The picture will be appended to the array.

Parameters:

`dpb` –

a GstH264Dpb

`include_second_field` –

TRUE if the second field pictures need to be included

`out` ( [out][element-typeGstH264Picture][transfer: full]) –

an array of GstH264Picture pointer

Since : 1.20

#### GstCodecs.H264Dpb.prototype.get_pictures_long_term_ref

    function GstCodecs.H264Dpb.prototype.get_pictures_long_term_ref(include_second_field: Number): {
        // javascript wrapper for 'gst_h264_dpb_get_pictures_long_term_ref'
    }

Retrieve all long-term reference pictures from dpb. The picture will be appended to the array.

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`include_second_field` (Number) –

true if the second field pictures need to be included

Since : 1.20

#### GstCodecs.H264Dpb.get_pictures_long_term_ref

    def GstCodecs.H264Dpb.get_pictures_long_term_ref (self, include_second_field):
        #python wrapper for 'gst_h264_dpb_get_pictures_long_term_ref'

Retrieve all long-term reference pictures from dpb. The picture will be appended to the array.

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`include_second_field` (bool) –

True if the second field pictures need to be included

Since : 1.20

#### gst_h264_dpb_get_pictures_short_term_ref

    gst_h264_dpb_get_pictures_short_term_ref (GstH264Dpb * dpb,
                                              gboolean include_non_existing,
                                              gboolean include_second_field,
                                              GArray * out)

Retrieve all short-term reference pictures from dpb. The picture will be appended to the array.

Parameters:

`dpb` –

a GstH264Dpb

`include_non_existing` –

TRUE if non-existing pictures need to be included

`include_second_field` –

TRUE if the second field pictures need to be included

`out` ( [out][element-typeGstH264Picture][transfer: full]) –

an array of GstH264Picture pointers

Since : 1.20

#### GstCodecs.H264Dpb.prototype.get_pictures_short_term_ref

    function GstCodecs.H264Dpb.prototype.get_pictures_short_term_ref(include_non_existing: Number, include_second_field: Number): {
        // javascript wrapper for 'gst_h264_dpb_get_pictures_short_term_ref'
    }

Retrieve all short-term reference pictures from dpb. The picture will be appended to the array.

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`include_non_existing` (Number) –

true if non-existing pictures need to be included

`include_second_field` (Number) –

true if the second field pictures need to be included

Since : 1.20

#### GstCodecs.H264Dpb.get_pictures_short_term_ref

    def GstCodecs.H264Dpb.get_pictures_short_term_ref (self, include_non_existing, include_second_field):
        #python wrapper for 'gst_h264_dpb_get_pictures_short_term_ref'

Retrieve all short-term reference pictures from dpb. The picture will be appended to the array.

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`include_non_existing` (bool) –

True if non-existing pictures need to be included

`include_second_field` (bool) –

True if the second field pictures need to be included

Since : 1.20

#### gst_h264_dpb_get_short_ref_by_pic_num

    GstH264Picture *
    gst_h264_dpb_get_short_ref_by_pic_num (GstH264Dpb * dpb,
                                           gint pic_num)

Find a short term reference picture which has matching picture number

Parameters:

`dpb` –

a GstH264Dpb

`pic_num` –

a picture number

Returns ( [nullable][transfer: none]) –

a GstH264Picture

#### GstCodecs.H264Dpb.prototype.get_short_ref_by_pic_num

    function GstCodecs.H264Dpb.prototype.get_short_ref_by_pic_num(pic_num: Number): {
        // javascript wrapper for 'gst_h264_dpb_get_short_ref_by_pic_num'
    }

Find a short term reference picture which has matching picture number

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`pic_num` (Number) –

a picture number

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

#### GstCodecs.H264Dpb.get_short_ref_by_pic_num

    def GstCodecs.H264Dpb.get_short_ref_by_pic_num (self, pic_num):
        #python wrapper for 'gst_h264_dpb_get_short_ref_by_pic_num'

Find a short term reference picture which has matching picture number

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`pic_num` (int) –

a picture number

Returns (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

#### gst_h264_dpb_get_size

    gint
    gst_h264_dpb_get_size (GstH264Dpb * dpb)

Return: the length of stored dpb array

Parameters:

`dpb` –

a GstH264Dpb

Returns –
No description available

#### GstCodecs.H264Dpb.prototype.get_size

    function GstCodecs.H264Dpb.prototype.get_size(): {
        // javascript wrapper for 'gst_h264_dpb_get_size'
    }

Return: the length of stored dpb array

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (Number) –
No description available

#### GstCodecs.H264Dpb.get_size

    def GstCodecs.H264Dpb.get_size (self):
        #python wrapper for 'gst_h264_dpb_get_size'

Return: the length of stored dpb array

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (int) –
No description available

#### gst_h264_dpb_has_empty_frame_buffer

    gboolean
    gst_h264_dpb_has_empty_frame_buffer (GstH264Dpb * dpb)

Parameters:

`dpb` –

a GstH264Dpb

Returns –

TRUE if dpb still has empty frame buffers.

Since : 1.20

#### GstCodecs.H264Dpb.prototype.has_empty_frame_buffer

    function GstCodecs.H264Dpb.prototype.has_empty_frame_buffer(): {
        // javascript wrapper for 'gst_h264_dpb_has_empty_frame_buffer'
    }

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (Number) –

true if dpb still has empty frame buffers.

Since : 1.20

#### GstCodecs.H264Dpb.has_empty_frame_buffer

    def GstCodecs.H264Dpb.has_empty_frame_buffer (self):
        #python wrapper for 'gst_h264_dpb_has_empty_frame_buffer'

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (bool) –

True if dpb still has empty frame buffers.

Since : 1.20

#### gst_h264_dpb_mark_all_non_ref

    gst_h264_dpb_mark_all_non_ref (GstH264Dpb * dpb)

Mark all pictures are not referenced

Parameters:

`dpb` –

a GstH264Dpb

#### GstCodecs.H264Dpb.prototype.mark_all_non_ref

    function GstCodecs.H264Dpb.prototype.mark_all_non_ref(): {
        // javascript wrapper for 'gst_h264_dpb_mark_all_non_ref'
    }

Mark all pictures are not referenced

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

#### GstCodecs.H264Dpb.mark_all_non_ref

    def GstCodecs.H264Dpb.mark_all_non_ref (self):
        #python wrapper for 'gst_h264_dpb_mark_all_non_ref'

Mark all pictures are not referenced

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

#### gst_h264_dpb_needs_bump

    gboolean
    gst_h264_dpb_needs_bump (GstH264Dpb * dpb,
                             GstH264Picture * to_insert,
                             GstH264DpbBumpMode latency_mode)

Parameters:

`dpb` –

a GstH264Dpb

`to_insert` –

the current GstH264Picture to insert to dpb.

`latency_mode` –

The required GstH264DpbBumpMode for bumping.

Returns –

TRUE if bumping is required

Since : 1.20

#### GstCodecs.H264Dpb.prototype.needs_bump

    function GstCodecs.H264Dpb.prototype.needs_bump(to_insert: GstCodecs.H264Picture, latency_mode: GstCodecs.H264DpbBumpMode): {
        // javascript wrapper for 'gst_h264_dpb_needs_bump'
    }

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`to_insert` (GstCodecs.H264Picture) –

the current GstCodecs.H264Picture to insert to dpb.

`latency_mode` (GstCodecs.H264DpbBumpMode) –

The required GstCodecs.H264DpbBumpMode for bumping.

Returns (Number) –

true if bumping is required

Since : 1.20

#### GstCodecs.H264Dpb.needs_bump

    def GstCodecs.H264Dpb.needs_bump (self, to_insert, latency_mode):
        #python wrapper for 'gst_h264_dpb_needs_bump'

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`to_insert` (GstCodecs.H264Picture) –

the current GstCodecs.H264Picture to insert to dpb.

`latency_mode` (GstCodecs.H264DpbBumpMode) –

The required GstCodecs.H264DpbBumpMode for bumping.

Returns (bool) –

True if bumping is required

Since : 1.20

#### gst_h264_dpb_num_ref_frames

    gint
    gst_h264_dpb_num_ref_frames (GstH264Dpb * dpb)

Parameters:

`dpb` –

a GstH264Dpb

Returns –

The number of referenced frames

Since : 1.20

#### GstCodecs.H264Dpb.prototype.num_ref_frames

    function GstCodecs.H264Dpb.prototype.num_ref_frames(): {
        // javascript wrapper for 'gst_h264_dpb_num_ref_frames'
    }

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (Number) –

The number of referenced frames

Since : 1.20

#### GstCodecs.H264Dpb.num_ref_frames

    def GstCodecs.H264Dpb.num_ref_frames (self):
        #python wrapper for 'gst_h264_dpb_num_ref_frames'

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

Returns (int) –

The number of referenced frames

Since : 1.20

#### gst_h264_dpb_perform_memory_management_control_operation

    gboolean
    gst_h264_dpb_perform_memory_management_control_operation (GstH264Dpb * dpb,
                                                              GstH264RefPicMarking * ref_pic_marking,
                                                              GstH264Picture * picture)

Perform "8.2.5.4 Adaptive memory control decoded reference picture marking process"

Parameters:

`dpb` –

a GstH265Dpb

`ref_pic_marking` –

a GstH264RefPicMarking

`picture` –

a GstH264Picture

Returns –

TRUE if successful

Since : 1.20

#### gst_h264_dpb_set_interlaced

    gst_h264_dpb_set_interlaced (GstH264Dpb * dpb,
                                 gboolean interlaced)

Parameters:

`dpb` –

a GstH264Dpb

`interlaced` –

TRUE if interlaced

Since : 1.20

#### GstCodecs.H264Dpb.prototype.set_interlaced

    function GstCodecs.H264Dpb.prototype.set_interlaced(interlaced: Number): {
        // javascript wrapper for 'gst_h264_dpb_set_interlaced'
    }

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`interlaced` (Number) –

true if interlaced

Since : 1.20

#### GstCodecs.H264Dpb.set_interlaced

    def GstCodecs.H264Dpb.set_interlaced (self, interlaced):
        #python wrapper for 'gst_h264_dpb_set_interlaced'

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`interlaced` (bool) –

True if interlaced

Since : 1.20

#### gst_h264_dpb_set_last_output

    gst_h264_dpb_set_last_output (GstH264Dpb * dpb,
                                  GstH264Picture * picture)

Notify the DPB that picture is output directly without storing in the DPB.

Parameters:

`dpb` –

a GstH264Dpb

`picture` –

a GstH264Picture of the last output.

Since : 1.20

#### GstCodecs.H264Dpb.prototype.set_last_output

    function GstCodecs.H264Dpb.prototype.set_last_output(picture: GstCodecs.H264Picture): {
        // javascript wrapper for 'gst_h264_dpb_set_last_output'
    }

Notify the DPB that picture is output directly without storing in the DPB.

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture of the last output.

Since : 1.20

#### GstCodecs.H264Dpb.set_last_output

    def GstCodecs.H264Dpb.set_last_output (self, picture):
        #python wrapper for 'gst_h264_dpb_set_last_output'

Notify the DPB that picture is output directly without storing in the DPB.

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture of the last output.

Since : 1.20

#### gst_h264_dpb_set_max_num_frames

    gst_h264_dpb_set_max_num_frames (GstH264Dpb * dpb,
                                     gint max_num_frames)

Set the number of maximum allowed frames to store

Parameters:

`dpb` –

a GstH264Dpb

`max_num_frames` –

the maximum number of picture

Since : 1.20

#### GstCodecs.H264Dpb.prototype.set_max_num_frames

    function GstCodecs.H264Dpb.prototype.set_max_num_frames(max_num_frames: Number): {
        // javascript wrapper for 'gst_h264_dpb_set_max_num_frames'
    }

Set the number of maximum allowed frames to store

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`max_num_frames` (Number) –

the maximum number of picture

Since : 1.20

#### GstCodecs.H264Dpb.set_max_num_frames

    def GstCodecs.H264Dpb.set_max_num_frames (self, max_num_frames):
        #python wrapper for 'gst_h264_dpb_set_max_num_frames'

Set the number of maximum allowed frames to store

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`max_num_frames` (int) –

the maximum number of picture

Since : 1.20

#### gst_h264_dpb_set_max_num_reorder_frames

    gst_h264_dpb_set_max_num_reorder_frames (GstH264Dpb * dpb,
                                             guint32 max_num_reorder_frames)

Parameters:

`dpb` –

a GstH264Dpb

`max_num_reorder_frames` –

the max number of reorder frames, which should not exceed the max size of DPB.

Since : 1.20

#### GstCodecs.H264Dpb.prototype.set_max_num_reorder_frames

    function GstCodecs.H264Dpb.prototype.set_max_num_reorder_frames(max_num_reorder_frames: Number): {
        // javascript wrapper for 'gst_h264_dpb_set_max_num_reorder_frames'
    }

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`max_num_reorder_frames` (Number) –

the max number of reorder frames, which should not exceed the max size of DPB.

Since : 1.20

#### GstCodecs.H264Dpb.set_max_num_reorder_frames

    def GstCodecs.H264Dpb.set_max_num_reorder_frames (self, max_num_reorder_frames):
        #python wrapper for 'gst_h264_dpb_set_max_num_reorder_frames'

Parameters:

`dpb` (GstCodecs.H264Dpb) –

a GstCodecs.H264Dpb

`max_num_reorder_frames` (int) –

the max number of reorder frames, which should not exceed the max size of DPB.

Since : 1.20

### Functions

#### gst_h264_dpb_new

    GstH264Dpb *
    gst_h264_dpb_new ()

Create new GstH264Dpb

Returns –

a new GstH264Dpb

## GstH264Picture

## GstCodecs.H264Picture

### Constructors

#### gst_h264_picture_new

    GstH264Picture *
    gst_h264_picture_new ()

Create new GstH264Picture

Returns –

a new GstH264Picture

#### GstCodecs.H264Picture.prototype.new

    function GstCodecs.H264Picture.prototype.new(): {
        // javascript wrapper for 'gst_h264_picture_new'
    }

Create new GstCodecs.H264Picture

Returns (GstCodecs.H264Picture) –

a new GstCodecs.H264Picture

#### GstCodecs.H264Picture.new

    def GstCodecs.H264Picture.new ():
        #python wrapper for 'gst_h264_picture_new'

Create new GstCodecs.H264Picture

Returns (GstCodecs.H264Picture) –

a new GstCodecs.H264Picture

### Methods

#### gst_h264_picture_get_user_data

    gpointer
    gst_h264_picture_get_user_data (GstH264Picture * picture)

Gets private data set on the picture via gst_h264_picture_set_user_data previously.

Parameters:

`picture` –

a GstH264Picture

Returns ( [transfer: none]) –

The previously set user_data

#### GstCodecs.H264Picture.prototype.get_user_data

    function GstCodecs.H264Picture.prototype.get_user_data(): {
        // javascript wrapper for 'gst_h264_picture_get_user_data'
    }

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

Parameters:

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Returns (Object) –

The previously set user_data

#### GstCodecs.H264Picture.get_user_data

    def GstCodecs.H264Picture.get_user_data (self):
        #python wrapper for 'gst_h264_picture_get_user_data'

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

Parameters:

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

Returns (object) –

The previously set user_data

#### gst_h264_picture_set_reference

    gst_h264_picture_set_reference (GstH264Picture * picture,
                                    GstH264PictureReference reference,
                                    gboolean other_field)

Update reference picture type of picture with reference

Parameters:

`picture` –

a GstH264Picture

`reference` –

a GstH264PictureReference

`other_field` –

TRUE if reference needs to be applied to the other field if any

Since : 1.20

#### GstCodecs.H264Picture.prototype.set_reference

    function GstCodecs.H264Picture.prototype.set_reference(reference: GstCodecs.H264PictureReference, other_field: Number): {
        // javascript wrapper for 'gst_h264_picture_set_reference'
    }

Update reference picture type of picture with reference

Parameters:

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

`reference` (GstCodecs.H264PictureReference) –

a GstH264PictureReference

`other_field` (Number) –

true if reference needs to be applied to the other field if any

Since : 1.20

#### GstCodecs.H264Picture.set_reference

    def GstCodecs.H264Picture.set_reference (self, reference, other_field):
        #python wrapper for 'gst_h264_picture_set_reference'

Update reference picture type of picture with reference

Parameters:

`picture` (GstCodecs.H264Picture) –

a GstCodecs.H264Picture

`reference` (GstCodecs.H264PictureReference) –

a GstH264PictureReference

`other_field` (bool) –

True if reference needs to be applied to the other field if any

Since : 1.20

#### gst_h264_picture_set_user_data

    gst_h264_picture_set_user_data (GstH264Picture * 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 GstH264Picture

`user_data` –

private data

`notify` ( [closure]) –

a GDestroyNotify

#### GstCodecs.H264Picture.prototype.set_user_data

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

a GstCodecs.H264Picture

`user_data` (Object) –

private data

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

#### GstCodecs.H264Picture.set_user_data

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

a GstCodecs.H264Picture

`user_data` (variadic) –

private data

`notify` (GLib.DestroyNotify) –

a GLib.DestroyNotify

## GstH264Slice

### Members

`header` (GstH264SliceHdr) –
No description available
`nalu` (GstH264NalUnit) –
No description available

## GstCodecs.H264Slice

### Members

`header (not introspectable)` (object) –
No description available
`nalu (not introspectable)` (object) –
No description available

## GstCodecs.H264Slice

### Members

`header (not introspectable)` (object) –
No description available
`nalu (not introspectable)` (object) –
No description available

## Function Macros

### GST_H264_DECODER_CAST

    #define GST_H264_DECODER_CAST(obj)       ((GstH264Decoder*)obj)

### GST_H264_PICTURE_CAST

    #define GST_H264_PICTURE_CAST(obj) (GST_H264_PICTURE(obj))

### GST_H264_PICTURE_IS_FRAME

    #define GST_H264_PICTURE_IS_FRAME(picture) \
        ((picture)->field == GST_H264_PICTURE_FIELD_FRAME)

Check whether picture is a frame (not a field picture)

Parameters:

`picture` –

a GstH264Picture

### GST_H264_PICTURE_IS_LONG_TERM_REF

    #define GST_H264_PICTURE_IS_LONG_TERM_REF(picture) \
        ((picture)->ref == GST_H264_PICTURE_REF_LONG_TERM)

Check whether picture is used for long-term reference

Parameters:

`picture` –

a GstH264Picture

### GST_H264_PICTURE_IS_REF

    #define GST_H264_PICTURE_IS_REF(picture) \
        ((picture)->ref != GST_H264_PICTURE_REF_NONE)

Check whether picture is used for short-term or long-term reference

Parameters:

`picture` –

a GstH264Picture

### GST_H264_PICTURE_IS_SHORT_TERM_REF

    #define GST_H264_PICTURE_IS_SHORT_TERM_REF(picture) \
        ((picture)->ref == GST_H264_PICTURE_REF_SHORT_TERM)

Check whether picture is used for short-term reference

Parameters:

`picture` –

a GstH264Picture

## Enumerations

### GstH264DecoderCompliance

##### Members

`GST_H264_DECODER_COMPLIANCE_AUTO` (0) –

The decoder behavior is automatically choosen.

`GST_H264_DECODER_COMPLIANCE_STRICT` (1) –

The decoder behavior strictly conforms to the SPEC. All the decoder behaviors conform to the SPEC, not including any nonstandard behavior which is not mentioned in the SPEC.

`GST_H264_DECODER_COMPLIANCE_NORMAL` (2) –

The decoder behavior normally conforms to the SPEC. Most behaviors conform to the SPEC but including some nonstandard features which are widely used or often used in the industry practice. This meets the request of real streams and usages, but may not 100% conform to the SPEC. It has very low risk. E.g., we will output pictures without waiting DPB being full for the lower latency, which may cause B frame disorder when there are reference frames with smaller POC after it in decoder order. And the baseline profile may be mapped to the constrained-baseline profile, but it may have problems when a real baseline stream comes with FMO or ASO.

`GST_H264_DECODER_COMPLIANCE_FLEXIBLE` (3) –

The decoder behavior flexibly conforms to the SPEC. It uses the nonstandard features more aggressively in order to get better performance(for example, lower latency). It may change the result of the decoder and should be used carefully. Besides including all risks in normal mode, it has more risks, such as frames disorder when reference frames POC decrease in decoder order.

### GstCodecs.H264DecoderCompliance

##### Members

`GstCodecs.H264DecoderCompliance.AUTO` (0) –

The decoder behavior is automatically choosen.

`GstCodecs.H264DecoderCompliance.STRICT` (1) –

The decoder behavior strictly conforms to the SPEC. All the decoder behaviors conform to the SPEC, not including any nonstandard behavior which is not mentioned in the SPEC.

`GstCodecs.H264DecoderCompliance.NORMAL` (2) –

The decoder behavior normally conforms to the SPEC. Most behaviors conform to the SPEC but including some nonstandard features which are widely used or often used in the industry practice. This meets the request of real streams and usages, but may not 100% conform to the SPEC. It has very low risk. E.g., we will output pictures without waiting DPB being full for the lower latency, which may cause B frame disorder when there are reference frames with smaller POC after it in decoder order. And the baseline profile may be mapped to the constrained-baseline profile, but it may have problems when a real baseline stream comes with FMO or ASO.

`GstCodecs.H264DecoderCompliance.FLEXIBLE` (3) –

The decoder behavior flexibly conforms to the SPEC. It uses the nonstandard features more aggressively in order to get better performance(for example, lower latency). It may change the result of the decoder and should be used carefully. Besides including all risks in normal mode, it has more risks, such as frames disorder when reference frames POC decrease in decoder order.

### GstCodecs.H264DecoderCompliance

##### Members

`GstCodecs.H264DecoderCompliance.AUTO` (0) –

The decoder behavior is automatically choosen.

`GstCodecs.H264DecoderCompliance.STRICT` (1) –

The decoder behavior strictly conforms to the SPEC. All the decoder behaviors conform to the SPEC, not including any nonstandard behavior which is not mentioned in the SPEC.

`GstCodecs.H264DecoderCompliance.NORMAL` (2) –

The decoder behavior normally conforms to the SPEC. Most behaviors conform to the SPEC but including some nonstandard features which are widely used or often used in the industry practice. This meets the request of real streams and usages, but may not 100% conform to the SPEC. It has very low risk. E.g., we will output pictures without waiting DPB being full for the lower latency, which may cause B frame disorder when there are reference frames with smaller POC after it in decoder order. And the baseline profile may be mapped to the constrained-baseline profile, but it may have problems when a real baseline stream comes with FMO or ASO.

`GstCodecs.H264DecoderCompliance.FLEXIBLE` (3) –

The decoder behavior flexibly conforms to the SPEC. It uses the nonstandard features more aggressively in order to get better performance(for example, lower latency). It may change the result of the decoder and should be used carefully. Besides including all risks in normal mode, it has more risks, such as frames disorder when reference frames POC decrease in decoder order.

### GstH264DpbBumpMode

##### Members

`GST_H264_DPB_BUMP_NORMAL_LATENCY` (0) –

No latency requirement for DBP bumping.

`GST_H264_DPB_BUMP_LOW_LATENCY` (1) –

Low-latency requirement for DBP bumping.

`GST_H264_DPB_BUMP_VERY_LOW_LATENCY` (2) –

Very low-latency requirement for DBP bumping.

### GstCodecs.H264DpbBumpMode

##### Members

`GstCodecs.H264DpbBumpMode.NORMAL_LATENCY` (0) –

No latency requirement for DBP bumping.

`GstCodecs.H264DpbBumpMode.LOW_LATENCY` (1) –

Low-latency requirement for DBP bumping.

`GstCodecs.H264DpbBumpMode.VERY_LOW_LATENCY` (2) –

Very low-latency requirement for DBP bumping.

### GstCodecs.H264DpbBumpMode

##### Members

`GstCodecs.H264DpbBumpMode.NORMAL_LATENCY` (0) –

No latency requirement for DBP bumping.

`GstCodecs.H264DpbBumpMode.LOW_LATENCY` (1) –

Low-latency requirement for DBP bumping.

`GstCodecs.H264DpbBumpMode.VERY_LOW_LATENCY` (2) –

Very low-latency requirement for DBP bumping.

### GstH264PictureField

##### Members

`GST_H264_PICTURE_FIELD_FRAME` (0) –
No description available
`GST_H264_PICTURE_FIELD_TOP_FIELD` (1) –
No description available
`GST_H264_PICTURE_FIELD_BOTTOM_FIELD` (2) –
No description available

### GstCodecs.H264PictureField

##### Members

`GstCodecs.H264PictureField.FRAME` (0) –
No description available
`GstCodecs.H264PictureField.TOP_FIELD` (1) –
No description available
`GstCodecs.H264PictureField.BOTTOM_FIELD` (2) –
No description available

### GstCodecs.H264PictureField

##### Members

`GstCodecs.H264PictureField.FRAME` (0) –
No description available
`GstCodecs.H264PictureField.TOP_FIELD` (1) –
No description available
`GstCodecs.H264PictureField.BOTTOM_FIELD` (2) –
No description available

### GstH264PictureReference

##### Members

`GST_H264_PICTURE_REF_NONE` (0) –

Not used for reference picture

`GST_H264_PICTURE_REF_SHORT_TERM` (1) –

Used for short-term reference picture

`GST_H264_PICTURE_REF_LONG_TERM` (2) –

Used for long-term reference picture

### GstCodecs.H264PictureReference

##### Members

`GstCodecs.H264PictureReference.NONE` (0) –

Not used for reference picture

`GstCodecs.H264PictureReference.SHORT_TERM` (1) –

Used for short-term reference picture

`GstCodecs.H264PictureReference.LONG_TERM` (2) –

Used for long-term reference picture

### GstCodecs.H264PictureReference

##### Members

`GstCodecs.H264PictureReference.NONE` (0) –

Not used for reference picture

`GstCodecs.H264PictureReference.SHORT_TERM` (1) –

Used for short-term reference picture

`GstCodecs.H264PictureReference.LONG_TERM` (2) –

Used for long-term reference picture

## Constants

### GST_H264_DPB_MAX_SIZE

    #define GST_H264_DPB_MAX_SIZE 16

### GstCodecs.H264_DPB_MAX_SIZE

The results of the search are