| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>videobox: GStreamer Good Plugins 1.0 Plugins Reference Manual</title> |
| <meta name="generator" content="DocBook XSL Stylesheets V1.78.1"> |
| <link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual"> |
| <link rel="up" href="ch01.html" title="gst-plugins-good Elements"> |
| <link rel="prev" href="gst-plugins-good-plugins-videobalance.html" title="videobalance"> |
| <link rel="next" href="gst-plugins-good-plugins-videocrop.html" title="videocrop"> |
| <meta name="generator" content="GTK-Doc V1.24 (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="5"><tr valign="middle"> |
| <td width="100%" align="left" class="shortcuts"> |
| <a href="#" class="shortcut">Top</a><span id="nav_description"> <span class="dim">|</span> |
| <a href="#gst-plugins-good-plugins-videobox.description" class="shortcut">Description</a></span><span id="nav_hierarchy"> <span class="dim">|</span> |
| <a href="#gst-plugins-good-plugins-videobox.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties"> <span class="dim">|</span> |
| <a href="#gst-plugins-good-plugins-videobox.properties" class="shortcut">Properties</a></span> |
| </td> |
| <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td> |
| <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td> |
| <td><a accesskey="p" href="gst-plugins-good-plugins-videobalance.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td> |
| <td><a accesskey="n" href="gst-plugins-good-plugins-videocrop.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td> |
| </tr></table> |
| <div class="refentry"> |
| <a name="gst-plugins-good-plugins-videobox"></a><div class="titlepage"></div> |
| <div class="refnamediv"><table width="100%"><tr> |
| <td valign="top"> |
| <h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-videobox.top_of_page"></a>videobox</span></h2> |
| <p>videobox — Resizes a video by adding borders or cropping</p> |
| </td> |
| <td class="gallery_image" valign="top" align="right"></td> |
| </tr></table></div> |
| <div class="refsect1"> |
| <a name="gst-plugins-good-plugins-videobox.properties"></a><h2>Properties</h2> |
| <div class="informaltable"><table border="0"> |
| <colgroup> |
| <col width="150px" class="properties_type"> |
| <col width="300px" class="properties_name"> |
| <col width="200px" class="properties_flags"> |
| </colgroup> |
| <tbody> |
| <tr> |
| <td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></td> |
| <td class="property_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox--alpha" title="The “alpha” property">alpha</a></td> |
| <td class="property_flags">Read / Write</td> |
| </tr> |
| <tr> |
| <td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></td> |
| <td class="property_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox--border-alpha" title="The “border-alpha” property">border-alpha</a></td> |
| <td class="property_flags">Read / Write</td> |
| </tr> |
| <tr> |
| <td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> |
| <td class="property_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox--bottom" title="The “bottom” property">bottom</a></td> |
| <td class="property_flags">Read / Write</td> |
| </tr> |
| <tr> |
| <td class="property_type"><span class="type">GstVideoBoxFill</span></td> |
| <td class="property_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox--fill" title="The “fill” property">fill</a></td> |
| <td class="property_flags">Read / Write</td> |
| </tr> |
| <tr> |
| <td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> |
| <td class="property_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox--left" title="The “left” property">left</a></td> |
| <td class="property_flags">Read / Write</td> |
| </tr> |
| <tr> |
| <td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> |
| <td class="property_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox--right" title="The “right” property">right</a></td> |
| <td class="property_flags">Read / Write</td> |
| </tr> |
| <tr> |
| <td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></td> |
| <td class="property_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox--top" title="The “top” property">top</a></td> |
| <td class="property_flags">Read / Write</td> |
| </tr> |
| <tr> |
| <td class="property_type"><a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td> |
| <td class="property_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox--autocrop" title="The “autocrop” property">autocrop</a></td> |
| <td class="property_flags">Read / Write</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <a name="GstVideoBox"></a><div class="refsect1"> |
| <a name="gst-plugins-good-plugins-videobox.other"></a><h2>Types and Values</h2> |
| <div class="informaltable"><table width="100%" border="0"> |
| <colgroup> |
| <col width="150px" class="name"> |
| <col class="description"> |
| </colgroup> |
| <tbody><tr> |
| <td class="datatype_keyword">struct</td> |
| <td class="function_name"><a class="link" href="gst-plugins-good-plugins-videobox.html#GstVideoBox-struct" title="struct GstVideoBox">GstVideoBox</a></td> |
| </tr></tbody> |
| </table></div> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-good-plugins-videobox.object-hierarchy"></a><h2>Object Hierarchy</h2> |
| <pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a> |
| <span class="lineart">╰──</span> <a href="https://developer.gnome.org/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a> |
| <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a> |
| <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a> |
| <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a> |
| <span class="lineart">╰──</span> <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstvideofilter.html#GstVideoFilter">GstVideoFilter</a> |
| <span class="lineart">╰──</span> GstVideoBox |
| </pre> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-good-plugins-videobox.description"></a><h2>Description</h2> |
| <p>This plugin crops or enlarges the image. It takes 4 values as input, a |
| top, bottom, left and right offset. Positive values will crop that much |
| pixels from the respective border of the image, negative values will add |
| that much pixels. When pixels are added, you can specify their color. |
| Some predefined colors are usable with an enum property.</p> |
| <p>The plugin is alpha channel aware and will try to negotiate with a format |
| that supports alpha channels first. When alpha channel is active two |
| other properties, alpha and border_alpha can be used to set the alpha |
| values of the inner picture and the border respectively. an alpha value of |
| 0.0 means total transparency, 1.0 is opaque.</p> |
| <p>The videobox plugin has many uses such as doing a mosaic of pictures, |
| letterboxing video, cutting out pieces of video, picture in picture, etc..</p> |
| <p>Setting autocrop to true changes the behavior of the plugin so that |
| caps determine crop properties rather than the other way around: given |
| input and output dimensions, the crop values are selected so that the |
| smaller frame is effectively centered in the larger frame. This |
| involves either cropping or padding.</p> |
| <p>If you use autocrop there is little point in setting the other |
| properties manually because they will be overriden if the caps change, |
| but nothing stops you from doing so.</p> |
| <p>Sample pipeline:</p> |
| <div class="informalexample"> |
| <table class="listing_frame" border="0" cellpadding="0" cellspacing="0"> |
| <tbody> |
| <tr> |
| <td class="listing_lines" align="right"><pre>1 |
| 2</pre></td> |
| <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> videotestsrc <span class="gtkdoc opt">!</span> videobox autocrop<span class="gtkdoc opt">=</span><span class="keyword">true</span> <span class="gtkdoc opt">!</span> \ |
| <span class="string">"video/x-raw, width=600, height=400"</span> <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> ximagesink</pre></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| |
| <div class="refsynopsisdiv"> |
| <h2>Synopsis</h2> |
| <div class="refsect2"> |
| <a name="id-1.2.157.7.9.1.1"></a><h3>Element Information</h3> |
| <div class="variablelist"><table border="0" class="variablelist"> |
| <colgroup> |
| <col align="left" valign="top"> |
| <col> |
| </colgroup> |
| <tbody> |
| <tr> |
| <td><p><span class="term">plugin</span></p></td> |
| <td> |
| <a class="link" href="gst-plugins-good-plugins-plugin-videobox.html#plugin-videobox">videobox</a> |
| </td> |
| </tr> |
| <tr> |
| <td><p><span class="term">author</span></p></td> |
| <td>Wim Taymans <wim@fluendo.com></td> |
| </tr> |
| <tr> |
| <td><p><span class="term">class</span></p></td> |
| <td>Filter/Effect/Video</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="id-1.2.157.7.9.1.2"></a><h3>Element Pads</h3> |
| <div class="variablelist"><table border="0" class="variablelist"> |
| <colgroup> |
| <col align="left" valign="top"> |
| <col> |
| </colgroup> |
| <tbody> |
| <tr> |
| <td><p><span class="term">name</span></p></td> |
| <td>sink</td> |
| </tr> |
| <tr> |
| <td><p><span class="term">direction</span></p></td> |
| <td>sink</td> |
| </tr> |
| <tr> |
| <td><p><span class="term">presence</span></p></td> |
| <td>always</td> |
| </tr> |
| <tr> |
| <td><p><span class="term">details</span></p></td> |
| <td>video/x-raw, format=(string){ AYUV, ARGB, BGRA, ABGR, RGBA, xRGB, BGRx, xBGR, RGBx, RGB, BGR, Y444, Y42B, YUY2, YVYU, UYVY, I420, YV12, Y41B, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> |
| </tr> |
| </tbody> |
| </table></div> |
| <div class="variablelist"><table border="0" class="variablelist"> |
| <colgroup> |
| <col align="left" valign="top"> |
| <col> |
| </colgroup> |
| <tbody> |
| <tr> |
| <td><p><span class="term">name</span></p></td> |
| <td>src</td> |
| </tr> |
| <tr> |
| <td><p><span class="term">direction</span></p></td> |
| <td>source</td> |
| </tr> |
| <tr> |
| <td><p><span class="term">presence</span></p></td> |
| <td>always</td> |
| </tr> |
| <tr> |
| <td><p><span class="term">details</span></p></td> |
| <td>video/x-raw, format=(string){ AYUV, ARGB, BGRA, ABGR, RGBA, xRGB, BGRx, xBGR, RGBx, RGB, BGR, Y444, Y42B, YUY2, YVYU, UYVY, I420, YV12, Y41B, GRAY8, GRAY16_BE, GRAY16_LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td> |
| </tr> |
| </tbody> |
| </table></div> |
| </div> |
| </div> |
| <p> |
| </p> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-good-plugins-videobox.functions_details"></a><h2>Functions</h2> |
| <p></p> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-good-plugins-videobox.other_details"></a><h2>Types and Values</h2> |
| <div class="refsect2"> |
| <a name="GstVideoBox-struct"></a><h3>struct GstVideoBox</h3> |
| <pre class="programlisting">struct GstVideoBox;</pre> |
| <p> |
| </p> |
| </div> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-good-plugins-videobox.property-details"></a><h2>Property Details</h2> |
| <div class="refsect2"> |
| <a name="GstVideoBox--alpha"></a><h3>The <code class="literal">“alpha”</code> property</h3> |
| <pre class="programlisting"> “alpha” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre> |
| <p>Alpha value picture.</p> |
| <p>Flags: Read / Write</p> |
| <p>Allowed values: [0,1]</p> |
| <p>Default value: 1</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstVideoBox--border-alpha"></a><h3>The <code class="literal">“border-alpha”</code> property</h3> |
| <pre class="programlisting"> “border-alpha” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre> |
| <p>Alpha value of the border.</p> |
| <p>Flags: Read / Write</p> |
| <p>Allowed values: [0,1]</p> |
| <p>Default value: 1</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstVideoBox--bottom"></a><h3>The <code class="literal">“bottom”</code> property</h3> |
| <pre class="programlisting"> “bottom” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> |
| <p>Pixels to box at bottom (<0 = add a border).</p> |
| <p>Flags: Read / Write</p> |
| <p>Default value: 0</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstVideoBox--fill"></a><h3>The <code class="literal">“fill”</code> property</h3> |
| <pre class="programlisting"> “fill” <span class="type">GstVideoBoxFill</span></pre> |
| <p>How to fill the borders.</p> |
| <p>Flags: Read / Write</p> |
| <p>Default value: Black</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstVideoBox--left"></a><h3>The <code class="literal">“left”</code> property</h3> |
| <pre class="programlisting"> “left” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> |
| <p>Pixels to box at left (<0 = add a border).</p> |
| <p>Flags: Read / Write</p> |
| <p>Default value: 0</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstVideoBox--right"></a><h3>The <code class="literal">“right”</code> property</h3> |
| <pre class="programlisting"> “right” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> |
| <p>Pixels to box at right (<0 = add a border).</p> |
| <p>Flags: Read / Write</p> |
| <p>Default value: 0</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstVideoBox--top"></a><h3>The <code class="literal">“top”</code> property</h3> |
| <pre class="programlisting"> “top” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a></pre> |
| <p>Pixels to box at top (<0 = add a border).</p> |
| <p>Flags: Read / Write</p> |
| <p>Default value: 0</p> |
| </div> |
| <hr> |
| <div class="refsect2"> |
| <a name="GstVideoBox--autocrop"></a><h3>The <code class="literal">“autocrop”</code> property</h3> |
| <pre class="programlisting"> “autocrop” <a href="https://developer.gnome.org/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre> |
| <p>If set to <a href="https://developer.gnome.org/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> videobox will automatically crop/pad the input |
| video to be centered in the output.</p> |
| <p>Flags: Read / Write</p> |
| <p>Default value: FALSE</p> |
| </div> |
| </div> |
| <div class="refsect1"> |
| <a name="gst-plugins-good-plugins-videobox.see-also"></a><h2>See Also</h2> |
| <p><a class="link" href="gst-plugins-good-plugins-videocrop.html#GstVideoCrop"><span class="type">GstVideoCrop</span></a></p> |
| </div> |
| </div> |
| <div class="footer"> |
| <hr>Generated by GTK-Doc V1.24</div> |
| </body> |
| </html> |