openjpeg/doxygen/imgreg__manager_8c.html

400 lines
21 KiB
HTML

<!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.10"/>
<title>OpenJPEG: imgreg_manager.c File Reference</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">OpenJPEG
&#160;<span id="projectnumber">2.2.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.10 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d522931ffa1371640980b621734a4381.html">Users</a></li><li class="navelem"><a class="el" href="dir_694e20c96f4fc1be4aed4f026eadce94.html">antonin</a></li><li class="navelem"><a class="el" href="dir_3ca1ad36e65e03f9e8d67ddc2553765b.html">dev</a></li><li class="navelem"><a class="el" href="dir_181a881edfcb8646dab693a228fa6bde.html">opj</a></li><li class="navelem"><a class="el" href="dir_5064bb5511811c3176850b7e47443f14.html">github</a></li><li class="navelem"><a class="el" href="dir_0b20524d8f8835ca75acc430451c8412.html">openjpeg</a></li><li class="navelem"><a class="el" href="dir_e3f8a8e294f8271ee71cbcf3c2acacc1.html">src</a></li><li class="navelem"><a class="el" href="dir_da83fe5fdfb6c4554d36abffc03790ad.html">lib</a></li><li class="navelem"><a class="el" href="dir_6ec2d9a1b37a1187cc46aeaf3b19e1b3.html">openjpip</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">imgreg_manager.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;math.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;assert.h&gt;</code><br />
<code>#include &quot;<a class="el" href="imgreg__manager_8h_source.html">imgreg_manager.h</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ac322e421aefb8ec9ccc10bef953e3d82"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="imgreg__manager_8c.html#ac322e421aefb8ec9ccc10bef953e3d82">FCGI_stdout</a>&#160;&#160;&#160;stdout</td></tr>
<tr class="separator:ac322e421aefb8ec9ccc10bef953e3d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77b5d5af2adb2cfa7ec785b592fc4074"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="imgreg__manager_8c.html#a77b5d5af2adb2cfa7ec785b592fc4074">FCGI_stderr</a>&#160;&#160;&#160;stderr</td></tr>
<tr class="separator:a77b5d5af2adb2cfa7ec785b592fc4074"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31c99676da88bb0bcdb350710f00fa96"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="imgreg__manager_8c.html#a31c99676da88bb0bcdb350710f00fa96">logstream</a>&#160;&#160;&#160;stderr</td></tr>
<tr class="separator:a31c99676da88bb0bcdb350710f00fa96"><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:ac83fd8389ce9eca05c6d3fb5c4fa7eb9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="imgreg__manager_8h.html#aa104d6fd0c3b1311f772453770e59ca1">imgreg_param_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="imgreg__manager_8c.html#ac83fd8389ce9eca05c6d3fb5c4fa7eb9">map_viewin2imgreg</a> (const int fx, const int fy, const int rx, const int ry, const int rw, const int rh, const int XOsiz, const int YOsiz, const int Xsiz, const int Ysiz, const int numOfreslev)</td></tr>
<tr class="memdesc:ac83fd8389ce9eca05c6d3fb5c4fa7eb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">map view-window requests to codestream image resolutions and regions <a href="#ac83fd8389ce9eca05c6d3fb5c4fa7eb9">More...</a><br /></td></tr>
<tr class="separator:ac83fd8389ce9eca05c6d3fb5c4fa7eb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b2a9e891d8b82cdab95b513ba7af3c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="imgreg__manager_8c.html#a45b2a9e891d8b82cdab95b513ba7af3c">find_level</a> (int maxlev, int *lev, int *fx, int *fy, int *xmin, int *ymin, int *xmax, int *ymax)</td></tr>
<tr class="memdesc:a45b2a9e891d8b82cdab95b513ba7af3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">find deconposition level and its resolution size C.4.1 Mapping view-window requests to codestream image resolution and regions Note: only round-down implemented <a href="#a45b2a9e891d8b82cdab95b513ba7af3c">More...</a><br /></td></tr>
<tr class="separator:a45b2a9e891d8b82cdab95b513ba7af3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9ee71088d3e692543a29baa73d5d00b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="imgreg__manager_8c.html#ab9ee71088d3e692543a29baa73d5d00b">comp_decomplev</a> (int fw, int fh, int Xsiz, int Ysiz)</td></tr>
<tr class="memdesc:ab9ee71088d3e692543a29baa73d5d00b"><td class="mdescLeft">&#160;</td><td class="mdescRight">compute decomposition level (only to get the level use find_level for all parameters <a href="#ab9ee71088d3e692543a29baa73d5d00b">More...</a><br /></td></tr>
<tr class="separator:ab9ee71088d3e692543a29baa73d5d00b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8e1929b71a5fd24be686173988b4b39"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="imgreg__manager_8c.html#aa8e1929b71a5fd24be686173988b4b39">print_imgreg</a> (<a class="el" href="imgreg__manager_8h.html#aa104d6fd0c3b1311f772453770e59ca1">imgreg_param_t</a> imgreg)</td></tr>
<tr class="memdesc:aa8e1929b71a5fd24be686173988b4b39"><td class="mdescLeft">&#160;</td><td class="mdescRight">print image region parameters <a href="#aa8e1929b71a5fd24be686173988b4b39">More...</a><br /></td></tr>
<tr class="separator:aa8e1929b71a5fd24be686173988b4b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a77b5d5af2adb2cfa7ec785b592fc4074"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FCGI_stderr&#160;&#160;&#160;stderr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="imgreg__manager_8h.html#a45b2a9e891d8b82cdab95b513ba7af3c">find_level()</a>.</p>
</div>
</div>
<a class="anchor" id="ac322e421aefb8ec9ccc10bef953e3d82"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FCGI_stdout&#160;&#160;&#160;stdout</td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="imgreg__manager_8h.html#ac83fd8389ce9eca05c6d3fb5c4fa7eb9">map_viewin2imgreg()</a>.</p>
</div>
</div>
<a class="anchor" id="a31c99676da88bb0bcdb350710f00fa96"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define logstream&#160;&#160;&#160;stderr</td>
</tr>
</table>
</div><div class="memdoc">
<p>Referenced by <a class="el" href="imgreg__manager_8h.html#aa8e1929b71a5fd24be686173988b4b39">print_imgreg()</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ab9ee71088d3e692543a29baa73d5d00b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int comp_decomplev </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>fw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>fh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>Xsiz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>Ysiz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>compute decomposition level (only to get the level use find_level for all parameters </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fw</td><td>horizontal frame size </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fh</td><td>vertical frame size </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Xsiz</td><td>image width </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Ysiz</td><td>image height </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>decomposition level </dd></dl>
<p>References <a class="el" href="imgreg__manager_8c.html#a45b2a9e891d8b82cdab95b513ba7af3c">find_level()</a>.</p>
<p>Referenced by <a class="el" href="jp2k__encoder_8c.html#a5aafbf746124f238d36a0eeeb442ac7a">recons_codestream_from_JPPstream()</a>, and <a class="el" href="jp2k__encoder_8c.html#a722b5ca0c9026f39cd6523ee19c34b91">recons_codestream_from_JPTstream()</a>.</p>
</div>
</div>
<a class="anchor" id="a45b2a9e891d8b82cdab95b513ba7af3c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void find_level </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>maxlev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>lev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>fx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>fy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>xmin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>ymin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>xmax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>ymax</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>find deconposition level and its resolution size C.4.1 Mapping view-window requests to codestream image resolution and regions Note: only round-down implemented </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">maxlev</td><td>maximum decomposition level </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">lev</td><td>decomposition level pointer </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">fx</td><td>horizontal frame size pointer </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">fy</td><td>vertical frame size pointer </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">xmin</td><td>horizontal image offset pointer </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">ymin</td><td>vertical image offset pointer </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">xmax</td><td>horizontal image size pointer </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">ymax</td><td>vertical image size pointer </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="imgreg__manager_8c.html#a77b5d5af2adb2cfa7ec785b592fc4074">FCGI_stderr</a>, and <a class="el" href="imgreg__manager_8c.html#a45b2a9e891d8b82cdab95b513ba7af3c">find_level()</a>.</p>
<p>Referenced by <a class="el" href="imgreg__manager_8h.html#ab9ee71088d3e692543a29baa73d5d00b">comp_decomplev()</a>, <a class="el" href="imgreg__manager_8h.html#a45b2a9e891d8b82cdab95b513ba7af3c">find_level()</a>, and <a class="el" href="imgreg__manager_8h.html#ac83fd8389ce9eca05c6d3fb5c4fa7eb9">map_viewin2imgreg()</a>.</p>
</div>
</div>
<a class="anchor" id="ac83fd8389ce9eca05c6d3fb5c4fa7eb9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="imgreg__manager_8h.html#aa104d6fd0c3b1311f772453770e59ca1">imgreg_param_t</a> map_viewin2imgreg </td>
<td>(</td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>fx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>fy</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>rx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>ry</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>rw</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>rh</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>XOsiz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>YOsiz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>Xsiz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>Ysiz</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const int&#160;</td>
<td class="paramname"><em>numOfreslev</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>map view-window requests to codestream image resolutions and regions </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fx,fy</td><td>frame size </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rx,ry</td><td>offset of region </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rw,rh</td><td>size of region </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">XOsiz,YOsiz</td><td>offset from the origin of the reference grid to the left side of the image area </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Xsiz,Ysiz</td><td>size of the reference grid </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">numOfreslev</td><td>number of resolution levels </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>structure of image region parameters </dd></dl>
<p>References <a class="el" href="imgreg__manager_8c.html#ac322e421aefb8ec9ccc10bef953e3d82">FCGI_stdout</a>, <a class="el" href="imgreg__manager_8c.html#a45b2a9e891d8b82cdab95b513ba7af3c">find_level()</a>, <a class="el" href="structimgreg__param.html#a20d458cf8ecf496ad31b54f5591ebd97">imgreg_param::fx</a>, <a class="el" href="structimgreg__param.html#a563ef991e9c0984076aad5d0ecd7fa54">imgreg_param::fy</a>, <a class="el" href="structimgreg__param.html#a3c1a5b9f9b6e7507617039c5c5b5b791">imgreg_param::level</a>, <a class="el" href="structimgreg__param.html#a4d0e590eb543c65f9cbc539741b225ae">imgreg_param::ox</a>, <a class="el" href="structimgreg__param.html#a46a345d7aee5c0fbd24f2d057e7be8cf">imgreg_param::oy</a>, <a class="el" href="structimgreg__param.html#a213f176b8935a6e655131308525ccbb2">imgreg_param::sx</a>, <a class="el" href="structimgreg__param.html#a24e11f9dfd64c2a4aa0ac5aaaf67a897">imgreg_param::sy</a>, <a class="el" href="structimgreg__param.html#a0aafdd976f2e50a12b30910cf7ac32c8">imgreg_param::xosiz</a>, and <a class="el" href="structimgreg__param.html#a8b5eb61d99e89e70d71e184b3653fc01">imgreg_param::yosiz</a>.</p>
<p>Referenced by <a class="el" href="jpip__parser_8c.html#a72490e3e8ccd2d8d102a15affea987ec">enqueue_imagedata()</a>.</p>
</div>
</div>
<a class="anchor" id="aa8e1929b71a5fd24be686173988b4b39"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void print_imgreg </td>
<td>(</td>
<td class="paramtype"><a class="el" href="imgreg__manager_8h.html#aa104d6fd0c3b1311f772453770e59ca1">imgreg_param_t</a>&#160;</td>
<td class="paramname"><em>imgreg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>print image region parameters </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">imgreg</td><td>image region structure of parameters </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="structimgreg__param.html#a20d458cf8ecf496ad31b54f5591ebd97">imgreg_param::fx</a>, <a class="el" href="structimgreg__param.html#a563ef991e9c0984076aad5d0ecd7fa54">imgreg_param::fy</a>, <a class="el" href="structimgreg__param.html#a3c1a5b9f9b6e7507617039c5c5b5b791">imgreg_param::level</a>, <a class="el" href="imgreg__manager_8c.html#a31c99676da88bb0bcdb350710f00fa96">logstream</a>, <a class="el" href="structimgreg__param.html#a4d0e590eb543c65f9cbc539741b225ae">imgreg_param::ox</a>, <a class="el" href="structimgreg__param.html#a46a345d7aee5c0fbd24f2d057e7be8cf">imgreg_param::oy</a>, <a class="el" href="structimgreg__param.html#a213f176b8935a6e655131308525ccbb2">imgreg_param::sx</a>, and <a class="el" href="structimgreg__param.html#a24e11f9dfd64c2a4aa0ac5aaaf67a897">imgreg_param::sy</a>.</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.10
</small></address>
</body>
</html>