diff options
Diffstat (limited to 'girs/GstCodecs-1.0.gir')
-rw-r--r-- | girs/GstCodecs-1.0.gir | 5314 |
1 files changed, 5314 insertions, 0 deletions
diff --git a/girs/GstCodecs-1.0.gir b/girs/GstCodecs-1.0.gir new file mode 100644 index 0000000000..e4316d62f3 --- /dev/null +++ b/girs/GstCodecs-1.0.gir @@ -0,0 +1,5314 @@ +<!-- 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="Gst.MiniObject" c:type="GstMiniObject"/> + </field> + <field name="system_frame_number" readable="0" private="1"> + <type name="guint32" c:type="guint32"/> + </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> + <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> + <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> + <method name="get_user_data" c:identifier="gst_av1_picture_get_user_data" version="1.20"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.c">Gets private data set on the picture via +gst_av1_picture_set_user_data() previously.</doc> + <source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.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/gstav1picture.c">a #GstAV1Picture</doc> + <type name="AV1Picture" c:type="GstAV1Picture*"/> + </instance-parameter> + </parameters> + </method> + <method name="set_user_data" c:identifier="gst_av1_picture_set_user_data" version="1.20"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstav1picture.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/gstav1picture.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/gstav1picture.c">a #GstAV1Picture</doc> + <type name="AV1Picture" c:type="GstAV1Picture*"/> + </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/gstav1picture.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/gstav1picture.c">a #GDestroyNotify</doc> + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> + </parameter> + </parameters> + </method> + </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> + <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="Gst.MiniObject" c:type="GstMiniObject"/> + </field> + <field name="type" introspectable="0" readable="0" private="1"> + <type c:type="GstH264SliceType"/> + </field> + <field name="system_frame_number" readable="0" private="1"> + <type name="guint32" c:type="guint32"/> + </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="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> + <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> + <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> + <method name="get_user_data" c:identifier="gst_h264_picture_get_user_data"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.c">Gets private data set on the picture via +gst_h264_picture_set_user_data() previously.</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">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/gsth264picture.c">a #GstH264Picture</doc> + <type name="H264Picture" c:type="GstH264Picture*"/> + </instance-parameter> + </parameters> + </method> + <method name="set_user_data" c:identifier="gst_h264_picture_set_user_data"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth264picture.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/gsth264picture.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/gsth264picture.c">a #GstH264Picture</doc> + <type name="H264Picture" c:type="GstH264Picture*"/> + </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/gsth264picture.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/gsth264picture.c">a #GDestroyNotify</doc> + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> + </parameter> + </parameters> + </method> + </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="Gst.MiniObject" c:type="GstMiniObject"/> + </field> + <field name="type" introspectable="0" readable="0" private="1"> + <type c:type="GstH265SliceType"/> + </field> + <field name="system_frame_number" readable="0" private="1"> + <type name="guint32" c:type="guint32"/> + </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> + <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> + <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> + <method name="get_user_data" c:identifier="gst_h265_picture_get_user_data"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.c">Gets private data set on the picture via +gst_h265_picture_set_user_data() previously.</doc> + <source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.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/gsth265picture.c">a #GstH265Picture</doc> + <type name="H265Picture" c:type="GstH265Picture*"/> + </instance-parameter> + </parameters> + </method> + <method name="set_user_data" c:identifier="gst_h265_picture_set_user_data"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gsth265picture.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/gsth265picture.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/gsth265picture.c">a #GstH265Picture</doc> + <type name="H265Picture" c:type="GstH265Picture*"/> + </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/gsth265picture.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/gsth265picture.c">a #GDestroyNotify</doc> + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> + </parameter> + </parameters> + </method> + </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="Gst.MiniObject" c:type="GstMiniObject"/> + </field> + <field name="system_frame_number" readable="0" private="1"> + <type name="guint32" c:type="guint32"/> + </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> + <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> + <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> + <method name="get_user_data" c:identifier="gst_mpeg2_picture_get_user_data" version="1.20"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.c">Gets private data set on the picture via +gst_mpeg2_picture_set_user_data() previously.</doc> + <source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.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/gstmpeg2picture.c">a #GstMpeg2Picture</doc> + <type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/> + </instance-parameter> + </parameters> + </method> + <method name="set_user_data" c:identifier="gst_mpeg2_picture_set_user_data" version="1.20"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstmpeg2picture.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/gstmpeg2picture.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/gstmpeg2picture.c">a #GstMpeg2Picture</doc> + <type name="Mpeg2Picture" c:type="GstMpeg2Picture*"/> + </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/gstmpeg2picture.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/gstmpeg2picture.c">a #GDestroyNotify</doc> + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> + </parameter> + </parameters> + </method> + </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="Gst.MiniObject" c:type="GstMiniObject"/> + </field> + <field name="pts" readable="0" private="1"> + <type name="Gst.ClockTime" c:type="GstClockTime"/> + </field> + <field name="system_frame_number" readable="0" private="1"> + <type name="guint32" c:type="guint32"/> + </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> + <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> + <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> + <method name="get_user_data" c:identifier="gst_vp8_picture_get_user_data"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.c">Gets private data set on the picture via +gst_vp8_picture_set_user_data() previously.</doc> + <source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.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/gstvp8picture.c">a #GstVp8Picture</doc> + <type name="Vp8Picture" c:type="GstVp8Picture*"/> + </instance-parameter> + </parameters> + </method> + <method name="set_user_data" c:identifier="gst_vp8_picture_set_user_data"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp8picture.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/gstvp8picture.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/gstvp8picture.c">a #GstVp8Picture</doc> + <type name="Vp8Picture" c:type="GstVp8Picture*"/> + </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/gstvp8picture.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/gstvp8picture.c">a #GDestroyNotify</doc> + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> + </parameter> + </parameters> + </method> + </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="Gst.MiniObject" c:type="GstMiniObject"/> + </field> + <field name="system_frame_number" readable="0" private="1"> + <type name="guint32" c:type="guint32"/> + </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> + <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> + <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> + <method name="get_user_data" c:identifier="gst_vp9_picture_get_user_data"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.c">Gets private data set on the picture via +gst_vp9_picture_set_user_data() previously.</doc> + <source-position filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.h"/> + <return-value transfer-ownership="none" nullable="1"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.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/gstvp9picture.c">a #GstVp9Picture</doc> + <type name="Vp9Picture" c:type="GstVp9Picture*"/> + </instance-parameter> + </parameters> + </method> + <method name="set_user_data" c:identifier="gst_vp9_picture_set_user_data"> + <doc xml:space="preserve" filename="../subprojects/gst-plugins-bad/gst-libs/gst/codecs/gstvp9picture.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/gstvp9picture.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/gstvp9picture.c">a #GstVp9Picture</doc> + <type name="Vp9Picture" c:type="GstVp9Picture*"/> + </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/gstvp9picture.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/gstvp9picture.c">a #GDestroyNotify</doc> + <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/> + </parameter> + </parameters> + </method> + </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> |