mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-23 01:51:06 +00:00
b273c4e8bf
Rerunning it on existing files doesn't perform all whitespace cleanup when nodes are not modified.
15597 lines
779 KiB
XML
15597 lines
779 KiB
XML
<?xml version="1.0"?>
|
|
<!-- 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="GstBase" version="1.0"/>
|
|
<package name="gstreamer-video-1.0"/>
|
|
<c:include name="gst/video/video.h"/>
|
|
<namespace name="GstVideo" version="1.0" shared-library="libgstvideo-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst">
|
|
<constant name="BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META" value="GstBufferPoolOptionVideoAffineTransformation" c:type="GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="BUFFER_POOL_OPTION_VIDEO_ALIGNMENT" value="GstBufferPoolOptionVideoAlignment" c:type="GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT">
|
|
<doc xml:space="preserve">A bufferpool option to enable extra padding. When a bufferpool supports this
|
|
option, gst_buffer_pool_config_set_video_alignment() can be called.
|
|
|
|
When this option is enabled on the bufferpool,
|
|
#GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META" value="GstBufferPoolOptionVideoGLTextureUploadMeta" c:type="GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META" version="1.2.2">
|
|
<doc xml:space="preserve">An option that can be activated on a bufferpool to request gl texture upload
|
|
meta on buffers from the pool.
|
|
|
|
When this option is enabled on the bufferpool,
|
|
@GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="BUFFER_POOL_OPTION_VIDEO_META" value="GstBufferPoolOptionVideoMeta" c:type="GST_BUFFER_POOL_OPTION_VIDEO_META">
|
|
<doc xml:space="preserve">An option that can be activated on bufferpool to request video metadata
|
|
on buffers from the pool.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_FORMAT_INTERLACED" value="format:Interlaced" c:type="GST_CAPS_FEATURE_FORMAT_INTERLACED" version="1.16.">
|
|
<doc xml:space="preserve">Name of the caps feature indicating that the stream is interlaced.
|
|
|
|
Currently it is only used for video with 'interlace-mode=alternate'
|
|
to ensure backwards compatibility for this new mode.
|
|
In this mode each buffer carries a single field of interlaced video.
|
|
@GST_VIDEO_BUFFER_FLAG_TOP_FIELD and @GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD
|
|
indicate whether the buffer carries a top or bottom field. The order of
|
|
buffers/fields in the stream and the timestamps on the buffers indicate the
|
|
temporal order of the fields.
|
|
Top and bottom fields are expected to alternate in this mode.
|
|
The frame rate in the caps still signals the frame rate, so the notional field
|
|
rate will be twice the frame rate from the caps
|
|
(see @GST_VIDEO_INFO_FIELD_RATE_N).</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META" value="meta:GstVideoAffineTransformation" c:type="GST_CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META" value="meta:GstVideoGLTextureUploadMeta" c:type="GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_META_GST_VIDEO_META" value="meta:GstVideoMeta" c:type="GST_CAPS_FEATURE_META_GST_VIDEO_META">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION" value="meta:GstVideoOverlayComposition" c:type="GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="COLOR_BALANCE" c:identifier="GST_COLOR_BALANCE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="COLOR_BALANCE_CHANNEL" c:identifier="GST_COLOR_BALANCE_CHANNEL" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="COLOR_BALANCE_CHANNEL_CLASS" c:identifier="GST_COLOR_BALANCE_CHANNEL_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="COLOR_BALANCE_GET_INTERFACE" c:identifier="GST_COLOR_BALANCE_GET_INTERFACE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="inst">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<interface name="ColorBalance" c:symbol-prefix="color_balance" c:type="GstColorBalance" glib:type-name="GstColorBalance" glib:get-type="gst_color_balance_get_type" glib:type-struct="ColorBalanceInterface">
|
|
<doc xml:space="preserve">This interface is implemented by elements which can perform some color
|
|
balance operation on video frames they process. For example, modifying
|
|
the brightness, contrast, hue or saturation.
|
|
|
|
Example elements are 'xvimagesink' and 'colorbalance'</doc>
|
|
<virtual-method name="get_balance_type" invoker="get_balance_type">
|
|
<doc xml:space="preserve">Get the #GstColorBalanceType of this implementation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A the #GstColorBalanceType.</doc>
|
|
<type name="ColorBalanceType" c:type="GstColorBalanceType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstColorBalance implementation</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_value" invoker="get_value">
|
|
<doc xml:space="preserve">Retrieve the current value of the indicated channel, between min_value
|
|
and max_value.
|
|
|
|
See Also: The #GstColorBalanceChannel.min_value and
|
|
#GstColorBalanceChannel.max_value members of the
|
|
#GstColorBalanceChannel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current value of the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="list_channels" invoker="list_channels">
|
|
<doc xml:space="preserve">Retrieve a list of the available channels.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A
|
|
GList containing pointers to #GstColorBalanceChannel
|
|
objects. The list is owned by the #GstColorBalance
|
|
instance and must not be freed.</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="ColorBalanceChannel"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_value" invoker="set_value">
|
|
<doc xml:space="preserve">Sets the current value of the channel to the passed value, which must
|
|
be between min_value and max_value.
|
|
|
|
See Also: The #GstColorBalanceChannel.min_value and
|
|
#GstColorBalanceChannel.max_value members of the
|
|
#GstColorBalanceChannel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value for the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="value_changed" invoker="value_changed">
|
|
<doc xml:space="preserve">A helper function called by implementations of the GstColorBalance
|
|
interface. It fires the #GstColorBalance::value-changed signal on the
|
|
instance, and the #GstColorBalanceChannel::value-changed signal on the
|
|
channel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel whose value has changed</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value of the channel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_balance_type" c:identifier="gst_color_balance_get_balance_type">
|
|
<doc xml:space="preserve">Get the #GstColorBalanceType of this implementation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A the #GstColorBalanceType.</doc>
|
|
<type name="ColorBalanceType" c:type="GstColorBalanceType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstColorBalance implementation</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_value" c:identifier="gst_color_balance_get_value">
|
|
<doc xml:space="preserve">Retrieve the current value of the indicated channel, between min_value
|
|
and max_value.
|
|
|
|
See Also: The #GstColorBalanceChannel.min_value and
|
|
#GstColorBalanceChannel.max_value members of the
|
|
#GstColorBalanceChannel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current value of the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="list_channels" c:identifier="gst_color_balance_list_channels">
|
|
<doc xml:space="preserve">Retrieve a list of the available channels.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A
|
|
GList containing pointers to #GstColorBalanceChannel
|
|
objects. The list is owned by the #GstColorBalance
|
|
instance and must not be freed.</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="ColorBalanceChannel"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_value" c:identifier="gst_color_balance_set_value">
|
|
<doc xml:space="preserve">Sets the current value of the channel to the passed value, which must
|
|
be between min_value and max_value.
|
|
|
|
See Also: The #GstColorBalanceChannel.min_value and
|
|
#GstColorBalanceChannel.max_value members of the
|
|
#GstColorBalanceChannel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value for the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="value_changed" c:identifier="gst_color_balance_value_changed">
|
|
<doc xml:space="preserve">A helper function called by implementations of the GstColorBalance
|
|
interface. It fires the #GstColorBalance::value-changed signal on the
|
|
instance, and the #GstColorBalanceChannel::value-changed signal on the
|
|
channel object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</instance-parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel whose value has changed</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value of the channel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<glib:signal name="value-changed" when="last">
|
|
<doc xml:space="preserve">Fired when the value of the indicated channel has changed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstColorBalanceChannel</doc>
|
|
<type name="ColorBalanceChannel"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</interface>
|
|
<class name="ColorBalanceChannel" c:symbol-prefix="color_balance_channel" c:type="GstColorBalanceChannel" parent="GObject.Object" glib:type-name="GstColorBalanceChannel" glib:get-type="gst_color_balance_channel_get_type" glib:type-struct="ColorBalanceChannelClass">
|
|
<doc xml:space="preserve">The #GstColorBalanceChannel object represents a parameter
|
|
for modifying the color balance implemented by an element providing the
|
|
#GstColorBalance interface. For example, Hue or Saturation.</doc>
|
|
<virtual-method name="value_changed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="channel" transfer-ownership="none">
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</instance-parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<field name="parent">
|
|
<type name="GObject.Object" c:type="GObject"/>
|
|
</field>
|
|
<field name="label">
|
|
<doc xml:space="preserve">A string containing a descriptive name for this channel</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</field>
|
|
<field name="min_value">
|
|
<doc xml:space="preserve">The minimum valid value for this channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="max_value">
|
|
<doc xml:space="preserve">The maximum valid value for this channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<glib:signal name="value-changed" when="last">
|
|
<doc xml:space="preserve">Fired when the value of the indicated channel has changed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</glib:signal>
|
|
</class>
|
|
<record name="ColorBalanceChannelClass" c:type="GstColorBalanceChannelClass" glib:is-gtype-struct-for="ColorBalanceChannel">
|
|
<doc xml:space="preserve">Color-balance channel class.</doc>
|
|
<field name="parent">
|
|
<doc xml:space="preserve">the parent class</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass"/>
|
|
</field>
|
|
<field name="value_changed">
|
|
<callback name="value_changed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="ColorBalanceInterface" c:type="GstColorBalanceInterface" glib:is-gtype-struct-for="ColorBalance">
|
|
<doc xml:space="preserve">Color-balance interface.</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">the parent interface</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="list_channels">
|
|
<callback name="list_channels">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A
|
|
GList containing pointers to #GstColorBalanceChannel
|
|
objects. The list is owned by the #GstColorBalance
|
|
instance and must not be freed.</doc>
|
|
<type name="GLib.List" c:type="const GList*">
|
|
<type name="ColorBalanceChannel"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_value">
|
|
<callback name="set_value">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value for the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_value">
|
|
<callback name="get_value">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current value of the channel.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel instance</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_balance_type">
|
|
<callback name="get_balance_type">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A the #GstColorBalanceType.</doc>
|
|
<type name="ColorBalanceType" c:type="GstColorBalanceType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstColorBalance implementation</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="value_changed">
|
|
<callback name="value_changed">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="balance" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalance instance</doc>
|
|
<type name="ColorBalance" c:type="GstColorBalance*"/>
|
|
</parameter>
|
|
<parameter name="channel" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstColorBalanceChannel whose value has changed</doc>
|
|
<type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The new value of the channel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<enumeration name="ColorBalanceType" glib:type-name="GstColorBalanceType" glib:get-type="gst_color_balance_type_get_type" c:type="GstColorBalanceType">
|
|
<doc xml:space="preserve">An enumeration indicating whether an element implements color balancing
|
|
operations in software or in dedicated hardware. In general, dedicated
|
|
hardware implementations (such as those provided by xvimagesink) are
|
|
preferred.</doc>
|
|
<member name="hardware" value="0" c:identifier="GST_COLOR_BALANCE_HARDWARE" glib:nick="hardware">
|
|
<doc xml:space="preserve">Color balance is implemented with dedicated
|
|
hardware.</doc>
|
|
</member>
|
|
<member name="software" value="1" c:identifier="GST_COLOR_BALANCE_SOFTWARE" glib:nick="software">
|
|
<doc xml:space="preserve">Color balance is implemented via software
|
|
processing.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="IS_COLOR_BALANCE" c:identifier="GST_IS_COLOR_BALANCE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_COLOR_BALANCE_CHANNEL" c:identifier="GST_IS_COLOR_BALANCE_CHANNEL" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_COLOR_BALANCE_CHANNEL_CLASS" c:identifier="GST_IS_COLOR_BALANCE_CHANNEL_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_NAVIGATION" c:identifier="GST_IS_NAVIGATION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_AGGREGATOR" c:identifier="GST_IS_VIDEO_AGGREGATOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_AGGREGATOR_CLASS" c:identifier="GST_IS_VIDEO_AGGREGATOR_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_AGGREGATOR_CONVERT_PAD" c:identifier="GST_IS_VIDEO_AGGREGATOR_CONVERT_PAD" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_AGGREGATOR_CONVERT_PAD_CLASS" c:identifier="GST_IS_VIDEO_AGGREGATOR_CONVERT_PAD_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_AGGREGATOR_PAD" c:identifier="GST_IS_VIDEO_AGGREGATOR_PAD" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_AGGREGATOR_PAD_CLASS" c:identifier="GST_IS_VIDEO_AGGREGATOR_PAD_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_BUFFER_POOL" c:identifier="GST_IS_VIDEO_BUFFER_POOL" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_DECODER" c:identifier="GST_IS_VIDEO_DECODER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_DECODER_CLASS" c:identifier="GST_IS_VIDEO_DECODER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_DIRECTION" c:identifier="GST_IS_VIDEO_DIRECTION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_ENCODER" c:identifier="GST_IS_VIDEO_ENCODER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_ENCODER_CLASS" c:identifier="GST_IS_VIDEO_ENCODER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_FILTER" c:identifier="GST_IS_VIDEO_FILTER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_FILTER_CLASS" c:identifier="GST_IS_VIDEO_FILTER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_ORIENTATION" c:identifier="GST_IS_VIDEO_ORIENTATION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_OVERLAY" c:identifier="GST_IS_VIDEO_OVERLAY" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_OVERLAY_COMPOSITION" c:identifier="GST_IS_VIDEO_OVERLAY_COMPOSITION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_OVERLAY_RECTANGLE" c:identifier="GST_IS_VIDEO_OVERLAY_RECTANGLE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_SINK" c:identifier="GST_IS_VIDEO_SINK" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="IS_VIDEO_SINK_CLASS" c:identifier="GST_IS_VIDEO_SINK_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="META_TAG_VIDEO_COLORSPACE_STR" value="colorspace" c:type="GST_META_TAG_VIDEO_COLORSPACE_STR" version="1.2">
|
|
<doc xml:space="preserve">This metadata stays relevant as long as video colorspace is unchanged.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_TAG_VIDEO_ORIENTATION_STR" value="orientation" c:type="GST_META_TAG_VIDEO_ORIENTATION_STR" version="1.2">
|
|
<doc xml:space="preserve">This metadata stays relevant as long as video orientation is unchanged.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_TAG_VIDEO_SIZE_STR" value="size" c:type="GST_META_TAG_VIDEO_SIZE_STR" version="1.2">
|
|
<doc xml:space="preserve">This metadata stays relevant as long as video size is unchanged.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="META_TAG_VIDEO_STR" value="video" c:type="GST_META_TAG_VIDEO_STR" version="1.2">
|
|
<doc xml:space="preserve">This metadata is relevant for video streams.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="NAVIGATION" c:identifier="GST_NAVIGATION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="NAVIGATION_GET_INTERFACE" c:identifier="GST_NAVIGATION_GET_INTERFACE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<interface name="Navigation" c:symbol-prefix="navigation" c:type="GstNavigation" glib:type-name="GstNavigation" glib:get-type="gst_navigation_get_type" glib:type-struct="NavigationInterface">
|
|
<doc xml:space="preserve">The Navigation interface is used for creating and injecting navigation related
|
|
events such as mouse button presses, cursor motion and key presses. The associated
|
|
library also provides methods for parsing received events, and for sending and
|
|
receiving navigation related bus events. One main usecase is DVD menu navigation.
|
|
|
|
The main parts of the API are:
|
|
|
|
* The GstNavigation interface, implemented by elements which provide an application
|
|
with the ability to create and inject navigation events into the pipeline.
|
|
* GstNavigation event handling API. GstNavigation events are created in response to
|
|
calls on a GstNavigation interface implementation, and sent in the pipeline. Upstream
|
|
elements can use the navigation event API functions to parse the contents of received
|
|
messages.
|
|
|
|
* GstNavigation message handling API. GstNavigation messages may be sent on the message
|
|
bus to inform applications of navigation related changes in the pipeline, such as the
|
|
mouse moving over a clickable region, or the set of available angles changing.
|
|
|
|
The GstNavigation message functions provide functions for creating and parsing
|
|
custom bus messages for signaling GstNavigation changes.</doc>
|
|
<function name="event_get_type" c:identifier="gst_navigation_event_get_type">
|
|
<doc xml:space="preserve">Inspect a #GstEvent and return the #GstNavigationEventType of the event, or
|
|
#GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="NavigationEventType" c:type="GstNavigationEventType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_command" c:identifier="gst_navigation_event_parse_command">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation command event and retrieve the enum value of the
|
|
associated command.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the navigation command could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="command" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to GstNavigationCommand to receive the
|
|
type of the navigation event.</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_key_event" c:identifier="gst_navigation_event_parse_key_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="key" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a location to receive
|
|
the string identifying the key press. The returned string is owned by the
|
|
event, and valid only until the event is unreffed.</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_mouse_button_event" c:identifier="gst_navigation_event_parse_mouse_button_event">
|
|
<doc xml:space="preserve">Retrieve the details of either a #GstNavigation mouse button press event or
|
|
a mouse button release event. Determine which type the event is using
|
|
gst_navigation_event_get_type() to retrieve the #GstNavigationEventType.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the button number and both coordinates could be extracted,
|
|
otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="button" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gint that will receive the button
|
|
number associated with the event.</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse button event.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse button event.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_mouse_move_event" c:identifier="gst_navigation_event_parse_mouse_move_event">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation mouse movement event and extract the coordinates
|
|
of the event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if both coordinates could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="event_parse_mouse_scroll_event" c:identifier="gst_navigation_event_parse_mouse_scroll_event" version="1.18">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation mouse scroll event and extract the coordinates
|
|
of the event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if all coordinates could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="delta_x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the delta_x coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="delta_y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the delta_y coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_get_type" c:identifier="gst_navigation_message_get_type">
|
|
<doc xml:space="preserve">Check a bus message to see if it is a #GstNavigation event, and return
|
|
the #GstNavigationMessageType identifying the type of the message if so.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the #GstMessage, or
|
|
#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
|
|
notification.</doc>
|
|
<type name="NavigationMessageType" c:type="GstNavigationMessageType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_new_angles_changed" c:identifier="gst_navigation_message_new_angles_changed">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application
|
|
that the current angle, or current number of angles available in a
|
|
multiangle video has changed.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">The currently selected angle.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_angles" transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of viewing angles now available.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_new_commands_changed" c:identifier="gst_navigation_message_new_commands_changed">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_new_event" c:identifier="gst_navigation_message_new_event" version="1.6">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_EVENT.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A navigation #GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_new_mouse_over" c:identifier="gst_navigation_message_new_mouse_over">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_MOUSE_OVER.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the mouse has entered a clickable area of the display.
|
|
%FALSE if it over a non-clickable area.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_parse_angles_changed" c:identifier="gst_navigation_message_parse_angles_changed">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
|
|
and extract the @cur_angle and @n_angles parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a #guint to receive the new
|
|
current angle number, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_angles" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a #guint to receive the new angle
|
|
count, or NULL.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_parse_event" c:identifier="gst_navigation_message_parse_event" version="1.6">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT
|
|
and extract contained #GstEvent. The caller must unref the @event when done
|
|
with it.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="event" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to a #GstEvent to receive
|
|
the contained navigation event.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="message_parse_mouse_over" c:identifier="gst_navigation_message_parse_mouse_over">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER
|
|
and extract the active/inactive flag. If the mouse over event is marked
|
|
active, it indicates that the mouse is over a clickable area.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="active" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a gboolean to receive the
|
|
active/inactive state, or NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_get_type" c:identifier="gst_navigation_query_get_type">
|
|
<doc xml:space="preserve">Inspect a #GstQuery and return the #GstNavigationQueryType associated with
|
|
it if it is a #GstNavigation query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstNavigationQueryType of the query, or
|
|
#GST_NAVIGATION_QUERY_INVALID</doc>
|
|
<type name="NavigationQueryType" c:type="GstNavigationQueryType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to inspect</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_new_angles" c:identifier="gst_navigation_query_new_angles">
|
|
<doc xml:space="preserve">Create a new #GstNavigation angles query. When executed, it will
|
|
query the pipeline for the set of currently available angles, which may be
|
|
greater than one in a multiangle video.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new query.</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="query_new_commands" c:identifier="gst_navigation_query_new_commands">
|
|
<doc xml:space="preserve">Create a new #GstNavigation commands query. When executed, it will
|
|
query the pipeline for the set of currently available commands.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new query.</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="query_parse_angles" c:identifier="gst_navigation_query_parse_angles">
|
|
<doc xml:space="preserve">Parse the current angle number in the #GstNavigation angles @query into the
|
|
#guint pointed to by the @cur_angle variable, and the number of available
|
|
angles into the #guint pointed to by the @n_angles variable.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a #guint into which to store the
|
|
currently selected angle value from the query, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_angles" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a #guint into which to store the
|
|
number of angles value from the query, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_parse_commands_length" c:identifier="gst_navigation_query_parse_commands_length">
|
|
<doc xml:space="preserve">Parse the number of commands in the #GstNavigation commands @query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the number of commands in this query.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_parse_commands_nth" c:identifier="gst_navigation_query_parse_commands_nth">
|
|
<doc xml:space="preserve">Parse the #GstNavigation command query and retrieve the @nth command from
|
|
it into @cmd. If the list contains less elements than @nth, @cmd will be
|
|
set to #GST_NAVIGATION_COMMAND_INVALID.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="nth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the nth command to retrieve.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="cmd" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the nth command into.</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_set_angles" c:identifier="gst_navigation_query_set_angles">
|
|
<doc xml:space="preserve">Set the #GstNavigation angles query result field in @query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">the current viewing angle to set.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_angles" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of viewing angles to set.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_set_commands" c:identifier="gst_navigation_query_set_commands" introspectable="0">
|
|
<doc xml:space="preserve">Set the #GstNavigation command query result fields in @query. The number
|
|
of commands passed must be equal to @n_commands.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of commands to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="..." transfer-ownership="none">
|
|
<doc xml:space="preserve">A list of @GstNavigationCommand values, @n_cmds entries long.</doc>
|
|
<varargs/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="query_set_commandsv" c:identifier="gst_navigation_query_set_commandsv">
|
|
<doc xml:space="preserve">Set the #GstNavigation command query result fields in @query. The number
|
|
of commands passed must be equal to @n_commands.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of commands to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">An array containing @n_cmds
|
|
@GstNavigationCommand values.</doc>
|
|
<array length="1" zero-terminated="0" c:type="GstNavigationCommand*">
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="send_event" invoker="send_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="send_command" c:identifier="gst_navigation_send_command">
|
|
<doc xml:space="preserve">Sends the indicated command to the navigation interface.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<doc xml:space="preserve">The navigation interface instance</doc>
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="command" transfer-ownership="none">
|
|
<doc xml:space="preserve">The command to issue</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_event" c:identifier="gst_navigation_send_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_key_event" c:identifier="gst_navigation_send_key_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<doc xml:space="preserve">The navigation interface instance</doc>
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the key event. Recognised values are "key-press" and
|
|
"key-release"</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="key" transfer-ownership="none">
|
|
<doc xml:space="preserve">Character representation of the key. This is typically as produced
|
|
by XKeysymToString.</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_mouse_event" c:identifier="gst_navigation_send_mouse_event">
|
|
<doc xml:space="preserve">Sends a mouse event to the navigation interface. Mouse event coordinates
|
|
are sent relative to the display space of the related output area. This is
|
|
usually the size in pixels of the window associated with the element
|
|
implementing the #GstNavigation interface.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<doc xml:space="preserve">The navigation interface instance</doc>
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of mouse event, as a text string. Recognised values are
|
|
"mouse-button-press", "mouse-button-release" and "mouse-move".</doc>
|
|
<type name="utf8" c:type="const char*"/>
|
|
</parameter>
|
|
<parameter name="button" transfer-ownership="none">
|
|
<doc xml:space="preserve">The button number of the button being pressed or released. Pass 0
|
|
for mouse-move events.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">The x coordinate of the mouse event.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">The y coordinate of the mouse event.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="send_mouse_scroll_event" c:identifier="gst_navigation_send_mouse_scroll_event" version="1.18">
|
|
<doc xml:space="preserve">Sends a mouse scroll event to the navigation interface. Mouse event coordinates
|
|
are sent relative to the display space of the related output area. This is
|
|
usually the size in pixels of the window associated with the element
|
|
implementing the #GstNavigation interface.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="navigation" transfer-ownership="none">
|
|
<doc xml:space="preserve">The navigation interface instance</doc>
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">The x coordinate of the mouse event.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">The y coordinate of the mouse event.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="delta_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">The delta_x coordinate of the mouse event.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
<parameter name="delta_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">The delta_y coordinate of the mouse event.</doc>
|
|
<type name="gdouble" c:type="double"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<enumeration name="NavigationCommand" glib:type-name="GstNavigationCommand" glib:get-type="gst_navigation_command_get_type" c:type="GstNavigationCommand">
|
|
<doc xml:space="preserve">A set of commands that may be issued to an element providing the
|
|
#GstNavigation interface. The available commands can be queried via
|
|
the gst_navigation_query_new_commands() query.
|
|
|
|
For convenience in handling DVD navigation, the MENU commands are aliased as:
|
|
GST_NAVIGATION_COMMAND_DVD_MENU = @GST_NAVIGATION_COMMAND_MENU1
|
|
GST_NAVIGATION_COMMAND_DVD_TITLE_MENU = @GST_NAVIGATION_COMMAND_MENU2
|
|
GST_NAVIGATION_COMMAND_DVD_ROOT_MENU = @GST_NAVIGATION_COMMAND_MENU3
|
|
GST_NAVIGATION_COMMAND_DVD_SUBPICTURE_MENU = @GST_NAVIGATION_COMMAND_MENU4
|
|
GST_NAVIGATION_COMMAND_DVD_AUDIO_MENU = @GST_NAVIGATION_COMMAND_MENU5
|
|
GST_NAVIGATION_COMMAND_DVD_ANGLE_MENU = @GST_NAVIGATION_COMMAND_MENU6
|
|
GST_NAVIGATION_COMMAND_DVD_CHAPTER_MENU = @GST_NAVIGATION_COMMAND_MENU7</doc>
|
|
<member name="invalid" value="0" c:identifier="GST_NAVIGATION_COMMAND_INVALID" glib:nick="invalid">
|
|
<doc xml:space="preserve">An invalid command entry</doc>
|
|
</member>
|
|
<member name="menu1" value="1" c:identifier="GST_NAVIGATION_COMMAND_MENU1" glib:nick="menu1">
|
|
<doc xml:space="preserve">Execute navigation menu command 1. For DVD,
|
|
this enters the DVD root menu, or exits back to the title from the menu.</doc>
|
|
</member>
|
|
<member name="menu2" value="2" c:identifier="GST_NAVIGATION_COMMAND_MENU2" glib:nick="menu2">
|
|
<doc xml:space="preserve">Execute navigation menu command 2. For DVD,
|
|
this jumps to the DVD title menu.</doc>
|
|
</member>
|
|
<member name="menu3" value="3" c:identifier="GST_NAVIGATION_COMMAND_MENU3" glib:nick="menu3">
|
|
<doc xml:space="preserve">Execute navigation menu command 3. For DVD,
|
|
this jumps into the DVD root menu.</doc>
|
|
</member>
|
|
<member name="menu4" value="4" c:identifier="GST_NAVIGATION_COMMAND_MENU4" glib:nick="menu4">
|
|
<doc xml:space="preserve">Execute navigation menu command 4. For DVD,
|
|
this jumps to the Subpicture menu.</doc>
|
|
</member>
|
|
<member name="menu5" value="5" c:identifier="GST_NAVIGATION_COMMAND_MENU5" glib:nick="menu5">
|
|
<doc xml:space="preserve">Execute navigation menu command 5. For DVD,
|
|
the jumps to the audio menu.</doc>
|
|
</member>
|
|
<member name="menu6" value="6" c:identifier="GST_NAVIGATION_COMMAND_MENU6" glib:nick="menu6">
|
|
<doc xml:space="preserve">Execute navigation menu command 6. For DVD,
|
|
this jumps to the angles menu.</doc>
|
|
</member>
|
|
<member name="menu7" value="7" c:identifier="GST_NAVIGATION_COMMAND_MENU7" glib:nick="menu7">
|
|
<doc xml:space="preserve">Execute navigation menu command 7. For DVD,
|
|
this jumps to the chapter menu.</doc>
|
|
</member>
|
|
<member name="left" value="20" c:identifier="GST_NAVIGATION_COMMAND_LEFT" glib:nick="left">
|
|
<doc xml:space="preserve">Select the next button to the left in a menu,
|
|
if such a button exists.</doc>
|
|
</member>
|
|
<member name="right" value="21" c:identifier="GST_NAVIGATION_COMMAND_RIGHT" glib:nick="right">
|
|
<doc xml:space="preserve">Select the next button to the right in a menu,
|
|
if such a button exists.</doc>
|
|
</member>
|
|
<member name="up" value="22" c:identifier="GST_NAVIGATION_COMMAND_UP" glib:nick="up">
|
|
<doc xml:space="preserve">Select the button above the current one in a
|
|
menu, if such a button exists.</doc>
|
|
</member>
|
|
<member name="down" value="23" c:identifier="GST_NAVIGATION_COMMAND_DOWN" glib:nick="down">
|
|
<doc xml:space="preserve">Select the button below the current one in a
|
|
menu, if such a button exists.</doc>
|
|
</member>
|
|
<member name="activate" value="24" c:identifier="GST_NAVIGATION_COMMAND_ACTIVATE" glib:nick="activate">
|
|
<doc xml:space="preserve">Activate (click) the currently selected
|
|
button in a menu, if such a button exists.</doc>
|
|
</member>
|
|
<member name="prev_angle" value="30" c:identifier="GST_NAVIGATION_COMMAND_PREV_ANGLE" glib:nick="prev-angle">
|
|
<doc xml:space="preserve">Switch to the previous angle in a
|
|
multiangle feature.</doc>
|
|
</member>
|
|
<member name="next_angle" value="31" c:identifier="GST_NAVIGATION_COMMAND_NEXT_ANGLE" glib:nick="next-angle">
|
|
<doc xml:space="preserve">Switch to the next angle in a multiangle
|
|
feature.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="NavigationEventType" glib:type-name="GstNavigationEventType" glib:get-type="gst_navigation_event_type_get_type" c:type="GstNavigationEventType">
|
|
<doc xml:space="preserve">Enum values for the various events that an element implementing the
|
|
GstNavigation interface might send up the pipeline.</doc>
|
|
<member name="invalid" value="0" c:identifier="GST_NAVIGATION_EVENT_INVALID" glib:nick="invalid">
|
|
<doc xml:space="preserve">Returned from
|
|
gst_navigation_event_get_type() when the passed event is not a navigation event.</doc>
|
|
</member>
|
|
<member name="key_press" value="1" c:identifier="GST_NAVIGATION_EVENT_KEY_PRESS" glib:nick="key-press">
|
|
<doc xml:space="preserve">A key press event. Use
|
|
gst_navigation_event_parse_key_event() to extract the details from the event.</doc>
|
|
</member>
|
|
<member name="key_release" value="2" c:identifier="GST_NAVIGATION_EVENT_KEY_RELEASE" glib:nick="key-release">
|
|
<doc xml:space="preserve">A key release event. Use
|
|
gst_navigation_event_parse_key_event() to extract the details from the event.</doc>
|
|
</member>
|
|
<member name="mouse_button_press" value="3" c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS" glib:nick="mouse-button-press">
|
|
<doc xml:space="preserve">A mouse button press event. Use
|
|
gst_navigation_event_parse_mouse_button_event() to extract the details from the
|
|
event.</doc>
|
|
</member>
|
|
<member name="mouse_button_release" value="4" c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE" glib:nick="mouse-button-release">
|
|
<doc xml:space="preserve">A mouse button release event. Use
|
|
gst_navigation_event_parse_mouse_button_event() to extract the details from the
|
|
event.</doc>
|
|
</member>
|
|
<member name="mouse_move" value="5" c:identifier="GST_NAVIGATION_EVENT_MOUSE_MOVE" glib:nick="mouse-move">
|
|
<doc xml:space="preserve">A mouse movement event. Use
|
|
gst_navigation_event_parse_mouse_move_event() to extract the details from the
|
|
event.</doc>
|
|
</member>
|
|
<member name="command" value="6" c:identifier="GST_NAVIGATION_EVENT_COMMAND" glib:nick="command">
|
|
<doc xml:space="preserve">A navigation command event. Use
|
|
gst_navigation_event_parse_command() to extract the details from the event.</doc>
|
|
</member>
|
|
<member name="mouse_scroll" value="7" c:identifier="GST_NAVIGATION_EVENT_MOUSE_SCROLL" glib:nick="mouse-scroll">
|
|
<doc xml:space="preserve">A mouse scroll event. Use
|
|
gst_navigation_event_parse_mouse_scroll_event() to extract the details from
|
|
the event. (Since: 1.18)</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="NavigationInterface" c:type="GstNavigationInterface" glib:is-gtype-struct-for="Navigation">
|
|
<doc xml:space="preserve">Navigation interface.</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">the parent interface</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="send_event">
|
|
<callback name="send_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="navigation" transfer-ownership="none">
|
|
<type name="Navigation" c:type="GstNavigation*"/>
|
|
</parameter>
|
|
<parameter name="structure" transfer-ownership="none">
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<enumeration name="NavigationMessageType" glib:type-name="GstNavigationMessageType" glib:get-type="gst_navigation_message_type_get_type" c:type="GstNavigationMessageType">
|
|
<doc xml:space="preserve">A set of notifications that may be received on the bus when navigation
|
|
related status changes.</doc>
|
|
<member name="invalid" value="0" c:identifier="GST_NAVIGATION_MESSAGE_INVALID" glib:nick="invalid">
|
|
<doc xml:space="preserve">Returned from
|
|
gst_navigation_message_get_type() when the passed message is not a
|
|
navigation message.</doc>
|
|
</member>
|
|
<member name="mouse_over" value="1" c:identifier="GST_NAVIGATION_MESSAGE_MOUSE_OVER" glib:nick="mouse-over">
|
|
<doc xml:space="preserve">Sent when the mouse moves over or leaves a
|
|
clickable region of the output, such as a DVD menu button.</doc>
|
|
</member>
|
|
<member name="commands_changed" value="2" c:identifier="GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED" glib:nick="commands-changed">
|
|
<doc xml:space="preserve">Sent when the set of available commands
|
|
changes and should re-queried by interested applications.</doc>
|
|
</member>
|
|
<member name="angles_changed" value="3" c:identifier="GST_NAVIGATION_MESSAGE_ANGLES_CHANGED" glib:nick="angles-changed">
|
|
<doc xml:space="preserve">Sent when display angles in a multi-angle
|
|
feature (such as a multiangle DVD) change - either angles have appeared or
|
|
disappeared.</doc>
|
|
</member>
|
|
<member name="event" value="4" c:identifier="GST_NAVIGATION_MESSAGE_EVENT" glib:nick="event">
|
|
<doc xml:space="preserve">Sent when a navigation event was not handled
|
|
by any element in the pipeline (Since: 1.6)</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="NavigationQueryType" glib:type-name="GstNavigationQueryType" glib:get-type="gst_navigation_query_type_get_type" c:type="GstNavigationQueryType">
|
|
<doc xml:space="preserve">Types of navigation interface queries.</doc>
|
|
<member name="invalid" value="0" c:identifier="GST_NAVIGATION_QUERY_INVALID" glib:nick="invalid">
|
|
<doc xml:space="preserve">invalid query</doc>
|
|
</member>
|
|
<member name="commands" value="1" c:identifier="GST_NAVIGATION_QUERY_COMMANDS" glib:nick="commands">
|
|
<doc xml:space="preserve">command query</doc>
|
|
</member>
|
|
<member name="angles" value="2" c:identifier="GST_NAVIGATION_QUERY_ANGLES" glib:nick="angles">
|
|
<doc xml:space="preserve">viewing angle query</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function-macro name="VIDEO_AGGREGATOR" c:identifier="GST_VIDEO_AGGREGATOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_CAST" c:identifier="GST_VIDEO_AGGREGATOR_CAST" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_CLASS" c:identifier="GST_VIDEO_AGGREGATOR_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_CONVERT_PAD" c:identifier="GST_VIDEO_AGGREGATOR_CONVERT_PAD" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_CONVERT_PAD_CLASS" c:identifier="GST_VIDEO_AGGREGATOR_CONVERT_PAD_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_CONVERT_PAD_GET_CLASS" c:identifier="GST_VIDEO_AGGREGATOR_CONVERT_PAD_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_GET_CLASS" c:identifier="GST_VIDEO_AGGREGATOR_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_PAD" c:identifier="GST_VIDEO_AGGREGATOR_PAD" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_PAD_CAST" c:identifier="GST_VIDEO_AGGREGATOR_PAD_CAST" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_PAD_CLASS" c:identifier="GST_VIDEO_AGGREGATOR_PAD_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_AGGREGATOR_PAD_GET_CLASS" c:identifier="GST_VIDEO_AGGREGATOR_PAD_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ANCILLARY_DID16" c:identifier="GST_VIDEO_ANCILLARY_DID16" version="1.16" introspectable="0">
|
|
<doc xml:space="preserve">Returns the #GstVideoAncillaryDID16 of the ancillary data.</doc>
|
|
<parameters>
|
|
<parameter name="anc">
|
|
<doc xml:space="preserve">a #GstVideoAncillary</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_BUFFER_IS_BOTTOM_FIELD" c:identifier="GST_VIDEO_BUFFER_IS_BOTTOM_FIELD" introspectable="0">
|
|
<doc xml:space="preserve">Check if GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD is set on @buf (Since: 1.18).</doc>
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_BUFFER_IS_TOP_FIELD" c:identifier="GST_VIDEO_BUFFER_IS_TOP_FIELD" introspectable="0">
|
|
<doc xml:space="preserve">Check if GST_VIDEO_BUFFER_FLAG_TOP_FIELD is set on @buf (Since: 1.18).</doc>
|
|
<parameters>
|
|
<parameter name="buf">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_BUFFER_POOL" c:identifier="GST_VIDEO_BUFFER_POOL" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_BUFFER_POOL_CAST" c:identifier="GST_VIDEO_BUFFER_POOL_CAST" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CAPS_MAKE" c:identifier="GST_VIDEO_CAPS_MAKE" introspectable="0">
|
|
<doc xml:space="preserve">Generic caps string for video, for use in pad templates.</doc>
|
|
<parameters>
|
|
<parameter name="format">
|
|
<doc xml:space="preserve">string format that describes the pixel layout, as string
|
|
(e.g. "I420", "RGB", "YV12", "YUY2", "AYUV", etc.)</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CAPS_MAKE_WITH_FEATURES" c:identifier="GST_VIDEO_CAPS_MAKE_WITH_FEATURES" version="1.2" introspectable="0">
|
|
<doc xml:space="preserve">Generic caps string for video, for use in pad templates.</doc>
|
|
<parameters>
|
|
<parameter name="features">
|
|
<doc xml:space="preserve">Requires caps features as a string, e.g.
|
|
"memory:SystemMemory".</doc>
|
|
</parameter>
|
|
<parameter name="format">
|
|
<doc xml:space="preserve">string format that describes the pixel layout, as string
|
|
(e.g. "I420", "RGB", "YV12", "YUY2", "AYUV", etc.)</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_FLAGS" c:identifier="GST_VIDEO_CODEC_FRAME_FLAGS" introspectable="0">
|
|
<doc xml:space="preserve">The entire set of flags for the @frame</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_FLAG_IS_SET" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_IS_SET" introspectable="0">
|
|
<doc xml:space="preserve">Checks whether the given @flag is set</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">a flag to check for</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_FLAG_SET" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_SET" introspectable="0">
|
|
<doc xml:space="preserve">This macro sets the given bits</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">Flag to set, can be any number of bits in guint32.</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_FLAG_UNSET" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_UNSET" introspectable="0">
|
|
<doc xml:space="preserve">This macro usets the given bits.</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
<parameter name="flag">
|
|
<doc xml:space="preserve">Flag to unset</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_IS_DECODE_ONLY" c:identifier="GST_VIDEO_CODEC_FRAME_IS_DECODE_ONLY" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the buffer should only be decoded but not sent downstream.</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME" c:identifier="GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the frame must be encoded as a keyframe. Applies only to
|
|
frames provided to encoders. Decoders can safely ignore this field.</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME_HEADERS" c:identifier="GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME_HEADERS" introspectable="0">
|
|
<doc xml:space="preserve">Tests if encoder should output stream headers before outputting the
|
|
resulting encoded buffer for the given frame.
|
|
|
|
Applies only to frames provided to encoders. Decoders can safely
|
|
ignore this field.</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_IS_SYNC_POINT" c:identifier="GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT" introspectable="0">
|
|
<doc xml:space="preserve">Tests if the frame is a synchronization point (like a keyframe).
|
|
|
|
Decoder implementations can use this to detect keyframes.</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_SET_DECODE_ONLY" c:identifier="GST_VIDEO_CODEC_FRAME_SET_DECODE_ONLY" introspectable="0">
|
|
<doc xml:space="preserve">Sets the buffer to not be sent downstream.
|
|
|
|
Decoder implementation can use this if they have frames that
|
|
are not meant to be displayed.
|
|
|
|
Encoder implementation can safely ignore this field.</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME" c:identifier="GST_VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME" introspectable="0">
|
|
<parameters>
|
|
<parameter name="frame">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME_HEADERS" c:identifier="GST_VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME_HEADERS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="frame">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_SET_SYNC_POINT" c:identifier="GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT" introspectable="0">
|
|
<doc xml:space="preserve">Sets the frame to be a synchronization point (like a keyframe).
|
|
|
|
Encoder implementations should set this accordingly.
|
|
|
|
Decoder implementing parsing features should set this when they
|
|
detect such a synchronization point.</doc>
|
|
<parameters>
|
|
<parameter name="frame">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_UNSET_FORCE_KEYFRAME" c:identifier="GST_VIDEO_CODEC_FRAME_UNSET_FORCE_KEYFRAME" introspectable="0">
|
|
<parameters>
|
|
<parameter name="frame">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_UNSET_FORCE_KEYFRAME_HEADERS" c:identifier="GST_VIDEO_CODEC_FRAME_UNSET_FORCE_KEYFRAME_HEADERS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="frame">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_CODEC_FRAME_UNSET_SYNC_POINT" c:identifier="GST_VIDEO_CODEC_FRAME_UNSET_SYNC_POINT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="frame">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_COLORIMETRY_BT2020" value="bt2020" c:type="GST_VIDEO_COLORIMETRY_BT2020">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_BT2020_10" value="bt2020-10" c:type="GST_VIDEO_COLORIMETRY_BT2020_10">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_BT2100_HLG" value="bt2100-hlg" c:type="GST_VIDEO_COLORIMETRY_BT2100_HLG">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_BT2100_PQ" value="bt2100-pq" c:type="GST_VIDEO_COLORIMETRY_BT2100_PQ">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_BT601" value="bt601" c:type="GST_VIDEO_COLORIMETRY_BT601">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_BT709" value="bt709" c:type="GST_VIDEO_COLORIMETRY_BT709">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_SMPTE240M" value="smpte240m" c:type="GST_VIDEO_COLORIMETRY_SMPTE240M">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COLORIMETRY_SRGB" value="sRGB" c:type="GST_VIDEO_COLORIMETRY_SRGB">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_A" value="3" c:type="GST_VIDEO_COMP_A">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_B" value="2" c:type="GST_VIDEO_COMP_B">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_G" value="1" c:type="GST_VIDEO_COMP_G">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_INDEX" value="0" c:type="GST_VIDEO_COMP_INDEX">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_PALETTE" value="1" c:type="GST_VIDEO_COMP_PALETTE">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_R" value="0" c:type="GST_VIDEO_COMP_R">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_U" value="1" c:type="GST_VIDEO_COMP_U">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_V" value="2" c:type="GST_VIDEO_COMP_V">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_COMP_Y" value="0" c:type="GST_VIDEO_COMP_Y">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_ALPHA_MODE" value="GstVideoConverter.alpha-mode" c:type="GST_VIDEO_CONVERTER_OPT_ALPHA_MODE">
|
|
<doc xml:space="preserve">#GstVideoAlphaMode, the alpha mode to use.
|
|
Default is #GST_VIDEO_ALPHA_MODE_COPY.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_ALPHA_VALUE" value="GstVideoConverter.alpha-value" c:type="GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE">
|
|
<doc xml:space="preserve">#G_TYPE_DOUBLE, the alpha color value to use.
|
|
Default to 1.0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_BORDER_ARGB" value="GstVideoConverter.border-argb" c:type="GST_VIDEO_CONVERTER_OPT_BORDER_ARGB">
|
|
<doc xml:space="preserve">#G_TYPE_UINT, the border color to use if #GST_VIDEO_CONVERTER_OPT_FILL_BORDER
|
|
is set to %TRUE. The color is in ARGB format.
|
|
Default 0xff000000</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_CHROMA_MODE" value="GstVideoConverter.chroma-mode" c:type="GST_VIDEO_CONVERTER_OPT_CHROMA_MODE">
|
|
<doc xml:space="preserve">#GstVideoChromaMode, set the chroma resample mode subsampled
|
|
formats. Default is #GST_VIDEO_CHROMA_MODE_FULL.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD" value="GstVideoConverter.chroma-resampler-method" c:type="GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD">
|
|
<doc xml:space="preserve">#GstVideoChromaMethod, The resampler method to use for
|
|
chroma resampling. Other options for the resampler can be used, see
|
|
the #GstVideoResampler. Default is #GST_VIDEO_RESAMPLER_METHOD_LINEAR</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DEST_HEIGHT" value="GstVideoConverter.dest-height" c:type="GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT">
|
|
<doc xml:space="preserve">#G_TYPE_INT, height in the destination frame, default destination height</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DEST_WIDTH" value="GstVideoConverter.dest-width" c:type="GST_VIDEO_CONVERTER_OPT_DEST_WIDTH">
|
|
<doc xml:space="preserve">#G_TYPE_INT, width in the destination frame, default destination width</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DEST_X" value="GstVideoConverter.dest-x" c:type="GST_VIDEO_CONVERTER_OPT_DEST_X">
|
|
<doc xml:space="preserve">#G_TYPE_INT, x position in the destination frame, default 0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DEST_Y" value="GstVideoConverter.dest-y" c:type="GST_VIDEO_CONVERTER_OPT_DEST_Y">
|
|
<doc xml:space="preserve">#G_TYPE_INT, y position in the destination frame, default 0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DITHER_METHOD" value="GstVideoConverter.dither-method" c:type="GST_VIDEO_CONVERTER_OPT_DITHER_METHOD">
|
|
<doc xml:space="preserve">#GstVideoDitherMethod, The dither method to use when
|
|
changing bit depth.
|
|
Default is #GST_VIDEO_DITHER_BAYER.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION" value="GstVideoConverter.dither-quantization" c:type="GST_VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION">
|
|
<doc xml:space="preserve">#G_TYPE_UINT, The quantization amount to dither to. Components will be
|
|
quantized to multiples of this value.
|
|
Default is 1</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_FILL_BORDER" value="GstVideoConverter.fill-border" c:type="GST_VIDEO_CONVERTER_OPT_FILL_BORDER">
|
|
<doc xml:space="preserve">#G_TYPE_BOOLEAN, if the destination rectangle does not fill the complete
|
|
destination image, render a border with
|
|
#GST_VIDEO_CONVERTER_OPT_BORDER_ARGB. Otherwise the unusded pixels in the
|
|
destination are untouched. Default %TRUE.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_GAMMA_MODE" value="GstVideoConverter.gamma-mode" c:type="GST_VIDEO_CONVERTER_OPT_GAMMA_MODE">
|
|
<doc xml:space="preserve">#GstVideoGammaMode, set the gamma mode.
|
|
Default is #GST_VIDEO_GAMMA_MODE_NONE.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_MATRIX_MODE" value="GstVideoConverter.matrix-mode" c:type="GST_VIDEO_CONVERTER_OPT_MATRIX_MODE">
|
|
<doc xml:space="preserve">#GstVideoMatrixMode, set the color matrix conversion mode for
|
|
converting between Y'PbPr and non-linear RGB (R'G'B').
|
|
Default is #GST_VIDEO_MATRIX_MODE_FULL.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_PRIMARIES_MODE" value="GstVideoConverter.primaries-mode" c:type="GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE">
|
|
<doc xml:space="preserve">#GstVideoPrimariesMode, set the primaries conversion mode.
|
|
Default is #GST_VIDEO_PRIMARIES_MODE_NONE.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_RESAMPLER_METHOD" value="GstVideoConverter.resampler-method" c:type="GST_VIDEO_CONVERTER_OPT_RESAMPLER_METHOD">
|
|
<doc xml:space="preserve">#GstVideoResamplerMethod, The resampler method to use for
|
|
resampling. Other options for the resampler can be used, see
|
|
the #GstVideoResampler. Default is #GST_VIDEO_RESAMPLER_METHOD_CUBIC</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_RESAMPLER_TAPS" value="GstVideoConverter.resampler-taps" c:type="GST_VIDEO_CONVERTER_OPT_RESAMPLER_TAPS">
|
|
<doc xml:space="preserve">#G_TYPE_UINT, The number of taps for the resampler.
|
|
Default is 0: let the resampler choose a good value.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_SRC_HEIGHT" value="GstVideoConverter.src-height" c:type="GST_VIDEO_CONVERTER_OPT_SRC_HEIGHT">
|
|
<doc xml:space="preserve">#G_TYPE_INT, source height to convert, default source height</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_SRC_WIDTH" value="GstVideoConverter.src-width" c:type="GST_VIDEO_CONVERTER_OPT_SRC_WIDTH">
|
|
<doc xml:space="preserve">#G_TYPE_INT, source width to convert, default source width</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_SRC_X" value="GstVideoConverter.src-x" c:type="GST_VIDEO_CONVERTER_OPT_SRC_X">
|
|
<doc xml:space="preserve">#G_TYPE_INT, source x position to start conversion, default 0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_SRC_Y" value="GstVideoConverter.src-y" c:type="GST_VIDEO_CONVERTER_OPT_SRC_Y">
|
|
<doc xml:space="preserve">#G_TYPE_INT, source y position to start conversion, default 0</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_CONVERTER_OPT_THREADS" value="GstVideoConverter.threads" c:type="GST_VIDEO_CONVERTER_OPT_THREADS">
|
|
<doc xml:space="preserve">#G_TYPE_UINT, maximum number of threads to use. Default 1, 0 for the number
|
|
of cores.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_DECODER" c:identifier="GST_VIDEO_DECODER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DECODER_CAST" c:identifier="GST_VIDEO_DECODER_CAST" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DECODER_CLASS" c:identifier="GST_VIDEO_DECODER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DECODER_ERROR" c:identifier="GST_VIDEO_DECODER_ERROR" introspectable="0">
|
|
<doc xml:space="preserve">Utility function that video decoder elements can use in case they encountered
|
|
a data processing error that may be fatal for the current "data unit" but
|
|
need not prevent subsequent decoding. Such errors are counted and if there
|
|
are too many, as configured in the context's max_errors, the pipeline will
|
|
post an error message and the application will be requested to stop further
|
|
media processing. Otherwise, it is considered a "glitch" and only a warning
|
|
is logged. In either case, @ret is set to the proper value to
|
|
return to upstream/caller (indicating either GST_FLOW_ERROR or GST_FLOW_OK).</doc>
|
|
<parameters>
|
|
<parameter name="el">
|
|
<doc xml:space="preserve">the base video decoder element that generates the error</doc>
|
|
</parameter>
|
|
<parameter name="w">
|
|
<doc xml:space="preserve">element defined weight of the error, added to error count</doc>
|
|
</parameter>
|
|
<parameter name="domain">
|
|
<doc xml:space="preserve">like CORE, LIBRARY, RESOURCE or STREAM (see #gstreamer-GstGError)</doc>
|
|
</parameter>
|
|
<parameter name="code">
|
|
<doc xml:space="preserve">error code defined for that domain (see #gstreamer-GstGError)</doc>
|
|
</parameter>
|
|
<parameter name="text">
|
|
<doc xml:space="preserve">the message to display (format string and args enclosed in
|
|
parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="debug">
|
|
<doc xml:space="preserve">debugging information for the message (format string and args
|
|
enclosed in parentheses)</doc>
|
|
</parameter>
|
|
<parameter name="ret">
|
|
<doc xml:space="preserve">variable to receive return value</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DECODER_GET_CLASS" c:identifier="GST_VIDEO_DECODER_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DECODER_INPUT_SEGMENT" c:identifier="GST_VIDEO_DECODER_INPUT_SEGMENT" introspectable="0">
|
|
<doc xml:space="preserve">Gives the segment of the element.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">base decoder instance</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_DECODER_MAX_ERRORS" value="10" c:type="GST_VIDEO_DECODER_MAX_ERRORS">
|
|
<doc xml:space="preserve">Default maximum number of errors tolerated before signaling error.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_DECODER_OUTPUT_SEGMENT" c:identifier="GST_VIDEO_DECODER_OUTPUT_SEGMENT" introspectable="0">
|
|
<doc xml:space="preserve">Gives the segment of the element.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">base decoder instance</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_DECODER_SINK_NAME" value="sink" c:type="GST_VIDEO_DECODER_SINK_NAME">
|
|
<doc xml:space="preserve">The name of the templates for the sink pad.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_DECODER_SINK_PAD" c:identifier="GST_VIDEO_DECODER_SINK_PAD" introspectable="0">
|
|
<doc xml:space="preserve">Gives the pointer to the sink #GstPad object of the element.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_DECODER_SRC_NAME" value="src" c:type="GST_VIDEO_DECODER_SRC_NAME">
|
|
<doc xml:space="preserve">The name of the templates for the source pad.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_DECODER_SRC_PAD" c:identifier="GST_VIDEO_DECODER_SRC_PAD" introspectable="0">
|
|
<doc xml:space="preserve">Gives the pointer to the source #GstPad object of the element.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DECODER_STREAM_LOCK" c:identifier="GST_VIDEO_DECODER_STREAM_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">Obtain a lock to protect the decoder function from concurrent access.</doc>
|
|
<parameters>
|
|
<parameter name="decoder">
|
|
<doc xml:space="preserve">video decoder instance</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DECODER_STREAM_UNLOCK" c:identifier="GST_VIDEO_DECODER_STREAM_UNLOCK" introspectable="0">
|
|
<doc xml:space="preserve">Release the lock that protects the decoder function from concurrent access.</doc>
|
|
<parameters>
|
|
<parameter name="decoder">
|
|
<doc xml:space="preserve">video decoder instance</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DEPRECATED_FOR" c:identifier="GST_VIDEO_DEPRECATED_FOR" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DIRECTION" c:identifier="GST_VIDEO_DIRECTION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_DIRECTION_GET_INTERFACE" c:identifier="GST_VIDEO_DIRECTION_GET_INTERFACE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="inst">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ENCODER" c:identifier="GST_VIDEO_ENCODER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ENCODER_CAST" c:identifier="GST_VIDEO_ENCODER_CAST" introspectable="0">
|
|
<parameters>
|
|
<parameter name="enc">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ENCODER_CLASS" c:identifier="GST_VIDEO_ENCODER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ENCODER_GET_CLASS" c:identifier="GST_VIDEO_ENCODER_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ENCODER_INPUT_SEGMENT" c:identifier="GST_VIDEO_ENCODER_INPUT_SEGMENT" introspectable="0">
|
|
<doc xml:space="preserve">Gives the segment of the element.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">base parse instance</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ENCODER_OUTPUT_SEGMENT" c:identifier="GST_VIDEO_ENCODER_OUTPUT_SEGMENT" introspectable="0">
|
|
<doc xml:space="preserve">Gives the segment of the element.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">base parse instance</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_ENCODER_SINK_NAME" value="sink" c:type="GST_VIDEO_ENCODER_SINK_NAME">
|
|
<doc xml:space="preserve">The name of the templates for the sink pad.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_ENCODER_SINK_PAD" c:identifier="GST_VIDEO_ENCODER_SINK_PAD" introspectable="0">
|
|
<doc xml:space="preserve">Gives the pointer to the sink #GstPad object of the element.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_ENCODER_SRC_NAME" value="src" c:type="GST_VIDEO_ENCODER_SRC_NAME">
|
|
<doc xml:space="preserve">The name of the templates for the source pad.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_ENCODER_SRC_PAD" c:identifier="GST_VIDEO_ENCODER_SRC_PAD" introspectable="0">
|
|
<doc xml:space="preserve">Gives the pointer to the source #GstPad object of the element.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ENCODER_STREAM_LOCK" c:identifier="GST_VIDEO_ENCODER_STREAM_LOCK" introspectable="0">
|
|
<doc xml:space="preserve">Obtain a lock to protect the encoder function from concurrent access.</doc>
|
|
<parameters>
|
|
<parameter name="encoder">
|
|
<doc xml:space="preserve">video encoder instance</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ENCODER_STREAM_UNLOCK" c:identifier="GST_VIDEO_ENCODER_STREAM_UNLOCK" introspectable="0">
|
|
<doc xml:space="preserve">Release the lock that protects the encoder function from concurrent access.</doc>
|
|
<parameters>
|
|
<parameter name="encoder">
|
|
<doc xml:space="preserve">video encoder instance</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FILTER" c:identifier="GST_VIDEO_FILTER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FILTER_CAST" c:identifier="GST_VIDEO_FILTER_CAST" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FILTER_CLASS" c:identifier="GST_VIDEO_FILTER_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FILTER_GET_CLASS" c:identifier="GST_VIDEO_FILTER_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_FORMATS_ALL" value="{ AYUV64, ARGB64, GBRA_12BE, GBRA_12LE, Y412_BE, Y412_LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, RGB10A2_LE, BGR10A2_LE, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16BE, Y444_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, v210, UYVP, I420_10BE, I420_10LE, P010_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, NV12_4L4, NV12_32L32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8 }" c:type="GST_VIDEO_FORMATS_ALL">
|
|
<doc xml:space="preserve">List of all video formats, for use in template caps strings.
|
|
|
|
Formats are sorted by decreasing "quality", using these criteria by priority:
|
|
- number of components
|
|
- depth
|
|
- subsampling factor of the width
|
|
- subsampling factor of the height
|
|
- number of planes
|
|
- native endianness preferred
|
|
- pixel stride
|
|
- poffset
|
|
- prefer non-complex formats
|
|
- prefer YUV formats over RGB ones
|
|
- prefer I420 over YV12
|
|
- format name</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_FORMAT_INFO_BITS" c:identifier="GST_VIDEO_FORMAT_INFO_BITS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_DATA" c:identifier="GST_VIDEO_FORMAT_INFO_DATA" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="planes">
|
|
</parameter>
|
|
<parameter name="comp">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_DEPTH" c:identifier="GST_VIDEO_FORMAT_INFO_DEPTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_FLAGS" c:identifier="GST_VIDEO_FORMAT_INFO_FLAGS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_FORMAT" c:identifier="GST_VIDEO_FORMAT_INFO_FORMAT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_HAS_ALPHA" c:identifier="GST_VIDEO_FORMAT_INFO_HAS_ALPHA" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_HAS_PALETTE" c:identifier="GST_VIDEO_FORMAT_INFO_HAS_PALETTE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_H_SUB" c:identifier="GST_VIDEO_FORMAT_INFO_H_SUB" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_IS_COMPLEX" c:identifier="GST_VIDEO_FORMAT_INFO_IS_COMPLEX" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_IS_GRAY" c:identifier="GST_VIDEO_FORMAT_INFO_IS_GRAY" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_IS_LE" c:identifier="GST_VIDEO_FORMAT_INFO_IS_LE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_IS_RGB" c:identifier="GST_VIDEO_FORMAT_INFO_IS_RGB" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_IS_TILED" c:identifier="GST_VIDEO_FORMAT_INFO_IS_TILED" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_IS_YUV" c:identifier="GST_VIDEO_FORMAT_INFO_IS_YUV" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_NAME" c:identifier="GST_VIDEO_FORMAT_INFO_NAME" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_N_COMPONENTS" c:identifier="GST_VIDEO_FORMAT_INFO_N_COMPONENTS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_N_PLANES" c:identifier="GST_VIDEO_FORMAT_INFO_N_PLANES" introspectable="0">
|
|
<doc xml:space="preserve">Number of planes. This is the number of planes the pixel layout is
|
|
organized in in memory. The number of planes can be less than the
|
|
number of components (e.g. Y,U,V,A or R, G, B, A) when multiple
|
|
components are packed into one plane.
|
|
|
|
Examples: RGB/RGBx/RGBA: 1 plane, 3/3/4 components;
|
|
I420: 3 planes, 3 components; NV21/NV12: 2 planes, 3 components.</doc>
|
|
<parameters>
|
|
<parameter name="info">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_OFFSET" c:identifier="GST_VIDEO_FORMAT_INFO_OFFSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="offsets">
|
|
</parameter>
|
|
<parameter name="comp">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_PLANE" c:identifier="GST_VIDEO_FORMAT_INFO_PLANE" introspectable="0">
|
|
<doc xml:space="preserve">Plane number where the given component can be found. A plane may
|
|
contain data for multiple components.</doc>
|
|
<parameters>
|
|
<parameter name="info">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
</parameter>
|
|
<parameter name="c">
|
|
<doc xml:space="preserve">the component index</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_POFFSET" c:identifier="GST_VIDEO_FORMAT_INFO_POFFSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_PSTRIDE" c:identifier="GST_VIDEO_FORMAT_INFO_PSTRIDE" introspectable="0">
|
|
<doc xml:space="preserve">pixel stride for the given component. This is the amount of bytes to the
|
|
pixel immediately to the right, so basically bytes from one pixel to the
|
|
next. When bits < 8, the stride is expressed in bits.
|
|
|
|
Examples: for 24-bit RGB, the pixel stride would be 3 bytes, while it
|
|
would be 4 bytes for RGBx or ARGB, and 8 bytes for ARGB64 or AYUV64.
|
|
For planar formats such as I420 the pixel stride is usually 1. For
|
|
YUY2 it would be 2 bytes.</doc>
|
|
<parameters>
|
|
<parameter name="info">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
</parameter>
|
|
<parameter name="c">
|
|
<doc xml:space="preserve">the component index</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_SCALE_HEIGHT" c:identifier="GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
<parameter name="h">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_SCALE_WIDTH" c:identifier="GST_VIDEO_FORMAT_INFO_SCALE_WIDTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
<parameter name="w">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_SHIFT" c:identifier="GST_VIDEO_FORMAT_INFO_SHIFT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_STRIDE" c:identifier="GST_VIDEO_FORMAT_INFO_STRIDE" introspectable="0">
|
|
<doc xml:space="preserve">Row stride in bytes, that is number of bytes from the first pixel component
|
|
of a row to the first pixel component in the next row. This might include
|
|
some row padding (memory not actually used for anything, to make sure the
|
|
beginning of the next row is aligned in a particular way).</doc>
|
|
<parameters>
|
|
<parameter name="info">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
</parameter>
|
|
<parameter name="strides">
|
|
<doc xml:space="preserve">an array of strides</doc>
|
|
</parameter>
|
|
<parameter name="comp">
|
|
<doc xml:space="preserve">the component index</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_TILE_HS" c:identifier="GST_VIDEO_FORMAT_INFO_TILE_HS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_TILE_MODE" c:identifier="GST_VIDEO_FORMAT_INFO_TILE_MODE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_TILE_WS" c:identifier="GST_VIDEO_FORMAT_INFO_TILE_WS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FORMAT_INFO_W_SUB" c:identifier="GST_VIDEO_FORMAT_INFO_W_SUB" introspectable="0">
|
|
<parameters>
|
|
<parameter name="info">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_FPS_RANGE" value="(fraction) [ 0, max ]" c:type="GST_VIDEO_FPS_RANGE">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_FRAME_COMP_DATA" c:identifier="GST_VIDEO_FRAME_COMP_DATA" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_COMP_DEPTH" c:identifier="GST_VIDEO_FRAME_COMP_DEPTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_COMP_HEIGHT" c:identifier="GST_VIDEO_FRAME_COMP_HEIGHT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_COMP_OFFSET" c:identifier="GST_VIDEO_FRAME_COMP_OFFSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_COMP_PLANE" c:identifier="GST_VIDEO_FRAME_COMP_PLANE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_COMP_POFFSET" c:identifier="GST_VIDEO_FRAME_COMP_POFFSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_COMP_PSTRIDE" c:identifier="GST_VIDEO_FRAME_COMP_PSTRIDE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_COMP_STRIDE" c:identifier="GST_VIDEO_FRAME_COMP_STRIDE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_COMP_WIDTH" c:identifier="GST_VIDEO_FRAME_COMP_WIDTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_FLAGS" c:identifier="GST_VIDEO_FRAME_FLAGS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_FLAG_IS_SET" c:identifier="GST_VIDEO_FRAME_FLAG_IS_SET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="fl">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_FORMAT" c:identifier="GST_VIDEO_FRAME_FORMAT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_HEIGHT" c:identifier="GST_VIDEO_FRAME_HEIGHT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_IS_BOTTOM_FIELD" c:identifier="GST_VIDEO_FRAME_IS_BOTTOM_FIELD" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_IS_INTERLACED" c:identifier="GST_VIDEO_FRAME_IS_INTERLACED" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_IS_ONEFIELD" c:identifier="GST_VIDEO_FRAME_IS_ONEFIELD" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_IS_RFF" c:identifier="GST_VIDEO_FRAME_IS_RFF" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_IS_TFF" c:identifier="GST_VIDEO_FRAME_IS_TFF" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_IS_TOP_FIELD" c:identifier="GST_VIDEO_FRAME_IS_TOP_FIELD" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_N_COMPONENTS" c:identifier="GST_VIDEO_FRAME_N_COMPONENTS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_N_PLANES" c:identifier="GST_VIDEO_FRAME_N_PLANES" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_PLANE_DATA" c:identifier="GST_VIDEO_FRAME_PLANE_DATA" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="p">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_PLANE_OFFSET" c:identifier="GST_VIDEO_FRAME_PLANE_OFFSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="p">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_PLANE_STRIDE" c:identifier="GST_VIDEO_FRAME_PLANE_STRIDE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
<parameter name="p">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_SIZE" c:identifier="GST_VIDEO_FRAME_SIZE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_FRAME_WIDTH" c:identifier="GST_VIDEO_FRAME_WIDTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="f">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_CHROMA_SITE" c:identifier="GST_VIDEO_INFO_CHROMA_SITE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COLORIMETRY" c:identifier="GST_VIDEO_INFO_COLORIMETRY" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_DATA" c:identifier="GST_VIDEO_INFO_COMP_DATA" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="d">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_DEPTH" c:identifier="GST_VIDEO_INFO_COMP_DEPTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_HEIGHT" c:identifier="GST_VIDEO_INFO_COMP_HEIGHT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_OFFSET" c:identifier="GST_VIDEO_INFO_COMP_OFFSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_PLANE" c:identifier="GST_VIDEO_INFO_COMP_PLANE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_POFFSET" c:identifier="GST_VIDEO_INFO_COMP_POFFSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_PSTRIDE" c:identifier="GST_VIDEO_INFO_COMP_PSTRIDE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_STRIDE" c:identifier="GST_VIDEO_INFO_COMP_STRIDE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_COMP_WIDTH" c:identifier="GST_VIDEO_INFO_COMP_WIDTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="c">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FIELD_HEIGHT" c:identifier="GST_VIDEO_INFO_FIELD_HEIGHT" version="1.16." introspectable="0">
|
|
<doc xml:space="preserve">The height of a field. It's the height of the full frame unless split-field
|
|
(alternate) interlacing is in use.</doc>
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FIELD_ORDER" c:identifier="GST_VIDEO_INFO_FIELD_ORDER" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FIELD_RATE_N" c:identifier="GST_VIDEO_INFO_FIELD_RATE_N" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FLAGS" c:identifier="GST_VIDEO_INFO_FLAGS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FLAG_IS_SET" c:identifier="GST_VIDEO_INFO_FLAG_IS_SET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="flag">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FLAG_SET" c:identifier="GST_VIDEO_INFO_FLAG_SET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="flag">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FLAG_UNSET" c:identifier="GST_VIDEO_INFO_FLAG_UNSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="flag">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FORMAT" c:identifier="GST_VIDEO_INFO_FORMAT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FPS_D" c:identifier="GST_VIDEO_INFO_FPS_D" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_FPS_N" c:identifier="GST_VIDEO_INFO_FPS_N" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_HAS_ALPHA" c:identifier="GST_VIDEO_INFO_HAS_ALPHA" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_HEIGHT" c:identifier="GST_VIDEO_INFO_HEIGHT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_INTERLACE_MODE" c:identifier="GST_VIDEO_INFO_INTERLACE_MODE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_IS_GRAY" c:identifier="GST_VIDEO_INFO_IS_GRAY" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_IS_INTERLACED" c:identifier="GST_VIDEO_INFO_IS_INTERLACED" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_IS_RGB" c:identifier="GST_VIDEO_INFO_IS_RGB" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_IS_YUV" c:identifier="GST_VIDEO_INFO_IS_YUV" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_MULTIVIEW_FLAGS" c:identifier="GST_VIDEO_INFO_MULTIVIEW_FLAGS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_MULTIVIEW_MODE" c:identifier="GST_VIDEO_INFO_MULTIVIEW_MODE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_NAME" c:identifier="GST_VIDEO_INFO_NAME" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_N_COMPONENTS" c:identifier="GST_VIDEO_INFO_N_COMPONENTS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_N_PLANES" c:identifier="GST_VIDEO_INFO_N_PLANES" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_PAR_D" c:identifier="GST_VIDEO_INFO_PAR_D" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_PAR_N" c:identifier="GST_VIDEO_INFO_PAR_N" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_PLANE_HEIGHT" c:identifier="GST_VIDEO_INFO_PLANE_HEIGHT" version="1.18" introspectable="0">
|
|
<doc xml:space="preserve">The padded height in pixels of a plane (padded size divided by the plane stride).
|
|
In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, this macro returns the
|
|
plane heights used to hold a single field, not the full frame.
|
|
|
|
The size passed as third argument is the size of the pixel data and should
|
|
not contain any extra metadata padding.
|
|
|
|
It is not valid to use this macro with a TILED format.</doc>
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="p">
|
|
</parameter>
|
|
<parameter name="sizes">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_PLANE_OFFSET" c:identifier="GST_VIDEO_INFO_PLANE_OFFSET" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="p">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_PLANE_STRIDE" c:identifier="GST_VIDEO_INFO_PLANE_STRIDE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
<parameter name="p">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_SIZE" c:identifier="GST_VIDEO_INFO_SIZE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_VIEWS" c:identifier="GST_VIDEO_INFO_VIEWS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_INFO_WIDTH" c:identifier="GST_VIDEO_INFO_WIDTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="i">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_MAX_COMPONENTS" value="4" c:type="GST_VIDEO_MAX_COMPONENTS">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_MAX_PLANES" value="4" c:type="GST_VIDEO_MAX_PLANES">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_META_TRANSFORM_IS_SCALE" c:identifier="GST_VIDEO_META_TRANSFORM_IS_SCALE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="type">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_NE" c:identifier="GST_VIDEO_NE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="s">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_OE" c:identifier="GST_VIDEO_OE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="s">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ORIENTATION" c:identifier="GST_VIDEO_ORIENTATION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_ORIENTATION_GET_INTERFACE" c:identifier="GST_VIDEO_ORIENTATION_GET_INTERFACE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="inst">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_OVERLAY" c:identifier="GST_VIDEO_OVERLAY" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_OVERLAY_COMPOSITION" c:identifier="GST_VIDEO_OVERLAY_COMPOSITION" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_OVERLAY_COMPOSITION_CAST" c:identifier="GST_VIDEO_OVERLAY_COMPOSITION_CAST" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_OVERLAY_GET_INTERFACE" c:identifier="GST_VIDEO_OVERLAY_GET_INTERFACE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="inst">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_OVERLAY_RECTANGLE" c:identifier="GST_VIDEO_OVERLAY_RECTANGLE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_OVERLAY_RECTANGLE_CAST" c:identifier="GST_VIDEO_OVERLAY_RECTANGLE_CAST" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_RESAMPLER_OPT_CUBIC_B" value="GstVideoResampler.cubic-b" c:type="GST_VIDEO_RESAMPLER_OPT_CUBIC_B">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, B parameter of the cubic filter. The B
|
|
parameter controls the bluriness. Values between 0.0 and
|
|
2.0 are accepted. 1/3 is the default.
|
|
|
|
Below are some values of popular filters:
|
|
B C
|
|
Hermite 0.0 0.0
|
|
Spline 1.0 0.0
|
|
Catmull-Rom 0.0 1/2
|
|
Mitchell 1/3 1/3
|
|
Robidoux 0.3782 0.3109
|
|
Robidoux
|
|
Sharp 0.2620 0.3690
|
|
Robidoux
|
|
Soft 0.6796 0.1602</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_CUBIC_C" value="GstVideoResampler.cubic-c" c:type="GST_VIDEO_RESAMPLER_OPT_CUBIC_C">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, C parameter of the cubic filter. The C
|
|
parameter controls the Keys alpha value. Values between 0.0 and
|
|
2.0 are accepted. 1/3 is the default.
|
|
|
|
See #GST_VIDEO_RESAMPLER_OPT_CUBIC_B for some more common values</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_ENVELOPE" value="GstVideoResampler.envelope" c:type="GST_VIDEO_RESAMPLER_OPT_ENVELOPE">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, specifies the size of filter envelope for
|
|
@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
|
|
1.0 and 5.0. 2.0 is the default.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_MAX_TAPS" value="GstVideoResampler.max-taps" c:type="GST_VIDEO_RESAMPLER_OPT_MAX_TAPS">
|
|
<doc xml:space="preserve">G_TYPE_INT, limits the maximum number of taps to use.
|
|
16 is the default.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_SHARPEN" value="GstVideoResampler.sharpen" c:type="GST_VIDEO_RESAMPLER_OPT_SHARPEN">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, specifies sharpening of the filter for
|
|
@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
|
|
0.0 and 1.0. 0.0 is the default.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_RESAMPLER_OPT_SHARPNESS" value="GstVideoResampler.sharpness" c:type="GST_VIDEO_RESAMPLER_OPT_SHARPNESS">
|
|
<doc xml:space="preserve">G_TYPE_DOUBLE, specifies sharpness of the filter for
|
|
@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
|
|
0.5 and 1.5. 1.0 is the default.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<constant name="VIDEO_SCALER_OPT_DITHER_METHOD" value="GstVideoScaler.dither-method" c:type="GST_VIDEO_SCALER_OPT_DITHER_METHOD">
|
|
<doc xml:space="preserve">#GstVideoDitherMethod, The dither method to use for propagating
|
|
quatization errors.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_SINK" c:identifier="GST_VIDEO_SINK" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_SINK_CAST" c:identifier="GST_VIDEO_SINK_CAST" introspectable="0">
|
|
<doc xml:space="preserve">Cast @obj to a #GstVideoSink without runtime type check.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstVideoSink or derived object</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_SINK_CLASS" c:identifier="GST_VIDEO_SINK_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_SINK_GET_CLASS" c:identifier="GST_VIDEO_SINK_GET_CLASS" introspectable="0">
|
|
<parameters>
|
|
<parameter name="klass">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_SINK_HEIGHT" c:identifier="GST_VIDEO_SINK_HEIGHT" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_SINK_PAD" c:identifier="GST_VIDEO_SINK_PAD" introspectable="0">
|
|
<doc xml:space="preserve">Get the sink #GstPad of @obj.</doc>
|
|
<parameters>
|
|
<parameter name="obj">
|
|
<doc xml:space="preserve">a #GstVideoSink</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_SINK_WIDTH" c:identifier="GST_VIDEO_SINK_WIDTH" introspectable="0">
|
|
<parameters>
|
|
<parameter name="obj">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_SIZE_RANGE" value="(int) [ 1, max ]" c:type="GST_VIDEO_SIZE_RANGE">
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_SUB_SCALE" c:identifier="GST_VIDEO_SUB_SCALE" introspectable="0">
|
|
<parameters>
|
|
<parameter name="scale">
|
|
</parameter>
|
|
<parameter name="val">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_TILE_MAKE_MODE" c:identifier="GST_VIDEO_TILE_MAKE_MODE" introspectable="0">
|
|
<doc xml:space="preserve">use this macro to create new tile modes.</doc>
|
|
<parameters>
|
|
<parameter name="num">
|
|
<doc xml:space="preserve">the mode number to create</doc>
|
|
</parameter>
|
|
<parameter name="type">
|
|
<doc xml:space="preserve">the tile mode type</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_TILE_MAKE_STRIDE" c:identifier="GST_VIDEO_TILE_MAKE_STRIDE" introspectable="0">
|
|
<doc xml:space="preserve">Encode the number of tile in X and Y into the stride.</doc>
|
|
<parameters>
|
|
<parameter name="x_tiles">
|
|
<doc xml:space="preserve">number of tiles in X</doc>
|
|
</parameter>
|
|
<parameter name="y_tiles">
|
|
<doc xml:space="preserve">number of tiles in Y</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_TILE_MODE_IS_INDEXED" c:identifier="GST_VIDEO_TILE_MODE_IS_INDEXED" introspectable="0">
|
|
<doc xml:space="preserve">Check if @mode is an indexed tile type</doc>
|
|
<parameters>
|
|
<parameter name="mode">
|
|
<doc xml:space="preserve">a tile mode</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="VIDEO_TILE_MODE_TYPE" c:identifier="GST_VIDEO_TILE_MODE_TYPE" introspectable="0">
|
|
<doc xml:space="preserve">Get the tile mode type of @mode</doc>
|
|
<parameters>
|
|
<parameter name="mode">
|
|
<doc xml:space="preserve">the tile mode</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_TILE_TYPE_MASK" value="65535" c:type="GST_VIDEO_TILE_TYPE_MASK">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<constant name="VIDEO_TILE_TYPE_SHIFT" value="16" c:type="GST_VIDEO_TILE_TYPE_SHIFT">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_TILE_X_TILES" c:identifier="GST_VIDEO_TILE_X_TILES" introspectable="0">
|
|
<doc xml:space="preserve">Extract the number of tiles in X from the stride value.</doc>
|
|
<parameters>
|
|
<parameter name="stride">
|
|
<doc xml:space="preserve">plane stride</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_TILE_X_TILES_MASK" value="65535" c:type="GST_VIDEO_TILE_X_TILES_MASK">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<function-macro name="VIDEO_TILE_Y_TILES" c:identifier="GST_VIDEO_TILE_Y_TILES" introspectable="0">
|
|
<doc xml:space="preserve">Extract the number of tiles in Y from the stride value.</doc>
|
|
<parameters>
|
|
<parameter name="stride">
|
|
<doc xml:space="preserve">plane stride</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<constant name="VIDEO_TILE_Y_TILES_SHIFT" value="16" c:type="GST_VIDEO_TILE_Y_TILES_SHIFT">
|
|
<type name="gint" c:type="gint"/>
|
|
</constant>
|
|
<record name="VideoAFDMeta" c:type="GstVideoAFDMeta" version="1.18">
|
|
<doc xml:space="preserve">Active Format Description (AFD)
|
|
|
|
For details, see Table 6.14 Active Format in:
|
|
|
|
ATSC Digital Television Standard:
|
|
Part 4 – MPEG-2 Video System Characteristics
|
|
|
|
https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf
|
|
|
|
and Active Format Description in Complete list of AFD codes
|
|
|
|
https://en.wikipedia.org/wiki/Active_Format_Description#Complete_list_of_AFD_codes
|
|
|
|
and SMPTE ST2016-1</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="field" writable="1">
|
|
<doc xml:space="preserve">0 for progressive or field 1 and 1 for field 2</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="spec" writable="1">
|
|
<doc xml:space="preserve">#GstVideoAFDSpec that applies to @afd</doc>
|
|
<type name="VideoAFDSpec" c:type="GstVideoAFDSpec"/>
|
|
</field>
|
|
<field name="afd" writable="1">
|
|
<doc xml:space="preserve">#GstVideoAFDValue AFD value</doc>
|
|
<type name="VideoAFDValue" c:type="GstVideoAFDValue"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_video_afd_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<enumeration name="VideoAFDSpec" version="1.18" glib:type-name="GstVideoAFDSpec" glib:get-type="gst_video_afd_spec_get_type" c:type="GstVideoAFDSpec">
|
|
<doc xml:space="preserve">Enumeration of the different standards that may apply to AFD data:
|
|
|
|
0) ETSI/DVB:
|
|
https://www.etsi.org/deliver/etsi_ts/101100_101199/101154/02.01.01_60/ts_101154v020101p.pdf
|
|
|
|
1) ATSC A/53:
|
|
https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf
|
|
|
|
2) SMPTE ST2016-1:</doc>
|
|
<member name="dvb_etsi" value="0" c:identifier="GST_VIDEO_AFD_SPEC_DVB_ETSI" glib:nick="dvb-etsi">
|
|
<doc xml:space="preserve">AFD value is from DVB/ETSI standard</doc>
|
|
</member>
|
|
<member name="atsc_a53" value="1" c:identifier="GST_VIDEO_AFD_SPEC_ATSC_A53" glib:nick="atsc-a53">
|
|
<doc xml:space="preserve">AFD value is from ATSC A/53 standard</doc>
|
|
</member>
|
|
<member name="smpte_st2016_1" value="2" c:identifier="GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1" glib:nick="smpte-st2016-1">
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoAFDValue" version="1.18" glib:type-name="GstVideoAFDValue" glib:get-type="gst_video_afd_value_get_type" c:type="GstVideoAFDValue">
|
|
<doc xml:space="preserve">Enumeration of the various values for Active Format Description (AFD)
|
|
|
|
AFD should be included in video user data whenever the rectangular
|
|
picture area containing useful information does not extend to the full height or width of the coded
|
|
frame. AFD data may also be included in user data when the rectangular picture area containing
|
|
useful information extends to the full height and width of the coded frame.
|
|
|
|
For details, see Table 6.14 Active Format in:
|
|
|
|
ATSC Digital Television Standard:
|
|
Part 4 – MPEG-2 Video System Characteristics
|
|
|
|
https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf
|
|
|
|
and Active Format Description in Complete list of AFD codes
|
|
|
|
https://en.wikipedia.org/wiki/Active_Format_Description#Complete_list_of_AFD_codes
|
|
|
|
and SMPTE ST2016-1
|
|
|
|
Notes:
|
|
|
|
1) AFD 0 is undefined for ATSC and SMPTE ST2016-1, indicating that AFD data is not available:
|
|
If Bar Data is not present, AFD '0000' indicates that exact information
|
|
is not available and the active image should be assumed to be the same as the coded frame. AFD '0000'.
|
|
AFD '0000' accompanied by Bar Data signals that the active image’s aspect ratio is narrower than 16:9,
|
|
but is not 4:3 or 14:9. As the exact aspect ratio cannot be conveyed by AFD alone, wherever possible,
|
|
AFD ‘0000’ should be accompanied by Bar Data to define the exact vertical or horizontal extent
|
|
of the active image.
|
|
2) AFD 0 is reserved for DVB/ETSI
|
|
3) values 1, 5, 6, 7, and 12 are reserved for both ATSC and DVB/ETSI
|
|
4) values 2 and 3 are not recommended for ATSC, but are valid for DVB/ETSI</doc>
|
|
<member name="unavailable" value="0" c:identifier="GST_VIDEO_AFD_UNAVAILABLE" glib:nick="unavailable">
|
|
<doc xml:space="preserve">Unavailable (see note 0 below).</doc>
|
|
</member>
|
|
<member name="16_9_top_aligned" value="2" c:identifier="GST_VIDEO_AFD_16_9_TOP_ALIGNED" glib:nick="16-9-top-aligned">
|
|
<doc xml:space="preserve">For 4:3 coded frame, letterbox 16:9 image,
|
|
at top of the coded frame. For 16:9 coded frame, full frame 16:9 image,
|
|
the same as the coded frame.</doc>
|
|
</member>
|
|
<member name="14_9_top_aligned" value="3" c:identifier="GST_VIDEO_AFD_14_9_TOP_ALIGNED" glib:nick="14-9-top-aligned">
|
|
<doc xml:space="preserve">For 4:3 coded frame, letterbox 14:9 image,
|
|
at top of the coded frame. For 16:9 coded frame, pillarbox 14:9 image,
|
|
horizontally centered in the coded frame.</doc>
|
|
</member>
|
|
<member name="greater_than_16_9" value="4" c:identifier="GST_VIDEO_AFD_GREATER_THAN_16_9" glib:nick="greater-than-16-9">
|
|
<doc xml:space="preserve">For 4:3 coded frame, letterbox image with an aspect ratio
|
|
greater than 16:9, vertically centered in the coded frame. For 16:9 coded frame,
|
|
letterbox image with an aspect ratio greater than 16:9.</doc>
|
|
</member>
|
|
<member name="4_3_full_16_9_full" value="8" c:identifier="GST_VIDEO_AFD_4_3_FULL_16_9_FULL" glib:nick="4-3-full-16-9-full">
|
|
<doc xml:space="preserve">For 4:3 coded frame, full frame 4:3 image,
|
|
the same as the coded frame. For 16:9 coded frame, full frame 16:9 image, the same as
|
|
the coded frame.</doc>
|
|
</member>
|
|
<member name="4_3_full_4_3_pillar" value="9" c:identifier="GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR" glib:nick="4-3-full-4-3-pillar">
|
|
<doc xml:space="preserve">For 4:3 coded frame, full frame 4:3 image, the same as
|
|
the coded frame. For 16:9 coded frame, pillarbox 4:3 image, horizontally centered in the
|
|
coded frame.</doc>
|
|
</member>
|
|
<member name="16_9_letter_16_9_full" value="10" c:identifier="GST_VIDEO_AFD_16_9_LETTER_16_9_FULL" glib:nick="16-9-letter-16-9-full">
|
|
<doc xml:space="preserve">For 4:3 coded frame, letterbox 16:9 image, vertically centered in
|
|
the coded frame with all image areas protected. For 16:9 coded frame, full frame 16:9 image,
|
|
with all image areas protected.</doc>
|
|
</member>
|
|
<member name="14_9_letter_14_9_pillar" value="11" c:identifier="GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR" glib:nick="14-9-letter-14-9-pillar">
|
|
<doc xml:space="preserve">For 4:3 coded frame, letterbox 14:9 image, vertically centered in
|
|
the coded frame. For 16:9 coded frame, pillarbox 14:9 image, horizontally centered in the
|
|
coded frame.</doc>
|
|
</member>
|
|
<member name="4_3_full_14_9_center" value="13" c:identifier="GST_VIDEO_AFD_4_3_FULL_14_9_CENTER" glib:nick="4-3-full-14-9-center">
|
|
<doc xml:space="preserve">For 4:3 coded frame, full frame 4:3 image, with alternative 14:9
|
|
center. For 16:9 coded frame, pillarbox 4:3 image, with alternative 14:9 center.</doc>
|
|
</member>
|
|
<member name="16_9_letter_14_9_center" value="14" c:identifier="GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER" glib:nick="16-9-letter-14-9-center">
|
|
<doc xml:space="preserve">For 4:3 coded frame, letterbox 16:9 image, with alternative 14:9
|
|
center. For 16:9 coded frame, full frame 16:9 image, with alternative 14:9 center.</doc>
|
|
</member>
|
|
<member name="16_9_letter_4_3_center" value="15" c:identifier="GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER" glib:nick="16-9-letter-4-3-center">
|
|
<doc xml:space="preserve">For 4:3 coded frame, letterbox 16:9 image, with alternative 4:3
|
|
center. For 16:9 coded frame, full frame 16:9 image, with alternative 4:3 center.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="VideoAffineTransformationGetMatrix" c:type="GstVideoAffineTransformationGetMatrix">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="VideoAffineTransformationMeta" c:type="GstVideoAffineTransformationMeta*"/>
|
|
</parameter>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<type name="gfloat" c:type="gfloat*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="VideoAffineTransformationMeta" c:type="GstVideoAffineTransformationMeta" version="1.8">
|
|
<doc xml:space="preserve">Extra buffer metadata for performing an affine transformation using a 4x4
|
|
matrix. The transformation matrix can be composed with
|
|
gst_video_affine_transformation_meta_apply_matrix().
|
|
|
|
The vertices operated on are all in the range 0 to 1, not in
|
|
Normalized Device Coordinates (-1 to +1). Transforming points in this space
|
|
are assumed to have an origin at (0.5, 0.5, 0.5) in a left-handed coordinate
|
|
system with the x-axis moving horizontally (positive values to the right),
|
|
the y-axis moving vertically (positive values up the screen) and the z-axis
|
|
perpendicular to the screen (positive values into the screen).</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="matrix" writable="1">
|
|
<doc xml:space="preserve">the column-major 4x4 transformation matrix</doc>
|
|
<array zero-terminated="0" fixed-size="16">
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</array>
|
|
</field>
|
|
<method name="apply_matrix" c:identifier="gst_video_affine_transformation_meta_apply_matrix" version="1.8">
|
|
<doc xml:space="preserve">Apply a transformation using the given 4x4 transformation matrix.
|
|
Performs the multiplication, meta->matrix X matrix.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAffineTransformationMeta</doc>
|
|
<type name="VideoAffineTransformationMeta" c:type="GstVideoAffineTransformationMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a 4x4 transformation matrix to be applied</doc>
|
|
<array zero-terminated="0" c:type="const gfloat*" fixed-size="16">
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_info" c:identifier="gst_video_affine_transformation_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<class name="VideoAggregator" c:symbol-prefix="video_aggregator" c:type="GstVideoAggregator" version="1.16" parent="GstBase.Aggregator" abstract="1" glib:type-name="GstVideoAggregator" glib:get-type="gst_video_aggregator_get_type" glib:type-struct="VideoAggregatorClass">
|
|
<doc xml:space="preserve">VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested
|
|
sink pads it will compare the incoming geometry and framerate to define the
|
|
output parameters. Indeed output video frames will have the geometry of the
|
|
biggest incoming video stream and the framerate of the fastest incoming one.
|
|
|
|
VideoAggregator will do colorspace conversion.
|
|
|
|
Zorder for each input stream can be configured on the
|
|
#GstVideoAggregatorPad.</doc>
|
|
<virtual-method name="aggregate_frames">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</instance-parameter>
|
|
<parameter name="outbuffer" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="create_output_buffer">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</instance-parameter>
|
|
<parameter name="outbuffer" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="find_best_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="vagg" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</instance-parameter>
|
|
<parameter name="downstream_caps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="best_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="at_least_one_alpha" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="update_caps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<field name="aggregator">
|
|
<type name="GstBase.Aggregator" c:type="GstAggregator"/>
|
|
</field>
|
|
<field name="info">
|
|
<doc xml:space="preserve">The #GstVideoInfo representing the currently set
|
|
srcpad caps.</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoAggregatorPrivate" c:type="GstVideoAggregatorPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoAggregatorClass" c:type="GstVideoAggregatorClass" glib:is-gtype-struct-for="VideoAggregator" version="1.16">
|
|
<field name="parent_class" readable="0" private="1">
|
|
<type name="GstBase.AggregatorClass" c:type="GstAggregatorClass"/>
|
|
</field>
|
|
<field name="update_caps">
|
|
<callback name="update_caps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="aggregate_frames">
|
|
<callback name="aggregate_frames">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="outbuffer" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="create_output_buffer">
|
|
<callback name="create_output_buffer">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="outbuffer" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="find_best_format">
|
|
<callback name="find_best_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="vagg" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="downstream_caps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="best_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="at_least_one_alpha" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<class name="VideoAggregatorConvertPad" c:symbol-prefix="video_aggregator_convert_pad" c:type="GstVideoAggregatorConvertPad" version="1.16" parent="VideoAggregatorPad" glib:type-name="GstVideoAggregatorConvertPad" glib:get-type="gst_video_aggregator_convert_pad_get_type" glib:type-struct="VideoAggregatorConvertPadClass">
|
|
<doc xml:space="preserve">An implementation of GstPad that can be used with #GstVideoAggregator.
|
|
|
|
See #GstVideoAggregator for more details.</doc>
|
|
<virtual-method name="create_conversion_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<type name="VideoAggregatorConvertPad" c:type="GstVideoAggregatorConvertPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="agg" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="conversion_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="update_conversion_info" c:identifier="gst_video_aggregator_convert_pad_update_conversion_info">
|
|
<doc xml:space="preserve">Requests the pad to check and update the converter before the next usage to
|
|
update for any changes that have happened.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAggregatorPad</doc>
|
|
<type name="VideoAggregatorConvertPad" c:type="GstVideoAggregatorConvertPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="converter-config" writable="1" transfer-ownership="none">
|
|
<type name="Gst.Structure"/>
|
|
</property>
|
|
<field name="parent" readable="0" private="1">
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoAggregatorConvertPadPrivate" c:type="GstVideoAggregatorConvertPadPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoAggregatorConvertPadClass" c:type="GstVideoAggregatorConvertPadClass" glib:is-gtype-struct-for="VideoAggregatorConvertPad" version="1.16">
|
|
<field name="parent_class">
|
|
<type name="VideoAggregatorPadClass" c:type="GstVideoAggregatorPadClass"/>
|
|
</field>
|
|
<field name="create_conversion_info">
|
|
<callback name="create_conversion_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="VideoAggregatorConvertPad" c:type="GstVideoAggregatorConvertPad*"/>
|
|
</parameter>
|
|
<parameter name="agg" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="conversion_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoAggregatorConvertPadPrivate" c:type="GstVideoAggregatorConvertPadPrivate" disguised="1"/>
|
|
<class name="VideoAggregatorPad" c:symbol-prefix="video_aggregator_pad" c:type="GstVideoAggregatorPad" version="1.16" parent="GstBase.AggregatorPad" glib:type-name="GstVideoAggregatorPad" glib:get-type="gst_video_aggregator_pad_get_type" glib:type-struct="VideoAggregatorPadClass">
|
|
<virtual-method name="clean_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="prepared_frame" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="prepare_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="prepared_frame" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="update_conversion_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_current_buffer" c:identifier="gst_video_aggregator_pad_get_current_buffer">
|
|
<doc xml:space="preserve">Returns the currently queued buffer that is going to be used
|
|
for the current output frame.
|
|
|
|
This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method,
|
|
or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads.
|
|
|
|
The return value is only valid until #GstVideoAggregatorClass::aggregate_frames or #GstVideoAggregatorPadClass::prepare_frame
|
|
returns.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The currently queued buffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAggregatorPad</doc>
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_prepared_frame" c:identifier="gst_video_aggregator_pad_get_prepared_frame">
|
|
<doc xml:space="preserve">Returns the currently prepared video frame that has to be aggregated into
|
|
the current output frame.
|
|
|
|
This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method,
|
|
or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads.
|
|
|
|
The return value is only valid until #GstVideoAggregatorClass::aggregate_frames or #GstVideoAggregatorPadClass::prepare_frame
|
|
returns.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The currently prepared video frame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAggregatorPad</doc>
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="has_current_buffer" c:identifier="gst_video_aggregator_pad_has_current_buffer">
|
|
<doc xml:space="preserve">Checks if the pad currently has a buffer queued that is going to be used
|
|
for the current output frame.
|
|
|
|
This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method,
|
|
or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the pad has currently a buffer queued</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAggregatorPad</doc>
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_needs_alpha" c:identifier="gst_video_aggregator_pad_set_needs_alpha">
|
|
<doc xml:space="preserve">Allows selecting that this pad requires an output format with alpha</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="pad" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAggregatorPad</doc>
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</instance-parameter>
|
|
<parameter name="needs_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if this pad requires alpha output</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="max-last-buffer-repeat" writable="1" transfer-ownership="none">
|
|
<type name="guint64" c:type="guint64"/>
|
|
</property>
|
|
<property name="repeat-after-eos" writable="1" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<property name="zorder" writable="1" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</property>
|
|
<field name="parent">
|
|
<type name="GstBase.AggregatorPad" c:type="GstAggregatorPad"/>
|
|
</field>
|
|
<field name="info">
|
|
<doc xml:space="preserve">The #GstVideoInfo currently set on the pad</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoAggregatorPadPrivate" c:type="GstVideoAggregatorPadPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoAggregatorPadClass" c:type="GstVideoAggregatorPadClass" glib:is-gtype-struct-for="VideoAggregatorPad" version="1.16">
|
|
<field name="parent_class">
|
|
<type name="GstBase.AggregatorPadClass" c:type="GstAggregatorPadClass"/>
|
|
</field>
|
|
<field name="update_conversion_info">
|
|
<callback name="update_conversion_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="prepare_frame">
|
|
<callback name="prepare_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</parameter>
|
|
<parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="prepared_frame" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="clean_frame">
|
|
<callback name="clean_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pad" transfer-ownership="none">
|
|
<type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
|
|
</parameter>
|
|
<parameter name="videoaggregator" transfer-ownership="none">
|
|
<type name="VideoAggregator" c:type="GstVideoAggregator*"/>
|
|
</parameter>
|
|
<parameter name="prepared_frame" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved">
|
|
<array zero-terminated="0" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoAggregatorPadPrivate" c:type="GstVideoAggregatorPadPrivate" disguised="1"/>
|
|
<record name="VideoAggregatorPrivate" c:type="GstVideoAggregatorPrivate" disguised="1"/>
|
|
<record name="VideoAlignment" c:type="GstVideoAlignment">
|
|
<doc xml:space="preserve">Extra alignment parameters for the memory of video buffers. This
|
|
structure is usually used to configure the bufferpool if it supports the
|
|
#GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.</doc>
|
|
<field name="padding_top" writable="1">
|
|
<doc xml:space="preserve">extra pixels on the top</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="padding_bottom" writable="1">
|
|
<doc xml:space="preserve">extra pixels on the bottom</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="padding_left" writable="1">
|
|
<doc xml:space="preserve">extra pixels on the left side</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="padding_right" writable="1">
|
|
<doc xml:space="preserve">extra pixels on the right side</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="stride_align" writable="1">
|
|
<doc xml:space="preserve">array with extra alignment requirements for the strides</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<method name="reset" c:identifier="gst_video_alignment_reset">
|
|
<doc xml:space="preserve">Set @align to its default values with no padding and no alignment.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAlignment</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="VideoAlphaMode" version="1.6" glib:type-name="GstVideoAlphaMode" glib:get-type="gst_video_alpha_mode_get_type" c:type="GstVideoAlphaMode">
|
|
<doc xml:space="preserve">Different alpha modes.</doc>
|
|
<member name="copy" value="0" c:identifier="GST_VIDEO_ALPHA_MODE_COPY" glib:nick="copy">
|
|
<doc xml:space="preserve">When input and output have alpha, it will be copied.
|
|
When the input has no alpha, alpha will be set to
|
|
#GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
|
|
</member>
|
|
<member name="set" value="1" c:identifier="GST_VIDEO_ALPHA_MODE_SET" glib:nick="set">
|
|
<doc xml:space="preserve">set all alpha to
|
|
#GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
|
|
</member>
|
|
<member name="mult" value="2" c:identifier="GST_VIDEO_ALPHA_MODE_MULT" glib:nick="mult">
|
|
<doc xml:space="preserve">multiply all alpha with
|
|
#GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE.
|
|
When the input format has no alpha but the output format has, the
|
|
alpha value will be set to #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoAncillary" c:type="GstVideoAncillary" version="1.16">
|
|
<doc xml:space="preserve">Video Ancillary data, according to SMPTE-291M specification.
|
|
|
|
Note that the contents of the data are always stored as 8bit data (i.e. do not contain
|
|
the parity check bits).</doc>
|
|
<field name="DID" writable="1">
|
|
<doc xml:space="preserve">The Data Identifier</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="SDID_block_number" writable="1">
|
|
<doc xml:space="preserve">The Secondary Data Identifier (if type 2) or the Data
|
|
Block Number (if type 1)</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="data_count" writable="1">
|
|
<doc xml:space="preserve">The amount of data (in bytes) in @data (max 255 bytes)</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="data" writable="1">
|
|
<doc xml:space="preserve">The user data content of the Ancillary packet.
|
|
Does not contain the ADF, DID, SDID nor CS.</doc>
|
|
<array zero-terminated="0" fixed-size="256">
|
|
<type name="guint8" c:type="guint8"/>
|
|
</array>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<enumeration name="VideoAncillaryDID" version="1.16" glib:type-name="GstVideoAncillaryDID" glib:get-type="gst_video_ancillary_did_get_type" c:type="GstVideoAncillaryDID">
|
|
<member name="undefined" value="0" c:identifier="GST_VIDEO_ANCILLARY_DID_UNDEFINED" glib:nick="undefined">
|
|
</member>
|
|
<member name="deletion" value="128" c:identifier="GST_VIDEO_ANCILLARY_DID_DELETION" glib:nick="deletion">
|
|
</member>
|
|
<member name="hanc_3g_audio_data_first" value="160" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_FIRST" glib:nick="hanc-3g-audio-data-first">
|
|
</member>
|
|
<member name="hanc_3g_audio_data_last" value="167" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_LAST" glib:nick="hanc-3g-audio-data-last">
|
|
</member>
|
|
<member name="hanc_hdtv_audio_data_first" value="224" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_FIRST" glib:nick="hanc-hdtv-audio-data-first">
|
|
</member>
|
|
<member name="hanc_hdtv_audio_data_last" value="231" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_LAST" glib:nick="hanc-hdtv-audio-data-last">
|
|
</member>
|
|
<member name="hanc_sdtv_audio_data_1_first" value="236" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_FIRST" glib:nick="hanc-sdtv-audio-data-1-first">
|
|
</member>
|
|
<member name="hanc_sdtv_audio_data_1_last" value="239" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_LAST" glib:nick="hanc-sdtv-audio-data-1-last">
|
|
</member>
|
|
<member name="camera_position" value="240" c:identifier="GST_VIDEO_ANCILLARY_DID_CAMERA_POSITION" glib:nick="camera-position">
|
|
</member>
|
|
<member name="hanc_error_detection" value="244" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_ERROR_DETECTION" glib:nick="hanc-error-detection">
|
|
</member>
|
|
<member name="hanc_sdtv_audio_data_2_first" value="248" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_FIRST" glib:nick="hanc-sdtv-audio-data-2-first">
|
|
</member>
|
|
<member name="hanc_sdtv_audio_data_2_last" value="255" c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_LAST" glib:nick="hanc-sdtv-audio-data-2-last">
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoAncillaryDID16" version="1.16" glib:type-name="GstVideoAncillaryDID16" glib:get-type="gst_video_ancillary_di_d16_get_type" c:type="GstVideoAncillaryDID16">
|
|
<doc xml:space="preserve">Some know types of Ancillary Data identifiers.</doc>
|
|
<member name="s334_eia_708" value="24833" c:identifier="GST_VIDEO_ANCILLARY_DID16_S334_EIA_708" glib:nick="s334-eia-708">
|
|
<doc xml:space="preserve">CEA 708 Ancillary data according to SMPTE 334</doc>
|
|
</member>
|
|
<member name="s334_eia_608" value="24834" c:identifier="GST_VIDEO_ANCILLARY_DID16_S334_EIA_608" glib:nick="s334-eia-608">
|
|
<doc xml:space="preserve">CEA 608 Ancillary data according to SMPTE 334</doc>
|
|
</member>
|
|
<member name="s2016_3_afd_bar" value="16645" c:identifier="GST_VIDEO_ANCILLARY_DID16_S2016_3_AFD_BAR" glib:nick="s2016-3-afd-bar">
|
|
<doc xml:space="preserve">AFD/Bar Ancillary data according to SMPTE 2016-3 (Since: 1.18)</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoBarMeta" c:type="GstVideoBarMeta" version="1.18">
|
|
<doc xml:space="preserve">Bar data should be included in video user data
|
|
whenever the rectangular picture area containing useful information
|
|
does not extend to the full height or width of the coded frame
|
|
and AFD alone is insufficient to describe the extent of the image.
|
|
|
|
Note: either vertical or horizontal bars are specified, but not both.
|
|
|
|
For more details, see:
|
|
|
|
https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf
|
|
|
|
and SMPTE ST2016-1</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="field" writable="1">
|
|
<doc xml:space="preserve">0 for progressive or field 1 and 1 for field 2</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</field>
|
|
<field name="is_letterbox" writable="1">
|
|
<doc xml:space="preserve">if true then bar data specifies letterbox, otherwise pillarbox</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="bar_data1" writable="1">
|
|
<doc xml:space="preserve">If @is_letterbox is true, then the value specifies the
|
|
last line of a horizontal letterbox bar area at top of reconstructed frame.
|
|
Otherwise, it specifies the last horizontal luminance sample of a vertical pillarbox
|
|
bar area at the left side of the reconstructed frame</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="bar_data2" writable="1">
|
|
<doc xml:space="preserve">If @is_letterbox is true, then the value specifies the
|
|
first line of a horizontal letterbox bar area at bottom of reconstructed frame.
|
|
Otherwise, it specifies the first horizontal
|
|
luminance sample of a vertical pillarbox bar area at the right side of the reconstructed frame.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_video_bar_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoBufferFlags" glib:type-name="GstVideoBufferFlags" glib:get-type="gst_video_buffer_flags_get_type" c:type="GstVideoBufferFlags">
|
|
<doc xml:space="preserve">Additional video buffer flags. These flags can potentially be used on any
|
|
buffers carrying closed caption data, or video data - even encoded data.
|
|
|
|
Note that these are only valid for #GstCaps of type: video/... and caption/...
|
|
They can conflict with other extended buffer flags.</doc>
|
|
<member name="interlaced" value="1048576" c:identifier="GST_VIDEO_BUFFER_FLAG_INTERLACED" glib:nick="interlaced">
|
|
<doc xml:space="preserve">If the #GstBuffer is interlaced. In mixed
|
|
interlace-mode, this flags specifies if the frame is
|
|
interlaced or progressive.</doc>
|
|
</member>
|
|
<member name="tff" value="2097152" c:identifier="GST_VIDEO_BUFFER_FLAG_TFF" glib:nick="tff">
|
|
<doc xml:space="preserve">If the #GstBuffer is interlaced, then the first field
|
|
in the video frame is the top field. If unset, the
|
|
bottom field is first.</doc>
|
|
</member>
|
|
<member name="rff" value="4194304" c:identifier="GST_VIDEO_BUFFER_FLAG_RFF" glib:nick="rff">
|
|
<doc xml:space="preserve">If the #GstBuffer is interlaced, then the first field
|
|
(as defined by the %GST_VIDEO_BUFFER_FLAG_TFF flag setting)
|
|
is repeated.</doc>
|
|
</member>
|
|
<member name="onefield" value="8388608" c:identifier="GST_VIDEO_BUFFER_FLAG_ONEFIELD" glib:nick="onefield">
|
|
<doc xml:space="preserve">If the #GstBuffer is interlaced, then only the
|
|
first field (as defined by the %GST_VIDEO_BUFFER_FLAG_TFF
|
|
flag setting) is to be displayed (Since: 1.16).</doc>
|
|
</member>
|
|
<member name="multiple_view" value="16777216" c:identifier="GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW" glib:nick="multiple-view">
|
|
<doc xml:space="preserve">The #GstBuffer contains one or more specific views,
|
|
such as left or right eye view. This flags is set on
|
|
any buffer that contains non-mono content - even for
|
|
streams that contain only a single viewpoint. In mixed
|
|
mono / non-mono streams, the absence of the flag marks
|
|
mono buffers.</doc>
|
|
</member>
|
|
<member name="first_in_bundle" value="33554432" c:identifier="GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE" glib:nick="first-in-bundle">
|
|
<doc xml:space="preserve">When conveying stereo/multiview content with
|
|
frame-by-frame methods, this flag marks the first buffer
|
|
in a bundle of frames that belong together.</doc>
|
|
</member>
|
|
<member name="top_field" value="10485760" c:identifier="GST_VIDEO_BUFFER_FLAG_TOP_FIELD" glib:nick="top-field">
|
|
<doc xml:space="preserve">The video frame has the top field only. This is the
|
|
same as GST_VIDEO_BUFFER_FLAG_TFF |
|
|
GST_VIDEO_BUFFER_FLAG_ONEFIELD (Since: 1.16).
|
|
Use GST_VIDEO_BUFFER_IS_TOP_FIELD() to check for this flag.</doc>
|
|
</member>
|
|
<member name="bottom_field" value="8388608" c:identifier="GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD" glib:nick="bottom-field">
|
|
<doc xml:space="preserve">The video frame has the bottom field only. This is
|
|
the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD
|
|
(GST_VIDEO_BUFFER_FLAG_TFF flag unset) (Since: 1.16).
|
|
Use GST_VIDEO_BUFFER_IS_BOTTOM_FIELD() to check for this flag.</doc>
|
|
</member>
|
|
<member name="marker" value="512" c:identifier="GST_VIDEO_BUFFER_FLAG_MARKER" glib:nick="marker">
|
|
<doc xml:space="preserve">The #GstBuffer contains the end of a video field or frame
|
|
boundary such as the last subframe or packet (Since: 1.18).</doc>
|
|
</member>
|
|
<member name="last" value="268435456" c:identifier="GST_VIDEO_BUFFER_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">Offset to define more flags</doc>
|
|
</member>
|
|
</bitfield>
|
|
<class name="VideoBufferPool" c:symbol-prefix="video_buffer_pool" c:type="GstVideoBufferPool" parent="Gst.BufferPool" glib:type-name="GstVideoBufferPool" glib:get-type="gst_video_buffer_pool_get_type" glib:type-struct="VideoBufferPoolClass">
|
|
<constructor name="new" c:identifier="gst_video_buffer_pool_new">
|
|
<doc xml:space="preserve">Create a new bufferpool that can allocate video frames. This bufferpool
|
|
supports all the video bufferpool options.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstBufferPool to allocate video frames</doc>
|
|
<type name="Gst.BufferPool" c:type="GstBufferPool*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<field name="bufferpool">
|
|
<type name="Gst.BufferPool" c:type="GstBufferPool"/>
|
|
</field>
|
|
<field name="priv">
|
|
<type name="VideoBufferPoolPrivate" c:type="GstVideoBufferPoolPrivate*"/>
|
|
</field>
|
|
</class>
|
|
<record name="VideoBufferPoolClass" c:type="GstVideoBufferPoolClass" glib:is-gtype-struct-for="VideoBufferPool">
|
|
<field name="parent_class">
|
|
<type name="Gst.BufferPoolClass" c:type="GstBufferPoolClass"/>
|
|
</field>
|
|
</record>
|
|
<record name="VideoBufferPoolPrivate" c:type="GstVideoBufferPoolPrivate" disguised="1"/>
|
|
<record name="VideoCaptionMeta" c:type="GstVideoCaptionMeta" version="1.16">
|
|
<doc xml:space="preserve">Extra buffer metadata providing Closed Caption.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="caption_type" writable="1">
|
|
<doc xml:space="preserve">The type of Closed Caption contained in the meta.</doc>
|
|
<type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
|
|
</field>
|
|
<field name="data" writable="1">
|
|
<doc xml:space="preserve">The Closed Caption data.</doc>
|
|
<array length="3" zero-terminated="0" c:type="guint8*">
|
|
<type name="guint8" c:type="guint8"/>
|
|
</array>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">The size in bytes of @data</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_video_caption_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<enumeration name="VideoCaptionType" version="1.16" glib:type-name="GstVideoCaptionType" glib:get-type="gst_video_caption_type_get_type" c:type="GstVideoCaptionType">
|
|
<doc xml:space="preserve">The various known types of Closed Caption (CC).</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_CAPTION_TYPE_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">Unknown type of CC</doc>
|
|
</member>
|
|
<member name="cea608_raw" value="1" c:identifier="GST_VIDEO_CAPTION_TYPE_CEA608_RAW" glib:nick="cea608-raw">
|
|
<doc xml:space="preserve">CEA-608 as byte pairs. Note that
|
|
this format is not recommended since is does not specify to
|
|
which field the caption comes from and therefore assumes
|
|
it comes from the first field (and that there is no information
|
|
on the second field). Use @GST_VIDEO_CAPTION_TYPE_CEA708_RAW
|
|
if you wish to store CEA-608 from two fields and prefix each byte pair
|
|
with 0xFC for the first field and 0xFD for the second field.</doc>
|
|
</member>
|
|
<member name="cea608_s334_1a" value="2" c:identifier="GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A" glib:nick="cea608-s334-1a">
|
|
<doc xml:space="preserve">CEA-608 as byte triplets as defined
|
|
in SMPTE S334-1 Annex A. The second and third byte of the byte triplet
|
|
is the raw CEA608 data, the first byte is a bitfield: The top/7th bit is
|
|
0 for the second field, 1 for the first field, bit 6 and 5 are 0 and
|
|
bits 4 to 0 are a 5 bit unsigned integer that represents the line
|
|
offset relative to the base-line of the original image format (line 9
|
|
for 525-line field 1, line 272 for 525-line field 2, line 5 for
|
|
625-line field 1 and line 318 for 625-line field 2).</doc>
|
|
</member>
|
|
<member name="cea708_raw" value="3" c:identifier="GST_VIDEO_CAPTION_TYPE_CEA708_RAW" glib:nick="cea708-raw">
|
|
<doc xml:space="preserve">CEA-708 as cc_data byte triplets. They
|
|
can also contain 608-in-708 and the first byte of each triplet has to
|
|
be inspected for detecting the type.</doc>
|
|
</member>
|
|
<member name="cea708_cdp" value="4" c:identifier="GST_VIDEO_CAPTION_TYPE_CEA708_CDP" glib:nick="cea708-cdp">
|
|
<doc xml:space="preserve">CEA-708 (and optionally CEA-608) in
|
|
a CDP (Caption Distribution Packet) defined by SMPTE S-334-2.
|
|
Contains the whole CDP (starting with 0x9669).</doc>
|
|
</member>
|
|
<function name="from_caps" c:identifier="gst_video_caption_type_from_caps" version="1.16">
|
|
<doc xml:space="preserve">Parses fixed Closed Caption #GstCaps and returns the corresponding caption
|
|
type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoCaptionType.</doc>
|
|
<type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">Fixed #GstCaps to parse</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_caps" c:identifier="gst_video_caption_type_to_caps" version="1.16">
|
|
<doc xml:space="preserve">Creates new caps corresponding to @type.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">new #GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoCaptionType</doc>
|
|
<type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="VideoChromaFlags" glib:type-name="GstVideoChromaFlags" glib:get-type="gst_video_chroma_flags_get_type" c:type="GstVideoChromaFlags">
|
|
<doc xml:space="preserve">Extra flags that influence the result from gst_video_chroma_resample_new().</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_CHROMA_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="interlaced" value="1" c:identifier="GST_VIDEO_CHROMA_FLAG_INTERLACED" glib:nick="interlaced">
|
|
<doc xml:space="preserve">the input is interlaced</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoChromaMethod" glib:type-name="GstVideoChromaMethod" glib:get-type="gst_video_chroma_method_get_type" c:type="GstVideoChromaMethod">
|
|
<doc xml:space="preserve">Different subsampling and upsampling methods</doc>
|
|
<member name="nearest" value="0" c:identifier="GST_VIDEO_CHROMA_METHOD_NEAREST" glib:nick="nearest">
|
|
<doc xml:space="preserve">Duplicates the chroma samples when
|
|
upsampling and drops when subsampling</doc>
|
|
</member>
|
|
<member name="linear" value="1" c:identifier="GST_VIDEO_CHROMA_METHOD_LINEAR" glib:nick="linear">
|
|
<doc xml:space="preserve">Uses linear interpolation to reconstruct
|
|
missing chroma and averaging to subsample</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoChromaMode" version="1.6" glib:type-name="GstVideoChromaMode" glib:get-type="gst_video_chroma_mode_get_type" c:type="GstVideoChromaMode">
|
|
<doc xml:space="preserve">Different chroma downsampling and upsampling modes</doc>
|
|
<member name="full" value="0" c:identifier="GST_VIDEO_CHROMA_MODE_FULL" glib:nick="full">
|
|
<doc xml:space="preserve">do full chroma up and down sampling</doc>
|
|
</member>
|
|
<member name="upsample_only" value="1" c:identifier="GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY" glib:nick="upsample-only">
|
|
<doc xml:space="preserve">only perform chroma upsampling</doc>
|
|
</member>
|
|
<member name="downsample_only" value="2" c:identifier="GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY" glib:nick="downsample-only">
|
|
<doc xml:space="preserve">only perform chroma downsampling</doc>
|
|
</member>
|
|
<member name="none" value="3" c:identifier="GST_VIDEO_CHROMA_MODE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">disable chroma resampling</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoChromaResample" c:type="GstVideoChromaResample" disguised="1">
|
|
<method name="" c:identifier="gst_video_chroma_resample" moved-to="video_chroma_resample">
|
|
<doc xml:space="preserve">Perform resampling of @width chroma pixels in @lines.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaResample</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</instance-parameter>
|
|
<parameter name="lines" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pixel lines</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pixels on one line</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_chroma_resample_free">
|
|
<doc xml:space="preserve">Free @resample</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaResample</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_info" c:identifier="gst_video_chroma_resample_get_info">
|
|
<doc xml:space="preserve">The resampler must be fed @n_lines at a time. The first line should be
|
|
at @offset.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaResample</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_lines" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of input lines</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the first line</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new" c:identifier="gst_video_chroma_resample_new" introspectable="0">
|
|
<doc xml:space="preserve">Create a new resampler object for the given parameters. When @h_factor or
|
|
@v_factor is > 0, upsampling will be used, otherwise subsampling is
|
|
performed.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new #GstVideoChromaResample that should be freed with
|
|
gst_video_chroma_resample_free() after usage.</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaMethod</doc>
|
|
<type name="VideoChromaMethod" c:type="GstVideoChromaMethod"/>
|
|
</parameter>
|
|
<parameter name="site" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoChromaFlags</doc>
|
|
<type name="VideoChromaFlags" c:type="GstVideoChromaFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="h_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">horizontal resampling factor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="v_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">vertical resampling factor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoChromaSite" glib:type-name="GstVideoChromaSite" glib:get-type="gst_video_chroma_site_get_type" c:type="GstVideoChromaSite">
|
|
<doc xml:space="preserve">Various Chroma sitings.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_CHROMA_SITE_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown cositing</doc>
|
|
</member>
|
|
<member name="none" value="1" c:identifier="GST_VIDEO_CHROMA_SITE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no cositing</doc>
|
|
</member>
|
|
<member name="h_cosited" value="2" c:identifier="GST_VIDEO_CHROMA_SITE_H_COSITED" glib:nick="h-cosited">
|
|
<doc xml:space="preserve">chroma is horizontally cosited</doc>
|
|
</member>
|
|
<member name="v_cosited" value="4" c:identifier="GST_VIDEO_CHROMA_SITE_V_COSITED" glib:nick="v-cosited">
|
|
<doc xml:space="preserve">chroma is vertically cosited</doc>
|
|
</member>
|
|
<member name="alt_line" value="8" c:identifier="GST_VIDEO_CHROMA_SITE_ALT_LINE" glib:nick="alt-line">
|
|
<doc xml:space="preserve">choma samples are sited on alternate lines</doc>
|
|
</member>
|
|
<member name="cosited" value="6" c:identifier="GST_VIDEO_CHROMA_SITE_COSITED" glib:nick="cosited">
|
|
<doc xml:space="preserve">chroma samples cosited with luma samples</doc>
|
|
</member>
|
|
<member name="jpeg" value="1" c:identifier="GST_VIDEO_CHROMA_SITE_JPEG" glib:nick="jpeg">
|
|
<doc xml:space="preserve">jpeg style cositing, also for mpeg1 and mjpeg</doc>
|
|
</member>
|
|
<member name="mpeg2" value="2" c:identifier="GST_VIDEO_CHROMA_SITE_MPEG2" glib:nick="mpeg2">
|
|
<doc xml:space="preserve">mpeg2 style cositing</doc>
|
|
</member>
|
|
<member name="dv" value="14" c:identifier="GST_VIDEO_CHROMA_SITE_DV" glib:nick="dv">
|
|
<doc xml:space="preserve">DV style cositing</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoCodecFrame" c:type="GstVideoCodecFrame" glib:type-name="GstVideoCodecFrame" glib:get-type="gst_video_codec_frame_get_type" c:symbol-prefix="video_codec_frame">
|
|
<doc xml:space="preserve">A #GstVideoCodecFrame represents a video frame both in raw and
|
|
encoded form.</doc>
|
|
<field name="ref_count" readable="0" private="1">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="flags" readable="0" private="1">
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="system_frame_number" writable="1">
|
|
<doc xml:space="preserve">Unique identifier for the frame. Use this if you need
|
|
to get hold of the frame later (like when data is being decoded).
|
|
Typical usage in decoders is to set this on the opaque value provided
|
|
to the library and get back the frame using gst_video_decoder_get_frame()</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="decode_frame_number" readable="0" private="1">
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="presentation_frame_number" readable="0" private="1">
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="dts" writable="1">
|
|
<doc xml:space="preserve">Decoding timestamp</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="pts" writable="1">
|
|
<doc xml:space="preserve">Presentation timestamp</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="duration" writable="1">
|
|
<doc xml:space="preserve">Duration of the frame</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="distance_from_sync" writable="1">
|
|
<doc xml:space="preserve">Distance in frames from the last synchronization point.</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</field>
|
|
<field name="input_buffer" writable="1">
|
|
<doc xml:space="preserve">the input #GstBuffer that created this frame. The buffer is owned
|
|
by the frame and references to the frame instead of the buffer should
|
|
be kept.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="output_buffer" writable="1">
|
|
<doc xml:space="preserve">the output #GstBuffer. Implementations should set this either
|
|
directly, or by using the
|
|
@gst_video_decoder_allocate_output_frame() or
|
|
@gst_video_decoder_allocate_output_buffer() methods. The buffer is
|
|
owned by the frame and references to the frame instead of the
|
|
buffer should be kept.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="deadline" writable="1">
|
|
<doc xml:space="preserve">Running time when the frame will be used.</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="events" readable="0" private="1">
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
<field name="user_data" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="user_data_destroy_notify" readable="0" private="1">
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</field>
|
|
<union name="abidata" c:type="abidata">
|
|
<record name="ABI" c:type="ABI">
|
|
<field name="ts" writable="1">
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="ts2" writable="1">
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</field>
|
|
<field name="num_subframes" writable="1">
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
</record>
|
|
<field name="padding" writable="1">
|
|
<array zero-terminated="0" fixed-size="20">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</union>
|
|
<method name="get_user_data" c:identifier="gst_video_codec_frame_get_user_data">
|
|
<doc xml:space="preserve">Gets private data set on the frame by the subclass via
|
|
gst_video_codec_frame_set_user_data() previously.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">The previously set user_data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="ref" c:identifier="gst_video_codec_frame_ref">
|
|
<doc xml:space="preserve">Increases the refcount of the given frame by one.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@buf</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_user_data" c:identifier="gst_video_codec_frame_set_user_data">
|
|
<doc xml:space="preserve">Sets @user_data on the frame and the #GDestroyNotify that will be called when
|
|
the frame is freed. Allows to attach private data by the subclass to frames.
|
|
|
|
If a @user_data was previously set, then the previous set @notify will be called
|
|
before the @user_data is replaced.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">private data</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="notify" transfer-ownership="none" scope="async" closure="0">
|
|
<doc xml:space="preserve">a #GDestroyNotify</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_video_codec_frame_unref">
|
|
<doc xml:space="preserve">Decreases the refcount of the frame. If the refcount reaches 0, the frame
|
|
will be freed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="VideoCodecFrameFlags" c:type="GstVideoCodecFrameFlags">
|
|
<doc xml:space="preserve">Flags for #GstVideoCodecFrame</doc>
|
|
<member name="decode_only" value="1" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY">
|
|
<doc xml:space="preserve">is the frame only meant to be decoded</doc>
|
|
</member>
|
|
<member name="sync_point" value="2" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT">
|
|
<doc xml:space="preserve">is the frame a synchronization point (keyframe)</doc>
|
|
</member>
|
|
<member name="force_keyframe" value="4" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME">
|
|
<doc xml:space="preserve">should the output frame be made a keyframe</doc>
|
|
</member>
|
|
<member name="force_keyframe_headers" value="8" c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS">
|
|
<doc xml:space="preserve">should the encoder output stream headers</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoCodecState" c:type="GstVideoCodecState" glib:type-name="GstVideoCodecState" glib:get-type="gst_video_codec_state_get_type" c:symbol-prefix="video_codec_state">
|
|
<doc xml:space="preserve">Structure representing the state of an incoming or outgoing video
|
|
stream for encoders and decoders.
|
|
|
|
Decoders and encoders will receive such a state through their
|
|
respective @set_format vmethods.
|
|
|
|
Decoders and encoders can set the downstream state, by using the
|
|
@gst_video_decoder_set_output_state() or
|
|
@gst_video_encoder_set_output_state() methods.</doc>
|
|
<field name="ref_count" readable="0" private="1">
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="info" writable="1">
|
|
<doc xml:space="preserve">The #GstVideoInfo describing the stream</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="caps" writable="1">
|
|
<doc xml:space="preserve">The #GstCaps used in the caps negotiation of the pad.</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</field>
|
|
<field name="codec_data" writable="1">
|
|
<doc xml:space="preserve">a #GstBuffer corresponding to the
|
|
'codec_data' field of a stream, or NULL.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="allocation_caps" writable="1">
|
|
<doc xml:space="preserve">The #GstCaps for allocation query and pool
|
|
negotiation. Since: 1.10</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</field>
|
|
<field name="padding" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="19">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="ref" c:identifier="gst_video_codec_state_ref">
|
|
<doc xml:space="preserve">Increases the refcount of the given state by one.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">@buf</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unref" c:identifier="gst_video_codec_state_unref">
|
|
<doc xml:space="preserve">Decreases the refcount of the state. If the refcount reaches 0, the state
|
|
will be freed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="state" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="VideoColorMatrix" glib:type-name="GstVideoColorMatrix" glib:get-type="gst_video_color_matrix_get_type" c:type="GstVideoColorMatrix">
|
|
<doc xml:space="preserve">The color matrix is used to convert between Y'PbPr and
|
|
non-linear RGB (R'G'B')</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_COLOR_MATRIX_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown matrix</doc>
|
|
</member>
|
|
<member name="rgb" value="1" c:identifier="GST_VIDEO_COLOR_MATRIX_RGB" glib:nick="rgb">
|
|
<doc xml:space="preserve">identity matrix. Order of coefficients is
|
|
actually GBR, also IEC 61966-2-1 (sRGB)</doc>
|
|
</member>
|
|
<member name="fcc" value="2" c:identifier="GST_VIDEO_COLOR_MATRIX_FCC" glib:nick="fcc">
|
|
<doc xml:space="preserve">FCC Title 47 Code of Federal Regulations 73.682 (a)(20)</doc>
|
|
</member>
|
|
<member name="bt709" value="3" c:identifier="GST_VIDEO_COLOR_MATRIX_BT709" glib:nick="bt709">
|
|
<doc xml:space="preserve">ITU-R BT.709 color matrix, also ITU-R BT1361
|
|
/ IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B</doc>
|
|
</member>
|
|
<member name="bt601" value="4" c:identifier="GST_VIDEO_COLOR_MATRIX_BT601" glib:nick="bt601">
|
|
<doc xml:space="preserve">ITU-R BT.601 color matrix, also SMPTE170M / ITU-R BT1358 525 / ITU-R BT1700 NTSC</doc>
|
|
</member>
|
|
<member name="smpte240m" value="5" c:identifier="GST_VIDEO_COLOR_MATRIX_SMPTE240M" glib:nick="smpte240m">
|
|
<doc xml:space="preserve">SMPTE 240M color matrix</doc>
|
|
</member>
|
|
<member name="bt2020" value="6" c:identifier="GST_VIDEO_COLOR_MATRIX_BT2020" glib:nick="bt2020">
|
|
<doc xml:space="preserve">ITU-R BT.2020 color matrix. Since: 1.6</doc>
|
|
</member>
|
|
<function name="from_iso" c:identifier="gst_video_color_matrix_from_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts the @value to the #GstVideoColorMatrix
|
|
The matrix coefficients (MatrixCoefficients) value is
|
|
defined by "ISO/IEC 23001-8 Section 7.3 Table 4"
|
|
and "ITU-T H.273 Table 4".
|
|
"H.264 Table E-5" and "H.265 Table E.5" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the matched #GstVideoColorMatrix</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a ITU-T H.273 matrix coefficients value</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_Kr_Kb" c:identifier="gst_video_color_matrix_get_Kr_Kb" version="1.6">
|
|
<doc xml:space="preserve">Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix.
|
|
|
|
When:
|
|
|
|
|[
|
|
0.0 <= [Y',R',G',B'] <= 1.0)
|
|
(-0.5 <= [Pb,Pr] <= 0.5)
|
|
]|
|
|
|
|
the general conversion is given by:
|
|
|
|
|[
|
|
Y' = Kr*R' + (1-Kr-Kb)*G' + Kb*B'
|
|
Pb = (B'-Y')/(2*(1-Kb))
|
|
Pr = (R'-Y')/(2*(1-Kr))
|
|
]|
|
|
|
|
and the other way around:
|
|
|
|
|[
|
|
R' = Y' + Cr*2*(1-Kr)
|
|
G' = Y' - Cb*2*(1-Kb)*Kb/(1-Kr-Kb) - Cr*2*(1-Kr)*Kr/(1-Kr-Kb)
|
|
B' = Y' + Cb*2*(1-Kb)
|
|
]|</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid
|
|
values.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorMatrix</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</parameter>
|
|
<parameter name="Kr" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result red channel coefficient</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="Kb" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result blue channel coefficient</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_iso" c:identifier="gst_video_color_matrix_to_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts #GstVideoColorMatrix to the "matrix coefficients"
|
|
(MatrixCoefficients) value defined by "ISO/IEC 23001-8 Section 7.3 Table 4"
|
|
and "ITU-T H.273 Table 4".
|
|
"H.264 Table E-5" and "H.265 Table E.5" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of ISO/IEC 23001-8 matrix coefficients.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorMatrix</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<enumeration name="VideoColorPrimaries" glib:type-name="GstVideoColorPrimaries" glib:get-type="gst_video_color_primaries_get_type" c:type="GstVideoColorPrimaries">
|
|
<doc xml:space="preserve">The color primaries define the how to transform linear RGB values to and from
|
|
the CIE XYZ colorspace.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_COLOR_PRIMARIES_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown color primaries</doc>
|
|
</member>
|
|
<member name="bt709" value="1" c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT709" glib:nick="bt709">
|
|
<doc xml:space="preserve">BT709 primaries, also ITU-R BT1361 / IEC
|
|
61966-2-4 / SMPTE RP177 Annex B</doc>
|
|
</member>
|
|
<member name="bt470m" value="2" c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT470M" glib:nick="bt470m">
|
|
<doc xml:space="preserve">BT470M primaries, also FCC Title 47 Code
|
|
of Federal Regulations 73.682 (a)(20)</doc>
|
|
</member>
|
|
<member name="bt470bg" value="3" c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT470BG" glib:nick="bt470bg">
|
|
<doc xml:space="preserve">BT470BG primaries, also ITU-R BT601-6
|
|
625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM</doc>
|
|
</member>
|
|
<member name="smpte170m" value="4" c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTE170M" glib:nick="smpte170m">
|
|
<doc xml:space="preserve">SMPTE170M primaries, also ITU-R
|
|
BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC</doc>
|
|
</member>
|
|
<member name="smpte240m" value="5" c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTE240M" glib:nick="smpte240m">
|
|
<doc xml:space="preserve">SMPTE240M primaries</doc>
|
|
</member>
|
|
<member name="film" value="6" c:identifier="GST_VIDEO_COLOR_PRIMARIES_FILM" glib:nick="film">
|
|
<doc xml:space="preserve">Generic film (colour filters using
|
|
Illuminant C)</doc>
|
|
</member>
|
|
<member name="bt2020" value="7" c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT2020" glib:nick="bt2020">
|
|
<doc xml:space="preserve">ITU-R BT2020 primaries. Since: 1.6</doc>
|
|
</member>
|
|
<member name="adobergb" value="8" c:identifier="GST_VIDEO_COLOR_PRIMARIES_ADOBERGB" glib:nick="adobergb">
|
|
<doc xml:space="preserve">Adobe RGB primaries. Since: 1.8</doc>
|
|
</member>
|
|
<member name="smptest428" value="9" c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTEST428" glib:nick="smptest428">
|
|
<doc xml:space="preserve">SMPTE ST 428 primaries (CIE 1931
|
|
XYZ). Since: 1.16</doc>
|
|
</member>
|
|
<member name="smpterp431" value="10" c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTERP431" glib:nick="smpterp431">
|
|
<doc xml:space="preserve">SMPTE RP 431 primaries (ST 431-2
|
|
(2011) / DCI P3). Since: 1.16</doc>
|
|
</member>
|
|
<member name="smpteeg432" value="11" c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432" glib:nick="smpteeg432">
|
|
<doc xml:space="preserve">SMPTE EG 432 primaries (ST 432-1
|
|
(2010) / P3 D65). Since: 1.16</doc>
|
|
</member>
|
|
<member name="ebu3213" value="12" c:identifier="GST_VIDEO_COLOR_PRIMARIES_EBU3213" glib:nick="ebu3213">
|
|
<doc xml:space="preserve">EBU 3213 primaries (JEDEC P22
|
|
phosphors). Since: 1.16</doc>
|
|
</member>
|
|
<function name="from_iso" c:identifier="gst_video_color_primaries_from_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts the @value to the #GstVideoColorPrimaries
|
|
The colour primaries (ColourPrimaries) value is
|
|
defined by "ISO/IEC 23001-8 Section 7.1 Table 2" and "ITU-T H.273 Table 2".
|
|
"H.264 Table E-3" and "H.265 Table E.3" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the matched #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a ITU-T H.273 colour primaries value</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_info" c:identifier="gst_video_color_primaries_get_info" version="1.6">
|
|
<doc xml:space="preserve">Get information about the chromaticity coordinates of @primaries.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimariesInfo for @primaries.</doc>
|
|
<type name="VideoColorPrimariesInfo" c:type="const GstVideoColorPrimariesInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="primaries" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_iso" c:identifier="gst_video_color_primaries_to_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts #GstVideoColorPrimaries to the "colour primaries" (ColourPrimaries)
|
|
value defined by "ISO/IEC 23001-8 Section 7.1 Table 2"
|
|
and "ITU-T H.273 Table 2".
|
|
"H.264 Table E-3" and "H.265 Table E.3" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of ISO/IEC 23001-8 colour primaries.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="primaries" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="VideoColorPrimariesInfo" c:type="GstVideoColorPrimariesInfo" version="1.6">
|
|
<doc xml:space="preserve">Structure describing the chromaticity coordinates of an RGB system. These
|
|
values can be used to construct a matrix to transform RGB to and from the
|
|
XYZ colorspace.</doc>
|
|
<field name="primaries" writable="1">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</field>
|
|
<field name="Wx" writable="1">
|
|
<doc xml:space="preserve">reference white x coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Wy" writable="1">
|
|
<doc xml:space="preserve">reference white y coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Rx" writable="1">
|
|
<doc xml:space="preserve">red x coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Ry" writable="1">
|
|
<doc xml:space="preserve">red y coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Gx" writable="1">
|
|
<doc xml:space="preserve">green x coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Gy" writable="1">
|
|
<doc xml:space="preserve">green y coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="Bx" writable="1">
|
|
<doc xml:space="preserve">blue x coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
<field name="By" writable="1">
|
|
<doc xml:space="preserve">blue y coordinate</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</field>
|
|
</record>
|
|
<enumeration name="VideoColorRange" glib:type-name="GstVideoColorRange" glib:get-type="gst_video_color_range_get_type" c:type="GstVideoColorRange">
|
|
<doc xml:space="preserve">Possible color range values. These constants are defined for 8 bit color
|
|
values and can be scaled for other bit depths.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_COLOR_RANGE_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown range</doc>
|
|
</member>
|
|
<member name="0_255" value="1" c:identifier="GST_VIDEO_COLOR_RANGE_0_255" glib:nick="0-255">
|
|
<doc xml:space="preserve">[0..255] for 8 bit components</doc>
|
|
</member>
|
|
<member name="16_235" value="2" c:identifier="GST_VIDEO_COLOR_RANGE_16_235" glib:nick="16-235">
|
|
<doc xml:space="preserve">[16..235] for 8 bit components. Chroma has
|
|
[16..240] range.</doc>
|
|
</member>
|
|
<function name="offsets" c:identifier="gst_video_color_range_offsets">
|
|
<doc xml:space="preserve">Compute the offset and scale values for each component of @info. For each
|
|
component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the
|
|
range [0.0 .. 1.0].
|
|
|
|
The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert
|
|
the component values in range [0.0 .. 1.0] back to their representation in
|
|
@info and @range.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="range" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorRange</doc>
|
|
<type name="VideoColorRange" c:type="GstVideoColorRange"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</parameter>
|
|
<parameter name="offset" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">output offsets</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="scale" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">output scale</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="VideoColorimetry" c:type="GstVideoColorimetry">
|
|
<doc xml:space="preserve">Structure describing the color info.</doc>
|
|
<field name="range" writable="1">
|
|
<doc xml:space="preserve">the color range. This is the valid range for the samples.
|
|
It is used to convert the samples to Y'PbPr values.</doc>
|
|
<type name="VideoColorRange" c:type="GstVideoColorRange"/>
|
|
</field>
|
|
<field name="matrix" writable="1">
|
|
<doc xml:space="preserve">the color matrix. Used to convert between Y'PbPr and
|
|
non-linear RGB (R'G'B')</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</field>
|
|
<field name="transfer" writable="1">
|
|
<doc xml:space="preserve">the transfer function. used to convert between R'G'B' and RGB</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</field>
|
|
<field name="primaries" writable="1">
|
|
<doc xml:space="preserve">color primaries. used to convert between R'G'B' and CIE XYZ</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</field>
|
|
<method name="from_string" c:identifier="gst_video_colorimetry_from_string">
|
|
<doc xml:space="preserve">Parse the colorimetry string and update @cinfo with the parsed
|
|
values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @color points to valid colorimetry info.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="cinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorimetry</doc>
|
|
<type name="VideoColorimetry" c:type="GstVideoColorimetry*"/>
|
|
</instance-parameter>
|
|
<parameter name="color" transfer-ownership="none">
|
|
<doc xml:space="preserve">a colorimetry string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_video_colorimetry_is_equal" version="1.6">
|
|
<doc xml:space="preserve">Compare the 2 colorimetry sets for equality</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @cinfo and @other are equal.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="cinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorimetry</doc>
|
|
<type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
|
|
</instance-parameter>
|
|
<parameter name="other" transfer-ownership="none">
|
|
<doc xml:space="preserve">another #GstVideoColorimetry</doc>
|
|
<type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="matches" c:identifier="gst_video_colorimetry_matches">
|
|
<doc xml:space="preserve">Check if the colorimetry information in @info matches that of the
|
|
string @color.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @color conveys the same colorimetry info as the color
|
|
information in @info.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="cinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
|
|
</instance-parameter>
|
|
<parameter name="color" transfer-ownership="none">
|
|
<doc xml:space="preserve">a colorimetry string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_video_colorimetry_to_string">
|
|
<doc xml:space="preserve">Make a string representation of @cinfo.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a string representation of @cinfo
|
|
or %NULL if all the entries of @cinfo are unknown values.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="cinfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorimetry</doc>
|
|
<type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="VideoContentLightLevel" c:type="GstVideoContentLightLevel" version="1.18">
|
|
<doc xml:space="preserve">Content light level information specified in CEA-861.3, Appendix A.</doc>
|
|
<field name="max_content_light_level" writable="1">
|
|
<doc xml:space="preserve">the maximum content light level
|
|
(abbreviated to MaxCLL) in candelas per square meter (cd/m^2 and nit)</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<field name="max_frame_average_light_level" writable="1">
|
|
<doc xml:space="preserve">the maximum frame average light level
|
|
(abbreviated to MaxFLL) in candelas per square meter (cd/m^2 and nit)</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="add_to_caps" c:identifier="gst_video_content_light_level_add_to_caps" version="1.18">
|
|
<doc xml:space="preserve">Parse @caps and update @linfo</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @linfo was successfully set to @caps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="linfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoContentLightLevel</doc>
|
|
<type name="VideoContentLightLevel" c:type="const GstVideoContentLightLevel*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="from_caps" c:identifier="gst_video_content_light_level_from_caps" version="1.18">
|
|
<doc xml:space="preserve">Parse @caps and update @linfo</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">if @caps has #GstVideoContentLightLevel and could be parsed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="linfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoContentLightLevel</doc>
|
|
<type name="VideoContentLightLevel" c:type="GstVideoContentLightLevel*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="from_string" c:identifier="gst_video_content_light_level_from_string" version="1.18">
|
|
<doc xml:space="preserve">Parse the value of content-light-level caps field and update @minfo
|
|
with the parsed values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @linfo points to valid #GstVideoContentLightLevel.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="linfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoContentLightLevel</doc>
|
|
<type name="VideoContentLightLevel" c:type="GstVideoContentLightLevel*"/>
|
|
</instance-parameter>
|
|
<parameter name="level" transfer-ownership="none">
|
|
<doc xml:space="preserve">a content-light-level string from caps</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_video_content_light_level_init" version="1.18">
|
|
<doc xml:space="preserve">Initialize @linfo</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="linfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoContentLightLevel</doc>
|
|
<type name="VideoContentLightLevel" c:type="GstVideoContentLightLevel*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_video_content_light_level_to_string" version="1.18">
|
|
<doc xml:space="preserve">Convert @linfo to its string representation.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a string representation of @linfo.</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="linfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoContentLightLevel</doc>
|
|
<type name="VideoContentLightLevel" c:type="const GstVideoContentLightLevel*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<callback name="VideoConvertSampleCallback" c:type="GstVideoConvertSampleCallback">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="sample" transfer-ownership="none">
|
|
<type name="Gst.Sample" c:type="GstSample*"/>
|
|
</parameter>
|
|
<parameter name="error" transfer-ownership="none">
|
|
<type name="GLib.Error" c:type="GError*"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1" closure="2">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="VideoConverter" c:type="GstVideoConverter" disguised="1">
|
|
<method name="frame" c:identifier="gst_video_converter_frame" version="1.6">
|
|
<doc xml:space="preserve">Convert the pixels of @src into @dest using @convert.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="convert" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoConverter</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</instance-parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="const GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_converter_free" version="1.6">
|
|
<doc xml:space="preserve">Free @convert</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="convert" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoConverter</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_config" c:identifier="gst_video_converter_get_config">
|
|
<doc xml:space="preserve">Get the current configuration of @convert.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure that remains valid for as long as @convert is valid
|
|
or until gst_video_converter_set_config() is called.</doc>
|
|
<type name="Gst.Structure" c:type="const GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="convert" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoConverter</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_config" c:identifier="gst_video_converter_set_config" version="1.6">
|
|
<doc xml:space="preserve">Set @config as extra configuration for @convert.
|
|
|
|
If the parameters in @config can not be set exactly, this function returns
|
|
%FALSE and will try to update as much state as possible. The new state can
|
|
then be retrieved and refined with gst_video_converter_get_config().
|
|
|
|
Look at the `GST_VIDEO_CONVERTER_OPT_*` fields to check valid configuration
|
|
option and values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE when @config could be set.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="convert" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoConverter</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</instance-parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new" c:identifier="gst_video_converter_new" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Create a new converter object to convert between @in_info and @out_info
|
|
with @config.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="in_info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="out_info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure with configuration options</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="VideoCropMeta" c:type="GstVideoCropMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata describing image cropping.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="x" writable="1">
|
|
<doc xml:space="preserve">the horizontal offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="y" writable="1">
|
|
<doc xml:space="preserve">the vertical offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="width" writable="1">
|
|
<doc xml:space="preserve">the cropped width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="height" writable="1">
|
|
<doc xml:space="preserve">the cropped height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_video_crop_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<class name="VideoDecoder" c:symbol-prefix="video_decoder" c:type="GstVideoDecoder" parent="Gst.Element" abstract="1" glib:type-name="GstVideoDecoder" glib:get-type="gst_video_decoder_get_type" glib:type-struct="VideoDecoderClass">
|
|
<doc xml:space="preserve">This base class is for video decoders turning encoded data into raw video
|
|
frames.
|
|
|
|
The GstVideoDecoder base class and derived subclasses should cooperate as
|
|
follows:
|
|
|
|
## Configuration
|
|
|
|
* Initially, GstVideoDecoder calls @start when the decoder element
|
|
is activated, which allows the subclass to perform any global setup.
|
|
|
|
* GstVideoDecoder calls @set_format to inform the subclass of caps
|
|
describing input video data that it is about to receive, including
|
|
possibly configuration data.
|
|
While unlikely, it might be called more than once, if changing input
|
|
parameters require reconfiguration.
|
|
|
|
* Incoming data buffers are processed as needed, described in Data
|
|
Processing below.
|
|
|
|
* GstVideoDecoder calls @stop at end of all processing.
|
|
|
|
## Data processing
|
|
|
|
* The base class gathers input data, and optionally allows subclass
|
|
to parse this into subsequently manageable chunks, typically
|
|
corresponding to and referred to as 'frames'.
|
|
|
|
* Each input frame is provided in turn to the subclass' @handle_frame
|
|
callback.
|
|
The ownership of the frame is given to the @handle_frame callback.
|
|
|
|
* If codec processing results in decoded data, the subclass should call
|
|
@gst_video_decoder_finish_frame to have decoded data pushed.
|
|
downstream. Otherwise, the subclass must call
|
|
@gst_video_decoder_drop_frame, to allow the base class to do timestamp
|
|
and offset tracking, and possibly to requeue the frame for a later
|
|
attempt in the case of reverse playback.
|
|
|
|
## Shutdown phase
|
|
|
|
* The GstVideoDecoder class calls @stop to inform the subclass that data
|
|
parsing will be stopped.
|
|
|
|
## Additional Notes
|
|
|
|
* Seeking/Flushing
|
|
|
|
* When the pipeline is seeked or otherwise flushed, the subclass is
|
|
informed via a call to its @reset callback, with the hard parameter
|
|
set to true. This indicates the subclass should drop any internal data
|
|
queues and timestamps and prepare for a fresh set of buffers to arrive
|
|
for parsing and decoding.
|
|
|
|
* End Of Stream
|
|
|
|
* At end-of-stream, the subclass @parse function may be called some final
|
|
times with the at_eos parameter set to true, indicating that the element
|
|
should not expect any more data to be arriving, and it should parse and
|
|
remaining frames and call gst_video_decoder_have_frame() if possible.
|
|
|
|
The subclass is responsible for providing pad template caps for
|
|
source and sink pads. The pads need to be named "sink" and "src". It also
|
|
needs to provide information about the output caps, when they are known.
|
|
This may be when the base class calls the subclass' @set_format function,
|
|
though it might be during decoding, before calling
|
|
@gst_video_decoder_finish_frame. This is done via
|
|
@gst_video_decoder_set_output_state
|
|
|
|
The subclass is also responsible for providing (presentation) timestamps
|
|
(likely based on corresponding input ones). If that is not applicable
|
|
or possible, the base class provides limited framerate based interpolation.
|
|
|
|
Similarly, the base class provides some limited (legacy) seeking support
|
|
if specifically requested by the subclass, as full-fledged support
|
|
should rather be left to upstream demuxer, parser or alike. This simple
|
|
approach caters for seeking and duration reporting using estimated input
|
|
bitrates. To enable it, a subclass should call
|
|
@gst_video_decoder_set_estimate_rate to enable handling of incoming
|
|
byte-streams.
|
|
|
|
The base class provides some support for reverse playback, in particular
|
|
in case incoming data is not packetized or upstream does not provide
|
|
fragments on keyframe boundaries. However, the subclass should then be
|
|
prepared for the parsing and frame processing stage to occur separately
|
|
(in normal forward processing, the latter immediately follows the former),
|
|
The subclass also needs to ensure the parsing stage properly marks
|
|
keyframes, unless it knows the upstream elements will do so properly for
|
|
incoming data.
|
|
|
|
The bare minimum that a functional subclass needs to implement is:
|
|
|
|
* Provide pad templates
|
|
* Inform the base class of output caps via
|
|
@gst_video_decoder_set_output_state
|
|
|
|
* Parse input data, if it is not considered packetized from upstream
|
|
Data will be provided to @parse which should invoke
|
|
@gst_video_decoder_add_to_frame and @gst_video_decoder_have_frame to
|
|
separate the data belonging to each video frame.
|
|
|
|
* Accept data in @handle_frame and provide decoded results to
|
|
@gst_video_decoder_finish_frame, or call @gst_video_decoder_drop_frame.</doc>
|
|
<virtual-method name="close">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="decide_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="drain">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="finish">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="flush">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="getcaps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="handle_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="negotiate" invoker="negotiate">
|
|
<doc xml:space="preserve">Negotiate with downstream elements to currently configured #GstVideoCodecState.
|
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
|
negotiate fails.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="open">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="parse">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="adapter" transfer-ownership="none">
|
|
<type name="GstBase.Adapter" c:type="GstAdapter*"/>
|
|
</parameter>
|
|
<parameter name="at_eos" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="propose_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="reset">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="hard" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sink_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sink_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="src_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="src_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="start">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="stop">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="transform_meta">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="Gst.Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="add_to_frame" c:identifier="gst_video_decoder_add_to_frame">
|
|
<doc xml:space="preserve">Removes next @n_bytes of input data and adds it to currently parsed frame.</doc>
|
|
<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">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="n_bytes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of bytes to add</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="allocate_output_buffer" c:identifier="gst_video_decoder_allocate_output_buffer">
|
|
<doc xml:space="preserve">Helper function that allocates a buffer to hold a video frame for @decoder's
|
|
current #GstVideoCodecState.
|
|
|
|
You should use gst_video_decoder_allocate_output_frame() instead of this
|
|
function, if possible at all.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">allocated buffer, or NULL if no buffer could be
|
|
allocated (e.g. when downstream is flushing or shutting down)</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="allocate_output_frame" c:identifier="gst_video_decoder_allocate_output_frame">
|
|
<doc xml:space="preserve">Helper function that allocates a buffer to hold a video frame for @decoder's
|
|
current #GstVideoCodecState. Subclass should already have configured video
|
|
state and set src pad caps.
|
|
|
|
The buffer allocated here is owned by the frame and you should only
|
|
keep references to the frame, not the buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_FLOW_OK if an output buffer could be allocated</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="allocate_output_frame_with_params" c:identifier="gst_video_decoder_allocate_output_frame_with_params" version="1.12">
|
|
<doc xml:space="preserve">Same as #gst_video_decoder_allocate_output_frame except it allows passing
|
|
#GstBufferPoolAcquireParams to the sub call gst_buffer_pool_acquire_buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_FLOW_OK if an output buffer could be allocated</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="params" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBufferPoolAcquireParams</doc>
|
|
<type name="Gst.BufferPoolAcquireParams" c:type="GstBufferPoolAcquireParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="drop_frame" c:identifier="gst_video_decoder_drop_frame">
|
|
<doc xml:space="preserve">Similar to gst_video_decoder_finish_frame(), but drops @frame in any
|
|
case and posts a QoS message with the frame's details on the bus.
|
|
In any case, the frame is considered finished and released.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn, usually GST_FLOW_OK.</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstVideoCodecFrame to drop</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="finish_frame" c:identifier="gst_video_decoder_finish_frame">
|
|
<doc xml:space="preserve">@frame should have a valid decoded data buffer, whose metadata fields
|
|
are then appropriately set according to frame data and pushed downstream.
|
|
If no output data is provided, @frame is considered skipped.
|
|
In any case, the frame is considered finished and released.
|
|
|
|
After calling this function the output buffer of the frame is to be
|
|
considered read-only. This function will also change the metadata
|
|
of the buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn resulting from sending data downstream</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="full">
|
|
<doc xml:space="preserve">a decoded #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_allocator" c:identifier="gst_video_decoder_get_allocator">
|
|
<doc xml:space="preserve">Lets #GstVideoDecoder sub-classes to know the memory @allocator
|
|
used by the base class and its @params.
|
|
|
|
Unref the @allocator after use it.</doc>
|
|
<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">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="allocator" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstAllocator
|
|
used</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator**"/>
|
|
</parameter>
|
|
<parameter name="params" direction="out" caller-allocates="1" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the
|
|
#GstAllocationParams of @allocator</doc>
|
|
<type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_buffer_pool" c:identifier="gst_video_decoder_get_buffer_pool">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the instance of the #GstBufferPool used
|
|
by the decoder; free it after use it</doc>
|
|
<type name="Gst.BufferPool" c:type="GstBufferPool*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_estimate_rate" c:identifier="gst_video_decoder_get_estimate_rate">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">currently configured byte to time conversion setting</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frame" c:identifier="gst_video_decoder_get_frame">
|
|
<doc xml:space="preserve">Get a pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">pending unfinished #GstVideoCodecFrame identified by @frame_number.</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame_number" transfer-ownership="none">
|
|
<doc xml:space="preserve">system_frame_number of a frame</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frames" c:identifier="gst_video_decoder_get_frames">
|
|
<doc xml:space="preserve">Get all pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">pending unfinished #GstVideoCodecFrame.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="VideoCodecFrame"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_latency" c:identifier="gst_video_decoder_get_latency">
|
|
<doc xml:space="preserve">Query the configured decoder latency. Results will be returned via
|
|
@min_latency and @max_latency.</doc>
|
|
<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">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_latency" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of variable in which to store the
|
|
configured minimum latency, or %NULL</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="max_latency" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of variable in which to store the
|
|
configured mximum latency, or %NULL</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_max_decode_time" c:identifier="gst_video_decoder_get_max_decode_time">
|
|
<doc xml:space="preserve">Determines maximum possible decoding time for @frame that will
|
|
allow it to decode and arrive in time (as determined by QoS events).
|
|
In particular, a negative result means decoding in time is no longer possible
|
|
and should therefore occur as soon/skippy as possible.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">max decoding time.</doc>
|
|
<type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_max_errors" c:identifier="gst_video_decoder_get_max_errors">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">currently configured decoder tolerated error count.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_needs_format" c:identifier="gst_video_decoder_get_needs_format" version="1.4">
|
|
<doc xml:space="preserve">Queries decoder required format handling.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if required format handling is enabled.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_oldest_frame" c:identifier="gst_video_decoder_get_oldest_frame">
|
|
<doc xml:space="preserve">Get the oldest pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">oldest pending unfinished #GstVideoCodecFrame.</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_output_state" c:identifier="gst_video_decoder_get_output_state">
|
|
<doc xml:space="preserve">Get the #GstVideoCodecState currently describing the output stream.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">#GstVideoCodecState describing format of video data.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_packetized" c:identifier="gst_video_decoder_get_packetized">
|
|
<doc xml:space="preserve">Queries whether input data is considered packetized or not by the
|
|
base class.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if input data is considered packetized.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pending_frame_size" c:identifier="gst_video_decoder_get_pending_frame_size" version="1.4">
|
|
<doc xml:space="preserve">Returns the number of bytes previously added to the current frame
|
|
by calling gst_video_decoder_add_to_frame().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of bytes pending for the current frame</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_qos_proportion" c:identifier="gst_video_decoder_get_qos_proportion" version="1.0.3">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The current QoS proportion.</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder
|
|
current QoS proportion, or %NULL</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="have_frame" c:identifier="gst_video_decoder_have_frame">
|
|
<doc xml:space="preserve">Gathers all data collected for currently parsed frame, gathers corresponding
|
|
metadata and passes it along for further processing, i.e. @handle_frame.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_tags" c:identifier="gst_video_decoder_merge_tags">
|
|
<doc xml:space="preserve">Sets the audio decoder tags and how they should be merged with any
|
|
upstream stream tags. This will override any tags previously-set
|
|
with gst_audio_decoder_merge_tags().
|
|
|
|
Note that this is provided for convenience, and the subclass is
|
|
not required to use this and can still do tag handling on its own.
|
|
|
|
MT safe.</doc>
|
|
<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">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstTagList to merge, or NULL to unset
|
|
previously-set tags</doc>
|
|
<type name="Gst.TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
|
|
<type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="negotiate" c:identifier="gst_video_decoder_negotiate">
|
|
<doc xml:space="preserve">Negotiate with downstream elements to currently configured #GstVideoCodecState.
|
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
|
negotiate fails.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="proxy_getcaps" c:identifier="gst_video_decoder_proxy_getcaps" version="1.6">
|
|
<doc xml:space="preserve">Returns caps that express @caps (or sink template caps if @caps == NULL)
|
|
restricted to resolution/format/... combinations supported by downstream
|
|
elements.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstCaps owned by caller</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">initial caps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="filter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">filter caps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="release_frame" c:identifier="gst_video_decoder_release_frame" version="1.2.2">
|
|
<doc xml:space="preserve">Similar to gst_video_decoder_drop_frame(), but simply releases @frame
|
|
without any processing other than removing it from list of pending frames,
|
|
after which it is considered finished and released.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstVideoCodecFrame to release</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_estimate_rate" c:identifier="gst_video_decoder_set_estimate_rate">
|
|
<doc xml:space="preserve">Allows baseclass to perform byte to time estimated conversion.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="enabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether to enable byte to time conversion</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_interlaced_output_state" c:identifier="gst_video_decoder_set_interlaced_output_state" version="1.16.">
|
|
<doc xml:space="preserve">Same as #gst_video_decoder_set_output_state() but also allows you to also set
|
|
the interlacing mode.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly configured output state.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="fmt" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="interlace_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoInterlaceMode</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">The height in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="reference" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">An optional reference #GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_latency" c:identifier="gst_video_decoder_set_latency">
|
|
<doc xml:space="preserve">Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder
|
|
latency is. Will also post a LATENCY message on the bus so the pipeline
|
|
can reconfigure its global latency.</doc>
|
|
<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">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum latency</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="max_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">maximum latency</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_max_errors" c:identifier="gst_video_decoder_set_max_errors">
|
|
<doc xml:space="preserve">Sets numbers of tolerated decoder errors, where a tolerated one is then only
|
|
warned about, but more than tolerated will lead to fatal error. You can set
|
|
-1 for never returning fatal errors. Default is set to
|
|
GST_VIDEO_DECODER_MAX_ERRORS.
|
|
|
|
The '-1' option was added in 1.4</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="num" transfer-ownership="none">
|
|
<doc xml:space="preserve">max tolerated errors</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_needs_format" c:identifier="gst_video_decoder_set_needs_format" version="1.4">
|
|
<doc xml:space="preserve">Configures decoder format needs. If enabled, subclass needs to be
|
|
negotiated with format caps before it can process any data. It will then
|
|
never be handed any data before it has been configured.
|
|
Otherwise, it might be handed data without having been configured and
|
|
is then expected being able to do so either by default
|
|
or based on the input data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dec" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="enabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">new state</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_output_state" c:identifier="gst_video_decoder_set_output_state">
|
|
<doc xml:space="preserve">Creates a new #GstVideoCodecState with the specified @fmt, @width and @height
|
|
as the output state for the decoder.
|
|
Any previously set output state on @decoder will be replaced by the newly
|
|
created one.
|
|
|
|
If the subclass wishes to copy over existing fields (like pixel aspec ratio,
|
|
or framerate) from an existing #GstVideoCodecState, it can be provided as a
|
|
@reference.
|
|
|
|
If the subclass wishes to override some fields from the output state (like
|
|
pixel-aspect-ratio or framerate) it can do so on the returned #GstVideoCodecState.
|
|
|
|
The new output state will only take effect (set on pads and buffers) starting
|
|
from the next call to #gst_video_decoder_finish_frame().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly configured output state.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="fmt" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">The height in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="reference" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">An optional reference #GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_packetized" c:identifier="gst_video_decoder_set_packetized">
|
|
<doc xml:space="preserve">Allows baseclass to consider input data as packetized or not. If the
|
|
input is packetized, then the @parse method will not be called.</doc>
|
|
<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">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="packetized" transfer-ownership="none">
|
|
<doc xml:space="preserve">whether the input data should be considered as packetized.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_use_default_pad_acceptcaps" c:identifier="gst_video_decoder_set_use_default_pad_acceptcaps" version="1.6">
|
|
<doc xml:space="preserve">Lets #GstVideoDecoder sub-classes decide if they want the sink pad
|
|
to use the default pad query handler to reply to accept-caps queries.
|
|
|
|
By setting this to true it is possible to further customize the default
|
|
handler with %GST_PAD_SET_ACCEPT_INTERSECT and
|
|
%GST_PAD_SET_ACCEPT_TEMPLATE</doc>
|
|
<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">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="use" transfer-ownership="none">
|
|
<doc xml:space="preserve">if the default pad accept-caps query handling should be used</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="max-errors" version="1.18" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Maximum number of tolerated consecutive decode errors. See
|
|
gst_video_decoder_set_max_errors() for more details.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</property>
|
|
<property name="qos" version="1.18" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">If set to %TRUE the decoder will handle QoS events received
|
|
from downstream elements.
|
|
This includes dropping output frames which are detected as late
|
|
using the metrics reported by those events.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="element" readable="0" private="1">
|
|
<type name="Gst.Element" c:type="GstElement"/>
|
|
</field>
|
|
<field name="sinkpad" readable="0" private="1">
|
|
<type name="Gst.Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="srcpad" readable="0" private="1">
|
|
<type name="Gst.Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="stream_lock" readable="0" private="1">
|
|
<type name="GLib.RecMutex" c:type="GRecMutex"/>
|
|
</field>
|
|
<field name="input_segment" readable="0" private="1">
|
|
<type name="Gst.Segment" c:type="GstSegment"/>
|
|
</field>
|
|
<field name="output_segment" readable="0" private="1">
|
|
<type name="Gst.Segment" c:type="GstSegment"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoDecoderPrivate" c:type="GstVideoDecoderPrivate*"/>
|
|
</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="VideoDecoderClass" c:type="GstVideoDecoderClass" glib:is-gtype-struct-for="VideoDecoder">
|
|
<doc xml:space="preserve">Subclasses can override any of the available virtual methods or not, as
|
|
needed. At minimum @handle_frame needs to be overridden, and @set_format
|
|
and likely as well. If non-packetized input is supported or expected,
|
|
@parse needs to be overridden as well.</doc>
|
|
<field name="element_class" readable="0" private="1">
|
|
<type name="Gst.ElementClass" c:type="GstElementClass"/>
|
|
</field>
|
|
<field name="open">
|
|
<callback name="open">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="close">
|
|
<callback name="close">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="start">
|
|
<callback name="start">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="stop">
|
|
<callback name="stop">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="parse">
|
|
<callback name="parse">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="adapter" transfer-ownership="none">
|
|
<type name="GstBase.Adapter" c:type="GstAdapter*"/>
|
|
</parameter>
|
|
<parameter name="at_eos" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_format">
|
|
<callback name="set_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="reset">
|
|
<callback name="reset">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="hard" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="finish">
|
|
<callback name="finish">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="handle_frame">
|
|
<callback name="handle_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sink_event">
|
|
<callback name="sink_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="src_event">
|
|
<callback name="src_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="negotiate">
|
|
<callback name="negotiate">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDecoder</doc>
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="decide_allocation">
|
|
<callback name="decide_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="propose_allocation">
|
|
<callback name="propose_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="flush">
|
|
<callback name="flush">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sink_query">
|
|
<callback name="sink_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="src_query">
|
|
<callback name="src_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="getcaps">
|
|
<callback name="getcaps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="drain">
|
|
<callback name="drain">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="transform_meta">
|
|
<callback name="transform_meta">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="decoder" transfer-ownership="none">
|
|
<type name="VideoDecoder" c:type="GstVideoDecoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="Gst.Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="padding" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="14">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoDecoderPrivate" c:type="GstVideoDecoderPrivate" disguised="1"/>
|
|
<interface name="VideoDirection" c:symbol-prefix="video_direction" c:type="GstVideoDirection" version="1.10" glib:type-name="GstVideoDirection" glib:get-type="gst_video_direction_get_type" glib:type-struct="VideoDirectionInterface">
|
|
<doc xml:space="preserve">The interface allows unified access to control flipping and rotation
|
|
operations of video-sources or operators.</doc>
|
|
<property name="video-direction" writable="1" construct="1" transfer-ownership="none">
|
|
<type name="VideoOrientationMethod"/>
|
|
</property>
|
|
</interface>
|
|
<record name="VideoDirectionInterface" c:type="GstVideoDirectionInterface" glib:is-gtype-struct-for="VideoDirection" version="1.10">
|
|
<doc xml:space="preserve">#GstVideoDirectionInterface interface.</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
</record>
|
|
<record name="VideoDither" c:type="GstVideoDither" disguised="1">
|
|
<doc xml:space="preserve">GstVideoDither provides implementations of several dithering algorithms
|
|
that can be applied to lines of video pixels to quantize and dither them.</doc>
|
|
<method name="free" c:identifier="gst_video_dither_free">
|
|
<doc xml:space="preserve">Free @dither</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dither" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDither</doc>
|
|
<type name="VideoDither" c:type="GstVideoDither*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="line" c:identifier="gst_video_dither_line">
|
|
<doc xml:space="preserve">Dither @width pixels starting from offset @x in @line using @dither.
|
|
|
|
@y is the line number of @line in the output image.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dither" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDither</doc>
|
|
<type name="VideoDither" c:type="GstVideoDither*"/>
|
|
</instance-parameter>
|
|
<parameter name="line" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointer to the pixels of the line</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">x coordinate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">y coordinate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new" c:identifier="gst_video_dither_new" introspectable="0">
|
|
<doc xml:space="preserve">Make a new dither object for dithering lines of @format using the
|
|
algorithm described by @method.
|
|
|
|
Each component will be quantized to a multiple of @quantizer. Better
|
|
performance is achieved when @quantizer is a power of 2.
|
|
|
|
@width is the width of the lines that this ditherer will handle.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new #GstVideoDither</doc>
|
|
<type name="VideoDither" c:type="GstVideoDither*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDitherMethod</doc>
|
|
<type name="VideoDitherMethod" c:type="GstVideoDitherMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDitherFlags</doc>
|
|
<type name="VideoDitherFlags" c:type="GstVideoDitherFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="quantizer" transfer-ownership="none">
|
|
<doc xml:space="preserve">quantizer</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the lines</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoDitherFlags" glib:type-name="GstVideoDitherFlags" glib:get-type="gst_video_dither_flags_get_type" c:type="GstVideoDitherFlags">
|
|
<doc xml:space="preserve">Extra flags that influence the result from gst_video_chroma_resample_new().</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_DITHER_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="interlaced" value="1" c:identifier="GST_VIDEO_DITHER_FLAG_INTERLACED" glib:nick="interlaced">
|
|
<doc xml:space="preserve">the input is interlaced</doc>
|
|
</member>
|
|
<member name="quantize" value="2" c:identifier="GST_VIDEO_DITHER_FLAG_QUANTIZE" glib:nick="quantize">
|
|
<doc xml:space="preserve">quantize values in addition to adding dither.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoDitherMethod" glib:type-name="GstVideoDitherMethod" glib:get-type="gst_video_dither_method_get_type" c:type="GstVideoDitherMethod">
|
|
<doc xml:space="preserve">Different dithering methods to use.</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_DITHER_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no dithering</doc>
|
|
</member>
|
|
<member name="verterr" value="1" c:identifier="GST_VIDEO_DITHER_VERTERR" glib:nick="verterr">
|
|
<doc xml:space="preserve">propagate rounding errors downwards</doc>
|
|
</member>
|
|
<member name="floyd_steinberg" value="2" c:identifier="GST_VIDEO_DITHER_FLOYD_STEINBERG" glib:nick="floyd-steinberg">
|
|
<doc xml:space="preserve">Dither with floyd-steinberg error diffusion</doc>
|
|
</member>
|
|
<member name="sierra_lite" value="3" c:identifier="GST_VIDEO_DITHER_SIERRA_LITE" glib:nick="sierra-lite">
|
|
<doc xml:space="preserve">Dither with Sierra Lite error diffusion</doc>
|
|
</member>
|
|
<member name="bayer" value="4" c:identifier="GST_VIDEO_DITHER_BAYER" glib:nick="bayer">
|
|
<doc xml:space="preserve">ordered dither using a bayer pattern</doc>
|
|
</member>
|
|
</enumeration>
|
|
<class name="VideoEncoder" c:symbol-prefix="video_encoder" c:type="GstVideoEncoder" parent="Gst.Element" abstract="1" glib:type-name="GstVideoEncoder" glib:get-type="gst_video_encoder_get_type" glib:type-struct="VideoEncoderClass">
|
|
<doc xml:space="preserve">This base class is for video encoders turning raw video into
|
|
encoded video data.
|
|
|
|
GstVideoEncoder and subclass should cooperate as follows.
|
|
|
|
## Configuration
|
|
|
|
* Initially, GstVideoEncoder calls @start when the encoder element
|
|
is activated, which allows subclass to perform any global setup.
|
|
* GstVideoEncoder calls @set_format to inform subclass of the format
|
|
of input video data that it is about to receive. Subclass should
|
|
setup for encoding and configure base class as appropriate
|
|
(e.g. latency). While unlikely, it might be called more than once,
|
|
if changing input parameters require reconfiguration. Baseclass
|
|
will ensure that processing of current configuration is finished.
|
|
* GstVideoEncoder calls @stop at end of all processing.
|
|
|
|
## Data processing
|
|
|
|
* Base class collects input data and metadata into a frame and hands
|
|
this to subclass' @handle_frame.
|
|
|
|
* If codec processing results in encoded data, subclass should call
|
|
@gst_video_encoder_finish_frame to have encoded data pushed
|
|
downstream.
|
|
|
|
* If implemented, baseclass calls subclass @pre_push just prior to
|
|
pushing to allow subclasses to modify some metadata on the buffer.
|
|
If it returns GST_FLOW_OK, the buffer is pushed downstream.
|
|
|
|
* GstVideoEncoderClass will handle both srcpad and sinkpad events.
|
|
Sink events will be passed to subclass if @event callback has been
|
|
provided.
|
|
|
|
## Shutdown phase
|
|
|
|
* GstVideoEncoder class calls @stop to inform the subclass that data
|
|
parsing will be stopped.
|
|
|
|
Subclass is responsible for providing pad template caps for
|
|
source and sink pads. The pads need to be named "sink" and "src". It should
|
|
also be able to provide fixed src pad caps in @getcaps by the time it calls
|
|
@gst_video_encoder_finish_frame.
|
|
|
|
Things that subclass need to take care of:
|
|
|
|
* Provide pad templates
|
|
* Provide source pad caps before pushing the first buffer
|
|
* Accept data in @handle_frame and provide encoded results to
|
|
@gst_video_encoder_finish_frame.
|
|
|
|
|
|
The #GstVideoEncoder:qos property will enable the Quality-of-Service
|
|
features of the encoder which gather statistics about the real-time
|
|
performance of the downstream elements. If enabled, subclasses can
|
|
use gst_video_encoder_get_max_encode_time() to check if input frames
|
|
are already late and drop them right away to give a chance to the
|
|
pipeline to catch up.</doc>
|
|
<implements name="Gst.Preset"/>
|
|
<virtual-method name="close">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="decide_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="finish">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="flush">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="getcaps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="enc" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="handle_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="negotiate" invoker="negotiate">
|
|
<doc xml:space="preserve">Negotiate with downstream elements to currently configured #GstVideoCodecState.
|
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
|
negotiate fails.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="open">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="pre_push">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="propose_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="reset">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="hard" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sink_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="sink_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="src_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="src_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="start">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="stop">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="transform_meta">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="Gst.Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="allocate_output_buffer" c:identifier="gst_video_encoder_allocate_output_buffer">
|
|
<doc xml:space="preserve">Helper function that allocates a buffer to hold an encoded video frame
|
|
for @encoder's current #GstVideoCodecState.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">allocated buffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the buffer</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="allocate_output_frame" c:identifier="gst_video_encoder_allocate_output_frame">
|
|
<doc xml:space="preserve">Helper function that allocates a buffer to hold an encoded video frame for @encoder's
|
|
current #GstVideoCodecState. Subclass should already have configured video
|
|
state and set src pad caps.
|
|
|
|
The buffer allocated here is owned by the frame and you should only
|
|
keep references to the frame, not the buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_FLOW_OK if an output buffer could be allocated</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">size of the buffer</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="finish_frame" c:identifier="gst_video_encoder_finish_frame">
|
|
<doc xml:space="preserve">@frame must have a valid encoded data buffer, whose metadata fields
|
|
are then appropriately set according to frame data or no buffer at
|
|
all if the frame should be dropped.
|
|
It is subsequently pushed downstream or provided to @pre_push.
|
|
In any case, the frame is considered finished and released.
|
|
|
|
After calling this function the output buffer of the frame is to be
|
|
considered read-only. This function will also change the metadata
|
|
of the buffer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn resulting from sending data downstream</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="full">
|
|
<doc xml:space="preserve">an encoded #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="finish_subframe" c:identifier="gst_video_encoder_finish_subframe" version="1.18">
|
|
<doc xml:space="preserve">If multiple subframes are produced for one input frame then use this method
|
|
for each subframe, except for the last one. Before calling this function,
|
|
you need to fill frame->output_buffer with the encoded buffer to push.
|
|
|
|
You must call #gst_video_encoder_finish_frame() for the last sub-frame
|
|
to tell the encoder that the frame has been fully encoded.
|
|
|
|
This function will change the metadata of @frame and frame->output_buffer
|
|
will be pushed downstream.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstFlowReturn resulting from pushing the buffer downstream.</doc>
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame being encoded</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_allocator" c:identifier="gst_video_encoder_get_allocator">
|
|
<doc xml:space="preserve">Lets #GstVideoEncoder sub-classes to know the memory @allocator
|
|
used by the base class and its @params.
|
|
|
|
Unref the @allocator after use it.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="allocator" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstAllocator
|
|
used</doc>
|
|
<type name="Gst.Allocator" c:type="GstAllocator**"/>
|
|
</parameter>
|
|
<parameter name="params" direction="out" caller-allocates="1" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the
|
|
#GstAllocationParams of @allocator</doc>
|
|
<type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frame" c:identifier="gst_video_encoder_get_frame">
|
|
<doc xml:space="preserve">Get a pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">pending unfinished #GstVideoCodecFrame identified by @frame_number.</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame_number" transfer-ownership="none">
|
|
<doc xml:space="preserve">system_frame_number of a frame</doc>
|
|
<type name="gint" c:type="int"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_frames" c:identifier="gst_video_encoder_get_frames">
|
|
<doc xml:space="preserve">Get all pending unfinished #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">pending unfinished #GstVideoCodecFrame.</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="VideoCodecFrame"/>
|
|
</type>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_latency" c:identifier="gst_video_encoder_get_latency">
|
|
<doc xml:space="preserve">Query the configured encoding latency. Results will be returned via
|
|
@min_latency and @max_latency.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_latency" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of variable in which to store the
|
|
configured minimum latency, or %NULL</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="max_latency" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address of variable in which to store the
|
|
configured maximum latency, or %NULL</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_max_encode_time" c:identifier="gst_video_encoder_get_max_encode_time" version="1.14">
|
|
<doc xml:space="preserve">Determines maximum possible encoding time for @frame that will
|
|
allow it to encode and arrive in time (as determined by QoS events).
|
|
In particular, a negative result means encoding in time is no longer possible
|
|
and should therefore occur as soon/skippy as possible.
|
|
|
|
If no QoS events have been received from downstream, or if
|
|
#GstVideoEncoder:qos is disabled this function returns #G_MAXINT64.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">max decoding time.</doc>
|
|
<type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_min_force_key_unit_interval" c:identifier="gst_video_encoder_get_min_force_key_unit_interval" version="1.18">
|
|
<doc xml:space="preserve">Returns the minimum force-keyunit interval, see gst_video_encoder_set_min_force_key_unit_interval()
|
|
for more details.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the minimum force-keyunit interval</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">the encoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_oldest_frame" c:identifier="gst_video_encoder_get_oldest_frame">
|
|
<doc xml:space="preserve">Get the oldest unfinished pending #GstVideoCodecFrame</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">oldest unfinished pending #GstVideoCodecFrame</doc>
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_output_state" c:identifier="gst_video_encoder_get_output_state">
|
|
<doc xml:space="preserve">Get the current #GstVideoCodecState</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">#GstVideoCodecState describing format of video data.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_qos_enabled" c:identifier="gst_video_encoder_is_qos_enabled" version="1.14">
|
|
<doc xml:space="preserve">Checks if @encoder is currently configured to handle Quality-of-Service
|
|
events from downstream.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the encoder is configured to perform Quality-of-Service.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">the encoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="merge_tags" c:identifier="gst_video_encoder_merge_tags">
|
|
<doc xml:space="preserve">Sets the video encoder tags and how they should be merged with any
|
|
upstream stream tags. This will override any tags previously-set
|
|
with gst_video_encoder_merge_tags().
|
|
|
|
Note that this is provided for convenience, and the subclass is
|
|
not required to use this and can still do tag handling on its own.
|
|
|
|
MT safe.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="tags" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstTagList to merge, or NULL to unset
|
|
previously-set tags</doc>
|
|
<type name="Gst.TagList" c:type="const GstTagList*"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
|
|
<type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="negotiate" c:identifier="gst_video_encoder_negotiate">
|
|
<doc xml:space="preserve">Negotiate with downstream elements to currently configured #GstVideoCodecState.
|
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
|
negotiate fails.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="proxy_getcaps" c:identifier="gst_video_encoder_proxy_getcaps">
|
|
<doc xml:space="preserve">Returns caps that express @caps (or sink template caps if @caps == NULL)
|
|
restricted to resolution/format/... combinations supported by downstream
|
|
elements (e.g. muxers).</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstCaps owned by caller</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="enc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">initial caps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="filter" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">filter caps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_headers" c:identifier="gst_video_encoder_set_headers">
|
|
<doc xml:space="preserve">Set the codec headers to be sent downstream whenever requested.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="headers" transfer-ownership="full">
|
|
<doc xml:space="preserve">a list of #GstBuffer containing the codec header</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="Gst.Buffer"/>
|
|
</type>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_latency" c:identifier="gst_video_encoder_set_latency">
|
|
<doc xml:space="preserve">Informs baseclass of encoding latency.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum latency</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="max_latency" transfer-ownership="none">
|
|
<doc xml:space="preserve">maximum latency</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_min_force_key_unit_interval" c:identifier="gst_video_encoder_set_min_force_key_unit_interval" version="1.18">
|
|
<doc xml:space="preserve">Sets the minimum interval for requesting keyframes based on force-keyunit
|
|
events. Setting this to 0 will allow to handle every event, setting this to
|
|
%GST_CLOCK_TIME_NONE causes force-keyunit events to be ignored.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">the encoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="interval" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimum interval</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_min_pts" c:identifier="gst_video_encoder_set_min_pts" version="1.6">
|
|
<doc xml:space="preserve">Request minimal value for PTS passed to handle_frame.
|
|
|
|
For streams with reordered frames this can be used to ensure that there
|
|
is enough time to accommodate first DTS, which may be less than first PTS</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="min_pts" transfer-ownership="none">
|
|
<doc xml:space="preserve">minimal PTS that will be passed to handle_frame</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_output_state" c:identifier="gst_video_encoder_set_output_state">
|
|
<doc xml:space="preserve">Creates a new #GstVideoCodecState with the specified caps as the output state
|
|
for the encoder.
|
|
Any previously set output state on @encoder will be replaced by the newly
|
|
created one.
|
|
|
|
The specified @caps should not contain any resolution, pixel-aspect-ratio,
|
|
framerate, codec-data, .... Those should be specified instead in the returned
|
|
#GstVideoCodecState.
|
|
|
|
If the subclass wishes to copy over existing fields (like pixel aspect ratio,
|
|
or framerate) from an existing #GstVideoCodecState, it can be provided as a
|
|
@reference.
|
|
|
|
If the subclass wishes to override some fields from the output state (like
|
|
pixel-aspect-ratio or framerate) it can do so on the returned #GstVideoCodecState.
|
|
|
|
The new output state will only take effect (set on pads and buffers) starting
|
|
from the next call to #gst_video_encoder_finish_frame().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the newly configured output state.</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstCaps to use for the output</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="reference" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">An optional reference @GstVideoCodecState</doc>
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_qos_enabled" c:identifier="gst_video_encoder_set_qos_enabled" version="1.14">
|
|
<doc xml:space="preserve">Configures @encoder to handle Quality-of-Service events from downstream.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">the encoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="enabled" transfer-ownership="none">
|
|
<doc xml:space="preserve">the new qos value.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<property name="min-force-key-unit-interval" version="1.18" writable="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Minimum interval between force-keyunit requests in nanoseconds. See
|
|
gst_video_encoder_set_min_force_key_unit_interval() for more details.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</property>
|
|
<property name="qos" writable="1" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="element" readable="0" private="1">
|
|
<type name="Gst.Element" c:type="GstElement"/>
|
|
</field>
|
|
<field name="sinkpad" readable="0" private="1">
|
|
<type name="Gst.Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="srcpad" readable="0" private="1">
|
|
<type name="Gst.Pad" c:type="GstPad*"/>
|
|
</field>
|
|
<field name="stream_lock" readable="0" private="1">
|
|
<type name="GLib.RecMutex" c:type="GRecMutex"/>
|
|
</field>
|
|
<field name="input_segment" readable="0" private="1">
|
|
<type name="Gst.Segment" c:type="GstSegment"/>
|
|
</field>
|
|
<field name="output_segment" readable="0" private="1">
|
|
<type name="Gst.Segment" c:type="GstSegment"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoEncoderPrivate" c:type="GstVideoEncoderPrivate*"/>
|
|
</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="VideoEncoderClass" c:type="GstVideoEncoderClass" glib:is-gtype-struct-for="VideoEncoder">
|
|
<doc xml:space="preserve">Subclasses can override any of the available virtual methods or not, as
|
|
needed. At minimum @handle_frame needs to be overridden, and @set_format
|
|
and @get_caps are likely needed as well.</doc>
|
|
<field name="element_class" readable="0" private="1">
|
|
<type name="Gst.ElementClass" c:type="GstElementClass"/>
|
|
</field>
|
|
<field name="open">
|
|
<callback name="open">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="close">
|
|
<callback name="close">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="start">
|
|
<callback name="start">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="stop">
|
|
<callback name="stop">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_format">
|
|
<callback name="set_format">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="state" transfer-ownership="none">
|
|
<type name="VideoCodecState" c:type="GstVideoCodecState*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="handle_frame">
|
|
<callback name="handle_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="reset">
|
|
<callback name="reset">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="hard" transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="finish">
|
|
<callback name="finish">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="pre_push">
|
|
<callback name="pre_push">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="getcaps">
|
|
<callback name="getcaps">
|
|
<return-value transfer-ownership="full">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="enc" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sink_event">
|
|
<callback name="sink_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="src_event">
|
|
<callback name="src_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="negotiate">
|
|
<callback name="negotiate">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the negotiation succeeded, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoEncoder</doc>
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="decide_allocation">
|
|
<callback name="decide_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="propose_allocation">
|
|
<callback name="propose_allocation">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="flush">
|
|
<callback name="flush">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="sink_query">
|
|
<callback name="sink_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="src_query">
|
|
<callback name="src_query">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="transform_meta">
|
|
<callback name="transform_meta">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoEncoder" c:type="GstVideoEncoder*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
|
|
</parameter>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="Gst.Meta" c:type="GstMeta*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="16">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoEncoderPrivate" c:type="GstVideoEncoderPrivate" disguised="1"/>
|
|
<enumeration name="VideoFieldOrder" version="1.12" glib:type-name="GstVideoFieldOrder" glib:get-type="gst_video_field_order_get_type" c:type="GstVideoFieldOrder">
|
|
<doc xml:space="preserve">Field order of interlaced content. This is only valid for
|
|
interlace-mode=interleaved and not interlace-mode=mixed. In the case of
|
|
mixed or GST_VIDEO_FIELD_ORDER_UNKOWN, the field order is signalled via
|
|
buffer flags.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_FIELD_ORDER_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown field order for interlaced content.
|
|
The actual field order is signalled via buffer flags.</doc>
|
|
</member>
|
|
<member name="top_field_first" value="1" c:identifier="GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST" glib:nick="top-field-first">
|
|
<doc xml:space="preserve">top field is first</doc>
|
|
</member>
|
|
<member name="bottom_field_first" value="2" c:identifier="GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST" glib:nick="bottom-field-first">
|
|
<doc xml:space="preserve">bottom field is first</doc>
|
|
</member>
|
|
<function name="from_string" c:identifier="gst_video_field_order_from_string" version="1.12">
|
|
<doc xml:space="preserve">Convert @order to a #GstVideoFieldOrder</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFieldOrder of @order or
|
|
#GST_VIDEO_FIELD_ORDER_UNKNOWN when @order is not a valid
|
|
string representation for a #GstVideoFieldOrder.</doc>
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="order" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field order</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_string" c:identifier="gst_video_field_order_to_string" version="1.12">
|
|
<doc xml:space="preserve">Convert @order to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@order as a string or NULL if @order in invalid.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="order" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFieldOrder</doc>
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<class name="VideoFilter" c:symbol-prefix="video_filter" c:type="GstVideoFilter" parent="GstBase.BaseTransform" abstract="1" glib:type-name="GstVideoFilter" glib:get-type="gst_video_filter_get_type" glib:type-struct="VideoFilterClass">
|
|
<doc xml:space="preserve">Provides useful functions and a base class for video filters.
|
|
|
|
The videofilter will by default enable QoS on the parent GstBaseTransform
|
|
to implement frame dropping.</doc>
|
|
<virtual-method name="set_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="filter" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</instance-parameter>
|
|
<parameter name="incaps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="in_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="outcaps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="out_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="transform_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="filter" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</instance-parameter>
|
|
<parameter name="inframe" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="outframe" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="transform_frame_ip">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="trans" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</instance-parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<field name="element">
|
|
<type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
|
|
</field>
|
|
<field name="negotiated">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</field>
|
|
<field name="in_info">
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="out_info">
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoFilterClass" c:type="GstVideoFilterClass" glib:is-gtype-struct-for="VideoFilter">
|
|
<doc xml:space="preserve">The video filter class structure.</doc>
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="GstBase.BaseTransformClass" c:type="GstBaseTransformClass"/>
|
|
</field>
|
|
<field name="set_info">
|
|
<callback name="set_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</parameter>
|
|
<parameter name="incaps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="in_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="outcaps" transfer-ownership="none">
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="out_info" transfer-ownership="none">
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="transform_frame">
|
|
<callback name="transform_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="filter" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</parameter>
|
|
<parameter name="inframe" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="outframe" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="transform_frame_ip">
|
|
<callback name="transform_frame_ip">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="trans" transfer-ownership="none">
|
|
<type name="VideoFilter" c:type="GstVideoFilter*"/>
|
|
</parameter>
|
|
<parameter name="frame" transfer-ownership="none">
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<bitfield name="VideoFlags" glib:type-name="GstVideoFlags" glib:get-type="gst_video_flags_get_type" c:type="GstVideoFlags">
|
|
<doc xml:space="preserve">Extra video flags</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="variable_fps" value="1" c:identifier="GST_VIDEO_FLAG_VARIABLE_FPS" glib:nick="variable-fps">
|
|
<doc xml:space="preserve">a variable fps is selected, fps_n and fps_d
|
|
denote the maximum fps of the video</doc>
|
|
</member>
|
|
<member name="premultiplied_alpha" value="2" c:identifier="GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA" glib:nick="premultiplied-alpha">
|
|
<doc xml:space="preserve">Each color has been scaled by the alpha
|
|
value.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoFormat" glib:type-name="GstVideoFormat" glib:get-type="gst_video_format_get_type" c:type="GstVideoFormat">
|
|
<doc xml:space="preserve">Enum value describing the most common video formats.
|
|
|
|
See the [GStreamer raw video format design document](https://gstreamer.freedesktop.org/documentation/additional/design/mediatype-video-raw.html#formats)
|
|
for details about the layout and packing of these formats in memory.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_FORMAT_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">Unknown or unset video format id</doc>
|
|
</member>
|
|
<member name="encoded" value="1" c:identifier="GST_VIDEO_FORMAT_ENCODED" glib:nick="encoded">
|
|
<doc xml:space="preserve">Encoded video format. Only ever use that in caps for
|
|
special video formats in combination with non-system
|
|
memory GstCapsFeatures where it does not make sense
|
|
to specify a real video format.</doc>
|
|
</member>
|
|
<member name="i420" value="2" c:identifier="GST_VIDEO_FORMAT_I420" glib:nick="i420">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV</doc>
|
|
</member>
|
|
<member name="yv12" value="3" c:identifier="GST_VIDEO_FORMAT_YV12" glib:nick="yv12">
|
|
<doc xml:space="preserve">planar 4:2:0 YVU (like I420 but UV planes swapped)</doc>
|
|
</member>
|
|
<member name="yuy2" value="4" c:identifier="GST_VIDEO_FORMAT_YUY2" glib:nick="yuy2">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV (Y0-U0-Y1-V0 Y2-U2-Y3-V2 Y4 ...)</doc>
|
|
</member>
|
|
<member name="uyvy" value="5" c:identifier="GST_VIDEO_FORMAT_UYVY" glib:nick="uyvy">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)</doc>
|
|
</member>
|
|
<member name="ayuv" value="6" c:identifier="GST_VIDEO_FORMAT_AYUV" glib:nick="ayuv">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV with alpha channel (A0-Y0-U0-V0 ...)</doc>
|
|
</member>
|
|
<member name="rgbx" value="7" c:identifier="GST_VIDEO_FORMAT_RGBx" glib:nick="rgbx">
|
|
<doc xml:space="preserve">sparse rgb packed into 32 bit, space last</doc>
|
|
</member>
|
|
<member name="bgrx" value="8" c:identifier="GST_VIDEO_FORMAT_BGRx" glib:nick="bgrx">
|
|
<doc xml:space="preserve">sparse reverse rgb packed into 32 bit, space last</doc>
|
|
</member>
|
|
<member name="xrgb" value="9" c:identifier="GST_VIDEO_FORMAT_xRGB" glib:nick="xrgb">
|
|
<doc xml:space="preserve">sparse rgb packed into 32 bit, space first</doc>
|
|
</member>
|
|
<member name="xbgr" value="10" c:identifier="GST_VIDEO_FORMAT_xBGR" glib:nick="xbgr">
|
|
<doc xml:space="preserve">sparse reverse rgb packed into 32 bit, space first</doc>
|
|
</member>
|
|
<member name="rgba" value="11" c:identifier="GST_VIDEO_FORMAT_RGBA" glib:nick="rgba">
|
|
<doc xml:space="preserve">rgb with alpha channel last</doc>
|
|
</member>
|
|
<member name="bgra" value="12" c:identifier="GST_VIDEO_FORMAT_BGRA" glib:nick="bgra">
|
|
<doc xml:space="preserve">reverse rgb with alpha channel last</doc>
|
|
</member>
|
|
<member name="argb" value="13" c:identifier="GST_VIDEO_FORMAT_ARGB" glib:nick="argb">
|
|
<doc xml:space="preserve">rgb with alpha channel first</doc>
|
|
</member>
|
|
<member name="abgr" value="14" c:identifier="GST_VIDEO_FORMAT_ABGR" glib:nick="abgr">
|
|
<doc xml:space="preserve">reverse rgb with alpha channel first</doc>
|
|
</member>
|
|
<member name="rgb" value="15" c:identifier="GST_VIDEO_FORMAT_RGB" glib:nick="rgb">
|
|
<doc xml:space="preserve">RGB packed into 24 bits without padding (`R-G-B-R-G-B`)</doc>
|
|
</member>
|
|
<member name="bgr" value="16" c:identifier="GST_VIDEO_FORMAT_BGR" glib:nick="bgr">
|
|
<doc xml:space="preserve">reverse RGB packed into 24 bits without padding (`B-G-R-B-G-R`)</doc>
|
|
</member>
|
|
<member name="y41b" value="17" c:identifier="GST_VIDEO_FORMAT_Y41B" glib:nick="y41b">
|
|
<doc xml:space="preserve">planar 4:1:1 YUV</doc>
|
|
</member>
|
|
<member name="y42b" value="18" c:identifier="GST_VIDEO_FORMAT_Y42B" glib:nick="y42b">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV</doc>
|
|
</member>
|
|
<member name="yvyu" value="19" c:identifier="GST_VIDEO_FORMAT_YVYU" glib:nick="yvyu">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 ...)</doc>
|
|
</member>
|
|
<member name="y444" value="20" c:identifier="GST_VIDEO_FORMAT_Y444" glib:nick="y444">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV</doc>
|
|
</member>
|
|
<member name="v210" value="21" c:identifier="GST_VIDEO_FORMAT_v210" glib:nick="v210">
|
|
<doc xml:space="preserve">packed 4:2:2 10-bit YUV, complex format</doc>
|
|
</member>
|
|
<member name="v216" value="22" c:identifier="GST_VIDEO_FORMAT_v216" glib:nick="v216">
|
|
<doc xml:space="preserve">packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order</doc>
|
|
</member>
|
|
<member name="nv12" value="23" c:identifier="GST_VIDEO_FORMAT_NV12" glib:nick="nv12">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane</doc>
|
|
</member>
|
|
<member name="nv21" value="24" c:identifier="GST_VIDEO_FORMAT_NV21" glib:nick="nv21">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved VU plane</doc>
|
|
</member>
|
|
<member name="gray8" value="25" c:identifier="GST_VIDEO_FORMAT_GRAY8" glib:nick="gray8">
|
|
<doc xml:space="preserve">8-bit grayscale</doc>
|
|
</member>
|
|
<member name="gray16_be" value="26" c:identifier="GST_VIDEO_FORMAT_GRAY16_BE" glib:nick="gray16-be">
|
|
<doc xml:space="preserve">16-bit grayscale, most significant byte first</doc>
|
|
</member>
|
|
<member name="gray16_le" value="27" c:identifier="GST_VIDEO_FORMAT_GRAY16_LE" glib:nick="gray16-le">
|
|
<doc xml:space="preserve">16-bit grayscale, least significant byte first</doc>
|
|
</member>
|
|
<member name="v308" value="28" c:identifier="GST_VIDEO_FORMAT_v308" glib:nick="v308">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV (Y-U-V ...)</doc>
|
|
</member>
|
|
<member name="rgb16" value="29" c:identifier="GST_VIDEO_FORMAT_RGB16" glib:nick="rgb16">
|
|
<doc xml:space="preserve">rgb 5-6-5 bits per component</doc>
|
|
</member>
|
|
<member name="bgr16" value="30" c:identifier="GST_VIDEO_FORMAT_BGR16" glib:nick="bgr16">
|
|
<doc xml:space="preserve">reverse rgb 5-6-5 bits per component</doc>
|
|
</member>
|
|
<member name="rgb15" value="31" c:identifier="GST_VIDEO_FORMAT_RGB15" glib:nick="rgb15">
|
|
<doc xml:space="preserve">rgb 5-5-5 bits per component</doc>
|
|
</member>
|
|
<member name="bgr15" value="32" c:identifier="GST_VIDEO_FORMAT_BGR15" glib:nick="bgr15">
|
|
<doc xml:space="preserve">reverse rgb 5-5-5 bits per component</doc>
|
|
</member>
|
|
<member name="uyvp" value="33" c:identifier="GST_VIDEO_FORMAT_UYVP" glib:nick="uyvp">
|
|
<doc xml:space="preserve">packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)</doc>
|
|
</member>
|
|
<member name="a420" value="34" c:identifier="GST_VIDEO_FORMAT_A420" glib:nick="a420">
|
|
<doc xml:space="preserve">planar 4:4:2:0 AYUV</doc>
|
|
</member>
|
|
<member name="rgb8p" value="35" c:identifier="GST_VIDEO_FORMAT_RGB8P" glib:nick="rgb8p">
|
|
<doc xml:space="preserve">8-bit paletted RGB</doc>
|
|
</member>
|
|
<member name="yuv9" value="36" c:identifier="GST_VIDEO_FORMAT_YUV9" glib:nick="yuv9">
|
|
<doc xml:space="preserve">planar 4:1:0 YUV</doc>
|
|
</member>
|
|
<member name="yvu9" value="37" c:identifier="GST_VIDEO_FORMAT_YVU9" glib:nick="yvu9">
|
|
<doc xml:space="preserve">planar 4:1:0 YUV (like YUV9 but UV planes swapped)</doc>
|
|
</member>
|
|
<member name="iyu1" value="38" c:identifier="GST_VIDEO_FORMAT_IYU1" glib:nick="iyu1">
|
|
<doc xml:space="preserve">packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...)</doc>
|
|
</member>
|
|
<member name="argb64" value="39" c:identifier="GST_VIDEO_FORMAT_ARGB64" glib:nick="argb64">
|
|
<doc xml:space="preserve">rgb with alpha channel first, 16 bits per channel</doc>
|
|
</member>
|
|
<member name="ayuv64" value="40" c:identifier="GST_VIDEO_FORMAT_AYUV64" glib:nick="ayuv64">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...)</doc>
|
|
</member>
|
|
<member name="r210" value="41" c:identifier="GST_VIDEO_FORMAT_r210" glib:nick="r210">
|
|
<doc xml:space="preserve">packed 4:4:4 RGB, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="i420_10be" value="42" c:identifier="GST_VIDEO_FORMAT_I420_10BE" glib:nick="i420-10be">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="i420_10le" value="43" c:identifier="GST_VIDEO_FORMAT_I420_10LE" glib:nick="i420-10le">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="i422_10be" value="44" c:identifier="GST_VIDEO_FORMAT_I422_10BE" glib:nick="i422-10be">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="i422_10le" value="45" c:identifier="GST_VIDEO_FORMAT_I422_10LE" glib:nick="i422-10le">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV, 10 bits per channel</doc>
|
|
</member>
|
|
<member name="y444_10be" value="46" c:identifier="GST_VIDEO_FORMAT_Y444_10BE" glib:nick="y444-10be">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 10 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="y444_10le" value="47" c:identifier="GST_VIDEO_FORMAT_Y444_10LE" glib:nick="y444-10le">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 10 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="gbr" value="48" c:identifier="GST_VIDEO_FORMAT_GBR" glib:nick="gbr">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 8 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="gbr_10be" value="49" c:identifier="GST_VIDEO_FORMAT_GBR_10BE" glib:nick="gbr-10be">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 10 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="gbr_10le" value="50" c:identifier="GST_VIDEO_FORMAT_GBR_10LE" glib:nick="gbr-10le">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 10 bits per channel (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="nv16" value="51" c:identifier="GST_VIDEO_FORMAT_NV16" glib:nick="nv16">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV with interleaved UV plane (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="nv24" value="52" c:identifier="GST_VIDEO_FORMAT_NV24" glib:nick="nv24">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV with interleaved UV plane (Since: 1.2)</doc>
|
|
</member>
|
|
<member name="nv12_64z32" value="53" c:identifier="GST_VIDEO_FORMAT_NV12_64Z32" glib:nick="nv12-64z32">
|
|
<doc xml:space="preserve">NV12 with 64x32 tiling in zigzag pattern (Since: 1.4)</doc>
|
|
</member>
|
|
<member name="a420_10be" value="54" c:identifier="GST_VIDEO_FORMAT_A420_10BE" glib:nick="a420-10be">
|
|
<doc xml:space="preserve">planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a420_10le" value="55" c:identifier="GST_VIDEO_FORMAT_A420_10LE" glib:nick="a420-10le">
|
|
<doc xml:space="preserve">planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a422_10be" value="56" c:identifier="GST_VIDEO_FORMAT_A422_10BE" glib:nick="a422-10be">
|
|
<doc xml:space="preserve">planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a422_10le" value="57" c:identifier="GST_VIDEO_FORMAT_A422_10LE" glib:nick="a422-10le">
|
|
<doc xml:space="preserve">planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a444_10be" value="58" c:identifier="GST_VIDEO_FORMAT_A444_10BE" glib:nick="a444-10be">
|
|
<doc xml:space="preserve">planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="a444_10le" value="59" c:identifier="GST_VIDEO_FORMAT_A444_10LE" glib:nick="a444-10le">
|
|
<doc xml:space="preserve">planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="nv61" value="60" c:identifier="GST_VIDEO_FORMAT_NV61" glib:nick="nv61">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV with interleaved VU plane (Since: 1.6)</doc>
|
|
</member>
|
|
<member name="p010_10be" value="61" c:identifier="GST_VIDEO_FORMAT_P010_10BE" glib:nick="p010-10be">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="p010_10le" value="62" c:identifier="GST_VIDEO_FORMAT_P010_10LE" glib:nick="p010-10le">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="iyu2" value="63" c:identifier="GST_VIDEO_FORMAT_IYU2" glib:nick="iyu2">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV (U-Y-V ...) (Since: 1.10)</doc>
|
|
</member>
|
|
<member name="vyuy" value="64" c:identifier="GST_VIDEO_FORMAT_VYUY" glib:nick="vyuy">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV (V0-Y0-U0-Y1 V2-Y2-U2-Y3 V4 ...)</doc>
|
|
</member>
|
|
<member name="gbra" value="65" c:identifier="GST_VIDEO_FORMAT_GBRA" glib:nick="gbra">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 8 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbra_10be" value="66" c:identifier="GST_VIDEO_FORMAT_GBRA_10BE" glib:nick="gbra-10be">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbra_10le" value="67" c:identifier="GST_VIDEO_FORMAT_GBRA_10LE" glib:nick="gbra-10le">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbr_12be" value="68" c:identifier="GST_VIDEO_FORMAT_GBR_12BE" glib:nick="gbr-12be">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbr_12le" value="69" c:identifier="GST_VIDEO_FORMAT_GBR_12LE" glib:nick="gbr-12le">
|
|
<doc xml:space="preserve">planar 4:4:4 RGB, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbra_12be" value="70" c:identifier="GST_VIDEO_FORMAT_GBRA_12BE" glib:nick="gbra-12be">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gbra_12le" value="71" c:identifier="GST_VIDEO_FORMAT_GBRA_12LE" glib:nick="gbra-12le">
|
|
<doc xml:space="preserve">planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="i420_12be" value="72" c:identifier="GST_VIDEO_FORMAT_I420_12BE" glib:nick="i420-12be">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="i420_12le" value="73" c:identifier="GST_VIDEO_FORMAT_I420_12LE" glib:nick="i420-12le">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="i422_12be" value="74" c:identifier="GST_VIDEO_FORMAT_I422_12BE" glib:nick="i422-12be">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="i422_12le" value="75" c:identifier="GST_VIDEO_FORMAT_I422_12LE" glib:nick="i422-12le">
|
|
<doc xml:space="preserve">planar 4:2:2 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="y444_12be" value="76" c:identifier="GST_VIDEO_FORMAT_Y444_12BE" glib:nick="y444-12be">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="y444_12le" value="77" c:identifier="GST_VIDEO_FORMAT_Y444_12LE" glib:nick="y444-12le">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 12 bits per channel (Since: 1.12)</doc>
|
|
</member>
|
|
<member name="gray10_le32" value="78" c:identifier="GST_VIDEO_FORMAT_GRAY10_LE32" glib:nick="gray10-le32">
|
|
<doc xml:space="preserve">10-bit grayscale, packed into 32bit words (2 bits padding) (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="nv12_10le32" value="79" c:identifier="GST_VIDEO_FORMAT_NV12_10LE32" glib:nick="nv12-10le32">
|
|
<doc xml:space="preserve">10-bit variant of @GST_VIDEO_FORMAT_NV12, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="nv16_10le32" value="80" c:identifier="GST_VIDEO_FORMAT_NV16_10LE32" glib:nick="nv16-10le32">
|
|
<doc xml:space="preserve">10-bit variant of @GST_VIDEO_FORMAT_NV16, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)</doc>
|
|
</member>
|
|
<member name="nv12_10le40" value="81" c:identifier="GST_VIDEO_FORMAT_NV12_10LE40" glib:nick="nv12-10le40">
|
|
<doc xml:space="preserve">Fully packed variant of NV12_10LE32 (Since: 1.16)</doc>
|
|
</member>
|
|
<member name="y210" value="82" c:identifier="GST_VIDEO_FORMAT_Y210" glib:nick="y210">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV, 10 bits per channel (Since: 1.16)</doc>
|
|
</member>
|
|
<member name="y410" value="83" c:identifier="GST_VIDEO_FORMAT_Y410" glib:nick="y410">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV, 10 bits per channel(A-V-Y-U...) (Since: 1.16)</doc>
|
|
</member>
|
|
<member name="vuya" value="84" c:identifier="GST_VIDEO_FORMAT_VUYA" glib:nick="vuya">
|
|
<doc xml:space="preserve">packed 4:4:4 YUV with alpha channel (V0-U0-Y0-A0...) (Since: 1.16)</doc>
|
|
</member>
|
|
<member name="bgr10a2_le" value="85" c:identifier="GST_VIDEO_FORMAT_BGR10A2_LE" glib:nick="bgr10a2-le">
|
|
<doc xml:space="preserve">packed 4:4:4 RGB with alpha channel(B-G-R-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.16)</doc>
|
|
</member>
|
|
<member name="rgb10a2_le" value="86" c:identifier="GST_VIDEO_FORMAT_RGB10A2_LE" glib:nick="rgb10a2-le">
|
|
<doc xml:space="preserve">packed 4:4:4 RGB with alpha channel(R-G-B-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="y444_16be" value="87" c:identifier="GST_VIDEO_FORMAT_Y444_16BE" glib:nick="y444-16be">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 16 bits per channel (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="y444_16le" value="88" c:identifier="GST_VIDEO_FORMAT_Y444_16LE" glib:nick="y444-16le">
|
|
<doc xml:space="preserve">planar 4:4:4 YUV, 16 bits per channel (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="p016_be" value="89" c:identifier="GST_VIDEO_FORMAT_P016_BE" glib:nick="p016-be">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane, 16 bits per channel (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="p016_le" value="90" c:identifier="GST_VIDEO_FORMAT_P016_LE" glib:nick="p016-le">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane, 16 bits per channel (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="p012_be" value="91" c:identifier="GST_VIDEO_FORMAT_P012_BE" glib:nick="p012-be">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane, 12 bits per channel (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="p012_le" value="92" c:identifier="GST_VIDEO_FORMAT_P012_LE" glib:nick="p012-le">
|
|
<doc xml:space="preserve">planar 4:2:0 YUV with interleaved UV plane, 12 bits per channel (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="y212_be" value="93" c:identifier="GST_VIDEO_FORMAT_Y212_BE" glib:nick="y212-be">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="y212_le" value="94" c:identifier="GST_VIDEO_FORMAT_Y212_LE" glib:nick="y212-le">
|
|
<doc xml:space="preserve">packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="y412_be" value="95" c:identifier="GST_VIDEO_FORMAT_Y412_BE" glib:nick="y412-be">
|
|
<doc xml:space="preserve">packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="y412_le" value="96" c:identifier="GST_VIDEO_FORMAT_Y412_LE" glib:nick="y412-le">
|
|
<doc xml:space="preserve">packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)</doc>
|
|
</member>
|
|
<member name="nv12_4l4" value="97" c:identifier="GST_VIDEO_FORMAT_NV12_4L4" version="1.18" glib:nick="nv12-4l4">
|
|
<doc xml:space="preserve">NV12 with 4x4 tiles in linear order.</doc>
|
|
</member>
|
|
<member name="nv12_32l32" value="98" c:identifier="GST_VIDEO_FORMAT_NV12_32L32" version="1.18" glib:nick="nv12-32l32">
|
|
<doc xml:space="preserve">NV12 with 32x32 tiles in linear order.</doc>
|
|
</member>
|
|
<function name="from_fourcc" c:identifier="gst_video_format_from_fourcc">
|
|
<doc xml:space="preserve">Converts a FOURCC value into the corresponding #GstVideoFormat.
|
|
If the FOURCC cannot be represented by #GstVideoFormat,
|
|
#GST_VIDEO_FORMAT_UNKNOWN is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat describing the FOURCC value</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fourcc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a FOURCC value representing raw YUV video</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="from_masks" c:identifier="gst_video_format_from_masks">
|
|
<doc xml:space="preserve">Find the #GstVideoFormat for the given parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to
|
|
not specify a known format.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="depth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of bits used for a pixel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="bpp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of bits used to store a pixel. This value is bigger than
|
|
@depth</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="endianness" transfer-ownership="none">
|
|
<doc xml:space="preserve">the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="red_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="green_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="blue_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="alpha_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the alpha mask, or 0 if no alpha mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="from_string" c:identifier="gst_video_format_from_string">
|
|
<doc xml:space="preserve">Convert the @format string to its #GstVideoFormat.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the
|
|
string is not a known format.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_info" c:identifier="gst_video_format_get_info">
|
|
<doc xml:space="preserve">Get the #GstVideoFormatInfo for @format</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoFormatInfo for @format.</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="get_palette" c:identifier="gst_video_format_get_palette" version="1.2">
|
|
<doc xml:space="preserve">Get the default palette of @format. This the palette used in the pack
|
|
function for paletted formats.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the default palette of @format or %NULL when
|
|
@format does not have a palette.</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">size of the palette in bytes</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_fourcc" c:identifier="gst_video_format_to_fourcc">
|
|
<doc xml:space="preserve">Converts a #GstVideoFormat value into the corresponding FOURCC. Only
|
|
a few YUV formats have corresponding FOURCC values. If @format has
|
|
no corresponding FOURCC value, 0 is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the FOURCC corresponding to @format</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_string" c:identifier="gst_video_format_to_string">
|
|
<doc xml:space="preserve">Returns a string containing a descriptive name for
|
|
the #GstVideoFormat if there is one, or NULL otherwise.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name corresponding to @format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<bitfield name="VideoFormatFlags" glib:type-name="GstVideoFormatFlags" glib:get-type="gst_video_format_flags_get_type" c:type="GstVideoFormatFlags">
|
|
<doc xml:space="preserve">The different video flags that a format info can have.</doc>
|
|
<member name="yuv" value="1" c:identifier="GST_VIDEO_FORMAT_FLAG_YUV" glib:nick="yuv">
|
|
<doc xml:space="preserve">The video format is YUV, components are numbered
|
|
0=Y, 1=U, 2=V.</doc>
|
|
</member>
|
|
<member name="rgb" value="2" c:identifier="GST_VIDEO_FORMAT_FLAG_RGB" glib:nick="rgb">
|
|
<doc xml:space="preserve">The video format is RGB, components are numbered
|
|
0=R, 1=G, 2=B.</doc>
|
|
</member>
|
|
<member name="gray" value="4" c:identifier="GST_VIDEO_FORMAT_FLAG_GRAY" glib:nick="gray">
|
|
<doc xml:space="preserve">The video is gray, there is one gray component
|
|
with index 0.</doc>
|
|
</member>
|
|
<member name="alpha" value="8" c:identifier="GST_VIDEO_FORMAT_FLAG_ALPHA" glib:nick="alpha">
|
|
<doc xml:space="preserve">The video format has an alpha components with
|
|
the number 3.</doc>
|
|
</member>
|
|
<member name="le" value="16" c:identifier="GST_VIDEO_FORMAT_FLAG_LE" glib:nick="le">
|
|
<doc xml:space="preserve">The video format has data stored in little
|
|
endianness.</doc>
|
|
</member>
|
|
<member name="palette" value="32" c:identifier="GST_VIDEO_FORMAT_FLAG_PALETTE" glib:nick="palette">
|
|
<doc xml:space="preserve">The video format has a palette. The palette
|
|
is stored in the second plane and indexes are stored in the first plane.</doc>
|
|
</member>
|
|
<member name="complex" value="64" c:identifier="GST_VIDEO_FORMAT_FLAG_COMPLEX" glib:nick="complex">
|
|
<doc xml:space="preserve">The video format has a complex layout that
|
|
can't be described with the usual information in the #GstVideoFormatInfo.</doc>
|
|
</member>
|
|
<member name="unpack" value="128" c:identifier="GST_VIDEO_FORMAT_FLAG_UNPACK" glib:nick="unpack">
|
|
<doc xml:space="preserve">This format can be used in a
|
|
#GstVideoFormatUnpack and #GstVideoFormatPack function.</doc>
|
|
</member>
|
|
<member name="tiled" value="256" c:identifier="GST_VIDEO_FORMAT_FLAG_TILED" glib:nick="tiled">
|
|
<doc xml:space="preserve">The format is tiled, there is tiling information
|
|
in the last plane.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoFormatInfo" c:type="GstVideoFormatInfo">
|
|
<doc xml:space="preserve">Information for a video format.</doc>
|
|
<field name="format" writable="1">
|
|
<doc xml:space="preserve">#GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</field>
|
|
<field name="name" writable="1">
|
|
<doc xml:space="preserve">string representation of the format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="description" writable="1">
|
|
<doc xml:space="preserve">use readable description of the format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">#GstVideoFormatFlags</doc>
|
|
<type name="VideoFormatFlags" c:type="GstVideoFormatFlags"/>
|
|
</field>
|
|
<field name="bits" writable="1">
|
|
<doc xml:space="preserve">The number of bits used to pack data items. This can be less than 8
|
|
when multiple pixels are stored in a byte. for values > 8 multiple bytes
|
|
should be read according to the endianness flag before applying the shift
|
|
and mask.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="n_components" writable="1">
|
|
<doc xml:space="preserve">the number of components in the video format.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="shift" writable="1">
|
|
<doc xml:space="preserve">the number of bits to shift away to get the component data</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="depth" writable="1">
|
|
<doc xml:space="preserve">the depth in bits for each component</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="pixel_stride" writable="1">
|
|
<doc xml:space="preserve">the pixel stride of each component. This is the amount of
|
|
bytes to the pixel immediately to the right. When bits < 8, the stride is
|
|
expressed in bits. For 24-bit RGB, this would be 3 bytes, for example,
|
|
while it would be 4 bytes for RGBx or ARGB.</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</field>
|
|
<field name="n_planes" writable="1">
|
|
<doc xml:space="preserve">the number of planes for this format. The number of planes can be
|
|
less than the amount of components when multiple components are packed into
|
|
one plane.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="plane" writable="1">
|
|
<doc xml:space="preserve">the plane number where a component can be found</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="poffset" writable="1">
|
|
<doc xml:space="preserve">the offset in the plane where the first pixel of the components
|
|
can be found.</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="w_sub" writable="1">
|
|
<doc xml:space="preserve">subsampling factor of the width for the component. Use
|
|
GST_VIDEO_SUB_SCALE to scale a width.</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="h_sub" writable="1">
|
|
<doc xml:space="preserve">subsampling factor of the height for the component. Use
|
|
GST_VIDEO_SUB_SCALE to scale a height.</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</field>
|
|
<field name="unpack_format" writable="1">
|
|
<doc xml:space="preserve">the format of the unpacked pixels. This format must have the
|
|
#GST_VIDEO_FORMAT_FLAG_UNPACK flag set.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</field>
|
|
<field name="unpack_func" writable="1">
|
|
<doc xml:space="preserve">an unpack function for this format</doc>
|
|
<type name="VideoFormatUnpack" c:type="GstVideoFormatUnpack"/>
|
|
</field>
|
|
<field name="pack_lines" writable="1">
|
|
<doc xml:space="preserve">the amount of lines that will be packed</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="pack_func" writable="1">
|
|
<doc xml:space="preserve">an pack function for this format</doc>
|
|
<type name="VideoFormatPack" c:type="GstVideoFormatPack"/>
|
|
</field>
|
|
<field name="tile_mode" writable="1">
|
|
<doc xml:space="preserve">The tiling mode</doc>
|
|
<type name="VideoTileMode" c:type="GstVideoTileMode"/>
|
|
</field>
|
|
<field name="tile_ws" writable="1">
|
|
<doc xml:space="preserve">The width of a tile, in bytes, represented as a shift</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="tile_hs" writable="1">
|
|
<doc xml:space="preserve">The height of a tile, in bytes, represented as a shift</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="component" c:identifier="gst_video_format_info_component" version="1.18">
|
|
<doc xml:space="preserve">Fill @components with the number of all the components packed in plane @p
|
|
for the format @info. A value of -1 in @components indicates that no more
|
|
components are packed in the plane.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plane number</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="components" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">array used to store component numbers</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<callback name="VideoFormatPack" c:type="GstVideoFormatPack">
|
|
<doc xml:space="preserve">Packs @width pixels from @src to the given planes and strides in the
|
|
format @info. The pixels from source have each component interleaved
|
|
and will be packed into the planes in @data.
|
|
|
|
This function operates on pack_lines lines, meaning that @src should
|
|
contain at least pack_lines lines with a stride of @sstride and @y
|
|
should be a multiple of pack_lines.
|
|
|
|
Subsampled formats will use the horizontally and vertically cosited
|
|
component from the source. Subsampling should be performed before
|
|
packing.
|
|
|
|
Because this function does not have a x coordinate, it is not possible to
|
|
pack pixels starting from an unaligned position. For tiled images this
|
|
means that packing should start from a tile coordinate. For subsampled
|
|
formats this means that a complete pixel needs to be packed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags to control the packing</doc>
|
|
<type name="VideoPackFlags" c:type="GstVideoPackFlags"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a source array</doc>
|
|
<type name="gpointer" c:type="const gpointer"/>
|
|
</parameter>
|
|
<parameter name="sstride" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source array stride</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointers to the destination data planes</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">strides of the destination planes</doc>
|
|
<type name="gint" c:type="const gint*"/>
|
|
</parameter>
|
|
<parameter name="chroma_site" transfer-ownership="none">
|
|
<doc xml:space="preserve">the chroma siting of the target when subsampled (not used)</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the y position in the image to pack to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of pixels to pack.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<callback name="VideoFormatUnpack" c:type="GstVideoFormatUnpack">
|
|
<doc xml:space="preserve">Unpacks @width pixels from the given planes and strides containing data of
|
|
format @info. The pixels will be unpacked into @dest with each component
|
|
interleaved as per @info's unpack_format, which will usually be one of
|
|
#GST_VIDEO_FORMAT_ARGB, #GST_VIDEO_FORMAT_AYUV, #GST_VIDEO_FORMAT_ARGB64 or
|
|
#GST_VIDEO_FORMAT_AYUV64 depending on the format to unpack.
|
|
@dest should at least be big enough to hold @width * bytes_per_pixel bytes
|
|
where bytes_per_pixel relates to the unpack format and will usually be
|
|
either 4 or 8 depending on the unpack format. bytes_per_pixel will be
|
|
the same as the pixel stride for plane 0 for the above formats.
|
|
|
|
For subsampled formats, the components will be duplicated in the destination
|
|
array. Reconstruction of the missing components can be performed in a
|
|
separate step after unpacking.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags to control the unpacking</doc>
|
|
<type name="VideoPackFlags" c:type="GstVideoPackFlags"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a destination array</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pointers to the data planes</doc>
|
|
<type name="gpointer" c:type="const gpointer*"/>
|
|
</parameter>
|
|
<parameter name="stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">strides of the planes</doc>
|
|
<type name="gint" c:type="const gint*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the x position in the image to start from</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the y position in the image to start from</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of pixels to unpack.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="VideoFrame" c:type="GstVideoFrame">
|
|
<doc xml:space="preserve">A video frame obtained from gst_video_frame_map()</doc>
|
|
<field name="info" writable="1">
|
|
<doc xml:space="preserve">the #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">#GstVideoFrameFlags for the frame</doc>
|
|
<type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
|
|
</field>
|
|
<field name="buffer" writable="1">
|
|
<doc xml:space="preserve">the mapped buffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">pointer to metadata if any</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="id" writable="1">
|
|
<doc xml:space="preserve">id of the mapped frame. the id can for example be used to
|
|
identify the frame in case of multiview video.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="data" writable="1">
|
|
<doc xml:space="preserve">pointers to the plane data</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<field name="map" writable="1">
|
|
<doc xml:space="preserve">mappings of the planes</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo"/>
|
|
</array>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="copy" c:identifier="gst_video_frame_copy">
|
|
<doc xml:space="preserve">Copy the contents from @src to @dest.
|
|
|
|
Note: Since: 1.18, @dest dimensions are allowed to be
|
|
smaller than @src dimensions.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the contents could be copied.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="const GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy_plane" c:identifier="gst_video_frame_copy_plane">
|
|
<doc xml:space="preserve">Copy the plane with index @plane from @src to @dest.
|
|
|
|
Note: Since: 1.18, @dest dimensions are allowed to be
|
|
smaller than @src dimensions.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the contents could be copied.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="const GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plane</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map" c:identifier="gst_video_frame_map">
|
|
<doc xml:space="preserve">Use @info and @buffer to fill in the values of @frame. @frame is usually
|
|
allocated on the stack, and you will pass the address to the #GstVideoFrame
|
|
structure allocated on the stack; gst_video_frame_map() will then fill in
|
|
the structures with the various video-specific information you need to access
|
|
the pixels of the video buffer. You can then use accessor macros such as
|
|
GST_VIDEO_FRAME_COMP_DATA(), GST_VIDEO_FRAME_PLANE_DATA(),
|
|
GST_VIDEO_FRAME_COMP_STRIDE(), GST_VIDEO_FRAME_PLANE_STRIDE() etc.
|
|
to get to the pixels.
|
|
|
|
|[<!-- language="C" -->
|
|
GstVideoFrame vframe;
|
|
...
|
|
// set RGB pixels to black one at a time
|
|
if (gst_video_frame_map (&amp;vframe, video_info, video_buffer, GST_MAP_WRITE)) {
|
|
guint8 *pixels = GST_VIDEO_FRAME_PLANE_DATA (vframe, 0);
|
|
guint stride = GST_VIDEO_FRAME_PLANE_STRIDE (vframe, 0);
|
|
guint pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (vframe, 0);
|
|
|
|
for (h = 0; h < height; ++h) {
|
|
for (w = 0; w < width; ++w) {
|
|
guint8 *pixel = pixels + h * stride + w * pixel_stride;
|
|
|
|
memset (pixel, 0, pixel_stride);
|
|
}
|
|
}
|
|
|
|
gst_video_frame_unmap (&amp;vframe);
|
|
}
|
|
...
|
|
]|
|
|
|
|
All video planes of @buffer will be mapped and the pointers will be set in
|
|
@frame->data.
|
|
|
|
The purpose of this function is to make it easy for you to get to the video
|
|
pixels in a generic way, without you having to worry too much about details
|
|
such as whether the video data is allocated in one contiguous memory chunk
|
|
or multiple memory chunks (e.g. one for each plane); or if custom strides
|
|
and custom plane offsets are used or not (as signalled by GstVideoMeta on
|
|
each buffer). This function will just fill the #GstVideoFrame structure
|
|
with the right values and if you use the accessor macros everything will
|
|
just work and you can access the data easily. It also maps the underlying
|
|
memory chunks for you.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the buffer to map</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMapFlags</doc>
|
|
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map_id" c:identifier="gst_video_frame_map_id">
|
|
<doc xml:space="preserve">Use @info and @buffer to fill in the values of @frame with the video frame
|
|
information of frame @id.
|
|
|
|
When @id is -1, the default frame is mapped. When @id != -1, this function
|
|
will return %FALSE when there is no GstVideoMeta with that id.
|
|
|
|
All video planes of @buffer will be mapped and the pointers will be set in
|
|
@frame->data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE on success.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the buffer to map</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frame id to map</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstMapFlags</doc>
|
|
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unmap" c:identifier="gst_video_frame_unmap">
|
|
<doc xml:space="preserve">Unmap the memory previously mapped with gst_video_frame_map.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="frame" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="VideoFrameFlags" glib:type-name="GstVideoFrameFlags" glib:get-type="gst_video_frame_flags_get_type" c:type="GstVideoFrameFlags">
|
|
<doc xml:space="preserve">Extra video frame flags</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_FRAME_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="interlaced" value="1" c:identifier="GST_VIDEO_FRAME_FLAG_INTERLACED" glib:nick="interlaced">
|
|
<doc xml:space="preserve">The video frame is interlaced. In mixed
|
|
interlace-mode, this flag specifies if the frame is interlaced or
|
|
progressive.</doc>
|
|
</member>
|
|
<member name="tff" value="2" c:identifier="GST_VIDEO_FRAME_FLAG_TFF" glib:nick="tff">
|
|
<doc xml:space="preserve">The video frame has the top field first</doc>
|
|
</member>
|
|
<member name="rff" value="4" c:identifier="GST_VIDEO_FRAME_FLAG_RFF" glib:nick="rff">
|
|
<doc xml:space="preserve">The video frame has the repeat flag</doc>
|
|
</member>
|
|
<member name="onefield" value="8" c:identifier="GST_VIDEO_FRAME_FLAG_ONEFIELD" glib:nick="onefield">
|
|
<doc xml:space="preserve">The video frame has one field</doc>
|
|
</member>
|
|
<member name="multiple_view" value="16" c:identifier="GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW" glib:nick="multiple-view">
|
|
<doc xml:space="preserve">The video contains one or
|
|
more non-mono views</doc>
|
|
</member>
|
|
<member name="first_in_bundle" value="32" c:identifier="GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE" glib:nick="first-in-bundle">
|
|
<doc xml:space="preserve">The video frame is the first
|
|
in a set of corresponding views provided as sequential frames.</doc>
|
|
</member>
|
|
<member name="top_field" value="10" c:identifier="GST_VIDEO_FRAME_FLAG_TOP_FIELD" glib:nick="top-field">
|
|
<doc xml:space="preserve">The video frame has the top field only. This
|
|
is the same as GST_VIDEO_FRAME_FLAG_TFF | GST_VIDEO_FRAME_FLAG_ONEFIELD
|
|
(Since: 1.16).</doc>
|
|
</member>
|
|
<member name="bottom_field" value="8" c:identifier="GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD" glib:nick="bottom-field">
|
|
<doc xml:space="preserve">The video frame has the bottom field
|
|
only. This is the same as GST_VIDEO_FRAME_FLAG_ONEFIELD
|
|
(GST_VIDEO_FRAME_FLAG_TFF flag unset) (Since: 1.16).</doc>
|
|
</member>
|
|
</bitfield>
|
|
<bitfield name="VideoFrameMapFlags" version="1.6" glib:type-name="GstVideoFrameMapFlags" glib:get-type="gst_video_frame_map_flags_get_type" c:type="GstVideoFrameMapFlags">
|
|
<doc xml:space="preserve">Additional mapping flags for gst_video_frame_map().</doc>
|
|
<member name="no_ref" value="65536" c:identifier="GST_VIDEO_FRAME_MAP_FLAG_NO_REF" glib:nick="no-ref">
|
|
<doc xml:space="preserve">Don't take another reference of the buffer and store it in
|
|
the GstVideoFrame. This makes sure that the buffer stays
|
|
writable while the frame is mapped, but requires that the
|
|
buffer reference stays valid until the frame is unmapped again.</doc>
|
|
</member>
|
|
<member name="last" value="16777216" c:identifier="GST_VIDEO_FRAME_MAP_FLAG_LAST" glib:nick="last">
|
|
<doc xml:space="preserve">Offset to define more flags</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoGLTextureOrientation" c:type="GstVideoGLTextureOrientation">
|
|
<doc xml:space="preserve">The orientation of the GL texture.</doc>
|
|
<member name="normal_y_normal" value="0" c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL">
|
|
<doc xml:space="preserve">Top line first in memory, left row first</doc>
|
|
</member>
|
|
<member name="normal_y_flip" value="1" c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_FLIP">
|
|
<doc xml:space="preserve">Bottom line first in memory, left row first</doc>
|
|
</member>
|
|
<member name="flip_y_normal" value="2" c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_NORMAL">
|
|
<doc xml:space="preserve">Top line first in memory, right row first</doc>
|
|
</member>
|
|
<member name="flip_y_flip" value="3" c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_FLIP">
|
|
<doc xml:space="preserve">Bottom line first in memory, right row first</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoGLTextureType" c:type="GstVideoGLTextureType">
|
|
<doc xml:space="preserve">The GL texture type.</doc>
|
|
<member name="luminance" value="0" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE">
|
|
<doc xml:space="preserve">Luminance texture, GL_LUMINANCE</doc>
|
|
</member>
|
|
<member name="luminance_alpha" value="1" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA">
|
|
<doc xml:space="preserve">Luminance-alpha texture, GL_LUMINANCE_ALPHA</doc>
|
|
</member>
|
|
<member name="rgb16" value="2" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGB16">
|
|
<doc xml:space="preserve">RGB 565 texture, GL_RGB</doc>
|
|
</member>
|
|
<member name="rgb" value="3" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGB">
|
|
<doc xml:space="preserve">RGB texture, GL_RGB</doc>
|
|
</member>
|
|
<member name="rgba" value="4" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGBA">
|
|
<doc xml:space="preserve">RGBA texture, GL_RGBA</doc>
|
|
</member>
|
|
<member name="r" value="5" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_R">
|
|
<doc xml:space="preserve">R texture, GL_RED_EXT</doc>
|
|
</member>
|
|
<member name="rg" value="6" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RG">
|
|
<doc xml:space="preserve">RG texture, GL_RG_EXT</doc>
|
|
</member>
|
|
</enumeration>
|
|
<callback name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="VideoGLTextureUploadMeta" c:type="GstVideoGLTextureUploadMeta*"/>
|
|
</parameter>
|
|
<parameter name="texture_id" transfer-ownership="none">
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
<record name="VideoGLTextureUploadMeta" c:type="GstVideoGLTextureUploadMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata for uploading a buffer to an OpenGL texture
|
|
ID. The caller of gst_video_gl_texture_upload_meta_upload() must
|
|
have OpenGL set up and call this from a thread where it is valid
|
|
to upload something to an OpenGL texture.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="texture_orientation" writable="1">
|
|
<doc xml:space="preserve">Orientation of the textures</doc>
|
|
<type name="VideoGLTextureOrientation" c:type="GstVideoGLTextureOrientation"/>
|
|
</field>
|
|
<field name="n_textures" writable="1">
|
|
<doc xml:space="preserve">Number of textures that are generated</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="texture_type" writable="1">
|
|
<doc xml:space="preserve">Type of each texture</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="VideoGLTextureType" c:type="GstVideoGLTextureType"/>
|
|
</array>
|
|
</field>
|
|
<field name="buffer" readable="0" private="1">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="upload" readable="0" private="1">
|
|
<type name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload"/>
|
|
</field>
|
|
<field name="user_data" readable="0" private="1">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</field>
|
|
<field name="user_data_copy" readable="0" private="1">
|
|
<type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
|
|
</field>
|
|
<field name="user_data_free" readable="0" private="1">
|
|
<type name="GObject.BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
|
|
</field>
|
|
<method name="upload" c:identifier="gst_video_gl_texture_upload_meta_upload">
|
|
<doc xml:space="preserve">Uploads the buffer which owns the meta to a specific texture ID.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if uploading succeeded, %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoGLTextureUploadMeta</doc>
|
|
<type name="VideoGLTextureUploadMeta" c:type="GstVideoGLTextureUploadMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="texture_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">the texture IDs to upload to</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_info" c:identifier="gst_video_gl_texture_upload_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<enumeration name="VideoGammaMode" version="1.6" glib:type-name="GstVideoGammaMode" glib:get-type="gst_video_gamma_mode_get_type" c:type="GstVideoGammaMode">
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_GAMMA_MODE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">disable gamma handling</doc>
|
|
</member>
|
|
<member name="remap" value="1" c:identifier="GST_VIDEO_GAMMA_MODE_REMAP" glib:nick="remap">
|
|
<doc xml:space="preserve">convert between input and output gamma
|
|
Different gamma conversion modes</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoInfo" c:type="GstVideoInfo" glib:type-name="GstVideoInfo" glib:get-type="gst_video_info_get_type" c:symbol-prefix="video_info">
|
|
<doc xml:space="preserve">Information describing image properties. This information can be filled
|
|
in from GstCaps with gst_video_info_from_caps(). The information is also used
|
|
to store the specific video info when mapping a video frame with
|
|
gst_video_frame_map().
|
|
|
|
Use the provided macros to access the info in this structure.</doc>
|
|
<field name="finfo" writable="1">
|
|
<doc xml:space="preserve">the format info of the video</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</field>
|
|
<field name="interlace_mode" writable="1">
|
|
<doc xml:space="preserve">the interlace mode</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">additional video flags</doc>
|
|
<type name="VideoFlags" c:type="GstVideoFlags"/>
|
|
</field>
|
|
<field name="width" writable="1">
|
|
<doc xml:space="preserve">the width of the video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="height" writable="1">
|
|
<doc xml:space="preserve">the height of the video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="size" writable="1">
|
|
<doc xml:space="preserve">the default size of one frame</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</field>
|
|
<field name="views" writable="1">
|
|
<doc xml:space="preserve">the number of views for multiview video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="chroma_site" writable="1">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite.</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</field>
|
|
<field name="colorimetry" writable="1">
|
|
<doc xml:space="preserve">the colorimetry info</doc>
|
|
<type name="VideoColorimetry" c:type="GstVideoColorimetry"/>
|
|
</field>
|
|
<field name="par_n" writable="1">
|
|
<doc xml:space="preserve">the pixel-aspect-ratio numerator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="par_d" writable="1">
|
|
<doc xml:space="preserve">the pixel-aspect-ratio denominator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="fps_n" writable="1">
|
|
<doc xml:space="preserve">the framerate numerator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="fps_d" writable="1">
|
|
<doc xml:space="preserve">the framerate denominator</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">offsets of the planes</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gsize" c:type="gsize"/>
|
|
</array>
|
|
</field>
|
|
<field name="stride" writable="1">
|
|
<doc xml:space="preserve">strides of the planes</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</field>
|
|
<union name="ABI" c:type="ABI">
|
|
<record name="abi" c:type="abi">
|
|
<field name="multiview_mode" writable="1">
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</field>
|
|
<field name="multiview_flags" writable="1">
|
|
<type name="VideoMultiviewFlags" c:type="GstVideoMultiviewFlags"/>
|
|
</field>
|
|
<field name="field_order" writable="1">
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</field>
|
|
</record>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</union>
|
|
<constructor name="new" c:identifier="gst_video_info_new" version="1.6">
|
|
<doc xml:space="preserve">Allocate a new #GstVideoInfo that is also initialized with
|
|
gst_video_info_init().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoInfo. free with gst_video_info_free().</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<method name="align" c:identifier="gst_video_info_align">
|
|
<doc xml:space="preserve">Adjust the offset and stride fields in @info so that the padding and
|
|
stride alignment in @align is respected.
|
|
|
|
Extra padding will be added to the right side when stride alignment padding
|
|
is required and @align will be updated with the new padding values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if alignment could not be applied, e.g. because the
|
|
size of a frame can't be represented as a 32 bit integer (Since: 1.12)</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">alignment parameters</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="align_full" c:identifier="gst_video_info_align_full" version="1.18">
|
|
<doc xml:space="preserve">This variant of gst_video_info_align() provides the updated size, in bytes,
|
|
of each video plane after the alignment, including all horizontal and vertical
|
|
paddings.
|
|
|
|
In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, the returned sizes are the
|
|
ones used to hold a single field, not the full frame.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if alignment could not be applied, e.g. because the
|
|
size of a frame can't be represented as a 32 bit integer</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">alignment parameters</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</parameter>
|
|
<parameter name="plane_size" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">array used to store the plane sizes</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="convert" c:identifier="gst_video_info_convert">
|
|
<doc xml:space="preserve">Converts among various #GstFormat types. This function handles
|
|
GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For
|
|
raw video, GST_FORMAT_DEFAULT corresponds to video frames. This
|
|
function can be used to handle pad queries of the type GST_QUERY_CONVERT.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the conversion was successful.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="src_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstFormat of the @src_value</doc>
|
|
<type name="Gst.Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="src_value" transfer-ownership="none">
|
|
<doc xml:space="preserve">value to convert</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
<parameter name="dest_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstFormat of the @dest_value</doc>
|
|
<type name="Gst.Format" c:type="GstFormat"/>
|
|
</parameter>
|
|
<parameter name="dest_value" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">pointer to destination value</doc>
|
|
<type name="gint64" c:type="gint64*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_video_info_copy" version="1.6">
|
|
<doc xml:space="preserve">Copy a GstVideoInfo structure.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoInfo. free with gst_video_info_free.</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="const GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_info_free" version="1.6">
|
|
<doc xml:space="preserve">Free a GstVideoInfo structure previously allocated with gst_video_info_new()
|
|
or gst_video_info_copy().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="from_caps" c:identifier="gst_video_info_from_caps">
|
|
<doc xml:space="preserve">Parse @caps and update @info.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if @caps could be parsed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_video_info_init">
|
|
<doc xml:space="preserve">Initialize @info with default values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_video_info_is_equal">
|
|
<doc xml:space="preserve">Compares two #GstVideoInfo and returns whether they are equal or not</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @info and @other are equal, else %FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="const GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="other" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="const GstVideoInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_format" c:identifier="gst_video_info_set_format">
|
|
<doc xml:space="preserve">Set the default info for a video frame of @format and @width and @height.
|
|
|
|
Note: This initializes @info first, no values are preserved. This function
|
|
does not set the offsets correctly for interlaced vertically
|
|
subsampled formats.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if the returned video info is invalid, e.g. because the
|
|
size of a frame can't be represented as a 32 bit integer (Since: 1.12)</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">a width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">a height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_interlaced_format" c:identifier="gst_video_info_set_interlaced_format" version="1.16">
|
|
<doc xml:space="preserve">Same as #gst_video_info_set_format but also allowing to set the interlaced
|
|
mode.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if the returned video info is invalid, e.g. because the
|
|
size of a frame can't be represented as a 32 bit integer.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInterlaceMode</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">a width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">a height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_caps" c:identifier="gst_video_info_to_caps">
|
|
<doc xml:space="preserve">Convert the values of @info into a #GstCaps.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstCaps containing the info of @info.</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="VideoInterlaceMode" glib:type-name="GstVideoInterlaceMode" glib:get-type="gst_video_interlace_mode_get_type" c:type="GstVideoInterlaceMode">
|
|
<doc xml:space="preserve">The possible values of the #GstVideoInterlaceMode describing the interlace
|
|
mode of the stream.</doc>
|
|
<member name="progressive" value="0" c:identifier="GST_VIDEO_INTERLACE_MODE_PROGRESSIVE" glib:nick="progressive">
|
|
<doc xml:space="preserve">all frames are progressive</doc>
|
|
</member>
|
|
<member name="interleaved" value="1" c:identifier="GST_VIDEO_INTERLACE_MODE_INTERLEAVED" glib:nick="interleaved">
|
|
<doc xml:space="preserve">2 fields are interleaved in one video
|
|
frame. Extra buffer flags describe the field order.</doc>
|
|
</member>
|
|
<member name="mixed" value="2" c:identifier="GST_VIDEO_INTERLACE_MODE_MIXED" glib:nick="mixed">
|
|
<doc xml:space="preserve">frames contains both interlaced and
|
|
progressive video, the buffer flags describe the frame and fields.</doc>
|
|
</member>
|
|
<member name="fields" value="3" c:identifier="GST_VIDEO_INTERLACE_MODE_FIELDS" glib:nick="fields">
|
|
<doc xml:space="preserve">2 fields are stored in one buffer, use the
|
|
frame ID to get access to the required field. For multiview (the
|
|
'views' property > 1) the fields of view N can be found at frame ID
|
|
(N * 2) and (N * 2) + 1.
|
|
Each field has only half the amount of lines as noted in the
|
|
height property. This mode requires multiple GstVideoMeta metadata
|
|
to describe the fields.</doc>
|
|
</member>
|
|
<member name="alternate" value="4" c:identifier="GST_VIDEO_INTERLACE_MODE_ALTERNATE" glib:nick="alternate">
|
|
<doc xml:space="preserve">1 field is stored in one buffer,
|
|
@GST_VIDEO_BUFFER_FLAG_TF or @GST_VIDEO_BUFFER_FLAG_BF indicates if
|
|
the buffer is carrying the top or bottom field, respectively. The top and
|
|
bottom buffers must alternate in the pipeline, with this mode
|
|
(Since: 1.16).</doc>
|
|
</member>
|
|
<function name="from_string" c:identifier="gst_video_interlace_mode_from_string" version="1.6">
|
|
<doc xml:space="preserve">Convert @mode to a #GstVideoInterlaceMode</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoInterlaceMode of @mode or
|
|
#GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when @mode is not a valid
|
|
string representation for a #GstVideoInterlaceMode.</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a mode</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_string" c:identifier="gst_video_interlace_mode_to_string" version="1.6">
|
|
<doc xml:space="preserve">Convert @mode to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@mode as a string or NULL if @mode in invalid.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInterlaceMode</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="VideoMasteringDisplayInfo" c:type="GstVideoMasteringDisplayInfo" version="1.18">
|
|
<doc xml:space="preserve">Mastering display color volume information defined by SMPTE ST 2086
|
|
(a.k.a static HDR metadata).</doc>
|
|
<field name="display_primaries" writable="1">
|
|
<doc xml:space="preserve">the xy coordinates of primaries in the CIE 1931 color space.
|
|
the index 0 contains red, 1 is for green and 2 is for blue.
|
|
each value is normalized to 50000 (meaning that in unit of 0.00002)</doc>
|
|
<array zero-terminated="0" fixed-size="3">
|
|
<type name="VideoMasteringDisplayInfoCoordinates" c:type="GstVideoMasteringDisplayInfoCoordinates"/>
|
|
</array>
|
|
</field>
|
|
<field name="white_point" writable="1">
|
|
<doc xml:space="preserve">the xy coordinates of white point in the CIE 1931 color space.
|
|
each value is normalized to 50000 (meaning that in unit of 0.00002)</doc>
|
|
<type name="VideoMasteringDisplayInfoCoordinates" c:type="GstVideoMasteringDisplayInfoCoordinates"/>
|
|
</field>
|
|
<field name="max_display_mastering_luminance" writable="1">
|
|
<doc xml:space="preserve">the maximum value of display luminance
|
|
in unit of 0.0001 candelas per square metre (cd/m^2 and nit)</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="min_display_mastering_luminance" writable="1">
|
|
<doc xml:space="preserve">the minimum value of display luminance
|
|
in unit of 0.0001 candelas per square metre (cd/m^2 and nit)</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="add_to_caps" c:identifier="gst_video_mastering_display_info_add_to_caps" version="1.18">
|
|
<doc xml:space="preserve">Set string representation of @minfo to @caps</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @minfo was successfully set to @caps</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="minfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="VideoMasteringDisplayInfo" c:type="const GstVideoMasteringDisplayInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="from_caps" c:identifier="gst_video_mastering_display_info_from_caps" version="1.18">
|
|
<doc xml:space="preserve">Parse @caps and update @minfo</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @caps has #GstVideoMasteringDisplayInfo and could be parsed</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="minfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="VideoMasteringDisplayInfo" c:type="GstVideoMasteringDisplayInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_video_mastering_display_info_init" version="1.18">
|
|
<doc xml:space="preserve">Initialize @minfo</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="minfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="VideoMasteringDisplayInfo" c:type="GstVideoMasteringDisplayInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_equal" c:identifier="gst_video_mastering_display_info_is_equal" version="1.18">
|
|
<doc xml:space="preserve">Checks equality between @minfo and @other.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @minfo and @other are equal.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="minfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="VideoMasteringDisplayInfo" c:type="const GstVideoMasteringDisplayInfo*"/>
|
|
</instance-parameter>
|
|
<parameter name="other" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="VideoMasteringDisplayInfo" c:type="const GstVideoMasteringDisplayInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_video_mastering_display_info_to_string" version="1.18">
|
|
<doc xml:space="preserve">Convert @minfo to its string representation</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a string representation of @minfo</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="minfo" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="VideoMasteringDisplayInfo" c:type="const GstVideoMasteringDisplayInfo*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="from_string" c:identifier="gst_video_mastering_display_info_from_string" version="1.18">
|
|
<doc xml:space="preserve">Extract #GstVideoMasteringDisplayInfo from @mastering</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @minfo was filled with @mastering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="minfo" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="VideoMasteringDisplayInfo" c:type="GstVideoMasteringDisplayInfo*"/>
|
|
</parameter>
|
|
<parameter name="mastering" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure representing #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<record name="VideoMasteringDisplayInfoCoordinates" c:type="GstVideoMasteringDisplayInfoCoordinates" version="1.18">
|
|
<doc xml:space="preserve">Used to represent display_primaries and white_point of
|
|
#GstVideoMasteringDisplayInfo struct. See #GstVideoMasteringDisplayInfo</doc>
|
|
<field name="x" writable="1">
|
|
<doc xml:space="preserve">the x coordinate of CIE 1931 color space in unit of 0.00002.</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
<field name="y" writable="1">
|
|
<doc xml:space="preserve">the y coordinate of CIE 1931 color space in unit of 0.00002.</doc>
|
|
<type name="guint16" c:type="guint16"/>
|
|
</field>
|
|
</record>
|
|
<enumeration name="VideoMatrixMode" version="1.6" glib:type-name="GstVideoMatrixMode" glib:get-type="gst_video_matrix_mode_get_type" c:type="GstVideoMatrixMode">
|
|
<doc xml:space="preserve">Different color matrix conversion modes</doc>
|
|
<member name="full" value="0" c:identifier="GST_VIDEO_MATRIX_MODE_FULL" glib:nick="full">
|
|
<doc xml:space="preserve">do conversion between color matrices</doc>
|
|
</member>
|
|
<member name="input_only" value="1" c:identifier="GST_VIDEO_MATRIX_MODE_INPUT_ONLY" glib:nick="input-only">
|
|
<doc xml:space="preserve">use the input color matrix to convert
|
|
to and from R'G'B</doc>
|
|
</member>
|
|
<member name="output_only" value="2" c:identifier="GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY" glib:nick="output-only">
|
|
<doc xml:space="preserve">use the output color matrix to convert
|
|
to and from R'G'B</doc>
|
|
</member>
|
|
<member name="none" value="3" c:identifier="GST_VIDEO_MATRIX_MODE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">disable color matrix conversion.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoMeta" c:type="GstVideoMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata describing image properties
|
|
|
|
This meta can also be used by downstream elements to specifiy their
|
|
buffer layout requirements for upstream. Upstream should try to
|
|
fit those requirements, if possible, in order to prevent buffer copies.
|
|
|
|
This is done by passing a custom #GstStructure to
|
|
gst_query_add_allocation_meta() when handling the ALLOCATION query.
|
|
This structure should be named 'video-meta' and can have the following
|
|
fields:
|
|
- padding-top (uint): extra pixels on the top
|
|
- padding-bottom (uint): extra pixels on the bottom
|
|
- padding-left (uint): extra pixels on the left side
|
|
- padding-right (uint): extra pixels on the right side
|
|
The padding fields have the same semantic as #GstVideoMeta.alignment
|
|
and so represent the paddings requested on produced video buffers.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="buffer" writable="1">
|
|
<doc xml:space="preserve">the buffer this metadata belongs to</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">additional video flags</doc>
|
|
<type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
|
|
</field>
|
|
<field name="format" writable="1">
|
|
<doc xml:space="preserve">the video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</field>
|
|
<field name="id" writable="1">
|
|
<doc xml:space="preserve">identifier of the frame</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="width" writable="1">
|
|
<doc xml:space="preserve">the video width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="height" writable="1">
|
|
<doc xml:space="preserve">the video height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="n_planes" writable="1">
|
|
<doc xml:space="preserve">the number of planes in the image</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">array of offsets for the planes. This field might not always be
|
|
valid, it is used by the default implementation of @map.</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gsize" c:type="gsize"/>
|
|
</array>
|
|
</field>
|
|
<field name="stride" writable="1">
|
|
<doc xml:space="preserve">array of strides for the planes. This field might not always be
|
|
valid, it is used by the default implementation of @map.</doc>
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</field>
|
|
<field name="map">
|
|
<callback name="map">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="stride" transfer-ownership="none">
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="unmap">
|
|
<callback name="unmap">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="meta" transfer-ownership="none">
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="alignment" writable="1">
|
|
<doc xml:space="preserve">the paddings and alignment constraints of the video buffer.
|
|
It is up to the caller of `gst_buffer_add_video_meta_full()` to set it
|
|
using gst_video_meta_set_alignment(), if they did not it defaults
|
|
to no padding and no alignment. Since: 1.18</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment"/>
|
|
</field>
|
|
<method name="get_plane_height" c:identifier="gst_video_meta_get_plane_height" version="1.18">
|
|
<doc xml:space="preserve">Compute the padded height of each plane from @meta (padded size
|
|
divided by stride).
|
|
|
|
It is not valid to call this function with a meta associated to a
|
|
TILED video format.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @meta's alignment is valid and @plane_height has been
|
|
updated, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMeta</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="plane_height" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">array used to store the plane height</doc>
|
|
<array zero-terminated="0" c:type="guint*" fixed-size="4">
|
|
<type name="guint" c:type="guint"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_plane_size" c:identifier="gst_video_meta_get_plane_size" version="1.18">
|
|
<doc xml:space="preserve">Compute the size, in bytes, of each video plane described in @meta including
|
|
any padding and alignment constraint defined in @meta->alignment.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @meta's alignment is valid and @plane_size has been
|
|
updated, %FALSE otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMeta</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="plane_size" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">array used to store the plane sizes</doc>
|
|
<array zero-terminated="0" c:type="gsize*" fixed-size="4">
|
|
<type name="gsize" c:type="gsize"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="map" c:identifier="gst_video_meta_map">
|
|
<doc xml:space="preserve">Map the video plane with index @plane in @meta and return a pointer to the
|
|
first byte of the plane and the stride of the plane.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the map operation was successful.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMeta</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plane</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMapInfo</doc>
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
<parameter name="data" direction="out" caller-allocates="0" transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the data of @plane</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="stride" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the stride of @plane</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">@GstMapFlags</doc>
|
|
<type name="Gst.MapFlags" c:type="GstMapFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_alignment" c:identifier="gst_video_meta_set_alignment" version="1.18">
|
|
<doc xml:space="preserve">Set the alignment of @meta to @alignment. This function checks that
|
|
the paddings defined in @alignment are compatible with the strides
|
|
defined in @meta and will fail to update if they are not.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @alignment's meta has been updated, %FALSE if not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMeta</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="alignment" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAlignment</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="unmap" c:identifier="gst_video_meta_unmap">
|
|
<doc xml:space="preserve">Unmap a previously mapped plane with gst_video_meta_map().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the memory was successfully unmapped.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMeta</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="plane" transfer-ownership="none">
|
|
<doc xml:space="preserve">a plane</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMapInfo</doc>
|
|
<type name="Gst.MapInfo" c:type="GstMapInfo*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_info" c:identifier="gst_video_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<record name="VideoMetaTransform" c:type="GstVideoMetaTransform">
|
|
<doc xml:space="preserve">Extra data passed to a video transform #GstMetaTransformFunction such as:
|
|
"gst-video-scale".</doc>
|
|
<field name="in_info" writable="1">
|
|
<doc xml:space="preserve">the input #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</field>
|
|
<field name="out_info" writable="1">
|
|
<doc xml:space="preserve">the output #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</field>
|
|
<function name="scale_get_quark" c:identifier="gst_video_meta_transform_scale_get_quark">
|
|
<doc xml:space="preserve">Get the #GQuark for the "gst-video-scale" metadata transform operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GQuark</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoMultiviewFlags" glib:type-name="GstVideoMultiviewFlags" glib:get-type="gst_video_multiview_flags_get_type" c:type="GstVideoMultiviewFlags">
|
|
<doc xml:space="preserve">GstVideoMultiviewFlags are used to indicate extra properties of a
|
|
stereo/multiview stream beyond the frame layout and buffer mapping
|
|
that is conveyed in the #GstVideoMultiviewMode.</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">No flags</doc>
|
|
</member>
|
|
<member name="right_view_first" value="1" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST" glib:nick="right-view-first">
|
|
<doc xml:space="preserve">For stereo streams, the
|
|
normal arrangement of left and right views is reversed.</doc>
|
|
</member>
|
|
<member name="left_flipped" value="2" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED" glib:nick="left-flipped">
|
|
<doc xml:space="preserve">The left view is vertically
|
|
mirrored.</doc>
|
|
</member>
|
|
<member name="left_flopped" value="4" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED" glib:nick="left-flopped">
|
|
<doc xml:space="preserve">The left view is horizontally
|
|
mirrored.</doc>
|
|
</member>
|
|
<member name="right_flipped" value="8" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED" glib:nick="right-flipped">
|
|
<doc xml:space="preserve">The right view is
|
|
vertically mirrored.</doc>
|
|
</member>
|
|
<member name="right_flopped" value="16" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED" glib:nick="right-flopped">
|
|
<doc xml:space="preserve">The right view is
|
|
horizontally mirrored.</doc>
|
|
</member>
|
|
<member name="half_aspect" value="16384" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT" glib:nick="half-aspect">
|
|
<doc xml:space="preserve">For frame-packed
|
|
multiview modes, indicates that the individual
|
|
views have been encoded with half the true width or height
|
|
and should be scaled back up for display. This flag
|
|
is used for overriding input layout interpretation
|
|
by adjusting pixel-aspect-ratio.
|
|
For side-by-side, column interleaved or checkerboard packings, the
|
|
pixel width will be doubled. For row interleaved and top-bottom
|
|
encodings, pixel height will be doubled.</doc>
|
|
</member>
|
|
<member name="mixed_mono" value="32768" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO" glib:nick="mixed-mono">
|
|
<doc xml:space="preserve">The video stream contains both
|
|
mono and multiview portions, signalled on each buffer by the
|
|
absence or presence of the @GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW
|
|
buffer flag.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<class name="VideoMultiviewFlagsSet" c:symbol-prefix="video_multiview_flagset" parent="Gst.FlagSet" glib:type-name="GstVideoMultiviewFlagsSet" glib:get-type="gst_video_multiview_flagset_get_type" glib:fundamental="1">
|
|
<doc xml:space="preserve">See #GstVideoMultiviewFlags.</doc>
|
|
</class>
|
|
<enumeration name="VideoMultiviewFramePacking" glib:type-name="GstVideoMultiviewFramePacking" glib:get-type="gst_video_multiview_frame_packing_get_type" c:type="GstVideoMultiviewFramePacking">
|
|
<doc xml:space="preserve">#GstVideoMultiviewFramePacking represents the subset of #GstVideoMultiviewMode
|
|
values that can be applied to any video frame without needing extra metadata.
|
|
It can be used by elements that provide a property to override the
|
|
multiview interpretation of a video stream when the video doesn't contain
|
|
any markers.
|
|
|
|
This enum is used (for example) on playbin, to re-interpret a played
|
|
video stream as a stereoscopic video. The individual enum values are
|
|
equivalent to and have the same value as the matching #GstVideoMultiviewMode.</doc>
|
|
<member name="none" value="-1" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">A special value indicating
|
|
no frame packing info.</doc>
|
|
</member>
|
|
<member name="mono" value="0" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO" glib:nick="mono">
|
|
<doc xml:space="preserve">All frames are monoscopic.</doc>
|
|
</member>
|
|
<member name="left" value="1" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT" glib:nick="left">
|
|
<doc xml:space="preserve">All frames represent a left-eye view.</doc>
|
|
</member>
|
|
<member name="right" value="2" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT" glib:nick="right">
|
|
<doc xml:space="preserve">All frames represent a right-eye view.</doc>
|
|
</member>
|
|
<member name="side_by_side" value="3" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE" glib:nick="side-by-side">
|
|
<doc xml:space="preserve">Left and right eye views are
|
|
provided in the left and right half of the frame respectively.</doc>
|
|
</member>
|
|
<member name="side_by_side_quincunx" value="4" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX" glib:nick="side-by-side-quincunx">
|
|
<doc xml:space="preserve">Left and right eye
|
|
views are provided in the left and right half of the frame, but
|
|
have been sampled using quincunx method, with half-pixel offset
|
|
between the 2 views.</doc>
|
|
</member>
|
|
<member name="column_interleaved" value="5" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED" glib:nick="column-interleaved">
|
|
<doc xml:space="preserve">Alternating vertical
|
|
columns of pixels represent the left and right eye view respectively.</doc>
|
|
</member>
|
|
<member name="row_interleaved" value="6" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED" glib:nick="row-interleaved">
|
|
<doc xml:space="preserve">Alternating horizontal
|
|
rows of pixels represent the left and right eye view respectively.</doc>
|
|
</member>
|
|
<member name="top_bottom" value="7" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM" glib:nick="top-bottom">
|
|
<doc xml:space="preserve">The top half of the frame
|
|
contains the left eye, and the bottom half the right eye.</doc>
|
|
</member>
|
|
<member name="checkerboard" value="8" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD" glib:nick="checkerboard">
|
|
<doc xml:space="preserve">Pixels are arranged with
|
|
alternating pixels representing left and right eye views in a
|
|
checkerboard fashion.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoMultiviewMode" glib:type-name="GstVideoMultiviewMode" glib:get-type="gst_video_multiview_mode_get_type" c:type="GstVideoMultiviewMode">
|
|
<doc xml:space="preserve">All possible stereoscopic 3D and multiview representations.
|
|
In conjunction with #GstVideoMultiviewFlags, describes how
|
|
multiview content is being transported in the stream.</doc>
|
|
<member name="none" value="-1" c:identifier="GST_VIDEO_MULTIVIEW_MODE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">A special value indicating
|
|
no multiview information. Used in GstVideoInfo and other places to
|
|
indicate that no specific multiview handling has been requested or
|
|
provided. This value is never carried on caps.</doc>
|
|
</member>
|
|
<member name="mono" value="0" c:identifier="GST_VIDEO_MULTIVIEW_MODE_MONO" glib:nick="mono">
|
|
<doc xml:space="preserve">All frames are monoscopic.</doc>
|
|
</member>
|
|
<member name="left" value="1" c:identifier="GST_VIDEO_MULTIVIEW_MODE_LEFT" glib:nick="left">
|
|
<doc xml:space="preserve">All frames represent a left-eye view.</doc>
|
|
</member>
|
|
<member name="right" value="2" c:identifier="GST_VIDEO_MULTIVIEW_MODE_RIGHT" glib:nick="right">
|
|
<doc xml:space="preserve">All frames represent a right-eye view.</doc>
|
|
</member>
|
|
<member name="side_by_side" value="3" c:identifier="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE" glib:nick="side-by-side">
|
|
<doc xml:space="preserve">Left and right eye views are
|
|
provided in the left and right half of the frame respectively.</doc>
|
|
</member>
|
|
<member name="side_by_side_quincunx" value="4" c:identifier="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX" glib:nick="side-by-side-quincunx">
|
|
<doc xml:space="preserve">Left and right eye
|
|
views are provided in the left and right half of the frame, but
|
|
have been sampled using quincunx method, with half-pixel offset
|
|
between the 2 views.</doc>
|
|
</member>
|
|
<member name="column_interleaved" value="5" c:identifier="GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED" glib:nick="column-interleaved">
|
|
<doc xml:space="preserve">Alternating vertical
|
|
columns of pixels represent the left and right eye view respectively.</doc>
|
|
</member>
|
|
<member name="row_interleaved" value="6" c:identifier="GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED" glib:nick="row-interleaved">
|
|
<doc xml:space="preserve">Alternating horizontal
|
|
rows of pixels represent the left and right eye view respectively.</doc>
|
|
</member>
|
|
<member name="top_bottom" value="7" c:identifier="GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM" glib:nick="top-bottom">
|
|
<doc xml:space="preserve">The top half of the frame
|
|
contains the left eye, and the bottom half the right eye.</doc>
|
|
</member>
|
|
<member name="checkerboard" value="8" c:identifier="GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD" glib:nick="checkerboard">
|
|
<doc xml:space="preserve">Pixels are arranged with
|
|
alternating pixels representing left and right eye views in a
|
|
checkerboard fashion.</doc>
|
|
</member>
|
|
<member name="frame_by_frame" value="32" c:identifier="GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME" glib:nick="frame-by-frame">
|
|
<doc xml:space="preserve">Left and right eye views
|
|
are provided in separate frames alternately.</doc>
|
|
</member>
|
|
<member name="multiview_frame_by_frame" value="33" c:identifier="GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME" glib:nick="multiview-frame-by-frame">
|
|
<doc xml:space="preserve">Multiple
|
|
independent views are provided in separate frames in sequence.
|
|
This method only applies to raw video buffers at the moment.
|
|
Specific view identification is via the `GstVideoMultiviewMeta`
|
|
and #GstVideoMeta(s) on raw video buffers.</doc>
|
|
</member>
|
|
<member name="separated" value="34" c:identifier="GST_VIDEO_MULTIVIEW_MODE_SEPARATED" glib:nick="separated">
|
|
<doc xml:space="preserve">Multiple views are
|
|
provided as separate #GstMemory framebuffers attached to each
|
|
#GstBuffer, described by the `GstVideoMultiviewMeta`
|
|
and #GstVideoMeta(s)</doc>
|
|
</member>
|
|
<function name="from_caps_string" c:identifier="gst_video_multiview_mode_from_caps_string" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoMultiviewMode value
|
|
|
|
Given a string from a caps multiview-mode field,
|
|
output the corresponding #GstVideoMultiviewMode
|
|
or #GST_VIDEO_MULTIVIEW_MODE_NONE</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps_mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">multiview-mode field string from caps</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_caps_string" c:identifier="gst_video_multiview_mode_to_caps_string" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The caps string representation of the mode, or NULL if invalid.
|
|
|
|
Given a #GstVideoMultiviewMode returns the multiview-mode caps string
|
|
for insertion into a caps structure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoMultiviewMode value</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<interface name="VideoOrientation" c:symbol-prefix="video_orientation" c:type="GstVideoOrientation" glib:type-name="GstVideoOrientation" glib:get-type="gst_video_orientation_get_type" glib:type-struct="VideoOrientationInterface">
|
|
<doc xml:space="preserve">The interface allows unified access to control flipping and autocenter
|
|
operation of video-sources or operators.</doc>
|
|
<virtual-method name="get_hcenter" invoker="get_hcenter">
|
|
<doc xml:space="preserve">Get the horizontal centering offset from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_hflip" invoker="get_hflip">
|
|
<doc xml:space="preserve">Get the horizontal flipping state (%TRUE for flipped) from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_vcenter" invoker="get_vcenter">
|
|
<doc xml:space="preserve">Get the vertical centering offset from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="get_vflip" invoker="get_vflip">
|
|
<doc xml:space="preserve">Get the vertical flipping state (%TRUE for flipped) from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_hcenter" invoker="set_hcenter">
|
|
<doc xml:space="preserve">Set the horizontal centering offset for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_hflip" invoker="set_hflip">
|
|
<doc xml:space="preserve">Set the horizontal flipping state (%TRUE for flipped) for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_vcenter" invoker="set_vcenter">
|
|
<doc xml:space="preserve">Set the vertical centering offset for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_vflip" invoker="set_vflip">
|
|
<doc xml:space="preserve">Set the vertical flipping state (%TRUE for flipped) for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="get_hcenter" c:identifier="gst_video_orientation_get_hcenter">
|
|
<doc xml:space="preserve">Get the horizontal centering offset from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_hflip" c:identifier="gst_video_orientation_get_hflip">
|
|
<doc xml:space="preserve">Get the horizontal flipping state (%TRUE for flipped) from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_vcenter" c:identifier="gst_video_orientation_get_vcenter">
|
|
<doc xml:space="preserve">Get the vertical centering offset from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_vflip" c:identifier="gst_video_orientation_get_vflip">
|
|
<doc xml:space="preserve">Get the vertical flipping state (%TRUE for flipped) from the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_hcenter" c:identifier="gst_video_orientation_set_hcenter">
|
|
<doc xml:space="preserve">Set the horizontal centering offset for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_hflip" c:identifier="gst_video_orientation_set_hflip">
|
|
<doc xml:space="preserve">Set the horizontal flipping state (%TRUE for flipped) for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_vcenter" c:identifier="gst_video_orientation_set_vcenter">
|
|
<doc xml:space="preserve">Set the vertical centering offset for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_vflip" c:identifier="gst_video_orientation_set_vflip">
|
|
<doc xml:space="preserve">Set the vertical flipping state (%TRUE for flipped) for the given object.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</instance-parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<record name="VideoOrientationInterface" c:type="GstVideoOrientationInterface" glib:is-gtype-struct-for="VideoOrientation">
|
|
<doc xml:space="preserve">#GstVideoOrientationInterface interface.</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="get_hflip">
|
|
<callback name="get_hflip">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="flip" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_vflip">
|
|
<callback name="get_vflip">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="flip" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_hcenter">
|
|
<callback name="get_hcenter">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="center" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="get_vcenter">
|
|
<callback name="get_vcenter">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="center" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">return location for the result</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_hflip">
|
|
<callback name="set_hflip">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_vflip">
|
|
<callback name="set_vflip">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="flip" transfer-ownership="none">
|
|
<doc xml:space="preserve">use flipping</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_hcenter">
|
|
<callback name="set_hcenter">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_vcenter">
|
|
<callback name="set_vcenter">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE in case the element supports centering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoOrientation interface of a #GstElement</doc>
|
|
<type name="VideoOrientation" c:type="GstVideoOrientation*"/>
|
|
</parameter>
|
|
<parameter name="center" transfer-ownership="none">
|
|
<doc xml:space="preserve">centering offset</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<enumeration name="VideoOrientationMethod" version="1.10" glib:type-name="GstVideoOrientationMethod" glib:get-type="gst_video_orientation_method_get_type" c:type="GstVideoOrientationMethod">
|
|
<doc xml:space="preserve">The different video orientation methods.</doc>
|
|
<member name="identity" value="0" c:identifier="GST_VIDEO_ORIENTATION_IDENTITY" glib:nick="identity">
|
|
<doc xml:space="preserve">Identity (no rotation)</doc>
|
|
</member>
|
|
<member name="90r" value="1" c:identifier="GST_VIDEO_ORIENTATION_90R" glib:nick="90r">
|
|
<doc xml:space="preserve">Rotate clockwise 90 degrees</doc>
|
|
</member>
|
|
<member name="180" value="2" c:identifier="GST_VIDEO_ORIENTATION_180" glib:nick="180">
|
|
<doc xml:space="preserve">Rotate 180 degrees</doc>
|
|
</member>
|
|
<member name="90l" value="3" c:identifier="GST_VIDEO_ORIENTATION_90L" glib:nick="90l">
|
|
<doc xml:space="preserve">Rotate counter-clockwise 90 degrees</doc>
|
|
</member>
|
|
<member name="horiz" value="4" c:identifier="GST_VIDEO_ORIENTATION_HORIZ" glib:nick="horiz">
|
|
<doc xml:space="preserve">Flip horizontally</doc>
|
|
</member>
|
|
<member name="vert" value="5" c:identifier="GST_VIDEO_ORIENTATION_VERT" glib:nick="vert">
|
|
<doc xml:space="preserve">Flip vertically</doc>
|
|
</member>
|
|
<member name="ul_lr" value="6" c:identifier="GST_VIDEO_ORIENTATION_UL_LR" glib:nick="ul-lr">
|
|
<doc xml:space="preserve">Flip across upper left/lower right diagonal</doc>
|
|
</member>
|
|
<member name="ur_ll" value="7" c:identifier="GST_VIDEO_ORIENTATION_UR_LL" glib:nick="ur-ll">
|
|
<doc xml:space="preserve">Flip across upper right/lower left diagonal</doc>
|
|
</member>
|
|
<member name="auto" value="8" c:identifier="GST_VIDEO_ORIENTATION_AUTO" glib:nick="auto">
|
|
<doc xml:space="preserve">Select flip method based on image-orientation tag</doc>
|
|
</member>
|
|
<member name="custom" value="9" c:identifier="GST_VIDEO_ORIENTATION_CUSTOM" glib:nick="custom">
|
|
<doc xml:space="preserve">Current status depends on plugin internal setup</doc>
|
|
</member>
|
|
</enumeration>
|
|
<interface name="VideoOverlay" c:symbol-prefix="video_overlay" c:type="GstVideoOverlay" glib:type-name="GstVideoOverlay" glib:get-type="gst_video_overlay_get_type" glib:type-struct="VideoOverlayInterface">
|
|
<doc xml:space="preserve">The #GstVideoOverlay interface is used for 2 main purposes :
|
|
|
|
* To get a grab on the Window where the video sink element is going to render.
|
|
This is achieved by either being informed about the Window identifier that
|
|
the video sink element generated, or by forcing the video sink element to use
|
|
a specific Window identifier for rendering.
|
|
* To force a redrawing of the latest video frame the video sink element
|
|
displayed on the Window. Indeed if the #GstPipeline is in #GST_STATE_PAUSED
|
|
state, moving the Window around will damage its content. Application
|
|
developers will want to handle the Expose events themselves and force the
|
|
video sink element to refresh the Window's content.
|
|
|
|
Using the Window created by the video sink is probably the simplest scenario,
|
|
in some cases, though, it might not be flexible enough for application
|
|
developers if they need to catch events such as mouse moves and button
|
|
clicks.
|
|
|
|
Setting a specific Window identifier on the video sink element is the most
|
|
flexible solution but it has some issues. Indeed the application needs to set
|
|
its Window identifier at the right time to avoid internal Window creation
|
|
from the video sink element. To solve this issue a #GstMessage is posted on
|
|
the bus to inform the application that it should set the Window identifier
|
|
immediately. Here is an example on how to do that correctly:
|
|
|[
|
|
static GstBusSyncReply
|
|
create_window (GstBus * bus, GstMessage * message, GstPipeline * pipeline)
|
|
{
|
|
// ignore anything but 'prepare-window-handle' element messages
|
|
if (!gst_is_video_overlay_prepare_window_handle_message (message))
|
|
return GST_BUS_PASS;
|
|
|
|
win = XCreateSimpleWindow (disp, root, 0, 0, 320, 240, 0, 0, 0);
|
|
|
|
XSetWindowBackgroundPixmap (disp, win, None);
|
|
|
|
XMapRaised (disp, win);
|
|
|
|
XSync (disp, FALSE);
|
|
|
|
gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)),
|
|
win);
|
|
|
|
gst_message_unref (message);
|
|
|
|
return GST_BUS_DROP;
|
|
}
|
|
...
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
...
|
|
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
|
|
gst_bus_set_sync_handler (bus, (GstBusSyncHandler) create_window, pipeline,
|
|
NULL);
|
|
...
|
|
}
|
|
]|
|
|
|
|
## Two basic usage scenarios
|
|
|
|
There are two basic usage scenarios: in the simplest case, the application
|
|
uses #playbin or #playsink or knows exactly what particular element is used
|
|
for video output, which is usually the case when the application creates
|
|
the videosink to use (e.g. #xvimagesink, #ximagesink, etc.) itself; in this
|
|
case, the application can just create the videosink element, create and
|
|
realize the window to render the video on and then
|
|
call gst_video_overlay_set_window_handle() directly with the XID or native
|
|
window handle, before starting up the pipeline.
|
|
As #playbin and #playsink implement the video overlay interface and proxy
|
|
it transparently to the actual video sink even if it is created later, this
|
|
case also applies when using these elements.
|
|
|
|
In the other and more common case, the application does not know in advance
|
|
what GStreamer video sink element will be used for video output. This is
|
|
usually the case when an element such as #autovideosink is used.
|
|
In this case, the video sink element itself is created
|
|
asynchronously from a GStreamer streaming thread some time after the
|
|
pipeline has been started up. When that happens, however, the video sink
|
|
will need to know right then whether to render onto an already existing
|
|
application window or whether to create its own window. This is when it
|
|
posts a prepare-window-handle message, and that is also why this message needs
|
|
to be handled in a sync bus handler which will be called from the streaming
|
|
thread directly (because the video sink will need an answer right then).
|
|
|
|
As response to the prepare-window-handle element message in the bus sync
|
|
handler, the application may use gst_video_overlay_set_window_handle() to tell
|
|
the video sink to render onto an existing window surface. At this point the
|
|
application should already have obtained the window handle / XID, so it
|
|
just needs to set it. It is generally not advisable to call any GUI toolkit
|
|
functions or window system functions from the streaming thread in which the
|
|
prepare-window-handle message is handled, because most GUI toolkits and
|
|
windowing systems are not thread-safe at all and a lot of care would be
|
|
required to co-ordinate the toolkit and window system calls of the
|
|
different threads (Gtk+ users please note: prior to Gtk+ 2.18
|
|
`GDK_WINDOW_XID` was just a simple structure access, so generally fine to do
|
|
within the bus sync handler; this macro was changed to a function call in
|
|
Gtk+ 2.18 and later, which is likely to cause problems when called from a
|
|
sync handler; see below for a better approach without `GDK_WINDOW_XID`
|
|
used in the callback).
|
|
|
|
## GstVideoOverlay and Gtk+
|
|
|
|
|[
|
|
#include &lt;gst/video/videooverlay.h&gt;
|
|
#include &lt;gtk/gtk.h&gt;
|
|
#ifdef GDK_WINDOWING_X11
|
|
#include &lt;gdk/gdkx.h&gt; // for GDK_WINDOW_XID
|
|
#endif
|
|
#ifdef GDK_WINDOWING_WIN32
|
|
#include &lt;gdk/gdkwin32.h&gt; // for GDK_WINDOW_HWND
|
|
#endif
|
|
...
|
|
static guintptr video_window_handle = 0;
|
|
...
|
|
static GstBusSyncReply
|
|
bus_sync_handler (GstBus * bus, GstMessage * message, gpointer user_data)
|
|
{
|
|
// ignore anything but 'prepare-window-handle' element messages
|
|
if (!gst_is_video_overlay_prepare_window_handle_message (message))
|
|
return GST_BUS_PASS;
|
|
|
|
if (video_window_handle != 0) {
|
|
GstVideoOverlay *overlay;
|
|
|
|
// GST_MESSAGE_SRC (message) will be the video sink element
|
|
overlay = GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message));
|
|
gst_video_overlay_set_window_handle (overlay, video_window_handle);
|
|
} else {
|
|
g_warning ("Should have obtained video_window_handle by now!");
|
|
}
|
|
|
|
gst_message_unref (message);
|
|
return GST_BUS_DROP;
|
|
}
|
|
...
|
|
static void
|
|
video_widget_realize_cb (GtkWidget * widget, gpointer data)
|
|
{
|
|
#if GTK_CHECK_VERSION(2,18,0)
|
|
// Tell Gtk+/Gdk to create a native window for this widget instead of
|
|
// drawing onto the parent widget.
|
|
// This is here just for pedagogical purposes, GDK_WINDOW_XID will call
|
|
// it as well in newer Gtk versions
|
|
if (!gdk_window_ensure_native (widget->window))
|
|
g_error ("Couldn't create native window needed for GstVideoOverlay!");
|
|
#endif
|
|
|
|
#ifdef GDK_WINDOWING_X11
|
|
{
|
|
gulong xid = GDK_WINDOW_XID (gtk_widget_get_window (video_window));
|
|
video_window_handle = xid;
|
|
}
|
|
#endif
|
|
#ifdef GDK_WINDOWING_WIN32
|
|
{
|
|
HWND wnd = GDK_WINDOW_HWND (gtk_widget_get_window (video_window));
|
|
video_window_handle = (guintptr) wnd;
|
|
}
|
|
#endif
|
|
}
|
|
...
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
GtkWidget *video_window;
|
|
GtkWidget *app_window;
|
|
...
|
|
app_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
|
...
|
|
video_window = gtk_drawing_area_new ();
|
|
g_signal_connect (video_window, "realize",
|
|
G_CALLBACK (video_widget_realize_cb), NULL);
|
|
gtk_widget_set_double_buffered (video_window, FALSE);
|
|
...
|
|
// usually the video_window will not be directly embedded into the
|
|
// application window like this, but there will be many other widgets
|
|
// and the video window will be embedded in one of them instead
|
|
gtk_container_add (GTK_CONTAINER (ap_window), video_window);
|
|
...
|
|
// show the GUI
|
|
gtk_widget_show_all (app_window);
|
|
|
|
// realize window now so that the video window gets created and we can
|
|
// obtain its XID/HWND before the pipeline is started up and the videosink
|
|
// asks for the XID/HWND of the window to render onto
|
|
gtk_widget_realize (video_window);
|
|
|
|
// we should have the XID/HWND now
|
|
g_assert (video_window_handle != 0);
|
|
...
|
|
// set up sync handler for setting the xid once the pipeline is started
|
|
bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
|
|
gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bus_sync_handler, NULL,
|
|
NULL);
|
|
gst_object_unref (bus);
|
|
...
|
|
gst_element_set_state (pipeline, GST_STATE_PLAYING);
|
|
...
|
|
}
|
|
]|
|
|
|
|
## GstVideoOverlay and Qt
|
|
|
|
|[
|
|
#include <glib.h>;
|
|
#include <gst/gst.h>;
|
|
#include <gst/video/videooverlay.h>;
|
|
|
|
#include <QApplication>;
|
|
#include <QTimer>;
|
|
#include <QWidget>;
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
if (!g_thread_supported ())
|
|
g_thread_init (NULL);
|
|
|
|
gst_init (&argc, &argv);
|
|
QApplication app(argc, argv);
|
|
app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit ()));
|
|
|
|
// prepare the pipeline
|
|
|
|
GstElement *pipeline = gst_pipeline_new ("xvoverlay");
|
|
GstElement *src = gst_element_factory_make ("videotestsrc", NULL);
|
|
GstElement *sink = gst_element_factory_make ("xvimagesink", NULL);
|
|
gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL);
|
|
gst_element_link (src, sink);
|
|
|
|
// prepare the ui
|
|
|
|
QWidget window;
|
|
window.resize(320, 240);
|
|
window.show();
|
|
|
|
WId xwinid = window.winId();
|
|
gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (sink), xwinid);
|
|
|
|
// run the pipeline
|
|
|
|
GstStateChangeReturn sret = gst_element_set_state (pipeline,
|
|
GST_STATE_PLAYING);
|
|
if (sret == GST_STATE_CHANGE_FAILURE) {
|
|
gst_element_set_state (pipeline, GST_STATE_NULL);
|
|
gst_object_unref (pipeline);
|
|
// Exit application
|
|
QTimer::singleShot(0, QApplication::activeWindow(), SLOT(quit()));
|
|
}
|
|
|
|
int ret = app.exec();
|
|
|
|
window.hide();
|
|
gst_element_set_state (pipeline, GST_STATE_NULL);
|
|
gst_object_unref (pipeline);
|
|
|
|
return ret;
|
|
}
|
|
]|</doc>
|
|
<function name="install_properties" c:identifier="gst_video_overlay_install_properties" version="1.14">
|
|
<doc xml:space="preserve">This helper shall be used by classes implementing the #GstVideoOverlay
|
|
interface that want the render rectangle to be controllable using
|
|
properties. This helper will install "render-rectangle" property into the
|
|
class.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="oclass" transfer-ownership="none">
|
|
<doc xml:space="preserve">The class on which the properties will be installed</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass*"/>
|
|
</parameter>
|
|
<parameter name="last_prop_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The first free property ID to use</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="set_property" c:identifier="gst_video_overlay_set_property" version="1.14">
|
|
<doc xml:space="preserve">This helper shall be used by classes implementing the #GstVideoOverlay
|
|
interface that want the render rectangle to be controllable using
|
|
properties. This helper will parse and set the render rectangle calling
|
|
gst_video_overlay_set_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the @property_id matches the GstVideoOverlay property</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">The instance on which the property is set</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="last_prop_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The highest property ID.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="property_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The property ID</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GValue to be set</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="expose" invoker="expose">
|
|
<doc xml:space="preserve">Tell an overlay that it has been exposed. This will redraw the current frame
|
|
in the drawable even if the pipeline is PAUSED.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="handle_events" invoker="handle_events">
|
|
<doc xml:space="preserve">Tell an overlay that it should handle events from the window system. These
|
|
events are forwarded upstream as navigation events. In some window system,
|
|
events are not propagated in the window hierarchy if a client is listening
|
|
for them. This method allows you to disable events handling completely
|
|
from the #GstVideoOverlay.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle_events" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if events should be handled or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_render_rectangle">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<virtual-method name="set_window_handle" invoker="set_window_handle">
|
|
<doc xml:space="preserve">This will call the video overlay's set_window_handle method. You
|
|
should use this method to tell to an overlay to display video output to a
|
|
specific window (e.g. an XWindow on X11). Passing 0 as the @handle will
|
|
tell the overlay to stop using that window and create an internal one.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to set the window on.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a handle referencing the window.</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<method name="expose" c:identifier="gst_video_overlay_expose">
|
|
<doc xml:space="preserve">Tell an overlay that it has been exposed. This will redraw the current frame
|
|
in the drawable even if the pipeline is PAUSED.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="got_window_handle" c:identifier="gst_video_overlay_got_window_handle">
|
|
<doc xml:space="preserve">This will post a "have-window-handle" element message on the bus.
|
|
|
|
This function should only be used by video overlay plugin developers.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay which got a window</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a platform-specific handle referencing the window</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="handle_events" c:identifier="gst_video_overlay_handle_events">
|
|
<doc xml:space="preserve">Tell an overlay that it should handle events from the window system. These
|
|
events are forwarded upstream as navigation events. In some window system,
|
|
events are not propagated in the window hierarchy if a client is listening
|
|
for them. This method allows you to disable events handling completely
|
|
from the #GstVideoOverlay.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle_events" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if events should be handled or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="prepare_window_handle" c:identifier="gst_video_overlay_prepare_window_handle">
|
|
<doc xml:space="preserve">This will post a "prepare-window-handle" element message on the bus
|
|
to give applications an opportunity to call
|
|
gst_video_overlay_set_window_handle() before a plugin creates its own
|
|
window.
|
|
|
|
This function should only be used by video overlay plugin developers.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay which does not yet have an Window handle set</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_render_rectangle" c:identifier="gst_video_overlay_set_render_rectangle">
|
|
<doc xml:space="preserve">Configure a subregion as a video target within the window set by
|
|
gst_video_overlay_set_window_handle(). If this is not used or not supported
|
|
the video will fill the area of the window set as the overlay to 100%.
|
|
By specifying the rectangle, the video can be overlayed to a specific region
|
|
of that window only. After setting the new rectangle one should call
|
|
gst_video_overlay_expose() to force a redraw. To unset the region pass -1 for
|
|
the @width and @height parameters.
|
|
|
|
This method is needed for non fullscreen video overlay in UI toolkits that
|
|
do not support subwindows.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%FALSE if not supported by the sink.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the horizontal offset of the render area inside the window</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the vertical offset of the render area inside the window</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the render area inside the window</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height of the render area inside the window</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_window_handle" c:identifier="gst_video_overlay_set_window_handle">
|
|
<doc xml:space="preserve">This will call the video overlay's set_window_handle method. You
|
|
should use this method to tell to an overlay to display video output to a
|
|
specific window (e.g. an XWindow on X11). Passing 0 as the @handle will
|
|
tell the overlay to stop using that window and create an internal one.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to set the window on.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</instance-parameter>
|
|
<parameter name="handle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a handle referencing the window.</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</interface>
|
|
<record name="VideoOverlayComposition" c:type="GstVideoOverlayComposition" glib:type-name="GstVideoOverlayComposition" glib:get-type="gst_video_overlay_composition_get_type" c:symbol-prefix="video_overlay_composition">
|
|
<doc xml:space="preserve">Functions to create and handle overlay compositions on video buffers.
|
|
|
|
An overlay composition describes one or more overlay rectangles to be
|
|
blended on top of a video buffer.
|
|
|
|
This API serves two main purposes:
|
|
|
|
* it can be used to attach overlay information (subtitles or logos)
|
|
to non-raw video buffers such as GL/VAAPI/VDPAU surfaces. The actual
|
|
blending of the overlay can then be done by e.g. the video sink that
|
|
processes these non-raw buffers.
|
|
|
|
* it can also be used to blend overlay rectangles on top of raw video
|
|
buffers, thus consolidating blending functionality for raw video in
|
|
one place.
|
|
|
|
Together, this allows existing overlay elements to easily handle raw
|
|
and non-raw video as input in without major changes (once the overlays
|
|
have been put into a #GstVideoOverlayComposition object anyway) - for raw
|
|
video the overlay can just use the blending function to blend the data
|
|
on top of the video, and for surface buffers it can just attach them to
|
|
the buffer and let the sink render the overlays.</doc>
|
|
<constructor name="new" c:identifier="gst_video_overlay_composition_new">
|
|
<doc xml:space="preserve">Creates a new video overlay composition object to hold one or more
|
|
overlay rectangles.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoOverlayComposition. Unref with
|
|
gst_video_overlay_composition_unref() when no longer needed.</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle to add to the
|
|
composition</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_rectangle" c:identifier="gst_video_overlay_composition_add_rectangle">
|
|
<doc xml:space="preserve">Adds an overlay rectangle to an existing overlay composition object. This
|
|
must be done right after creating the overlay composition.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
<parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle to add to the
|
|
composition</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="blend" c:identifier="gst_video_overlay_composition_blend">
|
|
<doc xml:space="preserve">Blends the overlay rectangles in @comp on top of the raw video data
|
|
contained in @video_buf. The data in @video_buf must be writable and
|
|
mapped appropriately.
|
|
|
|
Since @video_buf data is read and will be modified, it ought be
|
|
mapped with flag GST_MAP_READWRITE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
<parameter name="video_buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFrame containing raw video data in a
|
|
supported format. It should be mapped using GST_MAP_READWRITE</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_video_overlay_composition_copy">
|
|
<doc xml:space="preserve">Makes a copy of @comp and all contained rectangles, so that it is possible
|
|
to modify the composition and contained rectangles (e.g. add additional
|
|
rectangles or change the render co-ordinates or render dimension). The
|
|
actual overlay pixel data buffers contained in the rectangles are not
|
|
copied.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoOverlayComposition equivalent
|
|
to @comp.</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition to copy</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_rectangle" c:identifier="gst_video_overlay_composition_get_rectangle">
|
|
<doc xml:space="preserve">Returns the @n-th #GstVideoOverlayRectangle contained in @comp.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the @n-th rectangle, or NULL if @n is out of
|
|
bounds. Will not return a new reference, the caller will need to
|
|
obtain her own reference using gst_video_overlay_rectangle_ref()
|
|
if needed.</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
<parameter name="n" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of the rectangle to get</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_seqnum" c:identifier="gst_video_overlay_composition_get_seqnum">
|
|
<doc xml:space="preserve">Returns the sequence number of this composition. Sequence numbers are
|
|
monotonically increasing and unique for overlay compositions and rectangles
|
|
(meaning there will never be a rectangle with the same sequence number as
|
|
a composition).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the sequence number of @comp</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="make_writable" c:identifier="gst_video_overlay_composition_make_writable">
|
|
<doc xml:space="preserve">Takes ownership of @comp and returns a version of @comp that is writable
|
|
(i.e. can be modified). Will either return @comp right away, or create a
|
|
new writable copy of @comp and unref @comp itself. All the contained
|
|
rectangles will also be copied, but the actual overlay pixel data buffers
|
|
contained in the rectangles are not copied.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a writable #GstVideoOverlayComposition
|
|
equivalent to @comp.</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition to copy</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="n_rectangles" c:identifier="gst_video_overlay_composition_n_rectangles">
|
|
<doc xml:space="preserve">Returns the number of #GstVideoOverlayRectangle<!-- -->s contained in @comp.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of rectangles</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="comp" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="VideoOverlayCompositionMeta" c:type="GstVideoOverlayCompositionMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata describing image overlay data.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="overlay" writable="1">
|
|
<doc xml:space="preserve">the attached #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_video_overlay_composition_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoOverlayFormatFlags" glib:type-name="GstVideoOverlayFormatFlags" glib:get-type="gst_video_overlay_format_flags_get_type" c:type="GstVideoOverlayFormatFlags">
|
|
<doc xml:space="preserve">Overlay format flags.</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="premultiplied_alpha" value="1" c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA" glib:nick="premultiplied-alpha">
|
|
<doc xml:space="preserve">RGB are premultiplied by A/255.</doc>
|
|
</member>
|
|
<member name="global_alpha" value="2" c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA" glib:nick="global-alpha">
|
|
<doc xml:space="preserve">a global-alpha value != 1 is set.</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoOverlayInterface" c:type="GstVideoOverlayInterface" glib:is-gtype-struct-for="VideoOverlay">
|
|
<doc xml:space="preserve">#GstVideoOverlay interface</doc>
|
|
<field name="iface">
|
|
<doc xml:space="preserve">parent interface type.</doc>
|
|
<type name="GObject.TypeInterface" c:type="GTypeInterface"/>
|
|
</field>
|
|
<field name="expose">
|
|
<callback name="expose">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="handle_events">
|
|
<callback name="handle_events">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to expose.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</parameter>
|
|
<parameter name="handle_events" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if events should be handled or not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_render_rectangle">
|
|
<callback name="set_render_rectangle">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overlay" transfer-ownership="none">
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="set_window_handle">
|
|
<callback name="set_window_handle">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="overlay" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlay to set the window on.</doc>
|
|
<type name="VideoOverlay" c:type="GstVideoOverlay*"/>
|
|
</parameter>
|
|
<parameter name="handle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a handle referencing the window.</doc>
|
|
<type name="guintptr" c:type="guintptr"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
</record>
|
|
<record name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle" glib:type-name="GstVideoOverlayRectangle" glib:get-type="gst_video_overlay_rectangle_get_type" c:symbol-prefix="video_overlay_rectangle">
|
|
<doc xml:space="preserve">An opaque video overlay rectangle object. A rectangle contains a single
|
|
overlay rectangle which can be added to a composition.</doc>
|
|
<constructor name="new_raw" c:identifier="gst_video_overlay_rectangle_new_raw">
|
|
<doc xml:space="preserve">Creates a new video overlay rectangle with ARGB or AYUV pixel data.
|
|
The layout in case of ARGB of the components in memory is B-G-R-A
|
|
on little-endian platforms
|
|
(corresponding to #GST_VIDEO_FORMAT_BGRA) and A-R-G-B on big-endian
|
|
platforms (corresponding to #GST_VIDEO_FORMAT_ARGB). In other words,
|
|
pixels are treated as 32-bit words and the lowest 8 bits then contain
|
|
the blue component value and the highest 8 bits contain the alpha
|
|
component value. Unless specified in the flags, the RGB values are
|
|
non-premultiplied. This is the format that is used by most hardware,
|
|
and also many rendering libraries such as Cairo, for example.
|
|
The pixel data buffer must have #GstVideoMeta set.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoOverlayRectangle. Unref with
|
|
gst_video_overlay_rectangle_unref() when no longer needed.</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="pixels" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer pointing to the pixel memory</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="render_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the X co-ordinate on the video where the top-left corner of this
|
|
overlay rectangle should be rendered to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="render_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the Y co-ordinate on the video where the top-left corner of this
|
|
overlay rectangle should be rendered to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="render_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the render width of this rectangle on the video</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="render_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the render height of this rectangle on the video</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags</doc>
|
|
<type name="VideoOverlayFormatFlags" c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="copy" c:identifier="gst_video_overlay_rectangle_copy">
|
|
<doc xml:space="preserve">Makes a copy of @rectangle, so that it is possible to modify it
|
|
(e.g. to change the render co-ordinates or render dimension). The
|
|
actual overlay pixel data buffers contained in the rectangle are not
|
|
copied.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoOverlayRectangle equivalent
|
|
to @rectangle.</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle to copy</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_flags" c:identifier="gst_video_overlay_rectangle_get_flags">
|
|
<doc xml:space="preserve">Retrieves the flags associated with a #GstVideoOverlayRectangle.
|
|
This is useful if the caller can handle both premultiplied alpha and
|
|
non premultiplied alpha, for example. By knowing whether the rectangle
|
|
uses premultiplied or not, it can request the pixel data in the format
|
|
it is stored in, to avoid unnecessary conversion.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoOverlayFormatFlags associated with the rectangle.</doc>
|
|
<type name="VideoOverlayFormatFlags" c:type="GstVideoOverlayFormatFlags"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_global_alpha" c:identifier="gst_video_overlay_rectangle_get_global_alpha">
|
|
<doc xml:space="preserve">Retrieves the global-alpha value associated with a #GstVideoOverlayRectangle.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the global-alpha value associated with the rectangle.</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_argb" c:identifier="gst_video_overlay_rectangle_get_pixels_argb">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the ARGB pixel data with
|
|
width and height of the render dimensions as per
|
|
gst_video_overlay_rectangle_get_render_rectangle(). This function does
|
|
not return a reference, the caller should obtain a reference of her own
|
|
with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags" c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_ayuv" c:identifier="gst_video_overlay_rectangle_get_pixels_ayuv">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the AYUV pixel data with
|
|
width and height of the render dimensions as per
|
|
gst_video_overlay_rectangle_get_render_rectangle(). This function does
|
|
not return a reference, the caller should obtain a reference of her own
|
|
with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags" c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_raw" c:identifier="gst_video_overlay_rectangle_get_pixels_raw">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the pixel data with
|
|
format as originally provided and specified in video meta with
|
|
width and height of the render dimensions as per
|
|
gst_video_overlay_rectangle_get_render_rectangle(). This function does
|
|
not return a reference, the caller should obtain a reference of her own
|
|
with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags" c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_unscaled_argb" c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_argb">
|
|
<doc xml:space="preserve">Retrieves the pixel data as it is. This is useful if the caller can
|
|
do the scaling itself when handling the overlaying. The rectangle will
|
|
need to be scaled to the render dimensions, which can be retrieved using
|
|
gst_video_overlay_rectangle_get_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the ARGB pixel data with
|
|
#GstVideoMeta set. This function does not return a reference, the caller
|
|
should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags.
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags" c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_unscaled_ayuv" c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_ayuv">
|
|
<doc xml:space="preserve">Retrieves the pixel data as it is. This is useful if the caller can
|
|
do the scaling itself when handling the overlaying. The rectangle will
|
|
need to be scaled to the render dimensions, which can be retrieved using
|
|
gst_video_overlay_rectangle_get_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the AYUV pixel data with
|
|
#GstVideoMeta set. This function does not return a reference, the caller
|
|
should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags.
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags" c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_pixels_unscaled_raw" c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_raw">
|
|
<doc xml:space="preserve">Retrieves the pixel data as it is. This is useful if the caller can
|
|
do the scaling itself when handling the overlaying. The rectangle will
|
|
need to be scaled to the render dimensions, which can be retrieved using
|
|
gst_video_overlay_rectangle_get_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer holding the pixel data with
|
|
#GstVideoMeta set. This function does not return a reference, the caller
|
|
should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">flags.
|
|
If a global_alpha value != 1 is set for the rectangle, the caller
|
|
should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
|
|
if he wants to apply global-alpha himself. If the flag is not set
|
|
global_alpha is applied internally before returning the pixel-data.</doc>
|
|
<type name="VideoOverlayFormatFlags" c:type="GstVideoOverlayFormatFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_render_rectangle" c:identifier="gst_video_overlay_rectangle_get_render_rectangle">
|
|
<doc xml:space="preserve">Retrieves the render position and render dimension of the overlay
|
|
rectangle on the video.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if valid render dimensions were retrieved.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="render_x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address where to store the X render offset</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="render_y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address where to store the Y render offset</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="render_width" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address where to store the render width</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="render_height" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">address where to store the render height</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_seqnum" c:identifier="gst_video_overlay_rectangle_get_seqnum">
|
|
<doc xml:space="preserve">Returns the sequence number of this rectangle. Sequence numbers are
|
|
monotonically increasing and unique for overlay compositions and rectangles
|
|
(meaning there will never be a rectangle with the same sequence number as
|
|
a composition).
|
|
|
|
Using the sequence number of a rectangle as an indicator for changed
|
|
pixel-data of a rectangle is dangereous. Some API calls, like e.g.
|
|
gst_video_overlay_rectangle_set_global_alpha(), automatically update
|
|
the per rectangle sequence number, which is misleading for renderers/
|
|
consumers, that handle global-alpha themselves. For them the
|
|
pixel-data returned by gst_video_overlay_rectangle_get_pixels_*()
|
|
won't be different for different global-alpha values. In this case a
|
|
renderer could also use the GstBuffer pointers as a hint for changed
|
|
pixel-data.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the sequence number of @rectangle</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_global_alpha" c:identifier="gst_video_overlay_rectangle_set_global_alpha">
|
|
<doc xml:space="preserve">Sets the global alpha value associated with a #GstVideoOverlayRectangle. Per-
|
|
pixel alpha values are multiplied with this value. Valid
|
|
values: 0 <= global_alpha <= 1; 1 to deactivate.
|
|
|
|
@rectangle must be writable, meaning its refcount must be 1. You can
|
|
make the rectangles inside a #GstVideoOverlayComposition writable using
|
|
gst_video_overlay_composition_make_writable() or
|
|
gst_video_overlay_composition_copy().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="global_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">Global alpha value (0 to 1.0)</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="set_render_rectangle" c:identifier="gst_video_overlay_rectangle_set_render_rectangle">
|
|
<doc xml:space="preserve">Sets the render position and dimensions of the rectangle on the video.
|
|
This function is mainly for elements that modify the size of the video
|
|
in some way (e.g. through scaling or cropping) and need to adjust the
|
|
details of any overlays to match the operation that changed the size.
|
|
|
|
@rectangle must be writable, meaning its refcount must be 1. You can
|
|
make the rectangles inside a #GstVideoOverlayComposition writable using
|
|
gst_video_overlay_composition_make_writable() or
|
|
gst_video_overlay_composition_copy().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="rectangle" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayRectangle</doc>
|
|
<type name="VideoOverlayRectangle" c:type="GstVideoOverlayRectangle*"/>
|
|
</instance-parameter>
|
|
<parameter name="render_x" transfer-ownership="none">
|
|
<doc xml:space="preserve">render X position of rectangle on video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="render_y" transfer-ownership="none">
|
|
<doc xml:space="preserve">render Y position of rectangle on video</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="render_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">render width of rectangle</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="render_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">render height of rectangle</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="VideoPackFlags" glib:type-name="GstVideoPackFlags" glib:get-type="gst_video_pack_flags_get_type" c:type="GstVideoPackFlags">
|
|
<doc xml:space="preserve">The different flags that can be used when packing and unpacking.</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_PACK_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">No flag</doc>
|
|
</member>
|
|
<member name="truncate_range" value="1" c:identifier="GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE" glib:nick="truncate-range">
|
|
<doc xml:space="preserve">When the source has a smaller depth
|
|
than the target format, set the least significant bits of the target
|
|
to 0. This is likely slightly faster but less accurate. When this flag
|
|
is not specified, the most significant bits of the source are duplicated
|
|
in the least significant bits of the destination.</doc>
|
|
</member>
|
|
<member name="interlaced" value="2" c:identifier="GST_VIDEO_PACK_FLAG_INTERLACED" glib:nick="interlaced">
|
|
<doc xml:space="preserve">The source is interlaced. The unpacked
|
|
format will be interlaced as well with each line containing
|
|
information from alternating fields. (Since: 1.2)</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoPrimariesMode" version="1.6" glib:type-name="GstVideoPrimariesMode" glib:get-type="gst_video_primaries_mode_get_type" c:type="GstVideoPrimariesMode">
|
|
<doc xml:space="preserve">Different primaries conversion modes</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_PRIMARIES_MODE_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">disable conversion between primaries</doc>
|
|
</member>
|
|
<member name="merge_only" value="1" c:identifier="GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY" glib:nick="merge-only">
|
|
<doc xml:space="preserve">do conversion between primaries only
|
|
when it can be merged with color matrix conversion.</doc>
|
|
</member>
|
|
<member name="fast" value="2" c:identifier="GST_VIDEO_PRIMARIES_MODE_FAST" glib:nick="fast">
|
|
<doc xml:space="preserve">fast conversion between primaries</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoRectangle" c:type="GstVideoRectangle">
|
|
<doc xml:space="preserve">Helper structure representing a rectangular area.</doc>
|
|
<field name="x" writable="1">
|
|
<doc xml:space="preserve">X coordinate of rectangle's top-left point</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="y" writable="1">
|
|
<doc xml:space="preserve">Y coordinate of rectangle's top-left point</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="w" writable="1">
|
|
<doc xml:space="preserve">width of the rectangle</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="h" writable="1">
|
|
<doc xml:space="preserve">height of the rectangle</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
</record>
|
|
<record name="VideoRegionOfInterestMeta" c:type="GstVideoRegionOfInterestMeta">
|
|
<doc xml:space="preserve">Extra buffer metadata describing an image region of interest</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="roi_type" writable="1">
|
|
<doc xml:space="preserve">GQuark describing the semantic of the Roi (f.i. a face, a pedestrian)</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</field>
|
|
<field name="id" writable="1">
|
|
<doc xml:space="preserve">identifier of this particular ROI</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="parent_id" writable="1">
|
|
<doc xml:space="preserve">identifier of its parent ROI, used f.i. for ROI hierarchisation.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="x" writable="1">
|
|
<doc xml:space="preserve">x component of upper-left corner</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="y" writable="1">
|
|
<doc xml:space="preserve">y component of upper-left corner</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="w" writable="1">
|
|
<doc xml:space="preserve">bounding box width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="h" writable="1">
|
|
<doc xml:space="preserve">bounding box height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="params" writable="1">
|
|
<doc xml:space="preserve">list of #GstStructure containing element-specific params for downstream,
|
|
see gst_video_region_of_interest_meta_add_param(). (Since: 1.14)</doc>
|
|
<type name="GLib.List" c:type="GList*">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</type>
|
|
</field>
|
|
<method name="add_param" c:identifier="gst_video_region_of_interest_meta_add_param" version="1.14">
|
|
<doc xml:space="preserve">Attach element-specific parameters to @meta meant to be used by downstream
|
|
elements which may handle this ROI.
|
|
The name of @s is used to identify the element these parameters are meant for.
|
|
|
|
This is typically used to tell encoders how they should encode this specific region.
|
|
For example, a structure named "roi/x264enc" could be used to give the
|
|
QP offsets this encoder should use when encoding the region described in @meta.
|
|
Multiple parameters can be defined for the same meta so different encoders
|
|
can be supported by cross platform applications).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoRegionOfInterestMeta</doc>
|
|
<type name="VideoRegionOfInterestMeta" c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="s" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_param" c:identifier="gst_video_region_of_interest_meta_get_param" version="1.14">
|
|
<doc xml:space="preserve">Retrieve the parameter for @meta having @name as structure name,
|
|
or %NULL if there is none.</doc>
|
|
<doc-version xml:space="preserve">
|
|
See also: gst_video_region_of_interest_meta_add_param()</doc-version>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="meta" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoRegionOfInterestMeta</doc>
|
|
<type name="VideoRegionOfInterestMeta" c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</instance-parameter>
|
|
<parameter name="name" transfer-ownership="none">
|
|
<doc xml:space="preserve">a name.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="get_info" c:identifier="gst_video_region_of_interest_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<record name="VideoResampler" c:type="GstVideoResampler" version="1.6">
|
|
<doc xml:space="preserve">#GstVideoResampler is a structure which holds the information
|
|
required to perform various kinds of resampling filtering.</doc>
|
|
<field name="in_size" writable="1">
|
|
<doc xml:space="preserve">the input size</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="out_size" writable="1">
|
|
<doc xml:space="preserve">the output size</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="max_taps" writable="1">
|
|
<doc xml:space="preserve">the maximum number of taps</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="n_phases" writable="1">
|
|
<doc xml:space="preserve">the number of phases</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="offset" writable="1">
|
|
<doc xml:space="preserve">array with the source offset for each output element</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</field>
|
|
<field name="phase" writable="1">
|
|
<doc xml:space="preserve">array with the phase to use for each output element</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</field>
|
|
<field name="n_taps" writable="1">
|
|
<doc xml:space="preserve">array with new number of taps for each phase</doc>
|
|
<type name="guint32" c:type="guint32*"/>
|
|
</field>
|
|
<field name="taps" writable="1">
|
|
<doc xml:space="preserve">the taps for all phases</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
<method name="clear" c:identifier="gst_video_resampler_clear" version="1.6">
|
|
<doc xml:space="preserve">Clear a previously initialized #GstVideoResampler @resampler.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resampler" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoResampler</doc>
|
|
<type name="VideoResampler" c:type="GstVideoResampler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_video_resampler_init">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="resampler" transfer-ownership="none">
|
|
<type name="VideoResampler" c:type="GstVideoResampler*"/>
|
|
</instance-parameter>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<type name="VideoResamplerMethod" c:type="GstVideoResamplerMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<type name="VideoResamplerFlags" c:type="GstVideoResamplerFlags"/>
|
|
</parameter>
|
|
<parameter name="n_phases" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_taps" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="shift" transfer-ownership="none">
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
<parameter name="in_size" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="out_size" transfer-ownership="none">
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="options" transfer-ownership="none">
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<bitfield name="VideoResamplerFlags" version="1.6" glib:type-name="GstVideoResamplerFlags" glib:get-type="gst_video_resampler_flags_get_type" c:type="GstVideoResamplerFlags">
|
|
<doc xml:space="preserve">Different resampler flags.</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_RESAMPLER_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="half_taps" value="1" c:identifier="GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS" glib:nick="half-taps">
|
|
<doc xml:space="preserve">when no taps are given, half the
|
|
number of calculated taps. This can be used when making scalers
|
|
for the different fields of an interlaced picture. Since: 1.10</doc>
|
|
</member>
|
|
</bitfield>
|
|
<enumeration name="VideoResamplerMethod" version="1.6" glib:type-name="GstVideoResamplerMethod" glib:get-type="gst_video_resampler_method_get_type" c:type="GstVideoResamplerMethod">
|
|
<doc xml:space="preserve">Different subsampling and upsampling methods</doc>
|
|
<member name="nearest" value="0" c:identifier="GST_VIDEO_RESAMPLER_METHOD_NEAREST" glib:nick="nearest">
|
|
<doc xml:space="preserve">Duplicates the samples when
|
|
upsampling and drops when downsampling</doc>
|
|
</member>
|
|
<member name="linear" value="1" c:identifier="GST_VIDEO_RESAMPLER_METHOD_LINEAR" glib:nick="linear">
|
|
<doc xml:space="preserve">Uses linear interpolation to reconstruct
|
|
missing samples and averaging to downsample</doc>
|
|
</member>
|
|
<member name="cubic" value="2" c:identifier="GST_VIDEO_RESAMPLER_METHOD_CUBIC" glib:nick="cubic">
|
|
<doc xml:space="preserve">Uses cubic interpolation</doc>
|
|
</member>
|
|
<member name="sinc" value="3" c:identifier="GST_VIDEO_RESAMPLER_METHOD_SINC" glib:nick="sinc">
|
|
<doc xml:space="preserve">Uses sinc interpolation</doc>
|
|
</member>
|
|
<member name="lanczos" value="4" c:identifier="GST_VIDEO_RESAMPLER_METHOD_LANCZOS" glib:nick="lanczos">
|
|
<doc xml:space="preserve">Uses lanczos interpolation</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoScaler" c:type="GstVideoScaler" disguised="1">
|
|
<doc xml:space="preserve">#GstVideoScaler is a utility object for rescaling and resampling
|
|
video frames using various interpolation / sampling methods.</doc>
|
|
<method name="2d" c:identifier="gst_video_scaler_2d">
|
|
<doc xml:space="preserve">Scale a rectangle of pixels in @src with @src_stride to @dest with
|
|
@dest_stride using the horizontal scaler @hscaler and the vertical
|
|
scaler @vscale.
|
|
|
|
One or both of @hscale and @vscale can be NULL to only perform scaling in
|
|
one dimension or do a copy without scaling.
|
|
|
|
@x and @y are the coordinates in the destination image to process.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="hscale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a horizontal #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="vscale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a vertical #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat for @srcs and @dest</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">source pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="src_stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">source pixels stride</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">destination pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="dest_stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">destination pixels stride</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">the horizontal destination offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the vertical destination offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of output pixels to scale</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of output lines to scale</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="combine_packed_YUV" c:identifier="gst_video_scaler_combine_packed_YUV" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Combine a scaler for Y and UV into one scaler for the packed @format.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new horizontal videoscaler for @format.</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="y_scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a scaler for the Y component</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="uv_scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a scaler for the U and V components</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</parameter>
|
|
<parameter name="in_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the input video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="out_format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the output video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_scaler_free">
|
|
<doc xml:space="preserve">Free a previously allocated #GstVideoScaler @scale.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_coeff" c:identifier="gst_video_scaler_get_coeff">
|
|
<doc xml:space="preserve">For a given pixel at @out_offset, get the first required input pixel at
|
|
@in_offset and the @n_taps filter coefficients.
|
|
|
|
Note that for interlaced content, @in_offset needs to be incremented with
|
|
2 to get the next input line.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">an array of @n_tap gdouble values with filter coefficients.</doc>
|
|
<type name="gdouble" c:type="const gdouble*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="out_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">an output offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="in_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">result input offset</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_taps" transfer-ownership="none">
|
|
<doc xml:space="preserve">result n_taps</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_max_taps" c:identifier="gst_video_scaler_get_max_taps">
|
|
<doc xml:space="preserve">Get the maximum number of taps for @scale.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum number of taps</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="horizontal" c:identifier="gst_video_scaler_horizontal">
|
|
<doc xml:space="preserve">Horizontally scale the pixels in @src to @dest, starting from @dest_offset
|
|
for @width samples.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat for @src and @dest</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">source pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">destination pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="dest_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the horizontal destination offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pixels to scale</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="vertical" c:identifier="gst_video_scaler_vertical">
|
|
<doc xml:space="preserve">Vertically combine @width pixels in the lines in @src_lines to @dest.
|
|
@dest is the location of the target line at @dest_offset and
|
|
@srcs are the input lines for @dest_offset.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="scale" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</instance-parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat for @srcs and @dest</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="src_lines" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">source pixels lines</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="dest" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">destination pixels</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="dest_offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">the vertical destination offset</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pixels to scale</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<function name="new" c:identifier="gst_video_scaler_new" introspectable="0">
|
|
<doc xml:space="preserve">Make a new @method video scaler. @in_size source lines/pixels will
|
|
be scaled to @out_size destination lines/pixels.
|
|
|
|
@n_taps specifies the amount of pixels to use from the source for one output
|
|
pixel. If n_taps is 0, this function chooses a good value automatically based
|
|
on the @method and @in_size/@out_size.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoResamplerMethod</doc>
|
|
<type name="VideoResamplerMethod" c:type="GstVideoResamplerMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoScalerFlags</doc>
|
|
<type name="VideoScalerFlags" c:type="GstVideoScalerFlags"/>
|
|
</parameter>
|
|
<parameter name="n_taps" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of taps to use</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="in_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of source elements</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="out_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of destination elements</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="options" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">extra options</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</record>
|
|
<bitfield name="VideoScalerFlags" glib:type-name="GstVideoScalerFlags" glib:get-type="gst_video_scaler_flags_get_type" c:type="GstVideoScalerFlags">
|
|
<doc xml:space="preserve">Different scale flags.</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_SCALER_FLAG_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">no flags</doc>
|
|
</member>
|
|
<member name="interlaced" value="1" c:identifier="GST_VIDEO_SCALER_FLAG_INTERLACED" glib:nick="interlaced">
|
|
<doc xml:space="preserve">Set up a scaler for interlaced content</doc>
|
|
</member>
|
|
</bitfield>
|
|
<class name="VideoSink" c:symbol-prefix="video_sink" c:type="GstVideoSink" parent="GstBase.BaseSink" glib:type-name="GstVideoSink" glib:get-type="gst_video_sink_get_type" glib:type-struct="VideoSinkClass">
|
|
<doc xml:space="preserve">Provides useful functions and a base class for video sinks.
|
|
|
|
GstVideoSink will configure the default base sink to drop frames that
|
|
arrive later than 20ms as this is considered the default threshold for
|
|
observing out-of-sync frames.</doc>
|
|
<function name="center_rect" c:identifier="gst_video_sink_center_rect">
|
|
<doc xml:space="preserve">Takes @src rectangle and position it at the center of @dst rectangle with or
|
|
without @scaling. It handles clipping if the @src rectangle is bigger than
|
|
the @dst one and @scaling is set to FALSE.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRectangle describing the source area</doc>
|
|
<type name="VideoRectangle" c:type="GstVideoRectangle"/>
|
|
</parameter>
|
|
<parameter name="dst" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRectangle describing the destination area</doc>
|
|
<type name="VideoRectangle" c:type="GstVideoRectangle"/>
|
|
</parameter>
|
|
<parameter name="result" transfer-ownership="none">
|
|
<doc xml:space="preserve">a pointer to a #GstVideoRectangle which will receive the result area</doc>
|
|
<type name="VideoRectangle" c:type="GstVideoRectangle*"/>
|
|
</parameter>
|
|
<parameter name="scaling" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #gboolean indicating if scaling should be applied or not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<virtual-method name="show_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="video_sink" transfer-ownership="none">
|
|
<type name="VideoSink" c:type="GstVideoSink*"/>
|
|
</instance-parameter>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</virtual-method>
|
|
<property name="show-preroll-frame" writable="1" construct="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">Whether to show video frames during preroll. If set to %FALSE, video
|
|
frames will only be rendered in PLAYING state.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</property>
|
|
<field name="element">
|
|
<type name="GstBase.BaseSink" c:type="GstBaseSink"/>
|
|
</field>
|
|
<field name="width">
|
|
<doc xml:space="preserve">video width (derived class needs to set this)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="height">
|
|
<doc xml:space="preserve">video height (derived class needs to set this)</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</field>
|
|
<field name="priv" readable="0" private="1">
|
|
<type name="VideoSinkPrivate" c:type="GstVideoSinkPrivate*"/>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</class>
|
|
<record name="VideoSinkClass" c:type="GstVideoSinkClass" glib:is-gtype-struct-for="VideoSink">
|
|
<doc xml:space="preserve">The video sink class structure. Derived classes should override the
|
|
@show_frame virtual function.</doc>
|
|
<field name="parent_class">
|
|
<doc xml:space="preserve">the parent class structure</doc>
|
|
<type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
|
|
</field>
|
|
<field name="show_frame">
|
|
<callback name="show_frame">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="video_sink" transfer-ownership="none">
|
|
<type name="VideoSink" c:type="GstVideoSink*"/>
|
|
</parameter>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</callback>
|
|
</field>
|
|
<field name="_gst_reserved" readable="0" private="1">
|
|
<array zero-terminated="0" fixed-size="4">
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</array>
|
|
</field>
|
|
</record>
|
|
<record name="VideoSinkPrivate" c:type="GstVideoSinkPrivate" disguised="1"/>
|
|
<enumeration name="VideoTileMode" glib:type-name="GstVideoTileMode" glib:get-type="gst_video_tile_mode_get_type" c:type="GstVideoTileMode">
|
|
<doc xml:space="preserve">Enum value describing the available tiling modes.</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_TILE_MODE_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">Unknown or unset tile mode</doc>
|
|
</member>
|
|
<member name="zflipz_2x2" value="65536" c:identifier="GST_VIDEO_TILE_MODE_ZFLIPZ_2X2" glib:nick="zflipz-2x2">
|
|
<doc xml:space="preserve">Every four adjacent blocks - two
|
|
horizontally and two vertically are grouped together and are located
|
|
in memory in Z or flipped Z order. In case of odd rows, the last row
|
|
of blocks is arranged in linear order.</doc>
|
|
</member>
|
|
<member name="linear" value="131072" c:identifier="GST_VIDEO_TILE_MODE_LINEAR" version="1.18" glib:nick="linear">
|
|
<doc xml:space="preserve">Tiles are in row order.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<enumeration name="VideoTileType" glib:type-name="GstVideoTileType" glib:get-type="gst_video_tile_type_get_type" c:type="GstVideoTileType">
|
|
<doc xml:space="preserve">Enum value describing the most common tiling types.</doc>
|
|
<member name="indexed" value="0" c:identifier="GST_VIDEO_TILE_TYPE_INDEXED" glib:nick="indexed">
|
|
<doc xml:space="preserve">Tiles are indexed. Use
|
|
gst_video_tile_get_index () to retrieve the tile at the requested
|
|
coordinates.</doc>
|
|
</member>
|
|
</enumeration>
|
|
<record name="VideoTimeCode" c:type="GstVideoTimeCode" version="1.10" glib:type-name="GstVideoTimeCode" glib:get-type="gst_video_time_code_get_type" c:symbol-prefix="video_time_code">
|
|
<doc xml:space="preserve">@field_count must be 0 for progressive video and 1 or 2 for interlaced.
|
|
|
|
A representation of a SMPTE time code.
|
|
|
|
@hours must be positive and less than 24. Will wrap around otherwise.
|
|
@minutes and @seconds must be positive and less than 60.
|
|
@frames must be less than or equal to @config.fps_n / @config.fps_d
|
|
These values are *NOT* automatically normalized.</doc>
|
|
<field name="config" writable="1">
|
|
<doc xml:space="preserve">the corresponding #GstVideoTimeCodeConfig</doc>
|
|
<type name="VideoTimeCodeConfig" c:type="GstVideoTimeCodeConfig"/>
|
|
</field>
|
|
<field name="hours" writable="1">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="minutes" writable="1">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="seconds" writable="1">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="frames" writable="1">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="field_count" writable="1">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<constructor name="new" c:identifier="gst_video_time_code_new" version="1.10">
|
|
<doc xml:space="preserve">@field_count is 0 for progressive, 1 or 2 for interlaced.
|
|
@latest_daiy_jam reference is stolen from caller.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCode with the given values.
|
|
The values are not checked for being in a valid range. To see if your
|
|
timecode actually has valid content, use gst_video_time_code_is_valid().</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="latest_daily_jam" transfer-ownership="none">
|
|
<doc xml:space="preserve">The latest daily jam of the #GstVideoTimeCode</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_empty" c:identifier="gst_video_time_code_new_empty" version="1.10">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new empty, invalid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
</constructor>
|
|
<constructor name="new_from_date_time" c:identifier="gst_video_time_code_new_from_date_time" version="1.12">
|
|
<doc xml:space="preserve">The resulting config->latest_daily_jam is set to
|
|
midnight, and timecode is set to the given time.
|
|
|
|
This might return a completely invalid timecode, use
|
|
gst_video_time_code_new_from_date_time_full() to ensure
|
|
that you would get %NULL instead in that case.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstVideoTimeCode representation of @dt.</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="dt" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GDateTime to convert</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_date_time_full" c:identifier="gst_video_time_code_new_from_date_time_full" version="1.16">
|
|
<doc xml:space="preserve">The resulting config->latest_daily_jam is set to
|
|
midnight, and timecode is set to the given time.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the #GstVideoTimeCode representation of @dt, or %NULL if
|
|
no valid timecode could be created.</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="dt" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GDateTime to convert</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_string" c:identifier="gst_video_time_code_new_from_string" version="1.12">
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCode from the given string or %NULL
|
|
if the string could not be passed.</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tc_str" transfer-ownership="none">
|
|
<doc xml:space="preserve">The string that represents the #GstVideoTimeCode</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_frames" c:identifier="gst_video_time_code_add_frames" version="1.10">
|
|
<doc xml:space="preserve">Adds or subtracts @frames amount of frames to @tc. tc needs to
|
|
contain valid data, as verified by gst_video_time_code_is_valid().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">How many frames to add or subtract</doc>
|
|
<type name="gint64" c:type="gint64"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="add_interval" c:identifier="gst_video_time_code_add_interval" version="1.12">
|
|
<doc xml:space="preserve">This makes a component-wise addition of @tc_inter to @tc. For example,
|
|
adding ("01:02:03:04", "00:01:00:00") will return "01:03:03:04".
|
|
When it comes to drop-frame timecodes,
|
|
adding ("00:00:00;00", "00:01:00:00") will return "00:01:00;02"
|
|
because of drop-frame oddities. However,
|
|
adding ("00:09:00;02", "00:01:00:00") will return "00:10:00;00"
|
|
because this time we can have an exact minute.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">A new #GstVideoTimeCode with @tc_inter added or %NULL
|
|
if the interval can't be added.</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoTimeCode where the diff should be added. This
|
|
must contain valid timecode values.</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="tc_inter" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoTimeCodeInterval to add to @tc.
|
|
The interval must contain valid values, except that for drop-frame
|
|
timecode, it may also contain timecodes which would normally
|
|
be dropped. These are then corrected to the next reasonable timecode.</doc>
|
|
<type name="VideoTimeCodeInterval" c:type="const GstVideoTimeCodeInterval*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="clear" c:identifier="gst_video_time_code_clear" version="1.10">
|
|
<doc xml:space="preserve">Initializes @tc with empty/zero/NULL values and frees any memory
|
|
it might currently use.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="compare" c:identifier="gst_video_time_code_compare" version="1.10">
|
|
<doc xml:space="preserve">Compares @tc1 and @tc2. If both have latest daily jam information, it is
|
|
taken into account. Otherwise, it is assumed that the daily jam of both
|
|
@tc1 and @tc2 was at the same time. Both time codes must be valid.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">1 if @tc1 is after @tc2, -1 if @tc1 is before @tc2, 0 otherwise.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="tc2" transfer-ownership="none">
|
|
<doc xml:space="preserve">another valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_video_time_code_copy" version="1.10">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCode with the same values as @tc.</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="frames_since_daily_jam" c:identifier="gst_video_time_code_frames_since_daily_jam" version="1.10">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">how many frames have passed since the daily jam of @tc.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_time_code_free" version="1.10">
|
|
<doc xml:space="preserve">Frees @tc.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="increment_frame" c:identifier="gst_video_time_code_increment_frame" version="1.10">
|
|
<doc xml:space="preserve">Adds one frame to @tc.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_video_time_code_init" version="1.10">
|
|
<doc xml:space="preserve">@field_count is 0 for progressive, 1 or 2 for interlaced.
|
|
@latest_daiy_jam reference is stolen from caller.
|
|
|
|
Initializes @tc with the given values.
|
|
The values are not checked for being in a valid range. To see if your
|
|
timecode actually has valid content, use gst_video_time_code_is_valid().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="latest_daily_jam" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">The latest daily jam of the #GstVideoTimeCode</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCode</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init_from_date_time" c:identifier="gst_video_time_code_init_from_date_time" version="1.12">
|
|
<doc xml:space="preserve">The resulting config->latest_daily_jam is set to midnight, and timecode is
|
|
set to the given time.
|
|
|
|
Will assert on invalid parameters, use gst_video_time_code_init_from_date_time_full()
|
|
for being able to handle invalid parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">an uninitialized #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="dt" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GDateTime to convert</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init_from_date_time_full" c:identifier="gst_video_time_code_init_from_date_time_full" version="1.16">
|
|
<doc xml:space="preserve">The resulting config->latest_daily_jam is set to
|
|
midnight, and timecode is set to the given time.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @tc could be correctly initialized to a valid timecode</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="dt" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GDateTime to convert</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">Interlaced video field count</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="is_valid" c:identifier="gst_video_time_code_is_valid" version="1.10">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether @tc is a valid timecode (supported frame rate,
|
|
hours/minutes/seconds/frames not overflowing)</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTimeCode to check</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="nsec_since_daily_jam" c:identifier="gst_video_time_code_nsec_since_daily_jam" version="1.10">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">how many nsec have passed since the daily jam of @tc.</doc>
|
|
<type name="guint64" c:type="guint64"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a valid #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_date_time" c:identifier="gst_video_time_code_to_date_time" version="1.10">
|
|
<doc xml:space="preserve">The @tc.config->latest_daily_jam is required to be non-NULL.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">the #GDateTime representation of @tc or %NULL if @tc
|
|
has no daily jam.</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">A valid #GstVideoTimeCode to convert</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="to_string" c:identifier="gst_video_time_code_to_string" version="1.10">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">the SMPTE ST 2059-1:2015 string representation of @tc. That will
|
|
take the form hh:mm:ss:ff. The last separator (between seconds and frames)
|
|
may vary:
|
|
|
|
';' for drop-frame, non-interlaced content and for drop-frame interlaced
|
|
field 2
|
|
',' for drop-frame interlaced field 1
|
|
':' for non-drop-frame, non-interlaced content and for non-drop-frame
|
|
interlaced field 2
|
|
'.' for non-drop-frame interlaced field 1</doc>
|
|
<type name="utf8" c:type="gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoTimeCode to convert</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="VideoTimeCodeConfig" c:type="GstVideoTimeCodeConfig" version="1.10">
|
|
<doc xml:space="preserve">Supported frame rates: 30000/1001, 60000/1001 (both with and without drop
|
|
frame), and integer frame rates e.g. 25/1, 30/1, 50/1, 60/1.
|
|
|
|
The configuration of the time code.</doc>
|
|
<field name="fps_n" writable="1">
|
|
<doc xml:space="preserve">Numerator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="fps_d" writable="1">
|
|
<doc xml:space="preserve">Denominator of the frame rate</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="flags" writable="1">
|
|
<doc xml:space="preserve">the corresponding #GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</field>
|
|
<field name="latest_daily_jam" writable="1">
|
|
<doc xml:space="preserve">The latest daily jam information, if present, or NULL</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</field>
|
|
</record>
|
|
<bitfield name="VideoTimeCodeFlags" version="1.10" glib:type-name="GstVideoTimeCodeFlags" glib:get-type="gst_video_time_code_flags_get_type" c:type="GstVideoTimeCodeFlags">
|
|
<doc xml:space="preserve">Flags related to the time code information.
|
|
For drop frame, only 30000/1001 and 60000/1001 frame rates are supported.</doc>
|
|
<member name="none" value="0" c:identifier="GST_VIDEO_TIME_CODE_FLAGS_NONE" glib:nick="none">
|
|
<doc xml:space="preserve">No flags</doc>
|
|
</member>
|
|
<member name="drop_frame" value="1" c:identifier="GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME" glib:nick="drop-frame">
|
|
<doc xml:space="preserve">Whether we have drop frame rate</doc>
|
|
</member>
|
|
<member name="interlaced" value="2" c:identifier="GST_VIDEO_TIME_CODE_FLAGS_INTERLACED" glib:nick="interlaced">
|
|
<doc xml:space="preserve">Whether we have interlaced video</doc>
|
|
</member>
|
|
</bitfield>
|
|
<record name="VideoTimeCodeInterval" c:type="GstVideoTimeCodeInterval" version="1.12" glib:type-name="GstVideoTimeCodeInterval" glib:get-type="gst_video_time_code_interval_get_type" c:symbol-prefix="video_time_code_interval">
|
|
<doc xml:space="preserve">A representation of a difference between two #GstVideoTimeCode instances.
|
|
Will not necessarily correspond to a real timecode (e.g. 00:00:10;00)</doc>
|
|
<field name="hours" writable="1">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="minutes" writable="1">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="seconds" writable="1">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<field name="frames" writable="1">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</field>
|
|
<constructor name="new" c:identifier="gst_video_time_code_interval_new" version="1.12">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCodeInterval with the given values.</doc>
|
|
<type name="VideoTimeCodeInterval" c:type="GstVideoTimeCodeInterval*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<constructor name="new_from_string" c:identifier="gst_video_time_code_interval_new_from_string" version="1.12">
|
|
<doc xml:space="preserve">@tc_inter_str must only have ":" as separators.</doc>
|
|
<return-value transfer-ownership="full" nullable="1">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCodeInterval from the given string
|
|
or %NULL if the string could not be passed.</doc>
|
|
<type name="VideoTimeCodeInterval" c:type="GstVideoTimeCodeInterval*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="tc_inter_str" transfer-ownership="none">
|
|
<doc xml:space="preserve">The string that represents the #GstVideoTimeCodeInterval</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="clear" c:identifier="gst_video_time_code_interval_clear" version="1.12">
|
|
<doc xml:space="preserve">Initializes @tc with empty/zero/NULL values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeInterval</doc>
|
|
<type name="VideoTimeCodeInterval" c:type="GstVideoTimeCodeInterval*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_video_time_code_interval_copy" version="1.12">
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a new #GstVideoTimeCodeInterval with the same values as @tc.</doc>
|
|
<type name="VideoTimeCodeInterval" c:type="GstVideoTimeCodeInterval*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeInterval</doc>
|
|
<type name="VideoTimeCodeInterval" c:type="const GstVideoTimeCodeInterval*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_time_code_interval_free" version="1.12">
|
|
<doc xml:space="preserve">Frees @tc.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeInterval</doc>
|
|
<type name="VideoTimeCodeInterval" c:type="GstVideoTimeCodeInterval*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="init" c:identifier="gst_video_time_code_interval_init" version="1.12">
|
|
<doc xml:space="preserve">Initializes @tc with the given values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeInterval</doc>
|
|
<type name="VideoTimeCodeInterval" c:type="GstVideoTimeCodeInterval*"/>
|
|
</instance-parameter>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">the hours field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">the minutes field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the seconds field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">the frames field of #GstVideoTimeCodeInterval</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="VideoTimeCodeMeta" c:type="GstVideoTimeCodeMeta" version="1.10">
|
|
<doc xml:space="preserve">Extra buffer metadata describing the GstVideoTimeCode of the frame.
|
|
|
|
Each frame is assumed to have its own timecode, i.e. they are not
|
|
automatically incremented/interpolated.</doc>
|
|
<field name="meta" writable="1">
|
|
<doc xml:space="preserve">parent #GstMeta</doc>
|
|
<type name="Gst.Meta" c:type="GstMeta"/>
|
|
</field>
|
|
<field name="tc" writable="1">
|
|
<doc xml:space="preserve">the GstVideoTimeCode to attach</doc>
|
|
<type name="VideoTimeCode" c:type="GstVideoTimeCode"/>
|
|
</field>
|
|
<function name="get_info" c:identifier="gst_video_time_code_meta_get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
</record>
|
|
<enumeration name="VideoTransferFunction" glib:type-name="GstVideoTransferFunction" glib:get-type="gst_video_transfer_function_get_type" c:type="GstVideoTransferFunction">
|
|
<doc xml:space="preserve">The video transfer function defines the formula for converting between
|
|
non-linear RGB (R'G'B') and linear RGB</doc>
|
|
<member name="unknown" value="0" c:identifier="GST_VIDEO_TRANSFER_UNKNOWN" glib:nick="unknown">
|
|
<doc xml:space="preserve">unknown transfer function</doc>
|
|
</member>
|
|
<member name="gamma10" value="1" c:identifier="GST_VIDEO_TRANSFER_GAMMA10" glib:nick="gamma10">
|
|
<doc xml:space="preserve">linear RGB, gamma 1.0 curve</doc>
|
|
</member>
|
|
<member name="gamma18" value="2" c:identifier="GST_VIDEO_TRANSFER_GAMMA18" glib:nick="gamma18">
|
|
<doc xml:space="preserve">Gamma 1.8 curve</doc>
|
|
</member>
|
|
<member name="gamma20" value="3" c:identifier="GST_VIDEO_TRANSFER_GAMMA20" glib:nick="gamma20">
|
|
<doc xml:space="preserve">Gamma 2.0 curve</doc>
|
|
</member>
|
|
<member name="gamma22" value="4" c:identifier="GST_VIDEO_TRANSFER_GAMMA22" glib:nick="gamma22">
|
|
<doc xml:space="preserve">Gamma 2.2 curve</doc>
|
|
</member>
|
|
<member name="bt709" value="5" c:identifier="GST_VIDEO_TRANSFER_BT709" glib:nick="bt709">
|
|
<doc xml:space="preserve">Gamma 2.2 curve with a linear segment in the lower
|
|
range, also ITU-R BT470M / ITU-R BT1700 625 PAL &
|
|
SECAM / ITU-R BT1361</doc>
|
|
</member>
|
|
<member name="smpte240m" value="6" c:identifier="GST_VIDEO_TRANSFER_SMPTE240M" glib:nick="smpte240m">
|
|
<doc xml:space="preserve">Gamma 2.2 curve with a linear segment in the
|
|
lower range</doc>
|
|
</member>
|
|
<member name="srgb" value="7" c:identifier="GST_VIDEO_TRANSFER_SRGB" glib:nick="srgb">
|
|
<doc xml:space="preserve">Gamma 2.4 curve with a linear segment in the lower
|
|
range. IEC 61966-2-1 (sRGB or sYCC)</doc>
|
|
</member>
|
|
<member name="gamma28" value="8" c:identifier="GST_VIDEO_TRANSFER_GAMMA28" glib:nick="gamma28">
|
|
<doc xml:space="preserve">Gamma 2.8 curve, also ITU-R BT470BG</doc>
|
|
</member>
|
|
<member name="log100" value="9" c:identifier="GST_VIDEO_TRANSFER_LOG100" glib:nick="log100">
|
|
<doc xml:space="preserve">Logarithmic transfer characteristic
|
|
100:1 range</doc>
|
|
</member>
|
|
<member name="log316" value="10" c:identifier="GST_VIDEO_TRANSFER_LOG316" glib:nick="log316">
|
|
<doc xml:space="preserve">Logarithmic transfer characteristic
|
|
316.22777:1 range (100 * sqrt(10) : 1)</doc>
|
|
</member>
|
|
<member name="bt2020_12" value="11" c:identifier="GST_VIDEO_TRANSFER_BT2020_12" glib:nick="bt2020-12">
|
|
<doc xml:space="preserve">Gamma 2.2 curve with a linear segment in the lower
|
|
range. Used for BT.2020 with 12 bits per
|
|
component. Since: 1.6</doc>
|
|
</member>
|
|
<member name="adobergb" value="12" c:identifier="GST_VIDEO_TRANSFER_ADOBERGB" glib:nick="adobergb">
|
|
<doc xml:space="preserve">Gamma 2.19921875. Since: 1.8</doc>
|
|
</member>
|
|
<member name="bt2020_10" value="13" c:identifier="GST_VIDEO_TRANSFER_BT2020_10" glib:nick="bt2020-10">
|
|
<doc xml:space="preserve">Rec. ITU-R BT.2020-2 with 10 bits per component.
|
|
(functionally the same as the values
|
|
GST_VIDEO_TRANSFER_BT709 and GST_VIDEO_TRANSFER_BT601).
|
|
Since: 1.18</doc>
|
|
</member>
|
|
<member name="smpte2084" value="14" c:identifier="GST_VIDEO_TRANSFER_SMPTE2084" glib:nick="smpte2084">
|
|
<doc xml:space="preserve">SMPTE ST 2084 for 10, 12, 14, and 16-bit systems.
|
|
Known as perceptual quantization (PQ)
|
|
Since: 1.18</doc>
|
|
</member>
|
|
<member name="arib_std_b67" value="15" c:identifier="GST_VIDEO_TRANSFER_ARIB_STD_B67" glib:nick="arib-std-b67">
|
|
<doc xml:space="preserve">Association of Radio Industries and Businesses (ARIB)
|
|
STD-B67 and Rec. ITU-R BT.2100-1 hybrid loggamma (HLG) system
|
|
Since: 1.18</doc>
|
|
</member>
|
|
<member name="bt601" value="16" c:identifier="GST_VIDEO_TRANSFER_BT601" version="1.18" glib:nick="bt601">
|
|
<doc xml:space="preserve">also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC</doc>
|
|
</member>
|
|
<function name="from_iso" c:identifier="gst_video_transfer_function_from_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts the @value to the #GstVideoTransferFunction
|
|
The transfer characteristics (TransferCharacteristics) value is
|
|
defined by "ISO/IEC 23001-8 Section 7.2 Table 3"
|
|
and "ITU-T H.273 Table 3".
|
|
"H.264 Table E-4" and "H.265 Table E.4" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the matched #GstVideoTransferFunction</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a ITU-T H.273 transfer characteristics value</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="is_equivalent" c:identifier="gst_video_transfer_function_is_equivalent" version="1.18">
|
|
<doc xml:space="preserve">Returns whether @from_func and @to_func are equivalent. There are cases
|
|
(e.g. BT601, BT709, and BT2020_10) where several functions are functionally
|
|
identical. In these cases, when doing conversion, we should consider them
|
|
as equivalent. Also, BT2020_12 is the same as the aforementioned three for
|
|
less than 12 bits per pixel.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if @from_func and @to_func can be considered equivalent.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="from_func" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTransferFunction to convert from</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
<parameter name="from_bpp" transfer-ownership="none">
|
|
<doc xml:space="preserve">bits per pixel to convert from</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="to_func" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTransferFunction to convert into</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
<parameter name="to_bpp" transfer-ownership="none">
|
|
<doc xml:space="preserve">bits per pixel to convert into</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="to_iso" c:identifier="gst_video_transfer_function_to_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts #GstVideoTransferFunction to the "transfer characteristics"
|
|
(TransferCharacteristics) value defined by "ISO/IEC 23001-8 Section 7.2 Table 3"
|
|
and "ITU-T H.273 Table 3".
|
|
"H.264 Table E-4" and "H.265 Table E.4" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of ISO/IEC 23001-8 transfer characteristics.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTransferFunction</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
</enumeration>
|
|
<record name="VideoVBIEncoder" c:type="GstVideoVBIEncoder" version="1.16" glib:type-name="GstVideoVBIEncoder" glib:get-type="gst_video_vbi_encoder_get_type" c:symbol-prefix="video_vbi_encoder">
|
|
<doc xml:space="preserve">An encoder for writing ancillary data to the
|
|
Vertical Blanking Interval lines of component signals.</doc>
|
|
<constructor name="new" c:identifier="gst_video_vbi_encoder_new" version="1.16">
|
|
<doc xml:space="preserve">Create a new #GstVideoVBIEncoder for the specified @format and @pixel_width.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstVideoVBIEncoder or %NULL if the @format and/or @pixel_width
|
|
is not supported.</doc>
|
|
<type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="pixel_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width in pixel to use</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_ancillary" c:identifier="gst_video_vbi_encoder_add_ancillary" version="1.16">
|
|
<doc xml:space="preserve">Stores Video Ancillary data, according to SMPTE-291M specification.
|
|
|
|
Note that the contents of the data are always read as 8bit data (i.e. do not contain
|
|
the parity check bits).</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if enough space was left in the current line, %FALSE
|
|
otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoVBIEncoder</doc>
|
|
<type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="composite" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if composite ADF should be created, component otherwise</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="DID" transfer-ownership="none">
|
|
<doc xml:space="preserve">The Data Identifier</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</parameter>
|
|
<parameter name="SDID_block_number" transfer-ownership="none">
|
|
<doc xml:space="preserve">The Secondary Data Identifier (if type 2) or the Data
|
|
Block Number (if type 1)</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">The user data content of the Ancillary packet.
|
|
Does not contain the ADF, DID, SDID nor CS.</doc>
|
|
<array length="4" zero-terminated="0" c:type="const guint8*">
|
|
<type name="guint8" c:type="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="data_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">The amount of data (in bytes) in @data (max 255 bytes)</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_video_vbi_encoder_copy">
|
|
<return-value transfer-ownership="full">
|
|
<type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoVBIEncoder" c:type="const GstVideoVBIEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_vbi_encoder_free" version="1.16">
|
|
<doc xml:space="preserve">Frees the @encoder.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoVBIEncoder</doc>
|
|
<type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="write_line" c:identifier="gst_video_vbi_encoder_write_line">
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="encoder" transfer-ownership="none">
|
|
<type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
|
|
</instance-parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<type name="guint8" c:type="guint8*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<record name="VideoVBIParser" c:type="GstVideoVBIParser" version="1.16" glib:type-name="GstVideoVBIParser" glib:get-type="gst_video_vbi_parser_get_type" c:symbol-prefix="video_vbi_parser">
|
|
<doc xml:space="preserve">A parser for detecting and extracting @GstVideoAncillary data from
|
|
Vertical Blanking Interval lines of component signals.</doc>
|
|
<constructor name="new" c:identifier="gst_video_vbi_parser_new" version="1.16">
|
|
<doc xml:space="preserve">Create a new #GstVideoVBIParser for the specified @format and @pixel_width.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstVideoVBIParser or %NULL if the @format and/or @pixel_width
|
|
is not supported.</doc>
|
|
<type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="pixel_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">The width in pixel to use</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</constructor>
|
|
<method name="add_line" c:identifier="gst_video_vbi_parser_add_line" version="1.16">
|
|
<doc xml:space="preserve">Provide a new line of data to the @parser. Call gst_video_vbi_parser_get_ancillary()
|
|
to get the Ancillary data that might be present on that line.</doc>
|
|
<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">a #GstVideoVBIParser</doc>
|
|
<type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
|
|
</instance-parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">The line of data to parse</doc>
|
|
<array zero-terminated="0" c:type="const guint8*">
|
|
<type name="guint8" c:type="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="copy" c:identifier="gst_video_vbi_parser_copy">
|
|
<return-value transfer-ownership="full">
|
|
<type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parser" transfer-ownership="none">
|
|
<type name="VideoVBIParser" c:type="const GstVideoVBIParser*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="free" c:identifier="gst_video_vbi_parser_free" version="1.16">
|
|
<doc xml:space="preserve">Frees the @parser.</doc>
|
|
<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">a #GstVideoVBIParser</doc>
|
|
<type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
|
|
</instance-parameter>
|
|
</parameters>
|
|
</method>
|
|
<method name="get_ancillary" c:identifier="gst_video_vbi_parser_get_ancillary" version="1.16">
|
|
<doc xml:space="preserve">Parse the line provided previously by gst_video_vbi_parser_add_line().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%GST_VIDEO_VBI_PARSER_RESULT_OK if ancillary data was found and
|
|
@anc was filled. %GST_VIDEO_VBI_PARSER_RESULT_DONE if there wasn't any
|
|
data.</doc>
|
|
<type name="VideoVBIParserResult" c:type="GstVideoVBIParserResult"/>
|
|
</return-value>
|
|
<parameters>
|
|
<instance-parameter name="parser" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoVBIParser</doc>
|
|
<type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
|
|
</instance-parameter>
|
|
<parameter name="anc" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAncillary to start the eventual ancillary data</doc>
|
|
<type name="VideoAncillary" c:type="GstVideoAncillary*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</method>
|
|
</record>
|
|
<enumeration name="VideoVBIParserResult" version="1.16" glib:type-name="GstVideoVBIParserResult" glib:get-type="gst_video_vbi_parser_result_get_type" c:type="GstVideoVBIParserResult">
|
|
<doc xml:space="preserve">Return values for #GstVideoVBIParser</doc>
|
|
<member name="done" value="0" c:identifier="GST_VIDEO_VBI_PARSER_RESULT_DONE" glib:nick="done">
|
|
<doc xml:space="preserve">No line were provided, or no more Ancillary data was found.</doc>
|
|
</member>
|
|
<member name="ok" value="1" c:identifier="GST_VIDEO_VBI_PARSER_RESULT_OK" glib:nick="ok">
|
|
<doc xml:space="preserve">A #GstVideoAncillary was found.</doc>
|
|
</member>
|
|
<member name="error" value="2" c:identifier="GST_VIDEO_VBI_PARSER_RESULT_ERROR" glib:nick="error">
|
|
<doc xml:space="preserve">An error occurred</doc>
|
|
</member>
|
|
</enumeration>
|
|
<function name="buffer_add_video_afd_meta" c:identifier="gst_buffer_add_video_afd_meta" version="1.18">
|
|
<doc xml:space="preserve">Attaches #GstVideoAFDMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoAFDMeta on @buffer.</doc>
|
|
<type name="VideoAFDMeta" c:type="GstVideoAFDMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">0 for progressive or field 1 and 1 for field 2</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</parameter>
|
|
<parameter name="spec" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoAFDSpec that applies to AFD value</doc>
|
|
<type name="VideoAFDSpec" c:type="GstVideoAFDSpec"/>
|
|
</parameter>
|
|
<parameter name="afd" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoAFDValue AFD enumeration</doc>
|
|
<type name="VideoAFDValue" c:type="GstVideoAFDValue"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_affine_transformation_meta" c:identifier="gst_buffer_add_video_affine_transformation_meta" version="1.8">
|
|
<doc xml:space="preserve">Attaches GstVideoAffineTransformationMeta metadata to @buffer with
|
|
the given parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoAffineTransformationMeta on @buffer.</doc>
|
|
<type name="VideoAffineTransformationMeta" c:type="GstVideoAffineTransformationMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_bar_meta" c:identifier="gst_buffer_add_video_bar_meta" version="1.18">
|
|
<doc xml:space="preserve">Attaches #GstVideoBarMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoBarMeta on @buffer.
|
|
|
|
See Table 6.11 Bar Data Syntax
|
|
|
|
https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf</doc>
|
|
<type name="VideoBarMeta" c:type="GstVideoBarMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="field" transfer-ownership="none">
|
|
<doc xml:space="preserve">0 for progressive or field 1 and 1 for field 2</doc>
|
|
<type name="guint8" c:type="guint8"/>
|
|
</parameter>
|
|
<parameter name="is_letterbox" transfer-ownership="none">
|
|
<doc xml:space="preserve">if true then bar data specifies letterbox, otherwise pillarbox</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="bar_data1" transfer-ownership="none">
|
|
<doc xml:space="preserve">If @is_letterbox is true, then the value specifies the
|
|
last line of a horizontal letterbox bar area at top of reconstructed frame.
|
|
Otherwise, it specifies the last horizontal luminance sample of a vertical pillarbox
|
|
bar area at the left side of the reconstructed frame</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="bar_data2" transfer-ownership="none">
|
|
<doc xml:space="preserve">If @is_letterbox is true, then the value specifies the
|
|
first line of a horizontal letterbox bar area at bottom of reconstructed frame.
|
|
Otherwise, it specifies the first horizontal
|
|
luminance sample of a vertical pillarbox bar area at the right side of the reconstructed frame.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_caption_meta" c:identifier="gst_buffer_add_video_caption_meta" version="1.16">
|
|
<doc xml:space="preserve">Attaches #GstVideoCaptionMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoCaptionMeta on @buffer.</doc>
|
|
<type name="VideoCaptionMeta" c:type="GstVideoCaptionMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="caption_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of Closed Caption to add</doc>
|
|
<type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
|
|
</parameter>
|
|
<parameter name="data" transfer-ownership="none">
|
|
<doc xml:space="preserve">The Closed Caption data</doc>
|
|
<array length="3" zero-terminated="0" c:type="const guint8*">
|
|
<type name="guint8" c:type="guint8"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="size" transfer-ownership="none">
|
|
<doc xml:space="preserve">The size of @data in bytes</doc>
|
|
<type name="gsize" c:type="gsize"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="buffer_add_video_crop_meta" c:identifier="gst_buffer_add_video_crop_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="buffer_add_video_gl_texture_upload_meta" c:identifier="gst_buffer_add_video_gl_texture_upload_meta">
|
|
<doc xml:space="preserve">Attaches GstVideoGLTextureUploadMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoGLTextureUploadMeta on @buffer.</doc>
|
|
<type name="VideoGLTextureUploadMeta" c:type="GstVideoGLTextureUploadMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="texture_orientation" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoGLTextureOrientation</doc>
|
|
<type name="VideoGLTextureOrientation" c:type="GstVideoGLTextureOrientation"/>
|
|
</parameter>
|
|
<parameter name="n_textures" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of textures</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="texture_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">array of #GstVideoGLTextureType</doc>
|
|
<type name="VideoGLTextureType" c:type="GstVideoGLTextureType*"/>
|
|
</parameter>
|
|
<parameter name="upload" transfer-ownership="none" scope="call" closure="5">
|
|
<doc xml:space="preserve">the function to upload the buffer to a specific texture ID</doc>
|
|
<type name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">user data for the implementor of @upload</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="user_data_copy" transfer-ownership="none" scope="call">
|
|
<doc xml:space="preserve">function to copy @user_data</doc>
|
|
<type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
|
|
</parameter>
|
|
<parameter name="user_data_free" transfer-ownership="none" scope="call">
|
|
<doc xml:space="preserve">function to free @user_data</doc>
|
|
<type name="GObject.BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_meta" c:identifier="gst_buffer_add_video_meta">
|
|
<doc xml:space="preserve">Attaches GstVideoMeta metadata to @buffer with the given parameters and the
|
|
default offsets and strides for @format and @width x @height.
|
|
|
|
This function calculates the default offsets and strides and then calls
|
|
gst_buffer_add_video_meta_full() with them.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoMeta on @buffer.</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoFrameFlags</doc>
|
|
<type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_meta_full" c:identifier="gst_buffer_add_video_meta_full">
|
|
<doc xml:space="preserve">Attaches GstVideoMeta metadata to @buffer with the given parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoMeta on @buffer.</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoFrameFlags</doc>
|
|
<type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_planes" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of planes</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="offset" transfer-ownership="none">
|
|
<doc xml:space="preserve">offset of each plane</doc>
|
|
<array zero-terminated="0" c:type="gsize*" fixed-size="4">
|
|
<type name="gsize" c:type="gsize"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="stride" transfer-ownership="none">
|
|
<doc xml:space="preserve">stride of each plane</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_overlay_composition_meta" c:identifier="gst_buffer_add_video_overlay_composition_meta">
|
|
<doc xml:space="preserve">Sets an overlay composition on a buffer. The buffer will obtain its own
|
|
reference to the composition, meaning this function does not take ownership
|
|
of @comp.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoOverlayCompositionMeta</doc>
|
|
<type name="VideoOverlayCompositionMeta" c:type="GstVideoOverlayCompositionMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buf" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="comp" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">a #GstVideoOverlayComposition</doc>
|
|
<type name="VideoOverlayComposition" c:type="GstVideoOverlayComposition*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_region_of_interest_meta" c:identifier="gst_buffer_add_video_region_of_interest_meta">
|
|
<doc xml:space="preserve">Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRegionOfInterestMeta on @buffer.</doc>
|
|
<type name="VideoRegionOfInterestMeta" c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="roi_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Type of the region of interest (e.g. "face")</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="w" transfer-ownership="none">
|
|
<doc xml:space="preserve">width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="h" transfer-ownership="none">
|
|
<doc xml:space="preserve">height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_region_of_interest_meta_id" c:identifier="gst_buffer_add_video_region_of_interest_meta_id">
|
|
<doc xml:space="preserve">Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRegionOfInterestMeta on @buffer.</doc>
|
|
<type name="VideoRegionOfInterestMeta" c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="roi_type" transfer-ownership="none">
|
|
<doc xml:space="preserve">Type of the region of interest (e.g. "face")</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">X position</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">Y position</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="w" transfer-ownership="none">
|
|
<doc xml:space="preserve">width</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="h" transfer-ownership="none">
|
|
<doc xml:space="preserve">height</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_time_code_meta" c:identifier="gst_buffer_add_video_time_code_meta" version="1.10">
|
|
<doc xml:space="preserve">Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the #GstVideoTimeCodeMeta on @buffer, or
|
|
(since 1.16) %NULL if the timecode was invalid.</doc>
|
|
<type name="VideoTimeCodeMeta" c:type="GstVideoTimeCodeMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="tc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCode</doc>
|
|
<type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_add_video_time_code_meta_full" c:identifier="gst_buffer_add_video_time_code_meta_full" version="1.10">
|
|
<doc xml:space="preserve">Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given
|
|
parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoTimeCodeMeta on @buffer, or
|
|
(since 1.16) %NULL if the timecode was invalid.</doc>
|
|
<type name="VideoTimeCodeMeta" c:type="GstVideoTimeCodeMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="fps_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">framerate numerator</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="fps_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">framerate denominator</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="latest_daily_jam" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GDateTime for the latest daily jam</doc>
|
|
<type name="GLib.DateTime" c:type="GDateTime*"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTimeCodeFlags</doc>
|
|
<type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
|
|
</parameter>
|
|
<parameter name="hours" transfer-ownership="none">
|
|
<doc xml:space="preserve">hours since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="minutes" transfer-ownership="none">
|
|
<doc xml:space="preserve">minutes since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="seconds" transfer-ownership="none">
|
|
<doc xml:space="preserve">seconds since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="frames" transfer-ownership="none">
|
|
<doc xml:space="preserve">frames since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="field_count" transfer-ownership="none">
|
|
<doc xml:space="preserve">fields since the daily jam</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="buffer_get_video_afd_meta" c:identifier="gst_buffer_get_video_afd_meta" version="1.18" introspectable="0">
|
|
<doc xml:space="preserve">Gets the #GstVideoAFDMeta that might be present on @b.
|
|
|
|
Note: there may be two #GstVideoAFDMeta structs for interlaced video.</doc>
|
|
<parameters>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">A #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_get_video_affine_transformation_meta" c:identifier="gst_buffer_get_video_affine_transformation_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_get_video_bar_meta" c:identifier="gst_buffer_get_video_bar_meta" version="1.18" introspectable="0">
|
|
<doc xml:space="preserve">Gets the #GstVideoBarMeta that might be present on @b.</doc>
|
|
<parameters>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">A #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_get_video_caption_meta" c:identifier="gst_buffer_get_video_caption_meta" version="1.16" introspectable="0">
|
|
<doc xml:space="preserve">Gets the #GstVideoCaptionMeta that might be present on @b.</doc>
|
|
<parameters>
|
|
<parameter name="b">
|
|
<doc xml:space="preserve">A #GstBuffer</doc>
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_get_video_crop_meta" c:identifier="gst_buffer_get_video_crop_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_get_video_gl_texture_upload_meta" c:identifier="gst_buffer_get_video_gl_texture_upload_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="buffer_get_video_meta" c:identifier="gst_buffer_get_video_meta">
|
|
<doc xml:space="preserve">Find the #GstVideoMeta on @buffer with the lowest @id.
|
|
|
|
Buffers can contain multiple #GstVideoMeta metadata items when dealing with
|
|
multiview buffers.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoMeta with lowest id (usually 0) or %NULL when there
|
|
is no such metadata on @buffer.</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_get_video_meta_id" c:identifier="gst_buffer_get_video_meta_id">
|
|
<doc xml:space="preserve">Find the #GstVideoMeta on @buffer with the given @id.
|
|
|
|
Buffers can contain multiple #GstVideoMeta metadata items when dealing with
|
|
multiview buffers.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoMeta with @id or %NULL when there is no such metadata
|
|
on @buffer.</doc>
|
|
<type name="VideoMeta" c:type="GstVideoMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a metadata id</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="buffer_get_video_multiview_meta" c:identifier="gst_buffer_get_video_multiview_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_get_video_overlay_composition_meta" c:identifier="gst_buffer_get_video_overlay_composition_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function-macro name="buffer_get_video_region_of_interest_meta" c:identifier="gst_buffer_get_video_region_of_interest_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="buffer_get_video_region_of_interest_meta_id" c:identifier="gst_buffer_get_video_region_of_interest_meta_id">
|
|
<doc xml:space="preserve">Find the #GstVideoRegionOfInterestMeta on @buffer with the given @id.
|
|
|
|
Buffers can contain multiple #GstVideoRegionOfInterestMeta metadata items if
|
|
multiple regions of interests are marked on a frame.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoRegionOfInterestMeta with @id or %NULL when there is
|
|
no such metadata on @buffer.</doc>
|
|
<type name="VideoRegionOfInterestMeta" c:type="GstVideoRegionOfInterestMeta*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstBuffer</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="id" transfer-ownership="none">
|
|
<doc xml:space="preserve">a metadata id</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="buffer_get_video_time_code_meta" c:identifier="gst_buffer_get_video_time_code_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<function name="buffer_pool_config_get_video_alignment" c:identifier="gst_buffer_pool_config_get_video_alignment">
|
|
<doc xml:space="preserve">Get the video alignment from the bufferpool configuration @config in
|
|
in @align</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @config could be parsed correctly.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAlignment</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="buffer_pool_config_set_video_alignment" c:identifier="gst_buffer_pool_config_set_video_alignment">
|
|
<doc xml:space="preserve">Set the video alignment in @align to the bufferpool configuration
|
|
@config</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="config" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
<parameter name="align" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoAlignment</doc>
|
|
<type name="VideoAlignment" c:type="GstVideoAlignment*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function-macro name="buffer_remove_video_overlay_composition_meta" c:identifier="gst_buffer_remove_video_overlay_composition_meta" introspectable="0">
|
|
<parameters>
|
|
<parameter name="b">
|
|
</parameter>
|
|
<parameter name="m">
|
|
</parameter>
|
|
</parameters>
|
|
</function-macro>
|
|
<docsection name="gstvideo">
|
|
<doc xml:space="preserve">This library contains some helper functions and includes the
|
|
videosink and videofilter base classes.</doc>
|
|
</docsection>
|
|
<docsection name="gstvideoanc">
|
|
<doc xml:space="preserve">A collection of objects and methods to assist with handling Ancillary Data
|
|
present in Vertical Blanking Interval as well as Closed Caption.</doc>
|
|
</docsection>
|
|
<docsection name="gstvideochroma">
|
|
<doc xml:space="preserve">The functions gst_video_chroma_from_string() and gst_video_chroma_to_string() convert
|
|
between #GstVideoChromaSite and string descriptions.
|
|
|
|
#GstVideoChromaResample is a utility object for resampling chroma planes
|
|
and converting between different chroma sampling sitings.</doc>
|
|
</docsection>
|
|
<docsection name="gstvideopool">
|
|
<doc xml:space="preserve">Special GstBufferPool subclass for raw video buffers.
|
|
|
|
Allows configuration of video-specific requirements such as
|
|
stride alignments or pixel padding, and can also be configured
|
|
to automatically add #GstVideoMeta to the buffers.</doc>
|
|
</docsection>
|
|
<function name="is_video_overlay_prepare_window_handle_message" c:identifier="gst_is_video_overlay_prepare_window_handle_message">
|
|
<doc xml:space="preserve">Convenience function to check if the given message is a
|
|
"prepare-window-handle" message from a #GstVideoOverlay.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">whether @msg is a "prepare-window-handle" message</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="msg" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstMessage</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_get_type" c:identifier="gst_navigation_event_get_type" moved-to="Navigation.event_get_type">
|
|
<doc xml:space="preserve">Inspect a #GstEvent and return the #GstNavigationEventType of the event, or
|
|
#GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="NavigationEventType" c:type="GstNavigationEventType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_command" c:identifier="gst_navigation_event_parse_command" moved-to="Navigation.event_parse_command">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation command event and retrieve the enum value of the
|
|
associated command.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the navigation command could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="command" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to GstNavigationCommand to receive the
|
|
type of the navigation event.</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_key_event" c:identifier="gst_navigation_event_parse_key_event" moved-to="Navigation.event_parse_key_event">
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="key" direction="out" caller-allocates="0" transfer-ownership="none" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a location to receive
|
|
the string identifying the key press. The returned string is owned by the
|
|
event, and valid only until the event is unreffed.</doc>
|
|
<type name="utf8" c:type="const gchar**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_mouse_button_event" c:identifier="gst_navigation_event_parse_mouse_button_event" moved-to="Navigation.event_parse_mouse_button_event">
|
|
<doc xml:space="preserve">Retrieve the details of either a #GstNavigation mouse button press event or
|
|
a mouse button release event. Determine which type the event is using
|
|
gst_navigation_event_get_type() to retrieve the #GstNavigationEventType.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if the button number and both coordinates could be extracted,
|
|
otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="button" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gint that will receive the button
|
|
number associated with the event.</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse button event.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse button event.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_mouse_move_event" c:identifier="gst_navigation_event_parse_mouse_move_event" moved-to="Navigation.event_parse_mouse_move_event">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation mouse movement event and extract the coordinates
|
|
of the event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if both coordinates could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_event_parse_mouse_scroll_event" c:identifier="gst_navigation_event_parse_mouse_scroll_event" moved-to="Navigation.event_parse_mouse_scroll_event" version="1.18">
|
|
<doc xml:space="preserve">Inspect a #GstNavigation mouse scroll event and extract the coordinates
|
|
of the event.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if all coordinates could be extracted, otherwise FALSE.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to inspect.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the x coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the y coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="delta_x" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the delta_x coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="delta_y" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a gdouble to receive the delta_y coordinate of the
|
|
mouse movement.</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_get_type" c:identifier="gst_navigation_message_get_type" moved-to="Navigation.message_get_type">
|
|
<doc xml:space="preserve">Check a bus message to see if it is a #GstNavigation event, and return
|
|
the #GstNavigationMessageType identifying the type of the message if so.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The type of the #GstMessage, or
|
|
#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
|
|
notification.</doc>
|
|
<type name="NavigationMessageType" c:type="GstNavigationMessageType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_new_angles_changed" c:identifier="gst_navigation_message_new_angles_changed" moved-to="Navigation.message_new_angles_changed">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application
|
|
that the current angle, or current number of angles available in a
|
|
multiangle video has changed.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">The currently selected angle.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_angles" transfer-ownership="none">
|
|
<doc xml:space="preserve">The number of viewing angles now available.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_new_commands_changed" c:identifier="gst_navigation_message_new_commands_changed" moved-to="Navigation.message_new_commands_changed">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_new_event" c:identifier="gst_navigation_message_new_event" moved-to="Navigation.message_new_event" version="1.6">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_EVENT.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A navigation #GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_new_mouse_over" c:identifier="gst_navigation_message_new_mouse_over" moved-to="Navigation.message_new_mouse_over">
|
|
<doc xml:space="preserve">Creates a new #GstNavigation message with type
|
|
#GST_NAVIGATION_MESSAGE_MOUSE_OVER.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new #GstMessage.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstObject to set as source of the new message.</doc>
|
|
<type name="Gst.Object" c:type="GstObject*"/>
|
|
</parameter>
|
|
<parameter name="active" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the mouse has entered a clickable area of the display.
|
|
%FALSE if it over a non-clickable area.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_parse_angles_changed" c:identifier="gst_navigation_message_parse_angles_changed" moved-to="Navigation.message_parse_angles_changed">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
|
|
and extract the @cur_angle and @n_angles parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a #guint to receive the new
|
|
current angle number, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_angles" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a #guint to receive the new angle
|
|
count, or NULL.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_parse_event" c:identifier="gst_navigation_message_parse_event" moved-to="Navigation.message_parse_event" version="1.6">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT
|
|
and extract contained #GstEvent. The caller must unref the @event when done
|
|
with it.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="event" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to a #GstEvent to receive
|
|
the contained navigation event.</doc>
|
|
<type name="Gst.Event" c:type="GstEvent**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_message_parse_mouse_over" c:identifier="gst_navigation_message_parse_mouse_over" moved-to="Navigation.message_parse_mouse_over">
|
|
<doc xml:space="preserve">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER
|
|
and extract the active/inactive flag. If the mouse over event is marked
|
|
active, it indicates that the mouse is over a clickable area.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="message" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstMessage to inspect.</doc>
|
|
<type name="Gst.Message" c:type="GstMessage*"/>
|
|
</parameter>
|
|
<parameter name="active" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">A pointer to a gboolean to receive the
|
|
active/inactive state, or NULL.</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_get_type" c:identifier="gst_navigation_query_get_type" moved-to="Navigation.query_get_type">
|
|
<doc xml:space="preserve">Inspect a #GstQuery and return the #GstNavigationQueryType associated with
|
|
it if it is a #GstNavigation query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstNavigationQueryType of the query, or
|
|
#GST_NAVIGATION_QUERY_INVALID</doc>
|
|
<type name="NavigationQueryType" c:type="GstNavigationQueryType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">The query to inspect</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_new_angles" c:identifier="gst_navigation_query_new_angles" moved-to="Navigation.query_new_angles">
|
|
<doc xml:space="preserve">Create a new #GstNavigation angles query. When executed, it will
|
|
query the pipeline for the set of currently available angles, which may be
|
|
greater than one in a multiangle video.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new query.</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="navigation_query_new_commands" c:identifier="gst_navigation_query_new_commands" moved-to="Navigation.query_new_commands">
|
|
<doc xml:space="preserve">Create a new #GstNavigation commands query. When executed, it will
|
|
query the pipeline for the set of currently available commands.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new query.</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="navigation_query_parse_angles" c:identifier="gst_navigation_query_parse_angles" moved-to="Navigation.query_parse_angles">
|
|
<doc xml:space="preserve">Parse the current angle number in the #GstNavigation angles @query into the
|
|
#guint pointed to by the @cur_angle variable, and the number of available
|
|
angles into the #guint pointed to by the @n_angles variable.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a #guint into which to store the
|
|
currently selected angle value from the query, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="n_angles" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Pointer to a #guint into which to store the
|
|
number of angles value from the query, or NULL</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_parse_commands_length" c:identifier="gst_navigation_query_parse_commands_length" moved-to="Navigation.query_parse_commands_length">
|
|
<doc xml:space="preserve">Parse the number of commands in the #GstNavigation commands @query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">the number of commands in this query.</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_parse_commands_nth" c:identifier="gst_navigation_query_parse_commands_nth" moved-to="Navigation.query_parse_commands_nth">
|
|
<doc xml:space="preserve">Parse the #GstNavigation command query and retrieve the @nth command from
|
|
it into @cmd. If the list contains less elements than @nth, @cmd will be
|
|
set to #GST_NAVIGATION_COMMAND_INVALID.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="nth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the nth command to retrieve.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="cmd" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">a pointer to store the nth command into.</doc>
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_set_angles" c:identifier="gst_navigation_query_set_angles" moved-to="Navigation.query_set_angles">
|
|
<doc xml:space="preserve">Set the #GstNavigation angles query result field in @query.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="cur_angle" transfer-ownership="none">
|
|
<doc xml:space="preserve">the current viewing angle to set.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="n_angles" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of viewing angles to set.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="navigation_query_set_commandsv" c:identifier="gst_navigation_query_set_commandsv" moved-to="Navigation.query_set_commandsv">
|
|
<doc xml:space="preserve">Set the #GstNavigation command query result fields in @query. The number
|
|
of commands passed must be equal to @n_commands.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="query" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstQuery</doc>
|
|
<type name="Gst.Query" c:type="GstQuery*"/>
|
|
</parameter>
|
|
<parameter name="n_cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of commands to set.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="cmds" transfer-ownership="none">
|
|
<doc xml:space="preserve">An array containing @n_cmds
|
|
@GstNavigationCommand values.</doc>
|
|
<array length="1" zero-terminated="0" c:type="GstNavigationCommand*">
|
|
<type name="NavigationCommand" c:type="GstNavigationCommand"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_afd_meta_api_get_type" c:identifier="gst_video_afd_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_afd_meta_get_info" c:identifier="gst_video_afd_meta_get_info" moved-to="VideoAFDMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_affine_transformation_meta_api_get_type" c:identifier="gst_video_affine_transformation_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_affine_transformation_meta_get_info" c:identifier="gst_video_affine_transformation_meta_get_info" moved-to="VideoAffineTransformationMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_bar_meta_api_get_type" c:identifier="gst_video_bar_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_bar_meta_get_info" c:identifier="gst_video_bar_meta_get_info" moved-to="VideoBarMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_blend" c:identifier="gst_video_blend">
|
|
<doc xml:space="preserve">Lets you blend the @src image into the @dest image</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dest" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoFrame where to blend @src in</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFrame that we want to blend into</doc>
|
|
<type name="VideoFrame" c:type="GstVideoFrame*"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">The x offset in pixel where the @src image should be blended</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">the y offset in pixel where the @src image should be blended</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="global_alpha" transfer-ownership="none">
|
|
<doc xml:space="preserve">the global_alpha each per-pixel alpha value is multiplied
|
|
with</doc>
|
|
<type name="gfloat" c:type="gfloat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_blend_scale_linear_RGBA" c:identifier="gst_video_blend_scale_linear_RGBA">
|
|
<doc xml:space="preserve">Scales a buffer containing RGBA (or AYUV) video. This is an internal
|
|
helper function which is used to scale subtitle overlays, and may be
|
|
deprecated in the near future. Use #GstVideoScaler to scale video buffers
|
|
instead.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="src" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoInfo describing the video data in @src_buffer</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="src_buffer" transfer-ownership="none">
|
|
<doc xml:space="preserve">the source buffer containing video pixels to scale</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer*"/>
|
|
</parameter>
|
|
<parameter name="dest_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">the height in pixels to scale the video data in @src_buffer to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="dest_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width in pixels to scale the video data in @src_buffer to</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="dest" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">pointer to a #GstVideoInfo structure that will be filled in
|
|
with the details for @dest_buffer</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="dest_buffer" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">a pointer to a #GstBuffer variable, which will be
|
|
set to a newly-allocated buffer containing the scaled pixels.</doc>
|
|
<type name="Gst.Buffer" c:type="GstBuffer**"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_calculate_display_ratio" c:identifier="gst_video_calculate_display_ratio">
|
|
<doc xml:space="preserve">Given the Pixel Aspect Ratio and size of an input video frame, and the
|
|
pixel aspect ratio of the intended display device, calculates the actual
|
|
display ratio the video will be rendered with.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A boolean indicating success and a calculated Display Ratio in the
|
|
dar_n and dar_d parameters.
|
|
The return value is FALSE in the case of integer overflow or other error.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="dar_n" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Numerator of the calculated display_ratio</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="dar_d" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">Denominator of the calculated display_ratio</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="video_width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Width of the video frame in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="video_height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Height of the video frame in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="video_par_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the pixel aspect ratio of the input video.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="video_par_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the pixel aspect ratio of the input video.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="display_par_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the pixel aspect ratio of the display device</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="display_par_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the pixel aspect ratio of the display device</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_caption_meta_api_get_type" c:identifier="gst_video_caption_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_caption_meta_get_info" c:identifier="gst_video_caption_meta_get_info" moved-to="VideoCaptionMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_caption_type_from_caps" c:identifier="gst_video_caption_type_from_caps" moved-to="VideoCaptionType.from_caps" version="1.16">
|
|
<doc xml:space="preserve">Parses fixed Closed Caption #GstCaps and returns the corresponding caption
|
|
type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoCaptionType.</doc>
|
|
<type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">Fixed #GstCaps to parse</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_caption_type_to_caps" c:identifier="gst_video_caption_type_to_caps" moved-to="VideoCaptionType.to_caps" version="1.16">
|
|
<doc xml:space="preserve">Creates new caps corresponding to @type.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">new #GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="type" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoCaptionType</doc>
|
|
<type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_chroma_from_string" c:identifier="gst_video_chroma_from_string">
|
|
<doc xml:space="preserve">Convert @s to a #GstVideoChromaSite</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite or %GST_VIDEO_CHROMA_SITE_UNKNOWN when @s does
|
|
not contain a valid chroma description.</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="s" transfer-ownership="none">
|
|
<doc xml:space="preserve">a chromasite string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_chroma_resample" c:identifier="gst_video_chroma_resample">
|
|
<doc xml:space="preserve">Perform resampling of @width chroma pixels in @lines.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="resample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaResample</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</parameter>
|
|
<parameter name="lines" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">pixel lines</doc>
|
|
<type name="gpointer" c:type="gpointer*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the number of pixels on one line</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_chroma_resample_new" c:identifier="gst_video_chroma_resample_new" moved-to="VideoChromaResample.new" introspectable="0">
|
|
<doc xml:space="preserve">Create a new resampler object for the given parameters. When @h_factor or
|
|
@v_factor is > 0, upsampling will be used, otherwise subsampling is
|
|
performed.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new #GstVideoChromaResample that should be freed with
|
|
gst_video_chroma_resample_free() after usage.</doc>
|
|
<type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaMethod</doc>
|
|
<type name="VideoChromaMethod" c:type="GstVideoChromaMethod"/>
|
|
</parameter>
|
|
<parameter name="site" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoChromaFlags</doc>
|
|
<type name="VideoChromaFlags" c:type="GstVideoChromaFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="h_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">horizontal resampling factor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="v_factor" transfer-ownership="none">
|
|
<doc xml:space="preserve">vertical resampling factor</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_chroma_to_string" c:identifier="gst_video_chroma_to_string">
|
|
<doc xml:space="preserve">Converts @site to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a string describing @site.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="site" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoChromaSite</doc>
|
|
<type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_matrix_from_iso" c:identifier="gst_video_color_matrix_from_iso" moved-to="VideoColorMatrix.from_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts the @value to the #GstVideoColorMatrix
|
|
The matrix coefficients (MatrixCoefficients) value is
|
|
defined by "ISO/IEC 23001-8 Section 7.3 Table 4"
|
|
and "ITU-T H.273 Table 4".
|
|
"H.264 Table E-5" and "H.265 Table E.5" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the matched #GstVideoColorMatrix</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a ITU-T H.273 matrix coefficients value</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_matrix_get_Kr_Kb" c:identifier="gst_video_color_matrix_get_Kr_Kb" moved-to="VideoColorMatrix.get_Kr_Kb" version="1.6">
|
|
<doc xml:space="preserve">Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix.
|
|
|
|
When:
|
|
|
|
|[
|
|
0.0 <= [Y',R',G',B'] <= 1.0)
|
|
(-0.5 <= [Pb,Pr] <= 0.5)
|
|
]|
|
|
|
|
the general conversion is given by:
|
|
|
|
|[
|
|
Y' = Kr*R' + (1-Kr-Kb)*G' + Kb*B'
|
|
Pb = (B'-Y')/(2*(1-Kb))
|
|
Pr = (R'-Y')/(2*(1-Kr))
|
|
]|
|
|
|
|
and the other way around:
|
|
|
|
|[
|
|
R' = Y' + Cr*2*(1-Kr)
|
|
G' = Y' - Cb*2*(1-Kb)*Kb/(1-Kr-Kb) - Cr*2*(1-Kr)*Kr/(1-Kr-Kb)
|
|
B' = Y' + Cb*2*(1-Kb)
|
|
]|</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid
|
|
values.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorMatrix</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</parameter>
|
|
<parameter name="Kr" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result red channel coefficient</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
<parameter name="Kb" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">result blue channel coefficient</doc>
|
|
<type name="gdouble" c:type="gdouble*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_matrix_to_iso" c:identifier="gst_video_color_matrix_to_iso" moved-to="VideoColorMatrix.to_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts #GstVideoColorMatrix to the "matrix coefficients"
|
|
(MatrixCoefficients) value defined by "ISO/IEC 23001-8 Section 7.3 Table 4"
|
|
and "ITU-T H.273 Table 4".
|
|
"H.264 Table E-5" and "H.265 Table E.5" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of ISO/IEC 23001-8 matrix coefficients.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="matrix" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorMatrix</doc>
|
|
<type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_primaries_from_iso" c:identifier="gst_video_color_primaries_from_iso" moved-to="VideoColorPrimaries.from_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts the @value to the #GstVideoColorPrimaries
|
|
The colour primaries (ColourPrimaries) value is
|
|
defined by "ISO/IEC 23001-8 Section 7.1 Table 2" and "ITU-T H.273 Table 2".
|
|
"H.264 Table E-3" and "H.265 Table E.3" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the matched #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a ITU-T H.273 colour primaries value</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_primaries_get_info" c:identifier="gst_video_color_primaries_get_info" moved-to="VideoColorPrimaries.get_info" version="1.6">
|
|
<doc xml:space="preserve">Get information about the chromaticity coordinates of @primaries.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimariesInfo for @primaries.</doc>
|
|
<type name="VideoColorPrimariesInfo" c:type="const GstVideoColorPrimariesInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="primaries" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_primaries_to_iso" c:identifier="gst_video_color_primaries_to_iso" moved-to="VideoColorPrimaries.to_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts #GstVideoColorPrimaries to the "colour primaries" (ColourPrimaries)
|
|
value defined by "ISO/IEC 23001-8 Section 7.1 Table 2"
|
|
and "ITU-T H.273 Table 2".
|
|
"H.264 Table E-3" and "H.265 Table E.3" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of ISO/IEC 23001-8 colour primaries.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="primaries" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorPrimaries</doc>
|
|
<type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_range_offsets" c:identifier="gst_video_color_range_offsets" moved-to="VideoColorRange.offsets">
|
|
<doc xml:space="preserve">Compute the offset and scale values for each component of @info. For each
|
|
component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the
|
|
range [0.0 .. 1.0].
|
|
|
|
The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert
|
|
the component values in range [0.0 .. 1.0] back to their representation in
|
|
@info and @range.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="range" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoColorRange</doc>
|
|
<type name="VideoColorRange" c:type="GstVideoColorRange"/>
|
|
</parameter>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormatInfo</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</parameter>
|
|
<parameter name="offset" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">output offsets</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="scale" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">output scale</doc>
|
|
<array zero-terminated="0" c:type="gint*" fixed-size="4">
|
|
<type name="gint" c:type="gint"/>
|
|
</array>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_transfer_decode" c:identifier="gst_video_color_transfer_decode" version="1.6">
|
|
<doc xml:space="preserve">Convert @val to its gamma decoded value. This is the inverse operation of
|
|
@gst_video_color_transfer_encode().
|
|
|
|
For a non-linear value L' in the range [0..1], conversion to the linear
|
|
L is in general performed with a power function like:
|
|
|
|
|[
|
|
L = L' ^ gamma
|
|
]|
|
|
|
|
Depending on @func, different formulas might be applied. Some formulas
|
|
encode a linear segment in the lower range.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the gamma decoded value of @val</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTransferFunction</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_color_transfer_encode" c:identifier="gst_video_color_transfer_encode" version="1.6">
|
|
<doc xml:space="preserve">Convert @val to its gamma encoded value.
|
|
|
|
For a linear value L in the range [0..1], conversion to the non-linear
|
|
(gamma encoded) L' is in general performed with a power function like:
|
|
|
|
|[
|
|
L' = L ^ (1 / gamma)
|
|
]|
|
|
|
|
Depending on @func, different formulas might be applied. Some formulas
|
|
encode a linear segment in the lower range.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the gamma encoded value of @val</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTransferFunction</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
<parameter name="val" transfer-ownership="none">
|
|
<doc xml:space="preserve">a value</doc>
|
|
<type name="gdouble" c:type="gdouble"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_convert_sample" c:identifier="gst_video_convert_sample" throws="1">
|
|
<doc xml:space="preserve">Converts a raw video buffer into the specified output caps.
|
|
|
|
The output caps can be any raw video formats or any image formats (jpeg, png, ...).
|
|
|
|
The width, height and pixel-aspect-ratio can also be specified in the output caps.</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The converted #GstSample, or %NULL if an error happened (in which case @err
|
|
will point to the #GError).</doc>
|
|
<type name="Gst.Sample" c:type="GstSample*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Gst.Sample" c:type="GstSample*"/>
|
|
</parameter>
|
|
<parameter name="to_caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to convert to</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum amount of time allowed for the processing.</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_convert_sample_async" c:identifier="gst_video_convert_sample_async">
|
|
<doc xml:space="preserve">Converts a raw video buffer into the specified output caps.
|
|
|
|
The output caps can be any raw video formats or any image formats (jpeg, png, ...).
|
|
|
|
The width, height and pixel-aspect-ratio can also be specified in the output caps.
|
|
|
|
@callback will be called after conversion, when an error occurred or if conversion didn't
|
|
finish after @timeout. @callback will always be called from the thread default
|
|
%GMainContext, see g_main_context_get_thread_default(). If GLib before 2.22 is used,
|
|
this will always be the global default main context.
|
|
|
|
@destroy_notify will be called after the callback was called and @user_data is not needed
|
|
anymore.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="sample" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstSample</doc>
|
|
<type name="Gst.Sample" c:type="GstSample*"/>
|
|
</parameter>
|
|
<parameter name="to_caps" transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstCaps to convert to</doc>
|
|
<type name="Gst.Caps" c:type="const GstCaps*"/>
|
|
</parameter>
|
|
<parameter name="timeout" transfer-ownership="none">
|
|
<doc xml:space="preserve">the maximum amount of time allowed for the processing.</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="callback" transfer-ownership="none" scope="notified" closure="4" destroy="5">
|
|
<doc xml:space="preserve">%GstVideoConvertSampleCallback that will be called after conversion.</doc>
|
|
<type name="VideoConvertSampleCallback" c:type="GstVideoConvertSampleCallback"/>
|
|
</parameter>
|
|
<parameter name="user_data" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">extra data that will be passed to the @callback</doc>
|
|
<type name="gpointer" c:type="gpointer"/>
|
|
</parameter>
|
|
<parameter name="destroy_notify" transfer-ownership="none" scope="async">
|
|
<doc xml:space="preserve">%GDestroyNotify to be called after @user_data is not needed anymore</doc>
|
|
<type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_converter_new" c:identifier="gst_video_converter_new" moved-to="VideoConverter.new" version="1.6" introspectable="0">
|
|
<doc xml:space="preserve">Create a new converter object to convert between @in_info and @out_info
|
|
with @config.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
|
|
<type name="VideoConverter" c:type="GstVideoConverter*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="in_info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="out_info" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInfo</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="config" transfer-ownership="full">
|
|
<doc xml:space="preserve">a #GstStructure with configuration options</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_crop_meta_api_get_type" c:identifier="gst_video_crop_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_crop_meta_get_info" c:identifier="gst_video_crop_meta_get_info" moved-to="VideoCropMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_dither_new" c:identifier="gst_video_dither_new" moved-to="VideoDither.new" introspectable="0">
|
|
<doc xml:space="preserve">Make a new dither object for dithering lines of @format using the
|
|
algorithm described by @method.
|
|
|
|
Each component will be quantized to a multiple of @quantizer. Better
|
|
performance is achieved when @quantizer is a power of 2.
|
|
|
|
@width is the width of the lines that this ditherer will handle.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a new #GstVideoDither</doc>
|
|
<type name="VideoDither" c:type="GstVideoDither*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDitherMethod</doc>
|
|
<type name="VideoDitherMethod" c:type="GstVideoDitherMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoDitherFlags</doc>
|
|
<type name="VideoDitherFlags" c:type="GstVideoDitherFlags"/>
|
|
</parameter>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="quantizer" transfer-ownership="none">
|
|
<doc xml:space="preserve">quantizer</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">the width of the lines</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_is_force_key_unit" c:identifier="gst_video_event_is_force_key_unit">
|
|
<doc xml:space="preserve">Checks if an event is a force key unit event. Returns true for both upstream
|
|
and downstream force key unit events.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event is a valid force key unit event</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to check</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_new_downstream_force_key_unit" c:identifier="gst_video_event_new_downstream_force_key_unit">
|
|
<doc xml:space="preserve">Creates a new downstream force key unit event. A downstream force key unit
|
|
event can be sent down the pipeline to request downstream elements to produce
|
|
a key unit. A downstream force key unit event must also be sent when handling
|
|
an upstream force key unit event to notify downstream that the latter has been
|
|
handled.
|
|
|
|
To parse an event created by gst_video_event_new_downstream_force_key_unit() use
|
|
gst_video_event_parse_downstream_force_key_unit().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="timestamp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the timestamp of the buffer that starts a new key unit</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="stream_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the stream_time of the buffer that starts a new key unit</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running_time of the buffer that starts a new key unit</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="all_headers" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE to produce headers when starting a new key unit</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="count" transfer-ownership="none">
|
|
<doc xml:space="preserve">integer that can be used to number key units</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_new_still_frame" c:identifier="gst_video_event_new_still_frame">
|
|
<doc xml:space="preserve">Creates a new Still Frame event. If @in_still is %TRUE, then the event
|
|
represents the start of a still frame sequence. If it is %FALSE, then
|
|
the event ends a still frame sequence.
|
|
|
|
To parse an event created by gst_video_event_new_still_frame() use
|
|
gst_video_event_parse_still_frame().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="in_still" transfer-ownership="none">
|
|
<doc xml:space="preserve">boolean value for the still-frame state of the event.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_new_upstream_force_key_unit" c:identifier="gst_video_event_new_upstream_force_key_unit">
|
|
<doc xml:space="preserve">Creates a new upstream force key unit event. An upstream force key unit event
|
|
can be sent to request upstream elements to produce a key unit.
|
|
|
|
@running_time can be set to request a new key unit at a specific
|
|
running_time. If set to GST_CLOCK_TIME_NONE, upstream elements will produce a
|
|
new key unit as soon as possible.
|
|
|
|
To parse an event created by gst_video_event_new_downstream_force_key_unit() use
|
|
gst_video_event_parse_downstream_force_key_unit().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">The new GstEvent</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="running_time" transfer-ownership="none">
|
|
<doc xml:space="preserve">the running_time at which a new key unit should be produced</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="all_headers" transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE to produce headers when starting a new key unit</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</parameter>
|
|
<parameter name="count" transfer-ownership="none">
|
|
<doc xml:space="preserve">integer that can be used to number key units</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_parse_downstream_force_key_unit" c:identifier="gst_video_event_parse_downstream_force_key_unit">
|
|
<doc xml:space="preserve">Get timestamp, stream-time, running-time, all-headers and count in the force
|
|
key unit event. See gst_video_event_new_downstream_force_key_unit() for a
|
|
full description of the downstream force key unit event.
|
|
|
|
@running_time will be adjusted for any pad offsets of pads it was passing through.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event is a valid downstream force key unit event.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to parse</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="timestamp" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the timestamp in the event</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="stream_time" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the stream-time in the event</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="running_time" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the running-time in the event</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="all_headers" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the all_headers flag in the event</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="count" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the count field of the event</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_parse_still_frame" c:identifier="gst_video_event_parse_still_frame">
|
|
<doc xml:space="preserve">Parse a #GstEvent, identify if it is a Still Frame event, and
|
|
return the still-frame state from the event if it is.
|
|
If the event represents the start of a still frame, the in_still
|
|
variable will be set to TRUE, otherwise FALSE. It is OK to pass NULL for the
|
|
in_still variable order to just check whether the event is a valid still-frame
|
|
event.
|
|
|
|
Create a still frame event using gst_video_event_new_still_frame()</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event is a valid still-frame event. %FALSE if not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to parse</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="in_still" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">
|
|
A boolean to receive the still-frame status from the event, or NULL</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_event_parse_upstream_force_key_unit" c:identifier="gst_video_event_parse_upstream_force_key_unit">
|
|
<doc xml:space="preserve">Get running-time, all-headers and count in the force key unit event. See
|
|
gst_video_event_new_upstream_force_key_unit() for a full description of the
|
|
upstream force key unit event.
|
|
|
|
Create an upstream force key unit event using gst_video_event_new_upstream_force_key_unit()
|
|
|
|
@running_time will be adjusted for any pad offsets of pads it was passing through.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the event is a valid upstream force-key-unit event. %FALSE if not</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="event" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstEvent to parse</doc>
|
|
<type name="Gst.Event" c:type="GstEvent*"/>
|
|
</parameter>
|
|
<parameter name="running_time" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the running_time in the event</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime*"/>
|
|
</parameter>
|
|
<parameter name="all_headers" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the all_headers flag in the event</doc>
|
|
<type name="gboolean" c:type="gboolean*"/>
|
|
</parameter>
|
|
<parameter name="count" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">A pointer to the count field in the event</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_field_order_from_string" c:identifier="gst_video_field_order_from_string" moved-to="VideoFieldOrder.from_string" version="1.12">
|
|
<doc xml:space="preserve">Convert @order to a #GstVideoFieldOrder</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFieldOrder of @order or
|
|
#GST_VIDEO_FIELD_ORDER_UNKNOWN when @order is not a valid
|
|
string representation for a #GstVideoFieldOrder.</doc>
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="order" transfer-ownership="none">
|
|
<doc xml:space="preserve">a field order</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_field_order_to_string" c:identifier="gst_video_field_order_to_string" moved-to="VideoFieldOrder.to_string" version="1.12">
|
|
<doc xml:space="preserve">Convert @order to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@order as a string or NULL if @order in invalid.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="order" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFieldOrder</doc>
|
|
<type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_from_fourcc" c:identifier="gst_video_format_from_fourcc" moved-to="VideoFormat.from_fourcc">
|
|
<doc xml:space="preserve">Converts a FOURCC value into the corresponding #GstVideoFormat.
|
|
If the FOURCC cannot be represented by #GstVideoFormat,
|
|
#GST_VIDEO_FORMAT_UNKNOWN is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat describing the FOURCC value</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="fourcc" transfer-ownership="none">
|
|
<doc xml:space="preserve">a FOURCC value representing raw YUV video</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_from_masks" c:identifier="gst_video_format_from_masks" moved-to="VideoFormat.from_masks">
|
|
<doc xml:space="preserve">Find the #GstVideoFormat for the given parameters.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to
|
|
not specify a known format.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="depth" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of bits used for a pixel</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="bpp" transfer-ownership="none">
|
|
<doc xml:space="preserve">the amount of bits used to store a pixel. This value is bigger than
|
|
@depth</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="endianness" transfer-ownership="none">
|
|
<doc xml:space="preserve">the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="red_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the red mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="green_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the green mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="blue_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the blue mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="alpha_mask" transfer-ownership="none">
|
|
<doc xml:space="preserve">the alpha mask, or 0 if no alpha mask</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_from_string" c:identifier="gst_video_format_from_string" moved-to="VideoFormat.from_string">
|
|
<doc xml:space="preserve">Convert the @format string to its #GstVideoFormat.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the
|
|
string is not a known format.</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a format string</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_get_info" c:identifier="gst_video_format_get_info" moved-to="VideoFormat.get_info">
|
|
<doc xml:space="preserve">Get the #GstVideoFormatInfo for @format</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoFormatInfo for @format.</doc>
|
|
<type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_get_palette" c:identifier="gst_video_format_get_palette" moved-to="VideoFormat.get_palette" version="1.2">
|
|
<doc xml:space="preserve">Get the default palette of @format. This the palette used in the pack
|
|
function for paletted formats.</doc>
|
|
<return-value transfer-ownership="none" nullable="1">
|
|
<doc xml:space="preserve">the default palette of @format or %NULL when
|
|
@format does not have a palette.</doc>
|
|
<type name="gpointer" c:type="gconstpointer"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
<parameter name="size" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">size of the palette in bytes</doc>
|
|
<type name="gsize" c:type="gsize*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_to_fourcc" c:identifier="gst_video_format_to_fourcc" moved-to="VideoFormat.to_fourcc">
|
|
<doc xml:space="preserve">Converts a #GstVideoFormat value into the corresponding FOURCC. Only
|
|
a few YUV formats have corresponding FOURCC values. If @format has
|
|
no corresponding FOURCC value, 0 is returned.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the FOURCC corresponding to @format</doc>
|
|
<type name="guint32" c:type="guint32"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_format_to_string" c:identifier="gst_video_format_to_string" moved-to="VideoFormat.to_string">
|
|
<doc xml:space="preserve">Returns a string containing a descriptive name for
|
|
the #GstVideoFormat if there is one, or NULL otherwise.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the name corresponding to @format</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="format" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoFormat video format</doc>
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_formats_raw" c:identifier="gst_video_formats_raw" version="1.18">
|
|
<doc xml:space="preserve">Return all the raw video formats supported by GStreamer.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">an array of #GstVideoFormat</doc>
|
|
<array length="0" zero-terminated="0" c:type="const GstVideoFormat*">
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</array>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="len" direction="out" caller-allocates="0" transfer-ownership="full">
|
|
<doc xml:space="preserve">the number of elements in the returned array</doc>
|
|
<type name="guint" c:type="guint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_gl_texture_upload_meta_api_get_type" c:identifier="gst_video_gl_texture_upload_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_gl_texture_upload_meta_get_info" c:identifier="gst_video_gl_texture_upload_meta_get_info" moved-to="VideoGLTextureUploadMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_guess_framerate" c:identifier="gst_video_guess_framerate" version="1.6">
|
|
<doc xml:space="preserve">Given the nominal duration of one video frame,
|
|
this function will check some standard framerates for
|
|
a close match (within 0.1%) and return one if possible,
|
|
|
|
It will calculate an arbitrary framerate if no close
|
|
match was found, and return %FALSE.
|
|
|
|
It returns %FALSE if a duration of 0 is passed.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if a close "standard" framerate was
|
|
recognised, and %FALSE otherwise.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="duration" transfer-ownership="none">
|
|
<doc xml:space="preserve">Nominal duration of one frame</doc>
|
|
<type name="Gst.ClockTime" c:type="GstClockTime"/>
|
|
</parameter>
|
|
<parameter name="dest_n" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Numerator of the calculated framerate</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
<parameter name="dest_d" direction="out" caller-allocates="0" transfer-ownership="full" optional="1" allow-none="1">
|
|
<doc xml:space="preserve">Denominator of the calculated framerate</doc>
|
|
<type name="gint" c:type="gint*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_interlace_mode_from_string" c:identifier="gst_video_interlace_mode_from_string" moved-to="VideoInterlaceMode.from_string" version="1.6">
|
|
<doc xml:space="preserve">Convert @mode to a #GstVideoInterlaceMode</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the #GstVideoInterlaceMode of @mode or
|
|
#GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when @mode is not a valid
|
|
string representation for a #GstVideoInterlaceMode.</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a mode</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_interlace_mode_to_string" c:identifier="gst_video_interlace_mode_to_string" moved-to="VideoInterlaceMode.to_string" version="1.6">
|
|
<doc xml:space="preserve">Convert @mode to its string representation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">@mode as a string or NULL if @mode in invalid.</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoInterlaceMode</doc>
|
|
<type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_make_raw_caps" c:identifier="gst_video_make_raw_caps" version="1.18">
|
|
<doc xml:space="preserve">Return a generic raw video caps for formats defined in @formats.
|
|
If @formats is %NULL returns a caps for all the supported raw video formats,
|
|
see gst_video_formats_raw().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a video @GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="formats" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an array of raw #GstVideoFormat, or %NULL</doc>
|
|
<array length="1" zero-terminated="0" c:type="const GstVideoFormat*">
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="len" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of @formats</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_make_raw_caps_with_features" c:identifier="gst_video_make_raw_caps_with_features" version="1.18">
|
|
<doc xml:space="preserve">Return a generic raw video caps for formats defined in @formats with features
|
|
@features.
|
|
If @formats is %NULL returns a caps for all the supported video formats,
|
|
see gst_video_formats_raw().</doc>
|
|
<return-value transfer-ownership="full">
|
|
<doc xml:space="preserve">a video @GstCaps</doc>
|
|
<type name="Gst.Caps" c:type="GstCaps*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="formats" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">an array of raw #GstVideoFormat, or %NULL</doc>
|
|
<array length="1" zero-terminated="0" c:type="const GstVideoFormat*">
|
|
<type name="VideoFormat" c:type="GstVideoFormat"/>
|
|
</array>
|
|
</parameter>
|
|
<parameter name="len" transfer-ownership="none">
|
|
<doc xml:space="preserve">the size of @formats</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="features" transfer-ownership="full" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">the #GstCapsFeatures to set on the caps</doc>
|
|
<type name="Gst.CapsFeatures" c:type="GstCapsFeatures*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_mastering_display_info_from_string" c:identifier="gst_video_mastering_display_info_from_string" moved-to="VideoMasteringDisplayInfo.from_string" version="1.18">
|
|
<doc xml:space="preserve">Extract #GstVideoMasteringDisplayInfo from @mastering</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if @minfo was filled with @mastering</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="minfo" direction="out" caller-allocates="1" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="VideoMasteringDisplayInfo" c:type="GstVideoMasteringDisplayInfo*"/>
|
|
</parameter>
|
|
<parameter name="mastering" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstStructure representing #GstVideoMasteringDisplayInfo</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_meta_api_get_type" c:identifier="gst_video_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_meta_get_info" c:identifier="gst_video_meta_get_info" moved-to="VideoMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_meta_transform_scale_get_quark" c:identifier="gst_video_meta_transform_scale_get_quark" moved-to="VideoMetaTransform.scale_get_quark">
|
|
<doc xml:space="preserve">Get the #GQuark for the "gst-video-scale" metadata transform operation.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GQuark</doc>
|
|
<type name="GLib.Quark" c:type="GQuark"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_doubled_height_modes" c:identifier="gst_video_multiview_get_doubled_height_modes" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of stereo video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of packed stereo
|
|
video modes with double the height of a single view for use in
|
|
caps negotiations. Currently this is top-bottom and row-interleaved.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_doubled_size_modes" c:identifier="gst_video_multiview_get_doubled_size_modes" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of stereo video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of packed
|
|
stereo video modes that have double the width/height of a single
|
|
view for use in caps negotiation. Currently this is just
|
|
'checkerboard' layout.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_doubled_width_modes" c:identifier="gst_video_multiview_get_doubled_width_modes" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of stereo video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of packed stereo
|
|
video modes with double the width of a single view for use in
|
|
caps negotiations. Currently this is side-by-side, side-by-side-quincunx
|
|
and column-interleaved.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_mono_modes" c:identifier="gst_video_multiview_get_mono_modes" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of mono video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of mono video
|
|
modes (mono/left/right) for use in caps negotiations.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_get_unpacked_modes" c:identifier="gst_video_multiview_get_unpacked_modes" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A const #GValue containing a list of 'unpacked' stereo video modes
|
|
|
|
Utility function that returns a #GValue with a GstList of unpacked
|
|
stereo video modes (separated/frame-by-frame/frame-by-frame-multiview)
|
|
for use in caps negotiations.</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_multiview_guess_half_aspect" c:identifier="gst_video_multiview_guess_half_aspect" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">A boolean indicating whether the
|
|
#GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT flag should be set.
|
|
|
|
Utility function that heuristically guess whether a
|
|
frame-packed stereoscopic video contains half width/height
|
|
encoded views, or full-frame views by looking at the
|
|
overall display aspect ratio.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mv_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoMultiviewMode</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</parameter>
|
|
<parameter name="width" transfer-ownership="none">
|
|
<doc xml:space="preserve">Video frame width in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="height" transfer-ownership="none">
|
|
<doc xml:space="preserve">Video frame height in pixels</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="par_n" transfer-ownership="none">
|
|
<doc xml:space="preserve">Numerator of the video pixel-aspect-ratio</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="par_d" transfer-ownership="none">
|
|
<doc xml:space="preserve">Denominator of the video pixel-aspect-ratio</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_multiview_mode_from_caps_string" c:identifier="gst_video_multiview_mode_from_caps_string" moved-to="VideoMultiviewMode.from_caps_string" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GstVideoMultiviewMode value
|
|
|
|
Given a string from a caps multiview-mode field,
|
|
output the corresponding #GstVideoMultiviewMode
|
|
or #GST_VIDEO_MULTIVIEW_MODE_NONE</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="caps_mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">multiview-mode field string from caps</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_multiview_mode_to_caps_string" c:identifier="gst_video_multiview_mode_to_caps_string" moved-to="VideoMultiviewMode.to_caps_string" version="1.6">
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The caps string representation of the mode, or NULL if invalid.
|
|
|
|
Given a #GstVideoMultiviewMode returns the multiview-mode caps string
|
|
for insertion into a caps structure</doc>
|
|
<type name="utf8" c:type="const gchar*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoMultiviewMode value</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_multiview_video_info_change_mode" c:identifier="gst_video_multiview_video_info_change_mode" version="1.6">
|
|
<doc xml:space="preserve">Utility function that transforms the width/height/PAR
|
|
and multiview mode and flags of a #GstVideoInfo into
|
|
the requested mode.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="info" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoInfo structure to operate on</doc>
|
|
<type name="VideoInfo" c:type="GstVideoInfo*"/>
|
|
</parameter>
|
|
<parameter name="out_mview_mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">A #GstVideoMultiviewMode value</doc>
|
|
<type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
|
|
</parameter>
|
|
<parameter name="out_mview_flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">A set of #GstVideoMultiviewFlags</doc>
|
|
<type name="VideoMultiviewFlags" c:type="GstVideoMultiviewFlags"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_overlay_composition_meta_api_get_type" c:identifier="gst_video_overlay_composition_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_overlay_composition_meta_get_info" c:identifier="gst_video_overlay_composition_meta_get_info" moved-to="VideoOverlayCompositionMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_overlay_install_properties" c:identifier="gst_video_overlay_install_properties" moved-to="VideoOverlay.install_properties" version="1.14">
|
|
<doc xml:space="preserve">This helper shall be used by classes implementing the #GstVideoOverlay
|
|
interface that want the render rectangle to be controllable using
|
|
properties. This helper will install "render-rectangle" property into the
|
|
class.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<type name="none" c:type="void"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="oclass" transfer-ownership="none">
|
|
<doc xml:space="preserve">The class on which the properties will be installed</doc>
|
|
<type name="GObject.ObjectClass" c:type="GObjectClass*"/>
|
|
</parameter>
|
|
<parameter name="last_prop_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The first free property ID to use</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_overlay_set_property" c:identifier="gst_video_overlay_set_property" moved-to="VideoOverlay.set_property" version="1.14">
|
|
<doc xml:space="preserve">This helper shall be used by classes implementing the #GstVideoOverlay
|
|
interface that want the render rectangle to be controllable using
|
|
properties. This helper will parse and set the render rectangle calling
|
|
gst_video_overlay_set_render_rectangle().</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">%TRUE if the @property_id matches the GstVideoOverlay property</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="object" transfer-ownership="none">
|
|
<doc xml:space="preserve">The instance on which the property is set</doc>
|
|
<type name="GObject.Object" c:type="GObject*"/>
|
|
</parameter>
|
|
<parameter name="last_prop_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The highest property ID.</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="property_id" transfer-ownership="none">
|
|
<doc xml:space="preserve">The property ID</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">The #GValue to be set</doc>
|
|
<type name="GObject.Value" c:type="const GValue*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_region_of_interest_meta_api_get_type" c:identifier="gst_video_region_of_interest_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_region_of_interest_meta_get_info" c:identifier="gst_video_region_of_interest_meta_get_info" moved-to="VideoRegionOfInterestMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_scaler_new" c:identifier="gst_video_scaler_new" moved-to="VideoScaler.new" introspectable="0">
|
|
<doc xml:space="preserve">Make a new @method video scaler. @in_size source lines/pixels will
|
|
be scaled to @out_size destination lines/pixels.
|
|
|
|
@n_taps specifies the amount of pixels to use from the source for one output
|
|
pixel. If n_taps is 0, this function chooses a good value automatically based
|
|
on the @method and @in_size/@out_size.</doc>
|
|
<return-value>
|
|
<doc xml:space="preserve">a #GstVideoScaler</doc>
|
|
<type name="VideoScaler" c:type="GstVideoScaler*"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="method" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoResamplerMethod</doc>
|
|
<type name="VideoResamplerMethod" c:type="GstVideoResamplerMethod"/>
|
|
</parameter>
|
|
<parameter name="flags" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoScalerFlags</doc>
|
|
<type name="VideoScalerFlags" c:type="GstVideoScalerFlags"/>
|
|
</parameter>
|
|
<parameter name="n_taps" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of taps to use</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="in_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of source elements</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="out_size" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of destination elements</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="options" transfer-ownership="none" nullable="1" allow-none="1">
|
|
<doc xml:space="preserve">extra options</doc>
|
|
<type name="Gst.Structure" c:type="GstStructure*"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_tile_get_index" c:identifier="gst_video_tile_get_index" version="1.4">
|
|
<doc xml:space="preserve">Get the tile index of the tile at coordinates @x and @y in the tiled
|
|
image of @x_tiles by @y_tiles.
|
|
|
|
Use this method when @mode is of type %GST_VIDEO_TILE_TYPE_INDEXED.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the index of the tile at @x and @y in the tiled image of
|
|
@x_tiles by @y_tiles.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="mode" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTileMode</doc>
|
|
<type name="VideoTileMode" c:type="GstVideoTileMode"/>
|
|
</parameter>
|
|
<parameter name="x" transfer-ownership="none">
|
|
<doc xml:space="preserve">x coordinate</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y" transfer-ownership="none">
|
|
<doc xml:space="preserve">y coordinate</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="x_tiles" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of horizintal tiles</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
<parameter name="y_tiles" transfer-ownership="none">
|
|
<doc xml:space="preserve">number of vertical tiles</doc>
|
|
<type name="gint" c:type="gint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_time_code_meta_api_get_type" c:identifier="gst_video_time_code_meta_api_get_type">
|
|
<return-value transfer-ownership="none">
|
|
<type name="GType" c:type="GType"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_time_code_meta_get_info" c:identifier="gst_video_time_code_meta_get_info" moved-to="VideoTimeCodeMeta.get_info">
|
|
<return-value transfer-ownership="none">
|
|
<type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
|
|
</return-value>
|
|
</function>
|
|
<function name="video_transfer_function_from_iso" c:identifier="gst_video_transfer_function_from_iso" moved-to="VideoTransferFunction.from_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts the @value to the #GstVideoTransferFunction
|
|
The transfer characteristics (TransferCharacteristics) value is
|
|
defined by "ISO/IEC 23001-8 Section 7.2 Table 3"
|
|
and "ITU-T H.273 Table 3".
|
|
"H.264 Table E-4" and "H.265 Table E.4" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">the matched #GstVideoTransferFunction</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="value" transfer-ownership="none">
|
|
<doc xml:space="preserve">a ITU-T H.273 transfer characteristics value</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_transfer_function_is_equivalent" c:identifier="gst_video_transfer_function_is_equivalent" moved-to="VideoTransferFunction.is_equivalent" version="1.18">
|
|
<doc xml:space="preserve">Returns whether @from_func and @to_func are equivalent. There are cases
|
|
(e.g. BT601, BT709, and BT2020_10) where several functions are functionally
|
|
identical. In these cases, when doing conversion, we should consider them
|
|
as equivalent. Also, BT2020_12 is the same as the aforementioned three for
|
|
less than 12 bits per pixel.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">TRUE if @from_func and @to_func can be considered equivalent.</doc>
|
|
<type name="gboolean" c:type="gboolean"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="from_func" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTransferFunction to convert from</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
<parameter name="from_bpp" transfer-ownership="none">
|
|
<doc xml:space="preserve">bits per pixel to convert from</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
<parameter name="to_func" transfer-ownership="none">
|
|
<doc xml:space="preserve">#GstVideoTransferFunction to convert into</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
<parameter name="to_bpp" transfer-ownership="none">
|
|
<doc xml:space="preserve">bits per pixel to convert into</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<function name="video_transfer_function_to_iso" c:identifier="gst_video_transfer_function_to_iso" moved-to="VideoTransferFunction.to_iso" version="1.18">
|
|
<doc xml:space="preserve">Converts #GstVideoTransferFunction to the "transfer characteristics"
|
|
(TransferCharacteristics) value defined by "ISO/IEC 23001-8 Section 7.2 Table 3"
|
|
and "ITU-T H.273 Table 3".
|
|
"H.264 Table E-4" and "H.265 Table E.4" share the identical values.</doc>
|
|
<return-value transfer-ownership="none">
|
|
<doc xml:space="preserve">The value of ISO/IEC 23001-8 transfer characteristics.</doc>
|
|
<type name="guint" c:type="guint"/>
|
|
</return-value>
|
|
<parameters>
|
|
<parameter name="func" transfer-ownership="none">
|
|
<doc xml:space="preserve">a #GstVideoTransferFunction</doc>
|
|
<type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
|
|
</parameter>
|
|
</parameters>
|
|
</function>
|
|
<docsection name="videoconverter">
|
|
<doc xml:space="preserve">This object is used to convert video frames from one format to another.
|
|
The object can perform conversion of:
|
|
|
|
* video format
|
|
* video colorspace
|
|
* chroma-siting
|
|
* video size</doc>
|
|
</docsection>
|
|
</namespace>
|
|
</repository>
|