factor/unmaintained/gstreamer/plugins/video/GstVideo-0.10.gir

1189 lines
53 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 version="1.2"
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">
<include name="GLib" version="2.0"/>
<include name="GModule" version="2.0"/>
<include name="GObject" version="2.0"/>
<include name="Gst" version="0.10"/>
<include name="GstBase" version="0.10"/>
<include name="libxml2" version="2.0"/>
<package name="gstreamer-video-0.10"/>
<c:include name="gst/video/gstvideofilter.h"/>
<c:include name="gst/video/gstvideosink.h"/>
<c:include name="gst/video/video-enumtypes.h"/>
<c:include name="gst/video/video.h"/>
<namespace name="GstVideo"
version="0.10"
shared-library="libgstvideo-0.10.so.0"
c:identifier-prefixes="Gst"
c:symbol-prefixes="gst">
<constant name="VIDEO_BYTE1_MASK_24" value="0x00FF0000">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_BYTE1_MASK_24_INT" value="16711680">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_BYTE1_MASK_32" value="0xFF000000">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_BYTE1_MASK_32_INT" value="-16777216">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_BYTE2_MASK_24" value="0x0000FF00">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_BYTE2_MASK_24_INT" value="65280">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_BYTE2_MASK_32" value="0x00FF0000">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_BYTE2_MASK_32_INT" value="16711680">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_BYTE3_MASK_24" value="0x000000FF">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_BYTE3_MASK_24_INT" value="255">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_BYTE3_MASK_32" value="0x0000FF00">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_BYTE3_MASK_32_INT" value="65280">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_BYTE4_MASK_32" value="0x000000FF">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_BYTE4_MASK_32_INT" value="255">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_CAPS_GRAY8"
value="video/x-raw-gray, bpp = (int) 8, depth = (int) 8, width = ">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_CAPS_RGB8_PALETTED"
value="video/x-raw-rgb, bpp = (int)8, depth = (int)8, width = ">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_COMP1_MASK_15" value="0x7c00">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_COMP1_MASK_15_INT" value="31744">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_COMP1_MASK_16" value="0xf800">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_COMP1_MASK_16_INT" value="63488">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_COMP2_MASK_15" value="0x03e0">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_COMP2_MASK_15_INT" value="992">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_COMP2_MASK_16" value="0x07e0">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_COMP2_MASK_16_INT" value="2016">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_COMP3_MASK_15" value="0x001f">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_COMP3_MASK_15_INT" value="31">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_COMP3_MASK_16" value="0x001f">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_COMP3_MASK_16_INT" value="31">
<type name="gint" c:type="gint"/>
</constant>
<constant name="VIDEO_FPS_RANGE" value="(fraction) [ 0, max ]">
<type name="utf8" c:type="gchar*"/>
</constant>
<constant name="VIDEO_SIZE_RANGE" value="(int) [ 1, max ]">
<type name="utf8" c:type="gchar*"/>
</constant>
<callback name="VideoConvertFrameCallback"
c:type="GstVideoConvertFrameCallback">
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buf" transfer-ownership="none">
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="error" transfer-ownership="none">
<type name="GLib.Error" c:type="GError*"/>
</parameter>
<parameter name="user_data" transfer-ownership="none" closure="2">
<type name="gpointer" c:type="gpointer"/>
</parameter>
</parameters>
</callback>
<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">
<field name="element">
<type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
</field>
<field name="inited">
<type name="gboolean" c:type="gboolean"/>
</field>
</class>
<record name="VideoFilterClass"
c:type="GstVideoFilterClass"
glib:is-gtype-struct-for="VideoFilter">
<field name="parent_class">
<type name="GstBase.BaseTransformClass"
c:type="GstBaseTransformClass"/>
</field>
</record>
<enumeration name="VideoFormat"
glib:type-name="GstVideoFormat"
glib:get-type="gst_video_format_get_type"
c:type="GstVideoFormat">
<doc xml:whitespace="preserve">Enum value describing the most common video formats.</doc>
<member name="unknown"
value="0"
c:identifier="GST_VIDEO_FORMAT_UNKNOWN"
glib:nick="unknown"/>
<member name="i420"
value="1"
c:identifier="GST_VIDEO_FORMAT_I420"
glib:nick="i420"/>
<member name="yv12"
value="2"
c:identifier="GST_VIDEO_FORMAT_YV12"
glib:nick="yv12"/>
<member name="yuy2"
value="3"
c:identifier="GST_VIDEO_FORMAT_YUY2"
glib:nick="yuy2"/>
<member name="uyvy"
value="4"
c:identifier="GST_VIDEO_FORMAT_UYVY"
glib:nick="uyvy"/>
<member name="ayuv"
value="5"
c:identifier="GST_VIDEO_FORMAT_AYUV"
glib:nick="ayuv"/>
<member name="rgbx"
value="6"
c:identifier="GST_VIDEO_FORMAT_RGBx"
glib:nick="rgbx"/>
<member name="bgrx"
value="7"
c:identifier="GST_VIDEO_FORMAT_BGRx"
glib:nick="bgrx"/>
<member name="xrgb"
value="8"
c:identifier="GST_VIDEO_FORMAT_xRGB"
glib:nick="xrgb"/>
<member name="xbgr"
value="9"
c:identifier="GST_VIDEO_FORMAT_xBGR"
glib:nick="xbgr"/>
<member name="rgba"
value="10"
c:identifier="GST_VIDEO_FORMAT_RGBA"
glib:nick="rgba"/>
<member name="bgra"
value="11"
c:identifier="GST_VIDEO_FORMAT_BGRA"
glib:nick="bgra"/>
<member name="argb"
value="12"
c:identifier="GST_VIDEO_FORMAT_ARGB"
glib:nick="argb"/>
<member name="abgr"
value="13"
c:identifier="GST_VIDEO_FORMAT_ABGR"
glib:nick="abgr"/>
<member name="rgb"
value="14"
c:identifier="GST_VIDEO_FORMAT_RGB"
glib:nick="rgb"/>
<member name="bgr"
value="15"
c:identifier="GST_VIDEO_FORMAT_BGR"
glib:nick="bgr"/>
<member name="y41b"
value="16"
c:identifier="GST_VIDEO_FORMAT_Y41B"
glib:nick="y41b"/>
<member name="y42b"
value="17"
c:identifier="GST_VIDEO_FORMAT_Y42B"
glib:nick="y42b"/>
<member name="yvyu"
value="18"
c:identifier="GST_VIDEO_FORMAT_YVYU"
glib:nick="yvyu"/>
<member name="y444"
value="19"
c:identifier="GST_VIDEO_FORMAT_Y444"
glib:nick="y444"/>
<member name="v210"
value="20"
c:identifier="GST_VIDEO_FORMAT_v210"
glib:nick="v210"/>
<member name="v216"
value="21"
c:identifier="GST_VIDEO_FORMAT_v216"
glib:nick="v216"/>
<member name="nv12"
value="22"
c:identifier="GST_VIDEO_FORMAT_NV12"
glib:nick="nv12"/>
<member name="nv21"
value="23"
c:identifier="GST_VIDEO_FORMAT_NV21"
glib:nick="nv21"/>
<member name="gray8"
value="24"
c:identifier="GST_VIDEO_FORMAT_GRAY8"
glib:nick="gray8"/>
<member name="gray16_be"
value="25"
c:identifier="GST_VIDEO_FORMAT_GRAY16_BE"
glib:nick="gray16-be"/>
<member name="gray16_le"
value="26"
c:identifier="GST_VIDEO_FORMAT_GRAY16_LE"
glib:nick="gray16-le"/>
<member name="v308"
value="27"
c:identifier="GST_VIDEO_FORMAT_v308"
glib:nick="v308"/>
<member name="y800"
value="28"
c:identifier="GST_VIDEO_FORMAT_Y800"
glib:nick="y800"/>
<member name="y16"
value="29"
c:identifier="GST_VIDEO_FORMAT_Y16"
glib:nick="y16"/>
<member name="rgb16"
value="30"
c:identifier="GST_VIDEO_FORMAT_RGB16"
glib:nick="rgb16"/>
<member name="bgr16"
value="31"
c:identifier="GST_VIDEO_FORMAT_BGR16"
glib:nick="bgr16"/>
<member name="rgb15"
value="32"
c:identifier="GST_VIDEO_FORMAT_RGB15"
glib:nick="rgb15"/>
<member name="bgr15"
value="33"
c:identifier="GST_VIDEO_FORMAT_BGR15"
glib:nick="bgr15"/>
<member name="uyvp"
value="34"
c:identifier="GST_VIDEO_FORMAT_UYVP"
glib:nick="uyvp"/>
<member name="a420"
value="35"
c:identifier="GST_VIDEO_FORMAT_A420"
glib:nick="a420"/>
<member name="rgb8_paletted"
value="36"
c:identifier="GST_VIDEO_FORMAT_RGB8_PALETTED"
glib:nick="rgb8-paletted"/>
<member name="yuv9"
value="37"
c:identifier="GST_VIDEO_FORMAT_YUV9"
glib:nick="yuv9"/>
<member name="yvu9"
value="38"
c:identifier="GST_VIDEO_FORMAT_YVU9"
glib:nick="yvu9"/>
<member name="iyu1"
value="39"
c:identifier="GST_VIDEO_FORMAT_IYU1"
glib:nick="iyu1"/>
</enumeration>
<record name="VideoRectangle" c:type="GstVideoRectangle">
<doc xml:whitespace="preserve">Helper structure representing a rectangular area.</doc>
<field name="x" writable="1">
<type name="gint" c:type="gint"/>
</field>
<field name="y" writable="1">
<type name="gint" c:type="gint"/>
</field>
<field name="w" writable="1">
<type name="gint" c:type="gint"/>
</field>
<field name="h" writable="1">
<type name="gint" c:type="gint"/>
</field>
</record>
<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:whitespace="preserve">The video sink instance structure. Derived video sinks should set the</doc>
<function name="center_rect" c:identifier="gst_video_sink_center_rect">
<doc xml:whitespace="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:whitespace="preserve">the #GstVideoRectangle describing the source area</doc>
<type name="VideoRectangle" c:type="GstVideoRectangle"/>
</parameter>
<parameter name="dst" transfer-ownership="none">
<doc xml:whitespace="preserve">the #GstVideoRectangle describing the destination area</doc>
<type name="VideoRectangle" c:type="GstVideoRectangle"/>
</parameter>
<parameter name="result" transfer-ownership="none">
<doc xml:whitespace="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:whitespace="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>
<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">
<type name="gboolean"/>
</property>
<field name="element">
<type name="GstBase.BaseSink" c:type="GstBaseSink"/>
</field>
<field name="width">
<type name="gint" c:type="gint"/>
</field>
<field name="height">
<type name="gint" c:type="gint"/>
</field>
<field name="priv">
<type name="VideoSinkPrivate" c:type="GstVideoSinkPrivate*"/>
</field>
<field name="_gst_reserved">
<array zero-terminated="0" c:type="gpointer" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</class>
<record name="VideoSinkClass"
c:type="GstVideoSinkClass"
glib:is-gtype-struct-for="VideoSink">
<doc xml:whitespace="preserve">The video sink class structure. Derived classes should override the</doc>
<field name="parent_class">
<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">
<array zero-terminated="0" c:type="gpointer" fixed-size="3">
<type name="gpointer" c:type="gpointer"/>
</array>
</field>
</record>
<record name="VideoSinkPrivate" c:type="GstVideoSinkPrivate" disguised="1">
</record>
<function name="video_calculate_display_ratio"
c:identifier="gst_video_calculate_display_ratio"
version="0.10.7">
<doc xml:whitespace="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.
dar_n and dar_d parameters.
The return value is FALSE in the case of integer overflow or other error.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">A boolean indicating success and a calculated Display Ratio in the</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="dar_n" transfer-ownership="none">
<doc xml:whitespace="preserve">Numerator of the calculated display_ratio</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="dar_d" transfer-ownership="none">
<doc xml:whitespace="preserve">Denominator of the calculated display_ratio</doc>
<type name="guint" c:type="guint*"/>
</parameter>
<parameter name="video_width" transfer-ownership="none">
<doc xml:whitespace="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:whitespace="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:whitespace="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:whitespace="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:whitespace="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:whitespace="preserve">Denominator of the pixel aspect ratio of the display device</doc>
<type name="guint" c:type="guint"/>
</parameter>
</parameters>
</function>
<function name="video_convert_frame"
c:identifier="gst_video_convert_frame"
version="0.10.31"
introspectable="0"
throws="1">
<doc xml:whitespace="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.
will point to the #GError).</doc>
<return-value>
<doc xml:whitespace="preserve">The converted #GstBuffer, or %NULL if an error happened (in which case @err</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="buf" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="to_caps" transfer-ownership="none">
<doc xml:whitespace="preserve">the #GstCaps to convert to</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:whitespace="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_frame_async"
c:identifier="gst_video_convert_frame_async"
version="0.10.31">
<doc xml:whitespace="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.
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.
anymore.</doc>
<return-value transfer-ownership="none">
<type name="none" c:type="void"/>
</return-value>
<parameters>
<parameter name="buf" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstBuffer</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</parameter>
<parameter name="to_caps" transfer-ownership="none">
<doc xml:whitespace="preserve">the #GstCaps to convert to</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
<parameter name="timeout" transfer-ownership="none">
<doc xml:whitespace="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:whitespace="preserve">%GstVideoConvertFrameCallback that will be called after conversion.</doc>
<type name="VideoConvertFrameCallback"
c:type="GstVideoConvertFrameCallback"/>
</parameter>
<parameter name="user_data" transfer-ownership="none">
<type name="gpointer" c:type="gpointer"/>
</parameter>
<parameter name="destroy_notify"
transfer-ownership="none"
scope="async">
<doc xml:whitespace="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_event_new_still_frame"
c:identifier="gst_video_event_new_still_frame"
version="0.10.26"
introspectable="0">
<doc xml:whitespace="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>
<doc xml:whitespace="preserve">The new GstEvent</doc>
<type name="Gst.Event" c:type="GstEvent*"/>
</return-value>
<parameters>
<parameter name="in_still" transfer-ownership="none">
<doc xml:whitespace="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_parse_still_frame"
c:identifier="gst_video_event_parse_still_frame"
version="0.10.26">
<doc xml:whitespace="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:whitespace="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:whitespace="preserve">A #GstEvent to parse</doc>
<type name="Gst.Event" c:type="GstEvent*"/>
</parameter>
<parameter name="in_still" transfer-ownership="none">
<doc xml:whitespace="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_format_convert"
c:identifier="gst_video_format_convert"
version="0.10.16">
<doc xml:whitespace="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 to handle pad queries of the type GST_QUERY_CONVERT.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if the conversion was successful.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">the width of video</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:whitespace="preserve">the height of video</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="fps_n" transfer-ownership="none">
<doc xml:whitespace="preserve">frame rate numerator</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="fps_d" transfer-ownership="none">
<doc xml:whitespace="preserve">frame rate denominator</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="src_format" transfer-ownership="none">
<doc xml:whitespace="preserve">#GstFormat of the @src_value</doc>
<type name="Gst.Format" c:type="GstFormat"/>
</parameter>
<parameter name="src_value" transfer-ownership="none">
<doc xml:whitespace="preserve">value to convert</doc>
<type name="gint64" c:type="gint64"/>
</parameter>
<parameter name="dest_format" transfer-ownership="none">
<doc xml:whitespace="preserve">#GstFormat of the @dest_value</doc>
<type name="Gst.Format" c:type="GstFormat"/>
</parameter>
<parameter name="dest_value" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to destination value</doc>
<type name="gint64" c:type="gint64*"/>
</parameter>
</parameters>
</function>
<function name="video_format_from_fourcc"
c:identifier="gst_video_format_from_fourcc"
version="0.10.16">
<doc xml:whitespace="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:whitespace="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:whitespace="preserve">a FOURCC value representing raw YUV video</doc>
<type name="guint32" c:type="guint32"/>
</parameter>
</parameters>
</function>
<function name="video_format_get_component_height"
c:identifier="gst_video_format_get_component_height"
version="0.10.16">
<doc xml:whitespace="preserve">Calculates the height of the component. See
of the component index.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">height of component @component</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="component" transfer-ownership="none">
<doc xml:whitespace="preserve">the component index</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:whitespace="preserve">the height of video</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="video_format_get_component_offset"
c:identifier="gst_video_format_get_component_offset"
version="0.10.16">
<doc xml:whitespace="preserve">Calculates the offset (in bytes) of the first pixel of the component
with index @component. For packed formats, this will typically be a
small integer (0, 1, 2, 3). For planar formats, this will be a
(relatively) large offset to the beginning of the second or third
component planes. See @gst_video_format_get_row_stride for a description
of the component index.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">offset of component @component</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="component" transfer-ownership="none">
<doc xml:whitespace="preserve">the component index</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">the width of video</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:whitespace="preserve">the height of video</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="video_format_get_component_width"
c:identifier="gst_video_format_get_component_width"
version="0.10.16">
<doc xml:whitespace="preserve">Calculates the width of the component. See
of the component index.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">width of component @component</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="component" transfer-ownership="none">
<doc xml:whitespace="preserve">the component index</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">the width of video</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="video_format_get_pixel_stride"
c:identifier="gst_video_format_get_pixel_stride"
version="0.10.16">
<doc xml:whitespace="preserve">Calculates the pixel stride (number of bytes from one pixel to the
pixel to its immediate left) for the video component with an index
of @component. See @gst_video_format_get_row_stride for a description
of the component index.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">pixel stride of component @component</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="component" transfer-ownership="none">
<doc xml:whitespace="preserve">the component index</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="video_format_get_row_stride"
c:identifier="gst_video_format_get_row_stride"
version="0.10.16">
<doc xml:whitespace="preserve">Calculates the row stride (number of bytes from one row of pixels to
the next) for the video component with an index of @component. For
YUV video, Y, U, and V have component indices of 0, 1, and 2,
respectively. For RGB video, R, G, and B have component indicies of
0, 1, and 2, respectively. Alpha channels, if present, have a component
index of 3. The @width parameter always represents the width of the
video, not the component.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">row stride of component @component</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="component" transfer-ownership="none">
<doc xml:whitespace="preserve">the component index</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">the width of video</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="video_format_get_size"
c:identifier="gst_video_format_get_size"
version="0.10.16">
<doc xml:whitespace="preserve">Calculates the total number of bytes in the raw video format. This
number should be used when allocating a buffer for raw video.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">size (in bytes) of raw video format</doc>
<type name="gint" c:type="int"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">the width of video</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:whitespace="preserve">the height of video</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="video_format_has_alpha"
c:identifier="gst_video_format_has_alpha"
version="0.10.16">
<doc xml:whitespace="preserve">Returns TRUE or FALSE depending on if the video format provides an
alpha channel.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if @format has an alpha channel</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
</parameters>
</function>
<function name="video_format_is_gray"
c:identifier="gst_video_format_is_gray"
version="0.10.29">
<doc xml:whitespace="preserve">Determine whether the video format is a grayscale format.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if @format represents grayscale video</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
</parameters>
</function>
<function name="video_format_is_rgb"
c:identifier="gst_video_format_is_rgb"
version="0.10.16">
<doc xml:whitespace="preserve">Determine whether the video format is an RGB format.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if @format represents RGB video</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
</parameters>
</function>
<function name="video_format_is_yuv"
c:identifier="gst_video_format_is_yuv"
version="0.10.16">
<doc xml:whitespace="preserve">Determine whether the video format is a YUV format.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if @format represents YUV video</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
</parameters>
</function>
<function name="video_format_new_caps"
c:identifier="gst_video_format_new_caps"
version="0.10.16">
<doc xml:whitespace="preserve">Creates a new #GstCaps object based on the parameters provided.</doc>
<return-value transfer-ownership="full">
<doc xml:whitespace="preserve">a new #GstCaps object, or NULL if there was an error</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">the #GstVideoFormat describing the raw video format</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">width of video</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:whitespace="preserve">height of video</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="framerate_n" transfer-ownership="none">
<doc xml:whitespace="preserve">numerator of frame rate</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="framerate_d" transfer-ownership="none">
<doc xml:whitespace="preserve">denominator of frame rate</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="par_n" transfer-ownership="none">
<doc xml:whitespace="preserve">numerator of pixel aspect ratio</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="par_d" transfer-ownership="none">
<doc xml:whitespace="preserve">denominator of pixel aspect ratio</doc>
<type name="gint" c:type="int"/>
</parameter>
</parameters>
</function>
<function name="video_format_new_caps_interlaced"
c:identifier="gst_video_format_new_caps_interlaced"
version="0.10.23">
<doc xml:whitespace="preserve">Creates a new #GstCaps object based on the parameters provided.</doc>
<return-value transfer-ownership="full">
<doc xml:whitespace="preserve">a new #GstCaps object, or NULL if there was an error</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">the #GstVideoFormat describing the raw video format</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">width of video</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:whitespace="preserve">height of video</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="framerate_n" transfer-ownership="none">
<doc xml:whitespace="preserve">numerator of frame rate</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="framerate_d" transfer-ownership="none">
<doc xml:whitespace="preserve">denominator of frame rate</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="par_n" transfer-ownership="none">
<doc xml:whitespace="preserve">numerator of pixel aspect ratio</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="par_d" transfer-ownership="none">
<doc xml:whitespace="preserve">denominator of pixel aspect ratio</doc>
<type name="gint" c:type="int"/>
</parameter>
<parameter name="interlaced" transfer-ownership="none">
<doc xml:whitespace="preserve">#TRUE if the format is interlaced</doc>
<type name="gboolean" c:type="gboolean"/>
</parameter>
</parameters>
</function>
<function name="video_format_parse_caps"
c:identifier="gst_video_format_parse_caps"
version="0.10.16">
<doc xml:whitespace="preserve">Determines the #GstVideoFormat of @caps and places it in the location
pointed to by @format. Extracts the size of the video and places it
in the location pointed to by @width and @height. If @caps does not
represent one of the raw video formats listed in #GstVideoFormat, the
function will fail and return FALSE.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if @caps was parsed correctly.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="caps" transfer-ownership="none">
<doc xml:whitespace="preserve">the #GstCaps to parse</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">the #GstVideoFormat of the video represented by @caps (output)</doc>
<type name="VideoFormat" c:type="GstVideoFormat*"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">the width of the video represented by @caps, may be NULL (output)</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:whitespace="preserve">the height of the video represented by @caps, may be NULL (output)</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</function>
<function name="video_format_parse_caps_interlaced"
c:identifier="gst_video_format_parse_caps_interlaced"
version="0.10.23">
<doc xml:whitespace="preserve">Extracts whether the caps represents interlaced content or not and places it
in @interlaced.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if @caps was parsed correctly.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="caps" transfer-ownership="none">
<doc xml:whitespace="preserve">the fixed #GstCaps to parse</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
<parameter name="interlaced" transfer-ownership="none">
<doc xml:whitespace="preserve">whether @caps represents interlaced video or not, may be NULL (output)</doc>
<type name="gboolean" c:type="gboolean*"/>
</parameter>
</parameters>
</function>
<function name="video_format_to_fourcc"
c:identifier="gst_video_format_to_fourcc"
version="0.10.16">
<doc xml:whitespace="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:whitespace="preserve">the FOURCC corresponding to @format</doc>
<type name="guint32" c:type="guint32"/>
</return-value>
<parameters>
<parameter name="format" transfer-ownership="none">
<doc xml:whitespace="preserve">a #GstVideoFormat video format</doc>
<type name="VideoFormat" c:type="GstVideoFormat"/>
</parameter>
</parameters>
</function>
<function name="video_frame_rate" c:identifier="gst_video_frame_rate">
<doc xml:whitespace="preserve">A convenience function to retrieve a GValue holding the framerate
from the caps on a pad.
The pad needs to have negotiated caps containing a framerate property.
do not contain a framerate.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">NULL if the pad has no configured caps or the configured caps</doc>
<type name="GObject.Value" c:type="GValue*"/>
</return-value>
<parameters>
<parameter name="pad" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to a #GstPad</doc>
<type name="Gst.Pad" c:type="GstPad*"/>
</parameter>
</parameters>
</function>
<function name="video_get_size" c:identifier="gst_video_get_size">
<doc xml:whitespace="preserve">Inspect the caps of the provided pad and retrieve the width and height of
the video frames it is configured for.
The pad needs to have negotiated caps containing width and height properties.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if the width and height could be retrieved.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="pad" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to a #GstPad</doc>
<type name="Gst.Pad" c:type="GstPad*"/>
</parameter>
<parameter name="width" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to integer to hold pixel width of the video frames (output)</doc>
<type name="gint" c:type="gint*"/>
</parameter>
<parameter name="height" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to integer to hold pixel height of the video frames (output)</doc>
<type name="gint" c:type="gint*"/>
</parameter>
</parameters>
</function>
<function name="video_parse_caps_chroma_site"
c:identifier="gst_video_parse_caps_chroma_site"
version="0.10.29">
<doc xml:whitespace="preserve">Extracts the chroma site used by the caps. Possible values are
"mpeg2" for MPEG-2 style chroma siting (co-sited horizontally,
halfway-sited vertically), "jpeg" for JPEG and Theora style
chroma siting (halfway-sited both horizontally and vertically).
Other chroma site values are possible, but uncommon.
When no chroma site is specified in the caps, it should be assumed
to be "mpeg2".
determined.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">a chroma site string, or NULL if no chroma site could be</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
<parameter name="caps" transfer-ownership="none">
<doc xml:whitespace="preserve">the fixed #GstCaps to parse</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</function>
<function name="video_parse_caps_color_matrix"
c:identifier="gst_video_parse_caps_color_matrix"
version="0.10.29">
<doc xml:whitespace="preserve">Extracts the color matrix used by the caps. Possible values are
"sdtv" for the standard definition color matrix (as specified in
Rec. ITU-R BT.470-6) or "hdtv" for the high definition color
matrix (as specified in Rec. ITU-R BT.709)
determined.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">a color matrix string, or NULL if no color matrix could be</doc>
<type name="utf8" c:type="char*"/>
</return-value>
<parameters>
<parameter name="caps" transfer-ownership="none">
<doc xml:whitespace="preserve">the fixed #GstCaps to parse</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</function>
<function name="video_parse_caps_framerate"
c:identifier="gst_video_parse_caps_framerate"
version="0.10.16">
<doc xml:whitespace="preserve">Extracts the frame rate from @caps and places the values in the locations
pointed to by @fps_n and @fps_d. Returns TRUE if the values could be
parsed correctly, FALSE if not.
This function can be used with #GstCaps that have any media type; it
is not limited to formats handled by #GstVideoFormat.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if @caps was parsed correctly.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="caps" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to a #GstCaps instance</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
<parameter name="fps_n" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to integer to hold numerator of frame rate (output)</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="fps_d" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to integer to hold denominator of frame rate (output)</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</function>
<function name="video_parse_caps_palette"
c:identifier="gst_video_parse_caps_palette"
version="0.10.32"
introspectable="0">
<doc xml:whitespace="preserve">Returns the palette data from the caps as a #GstBuffer. For
#GST_VIDEO_FORMAT_RGB8_PALETTED this is containing 256 #guint32
values, each containing ARGB colors in native endianness.</doc>
<return-value>
<doc xml:whitespace="preserve">a #GstBuffer containing the palette data. Unref after usage.</doc>
<type name="Gst.Buffer" c:type="GstBuffer*"/>
</return-value>
<parameters>
<parameter name="caps" transfer-ownership="none">
<doc xml:whitespace="preserve">#GstCaps to parse</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
</parameters>
</function>
<function name="video_parse_caps_pixel_aspect_ratio"
c:identifier="gst_video_parse_caps_pixel_aspect_ratio"
version="0.10.16">
<doc xml:whitespace="preserve">Extracts the pixel aspect ratio from @caps and places the values in
the locations pointed to by @par_n and @par_d. Returns TRUE if the
values could be parsed correctly, FALSE if not.
This function can be used with #GstCaps that have any media type; it
is not limited to formats handled by #GstVideoFormat.</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">TRUE if @caps was parsed correctly.</doc>
<type name="gboolean" c:type="gboolean"/>
</return-value>
<parameters>
<parameter name="caps" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to a #GstCaps instance</doc>
<type name="Gst.Caps" c:type="GstCaps*"/>
</parameter>
<parameter name="par_n" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to numerator of pixel aspect ratio (output)</doc>
<type name="gint" c:type="int*"/>
</parameter>
<parameter name="par_d" transfer-ownership="none">
<doc xml:whitespace="preserve">pointer to denominator of pixel aspect ratio (output)</doc>
<type name="gint" c:type="int*"/>
</parameter>
</parameters>
</function>
</namespace>
</repository>