blob: c64aa406fd89719c1518318aabbe815d7dd317dc [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstvideo</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-video.html" title="Video Library">
<link rel="prev" href="gstreamer-video.html" title="Video Library">
<link rel="next" href="gst-plugins-base-libs-gstvideometa.html" title="gstvideometa">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gstreamer-video.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="gstreamer-video.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer Base Plugins 1.0 Library Reference Manual</th>
<td><a accesskey="n" href="gst-plugins-base-libs-gstvideometa.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gst-plugins-base-libs-gstvideo.synopsis" class="shortcut">Top</a>
 | 
<a href="#gst-plugins-base-libs-gstvideo.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="gst-plugins-base-libs-gstvideo"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstvideo.top_of_page"></a>gstvideo</span></h2>
<p>gstvideo — Support library for video operations</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-base-libs-gstvideo.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gst/video/video.h&gt;
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-calculate-display-ratio" title="gst_video_calculate_display_ratio ()">gst_video_calculate_display_ratio</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *dar_n</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *dar_d</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> video_width</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> video_height</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> video_par_n</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> video_par_d</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> display_par_n</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> display_par_d</code></em>);
<span class="returnvalue">void</span> (<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConvertSampleCallback" title="GstVideoConvertSampleCallback ()">*GstVideoConvertSampleCallback</a>) (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a> *sample</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-convert-sample" title="gst_video_convert_sample ()">gst_video_convert_sample</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a> *sample</code></em>,
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *to_caps</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timeout</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-convert-sample-async" title="gst_video_convert_sample_async ()">gst_video_convert_sample_async</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a> *sample</code></em>,
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *to_caps</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timeout</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConvertSampleCallback" title="GstVideoConvertSampleCallback ()"><span class="type">GstVideoConvertSampleCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_notify</code></em>);
struct <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment">GstVideoAlignment</a>;
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-alignment-reset" title="gst_video_alignment_reset ()">gst_video_alignment_reset</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *align</code></em>);
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-still-frame" title="gst_video_event_new_still_frame ()">gst_video_event_new_still_frame</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> in_still</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-still-frame" title="gst_video_event_parse_still_frame ()">gst_video_event_parse_still_frame</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *in_still</code></em>);
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-downstream-force-key-unit" title="gst_video_event_new_downstream_force_key_unit ()">gst_video_event_new_downstream_force_key_unit</a>
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> stream_time</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> all_headers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-downstream-force-key-unit" title="gst_video_event_parse_downstream_force_key_unit ()">gst_video_event_parse_downstream_force_key_unit</a>
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *timestamp</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *stream_time</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *all_headers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *count</code></em>);
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="returnvalue">GstEvent</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-upstream-force-key-unit" title="gst_video_event_new_upstream_force_key_unit ()">gst_video_event_new_upstream_force_key_unit</a>
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> all_headers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-upstream-force-key-unit" title="gst_video_event_parse_upstream_force_key_unit ()">gst_video_event_parse_upstream_force_key_unit</a>
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *all_headers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *count</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-is-force-key-unit" title="gst_video_event_is_force_key_unit ()">gst_video_event_is_force_key_unit</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat">GstVideoFormat</a>;
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MAX-PLANES:CAPS" title="GST_VIDEO_MAX_PLANES">GST_VIDEO_MAX_PLANES</a>
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-MAX-COMPONENTS:CAPS" title="GST_VIDEO_MAX_COMPONENTS">GST_VIDEO_MAX_COMPONENTS</a>
struct <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo">GstVideoFormatInfo</a>;
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite">GstVideoChromaSite</a>;
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="returnvalue">GstVideoChromaSite</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-chroma-from-string" title="gst_video_chroma_from_string ()">gst_video_chroma_from_string</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *s</code></em>);
const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-chroma-to-string" title="gst_video_chroma_to_string ()">gst_video_chroma_to_string</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> site</code></em>);
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatFlags" title="enum GstVideoFormatFlags">GstVideoFormatFlags</a>;
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoPackFlags" title="enum GstVideoPackFlags">GstVideoPackFlags</a>;
<span class="returnvalue">void</span> (<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatUnpack" title="GstVideoFormatUnpack ()">*GstVideoFormatUnpack</a>) (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoPackFlags" title="enum GstVideoPackFlags"><span class="type">GstVideoPackFlags</span></a> flags</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dest</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data[GST_VIDEO_MAX_PLANES]</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stride[GST_VIDEO_MAX_PLANES]</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>);
<span class="returnvalue">void</span> (<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatPack" title="GstVideoFormatPack ()">*GstVideoFormatPack</a>) (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoPackFlags" title="enum GstVideoPackFlags"><span class="type">GstVideoPackFlags</span></a> flags</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> src</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> sstride</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data[GST_VIDEO_MAX_PLANES]</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stride[GST_VIDEO_MAX_PLANES]</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> chroma_site</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>);
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-FORMAT:CAPS" title="GST_VIDEO_FORMAT_INFO_FORMAT()">GST_VIDEO_FORMAT_INFO_FORMAT</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-NAME:CAPS" title="GST_VIDEO_FORMAT_INFO_NAME()">GST_VIDEO_FORMAT_INFO_NAME</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-FLAGS:CAPS" title="GST_VIDEO_FORMAT_INFO_FLAGS()">GST_VIDEO_FORMAT_INFO_FLAGS</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-IS-YUV:CAPS" title="GST_VIDEO_FORMAT_INFO_IS_YUV()">GST_VIDEO_FORMAT_INFO_IS_YUV</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-IS-RGB:CAPS" title="GST_VIDEO_FORMAT_INFO_IS_RGB()">GST_VIDEO_FORMAT_INFO_IS_RGB</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-IS-GRAY:CAPS" title="GST_VIDEO_FORMAT_INFO_IS_GRAY()">GST_VIDEO_FORMAT_INFO_IS_GRAY</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-HAS-ALPHA:CAPS" title="GST_VIDEO_FORMAT_INFO_HAS_ALPHA()">GST_VIDEO_FORMAT_INFO_HAS_ALPHA</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-IS-LE:CAPS" title="GST_VIDEO_FORMAT_INFO_IS_LE()">GST_VIDEO_FORMAT_INFO_IS_LE</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-HAS-PALETTE:CAPS" title="GST_VIDEO_FORMAT_INFO_HAS_PALETTE()">GST_VIDEO_FORMAT_INFO_HAS_PALETTE</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-IS-COMPLEX:CAPS" title="GST_VIDEO_FORMAT_INFO_IS_COMPLEX()">GST_VIDEO_FORMAT_INFO_IS_COMPLEX</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-BITS:CAPS" title="GST_VIDEO_FORMAT_INFO_BITS()">GST_VIDEO_FORMAT_INFO_BITS</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-N-COMPONENTS:CAPS" title="GST_VIDEO_FORMAT_INFO_N_COMPONENTS()">GST_VIDEO_FORMAT_INFO_N_COMPONENTS</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-SHIFT:CAPS" title="GST_VIDEO_FORMAT_INFO_SHIFT()">GST_VIDEO_FORMAT_INFO_SHIFT</a> (info,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-DEPTH:CAPS" title="GST_VIDEO_FORMAT_INFO_DEPTH()">GST_VIDEO_FORMAT_INFO_DEPTH</a> (info,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-PSTRIDE:CAPS" title="GST_VIDEO_FORMAT_INFO_PSTRIDE()">GST_VIDEO_FORMAT_INFO_PSTRIDE</a> (info,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-N-PLANES:CAPS" title="GST_VIDEO_FORMAT_INFO_N_PLANES()">GST_VIDEO_FORMAT_INFO_N_PLANES</a> (info)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-PLANE:CAPS" title="GST_VIDEO_FORMAT_INFO_PLANE()">GST_VIDEO_FORMAT_INFO_PLANE</a> (info,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-POFFSET:CAPS" title="GST_VIDEO_FORMAT_INFO_POFFSET()">GST_VIDEO_FORMAT_INFO_POFFSET</a> (info,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-W-SUB:CAPS" title="GST_VIDEO_FORMAT_INFO_W_SUB()">GST_VIDEO_FORMAT_INFO_W_SUB</a> (info,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-H-SUB:CAPS" title="GST_VIDEO_FORMAT_INFO_H_SUB()">GST_VIDEO_FORMAT_INFO_H_SUB</a> (info,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-SUB-SCALE:CAPS" title="GST_VIDEO_SUB_SCALE()">GST_VIDEO_SUB_SCALE</a> (scale,
val)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-SCALE-WIDTH:CAPS" title="GST_VIDEO_FORMAT_INFO_SCALE_WIDTH()">GST_VIDEO_FORMAT_INFO_SCALE_WIDTH</a> (info,
c,
w)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-SCALE-HEIGHT:CAPS" title="GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT()">GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT</a> (info,
c,
h)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-DATA:CAPS" title="GST_VIDEO_FORMAT_INFO_DATA()">GST_VIDEO_FORMAT_INFO_DATA</a> (info,
planes,
comp)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-STRIDE:CAPS" title="GST_VIDEO_FORMAT_INFO_STRIDE()">GST_VIDEO_FORMAT_INFO_STRIDE</a> (info,
strides,
comp)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-INFO-OFFSET:CAPS" title="GST_VIDEO_FORMAT_INFO_OFFSET()">GST_VIDEO_FORMAT_INFO_OFFSET</a> (info,
offsets,
comp)
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="returnvalue">GstVideoFormat</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-format-from-masks" title="gst_video_format_from_masks ()">gst_video_format_from_masks</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> depth</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> bpp</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> endianness</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> red_mask</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> green_mask</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> blue_mask</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> alpha_mask</code></em>);
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="returnvalue">GstVideoFormat</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-format-from-fourcc" title="gst_video_format_from_fourcc ()">gst_video_format_from_fourcc</a> (<em class="parameter"><code><span class="type">guint32</span> fourcc</code></em>);
<span class="returnvalue">guint32</span> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-format-to-fourcc" title="gst_video_format_to_fourcc ()">gst_video_format_to_fourcc</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="returnvalue">GstVideoFormat</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-format-from-string" title="gst_video_format_from_string ()">gst_video_format_from_string</a> (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format</code></em>);
const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-format-to-string" title="gst_video_format_to_string ()">gst_video_format_to_string</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);
const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="returnvalue">GstVideoFormatInfo</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-format-get-info" title="gst_video_format_get_info ()">gst_video_format_get_info</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-SIZE-RANGE:CAPS" title="GST_VIDEO_SIZE_RANGE">GST_VIDEO_SIZE_RANGE</a>
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FPS-RANGE:CAPS" title="GST_VIDEO_FPS_RANGE">GST_VIDEO_FPS_RANGE</a>
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMATS-ALL:CAPS" title="GST_VIDEO_FORMATS_ALL">GST_VIDEO_FORMATS_ALL</a>
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-CAPS-MAKE:CAPS" title="GST_VIDEO_CAPS_MAKE()">GST_VIDEO_CAPS_MAKE</a> (format)
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorRange" title="enum GstVideoColorRange">GstVideoColorRange</a>;
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorMatrix" title="enum GstVideoColorMatrix">GstVideoColorMatrix</a>;
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTransferFunction" title="enum GstVideoTransferFunction">GstVideoTransferFunction</a>;
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorPrimaries" title="enum GstVideoColorPrimaries">GstVideoColorPrimaries</a>;
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry">GstVideoColorimetry</a>;
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-colorimetry-matches" title="gst_video_colorimetry_matches ()">gst_video_colorimetry_matches</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *color</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-colorimetry-from-string" title="gst_video_colorimetry_from_string ()">gst_video_colorimetry_from_string</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *color</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-colorimetry-to-string" title="gst_video_colorimetry_to_string ()">gst_video_colorimetry_to_string</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-color-range-offsets" title="gst_video_color_range_offsets ()">gst_video_color_range_offsets</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorRange" title="enum GstVideoColorRange"><span class="type">GstVideoColorRange</span></a> range</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> offset[GST_VIDEO_MAX_COMPONENTS]</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> scale[GST_VIDEO_MAX_COMPONENTS]</code></em>);
struct <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo">GstVideoInfo</a>;
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInterlaceMode" title="enum GstVideoInterlaceMode">GstVideoInterlaceMode</a>;
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFlags" title="enum GstVideoFlags">GstVideoFlags</a>;
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FORMAT:CAPS" title="GST_VIDEO_INFO_FORMAT()">GST_VIDEO_INFO_FORMAT</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-NAME:CAPS" title="GST_VIDEO_INFO_NAME()">GST_VIDEO_INFO_NAME</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-IS-YUV:CAPS" title="GST_VIDEO_INFO_IS_YUV()">GST_VIDEO_INFO_IS_YUV</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-IS-RGB:CAPS" title="GST_VIDEO_INFO_IS_RGB()">GST_VIDEO_INFO_IS_RGB</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-IS-GRAY:CAPS" title="GST_VIDEO_INFO_IS_GRAY()">GST_VIDEO_INFO_IS_GRAY</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-HAS-ALPHA:CAPS" title="GST_VIDEO_INFO_HAS_ALPHA()">GST_VIDEO_INFO_HAS_ALPHA</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-INTERLACE-MODE:CAPS" title="GST_VIDEO_INFO_INTERLACE_MODE()">GST_VIDEO_INFO_INTERLACE_MODE</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-IS-INTERLACED:CAPS" title="GST_VIDEO_INFO_IS_INTERLACED()">GST_VIDEO_INFO_IS_INTERLACED</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FLAGS:CAPS" title="GST_VIDEO_INFO_FLAGS()">GST_VIDEO_INFO_FLAGS</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-WIDTH:CAPS" title="GST_VIDEO_INFO_WIDTH()">GST_VIDEO_INFO_WIDTH</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-HEIGHT:CAPS" title="GST_VIDEO_INFO_HEIGHT()">GST_VIDEO_INFO_HEIGHT</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-SIZE:CAPS" title="GST_VIDEO_INFO_SIZE()">GST_VIDEO_INFO_SIZE</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-VIEWS:CAPS" title="GST_VIDEO_INFO_VIEWS()">GST_VIDEO_INFO_VIEWS</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-PAR-N:CAPS" title="GST_VIDEO_INFO_PAR_N()">GST_VIDEO_INFO_PAR_N</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-PAR-D:CAPS" title="GST_VIDEO_INFO_PAR_D()">GST_VIDEO_INFO_PAR_D</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FPS-N:CAPS" title="GST_VIDEO_INFO_FPS_N()">GST_VIDEO_INFO_FPS_N</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FPS-D:CAPS" title="GST_VIDEO_INFO_FPS_D()">GST_VIDEO_INFO_FPS_D</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FLAG-IS-SET:CAPS" title="GST_VIDEO_INFO_FLAG_IS_SET()">GST_VIDEO_INFO_FLAG_IS_SET</a> (i,
flag)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FLAG-SET:CAPS" title="GST_VIDEO_INFO_FLAG_SET()">GST_VIDEO_INFO_FLAG_SET</a> (i,
flag)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-FLAG-UNSET:CAPS" title="GST_VIDEO_INFO_FLAG_UNSET()">GST_VIDEO_INFO_FLAG_UNSET</a> (i,
flag)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-N-PLANES:CAPS" title="GST_VIDEO_INFO_N_PLANES()">GST_VIDEO_INFO_N_PLANES</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-PLANE-OFFSET:CAPS" title="GST_VIDEO_INFO_PLANE_OFFSET()">GST_VIDEO_INFO_PLANE_OFFSET</a> (i,
p)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-PLANE-STRIDE:CAPS" title="GST_VIDEO_INFO_PLANE_STRIDE()">GST_VIDEO_INFO_PLANE_STRIDE</a> (i,
p)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-N-COMPONENTS:CAPS" title="GST_VIDEO_INFO_N_COMPONENTS()">GST_VIDEO_INFO_N_COMPONENTS</a> (i)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-DEPTH:CAPS" title="GST_VIDEO_INFO_COMP_DEPTH()">GST_VIDEO_INFO_COMP_DEPTH</a> (i,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-DATA:CAPS" title="GST_VIDEO_INFO_COMP_DATA()">GST_VIDEO_INFO_COMP_DATA</a> (i,
d,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-OFFSET:CAPS" title="GST_VIDEO_INFO_COMP_OFFSET()">GST_VIDEO_INFO_COMP_OFFSET</a> (i,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-STRIDE:CAPS" title="GST_VIDEO_INFO_COMP_STRIDE()">GST_VIDEO_INFO_COMP_STRIDE</a> (i,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-WIDTH:CAPS" title="GST_VIDEO_INFO_COMP_WIDTH()">GST_VIDEO_INFO_COMP_WIDTH</a> (i,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-HEIGHT:CAPS" title="GST_VIDEO_INFO_COMP_HEIGHT()">GST_VIDEO_INFO_COMP_HEIGHT</a> (i,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-PLANE:CAPS" title="GST_VIDEO_INFO_COMP_PLANE()">GST_VIDEO_INFO_COMP_PLANE</a> (i,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-PSTRIDE:CAPS" title="GST_VIDEO_INFO_COMP_PSTRIDE()">GST_VIDEO_INFO_COMP_PSTRIDE</a> (i,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-INFO-COMP-POFFSET:CAPS" title="GST_VIDEO_INFO_COMP_POFFSET()">GST_VIDEO_INFO_COMP_POFFSET</a> (i,
c)
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-init" title="gst_video_info_init ()">gst_video_info_init</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-set-format" title="gst_video_info_set_format ()">gst_video_info_set_format</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps" title="gst_video_info_from_caps ()">gst_video_info_from_caps</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> * <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-to-caps" title="gst_video_info_to_caps ()">gst_video_info_to_caps</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-convert" title="gst_video_info_convert ()">gst_video_info_convert</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
<em class="parameter"><code><span class="type">gint64</span> src_value</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
<em class="parameter"><code><span class="type">gint64</span> *dest_value</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-is-equal" title="gst_video_info_is_equal ()">gst_video_info_is_equal</a> (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *other</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-align" title="gst_video_info_align ()">gst_video_info_align</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *align</code></em>);
struct <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame">GstVideoFrame</a>;
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrameFlags" title="enum GstVideoFrameFlags">GstVideoFrameFlags</a>;
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-map-id" title="gst_video_frame_map_id ()">gst_video_frame_map_id</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *frame</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-map" title="gst_video_frame_map ()">gst_video_frame_map</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *frame</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);
<span class="returnvalue">void</span> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-unmap" title="gst_video_frame_unmap ()">gst_video_frame_unmap</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *frame</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-copy" title="gst_video_frame_copy ()">gst_video_frame_copy</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *dest</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *src</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-copy-plane" title="gst_video_frame_copy_plane ()">gst_video_frame_copy_plane</a> (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *dest</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *src</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>);
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FORMAT:CAPS" title="GST_VIDEO_FRAME_FORMAT()">GST_VIDEO_FRAME_FORMAT</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-WIDTH:CAPS" title="GST_VIDEO_FRAME_WIDTH()">GST_VIDEO_FRAME_WIDTH</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-HEIGHT:CAPS" title="GST_VIDEO_FRAME_HEIGHT()">GST_VIDEO_FRAME_HEIGHT</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-SIZE:CAPS" title="GST_VIDEO_FRAME_SIZE()">GST_VIDEO_FRAME_SIZE</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAGS:CAPS" title="GST_VIDEO_FRAME_FLAGS()">GST_VIDEO_FRAME_FLAGS</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-FLAG-IS-SET:CAPS" title="GST_VIDEO_FRAME_FLAG_IS_SET()">GST_VIDEO_FRAME_FLAG_IS_SET</a> (f,
fl)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-IS-INTERLACED:CAPS" title="GST_VIDEO_FRAME_IS_INTERLACED()">GST_VIDEO_FRAME_IS_INTERLACED</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-IS-TFF:CAPS" title="GST_VIDEO_FRAME_IS_TFF()">GST_VIDEO_FRAME_IS_TFF</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-IS-RFF:CAPS" title="GST_VIDEO_FRAME_IS_RFF()">GST_VIDEO_FRAME_IS_RFF</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-IS-ONEFIELD:CAPS" title="GST_VIDEO_FRAME_IS_ONEFIELD()">GST_VIDEO_FRAME_IS_ONEFIELD</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-N-PLANES:CAPS" title="GST_VIDEO_FRAME_N_PLANES()">GST_VIDEO_FRAME_N_PLANES</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-PLANE-DATA:CAPS" title="GST_VIDEO_FRAME_PLANE_DATA()">GST_VIDEO_FRAME_PLANE_DATA</a> (f,
p)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-PLANE-OFFSET:CAPS" title="GST_VIDEO_FRAME_PLANE_OFFSET()">GST_VIDEO_FRAME_PLANE_OFFSET</a> (f,
p)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-PLANE-STRIDE:CAPS" title="GST_VIDEO_FRAME_PLANE_STRIDE()">GST_VIDEO_FRAME_PLANE_STRIDE</a> (f,
p)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-N-COMPONENTS:CAPS" title="GST_VIDEO_FRAME_N_COMPONENTS()">GST_VIDEO_FRAME_N_COMPONENTS</a> (f)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-DEPTH:CAPS" title="GST_VIDEO_FRAME_COMP_DEPTH()">GST_VIDEO_FRAME_COMP_DEPTH</a> (f,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-DATA:CAPS" title="GST_VIDEO_FRAME_COMP_DATA()">GST_VIDEO_FRAME_COMP_DATA</a> (f,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-STRIDE:CAPS" title="GST_VIDEO_FRAME_COMP_STRIDE()">GST_VIDEO_FRAME_COMP_STRIDE</a> (f,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-OFFSET:CAPS" title="GST_VIDEO_FRAME_COMP_OFFSET()">GST_VIDEO_FRAME_COMP_OFFSET</a> (f,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-WIDTH:CAPS" title="GST_VIDEO_FRAME_COMP_WIDTH()">GST_VIDEO_FRAME_COMP_WIDTH</a> (f,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-HEIGHT:CAPS" title="GST_VIDEO_FRAME_COMP_HEIGHT()">GST_VIDEO_FRAME_COMP_HEIGHT</a> (f,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-PLANE:CAPS" title="GST_VIDEO_FRAME_COMP_PLANE()">GST_VIDEO_FRAME_COMP_PLANE</a> (f,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-PSTRIDE:CAPS" title="GST_VIDEO_FRAME_COMP_PSTRIDE()">GST_VIDEO_FRAME_COMP_PSTRIDE</a> (f,
c)
#define <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FRAME-COMP-POFFSET:CAPS" title="GST_VIDEO_FRAME_COMP_POFFSET()">GST_VIDEO_FRAME_COMP_POFFSET</a> (f,
c)
enum <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoBufferFlags" title="enum GstVideoBufferFlags">GstVideoBufferFlags</a>;
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstvideo.description"></a><h2>Description</h2>
<p>
</p>
<div class="refsect2">
<a name="idp81607216"></a><p>
This library contains some helper functions and includes the
videosink and videofilter base classes.
</p>
</div>
<p>
</p>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstvideo.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="gst-video-calculate-display-ratio"></a><h3>gst_video_calculate_display_ratio ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_calculate_display_ratio (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *dar_n</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *dar_d</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> video_width</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> video_height</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> video_par_n</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> video_par_d</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> display_par_n</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> display_par_d</code></em>);</pre>
<p>
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.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dar_n</code></em> :</span></p></td>
<td>Numerator of the calculated display_ratio</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dar_d</code></em> :</span></p></td>
<td>Denominator of the calculated display_ratio</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>video_width</code></em> :</span></p></td>
<td>Width of the video frame in pixels</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>video_height</code></em> :</span></p></td>
<td>Height of the video frame in pixels</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>video_par_n</code></em> :</span></p></td>
<td>Numerator of the pixel aspect ratio of the input video.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>video_par_d</code></em> :</span></p></td>
<td>Denominator of the pixel aspect ratio of the input video.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>display_par_n</code></em> :</span></p></td>
<td>Numerator of the pixel aspect ratio of the display device</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>display_par_d</code></em> :</span></p></td>
<td>Denominator of the pixel aspect ratio of the display device</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>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.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoConvertSampleCallback"></a><h3>GstVideoConvertSampleCallback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> (*GstVideoConvertSampleCallback) (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a> *sample</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-convert-sample"></a><h3>gst_video_convert_sample ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="returnvalue">GstSample</span></a> * gst_video_convert_sample (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a> *sample</code></em>,
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *to_caps</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timeout</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Converts a raw video buffer into the specified output caps.
</p>
<p>
The output caps can be any raw video formats or any image formats (jpeg, png, ...).
</p>
<p>
The width, height and pixel-aspect-ratio can also be specified in the output caps.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>to_caps</code></em> :</span></p></td>
<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> to convert to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>timeout</code></em> :</span></p></td>
<td>the maximum amount of time allowed for the processing.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>pointer to a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>. Can be <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The converted <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error happened (in which case <em class="parameter"><code>err</code></em>
will point to the <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>).</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-convert-sample-async"></a><h3>gst_video_convert_sample_async ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_convert_sample_async (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a> *sample</code></em>,
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *to_caps</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timeout</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConvertSampleCallback" title="GstVideoConvertSampleCallback ()"><span class="type">GstVideoConvertSampleCallback</span></a> callback</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> destroy_notify</code></em>);</pre>
<p>
Converts a raw video buffer into the specified output caps.
</p>
<p>
The output caps can be any raw video formats or any image formats (jpeg, png, ...).
</p>
<p>
The width, height and pixel-aspect-ratio can also be specified in the output caps.
</p>
<p>
<em class="parameter"><code>callback</code></em> will be called after conversion, when an error occured or if conversion didn't
finish after <em class="parameter"><code>timeout</code></em>. <em class="parameter"><code>callback</code></em> will always be called from the thread default
<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><code class="literal">GMainContext</code></a>, see <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-get-thread-default"><code class="function">g_main_context_get_thread_default()</code></a>. If GLib before 2.22 is used,
this will always be the global default main context.
</p>
<p>
<em class="parameter"><code>destroy_notify</code></em> will be called after the callback was called and <em class="parameter"><code>user_data</code></em> is not needed
anymore.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>sample</code></em> :</span></p></td>
<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstSample.html#GstSample"><span class="type">GstSample</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>to_caps</code></em> :</span></p></td>
<td>the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> to convert to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>timeout</code></em> :</span></p></td>
<td>the maximum amount of time allowed for the processing.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback</code></em> :</span></p></td>
<td>
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoConvertSampleCallback" title="GstVideoConvertSampleCallback ()"><code class="literal">GstVideoConvertSampleCallback</code></a> that will be called after conversion.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>extra data that will be passed to the <em class="parameter"><code>callback</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>destroy_notify</code></em> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><code class="literal">GDestroyNotify</code></a> to be called after <em class="parameter"><code>user_data</code></em> is not needed anymore</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoAlignment"></a><h3>struct GstVideoAlignment</h3>
<pre class="programlisting">struct GstVideoAlignment {
guint padding_top;
guint padding_bottom;
guint padding_left;
guint padding_right;
guint stride_align[GST_VIDEO_MAX_PLANES];
};
</pre>
<p>
Extra alignment paramters for the memory of video buffers. This
structure is usually used to configure the bufferpool if it supports the
<span class="type">GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT</span>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.padding-top"></a>padding_top</code></em>;</span></p></td>
<td>extra pixels on the top</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.padding-bottom"></a>padding_bottom</code></em>;</span></p></td>
<td>extra pixels on the bottom</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.padding-left"></a>padding_left</code></em>;</span></p></td>
<td>extra pixels on the left side</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.padding-right"></a>padding_right</code></em>;</span></p></td>
<td>extra pixels on the right side</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoAlignment.stride-align"></a>stride_align</code></em>[GST_VIDEO_MAX_PLANES];</span></p></td>
<td>array with extra alignment requirements for the strides</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-alignment-reset"></a><h3>gst_video_alignment_reset ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_alignment_reset (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *align</code></em>);</pre>
<p>
Set <em class="parameter"><code>align</code></em> to its default values with no padding and no alignment.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>align</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-event-new-still-frame"></a><h3>gst_video_event_new_still_frame ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_video_event_new_still_frame (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> in_still</code></em>);</pre>
<p>
Creates a new Still Frame event. If <em class="parameter"><code>in_still</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the event
represents the start of a still frame sequence. If it is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, then
the event ends a still frame sequence.
</p>
<p>
To parse an event created by <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-still-frame" title="gst_video_event_new_still_frame ()"><code class="function">gst_video_event_new_still_frame()</code></a> use
<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-still-frame" title="gst_video_event_parse_still_frame ()"><code class="function">gst_video_event_parse_still_frame()</code></a>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>in_still</code></em> :</span></p></td>
<td>boolean value for the still-frame state of the event.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The new GstEvent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-event-parse-still-frame"></a><h3>gst_video_event_parse_still_frame ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_event_parse_still_frame (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *in_still</code></em>);</pre>
<p>
Parse a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a>, 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.
</p>
<p>
Create a still frame event using <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-still-frame" title="gst_video_event_new_still_frame ()"><code class="function">gst_video_event_new_still_frame()</code></a>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> to parse</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>in_still</code></em> :</span></p></td>
<td>A boolean to receive the still-frame status from the event, or NULL</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is a valid still-frame event. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-event-new-downstream-force-key-unit"></a><h3>gst_video_event_new_downstream_force_key_unit ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_video_event_new_downstream_force_key_unit
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> timestamp</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> stream_time</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> all_headers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);</pre>
<p>
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.
</p>
<p>
To parse an event created by <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-downstream-force-key-unit" title="gst_video_event_new_downstream_force_key_unit ()"><code class="function">gst_video_event_new_downstream_force_key_unit()</code></a> use
<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-downstream-force-key-unit" title="gst_video_event_parse_downstream_force_key_unit ()"><code class="function">gst_video_event_parse_downstream_force_key_unit()</code></a>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td>
<td>the timestamp of the buffer that starts a new key unit</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>stream_time</code></em> :</span></p></td>
<td>the stream_time of the buffer that starts a new key unit</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
<td>the running_time of the buffer that starts a new key unit</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>all_headers</code></em> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to produce headers when starting a new key unit</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
<td>integer that can be used to number key units</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The new GstEvent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-event-parse-downstream-force-key-unit"></a><h3>gst_video_event_parse_downstream_force_key_unit ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_event_parse_downstream_force_key_unit
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *timestamp</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *stream_time</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *all_headers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *count</code></em>);</pre>
<p>
Get timestamp, stream-time, running-time, all-headers and count in the force
key unit event. See <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-downstream-force-key-unit" title="gst_video_event_new_downstream_force_key_unit ()"><code class="function">gst_video_event_new_downstream_force_key_unit()</code></a> for a
full description of the downstream force key unit event.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> to parse</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>timestamp</code></em> :</span></p></td>
<td>A pointer to the timestamp in the event. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>stream_time</code></em> :</span></p></td>
<td>A pointer to the stream-time in the event. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
<td>A pointer to the running-time in the event. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>all_headers</code></em> :</span></p></td>
<td>A pointer to the all_headers flag in the event. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
<td>A pointer to the count field of the event. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is a valid downstream force key unit event.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-event-new-upstream-force-key-unit"></a><h3>gst_video_event_new_upstream_force_key_unit ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="returnvalue">GstEvent</span></a> * gst_video_event_new_upstream_force_key_unit
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> running_time</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> all_headers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> count</code></em>);</pre>
<p>
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.
</p>
<p>
<em class="parameter"><code>running_time</code></em> 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.
</p>
<p>
To parse an event created by <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-downstream-force-key-unit" title="gst_video_event_new_downstream_force_key_unit ()"><code class="function">gst_video_event_new_downstream_force_key_unit()</code></a> use
<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-parse-downstream-force-key-unit" title="gst_video_event_parse_downstream_force_key_unit ()"><code class="function">gst_video_event_parse_downstream_force_key_unit()</code></a>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
<td>the running_time at which a new key unit should be produced</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>all_headers</code></em> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to produce headers when starting a new key unit</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
<td>integer that can be used to number key units</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The new GstEvent</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-event-parse-upstream-force-key-unit"></a><h3>gst_video_event_parse_upstream_force_key_unit ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_event_parse_upstream_force_key_unit
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *running_time</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *all_headers</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> *count</code></em>);</pre>
<p>
Get running-time, all-headers and count in the force key unit event. See
<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-upstream-force-key-unit" title="gst_video_event_new_upstream_force_key_unit ()"><code class="function">gst_video_event_new_upstream_force_key_unit()</code></a> for a full description of the
upstream force key unit event.
</p>
<p>
Create an upstream force key unit event using <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-event-new-upstream-force-key-unit" title="gst_video_event_new_upstream_force_key_unit ()"><code class="function">gst_video_event_new_upstream_force_key_unit()</code></a>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> to parse</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>running_time</code></em> :</span></p></td>
<td>A pointer to the running_time in the event. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>all_headers</code></em> :</span></p></td>
<td>A pointer to the all_headers flag in the event. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>count</code></em> :</span></p></td>
<td>A pointer to the count field in the event. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is a valid upstream force-key-unit event. <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if not</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-event-is-force-key-unit"></a><h3>gst_video_event_is_force_key_unit ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_event_is_force_key_unit (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> *event</code></em>);</pre>
<p>
Checks if an event is a force key unit event. Returns true for both upstream
and downstream force key unit events.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>event</code></em> :</span></p></td>
<td>A <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstEvent.html#GstEvent"><span class="type">GstEvent</span></a> to check</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the event is a valid force key unit event</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoFormat"></a><h3>enum GstVideoFormat</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_FORMAT_UNKNOWN,
GST_VIDEO_FORMAT_ENCODED,
GST_VIDEO_FORMAT_I420,
GST_VIDEO_FORMAT_YV12,
GST_VIDEO_FORMAT_YUY2,
GST_VIDEO_FORMAT_UYVY,
GST_VIDEO_FORMAT_AYUV,
GST_VIDEO_FORMAT_RGBx,
GST_VIDEO_FORMAT_BGRx,
GST_VIDEO_FORMAT_xRGB,
GST_VIDEO_FORMAT_xBGR,
GST_VIDEO_FORMAT_RGBA,
GST_VIDEO_FORMAT_BGRA,
GST_VIDEO_FORMAT_ARGB,
GST_VIDEO_FORMAT_ABGR,
GST_VIDEO_FORMAT_RGB,
GST_VIDEO_FORMAT_BGR,
GST_VIDEO_FORMAT_Y41B,
GST_VIDEO_FORMAT_Y42B,
GST_VIDEO_FORMAT_YVYU,
GST_VIDEO_FORMAT_Y444,
GST_VIDEO_FORMAT_v210,
GST_VIDEO_FORMAT_v216,
GST_VIDEO_FORMAT_NV12,
GST_VIDEO_FORMAT_NV21,
GST_VIDEO_FORMAT_GRAY8,
GST_VIDEO_FORMAT_GRAY16_BE,
GST_VIDEO_FORMAT_GRAY16_LE,
GST_VIDEO_FORMAT_v308,
GST_VIDEO_FORMAT_RGB16,
GST_VIDEO_FORMAT_BGR16,
GST_VIDEO_FORMAT_RGB15,
GST_VIDEO_FORMAT_BGR15,
GST_VIDEO_FORMAT_UYVP,
GST_VIDEO_FORMAT_A420,
GST_VIDEO_FORMAT_RGB8P,
GST_VIDEO_FORMAT_YUV9,
GST_VIDEO_FORMAT_YVU9,
GST_VIDEO_FORMAT_IYU1,
GST_VIDEO_FORMAT_ARGB64,
GST_VIDEO_FORMAT_AYUV64,
GST_VIDEO_FORMAT_r210,
GST_VIDEO_FORMAT_I420_10BE,
GST_VIDEO_FORMAT_I420_10LE,
GST_VIDEO_FORMAT_I422_10BE,
GST_VIDEO_FORMAT_I422_10LE,
GST_VIDEO_FORMAT_Y444_10BE,
GST_VIDEO_FORMAT_Y444_10LE,
GST_VIDEO_FORMAT_GBR,
GST_VIDEO_FORMAT_GBR_10BE,
GST_VIDEO_FORMAT_GBR_10LE,
GST_VIDEO_FORMAT_NV16,
GST_VIDEO_FORMAT_NV24,
} GstVideoFormat;
</pre>
<p>
Enum value describing the most common video formats.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_UNKNOWN</code></span></p></td>
<td>Unknown or unset video format id
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-ENCODED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_ENCODED</code></span></p></td>
<td>Encoded video format
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-I420:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_I420</code></span></p></td>
<td>planar 4:2:0 YUV
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-YV12:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_YV12</code></span></p></td>
<td>planar 4:2:0 YVU (like I420 but UV planes swapped)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-YUY2:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_YUY2</code></span></p></td>
<td>packed 4:2:2 YUV (Y0-U0-Y1-V0 Y2-U2-Y3-V2 Y4 ...)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-UYVY:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_UYVY</code></span></p></td>
<td>packed 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-AYUV:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_AYUV</code></span></p></td>
<td>packed 4:4:4 YUV with alpha channel (A0-Y0-U0-V0 ...)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-RGBx"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_RGBx</code></span></p></td>
<td>sparse rgb packed into 32 bit, space last
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-BGRx"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_BGRx</code></span></p></td>
<td>sparse reverse rgb packed into 32 bit, space last
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-xRGB"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_xRGB</code></span></p></td>
<td>sparse rgb packed into 32 bit, space first
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-xBGR"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_xBGR</code></span></p></td>
<td>sparse reverse rgb packed into 32 bit, space first
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-RGBA:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_RGBA</code></span></p></td>
<td>rgb with alpha channel last
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-BGRA:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_BGRA</code></span></p></td>
<td>reverse rgb with alpha channel last
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-ARGB:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_ARGB</code></span></p></td>
<td>rgb with alpha channel first
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-ABGR:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_ABGR</code></span></p></td>
<td>reverse rgb with alpha channel first
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-RGB:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_RGB</code></span></p></td>
<td>rgb
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-BGR:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_BGR</code></span></p></td>
<td>reverse rgb
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-Y41B:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_Y41B</code></span></p></td>
<td>planar 4:1:1 YUV
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-Y42B:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_Y42B</code></span></p></td>
<td>planar 4:2:2 YUV
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-YVYU:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_YVYU</code></span></p></td>
<td>packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 ...)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-Y444:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_Y444</code></span></p></td>
<td>planar 4:4:4 YUV
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-v210"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_v210</code></span></p></td>
<td>packed 4:2:2 10-bit YUV, complex format
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-v216"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_v216</code></span></p></td>
<td>packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-NV12:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_NV12</code></span></p></td>
<td>planar 4:2:0 YUV with interleaved UV plane
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-NV21:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_NV21</code></span></p></td>
<td>planar 4:2:0 YUV with interleaved VU plane
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-GRAY8:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_GRAY8</code></span></p></td>
<td>8-bit grayscale
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-GRAY16-BE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_GRAY16_BE</code></span></p></td>
<td>16-bit grayscale, most significant byte first
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-GRAY16-LE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_GRAY16_LE</code></span></p></td>
<td>16-bit grayscale, least significant byte first
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-v308"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_v308</code></span></p></td>
<td>packed 4:4:4 YUV
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-RGB16:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_RGB16</code></span></p></td>
<td>rgb 5-6-5 bits per component
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-BGR16:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_BGR16</code></span></p></td>
<td>reverse rgb 5-6-5 bits per component
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-RGB15:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_RGB15</code></span></p></td>
<td>rgb 5-5-5 bits per component
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-BGR15:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_BGR15</code></span></p></td>
<td>reverse rgb 5-5-5 bits per component
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-UYVP:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_UYVP</code></span></p></td>
<td>packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-A420:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_A420</code></span></p></td>
<td>planar 4:4:2:0 AYUV
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-RGB8P:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_RGB8P</code></span></p></td>
<td>8-bit paletted RGB
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-YUV9:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_YUV9</code></span></p></td>
<td>planar 4:1:0 YUV
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-YVU9:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_YVU9</code></span></p></td>
<td>planar 4:1:0 YUV (like YUV9 but UV planes swapped)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-IYU1:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_IYU1</code></span></p></td>
<td>packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-ARGB64:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_ARGB64</code></span></p></td>
<td>rgb with alpha channel first, 16 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-AYUV64:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_AYUV64</code></span></p></td>
<td>packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...)
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-r210"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_r210</code></span></p></td>
<td>packed 4:4:4 RGB, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-I420-10BE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_I420_10BE</code></span></p></td>
<td>planar 4:2:0 YUV, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-I420-10LE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_I420_10LE</code></span></p></td>
<td>planar 4:2:0 YUV, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-I422-10BE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_I422_10BE</code></span></p></td>
<td>planar 4:2:2 YUV, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-I422-10LE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_I422_10LE</code></span></p></td>
<td>planar 4:2:2 YUV, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-Y444-10BE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_Y444_10BE</code></span></p></td>
<td>planar 4:4:4 YUV, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-Y444-10LE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_Y444_10LE</code></span></p></td>
<td>planar 4:4:4 YUV, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-GBR:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_GBR</code></span></p></td>
<td>planar 4:4:4 RGB, 8 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-GBR-10BE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_GBR_10BE</code></span></p></td>
<td>planar 4:4:4 RGB, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-GBR-10LE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_GBR_10LE</code></span></p></td>
<td>planar 4:4:4 RGB, 10 bits per channel
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-NV16:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_NV16</code></span></p></td>
<td>planar 4:2:2 YUV with interleaved UV plane
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-NV24:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_NV24</code></span></p></td>
<td>planar 4:4:4 YUV with interleaved UV plane
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-MAX-PLANES:CAPS"></a><h3>GST_VIDEO_MAX_PLANES</h3>
<pre class="programlisting">#define GST_VIDEO_MAX_PLANES 4
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-MAX-COMPONENTS:CAPS"></a><h3>GST_VIDEO_MAX_COMPONENTS</h3>
<pre class="programlisting">#define GST_VIDEO_MAX_COMPONENTS 4
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoFormatInfo"></a><h3>struct GstVideoFormatInfo</h3>
<pre class="programlisting">struct GstVideoFormatInfo {
GstVideoFormat format;
const gchar *name;
const gchar *description;
GstVideoFormatFlags flags;
guint bits;
guint n_components;
guint shift[GST_VIDEO_MAX_COMPONENTS];
guint depth[GST_VIDEO_MAX_COMPONENTS];
gint pixel_stride[GST_VIDEO_MAX_COMPONENTS];
guint n_planes;
guint plane[GST_VIDEO_MAX_COMPONENTS];
guint poffset[GST_VIDEO_MAX_COMPONENTS];
guint w_sub[GST_VIDEO_MAX_COMPONENTS];
guint h_sub[GST_VIDEO_MAX_COMPONENTS];
GstVideoFormat unpack_format;
GstVideoFormatUnpack unpack_func;
gint pack_lines;
GstVideoFormatPack pack_func;
gpointer _gst_reserved[GST_PADDING];
};
</pre>
<p>
Information for a video format.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.format"></a>format</code></em>;</span></p></td>
<td><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a></td>
</tr>
<tr>
<td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstVideoFormatInfo.name"></a>name</code></em>;</span></p></td>
<td>string representation of the format</td>
</tr>
<tr>
<td><p><span class="term">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *<em class="structfield"><code><a name="GstVideoFormatInfo.description"></a>description</code></em>;</span></p></td>
<td>use readable description of the format</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatFlags" title="enum GstVideoFormatFlags"><span class="type">GstVideoFormatFlags</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.flags"></a>flags</code></em>;</span></p></td>
<td><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatFlags" title="enum GstVideoFormatFlags"><span class="type">GstVideoFormatFlags</span></a></td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.bits"></a>bits</code></em>;</span></p></td>
<td>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 &gt; 8 multiple bytes
should be read according to the endianness flag before applying the shift
and mask.</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.n-components"></a>n_components</code></em>;</span></p></td>
<td>the number of components in the video format.</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.shift"></a>shift</code></em>[GST_VIDEO_MAX_COMPONENTS];</span></p></td>
<td>the number of bits to shift away to get the component data</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.depth"></a>depth</code></em>[GST_VIDEO_MAX_COMPONENTS];</span></p></td>
<td>the depth in bits for each component</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.pixel-stride"></a>pixel_stride</code></em>[GST_VIDEO_MAX_COMPONENTS];</span></p></td>
<td>the pixel stride of each component. This is the amount of
bytes to the pixel immediately to the right. When bits &lt; 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.</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.n-planes"></a>n_planes</code></em>;</span></p></td>
<td>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.</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.plane"></a>plane</code></em>[GST_VIDEO_MAX_COMPONENTS];</span></p></td>
<td>the plane number where a component can be found</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.poffset"></a>poffset</code></em>[GST_VIDEO_MAX_COMPONENTS];</span></p></td>
<td>the offset in the plane where the first pixel of the components
can be found.</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.w-sub"></a>w_sub</code></em>[GST_VIDEO_MAX_COMPONENTS];</span></p></td>
<td>subsampling factor of the width for the component. Use
GST_VIDEO_SUB_SCALE to scale a width.</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.h-sub"></a>h_sub</code></em>[GST_VIDEO_MAX_COMPONENTS];</span></p></td>
<td>subsampling factor of the height for the component. Use
GST_VIDEO_SUB_SCALE to scale a height.</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.unpack-format"></a>unpack_format</code></em>;</span></p></td>
<td>the format of the unpacked pixels. This format must have the
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-FLAG-UNPACK:CAPS"><span class="type">GST_VIDEO_FORMAT_FLAG_UNPACK</span></a> flag set.</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatUnpack" title="GstVideoFormatUnpack ()"><span class="type">GstVideoFormatUnpack</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.unpack-func"></a>unpack_func</code></em>;</span></p></td>
<td>an unpack function for this format</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.pack-lines"></a>pack_lines</code></em>;</span></p></td>
<td>the amount of lines that will be packed</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatPack" title="GstVideoFormatPack ()"><span class="type">GstVideoFormatPack</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.pack-func"></a>pack_func</code></em>;</span></p></td>
<td>an pack function for this format</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstVideoFormatInfo.-gst-reserved"></a>_gst_reserved</code></em>[GST_PADDING];</span></p></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoChromaSite"></a><h3>enum GstVideoChromaSite</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_CHROMA_SITE_UNKNOWN = 0,
GST_VIDEO_CHROMA_SITE_NONE = (1 &lt;&lt; 0),
GST_VIDEO_CHROMA_SITE_H_COSITED = (1 &lt;&lt; 1),
GST_VIDEO_CHROMA_SITE_V_COSITED = (1 &lt;&lt; 2),
GST_VIDEO_CHROMA_SITE_ALT_LINE = (1 &lt;&lt; 3),
/* some common chroma cositing */
GST_VIDEO_CHROMA_SITE_COSITED = (GST_VIDEO_CHROMA_SITE_H_COSITED | GST_VIDEO_CHROMA_SITE_V_COSITED),
GST_VIDEO_CHROMA_SITE_JPEG = (GST_VIDEO_CHROMA_SITE_NONE),
GST_VIDEO_CHROMA_SITE_MPEG2 = (GST_VIDEO_CHROMA_SITE_H_COSITED),
GST_VIDEO_CHROMA_SITE_DV = (GST_VIDEO_CHROMA_SITE_COSITED | GST_VIDEO_CHROMA_SITE_ALT_LINE),
} GstVideoChromaSite;
</pre>
<p>
Various Chroma sitings.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_UNKNOWN</code></span></p></td>
<td>unknown cositing
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-NONE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_NONE</code></span></p></td>
<td>no cositing
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-H-COSITED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_H_COSITED</code></span></p></td>
<td>chroma is horizontally cosited
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-V-COSITED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_V_COSITED</code></span></p></td>
<td>chroma is vertically cosited
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-ALT-LINE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_ALT_LINE</code></span></p></td>
<td>choma samples are sited on alternate lines
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-COSITED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_COSITED</code></span></p></td>
<td>chroma samples cosited with luma samples
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-JPEG:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_JPEG</code></span></p></td>
<td>jpeg style cositing, also for mpeg1 and mjpeg
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-MPEG2:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_MPEG2</code></span></p></td>
<td>mpeg2 style cositing
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-CHROMA-SITE-DV:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_CHROMA_SITE_DV</code></span></p></td>
<td>DV style cositing
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-chroma-from-string"></a><h3>gst_video_chroma_from_string ()</h3>
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="returnvalue">GstVideoChromaSite</span></a> gst_video_chroma_from_string (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *s</code></em>);</pre>
<p>
Convert <em class="parameter"><code>s</code></em> to a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>s</code></em> :</span></p></td>
<td>a chromasite string</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> or <a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-CHROMA-SITE-UNKNOWN:CAPS"><code class="literal">GST_VIDEO_CHROMA_SITE_UNKNOWN</code></a> when <em class="parameter"><code>s</code></em> does
not contain a valid chroma description.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-chroma-to-string"></a><h3>gst_video_chroma_to_string ()</h3>
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_video_chroma_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> site</code></em>);</pre>
<p>
Converts <em class="parameter"><code>site</code></em> to its string representation.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>site</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a string describing <em class="parameter"><code>site</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoFormatFlags"></a><h3>enum GstVideoFormatFlags</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_FORMAT_FLAG_YUV = (1 &lt;&lt; 0),
GST_VIDEO_FORMAT_FLAG_RGB = (1 &lt;&lt; 1),
GST_VIDEO_FORMAT_FLAG_GRAY = (1 &lt;&lt; 2),
GST_VIDEO_FORMAT_FLAG_ALPHA = (1 &lt;&lt; 3),
GST_VIDEO_FORMAT_FLAG_LE = (1 &lt;&lt; 4),
GST_VIDEO_FORMAT_FLAG_PALETTE = (1 &lt;&lt; 5),
GST_VIDEO_FORMAT_FLAG_COMPLEX = (1 &lt;&lt; 6),
GST_VIDEO_FORMAT_FLAG_UNPACK = (1 &lt;&lt; 7)
} GstVideoFormatFlags;
</pre>
<p>
The different video flags that a format info can have.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-FLAG-YUV:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_FLAG_YUV</code></span></p></td>
<td>The video format is YUV, components are numbered
0=Y, 1=U, 2=V.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-FLAG-RGB:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_FLAG_RGB</code></span></p></td>
<td>The video format is RGB, components are numbered
0=R, 1=G, 2=B.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-FLAG-GRAY:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_FLAG_GRAY</code></span></p></td>
<td>The video is gray, there is one gray component
with index 0.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-FLAG-ALPHA:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_FLAG_ALPHA</code></span></p></td>
<td>The video format has an alpha components with
the number 3.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-FLAG-LE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_FLAG_LE</code></span></p></td>
<td>The video format has data stored in little
endianness.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-FLAG-PALETTE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_FLAG_PALETTE</code></span></p></td>
<td>The video format has a palette. The palette
is stored in the second plane and indexes are stored in the first plane.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-FLAG-COMPLEX:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_FLAG_COMPLEX</code></span></p></td>
<td>The video format has a complex layout that
can't be described with the usual information in the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a>.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FORMAT-FLAG-UNPACK:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FORMAT_FLAG_UNPACK</code></span></p></td>
<td>This format can be used in a
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatUnpack" title="GstVideoFormatUnpack ()"><span class="type">GstVideoFormatUnpack</span></a> and <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatPack" title="GstVideoFormatPack ()"><span class="type">GstVideoFormatPack</span></a> function.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoPackFlags"></a><h3>enum GstVideoPackFlags</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_PACK_FLAG_NONE = 0,
GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE = (1 &lt;&lt; 0),
GST_VIDEO_PACK_FLAG_INTERLACED = (1 &lt;&lt; 1)
} GstVideoPackFlags;
</pre>
<p>
The different flags that can be used when packing and unpacking.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-PACK-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_PACK_FLAG_NONE</code></span></p></td>
<td>No flag
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-PACK-FLAG-TRUNCATE-RANGE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE</code></span></p></td>
<td>When the source has a smaller depth
than the target format, set the least significant bits of the target
to 0. This is likely sightly 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.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-PACK-FLAG-INTERLACED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_PACK_FLAG_INTERLACED</code></span></p></td>
<td>The source is interlaced. The unpacked
format will be interlaced as well with each line containing
information from alternating fields. (Since 1.2)
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoFormatUnpack"></a><h3>GstVideoFormatUnpack ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> (*GstVideoFormatUnpack) (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoPackFlags" title="enum GstVideoPackFlags"><span class="type">GstVideoPackFlags</span></a> flags</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> dest</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data[GST_VIDEO_MAX_PLANES]</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stride[GST_VIDEO_MAX_PLANES]</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> x</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>);</pre>
<p>
Unpacks <em class="parameter"><code>width</code></em> pixels from the given planes and strides containing data of
format <em class="parameter"><code>info</code></em>. The pixels will be unpacked into <em class="parameter"><code>dest</code></em> which each component
interleaved. <em class="parameter"><code>dest</code></em> should at least be big enough to hold <em class="parameter"><code>width</code></em> *
n_components * size(unpack_format) bytes.
</p>
<p>
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.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>flags to control the unpacking</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
<td>a destination array</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>pointers to the data planes</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>stride</code></em> :</span></p></td>
<td>strides of the planes</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>x</code></em> :</span></p></td>
<td>the x position in the image to start from</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
<td>the y position in the image to start from</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
<td>the amount of pixels to unpack.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoFormatPack"></a><h3>GstVideoFormatPack ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> (*GstVideoFormatPack) (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoPackFlags" title="enum GstVideoPackFlags"><span class="type">GstVideoPackFlags</span></a> flags</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> src</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> sstride</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> data[GST_VIDEO_MAX_PLANES]</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> stride[GST_VIDEO_MAX_PLANES]</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> chroma_site</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> y</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> width</code></em>);</pre>
<p>
Packs <em class="parameter"><code>width</code></em> pixels from <em class="parameter"><code>src</code></em> to the given planes and strides in the
format <em class="parameter"><code>info</code></em>. The pixels from source have each component interleaved
and will be packed into the planes in <em class="parameter"><code>data</code></em>.
</p>
<p>
This function operates on pack_lines lines, meaning that <em class="parameter"><code>src</code></em> should
contain at least pack_lines lines with a stride of <em class="parameter"><code>sstride</code></em> and <em class="parameter"><code>y</code></em>
should be a multiple of pack_lines.
</p>
<p>
Subsampled formats will use the horizontally cosited component in the
destination. Subsampling should be performed before packing.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td>flags to control the packing</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
<td>a source array</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>sstride</code></em> :</span></p></td>
<td>the source array stride</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>pointers to the destination data planes</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>stride</code></em> :</span></p></td>
<td>strides of the destination planes</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>chroma_site</code></em> :</span></p></td>
<td>the chroma siting of the target when subsampled (not used)</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>y</code></em> :</span></p></td>
<td>the y position in the image to pack to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
<td>the amount of pixels to pack.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-FORMAT:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_FORMAT()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_FORMAT(info) ((info)-&gt;format)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-NAME:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_NAME()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_NAME(info) ((info)-&gt;name)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-FLAGS:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_FLAGS()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_FLAGS(info) ((info)-&gt;flags)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-IS-YUV:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_IS_YUV()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_IS_YUV(info) ((info)-&gt;flags &amp; GST_VIDEO_FORMAT_FLAG_YUV)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-IS-RGB:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_IS_RGB()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_IS_RGB(info) ((info)-&gt;flags &amp; GST_VIDEO_FORMAT_FLAG_RGB)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-IS-GRAY:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_IS_GRAY()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_IS_GRAY(info) ((info)-&gt;flags &amp; GST_VIDEO_FORMAT_FLAG_GRAY)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-HAS-ALPHA:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_HAS_ALPHA()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_HAS_ALPHA(info) ((info)-&gt;flags &amp; GST_VIDEO_FORMAT_FLAG_ALPHA)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-IS-LE:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_IS_LE()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_IS_LE(info) ((info)-&gt;flags &amp; GST_VIDEO_FORMAT_FLAG_LE)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-HAS-PALETTE:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_HAS_PALETTE()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_HAS_PALETTE(info) ((info)-&gt;flags &amp; GST_VIDEO_FORMAT_FLAG_PALETTE)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-IS-COMPLEX:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_IS_COMPLEX()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_IS_COMPLEX(info) ((info)-&gt;flags &amp; GST_VIDEO_FORMAT_FLAG_COMPLEX)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-BITS:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_BITS()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_BITS(info) ((info)-&gt;bits)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-N-COMPONENTS:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_N_COMPONENTS()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_N_COMPONENTS(info) ((info)-&gt;n_components)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-SHIFT:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_SHIFT()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_SHIFT(info,c) ((info)-&gt;shift[c])
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-DEPTH:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_DEPTH()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_DEPTH(info,c) ((info)-&gt;depth[c])
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-PSTRIDE:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_PSTRIDE()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_PSTRIDE(info,c) ((info)-&gt;pixel_stride[c])
</pre>
<p>
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 &lt; 8, the stride is expressed in bits.
</p>
<p>
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.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-N-PLANES:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_N_PLANES()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_N_PLANES(info) ((info)-&gt;n_planes)
</pre>
<p>
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.
</p>
<p>
Examples: RGB/RGBx/RGBA: 1 plane, 3/3/4 components;
I420: 3 planes, 3 components; NV21/NV12: 2 planes, 3 components.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-PLANE:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_PLANE()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_PLANE(info,c) ((info)-&gt;plane[c])
</pre>
<p>
Plane number where the given component can be found. A plane may
contain data for multiple components.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-POFFSET:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_POFFSET()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_POFFSET(info,c) ((info)-&gt;poffset[c])
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-W-SUB:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_W_SUB()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_W_SUB(info,c) ((info)-&gt;w_sub[c])
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-H-SUB:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_H_SUB()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_H_SUB(info,c) ((info)-&gt;h_sub[c])
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-SUB-SCALE:CAPS"></a><h3>GST_VIDEO_SUB_SCALE()</h3>
<pre class="programlisting">#define GST_VIDEO_SUB_SCALE(scale,val) (-((-((gint)(val)))&gt;&gt;(scale)))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-SCALE-WIDTH:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_SCALE_WIDTH()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_SCALE_WIDTH(info,c,w) GST_VIDEO_SUB_SCALE ((info)-&gt;w_sub[c],(w))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-SCALE-HEIGHT:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT(info,c,h) GST_VIDEO_SUB_SCALE ((info)-&gt;h_sub[c],(h))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-DATA:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_DATA()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_DATA(info,planes,comp)</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-STRIDE:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_STRIDE()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_STRIDE(info,strides,comp) ((strides)[(info)-&gt;plane[comp]])
</pre>
<p>
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).
</p>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMAT-INFO-OFFSET:CAPS"></a><h3>GST_VIDEO_FORMAT_INFO_OFFSET()</h3>
<pre class="programlisting">#define GST_VIDEO_FORMAT_INFO_OFFSET(info,offsets,comp)</pre>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-format-from-masks"></a><h3>gst_video_format_from_masks ()</h3>
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="returnvalue">GstVideoFormat</span></a> gst_video_format_from_masks (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> depth</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> bpp</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> endianness</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> red_mask</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> green_mask</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> blue_mask</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> alpha_mask</code></em>);</pre>
<p>
Find the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> for the given parameters.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>depth</code></em> :</span></p></td>
<td>the amount of bits used for a pixel</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>bpp</code></em> :</span></p></td>
<td>the amount of bits used to store a pixel. This value is bigger than
<em class="parameter"><code>depth</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>endianness</code></em> :</span></p></td>
<td>the endianness of the masks, <a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Order-Macros.html#G-LITTLE-ENDIAN:CAPS"><span class="type">G_LITTLE_ENDIAN</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Byte-Order-Macros.html#G-BIG-ENDIAN:CAPS"><span class="type">G_BIG_ENDIAN</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>red_mask</code></em> :</span></p></td>
<td>the red mask</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>green_mask</code></em> :</span></p></td>
<td>the green mask</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>blue_mask</code></em> :</span></p></td>
<td>the blue mask</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>alpha_mask</code></em> :</span></p></td>
<td>the alpha mask, or 0 if no alpha mask</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> or GST_VIDEO_FORMAT_UNKNOWN when the parameters to
not specify a known format.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-format-from-fourcc"></a><h3>gst_video_format_from_fourcc ()</h3>
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="returnvalue">GstVideoFormat</span></a> gst_video_format_from_fourcc (<em class="parameter"><code><span class="type">guint32</span> fourcc</code></em>);</pre>
<p>
Converts a FOURCC value into the corresponding <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a>.
If the FOURCC cannot be represented by <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a>,
<a class="link" href="gst-plugins-base-libs-gstvideo.html#GST-VIDEO-FORMAT-UNKNOWN:CAPS"><span class="type">GST_VIDEO_FORMAT_UNKNOWN</span></a> is returned.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>fourcc</code></em> :</span></p></td>
<td>a FOURCC value representing raw YUV video</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> describing the FOURCC value</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-format-to-fourcc"></a><h3>gst_video_format_to_fourcc ()</h3>
<pre class="programlisting"><span class="returnvalue">guint32</span> gst_video_format_to_fourcc (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);</pre>
<p>
Converts a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> value into the corresponding FOURCC. Only
a few YUV formats have corresponding FOURCC values. If <em class="parameter"><code>format</code></em> has
no corresponding FOURCC value, 0 is returned.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> video format</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the FOURCC corresponding to <em class="parameter"><code>format</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-format-from-string"></a><h3>gst_video_format_from_string ()</h3>
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="returnvalue">GstVideoFormat</span></a> gst_video_format_from_string (<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format</code></em>);</pre>
<p>
Convert the <em class="parameter"><code>format</code></em> string to its <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>a format string</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> for <em class="parameter"><code>format</code></em> or GST_VIDEO_FORMAT_UNKNOWN when the
string is not a known format.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-format-to-string"></a><h3>gst_video_format_to_string ()</h3>
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_video_format_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);</pre>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-format-get-info"></a><h3>gst_video_format_get_info ()</h3>
<pre class="programlisting">const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="returnvalue">GstVideoFormatInfo</span></a> * gst_video_format_get_info (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>);</pre>
<p>
Get the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> for <em class="parameter"><code>format</code></em>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> for <em class="parameter"><code>format</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-SIZE-RANGE:CAPS"></a><h3>GST_VIDEO_SIZE_RANGE</h3>
<pre class="programlisting">#define GST_VIDEO_SIZE_RANGE "(int) [ 1, max ]"
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FPS-RANGE:CAPS"></a><h3>GST_VIDEO_FPS_RANGE</h3>
<pre class="programlisting">#define GST_VIDEO_FPS_RANGE "(fraction) [ 0, max ]"
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FORMATS-ALL:CAPS"></a><h3>GST_VIDEO_FORMATS_ALL</h3>
<pre class="programlisting">#define GST_VIDEO_FORMATS_ALL</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-CAPS-MAKE:CAPS"></a><h3>GST_VIDEO_CAPS_MAKE()</h3>
<pre class="programlisting">#define GST_VIDEO_CAPS_MAKE(format)</pre>
<p>
Generic caps string for video, for use in pad templates.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>string format that describes the pixel layout, as string
(e.g. "I420", "RGB", "YV12", "YUY2", "AYUV", etc.)</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoColorRange"></a><h3>enum GstVideoColorRange</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_COLOR_RANGE_UNKNOWN = 0,
GST_VIDEO_COLOR_RANGE_0_255,
GST_VIDEO_COLOR_RANGE_16_235
} GstVideoColorRange;
</pre>
<p>
Possible color range values. These constants are defined for 8 bit color
values and can be scaled for other bit depths.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-COLOR-RANGE-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_RANGE_UNKNOWN</code></span></p></td>
<td>unknown range
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-RANGE-0-255:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_RANGE_0_255</code></span></p></td>
<td>[0..255] for 8 bit components
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-RANGE-16-235:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_RANGE_16_235</code></span></p></td>
<td>[16..235] for 8 bit components. Chroma has
[16..240] range.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoColorMatrix"></a><h3>enum GstVideoColorMatrix</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_COLOR_MATRIX_UNKNOWN = 0,
GST_VIDEO_COLOR_MATRIX_RGB,
GST_VIDEO_COLOR_MATRIX_FCC,
GST_VIDEO_COLOR_MATRIX_BT709,
GST_VIDEO_COLOR_MATRIX_BT601,
GST_VIDEO_COLOR_MATRIX_SMPTE240M
} GstVideoColorMatrix;
</pre>
<p>
The color matrix is used to convert between Y'PbPr and
non-linear RGB (R'G'B')
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-COLOR-MATRIX-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_MATRIX_UNKNOWN</code></span></p></td>
<td>unknown matrix
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-MATRIX-RGB:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_MATRIX_RGB</code></span></p></td>
<td>identity matrix
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-MATRIX-FCC:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_MATRIX_FCC</code></span></p></td>
<td>FCC color matrix
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-MATRIX-BT709:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_MATRIX_BT709</code></span></p></td>
<td>ITU-R BT.709 color matrix
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-MATRIX-BT601:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_MATRIX_BT601</code></span></p></td>
<td>ITU-R BT.601 color matrix
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-MATRIX-SMPTE240M:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_MATRIX_SMPTE240M</code></span></p></td>
<td>SMPTE 240M color matrix
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoTransferFunction"></a><h3>enum GstVideoTransferFunction</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_TRANSFER_UNKNOWN = 0,
GST_VIDEO_TRANSFER_GAMMA10,
GST_VIDEO_TRANSFER_GAMMA18,
GST_VIDEO_TRANSFER_GAMMA20,
GST_VIDEO_TRANSFER_GAMMA22,
GST_VIDEO_TRANSFER_BT709,
GST_VIDEO_TRANSFER_SMPTE240M,
GST_VIDEO_TRANSFER_SRGB,
GST_VIDEO_TRANSFER_GAMMA28,
GST_VIDEO_TRANSFER_LOG100,
GST_VIDEO_TRANSFER_LOG316
} GstVideoTransferFunction;
</pre>
<p>
The video transfer function defines the formula for converting between
non-linear RGB (R'G'B') and linear RGB
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_UNKNOWN</code></span></p></td>
<td>unknown transfer function
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-GAMMA10:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_GAMMA10</code></span></p></td>
<td>linear RGB, gamma 1.0 curve
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-GAMMA18:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_GAMMA18</code></span></p></td>
<td>Gamma 1.8 curve
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-GAMMA20:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_GAMMA20</code></span></p></td>
<td>Gamma 2.0 curve
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-GAMMA22:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_GAMMA22</code></span></p></td>
<td>Gamma 2.2 curve
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-BT709:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_BT709</code></span></p></td>
<td>Gamma 2.2 curve with a linear segment in the lower
range
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-SMPTE240M:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_SMPTE240M</code></span></p></td>
<td>Gamma 2.2 curve with a linear segment in the
lower range
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-SRGB:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_SRGB</code></span></p></td>
<td>Gamma 2.4 curve with a linear segment in the lower
range
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-GAMMA28:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_GAMMA28</code></span></p></td>
<td>Gamma 2.8 curve
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-LOG100:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_LOG100</code></span></p></td>
<td>Logarithmic transfer characteristic
100:1 range
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-TRANSFER-LOG316:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_TRANSFER_LOG316</code></span></p></td>
<td>Logarithmic transfer characteristic
316.22777:1 range
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoColorPrimaries"></a><h3>enum GstVideoColorPrimaries</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_COLOR_PRIMARIES_UNKNOWN = 0,
GST_VIDEO_COLOR_PRIMARIES_BT709,
GST_VIDEO_COLOR_PRIMARIES_BT470M,
GST_VIDEO_COLOR_PRIMARIES_BT470BG,
GST_VIDEO_COLOR_PRIMARIES_SMPTE170M,
GST_VIDEO_COLOR_PRIMARIES_SMPTE240M,
GST_VIDEO_COLOR_PRIMARIES_FILM
} GstVideoColorPrimaries;
</pre>
<p>
The color primaries define the how to transform linear RGB values to and from
the CIE XYZ colorspace.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-COLOR-PRIMARIES-UNKNOWN:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_PRIMARIES_UNKNOWN</code></span></p></td>
<td>unknown color primaries
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-PRIMARIES-BT709:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_PRIMARIES_BT709</code></span></p></td>
<td>BT709 primaries
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-PRIMARIES-BT470M:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_PRIMARIES_BT470M</code></span></p></td>
<td>BT470M primaries
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-PRIMARIES-BT470BG:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_PRIMARIES_BT470BG</code></span></p></td>
<td>BT470BG primaries
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-PRIMARIES-SMPTE170M:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_PRIMARIES_SMPTE170M</code></span></p></td>
<td>SMPTE170M primaries
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-PRIMARIES-SMPTE240M:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_PRIMARIES_SMPTE240M</code></span></p></td>
<td>SMPTE240M primaries
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-COLOR-PRIMARIES-FILM:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_COLOR_PRIMARIES_FILM</code></span></p></td>
<td>Generic film
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoColorimetry"></a><h3>GstVideoColorimetry</h3>
<pre class="programlisting">typedef struct {
GstVideoColorRange range;
GstVideoColorMatrix matrix;
GstVideoTransferFunction transfer;
GstVideoColorPrimaries primaries;
} GstVideoColorimetry;
</pre>
<p>
Structure describing the color info.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorRange" title="enum GstVideoColorRange"><span class="type">GstVideoColorRange</span></a> <em class="structfield"><code><a name="GstVideoColorimetry.range"></a>range</code></em>;</span></p></td>
<td>the color range. This is the valid range for the samples.
It is used to convert the samples to Y'PbPr values.</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorMatrix" title="enum GstVideoColorMatrix"><span class="type">GstVideoColorMatrix</span></a> <em class="structfield"><code><a name="GstVideoColorimetry.matrix"></a>matrix</code></em>;</span></p></td>
<td>the color matrix. Used to convert between Y'PbPr and
non-linear RGB (R'G'B')</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoTransferFunction" title="enum GstVideoTransferFunction"><span class="type">GstVideoTransferFunction</span></a> <em class="structfield"><code><a name="GstVideoColorimetry.transfer"></a>transfer</code></em>;</span></p></td>
<td>the transfer function. used to convert between R'G'B' and RGB</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorPrimaries" title="enum GstVideoColorPrimaries"><span class="type">GstVideoColorPrimaries</span></a> <em class="structfield"><code><a name="GstVideoColorimetry.primaries"></a>primaries</code></em>;</span></p></td>
<td>color primaries. used to convert between R'G'B' and CIE XYZ</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-colorimetry-matches"></a><h3>gst_video_colorimetry_matches ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_colorimetry_matches (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *color</code></em>);</pre>
<p>
Check if the colorimetry information in <em class="parameter"><code>info</code></em> matches that of the
string <em class="parameter"><code>color</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
<td>a colorimetry string</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>color</code></em> conveys the same colorimetry info as the color
information in <em class="parameter"><code>info</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-colorimetry-from-string"></a><h3>gst_video_colorimetry_from_string ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_colorimetry_from_string (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *color</code></em>);</pre>
<p>
Parse the colorimetry string and update <em class="parameter"><code>cinfo</code></em> with the parsed
values.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cinfo</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>color</code></em> :</span></p></td>
<td>a colorimetry string</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><span class="type">TRUE</span></a> if <em class="parameter"><code>color</code></em> points to valid colorimetry info.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-colorimetry-to-string"></a><h3>gst_video_colorimetry_to_string ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> * gst_video_colorimetry_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> *cinfo</code></em>);</pre>
<p>
Make a string representation of <em class="parameter"><code>cinfo</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>cinfo</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a string representation of <em class="parameter"><code>cinfo</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-color-range-offsets"></a><h3>gst_video_color_range_offsets ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_color_range_offsets (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorRange" title="enum GstVideoColorRange"><span class="type">GstVideoColorRange</span></a> range</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> offset[GST_VIDEO_MAX_COMPONENTS]</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> scale[GST_VIDEO_MAX_COMPONENTS]</code></em>);</pre>
<p>
Compute the offset and scale values for each component of <em class="parameter"><code>info</code></em>. For each
component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the
range [0.0 .. 1.0].
</p>
<p>
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
<em class="parameter"><code>info</code></em> and <em class="parameter"><code>range</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>range</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorRange" title="enum GstVideoColorRange"><span class="type">GstVideoColorRange</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>offsets</code></em> :</span></p></td>
<td>output offsets. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>scale</code></em> :</span></p></td>
<td>output scale. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoInfo"></a><h3>struct GstVideoInfo</h3>
<pre class="programlisting">struct GstVideoInfo {
const GstVideoFormatInfo *finfo;
GstVideoInterlaceMode interlace_mode;
GstVideoFlags flags;
gint width;
gint height;
gsize size;
gint views;
GstVideoChromaSite chroma_site;
GstVideoColorimetry colorimetry;
gint par_n;
gint par_d;
gint fps_n;
gint fps_d;
gsize offset[GST_VIDEO_MAX_PLANES];
gint stride[GST_VIDEO_MAX_PLANES];
};
</pre>
<p>
Information describing image properties. This information can be filled
in from GstCaps with <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-info-from-caps" title="gst_video_info_from_caps ()"><code class="function">gst_video_info_from_caps()</code></a>. The information is also used
to store the specific video info when mapping a video frame with
<a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-map" title="gst_video_frame_map ()"><code class="function">gst_video_frame_map()</code></a>.
</p>
<p>
Use the provided macros to access the info in this structure.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormatInfo" title="struct GstVideoFormatInfo"><span class="type">GstVideoFormatInfo</span></a> *<em class="structfield"><code><a name="GstVideoInfo.finfo"></a>finfo</code></em>;</span></p></td>
<td>the format info of the video</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInterlaceMode" title="enum GstVideoInterlaceMode"><span class="type">GstVideoInterlaceMode</span></a> <em class="structfield"><code><a name="GstVideoInfo.interlace-mode"></a>interlace_mode</code></em>;</span></p></td>
<td>the interlace mode</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFlags" title="enum GstVideoFlags"><span class="type">GstVideoFlags</span></a> <em class="structfield"><code><a name="GstVideoInfo.flags"></a>flags</code></em>;</span></p></td>
<td>additional video flags</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.width"></a>width</code></em>;</span></p></td>
<td>the width of the video</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.height"></a>height</code></em>;</span></p></td>
<td>the height of the video</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GstVideoInfo.size"></a>size</code></em>;</span></p></td>
<td>the default size of one frame</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.views"></a>views</code></em>;</span></p></td>
<td>the number of views for multiview video</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a> <em class="structfield"><code><a name="GstVideoInfo.chroma-site"></a>chroma_site</code></em>;</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoChromaSite" title="enum GstVideoChromaSite"><span class="type">GstVideoChromaSite</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoColorimetry" title="GstVideoColorimetry"><span class="type">GstVideoColorimetry</span></a> <em class="structfield"><code><a name="GstVideoInfo.colorimetry"></a>colorimetry</code></em>;</span></p></td>
<td>the colorimetry info</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.par-n"></a>par_n</code></em>;</span></p></td>
<td>the pixel-aspect-ratio numerator</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.par-d"></a>par_d</code></em>;</span></p></td>
<td>the pixel-aspect-ratio demnominator</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.fps-n"></a>fps_n</code></em>;</span></p></td>
<td>the framerate numerator</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.fps-d"></a>fps_d</code></em>;</span></p></td>
<td>the framerate demnominator</td>
</tr>
<tr>
<td><p><span class="term"><span class="type">gsize</span> <em class="structfield"><code><a name="GstVideoInfo.offset"></a>offset</code></em>[GST_VIDEO_MAX_PLANES];</span></p></td>
<td>offsets of the planes</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoInfo.stride"></a>stride</code></em>[GST_VIDEO_MAX_PLANES];</span></p></td>
<td>strides of the planes</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoInterlaceMode"></a><h3>enum GstVideoInterlaceMode</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE = 0,
GST_VIDEO_INTERLACE_MODE_INTERLEAVED,
GST_VIDEO_INTERLACE_MODE_MIXED,
GST_VIDEO_INTERLACE_MODE_FIELDS
} GstVideoInterlaceMode;
</pre>
<p>
The possible values of the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInterlaceMode" title="enum GstVideoInterlaceMode"><span class="type">GstVideoInterlaceMode</span></a> describing the interlace
mode of the stream.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-INTERLACE-MODE-PROGRESSIVE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_INTERLACE_MODE_PROGRESSIVE</code></span></p></td>
<td>all frames are progressive
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-INTERLACE-MODE-INTERLEAVED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_INTERLACE_MODE_INTERLEAVED</code></span></p></td>
<td>2 fields are interleaved in one video
frame. Extra buffer flags describe the field order.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-INTERLACE-MODE-MIXED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_INTERLACE_MODE_MIXED</code></span></p></td>
<td>frames contains both interlaced and
progressive video, the buffer flags describe the frame and fields.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-INTERLACE-MODE-FIELDS:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_INTERLACE_MODE_FIELDS</code></span></p></td>
<td>2 fields are stored in one buffer, use the
frame ID to get access to the required field. For multiview (the
'views' property &gt; 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.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoFlags"></a><h3>enum GstVideoFlags</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_FLAG_NONE = 0,
GST_VIDEO_FLAG_VARIABLE_FPS = (1 &lt;&lt; 0),
GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA = (1 &lt;&lt; 1)
} GstVideoFlags;
</pre>
<p>
Extra video flags
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FLAG_NONE</code></span></p></td>
<td>no flags
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FLAG-VARIABLE-FPS:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FLAG_VARIABLE_FPS</code></span></p></td>
<td>a variable fps is selected, fps_n and fps_d
denote the maximum fps of the video
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FLAG-PREMULTIPLIED-ALPHA:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA</code></span></p></td>
<td>Each color has been scaled by the alpha
value.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-FORMAT:CAPS"></a><h3>GST_VIDEO_INFO_FORMAT()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_FORMAT(i) (GST_VIDEO_FORMAT_INFO_FORMAT((i)-&gt;finfo))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-NAME:CAPS"></a><h3>GST_VIDEO_INFO_NAME()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_NAME(i) (GST_VIDEO_FORMAT_INFO_NAME((i)-&gt;finfo))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-IS-YUV:CAPS"></a><h3>GST_VIDEO_INFO_IS_YUV()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_IS_YUV(i) (GST_VIDEO_FORMAT_INFO_IS_YUV((i)-&gt;finfo))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-IS-RGB:CAPS"></a><h3>GST_VIDEO_INFO_IS_RGB()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_IS_RGB(i) (GST_VIDEO_FORMAT_INFO_IS_RGB((i)-&gt;finfo))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-IS-GRAY:CAPS"></a><h3>GST_VIDEO_INFO_IS_GRAY()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_IS_GRAY(i) (GST_VIDEO_FORMAT_INFO_IS_GRAY((i)-&gt;finfo))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-HAS-ALPHA:CAPS"></a><h3>GST_VIDEO_INFO_HAS_ALPHA()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_HAS_ALPHA(i) (GST_VIDEO_FORMAT_INFO_HAS_ALPHA((i)-&gt;finfo))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-INTERLACE-MODE:CAPS"></a><h3>GST_VIDEO_INFO_INTERLACE_MODE()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_INTERLACE_MODE(i) ((i)-&gt;interlace_mode)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-IS-INTERLACED:CAPS"></a><h3>GST_VIDEO_INFO_IS_INTERLACED()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_IS_INTERLACED(i) ((i)-&gt;interlace_mode != GST_VIDEO_INTERLACE_MODE_PROGRESSIVE)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-FLAGS:CAPS"></a><h3>GST_VIDEO_INFO_FLAGS()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_FLAGS(i) ((i)-&gt;flags)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-WIDTH:CAPS"></a><h3>GST_VIDEO_INFO_WIDTH()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_WIDTH(i) ((i)-&gt;width)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-HEIGHT:CAPS"></a><h3>GST_VIDEO_INFO_HEIGHT()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_HEIGHT(i) ((i)-&gt;height)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-SIZE:CAPS"></a><h3>GST_VIDEO_INFO_SIZE()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_SIZE(i) ((i)-&gt;size)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-VIEWS:CAPS"></a><h3>GST_VIDEO_INFO_VIEWS()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_VIEWS(i) ((i)-&gt;views)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-PAR-N:CAPS"></a><h3>GST_VIDEO_INFO_PAR_N()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_PAR_N(i) ((i)-&gt;par_n)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-PAR-D:CAPS"></a><h3>GST_VIDEO_INFO_PAR_D()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_PAR_D(i) ((i)-&gt;par_d)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-FPS-N:CAPS"></a><h3>GST_VIDEO_INFO_FPS_N()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_FPS_N(i) ((i)-&gt;fps_n)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-FPS-D:CAPS"></a><h3>GST_VIDEO_INFO_FPS_D()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_FPS_D(i) ((i)-&gt;fps_d)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-FLAG-IS-SET:CAPS"></a><h3>GST_VIDEO_INFO_FLAG_IS_SET()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_FLAG_IS_SET(i,flag) ((GST_VIDEO_INFO_FLAGS(i) &amp; (flag)) == (flag))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-FLAG-SET:CAPS"></a><h3>GST_VIDEO_INFO_FLAG_SET()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_FLAG_SET(i,flag) (GST_VIDEO_INFO_FLAGS(i) |= (flag))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-FLAG-UNSET:CAPS"></a><h3>GST_VIDEO_INFO_FLAG_UNSET()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_FLAG_UNSET(i,flag) (GST_VIDEO_INFO_FLAGS(i) &amp;= ~(flag))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-N-PLANES:CAPS"></a><h3>GST_VIDEO_INFO_N_PLANES()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_N_PLANES(i) (GST_VIDEO_FORMAT_INFO_N_PLANES((i)-&gt;finfo))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-PLANE-OFFSET:CAPS"></a><h3>GST_VIDEO_INFO_PLANE_OFFSET()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_PLANE_OFFSET(i,p) ((i)-&gt;offset[p])
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-PLANE-STRIDE:CAPS"></a><h3>GST_VIDEO_INFO_PLANE_STRIDE()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_PLANE_STRIDE(i,p) ((i)-&gt;stride[p])
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-N-COMPONENTS:CAPS"></a><h3>GST_VIDEO_INFO_N_COMPONENTS()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_N_COMPONENTS(i) GST_VIDEO_FORMAT_INFO_N_COMPONENTS((i)-&gt;finfo)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-DEPTH:CAPS"></a><h3>GST_VIDEO_INFO_COMP_DEPTH()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_DEPTH(i,c) GST_VIDEO_FORMAT_INFO_DEPTH((i)-&gt;finfo,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-DATA:CAPS"></a><h3>GST_VIDEO_INFO_COMP_DATA()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_DATA(i,d,c) GST_VIDEO_FORMAT_INFO_DATA((i)-&gt;finfo,d,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-OFFSET:CAPS"></a><h3>GST_VIDEO_INFO_COMP_OFFSET()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_OFFSET(i,c) GST_VIDEO_FORMAT_INFO_OFFSET((i)-&gt;finfo,(i)-&gt;offset,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-STRIDE:CAPS"></a><h3>GST_VIDEO_INFO_COMP_STRIDE()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_STRIDE(i,c) GST_VIDEO_FORMAT_INFO_STRIDE((i)-&gt;finfo,(i)-&gt;stride,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-WIDTH:CAPS"></a><h3>GST_VIDEO_INFO_COMP_WIDTH()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_WIDTH(i,c) GST_VIDEO_FORMAT_INFO_SCALE_WIDTH((i)-&gt;finfo,(c),(i)-&gt;width)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-HEIGHT:CAPS"></a><h3>GST_VIDEO_INFO_COMP_HEIGHT()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_HEIGHT(i,c) GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT((i)-&gt;finfo,(c),(i)-&gt;height)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-PLANE:CAPS"></a><h3>GST_VIDEO_INFO_COMP_PLANE()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_PLANE(i,c) GST_VIDEO_FORMAT_INFO_PLANE((i)-&gt;finfo,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-PSTRIDE:CAPS"></a><h3>GST_VIDEO_INFO_COMP_PSTRIDE()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_PSTRIDE(i,c) GST_VIDEO_FORMAT_INFO_PSTRIDE((i)-&gt;finfo,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-INFO-COMP-POFFSET:CAPS"></a><h3>GST_VIDEO_INFO_COMP_POFFSET()</h3>
<pre class="programlisting">#define GST_VIDEO_INFO_COMP_POFFSET(i,c) GST_VIDEO_FORMAT_INFO_POFFSET((i)-&gt;finfo,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-info-init"></a><h3>gst_video_info_init ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_info_init (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);</pre>
<p>
Initialize <em class="parameter"><code>info</code></em> with default values.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-info-set-format"></a><h3>gst_video_info_set_format ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_info_set_format (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFormat" title="enum GstVideoFormat"><span class="type">GstVideoFormat</span></a> format</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> width</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> height</code></em>);</pre>
<p>
Set the default info for a video frame of <em class="parameter"><code>format</code></em> and <em class="parameter"><code>width</code></em> and <em class="parameter"><code>height</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>the format</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em> :</span></p></td>
<td>a width</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>height</code></em> :</span></p></td>
<td>a height</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-info-from-caps"></a><h3>gst_video_info_from_caps ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_info_from_caps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code>const <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
<p>
Parse <em class="parameter"><code>caps</code></em> and update <em class="parameter"><code>info</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if <em class="parameter"><code>caps</code></em> could be parsed</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-info-to-caps"></a><h3>gst_video_info_to_caps ()</h3>
<pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> * gst_video_info_to_caps (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>);</pre>
<p>
Convert the values of <em class="parameter"><code>info</code></em> into a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> containing the info of <em class="parameter"><code>info</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-info-convert"></a><h3>gst_video_info_convert ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_info_convert (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> src_format</code></em>,
<em class="parameter"><code><span class="type">gint64</span> src_value</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> dest_format</code></em>,
<em class="parameter"><code><span class="type">gint64</span> *dest_value</code></em>);</pre>
<p>
Converts among various <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> 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.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>src_format</code></em> :</span></p></td>
<td>
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> of the <em class="parameter"><code>src_value</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>src_value</code></em> :</span></p></td>
<td>value to convert</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest_format</code></em> :</span></p></td>
<td>
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a> of the <em class="parameter"><code>dest_value</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest_value</code></em> :</span></p></td>
<td>pointer to destination value</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if the conversion was successful.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-info-is-equal"></a><h3>gst_video_info_is_equal ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_info_is_equal (<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *other</code></em>);</pre>
<p>
Compares two <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> and returns whether they are equal or not
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>other</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>info</code></em> and <em class="parameter"><code>other</code></em> are equal, else <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-info-align"></a><h3>gst_video_info_align ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_info_align (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoAlignment" title="struct GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *align</code></em>);</pre>
<p>
Adjust the offset and stride fields in <em class="parameter"><code>info</code></em> so that the padding and
stride alignment in <em class="parameter"><code>align</code></em> is respected.
</p>
<p>
Extra padding will be added to the right side when stride alignment padding
is required and <em class="parameter"><code>align</code></em> will be updated with the new padding values.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>align</code></em> :</span></p></td>
<td>alignment parameters</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoFrame"></a><h3>struct GstVideoFrame</h3>
<pre class="programlisting">struct GstVideoFrame {
GstVideoInfo info;
GstVideoFrameFlags flags;
GstBuffer *buffer;
gpointer meta;
gint id;
gpointer data[GST_VIDEO_MAX_PLANES];
GstMapInfo map[GST_VIDEO_MAX_PLANES];
};
</pre>
<p>
A video frame obtained from <a class="link" href="gst-plugins-base-libs-gstvideo.html#gst-video-frame-map" title="gst_video_frame_map ()"><code class="function">gst_video_frame_map()</code></a>
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstVideoFrame.info"></a>info</code></em>;</span></p></td>
<td>the <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrameFlags" title="enum GstVideoFrameFlags"><span class="type">GstVideoFrameFlags</span></a> <em class="structfield"><code><a name="GstVideoFrame.flags"></a>flags</code></em>;</span></p></td>
<td></td>
</tr>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *<em class="structfield"><code><a name="GstVideoFrame.buffer"></a>buffer</code></em>;</span></p></td>
<td>the mapped buffer</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstVideoFrame.meta"></a>meta</code></em>;</span></p></td>
<td>pointer to metadata if any</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstVideoFrame.id"></a>id</code></em>;</span></p></td>
<td>id of the mapped frame. the id can for example be used to
indentify the frame in case of multiview video.</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstVideoFrame.data"></a>data</code></em>[GST_VIDEO_MAX_PLANES];</span></p></td>
<td>pointers to the plane data</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> <em class="structfield"><code><a name="GstVideoFrame.map"></a>map</code></em>[GST_VIDEO_MAX_PLANES];</span></p></td>
<td>mappings of the planes</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoFrameFlags"></a><h3>enum GstVideoFrameFlags</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_FRAME_FLAG_NONE = 0,
GST_VIDEO_FRAME_FLAG_INTERLACED = (1 &lt;&lt; 0),
GST_VIDEO_FRAME_FLAG_TFF = (1 &lt;&lt; 1),
GST_VIDEO_FRAME_FLAG_RFF = (1 &lt;&lt; 2),
GST_VIDEO_FRAME_FLAG_ONEFIELD = (1 &lt;&lt; 3)
} GstVideoFrameFlags;
</pre>
<p>
Extra video frame flags
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-FRAME-FLAG-NONE:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FRAME_FLAG_NONE</code></span></p></td>
<td>no flags
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FRAME-FLAG-INTERLACED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FRAME_FLAG_INTERLACED</code></span></p></td>
<td>The video frame is interlaced. In mixed
interlace-mode, this flags specifies if the frame is interlace or
progressive.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FRAME-FLAG-TFF:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FRAME_FLAG_TFF</code></span></p></td>
<td>The video frame has the top field first
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FRAME-FLAG-RFF:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FRAME_FLAG_RFF</code></span></p></td>
<td>The video frame has the repeat flag
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-FRAME-FLAG-ONEFIELD:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_FRAME_FLAG_ONEFIELD</code></span></p></td>
<td>The video frame has one field
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-frame-map-id"></a><h3>gst_video_frame_map_id ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_frame_map_id (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *frame</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> id</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);</pre>
<p>
Use <em class="parameter"><code>info</code></em> and <em class="parameter"><code>buffer</code></em> to fill in the values of <em class="parameter"><code>frame</code></em> with the video frame
information of frame <em class="parameter"><code>id</code></em>.
</p>
<p>
When <em class="parameter"><code>id</code></em> is -1, the default frame is mapped. When <em class="parameter"><code>id</code></em> != -1, this function
will return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> when there is no GstVideoMeta with that id.
</p>
<p>
All video planes of <em class="parameter"><code>buffer</code></em> will be mapped and the pointers will be set in
<em class="parameter"><code>frame-&gt;data</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
<td>pointer to <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>the buffer to map</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
<td>the frame id to map</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a></td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-frame-map"></a><h3>gst_video_frame_map ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_frame_map (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *frame</code></em>,
<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a> *info</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a> flags</code></em>);</pre>
<p>
Use <em class="parameter"><code>info</code></em> and <em class="parameter"><code>buffer</code></em> to fill in the values of <em class="parameter"><code>frame</code></em>.
</p>
<p>
All video planes of <em class="parameter"><code>buffer</code></em> will be mapped and the pointers will be set in
<em class="parameter"><code>frame-&gt;data</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
<td>pointer to <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>info</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoInfo" title="struct GstVideoInfo"><span class="type">GstVideoInfo</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>the buffer to map</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td>
<td><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMemory.html#GstMapFlags"><span class="type">GstMapFlags</span></a></td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-frame-unmap"></a><h3>gst_video_frame_unmap ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gst_video_frame_unmap (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *frame</code></em>);</pre>
<p>
Unmap the memory previously mapped with gst_video_frame_map.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>frame</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-frame-copy"></a><h3>gst_video_frame_copy ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_frame_copy (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *dest</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *src</code></em>);</pre>
<p>
Copy the contents from <em class="parameter"><code>src</code></em> to <em class="parameter"><code>dest</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if the contents could be copied.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-video-frame-copy-plane"></a><h3>gst_video_frame_copy_plane ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gst_video_frame_copy_plane (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *dest</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a> *src</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> plane</code></em>);</pre>
<p>
Copy the plane with index <em class="parameter"><code>plane</code></em> from <em class="parameter"><code>src</code></em> to <em class="parameter"><code>dest</code></em>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>dest</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>src</code></em> :</span></p></td>
<td>a <a class="link" href="gst-plugins-base-libs-gstvideo.html#GstVideoFrame" title="struct GstVideoFrame"><span class="type">GstVideoFrame</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>plane</code></em> :</span></p></td>
<td>a plane</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>TRUE if the contents could be copied.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-FORMAT:CAPS"></a><h3>GST_VIDEO_FRAME_FORMAT()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_FORMAT(f) (GST_VIDEO_INFO_FORMAT(&amp;(f)-&gt;info))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-WIDTH:CAPS"></a><h3>GST_VIDEO_FRAME_WIDTH()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_WIDTH(f) (GST_VIDEO_INFO_WIDTH(&amp;(f)-&gt;info))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-HEIGHT:CAPS"></a><h3>GST_VIDEO_FRAME_HEIGHT()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_HEIGHT(f) (GST_VIDEO_INFO_HEIGHT(&amp;(f)-&gt;info))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-SIZE:CAPS"></a><h3>GST_VIDEO_FRAME_SIZE()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_SIZE(f) (GST_VIDEO_INFO_SIZE(&amp;(f)-&gt;info))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-FLAGS:CAPS"></a><h3>GST_VIDEO_FRAME_FLAGS()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_FLAGS(f) ((f)-&gt;flags)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-FLAG-IS-SET:CAPS"></a><h3>GST_VIDEO_FRAME_FLAG_IS_SET()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_FLAG_IS_SET(f,fl) ((GST_VIDEO_FRAME_FLAGS(f) &amp; (fl)) == (fl))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-IS-INTERLACED:CAPS"></a><h3>GST_VIDEO_FRAME_IS_INTERLACED()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_IS_INTERLACED(f) (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_INTERLACED))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-IS-TFF:CAPS"></a><h3>GST_VIDEO_FRAME_IS_TFF()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_IS_TFF(f) (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_TFF))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-IS-RFF:CAPS"></a><h3>GST_VIDEO_FRAME_IS_RFF()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_IS_RFF(f) (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_RFF))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-IS-ONEFIELD:CAPS"></a><h3>GST_VIDEO_FRAME_IS_ONEFIELD()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_IS_ONEFIELD(f) (GST_VIDEO_FRAME_FLAG_IS_SET(f, GST_VIDEO_FRAME_FLAG_ONEFIELD))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-N-PLANES:CAPS"></a><h3>GST_VIDEO_FRAME_N_PLANES()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_N_PLANES(f) (GST_VIDEO_INFO_N_PLANES(&amp;(f)-&gt;info))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-PLANE-DATA:CAPS"></a><h3>GST_VIDEO_FRAME_PLANE_DATA()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_PLANE_DATA(f,p) ((f)-&gt;data[p])
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-PLANE-OFFSET:CAPS"></a><h3>GST_VIDEO_FRAME_PLANE_OFFSET()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_PLANE_OFFSET(f,p) (GST_VIDEO_INFO_PLANE_OFFSET(&amp;(f)-&gt;info,(p)))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-PLANE-STRIDE:CAPS"></a><h3>GST_VIDEO_FRAME_PLANE_STRIDE()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_PLANE_STRIDE(f,p) (GST_VIDEO_INFO_PLANE_STRIDE(&amp;(f)-&gt;info,(p)))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-N-COMPONENTS:CAPS"></a><h3>GST_VIDEO_FRAME_N_COMPONENTS()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_N_COMPONENTS(f) GST_VIDEO_INFO_N_COMPONENTS(&amp;(f)-&gt;info)
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-DEPTH:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_DEPTH()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_DEPTH(f,c) GST_VIDEO_INFO_COMP_DEPTH(&amp;(f)-&gt;info,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-DATA:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_DATA()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_DATA(f,c) GST_VIDEO_INFO_COMP_DATA(&amp;(f)-&gt;info,(f)-&gt;data,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-STRIDE:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_STRIDE()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_STRIDE(f,c) GST_VIDEO_INFO_COMP_STRIDE(&amp;(f)-&gt;info,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-OFFSET:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_OFFSET()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_OFFSET(f,c) GST_VIDEO_INFO_COMP_OFFSET(&amp;(f)-&gt;info,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-WIDTH:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_WIDTH()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_WIDTH(f,c) GST_VIDEO_INFO_COMP_WIDTH(&amp;(f)-&gt;info,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-HEIGHT:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_HEIGHT()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_HEIGHT(f,c) GST_VIDEO_INFO_COMP_HEIGHT(&amp;(f)-&gt;info,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-PLANE:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_PLANE()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_PLANE(f,c) GST_VIDEO_INFO_COMP_PLANE(&amp;(f)-&gt;info,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-PSTRIDE:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_PSTRIDE()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_PSTRIDE(f,c) GST_VIDEO_INFO_COMP_PSTRIDE(&amp;(f)-&gt;info,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GST-VIDEO-FRAME-COMP-POFFSET:CAPS"></a><h3>GST_VIDEO_FRAME_COMP_POFFSET()</h3>
<pre class="programlisting">#define GST_VIDEO_FRAME_COMP_POFFSET(f,c) GST_VIDEO_INFO_COMP_POFFSET(&amp;(f)-&gt;info,(c))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="GstVideoBufferFlags"></a><h3>enum GstVideoBufferFlags</h3>
<pre class="programlisting">typedef enum {
GST_VIDEO_BUFFER_FLAG_INTERLACED = (GST_BUFFER_FLAG_LAST &lt;&lt; 0),
GST_VIDEO_BUFFER_FLAG_TFF = (GST_BUFFER_FLAG_LAST &lt;&lt; 1),
GST_VIDEO_BUFFER_FLAG_RFF = (GST_BUFFER_FLAG_LAST &lt;&lt; 2),
GST_VIDEO_BUFFER_FLAG_ONEFIELD = (GST_BUFFER_FLAG_LAST &lt;&lt; 3),
GST_VIDEO_BUFFER_FLAG_LAST = (GST_BUFFER_FLAG_LAST &lt;&lt; 8)
} GstVideoBufferFlags;
</pre>
<p>
Additional video buffer flags.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><a name="GST-VIDEO-BUFFER-FLAG-INTERLACED:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_BUFFER_FLAG_INTERLACED</code></span></p></td>
<td>If the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> is interlaced. In mixed
interlace-mode, this flags specifies if the frame is
interlaced or progressive.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-BUFFER-FLAG-TFF:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_BUFFER_FLAG_TFF</code></span></p></td>
<td>If the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> is interlaced, then the first field
in the video frame is the top field. If unset, the
bottom field is first.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-BUFFER-FLAG-RFF:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_BUFFER_FLAG_RFF</code></span></p></td>
<td>If the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> is interlaced, then the first field
(as defined by the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-TFF:CAPS"><code class="literal">GST_VIDEO_BUFFER_TFF</code></a> flag setting)
is repeated.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-BUFFER-FLAG-ONEFIELD:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_BUFFER_FLAG_ONEFIELD</code></span></p></td>
<td>If the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> is interlaced, then only the
first field (as defined by the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideo.html#GST-VIDEO-BUFFER-TFF:CAPS"><code class="literal">GST_VIDEO_BUFFER_TFF</code></a>
flag setting) is to be displayed.
</td>
</tr>
<tr>
<td><p><a name="GST-VIDEO-BUFFER-FLAG-LAST:CAPS"></a><span class="term"><code class="literal">GST_VIDEO_BUFFER_FLAG_LAST</code></span></p></td>
<td></td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.18</div>
</body>
</html>