Sophie

Sophie

distrib > Mageia > 6 > armv7hl > by-pkgid > b4d0ffc838646a67b3dd59a6006ff212 > files > 70

libgavl-devel-1.4.0-7.mga6.armv7hl.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>gavl: Image transformation</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">gavl
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Image transformation<div class="ingroups"><a class="el" href="group__video.html">Video</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga3120d630e0d9e646dec2d0339cc4ea84"><td class="memItemLeft" align="right" valign="top">typedef struct gavl_image_transform_s&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a></td></tr>
<tr class="memdesc:ga3120d630e0d9e646dec2d0339cc4ea84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque image transformation engine.  <a href="#ga3120d630e0d9e646dec2d0339cc4ea84">More...</a><br /></td></tr>
<tr class="separator:ga3120d630e0d9e646dec2d0339cc4ea84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa66ee8821c81e631af898cd196920a1b"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__transform.html#gaa66ee8821c81e631af898cd196920a1b">gavl_image_transform_func</a>) (void *priv, double xdst, double ydst, double *xsrc, double *ysrc)</td></tr>
<tr class="memdesc:gaa66ee8821c81e631af898cd196920a1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function describing the method.  <a href="#gaa66ee8821c81e631af898cd196920a1b">More...</a><br /></td></tr>
<tr class="separator:gaa66ee8821c81e631af898cd196920a1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gafbfafaba59871814fffd576c14182f63"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__transform.html#gafbfafaba59871814fffd576c14182f63">gavl_image_transform_create</a> ()</td></tr>
<tr class="memdesc:gafbfafaba59871814fffd576c14182f63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a transformation engine.  <a href="#gafbfafaba59871814fffd576c14182f63">More...</a><br /></td></tr>
<tr class="separator:gafbfafaba59871814fffd576c14182f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0951eeb569f7adebc2354336e54ca0c8"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__transform.html#ga0951eeb569f7adebc2354336e54ca0c8">gavl_image_transform_destroy</a> (<a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *t)</td></tr>
<tr class="memdesc:ga0951eeb569f7adebc2354336e54ca0c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a transformation engine.  <a href="#ga0951eeb569f7adebc2354336e54ca0c8">More...</a><br /></td></tr>
<tr class="separator:ga0951eeb569f7adebc2354336e54ca0c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1750362e810cd5b9c1c7f896425ee3da"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__transform.html#ga1750362e810cd5b9c1c7f896425ee3da">gavl_image_transform_init</a> (<a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *t, <a class="el" href="group__video__format.html#ga0ffc9c60fb71a5fb835e453531fd442c">gavl_video_format_t</a> *format, <a class="el" href="group__video__transform.html#gaa66ee8821c81e631af898cd196920a1b">gavl_image_transform_func</a> func, void *priv)</td></tr>
<tr class="memdesc:ga1750362e810cd5b9c1c7f896425ee3da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize a transformation engine.  <a href="#ga1750362e810cd5b9c1c7f896425ee3da">More...</a><br /></td></tr>
<tr class="separator:ga1750362e810cd5b9c1c7f896425ee3da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa9cc51e17e44df2aa690f809154efa4"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__transform.html#gaaa9cc51e17e44df2aa690f809154efa4">gavl_image_transform_transform</a> (<a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *t, <a class="el" href="structgavl__video__frame__t.html">gavl_video_frame_t</a> *in_frame, <a class="el" href="structgavl__video__frame__t.html">gavl_video_frame_t</a> *out_frame)</td></tr>
<tr class="memdesc:gaaa9cc51e17e44df2aa690f809154efa4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform an image.  <a href="#gaaa9cc51e17e44df2aa690f809154efa4">More...</a><br /></td></tr>
<tr class="separator:gaaa9cc51e17e44df2aa690f809154efa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e9c5da19cd723c731fb000e06c48413"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <a class="el" href="group__video__options.html#ga661526ac8e31c3a162f8607c2bcda6ee">gavl_video_options_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__video__transform.html#ga1e9c5da19cd723c731fb000e06c48413">gavl_image_transform_get_options</a> (<a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *t)</td></tr>
<tr class="memdesc:ga1e9c5da19cd723c731fb000e06c48413"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get transformation options.  <a href="#ga1e9c5da19cd723c731fb000e06c48413">More...</a><br /></td></tr>
<tr class="separator:ga1e9c5da19cd723c731fb000e06c48413"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>gavl includes a generic image transformation engine. You pass a function pointer to the init function, which transforms the destination coordinates into source coordinates.</p>
<p>The interpolation method is set with <a class="el" href="group__video__options.html#ga48a1e385dc969adb7ae7a559ff90eda5">gavl_video_options_set_scale_mode</a>, but not all modes are supported. When initialized with an invalid scale mode, the transformation engine will silently choose the closest one. </p>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga3120d630e0d9e646dec2d0339cc4ea84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3120d630e0d9e646dec2d0339cc4ea84">&sect;&nbsp;</a></span>gavl_image_transform_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct gavl_image_transform_s <a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Opaque image transformation engine. </p>
<p>You don't want to know what's inside. </p>

</div>
</div>
<a id="gaa66ee8821c81e631af898cd196920a1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa66ee8821c81e631af898cd196920a1b">&sect;&nbsp;</a></span>gavl_image_transform_func</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* gavl_image_transform_func) (void *priv, double xdst, double ydst, double *xsrc, double *ysrc)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function describing the method. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">priv</td><td>User data </td></tr>
    <tr><td class="paramname">xdst</td><td>X-coordinate of the destination </td></tr>
    <tr><td class="paramname">ydst</td><td>Y-coordinate of the destination </td></tr>
    <tr><td class="paramname">xsrc</td><td>Returns X-coordinate of the source </td></tr>
    <tr><td class="paramname">ysrc</td><td>Returns Y-coordinate of the source</td></tr>
  </table>
  </dd>
</dl>
<p>All coordinates are in fractional pixels. 0,0 is the upper left corner. Return negative values or values larger than the dimesion to signal that a pixel is outside the source image. </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gafbfafaba59871814fffd576c14182f63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafbfafaba59871814fffd576c14182f63">&sect;&nbsp;</a></span>gavl_image_transform_create()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC <a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a>* gavl_image_transform_create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a transformation engine. </p>
<dl class="section return"><dt>Returns</dt><dd>A newly allocated transformation engine</dd></dl>
<p>Since 1.1.0. </p>

</div>
</div>
<a id="ga0951eeb569f7adebc2354336e54ca0c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0951eeb569f7adebc2354336e54ca0c8">&sect;&nbsp;</a></span>gavl_image_transform_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_image_transform_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy a transformation engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>A transformation engine Since 1.1.0. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga1750362e810cd5b9c1c7f896425ee3da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1750362e810cd5b9c1c7f896425ee3da">&sect;&nbsp;</a></span>gavl_image_transform_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC int gavl_image_transform_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__video__format.html#ga0ffc9c60fb71a5fb835e453531fd442c">gavl_video_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__video__transform.html#gaa66ee8821c81e631af898cd196920a1b">gavl_image_transform_func</a>&#160;</td>
          <td class="paramname"><em>func</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>priv</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize a transformation engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>A transformation engine </td></tr>
    <tr><td class="paramname">format</td><td>Format (can be changed) </td></tr>
    <tr><td class="paramname">func</td><td>Coordinate transform function </td></tr>
    <tr><td class="paramname">priv</td><td>The priv argument for func </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if the transform was sucessfully initialized, 0 else.</dd></dl>
<p>If you enabled multithreading support, func will be called from multiple threads at the same time. Make sure, that it doesn't access any global data.</p>
<p>Return type was changed from void to in in version 1.1.2 Under normal circumstances, this function always returns 1.</p>
<p>Since 1.1.0. </p>

</div>
</div>
<a id="gaaa9cc51e17e44df2aa690f809154efa4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaa9cc51e17e44df2aa690f809154efa4">&sect;&nbsp;</a></span>gavl_image_transform_transform()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_image_transform_transform </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgavl__video__frame__t.html">gavl_video_frame_t</a> *&#160;</td>
          <td class="paramname"><em>in_frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgavl__video__frame__t.html">gavl_video_frame_t</a> *&#160;</td>
          <td class="paramname"><em>out_frame</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transform an image. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>A transformation engine </td></tr>
    <tr><td class="paramname">in_frame</td><td>Input frame </td></tr>
    <tr><td class="paramname">out_frame</td><td>Output frame Since 1.1.0. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga1e9c5da19cd723c731fb000e06c48413"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1e9c5da19cd723c731fb000e06c48413">&sect;&nbsp;</a></span>gavl_image_transform_get_options()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC <a class="el" href="group__video__options.html#ga661526ac8e31c3a162f8607c2bcda6ee">gavl_video_options_t</a>* gavl_image_transform_get_options </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__video__transform.html#ga3120d630e0d9e646dec2d0339cc4ea84">gavl_image_transform_t</a> *&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get transformation options. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>A transformation engine </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Options</dd></dl>
<p>After you called this, you can use the gavl_video_options_set_*() functions to change the options. Options will become valid with the next call to <a class="el" href="group__video__transform.html#ga1750362e810cd5b9c1c7f896425ee3da">gavl_image_transform_init</a>.</p>
<p>Since 1.1.0. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>