gstreamer/girs/GstCodecs-1.0.gir

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

5112 lines
307 KiB
Text
Raw Normal View History

<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations. -->
<repository xmlns="http://www.gtk.org/introspection/core/1.0" xmlns:c="http://www.gtk.org/introspection/c/1.0" xmlns:glib="http://www.gtk.org/introspection/glib/1.0" version="1.2">
<include name="Gst" version="1.0"/>
<include name="GstVideo" version="1.0"/>
<package name="gstreamer-codecs-1.0"/>
<c:include name="gst/codecs/gsth264decoder.h"/>
<c:include name="gst/codecs/gsth265decoder.h"/>
<c:include name="gst/codecs/gstmpeg2decoder.h"/>
<c:include name="gst/codecs/gstvp8decoder.h"/>
<c:include name="gst/codecs/gstvp9decoder.h"/>
<namespace name="GstCodecs" version="1.0" shared-library="libgstcodecs-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
<class name="AV1Decoder" c:symbol-prefix="av1_decoder" c:type="GstAV1Decoder" version="1.20" parent="GstVideo.VideoDecoder" abstract="1" glib:type-name="GstAV1Decoder" glib:get-type="gst_av1_decoder_get_type" glib:type-struct="AV1DecoderClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">The opaque #GstAV1Decoder data structure.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<virtual-method name="decode_tile" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">Provides the tile data with tile group header and required raw
bitstream for subclass to decode it.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
<parameter name="tile" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Tile</doc>
<type name="AV1Tile" c:type="GstAV1Tile*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="duplicate_picture" version="1.22">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">Called when need to duplicate an existing #GstAV1Picture. As
duplicated key-frame will populate the DPB, this virtual
function is not optional.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="full">
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">the current #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="end_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">Optional. Called per one #GstAV1Picture to notify subclass to finish
decoding process for the #GstAV1Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_preferred_output_delay" version="1.22">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">Optional. Called by baseclass to query whether delaying output is
preferred by subclass or not.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</instance-parameter>
<parameter name="live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">Optional. Called whenever new #GstAV1Picture is created.
Subclass can set implementation specific user data
on the #GstAV1Picture via gst_av1_picture_set_user_data</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_sequence" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">Notifies subclass of SPS update</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</instance-parameter>
<parameter name="seq_hdr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1SequenceHeaderOBU</doc>
<type c:type="const GstAV1SequenceHeaderOBU*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="output_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">Called with a #GstAV1Picture which is required to be outputted.
The #GstVideoCodecFrame must be consumed by subclass.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="start_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">Optional. Called per one #GstAV1Picture to notify subclass to prepare
decoding process for the #GstAV1Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
<parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Dpb</doc>
<type name="AV1Dpb" c:type="GstAV1Dpb*"/>
</parameter>
</parameters>
</virtual-method>
<field name="parent" readable="0" private="1">
<type name="GstVideo.VideoDecoder" c:type="GstVideoDecoder"/>
</field>
<field name="input_state" readable="0" private="1">
<type name="GstVideo.VideoCodecState" c:type="GstVideoCodecState*"/>
</field>
<field name="highest_spatial_layer" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="priv" readable="0" private="1">
<type name="AV1DecoderPrivate" c:type="GstAV1DecoderPrivate*"/>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="AV1DecoderClass" c:type="GstAV1DecoderClass" glib:is-gtype-struct-for="AV1Decoder">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<field name="parent_class">
<type name="GstVideo.VideoDecoderClass" c:type="GstVideoDecoderClass"/>
</field>
<field name="new_sequence" introspectable="0">
<callback name="new_sequence" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</parameter>
<parameter name="seq_hdr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1SequenceHeaderOBU</doc>
<type c:type="const GstAV1SequenceHeaderOBU*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="new_picture">
<callback name="new_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="duplicate_picture">
<callback name="duplicate_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="full">
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">the current #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_picture">
<callback name="start_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
<parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Dpb</doc>
<type name="AV1Dpb" c:type="GstAV1Dpb*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="decode_tile">
<callback name="decode_tile">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
<parameter name="tile" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Tile</doc>
<type name="AV1Tile" c:type="GstAV1Tile*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_picture">
<callback name="end_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="output_picture">
<callback name="output_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_preferred_output_delay">
<callback name="get_preferred_output_delay">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">a #GstAV1Decoder</doc>
<type name="AV1Decoder" c:type="GstAV1Decoder*"/>
</parameter>
<parameter name="live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="AV1DecoderPrivate" c:type="GstAV1DecoderPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
</record>
<record name="AV1Dpb" c:type="GstAV1Dpb" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<field name="pic_list" writable="1">
<array zero-terminated="0">
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</array>
</field>
<method name="add" c:identifier="gst_av1_dpb_add" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">Store the @picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">a #GstAV1Dpb</doc>
<type name="AV1Dpb" c:type="GstAV1Dpb*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">a #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</parameter>
</parameters>
</method>
<method name="clear" c:identifier="gst_av1_dpb_clear" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">Clear all stored #GstAV1Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">a #GstAV1Dpb</doc>
<type name="AV1Dpb" c:type="GstAV1Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_av1_dpb_free" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">Free the @dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">a #GstAV1Dpb to free</doc>
<type name="AV1Dpb" c:type="GstAV1Dpb*"/>
</instance-parameter>
</parameters>
</method>
<function name="new" c:identifier="gst_av1_dpb_new" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">Create new #GstAV1Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">a new #GstAV1Dpb</doc>
<type name="AV1Dpb" c:type="GstAV1Dpb*"/>
</return-value>
</function>
</record>
<record name="AV1Picture" c:type="GstAV1Picture" version="1.20" glib:type-name="GstAV1Picture" glib:get-type="gst_av1_picture_get_type" c:symbol-prefix="av1_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<field name="parent" readable="0" private="1">
<type name="CodecPicture" c:type="GstCodecPicture"/>
</field>
<field name="frame_hdr" introspectable="0" readable="0" private="1">
<type c:type="GstAV1FrameHeaderOBU"/>
</field>
<field name="temporal_id" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="spatial_id" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="display_frame_id" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="show_frame" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="showable_frame" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="apply_grain" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<constructor name="new" c:identifier="gst_av1_picture_new" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">Create new #GstAV1Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">a new #GstAV1Picture</doc>
<type name="AV1Picture" c:type="GstAV1Picture*"/>
</return-value>
</constructor>
</record>
<record name="AV1Tile" c:type="GstAV1Tile" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<field name="tile_group" introspectable="0" writable="1">
<type c:type="GstAV1TileGroupOBU"/>
</field>
<field name="obu" introspectable="0" writable="1">
<type c:type="GstAV1OBU"/>
</field>
</record>
<function-macro name="AV1_DECODER" c:identifier="GST_AV1_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="AV1_DECODER_CLASS" c:identifier="GST_AV1_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="AV1_DECODER_GET_CLASS" c:identifier="GST_AV1_DECODER_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="AV1_PICTURE" c:identifier="GST_AV1_PICTURE" version="1.20" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="CODEC_PICTURE" c:identifier="GST_CODEC_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h"/>
<parameters>
<parameter name="p">
</parameter>
</parameters>
</function-macro>
<function-macro name="CODEC_PICTURE_COPY_FRAME_NUMBER" c:identifier="GST_CODEC_PICTURE_COPY_FRAME_NUMBER" version="1.24" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h">Copy system_frame_number of @src to @dst</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h"/>
<parameters>
<parameter name="dst">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h">a #GstCodecPicture</doc>
</parameter>
<parameter name="src">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h">a #GstCodecPicture</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="CODEC_PICTURE_FRAME_NUMBER" c:identifier="GST_CODEC_PICTURE_FRAME_NUMBER" version="1.24" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h">Gets access to the system_frame_number field of @picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h"/>
<parameters>
<parameter name="picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h">a #GstCodecPicture</doc>
</parameter>
</parameters>
</function-macro>
<record name="CodecPicture" c:type="GstCodecPicture" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h">Base struct for coded picture representation</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h"/>
<field name="parent" readable="0" private="1">
<type name="Gst.MiniObject" c:type="GstMiniObject"/>
</field>
<field name="system_frame_number" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="discont_state" readable="0" private="1">
<type name="GstVideo.VideoCodecState" c:type="GstVideoCodecState*"/>
</field>
<field name="user_data" readable="0" private="1">
<type name="gpointer" c:type="gpointer"/>
</field>
<field name="notify" readable="0" private="1">
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</field>
<field name="_gst_reserved" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="get_user_data" c:identifier="gst_codec_picture_get_user_data" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">Gets private data set on the picture via
gst_codec_picture_set_user_data() previously.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">The previously set user_data</doc>
<type name="gpointer" c:type="gpointer"/>
</return-value>
<parameters>
<instance-parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">a #GstCodecPicture</doc>
<type name="CodecPicture" c:type="GstCodecPicture*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_discont_state" c:identifier="gst_codec_picture_set_discont_state" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">Sets @discont_state to @picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">a #GstCodecPicture</doc>
<type name="CodecPicture" c:type="GstCodecPicture*"/>
</instance-parameter>
<parameter name="discont_state" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">a #GstVideoCodecState</doc>
<type name="GstVideo.VideoCodecState" c:type="GstVideoCodecState*"/>
</parameter>
</parameters>
</method>
<method name="set_user_data" c:identifier="gst_codec_picture_set_user_data" version="1.24">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">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.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">a #GstCodecPicture</doc>
<type name="CodecPicture" c:type="GstCodecPicture*"/>
</instance-parameter>
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">private data</doc>
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="notify" transfer-ownership="none" scope="async" closure="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstcodecpicture.c">a #GDestroyNotify</doc>
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
</parameter>
</parameters>
</method>
</record>
<class name="H264Decoder" c:symbol-prefix="h264_decoder" c:type="GstH264Decoder" parent="GstVideo.VideoDecoder" abstract="1" glib:type-name="GstH264Decoder" glib:get-type="gst_h264_decoder_get_type" glib:type-struct="H264DecoderClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">The opaque #GstH264Decoder data structure.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<virtual-method name="decode_slice">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">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.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Slice</doc>
<type name="H264Slice" c:type="GstH264Slice*"/>
</parameter>
<parameter name="ref_pic_list0" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">
an array of #GstH264Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H264Picture"/>
</array>
</parameter>
<parameter name="ref_pic_list1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">
an array of #GstH264Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H264Picture"/>
</array>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="end_picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">Optional. Called per one #GstH264Picture to notify subclass to finish
decoding process for the #GstH264Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_preferred_output_delay" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">Optional. Called by baseclass to query whether delaying output is
preferred by subclass or not.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_field_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">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</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="first_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">the first field #GstH264Picture already decoded</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
<parameter name="second_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture for the second field</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">Optional. Called whenever new #GstH264Picture is created.
Subclass can set implementation specific user data
on the #GstH264Picture via gst_h264_picture_set_user_data</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_sequence" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">Notifies subclass of SPS update</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="sps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264SPS</doc>
<type c:type="const GstH264SPS*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="output_picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">Called with a #GstH264Picture which is required to be outputted.
The #GstVideoCodecFrame must be consumed by subclass.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="start_picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">Optional. Called per one #GstH264Picture to notify subclass to prepare
decoding process for the #GstH264Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Slice</doc>
<type name="H264Slice" c:type="GstH264Slice*"/>
</parameter>
<parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_picture" c:identifier="gst_h264_decoder_get_picture" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c">Retrive DPB and return a #GstH264Picture corresponding to
the @system_frame_number</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c">a #GstH264Picture if successful, or %NULL otherwise</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="system_frame_number" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c">a target system frame number of #GstH264Picture</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_process_ref_pic_lists" c:identifier="gst_h264_decoder_set_process_ref_pic_lists" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c">Called to en/disable reference picture modification process.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</instance-parameter>
<parameter name="process" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c">whether subclass is requiring reference picture modification process</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<property name="compliance" version="1.20" writable="1" construct="1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.c">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.</doc>
<type name="H264DecoderCompliance"/>
</property>
<field name="parent" readable="0" private="1">
<type name="GstVideo.VideoDecoder" c:type="GstVideoDecoder"/>
</field>
<field name="input_state" readable="0" private="1">
<type name="GstVideo.VideoCodecState" c:type="GstVideoCodecState*"/>
</field>
<field name="priv" readable="0" private="1">
<type name="H264DecoderPrivate" c:type="GstH264DecoderPrivate*"/>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="H264DecoderClass" c:type="GstH264DecoderClass" glib:is-gtype-struct-for="H264Decoder">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">The opaque #GstH264DecoderClass data structure.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<field name="parent_class" readable="0" private="1">
<type name="GstVideo.VideoDecoderClass" c:type="GstVideoDecoderClass"/>
</field>
<field name="new_sequence" introspectable="0">
<callback name="new_sequence" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</parameter>
<parameter name="sps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264SPS</doc>
<type c:type="const GstH264SPS*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="new_picture">
<callback name="new_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="new_field_picture">
<callback name="new_field_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</parameter>
<parameter name="first_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">the first field #GstH264Picture already decoded</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
<parameter name="second_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture for the second field</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_picture">
<callback name="start_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Slice</doc>
<type name="H264Slice" c:type="GstH264Slice*"/>
</parameter>
<parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="decode_slice">
<callback name="decode_slice">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Slice</doc>
<type name="H264Slice" c:type="GstH264Slice*"/>
</parameter>
<parameter name="ref_pic_list0" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">
an array of #GstH264Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H264Picture"/>
</array>
</parameter>
<parameter name="ref_pic_list1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">
an array of #GstH264Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H264Picture"/>
</array>
</parameter>
</parameters>
</callback>
</field>
<field name="end_picture">
<callback name="end_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="output_picture">
<callback name="output_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_preferred_output_delay">
<callback name="get_preferred_output_delay">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">a #GstH264Decoder</doc>
<type name="H264Decoder" c:type="GstH264Decoder*"/>
</parameter>
<parameter name="live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<enumeration name="H264DecoderCompliance" version="1.20" glib:type-name="GstH264DecoderCompliance" glib:get-type="gst_h264_decoder_compliance_get_type" c:type="GstH264DecoderCompliance">
<member name="auto" value="0" c:identifier="GST_H264_DECODER_COMPLIANCE_AUTO" glib:nick="auto">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">The decoder behavior is
automatically choosen.</doc>
</member>
<member name="strict" value="1" c:identifier="GST_H264_DECODER_COMPLIANCE_STRICT" glib:nick="strict">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">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.</doc>
</member>
<member name="normal" value="2" c:identifier="GST_H264_DECODER_COMPLIANCE_NORMAL" glib:nick="normal">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">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.</doc>
</member>
<member name="flexible" value="3" c:identifier="GST_H264_DECODER_COMPLIANCE_FLEXIBLE" glib:nick="flexible">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h">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.</doc>
</member>
</enumeration>
<record name="H264DecoderPrivate" c:type="GstH264DecoderPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
</record>
<record name="H264Dpb" c:type="GstH264Dpb" disguised="1">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<method name="add" c:identifier="gst_h264_dpb_add">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Store the @picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</method>
<method name="bump" c:identifier="gst_h264_dpb_bump" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">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</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Picture which is needed to be
outputted</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH265Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="drain" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">whether draining or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="clear" c:identifier="gst_h264_dpb_clear">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Clear all stored #GstH264Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="delete_unused" c:identifier="gst_h264_dpb_delete_unused">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Delete already outputted and not referenced all pictures from dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_h264_dpb_free">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Free the @dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb to free</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_interlaced" c:identifier="gst_h264_dpb_get_interlaced" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">%TRUE if @dpb is configured for interlaced stream</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_long_ref_by_long_term_pic_num" c:identifier="gst_h264_dpb_get_long_ref_by_long_term_pic_num" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Find a long term reference picture which has matching long term picture number</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="long_term_pic_num" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a long term picture number</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_lowest_frame_num_short_ref" c:identifier="gst_h264_dpb_get_lowest_frame_num_short_ref">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Find a short term reference picture which has the lowest frame_num_wrap</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_max_num_frames" c:identifier="gst_h264_dpb_get_max_num_frames" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">the number of maximum frames</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_max_num_reorder_frames" c:identifier="gst_h264_dpb_get_max_num_reorder_frames" version="1.22.2">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Maximum number of reorder frames</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_picture" c:identifier="gst_h264_dpb_get_picture" version="1.18">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">the picture identified with the specified
@system_frame_number, or %NULL if DPB does not contain a #GstH264Picture
corresponding to the @system_frame_number</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb
@system_frame_number The system frame number</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="system_frame_number" transfer-ownership="none">
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="get_pictures_all" c:identifier="gst_h264_dpb_get_pictures_all">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GArray of
#GstH264Picture stored in @dpb</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H264Picture"/>
</array>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_pictures_long_term_ref" c:identifier="gst_h264_dpb_get_pictures_long_term_ref" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Retrieve all long-term reference pictures from @dpb. The picture will be
appended to the array.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="include_second_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">%TRUE if the second field pictures need to be included</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="out" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">an array
of #GstH264Picture pointer</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H264Picture"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_pictures_short_term_ref" c:identifier="gst_h264_dpb_get_pictures_short_term_ref" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Retrieve all short-term reference pictures from @dpb. The picture will be
appended to the array.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="include_non_existing" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">%TRUE if non-existing pictures need to be included</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="include_second_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">%TRUE if the second field pictures need to be included</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
<parameter name="out" direction="out" caller-allocates="0" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">an array
of #GstH264Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H264Picture"/>
</array>
</parameter>
</parameters>
</method>
<method name="get_short_ref_by_pic_num" c:identifier="gst_h264_dpb_get_short_ref_by_pic_num">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Find a short term reference picture which has matching picture number</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="pic_num" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a picture number</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_size" c:identifier="gst_h264_dpb_get_size">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">the length of stored dpb array</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="has_empty_frame_buffer" c:identifier="gst_h264_dpb_has_empty_frame_buffer" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">%TRUE if @dpb still has empty frame buffers.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="mark_all_non_ref" c:identifier="gst_h264_dpb_mark_all_non_ref">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Mark all pictures are not referenced</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="needs_bump" c:identifier="gst_h264_dpb_needs_bump" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">%TRUE if bumping is required</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="to_insert" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">the current #GstH264Picture to insert to dpb.</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
<parameter name="latency_mode" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">The required #GstH264DpbBumpMode for bumping.</doc>
<type name="H264DpbBumpMode" c:type="GstH264DpbBumpMode"/>
</parameter>
</parameters>
</method>
<method name="num_ref_frames" c:identifier="gst_h264_dpb_num_ref_frames" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">The number of referenced frames</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="perform_memory_management_control_operation" c:identifier="gst_h264_dpb_perform_memory_management_control_operation" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Perform "8.2.5.4 Adaptive memory control decoded reference picture marking process"</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">%TRUE if successful</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH265Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="ref_pic_marking" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264RefPicMarking</doc>
<type c:type="GstH264RefPicMarking*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</method>
<method name="set_interlaced" c:identifier="gst_h264_dpb_set_interlaced" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="interlaced" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">%TRUE if interlaced</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="set_last_output" c:identifier="gst_h264_dpb_set_last_output" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Notify the DPB that @picture is output directly without storing
in the DPB.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Picture of the last output.</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</parameter>
</parameters>
</method>
<method name="set_max_num_frames" c:identifier="gst_h264_dpb_set_max_num_frames" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Set the number of maximum allowed frames to store</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="max_num_frames" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">the maximum number of picture</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="set_max_num_reorder_frames" c:identifier="gst_h264_dpb_set_max_num_reorder_frames" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</instance-parameter>
<parameter name="max_num_reorder_frames" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">the max number of reorder frames, which
should not exceed the max size of DPB.</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<function name="new" c:identifier="gst_h264_dpb_new" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Create new #GstH264Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a new #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</return-value>
</function>
</record>
<enumeration name="H264DpbBumpMode" version="1.20" c:type="GstH264DpbBumpMode">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<member name="normal_latency" value="0" c:identifier="GST_H264_DPB_BUMP_NORMAL_LATENCY">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">No latency requirement for DBP bumping.</doc>
</member>
<member name="low_latency" value="1" c:identifier="GST_H264_DPB_BUMP_LOW_LATENCY">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Low-latency requirement for DBP bumping.</doc>
</member>
<member name="very_low_latency" value="2" c:identifier="GST_H264_DPB_BUMP_VERY_LOW_LATENCY">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Very low-latency requirement for DBP bumping.</doc>
</member>
</enumeration>
<record name="H264Picture" c:type="GstH264Picture" glib:type-name="GstH264Picture" glib:get-type="gst_h264_picture_get_type" c:symbol-prefix="h264_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<field name="parent" readable="0" private="1">
<type name="CodecPicture" c:type="GstCodecPicture"/>
</field>
<field name="type" introspectable="0" readable="0" private="1">
<type c:type="GstH264SliceType"/>
</field>
<field name="pic_order_cnt_type" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="top_field_order_cnt" readable="0" private="1">
<type name="gint32" c:type="gint32"/>
</field>
<field name="bottom_field_order_cnt" readable="0" private="1">
<type name="gint32" c:type="gint32"/>
</field>
<field name="pic_order_cnt" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="pic_order_cnt_msb" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="pic_order_cnt_lsb" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="delta_pic_order_cnt_bottom" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="delta_pic_order_cnt0" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="delta_pic_order_cnt1" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="pic_num" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="long_term_pic_num" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="frame_num" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="frame_num_offset" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="frame_num_wrap" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="long_term_frame_idx" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="nal_ref_idc" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="idr" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="idr_pic_id" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="field_pic_flag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="ref" readable="0" private="1">
<type name="H264PictureReference" c:type="GstH264PictureReference"/>
</field>
<field name="ref_pic" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="needed_for_output" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="mem_mgmt_5" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="nonexisting" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="field" readable="0" private="1">
<type name="H264PictureField" c:type="GstH264PictureField"/>
</field>
<field name="dec_ref_pic_marking" introspectable="0" readable="0" private="1">
<type c:type="GstH264DecRefPicMarking"/>
</field>
<field name="reorder_frame_number" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="second_field" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="other_field" readable="0" private="1">
<type name="H264Picture" c:type="GstH264Picture*"/>
</field>
<field name="buffer_flags" readable="0" private="1">
<type name="GstVideo.VideoBufferFlags" c:type="GstVideoBufferFlags"/>
</field>
<constructor name="new" c:identifier="gst_h264_picture_new">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Create new #GstH264Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a new #GstH264Picture</doc>
<type name="H264Picture" c:type="GstH264Picture*"/>
</return-value>
</constructor>
</record>
<enumeration name="H264PictureField" c:type="GstH264PictureField">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<member name="frame" value="0" c:identifier="GST_H264_PICTURE_FIELD_FRAME">
</member>
<member name="top_field" value="1" c:identifier="GST_H264_PICTURE_FIELD_TOP_FIELD">
</member>
<member name="bottom_field" value="2" c:identifier="GST_H264_PICTURE_FIELD_BOTTOM_FIELD">
</member>
</enumeration>
<enumeration name="H264PictureReference" version="1.20" c:type="GstH264PictureReference">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<member name="none" value="0" c:identifier="GST_H264_PICTURE_REF_NONE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Not used for reference picture</doc>
</member>
<member name="short_term" value="1" c:identifier="GST_H264_PICTURE_REF_SHORT_TERM">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Used for short-term reference picture</doc>
</member>
<member name="long_term" value="2" c:identifier="GST_H264_PICTURE_REF_LONG_TERM">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Used for long-term reference picture</doc>
</member>
</enumeration>
<record name="H264Slice" c:type="GstH264Slice">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<field name="header" introspectable="0" writable="1">
<type c:type="GstH264SliceHdr"/>
</field>
<field name="nalu" introspectable="0" writable="1">
<type c:type="GstH264NalUnit"/>
</field>
</record>
<function-macro name="H264_DECODER" c:identifier="GST_H264_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="H264_DECODER_CAST" c:identifier="GST_H264_DECODER_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="H264_DECODER_CLASS" c:identifier="GST_H264_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="H264_DECODER_GET_CLASS" c:identifier="GST_H264_DECODER_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="H264_DPB_MAX_SIZE" value="16" c:type="GST_H264_DPB_MAX_SIZE">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="H264_PICTURE" c:identifier="GST_H264_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="H264_PICTURE_CAST" c:identifier="GST_H264_PICTURE_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="H264_PICTURE_IS_FRAME" c:identifier="GST_H264_PICTURE_IS_FRAME" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Check whether @picture is a frame (not a field picture)</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<parameters>
<parameter name="picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">a #GstH264Picture</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="H264_PICTURE_IS_LONG_TERM_REF" c:identifier="GST_H264_PICTURE_IS_LONG_TERM_REF" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Check whether @picture is used for long-term reference</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<parameters>
<parameter name="picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">a #GstH264Picture</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="H264_PICTURE_IS_REF" c:identifier="GST_H264_PICTURE_IS_REF" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Check whether @picture is used for short-term or long-term reference</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<parameters>
<parameter name="picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">a #GstH264Picture</doc>
</parameter>
</parameters>
</function-macro>
<function-macro name="H264_PICTURE_IS_SHORT_TERM_REF" c:identifier="GST_H264_PICTURE_IS_SHORT_TERM_REF" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">Check whether @picture is used for short-term reference</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<parameters>
<parameter name="picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h">a #GstH264Picture</doc>
</parameter>
</parameters>
</function-macro>
<class name="H265Decoder" c:symbol-prefix="h265_decoder" c:type="GstH265Decoder" parent="GstVideo.VideoDecoder" abstract="1" glib:type-name="GstH265Decoder" glib:get-type="gst_h265_decoder_get_type" glib:type-struct="H265DecoderClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">The opaque #GstH265Decoder data structure.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<virtual-method name="decode_slice">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">Provides per slice data with parsed slice header and required raw bitstream
for subclass to decode it. If gst_h265_decoder_set_process_ref_pic_lists()
is called with %TRUE by the subclass, @ref_pic_list0 and @ref_pic_list1
are non-%NULL.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Slice</doc>
<type name="H265Slice" c:type="GstH265Slice*"/>
</parameter>
<parameter name="ref_pic_list0" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">
an array of #GstH265Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H265Picture"/>
</array>
</parameter>
<parameter name="ref_pic_list1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">
an array of #GstH265Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H265Picture"/>
</array>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="end_picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">Optional. Called per one #GstH265Picture to notify subclass to finish
decoding process for the #GstH265Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_preferred_output_delay" version="1.22">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">Optional. Called by baseclass to query whether delaying output is
preferred by subclass or not.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">Optional. Called whenever new #GstH265Picture is created.
Subclass can set implementation specific user data
on the #GstH265Picture via gst_h265_picture_set_user_data</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_sequence" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">Notifies subclass of video sequence update</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="sps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265SPS</doc>
<type c:type="const GstH265SPS*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="output_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="start_picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">Optional. Called per one #GstH265Picture to notify subclass to prepare
decoding process for the #GstH265Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Slice</doc>
<type name="H265Slice" c:type="GstH265Slice*"/>
</parameter>
<parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</parameter>
</parameters>
</virtual-method>
<method name="get_picture" c:identifier="gst_h265_decoder_get_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c">Retrive DPB and return a #GstH265Picture corresponding to
the @system_frame_number</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c">a #GstH265Picture if successful, or %NULL otherwise</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="system_frame_number" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c">a target system frame number of #GstH265Picture</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="set_process_ref_pic_lists" c:identifier="gst_h265_decoder_set_process_ref_pic_lists" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c">Called to en/disable reference picture modification process.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</instance-parameter>
<parameter name="process" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.c">whether subclass is requiring reference picture modification process</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="GstVideo.VideoDecoder" c:type="GstVideoDecoder"/>
</field>
<field name="input_state" readable="0" private="1">
<type name="GstVideo.VideoCodecState" c:type="GstVideoCodecState*"/>
</field>
<field name="RefPicSetStCurrBefore" readable="0" private="1">
<array zero-terminated="0" fixed-size="16">
<type name="H265Picture" c:type="GstH265Picture*"/>
</array>
</field>
<field name="RefPicSetStCurrAfter" readable="0" private="1">
<array zero-terminated="0" fixed-size="16">
<type name="H265Picture" c:type="GstH265Picture*"/>
</array>
</field>
<field name="RefPicSetStFoll" readable="0" private="1">
<array zero-terminated="0" fixed-size="16">
<type name="H265Picture" c:type="GstH265Picture*"/>
</array>
</field>
<field name="RefPicSetLtCurr" readable="0" private="1">
<array zero-terminated="0" fixed-size="16">
<type name="H265Picture" c:type="GstH265Picture*"/>
</array>
</field>
<field name="RefPicSetLtFoll" readable="0" private="1">
<array zero-terminated="0" fixed-size="16">
<type name="H265Picture" c:type="GstH265Picture*"/>
</array>
</field>
<field name="NumPocStCurrBefore" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="NumPocStCurrAfter" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="NumPocStFoll" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="NumPocLtCurr" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="NumPocLtFoll" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="NumPicTotalCurr" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="priv" readable="0" private="1">
<type name="H265DecoderPrivate" c:type="GstH265DecoderPrivate*"/>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="H265DecoderClass" c:type="GstH265DecoderClass" glib:is-gtype-struct-for="H265Decoder">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">The opaque #GstH265DecoderClass data structure.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<field name="parent_class">
<type name="GstVideo.VideoDecoderClass" c:type="GstVideoDecoderClass"/>
</field>
<field name="new_sequence" introspectable="0">
<callback name="new_sequence" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</parameter>
<parameter name="sps" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265SPS</doc>
<type c:type="const GstH265SPS*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="new_picture">
<callback name="new_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_picture">
<callback name="start_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Slice</doc>
<type name="H265Slice" c:type="GstH265Slice*"/>
</parameter>
<parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="decode_slice">
<callback name="decode_slice">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Slice</doc>
<type name="H265Slice" c:type="GstH265Slice*"/>
</parameter>
<parameter name="ref_pic_list0" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">
an array of #GstH265Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H265Picture"/>
</array>
</parameter>
<parameter name="ref_pic_list1" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">
an array of #GstH265Picture pointers</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H265Picture"/>
</array>
</parameter>
</parameters>
</callback>
</field>
<field name="end_picture">
<callback name="end_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="output_picture">
<callback name="output_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_preferred_output_delay">
<callback name="get_preferred_output_delay">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">a #GstH265Decoder</doc>
<type name="H265Decoder" c:type="GstH265Decoder*"/>
</parameter>
<parameter name="live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="H265DecoderPrivate" c:type="GstH265DecoderPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
</record>
<record name="H265Dpb" c:type="GstH265Dpb" disguised="1">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<method name="add" c:identifier="gst_h265_dpb_add">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Store the @picture and perform increase pic_latency_cnt as defined in
"C.5.2.3 Additional bumping" process</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</parameter>
</parameters>
</method>
<method name="bump" c:identifier="gst_h265_dpb_bump" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Perform bumping process as defined in C.5.2.4 "Bumping" process.
If @drain is %TRUE, @dpb will remove a #GstH265Picture from internal array
so that returned #GstH265Picture could hold the last reference of it</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Picture which is needed to be
outputted</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="drain" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">whether draining or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<method name="clear" c:identifier="gst_h265_dpb_clear">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Clear all stored #GstH265Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="delete_unused" c:identifier="gst_h265_dpb_delete_unused">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Delete not needed for output and not referenced all pictures from dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_h265_dpb_free">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Free the @dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb to free</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_long_ref_by_poc" c:identifier="gst_h265_dpb_get_long_ref_by_poc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Find a long term reference picture which has matching poc</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="poc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a picture order count</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_max_num_pics" c:identifier="gst_h265_dpb_get_max_num_pics">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">the number of maximum pictures</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_picture" c:identifier="gst_h265_dpb_get_picture" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">the picture identified with the specified
@system_frame_number, or %NULL if DPB does not contain a #GstH265Picture
corresponding to the @system_frame_number</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb
@system_frame_number The system frame number</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="system_frame_number" transfer-ownership="none">
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</method>
<method name="get_pictures_all" c:identifier="gst_h265_dpb_get_pictures_all">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GArray of
#GstH265Picture stored in @dpb</doc>
<array name="GLib.Array" c:type="GArray*">
<type name="H265Picture"/>
</array>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_ref_by_poc" c:identifier="gst_h265_dpb_get_ref_by_poc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Find a short or long term reference picture which has matching poc</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="poc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a picture order count</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_ref_by_poc_lsb" c:identifier="gst_h265_dpb_get_ref_by_poc_lsb">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Find a short or long term reference picture which has matching poc_lsb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="poc_lsb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a picture order count lsb</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_short_ref_by_poc" c:identifier="gst_h265_dpb_get_short_ref_by_poc">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Find a short term reference picture which has matching poc</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="poc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a picture order count</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<method name="get_size" c:identifier="gst_h265_dpb_get_size">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">the length of stored dpb array</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="mark_all_non_ref" c:identifier="gst_h265_dpb_mark_all_non_ref">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Mark all pictures are not referenced</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="needs_bump" c:identifier="gst_h265_dpb_needs_bump" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">%TRUE if bumping is required</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="max_num_reorder_pics" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">sps_max_num_reorder_pics[HighestTid]</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="max_latency_increase" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">SpsMaxLatencyPictures[HighestTid]</doc>
<type name="guint" c:type="guint"/>
</parameter>
<parameter name="max_dec_pic_buffering" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">sps_max_dec_pic_buffering_minus1[HighestTid ] + 1
or zero if this shouldn't be used for bumping decision</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</method>
<method name="num_ref_pictures" c:identifier="gst_h265_dpb_num_ref_pictures">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">The number of referenced pictures</doc>
<type name="gint" c:type="gint"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="set_max_num_pics" c:identifier="gst_h265_dpb_set_max_num_pics">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Set the number of maximum allowed pictures to store</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</instance-parameter>
<parameter name="max_num_pics" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">the maximum number of picture</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</method>
<function name="new" c:identifier="gst_h265_dpb_new" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Create new #GstH265Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a new #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</return-value>
</function>
</record>
<record name="H265Picture" c:type="GstH265Picture" glib:type-name="GstH265Picture" glib:get-type="gst_h265_picture_get_type" c:symbol-prefix="h265_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<field name="parent" readable="0" private="1">
<type name="CodecPicture" c:type="GstCodecPicture"/>
</field>
<field name="type" introspectable="0" readable="0" private="1">
<type c:type="GstH265SliceType"/>
</field>
<field name="pic_order_cnt" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="pic_order_cnt_msb" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="pic_order_cnt_lsb" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="pic_latency_cnt" readable="0" private="1">
<type name="guint32" c:type="guint32"/>
</field>
<field name="output_flag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="NoRaslOutputFlag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="NoOutputOfPriorPicsFlag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="RapPicFlag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="IntraPicFlag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="ref" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="long_term" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="needed_for_output" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="pic_struct" introspectable="0" readable="0" private="1">
<type c:type="GstH265SEIPicStructType"/>
</field>
<field name="source_scan_type" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="duplicate_flag" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="buffer_flags" readable="0" private="1">
<type name="GstVideo.VideoBufferFlags" c:type="GstVideoBufferFlags"/>
</field>
<constructor name="new" c:identifier="gst_h265_picture_new">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Create new #GstH265Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a new #GstH265Picture</doc>
<type name="H265Picture" c:type="GstH265Picture*"/>
</return-value>
</constructor>
</record>
<record name="H265Slice" c:type="GstH265Slice">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<field name="header" introspectable="0" writable="1">
<type c:type="GstH265SliceHdr"/>
</field>
<field name="nalu" introspectable="0" writable="1">
<type c:type="GstH265NalUnit"/>
</field>
<field name="rap_pic_flag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="no_rasl_output_flag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="no_output_of_prior_pics_flag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="clear_dpb" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="intra_pic_flag" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
</record>
<function-macro name="H265_DECODER" c:identifier="GST_H265_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="H265_DECODER_CAST" c:identifier="GST_H265_DECODER_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="H265_DECODER_CLASS" c:identifier="GST_H265_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="H265_DECODER_GET_CLASS" c:identifier="GST_H265_DECODER_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="H265_DPB_MAX_SIZE" value="16" c:type="GST_H265_DPB_MAX_SIZE">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="H265_PICTURE" c:identifier="GST_H265_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="H265_PICTURE_CAST" c:identifier="GST_H265_PICTURE_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_AV1_DECODER" c:identifier="GST_IS_AV1_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_AV1_DECODER_CLASS" c:identifier="GST_IS_AV1_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_AV1_PICTURE" c:identifier="GST_IS_AV1_PICTURE" version="1.20" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_H264_DECODER" c:identifier="GST_IS_H264_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_H264_DECODER_CLASS" c:identifier="GST_IS_H264_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_H264_PICTURE" c:identifier="GST_IS_H264_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_H265_DECODER" c:identifier="GST_IS_H265_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_H265_DECODER_CLASS" c:identifier="GST_IS_H265_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_H265_PICTURE" c:identifier="GST_IS_H265_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MPEG2_DECODER" c:identifier="GST_IS_MPEG2_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MPEG2_DECODER_CLASS" c:identifier="GST_IS_MPEG2_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_MPEG2_PICTURE" c:identifier="GST_IS_MPEG2_PICTURE" version="1.20" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VP8_DECODER" c:identifier="GST_IS_VP8_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VP8_DECODER_CLASS" c:identifier="GST_IS_VP8_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VP8_PICTURE" c:identifier="GST_IS_VP8_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VP9_DECODER" c:identifier="GST_IS_VP9_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VP9_DECODER_CLASS" c:identifier="GST_IS_VP9_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="IS_VP9_PICTURE" c:identifier="GST_IS_VP9_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="MPEG2_DECODER" c:identifier="GST_MPEG2_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="MPEG2_DECODER_CLASS" c:identifier="GST_MPEG2_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="MPEG2_DECODER_GET_CLASS" c:identifier="GST_MPEG2_DECODER_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="MPEG2_PICTURE" c:identifier="GST_MPEG2_PICTURE" version="1.20" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="MPEG2_PICTURE_IS_REF" c:identifier="GST_MPEG2_PICTURE_IS_REF" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h">Check whether @picture's type is I or P</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<parameters>
<parameter name="picture">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h">a #GstMpeg2Picture</doc>
</parameter>
</parameters>
</function-macro>
<class name="Mpeg2Decoder" c:symbol-prefix="mpeg2_decoder" c:type="GstMpeg2Decoder" version="1.20" parent="GstVideo.VideoDecoder" abstract="1" glib:type-name="GstMpeg2Decoder" glib:get-type="gst_mpeg2_decoder_get_type" glib:type-struct="Mpeg2DecoderClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">The opaque #GstMpeg2Decoder data structure.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<virtual-method name="decode_slice" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">Provides per slice data with parsed slice header and required raw bitstream
for subclass to decode it.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Slice</doc>
<type name="Mpeg2Slice" c:type="GstMpeg2Slice*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="end_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">Optional. Called per one #GstMpeg2Picture to notify subclass to finish
decoding process for the #GstMpeg2Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_preferred_output_delay" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">Optional. Called by baseclass to query whether delaying output is
preferred by subclass or not.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">the number of perferred delayed output frames</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</instance-parameter>
<parameter name="is_live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_field_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">Called when a new field picture is created for interlaced field picture.
Subclass can attach implementation specific user data on @second_field via
gst_mpeg2_picture_set_user_data</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</instance-parameter>
<parameter name="first_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">the first field #GstMpeg2Picture already decoded</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="second_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture for the second field</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">Optional. Called whenever new #GstMpeg2Picture is created.
Subclass can set implementation specific user data
on the #GstMpeg2Picture via gst_mpeg2_picture_set_user_data</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_sequence" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">Notifies subclass of SPS update</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</instance-parameter>
<parameter name="seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpegVideoSequenceHdr</doc>
<type c:type="const GstMpegVideoSequenceHdr*"/>
</parameter>
<parameter name="seq_ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpegVideoSequenceExt</doc>
<type c:type="const GstMpegVideoSequenceExt*"/>
</parameter>
<parameter name="seq_display_ext" transfer-ownership="none">
<type c:type="const GstMpegVideoSequenceDisplayExt*"/>
</parameter>
<parameter name="seq_scalable_ext" transfer-ownership="none">
<type c:type="const GstMpegVideoSequenceScalableExt*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="output_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">Called with a #GstMpeg2Picture which is required to be outputted.
The #GstVideoCodecFrame must be consumed by subclass.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="start_picture" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">Optional. Called per one #GstMpeg2Picture to notify subclass to prepare
decoding process for the #GstMpeg2Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Slice</doc>
<type name="Mpeg2Slice" c:type="GstMpeg2Slice*"/>
</parameter>
<parameter name="prev_picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="next_picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</virtual-method>
<field name="parent" readable="0" private="1">
<type name="GstVideo.VideoDecoder" c:type="GstVideoDecoder"/>
</field>
<field name="input_state" readable="0" private="1">
<type name="GstVideo.VideoCodecState" c:type="GstVideoCodecState*"/>
</field>
<field name="priv" readable="0" private="1">
<type name="Mpeg2DecoderPrivate" c:type="GstMpeg2DecoderPrivate*"/>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="Mpeg2DecoderClass" c:type="GstMpeg2DecoderClass" glib:is-gtype-struct-for="Mpeg2Decoder">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<field name="parent_class">
<type name="GstVideo.VideoDecoderClass" c:type="GstVideoDecoderClass"/>
</field>
<field name="new_sequence" introspectable="0">
<callback name="new_sequence" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</parameter>
<parameter name="seq" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpegVideoSequenceHdr</doc>
<type c:type="const GstMpegVideoSequenceHdr*"/>
</parameter>
<parameter name="seq_ext" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpegVideoSequenceExt</doc>
<type c:type="const GstMpegVideoSequenceExt*"/>
</parameter>
<parameter name="seq_display_ext" transfer-ownership="none">
<type c:type="const GstMpegVideoSequenceDisplayExt*"/>
</parameter>
<parameter name="seq_scalable_ext" transfer-ownership="none">
<type c:type="const GstMpegVideoSequenceScalableExt*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="new_picture">
<callback name="new_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="new_field_picture">
<callback name="new_field_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</parameter>
<parameter name="first_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">the first field #GstMpeg2Picture already decoded</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="second_field" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture for the second field</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_picture">
<callback name="start_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Slice</doc>
<type name="Mpeg2Slice" c:type="GstMpeg2Slice*"/>
</parameter>
<parameter name="prev_picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="next_picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="decode_slice">
<callback name="decode_slice">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="slice" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Slice</doc>
<type name="Mpeg2Slice" c:type="GstMpeg2Slice*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_picture">
<callback name="end_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="output_picture">
<callback name="output_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_preferred_output_delay">
<callback name="get_preferred_output_delay">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">the number of perferred delayed output frames</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">a #GstMpeg2Decoder</doc>
<type name="Mpeg2Decoder" c:type="GstMpeg2Decoder*"/>
</parameter>
<parameter name="is_live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="Mpeg2DecoderPrivate" c:type="GstMpeg2DecoderPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2decoder.h"/>
</record>
<record name="Mpeg2Dpb" c:type="GstMpeg2Dpb" disguised="1" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<method name="add" c:identifier="gst_mpeg2_dpb_add" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Store the @picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a #GstMpeg2Dpb</doc>
<type name="Mpeg2Dpb" c:type="GstMpeg2Dpb*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
</parameters>
</method>
<method name="bump" c:identifier="gst_mpeg2_dpb_bump" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a #GstMpeg2Picture which is needed to be
outputted</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a #GstMpeg2Dpb</doc>
<type name="Mpeg2Dpb" c:type="GstMpeg2Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="clear" c:identifier="gst_mpeg2_dpb_clear" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Clear all stored #GstMpeg2Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a #GstMpeg2Dpb</doc>
<type name="Mpeg2Dpb" c:type="GstMpeg2Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_mpeg2_dpb_free" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Free the @dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a #GstMpeg2Dpb to free</doc>
<type name="Mpeg2Dpb" c:type="GstMpeg2Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="get_neighbours" c:identifier="gst_mpeg2_dpb_get_neighbours" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Gets the neighbours #GstMpeg2Picture of @picture in @dpb.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a #GstMpeg2Dpb</doc>
<type name="Mpeg2Dpb" c:type="GstMpeg2Dpb*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">current #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</parameter>
<parameter name="prev_picture_ptr" direction="out" caller-allocates="0" transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">previuous
#GstMpeg2Picture in @dpb</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture**"/>
</parameter>
<parameter name="next_picture_ptr" direction="out" caller-allocates="0" transfer-ownership="none" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">next
#GstMpeg2Picture in @dpb</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture**"/>
</parameter>
</parameters>
</method>
<method name="need_bump" c:identifier="gst_mpeg2_dpb_need_bump" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Checks if @dbp has a new picture.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">#TRUE if @dpb needs to be bumped; otherwise, #FALSE</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a #GstMpeg2Dpb</doc>
<type name="Mpeg2Dpb" c:type="GstMpeg2Dpb*"/>
</instance-parameter>
</parameters>
</method>
<function name="new" c:identifier="gst_mpeg2_dpb_new" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Create new #GstMpeg2Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a new #GstMpeg2Dpb</doc>
<type name="Mpeg2Dpb" c:type="GstMpeg2Dpb*"/>
</return-value>
</function>
</record>
<record name="Mpeg2Picture" c:type="GstMpeg2Picture" version="1.20" glib:type-name="GstMpeg2Picture" glib:get-type="gst_mpeg2_picture_get_type" c:symbol-prefix="mpeg2_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<field name="parent" readable="0" private="1">
<type name="CodecPicture" c:type="GstCodecPicture"/>
</field>
<field name="needed_for_output" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="first_field" readable="0" private="1">
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</field>
<field name="buffer_flags" readable="0" private="1">
<type name="GstVideo.VideoBufferFlags" c:type="GstVideoBufferFlags"/>
</field>
<field name="pic_order_cnt" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="tsn" readable="0" private="1">
<type name="gint" c:type="gint"/>
</field>
<field name="structure" introspectable="0" readable="0" private="1">
<type c:type="GstMpegVideoPictureStructure"/>
</field>
<field name="type" introspectable="0" readable="0" private="1">
<type c:type="GstMpegVideoPictureType"/>
</field>
<constructor name="new" c:identifier="gst_mpeg2_picture_new" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Create new #GstMpeg2Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a new #GstMpeg2Picture</doc>
<type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/>
</return-value>
</constructor>
</record>
<record name="Mpeg2Slice" c:type="GstMpeg2Slice" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<field name="quant_matrix" introspectable="0" readable="0" private="1">
<type c:type="GstMpegVideoQuantMatrixExt*"/>
</field>
<field name="pic_hdr" introspectable="0" readable="0" private="1">
<type c:type="GstMpegVideoPictureHdr*"/>
</field>
<field name="pic_ext" introspectable="0" readable="0" private="1">
<type c:type="GstMpegVideoPictureExt*"/>
</field>
<field name="header" introspectable="0" readable="0" private="1">
<type c:type="GstMpegVideoSliceHdr"/>
</field>
<field name="packet" introspectable="0" readable="0" private="1">
<type c:type="GstMpegVideoPacket"/>
</field>
<field name="sc_offset" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="size" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
</record>
<function-macro name="VP8_DECODER" c:identifier="GST_VP8_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP8_DECODER_CAST" c:identifier="GST_VP8_DECODER_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP8_DECODER_CLASS" c:identifier="GST_VP8_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP8_DECODER_GET_CLASS" c:identifier="GST_VP8_DECODER_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP8_PICTURE" c:identifier="GST_VP8_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP8_PICTURE_CAST" c:identifier="GST_VP8_PICTURE_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="VP9_BLOCK_SIZE_GROUPS" value="4" c:type="GST_VP9_BLOCK_SIZE_GROUPS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts when decoding intra_mode</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_CLASS0_SIZE" value="2" c:type="GST_VP9_CLASS0_SIZE" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values for mv_classO_bit</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_COMP_MODE_CONTEXTS" value="5" c:type="GST_VP9_COMP_MODE_CONTEXTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts for comp_mode</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="VP9_DECODER" c:identifier="GST_VP9_DECODER" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP9_DECODER_CAST" c:identifier="GST_VP9_DECODER_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP9_DECODER_CLASS" c:identifier="GST_VP9_DECODER_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<parameters>
<parameter name="klass">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP9_DECODER_GET_CLASS" c:identifier="GST_VP9_DECODER_GET_CLASS" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="VP9_INTERP_FILTER_CONTEXTS" value="4" c:type="GST_VP9_INTERP_FILTER_CONTEXTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts for interp_filter</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_INTER_MODES" value="4" c:type="GST_VP9_INTER_MODES" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values for inter_mode</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_INTER_MODE_CONTEXTS" value="7" c:type="GST_VP9_INTER_MODE_CONTEXTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts for inter_mode</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_INTRA_MODES" value="10" c:type="GST_VP9_INTRA_MODES" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values for intra_mode</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_IS_INTER_CONTEXTS" value="4" c:type="GST_VP9_IS_INTER_CONTEXTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts for interp_filter</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_MV_CLASSES" value="11" c:type="GST_VP9_MV_CLASSES" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values for mv_class</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_MV_FR_SIZE" value="4" c:type="GST_VP9_MV_FR_SIZE" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values that can be decoded for mv_fr</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_MV_JOINTS" value="4" c:type="GST_VP9_MV_JOINTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values for partition</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_MV_OFFSET_BITS" value="10" c:type="GST_VP9_MV_OFFSET_BITS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Maximum number of bits for decoding motion vectors</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_PARTITION_CONTEXTS" value="16" c:type="GST_VP9_PARTITION_CONTEXTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts when decoding partition</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_PARTITION_TYPES" value="4" c:type="GST_VP9_PARTITION_TYPES" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values for partition</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<function-macro name="VP9_PICTURE" c:identifier="GST_VP9_PICTURE" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<function-macro name="VP9_PICTURE_CAST" c:identifier="GST_VP9_PICTURE_CAST" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<parameters>
<parameter name="obj">
</parameter>
</parameters>
</function-macro>
<constant name="VP9_REF_CONTEXTS" value="5" c:type="GST_VP9_REF_CONTEXTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts for single_ref and comp_ref</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_SEG_LVL_ALT_L" value="1" c:type="GST_VP9_SEG_LVL_ALT_L" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Index for loop filter segment feature</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_SEG_LVL_ALT_Q" value="0" c:type="GST_VP9_SEG_LVL_ALT_Q" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Index for quantizer segment feature</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_SEG_LVL_MAX" value="4" c:type="GST_VP9_SEG_LVL_MAX" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of segment features</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_SEG_LVL_REF_FRAME" value="2" c:type="GST_VP9_SEG_LVL_REF_FRAME" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Index for reference frame segment feature</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_SEG_SEG_LVL_SKIP" value="3" c:type="GST_VP9_SEG_SEG_LVL_SKIP" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Index for skip segment feature</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_SKIP_CONTEXTS" value="3" c:type="GST_VP9_SKIP_CONTEXTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts for decoding skip</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_SWITCHABLE_FILTERS" value="3" c:type="GST_VP9_SWITCHABLE_FILTERS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts for interp_filter</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_TX_MODES" value="5" c:type="GST_VP9_TX_MODES" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values for tx_mode</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_TX_SIZES" value="4" c:type="GST_VP9_TX_SIZES" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of values for tx_size</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<constant name="VP9_TX_SIZE_CONTEXTS" value="2" c:type="GST_VP9_TX_SIZE_CONTEXTS" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Number of contexts for transform size</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<type name="gint" c:type="gint"/>
</constant>
<class name="Vp8Decoder" c:symbol-prefix="vp8_decoder" c:type="GstVp8Decoder" parent="GstVideo.VideoDecoder" abstract="1" glib:type-name="GstVp8Decoder" glib:get-type="gst_vp8_decoder_get_type" glib:type-struct="Vp8DecoderClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h">The opaque #GstVp8Decoder data structure.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<virtual-method name="decode_picture" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
<parameter name="parser" transfer-ownership="none">
<type c:type="GstVp8Parser*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="end_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_preferred_output_delay" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h">Optional. Called by baseclass to query whether delaying output is
preferred by subclass or not.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h">a #GstVp8Decoder</doc>
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</instance-parameter>
<parameter name="is_live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_sequence" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</instance-parameter>
<parameter name="frame_hdr" transfer-ownership="none">
<type c:type="const GstVp8FrameHdr*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="output_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="start_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
</parameters>
</virtual-method>
<field name="parent" readable="0" private="1">
<type name="GstVideo.VideoDecoder" c:type="GstVideoDecoder"/>
</field>
<field name="input_state" readable="0" private="1">
<type name="GstVideo.VideoCodecState" c:type="GstVideoCodecState*"/>
</field>
<field name="last_picture" readable="0" private="1">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</field>
<field name="golden_ref_picture" readable="0" private="1">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</field>
<field name="alt_ref_picture" readable="0" private="1">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</field>
<field name="priv" readable="0" private="1">
<type name="Vp8DecoderPrivate" c:type="GstVp8DecoderPrivate*"/>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="Vp8DecoderClass" c:type="GstVp8DecoderClass" glib:is-gtype-struct-for="Vp8Decoder">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<field name="parent_class">
<type name="GstVideo.VideoDecoderClass" c:type="GstVideoDecoderClass"/>
</field>
<field name="new_sequence" introspectable="0">
<callback name="new_sequence" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</parameter>
<parameter name="frame_hdr" transfer-ownership="none">
<type c:type="const GstVp8FrameHdr*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="new_picture">
<callback name="new_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_picture">
<callback name="start_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="decode_picture" introspectable="0">
<callback name="decode_picture" introspectable="0">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
<parameter name="parser" transfer-ownership="none">
<type c:type="GstVp8Parser*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_picture">
<callback name="end_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="output_picture">
<callback name="output_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_preferred_output_delay">
<callback name="get_preferred_output_delay">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h">a #GstVp8Decoder</doc>
<type name="Vp8Decoder" c:type="GstVp8Decoder*"/>
</parameter>
<parameter name="is_live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="Vp8DecoderPrivate" c:type="GstVp8DecoderPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8decoder.h"/>
</record>
<record name="Vp8Picture" c:type="GstVp8Picture" glib:type-name="GstVp8Picture" glib:get-type="gst_vp8_picture_get_type" c:symbol-prefix="vp8_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.h"/>
<field name="parent" readable="0" private="1">
<type name="CodecPicture" c:type="GstCodecPicture"/>
</field>
<field name="frame_hdr" introspectable="0" readable="0" private="1">
<type c:type="GstVp8FrameHdr"/>
</field>
<field name="data" readable="0" private="1">
<type name="guint8" c:type="const guint8*"/>
</field>
<field name="size" readable="0" private="1">
<type name="gsize" c:type="gsize"/>
</field>
<constructor name="new" c:identifier="gst_vp8_picture_new">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.c">Create new #GstVp8Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.c">a new #GstVp8Picture</doc>
<type name="Vp8Picture" c:type="GstVp8Picture*"/>
</return-value>
</constructor>
</record>
<class name="Vp9Decoder" c:symbol-prefix="vp9_decoder" c:type="GstVp9Decoder" parent="GstVideo.VideoDecoder" abstract="1" glib:type-name="GstVp9Decoder" glib:get-type="gst_vp9_decoder_get_type" glib:type-struct="Vp9DecoderClass">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">The opaque #GstVp9Decoder data structure.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<virtual-method name="decode_picture" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">Called to notify decoding for subclass to decoder given @picture with
given @dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture to decoder</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
<parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Dpb</doc>
<type name="Vp9Dpb" c:type="GstVp9Dpb*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="duplicate_picture" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">Optional. Called to duplicate @picture when show_existing_frame flag is set
in the parsed vp9 frame header. Returned #GstVp9Picture from this method
should hold already decoded picture data corresponding to the @picture,
since the returned #GstVp9Picture from this method will be passed to
the output_picture method immediately without additional decoding process.
If this method is not implemented by subclass, baseclass will drop
current #GstVideoCodecFrame without additional processing for the current
frame.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture or %NULL if failed to duplicate
@picture.</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture to be duplicated</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="end_picture" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">Optional. Called per one #GstVp9Picture to notify subclass to finish
decoding process for the #GstVp9Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="get_preferred_output_delay" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">Optional. Retrieve the preferred output delay from child classes.
controls how many frames to delay when calling
GstVp9DecoderClass::output_picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="is_live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_picture" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">Optional. Called whenever new #GstVp9Picture is created.
Subclass can set implementation specific user data on the #GstVp9Picture
via gst_vp9_picture_set_user_data</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="new_sequence" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">Notifies subclass of video sequence update such as resolution, bitdepth,
profile.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="frame_hdr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9FrameHeader</doc>
<type name="Vp9FrameHeader" c:type="const GstVp9FrameHeader*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="output_picture" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">Called to notify @picture is ready to be outputted.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</virtual-method>
<virtual-method name="start_picture" version="1.18">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">Optional. Called to notify subclass to prepare decoding process for
@picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</virtual-method>
<method name="set_non_keyframe_format_change_support" c:identifier="gst_vp9_decoder_set_non_keyframe_format_change_support" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.c">Called to set non-keyframe format change awareness</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.c">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</instance-parameter>
<parameter name="support" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.c">whether subclass can support non-keyframe format change</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</method>
<field name="parent" readable="0" private="1">
<type name="GstVideo.VideoDecoder" c:type="GstVideoDecoder"/>
</field>
<field name="input_state" readable="0" private="1">
<type name="GstVideo.VideoCodecState" c:type="GstVideoCodecState*"/>
</field>
<field name="parse_compressed_headers" readable="0" private="1">
<type name="gboolean" c:type="gboolean"/>
</field>
<field name="priv" readable="0" private="1">
<type name="Vp9DecoderPrivate" c:type="GstVp9DecoderPrivate*"/>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="Vp9DecoderClass" c:type="GstVp9DecoderClass" glib:is-gtype-struct-for="Vp9Decoder">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<field name="parent_class">
<type name="GstVideo.VideoDecoderClass" c:type="GstVideoDecoderClass"/>
</field>
<field name="new_sequence">
<callback name="new_sequence">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</parameter>
<parameter name="frame_hdr" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9FrameHeader</doc>
<type name="Vp9FrameHeader" c:type="const GstVp9FrameHeader*"/>
</parameter>
<parameter name="max_dpb_size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">the size of dpb including preferred output delay
by subclass reported via get_preferred_output_delay method.</doc>
<type name="gint" c:type="gint"/>
</parameter>
</parameters>
</callback>
</field>
<field name="new_picture">
<callback name="new_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="duplicate_picture">
<callback name="duplicate_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="full" nullable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture or %NULL if failed to duplicate
@picture.</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture to be duplicated</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="start_picture">
<callback name="start_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="decode_picture">
<callback name="decode_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture to decoder</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
<parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Dpb</doc>
<type name="Vp9Dpb" c:type="GstVp9Dpb*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="end_picture">
<callback name="end_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</parameter>
<parameter name="picture" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="output_picture">
<callback name="output_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</parameter>
<parameter name="frame" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVideoCodecFrame</doc>
<type name="GstVideo.VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
</parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</callback>
</field>
<field name="get_preferred_output_delay">
<callback name="get_preferred_output_delay">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">the number of perferred delayed output frame</doc>
<type name="guint" c:type="guint"/>
</return-value>
<parameters>
<parameter name="decoder" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">a #GstVp9Decoder</doc>
<type name="Vp9Decoder" c:type="GstVp9Decoder*"/>
</parameter>
<parameter name="is_live" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h">whether upstream is live or not</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</callback>
</field>
<field name="padding" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="Vp9DecoderPrivate" c:type="GstVp9DecoderPrivate" disguised="1">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9decoder.h"/>
</record>
<record name="Vp9DeltaProbabilities" c:type="GstVp9DeltaProbabilities" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Stores probabilities updates. This is from the spec
and can be used as a binary.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<field name="tx_probs_8x8" readable="0" private="1">
<array zero-terminated="0" fixed-size="2">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="tx_probs_16x16" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="tx_probs_32x32" readable="0" private="1">
<array zero-terminated="0" fixed-size="6">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="coef" readable="0" private="1">
<array zero-terminated="0" fixed-size="1728">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="skip" readable="0" private="1">
<array zero-terminated="0" fixed-size="3">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="inter_mode" readable="0" private="1">
<array zero-terminated="0" fixed-size="21">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="interp_filter" readable="0" private="1">
<array zero-terminated="0" fixed-size="8">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="is_inter" readable="0" private="1">
<array zero-terminated="0" fixed-size="4">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="comp_mode" readable="0" private="1">
<array zero-terminated="0" fixed-size="5">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="single_ref" readable="0" private="1">
<array zero-terminated="0" fixed-size="10">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="comp_ref" readable="0" private="1">
<array zero-terminated="0" fixed-size="5">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="y_mode" readable="0" private="1">
<array zero-terminated="0" fixed-size="36">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="partition" readable="0" private="1">
<array zero-terminated="0" fixed-size="48">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="mv" readable="0" private="1">
<type name="Vp9MvDeltaProbs" c:type="GstVp9MvDeltaProbs"/>
</field>
</record>
<record name="Vp9Dpb" c:type="GstVp9Dpb">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<field name="pic_list" writable="1">
<array zero-terminated="0" fixed-size="8">
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</array>
</field>
<method name="add" c:identifier="gst_vp9_dpb_add">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">Store the @picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">a #GstVp9Dpb</doc>
<type name="Vp9Dpb" c:type="GstVp9Dpb*"/>
</instance-parameter>
<parameter name="picture" transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">a #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</parameter>
</parameters>
</method>
<method name="clear" c:identifier="gst_vp9_dpb_clear">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">Clear all stored #GstVp9Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">a #GstVp9Dpb</doc>
<type name="Vp9Dpb" c:type="GstVp9Dpb*"/>
</instance-parameter>
</parameters>
</method>
<method name="free" c:identifier="gst_vp9_dpb_free">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">Free the @dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="dpb" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">a #GstVp9Dpb to free</doc>
<type name="Vp9Dpb" c:type="GstVp9Dpb*"/>
</instance-parameter>
</parameters>
</method>
<function name="new" c:identifier="gst_vp9_dpb_new" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">Create new #GstVp9Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">a new #GstVp9Dpb</doc>
<type name="Vp9Dpb" c:type="GstVp9Dpb*"/>
</return-value>
</function>
</record>
<record name="Vp9FrameHeader" c:type="GstVp9FrameHeader" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<field name="profile" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">encoded profile</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="bit_depth" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">encoded bit depth</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="subsampling_x" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specify the chroma subsampling format for x coordinate</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="subsampling_y" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specify the chroma subsampling format for y coordinate</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="color_space" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies the color space of the stream</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="color_range" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies the black level and range of the luma and chroma
signals</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="show_existing_frame" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1, indicates the frame indexed by
frame_to_show_map_idx is to be displayed</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="frame_to_show_map_idx" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies the frame to be displayed.
It is only available if show_existing_frame is 1</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="frame_type" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 0 indicates that the current frame is a key frame</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="show_frame" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicate whether it is a displayable frame or not</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="error_resilient_mode" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 indicates that error resilient mode is
enabled</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="width" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">coded frame width</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="height" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">coded frame height</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="render_and_frame_size_different" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 0 means that the render width and
height are inferred from the frame width and height</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="render_width" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">render width of the frame</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="render_height" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">render width of the frame</doc>
<type name="guint32" c:type="guint32"/>
</field>
<field name="intra_only" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 indicates that the frame is an intra-only frame</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="reset_frame_context" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies whether the frame context should be reset to
default values</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="refresh_frame_flags" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">contains a bitmask that specifies which reference frame
slots will be updated with the current frame after it is decoded</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="ref_frame_idx" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies which reference frames are used by inter frames</doc>
<array zero-terminated="0" fixed-size="3">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="ref_frame_sign_bias" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies the intended direction of the motion vector
in time for each reference frame. A sign bias equal to 0 indicates that
the reference frame is a backwards reference</doc>
<array zero-terminated="0" fixed-size="4">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="allow_high_precision_mv" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 0 specifies that motion vectors are
specified to quarter pel precision</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="interpolation_filter" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies the filter selection used for performing
inter prediction</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="refresh_frame_context" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 indicates that the probabilities computed
for this frame</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="frame_parallel_decoding_mode" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 indicates that parallel decoding
mode is enabled</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="frame_context_idx" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicates the frame context to use</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="loop_filter_params" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">a #GstVp9LoopFilterParams</doc>
<type name="Vp9LoopFilterParams" c:type="GstVp9LoopFilterParams"/>
</field>
<field name="quantization_params" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">a #GstVp9QuantizationParams</doc>
<type name="Vp9QuantizationParams" c:type="GstVp9QuantizationParams"/>
</field>
<field name="segmentation_params" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">a #GstVp9SegmentationParams</doc>
<type name="Vp9SegmentationParams" c:type="GstVp9SegmentationParams"/>
</field>
<field name="tile_cols_log2" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies the base 2 logarithm of the width of each tile</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="tile_rows_log2" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies the base 2 logarithm of the height of each tile</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="header_size_in_bytes" writable="1">
<type name="guint16" c:type="guint16"/>
</field>
<field name="tx_mode" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specifies how the transform size is determined</doc>
<type name="Vp9TxMode" c:type="GstVp9TxMode"/>
</field>
<field name="reference_mode" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">is a derived syntax element that specifies the type of
inter prediction to be used</doc>
<type name="Vp9ReferenceMode" c:type="GstVp9ReferenceMode"/>
</field>
<field name="delta_probabilities" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">modification to the probabilities encoded in the
bitstream</doc>
<type name="Vp9DeltaProbabilities" c:type="GstVp9DeltaProbabilities"/>
</field>
<field name="lossless_flag" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">lossless mode decode</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="frame_header_length_in_bytes" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">length of uncompressed header</doc>
<type name="guint32" c:type="guint32"/>
</field>
</record>
<record name="Vp9LoopFilterParams" c:type="GstVp9LoopFilterParams" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Loop filter params. See "6.2.8 Loop filter params syntax" and
"7.2.8 Loop filter semantics".
If syntax elements for @update_ref_delta
and/or @loop_filter_mode_deltas are not present in bitstream,
parser will fill @loop_filter_ref_deltas and @loop_filter_mode_deltas values
by using previously parsed values.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<field name="loop_filter_level" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicates the loop filter strength</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="loop_filter_sharpness" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicates the sharpness level</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="loop_filter_delta_enabled" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 means that the filter level depends
on the mode and reference frame used to predict a block</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="loop_filter_delta_update" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 means that the bitstream contains
additional syntax elements that specify which mode and reference frame
deltas are to be updated</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="update_ref_delta" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 means that the bitstream contains the syntax
element loop_filter_ref_delta</doc>
<array zero-terminated="0" fixed-size="4">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="loop_filter_ref_deltas" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">contains the adjustment needed for the filter level
based on the chosen reference frame</doc>
<array zero-terminated="0" fixed-size="4">
<type name="gint8" c:type="gint8"/>
</array>
</field>
<field name="update_mode_delta" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 means that the bitstream contains the syntax
element loop_filter_mode_deltas</doc>
<array zero-terminated="0" fixed-size="2">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="loop_filter_mode_deltas" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">contains the adjustment needed for the filter level
based on the chosen mode</doc>
<array zero-terminated="0" fixed-size="2">
<type name="gint8" c:type="gint8"/>
</array>
</field>
</record>
<record name="Vp9MvDeltaProbs" c:type="GstVp9MvDeltaProbs" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Stores motion vectors probabilities updates. This is from the spec
and can be used as a binary.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<field name="joint" readable="0" private="1">
<array zero-terminated="0" fixed-size="3">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="sign" readable="0" private="1">
<array zero-terminated="0" fixed-size="2">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="klass" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="class0_bit" readable="0" private="1">
<array zero-terminated="0" fixed-size="2">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="bits" readable="0" private="1">
<array zero-terminated="0" fixed-size="20">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="class0_fr" readable="0" private="1">
<array zero-terminated="0" fixed-size="12">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="fr" readable="0" private="1">
<array zero-terminated="0" fixed-size="6">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="class0_hp" readable="0" private="1">
<array zero-terminated="0" fixed-size="2">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="hp" readable="0" private="1">
<array zero-terminated="0" fixed-size="2">
<type name="guint8" c:type="guint8"/>
</array>
</field>
</record>
<record name="Vp9Picture" c:type="GstVp9Picture" glib:type-name="GstVp9Picture" glib:get-type="gst_vp9_picture_get_type" c:symbol-prefix="vp9_picture">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<field name="parent" readable="0" private="1">
<type name="CodecPicture" c:type="GstCodecPicture"/>
</field>
<field name="frame_hdr" readable="0" private="1">
<type name="Vp9FrameHeader" c:type="GstVp9FrameHeader"/>
</field>
<field name="data" readable="0" private="1">
<type name="guint8" c:type="const guint8*"/>
</field>
<field name="size" readable="0" private="1">
<type name="gsize" c:type="gsize"/>
</field>
<constructor name="new" c:identifier="gst_vp9_picture_new">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">Create new #GstVp9Picture</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<return-value transfer-ownership="full">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">a new #GstVp9Picture</doc>
<type name="Vp9Picture" c:type="GstVp9Picture*"/>
</return-value>
</constructor>
</record>
<record name="Vp9QuantizationParams" c:type="GstVp9QuantizationParams" version="1.20">
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<field name="base_q_idx" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicates the base frame qindex. This is used for Y AC
coefficients and as the base value for the other quantizers</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="delta_q_y_dc" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicates the Y DC quantizer relative to base_q_idx</doc>
<type name="gint8" c:type="gint8"/>
</field>
<field name="delta_q_uv_dc" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicates the UV DC quantizer relative to base_q_idx</doc>
<type name="gint8" c:type="gint8"/>
</field>
<field name="delta_q_uv_ac" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicates the UV AC quantizer relative to base_q_idx</doc>
<type name="gint8" c:type="gint8"/>
</field>
</record>
<enumeration name="Vp9ReferenceMode" version="1.20" c:type="GstVp9ReferenceMode">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Reference modes: Specify the type of inter prediction to be used</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<member name="single_reference" value="0" c:identifier="GST_VP9_REFERENCE_MODE_SINGLE_REFERENCE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Indicates that all the inter blocks use only a single reference frame</doc>
</member>
<member name="compound_reference" value="1" c:identifier="GST_VP9_REFERENCE_MODE_COMPOUND_REFERENCE">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Requires all the inter blocks to use compound mode</doc>
</member>
<member name="select" value="2" c:identifier="GST_VP9_REFERENCE_MODE_SELECT">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Allows each individual inter block to select between single and compound prediction modes</doc>
</member>
</enumeration>
<record name="Vp9SegmentationParams" c:type="GstVp9SegmentationParams" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">See "6.2.11 Segmentation params syntax" and
"7.2.10 Segmentation params syntax". When @segmentation_update_data is equal
to zero, parser will fill @feature_enabled and by @feature_data
using previously parsed values.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<field name="segmentation_enabled" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 indicates that this frame makes use of the
segmentation tool</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="segmentation_update_map" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 indicates that the segmentation map
should be updated during the decoding of this frame</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="segmentation_tree_probs" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specify the probability values to be used when
decoding segment_id</doc>
<array zero-terminated="0" fixed-size="7">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="segmentation_pred_prob" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">specify the probability values to be used when
decoding seg_id_predicted</doc>
<array zero-terminated="0" fixed-size="3">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="segmentation_temporal_update" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 indicates that the updates to
the segmentation map are coded relative to the existing segmentation map</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="segmentation_update_data" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 1 indicates that new parameters are
about to be specified for each segment</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="segmentation_abs_or_delta_update" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">equal to 0 indicates that the segmentation
parameters represent adjustments relative to the standard values.
equal to 1 indicates that the segmentation parameters represent the actual
values to be used</doc>
<type name="guint8" c:type="guint8"/>
</field>
<field name="feature_enabled" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">indicates whether feature is enabled or not</doc>
<array zero-terminated="0" fixed-size="32">
<type name="guint8" c:type="guint8"/>
</array>
</field>
<field name="feature_data" writable="1">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">segmentation feature data</doc>
<array zero-terminated="0" fixed-size="32">
<type name="gint16" c:type="gint16"/>
</array>
</field>
</record>
<record name="Vp9StatefulParser" c:type="GstVp9StatefulParser" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">This object is used to parse VP9 bitstream header.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<field name="bit_depth" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="subsampling_x" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="subsampling_y" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="color_space" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="color_range" readable="0" private="1">
<type name="guint8" c:type="guint8"/>
</field>
<field name="mi_cols" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="mi_rows" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="sb64_cols" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="sb64_rows" readable="0" private="1">
<type name="guint" c:type="guint"/>
</field>
<field name="loop_filter_params" readable="0" private="1">
<type name="Vp9LoopFilterParams" c:type="GstVp9LoopFilterParams"/>
</field>
<field name="segmentation_params" readable="0" private="1">
<type name="Vp9SegmentationParams" c:type="GstVp9SegmentationParams"/>
</field>
<field name="reference" writable="1">
<array zero-terminated="0" fixed-size="8">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
<method name="free" c:identifier="gst_vp9_stateful_parser_free" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">Frees @parser.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<instance-parameter name="parser" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">the #GstVp9StatefulParser to free</doc>
<type name="Vp9StatefulParser" c:type="GstVp9StatefulParser*"/>
</instance-parameter>
</parameters>
</method>
<method name="parse_compressed_frame_header" c:identifier="gst_vp9_stateful_parser_parse_compressed_frame_header" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">Parses the compressed information in the VP9 bitstream contained in @data,
and fills in @header with the parsed values.
The @size argument represent the whole frame size.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a #GstVp9ParserResult</doc>
<type c:type="GstVp9ParserResult"/>
</return-value>
<parameters>
<instance-parameter name="parser" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">The #GstVp9StatefulParser</doc>
<type name="Vp9StatefulParser" c:type="GstVp9StatefulParser*"/>
</instance-parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">The #GstVp9FrameHeader to fill</doc>
<type name="Vp9FrameHeader" c:type="GstVp9FrameHeader*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">The data to parse</doc>
<type name="guint8" c:type="const guint8*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">The size of the @data to parse</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</method>
<method name="parse_uncompressed_frame_header" c:identifier="gst_vp9_stateful_parser_parse_uncompressed_frame_header" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">Parses the VP9 bitstream contained in @data, and fills in @header
with the information. The @size argument represent the whole frame size.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a #GstVp9ParserResult</doc>
<type c:type="GstVp9ParserResult"/>
</return-value>
<parameters>
<instance-parameter name="parser" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">The #GstVp9StatefulParser</doc>
<type name="Vp9StatefulParser" c:type="GstVp9StatefulParser*"/>
</instance-parameter>
<parameter name="header" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">The #GstVp9FrameHeader to fill</doc>
<type name="Vp9FrameHeader" c:type="GstVp9FrameHeader*"/>
</parameter>
<parameter name="data" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">The data to parse</doc>
<type name="guint8" c:type="const guint8*"/>
</parameter>
<parameter name="size" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">The size of the @data to parse</doc>
<type name="gsize" c:type="gsize"/>
</parameter>
</parameters>
</method>
<function name="new" c:identifier="gst_vp9_stateful_parser_new" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">Creates a new #GstVp9StatefulParser. It should be freed with
gst_vp9_stateful_parser_free() after use.</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a new #GstVp9StatefulParser</doc>
<type name="Vp9StatefulParser" c:type="GstVp9StatefulParser*"/>
</return-value>
</function>
</record>
<enumeration name="Vp9TxMode" version="1.20" c:type="GstVp9TxMode">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">TxMode: Specifies how the transform size is determined</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<member name="only_4x4" value="0" c:identifier="GST_VP9_TX_MODE_ONLY_4x4">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Only 4x4</doc>
</member>
<member name="allow_8x8" value="1" c:identifier="GST_VP9_TX_MODE_ALLOW_8x8">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Allow 8x8</doc>
</member>
<member name="allow_16x16" value="2" c:identifier="GST_VP9_TX_MODE_ALLOW_16x16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Allow 16x16</doc>
</member>
<member name="allow_32x32" value="3" c:identifier="GST_VP9_TX_MODE_ALLOW_32x32">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">Allow 32x32</doc>
</member>
<member name="select" value="4" c:identifier="GST_VP9_TX_MODE_SELECT">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">The choice is specified explicitly for each block</doc>
</member>
</enumeration>
<enumeration name="Vp9TxSize" version="1.20" c:type="GstVp9TxSize">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">TxSize: Specifies the transform size</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<member name="4x4" value="0" c:identifier="GST_VP9_TX_4x4">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">4x4</doc>
</member>
<member name="8x8" value="1" c:identifier="GST_VP9_TX_8x8">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">8x8</doc>
</member>
<member name="16x16" value="2" c:identifier="GST_VP9_TX_16x16">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">16x16</doc>
</member>
<member name="32x32" value="3" c:identifier="GST_VP9_TX_32x32">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h">32x32</doc>
</member>
</enumeration>
<function name="av1_dpb_new" c:identifier="gst_av1_dpb_new" moved-to="AV1Dpb.new" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">Create new #GstAV1Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">a new #GstAV1Dpb</doc>
<type name="AV1Dpb" c:type="GstAV1Dpb*"/>
</return-value>
</function>
<function name="h264_dpb_new" c:identifier="gst_h264_dpb_new" moved-to="H264Dpb.new" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Create new #GstH264Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">a new #GstH264Dpb</doc>
<type name="H264Dpb" c:type="GstH264Dpb*"/>
</return-value>
</function>
<function name="h265_dpb_new" c:identifier="gst_h265_dpb_new" moved-to="H265Dpb.new" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Create new #GstH265Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">a new #GstH265Dpb</doc>
<type name="H265Dpb" c:type="GstH265Dpb*"/>
</return-value>
</function>
<function name="mpeg2_dpb_new" c:identifier="gst_mpeg2_dpb_new" moved-to="Mpeg2Dpb.new" version="1.20" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Create new #GstMpeg2Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">a new #GstMpeg2Dpb</doc>
<type name="Mpeg2Dpb" c:type="GstMpeg2Dpb*"/>
</return-value>
</function>
<function name="vp9_dpb_new" c:identifier="gst_vp9_dpb_new" moved-to="Vp9Dpb.new" introspectable="0">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">Create new #GstVp9Dpb</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/>
<return-value>
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">a new #GstVp9Dpb</doc>
<type name="Vp9Dpb" c:type="GstVp9Dpb*"/>
</return-value>
</function>
<function name="vp9_get_ac_quant" c:identifier="gst_vp9_get_ac_quant" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">An implementation of "ac_q" function specified in
"8.6.1 Dequantization functions"</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">the quantizer value for the ac coefficient</doc>
<type name="gint16" c:type="gint16"/>
</return-value>
<parameters>
<parameter name="qindex" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">the quantizer index</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="delta_q_ac" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a delta_q_ac value</doc>
<type name="gint8" c:type="gint8"/>
</parameter>
<parameter name="bit_depth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">coded bit depth</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="vp9_get_dc_quant" c:identifier="gst_vp9_get_dc_quant" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">An implementation of "dc_q" function specified in
"8.6.1 Dequantization functions"</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">the quantizer value for the dc coefficient</doc>
<type name="gint16" c:type="gint16"/>
</return-value>
<parameters>
<parameter name="qindex" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">the quantizer index</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="delta_q_dc" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a delta_q_dc value</doc>
<type name="gint8" c:type="gint8"/>
</parameter>
<parameter name="bit_depth" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">coded bit depth</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="vp9_get_qindex" c:identifier="gst_vp9_get_qindex" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">An implementation of "get_qindex" function specfied in
"8.6.1 Dequantization functions"</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">the quantizer index</doc>
<type name="guint8" c:type="guint8"/>
</return-value>
<parameters>
<parameter name="segmentation_params" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a #GstVp9SegmentationParams</doc>
<type name="Vp9SegmentationParams" c:type="const GstVp9SegmentationParams*"/>
</parameter>
<parameter name="quantization_params" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a #GstVp9QuantizationParams</doc>
<type name="Vp9QuantizationParams" c:type="const GstVp9QuantizationParams*"/>
</parameter>
<parameter name="segment_id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a segment id</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
<function name="vp9_seg_feature_active" c:identifier="gst_vp9_seg_feature_active" version="1.20">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">An implementation of "seg_feature_active" function specified in
"6.4.9 Segmentation feature active syntax"</doc>
<source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.h"/>
<return-value transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">%TRUE if feature is active</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="params" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a #GstVp9SegmentationParams</doc>
<type name="Vp9SegmentationParams" c:type="const GstVp9SegmentationParams*"/>
</parameter>
<parameter name="segment_id" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a segment id</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
<parameter name="feature" transfer-ownership="none">
<doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9statefulparser.c">a segmentation feature</doc>
<type name="guint8" c:type="guint8"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>