openjpeg/doxygen/openjpip_8c.html

527 lines
39 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: openjpip.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.1.2</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="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">openjpip.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &quot;<a class="el" href="openjpip_8h_source.html">openjpip.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="jpip__parser_8h_source.html">jpip_parser.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="channel__manager_8h_source.html">channel_manager.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="byte__manager_8h_source.html">byte_manager.h</a>&quot;</code><br />
<code>#include &lt;unistd.h&gt;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &quot;<a class="el" href="dec__clientmsg__handler_8h_source.html">dec_clientmsg_handler.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="jpipstream__manager_8h_source.html">jpipstream_manager.h</a>&quot;</code><br />
<code>#include &lt;string.h&gt;</code><br />
<code>#include &lt;sys/types.h&gt;</code><br />
<code>#include &lt;sys/stat.h&gt;</code><br />
<code>#include &lt;fcntl.h&gt;</code><br />
<code>#include &quot;<a class="el" href="jp2k__encoder_8h_source.html">jp2k_encoder.h</a>&quot;</code><br />
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a5ff5d73dfc3af0380026db7be4cc7435"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpip_8h.html#a6413b56e4cf2303b22da7498490447e6">dec_server_record_t</a> *<a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#a5ff5d73dfc3af0380026db7be4cc7435">init_dec_server</a> (int port)</td></tr>
<tr class="memdesc:a5ff5d73dfc3af0380026db7be4cc7435"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the image decoding server. <a href="#a5ff5d73dfc3af0380026db7be4cc7435">More...</a><br /></td></tr>
<tr class="separator:a5ff5d73dfc3af0380026db7be4cc7435"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9093709aec0e381a81063d76ddd07940"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#a9093709aec0e381a81063d76ddd07940">terminate_dec_server</a> (<a class="el" href="openjpip_8h.html#a6413b56e4cf2303b22da7498490447e6">dec_server_record_t</a> **rec)</td></tr>
<tr class="memdesc:a9093709aec0e381a81063d76ddd07940"><td class="mdescLeft">&#160;</td><td class="mdescRight">Terminate the image decoding server. <a href="#a9093709aec0e381a81063d76ddd07940">More...</a><br /></td></tr>
<tr class="separator:a9093709aec0e381a81063d76ddd07940"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f523647f99c0f663ef5149b96c64e40"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpip_8h.html#a9ffc16809d0a534ebf55ed64394cedad">client_t</a> <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#a5f523647f99c0f663ef5149b96c64e40">accept_connection</a> (<a class="el" href="openjpip_8h.html#a6413b56e4cf2303b22da7498490447e6">dec_server_record_t</a> *rec)</td></tr>
<tr class="memdesc:a5f523647f99c0f663ef5149b96c64e40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accept client connection. <a href="#a5f523647f99c0f663ef5149b96c64e40">More...</a><br /></td></tr>
<tr class="separator:a5f523647f99c0f663ef5149b96c64e40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a786eb3cd863649570fa244fa4ff5386e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#a786eb3cd863649570fa244fa4ff5386e">handle_clientreq</a> (<a class="el" href="openjpip_8h.html#a9ffc16809d0a534ebf55ed64394cedad">client_t</a> client, <a class="el" href="openjpip_8h.html#a6413b56e4cf2303b22da7498490447e6">dec_server_record_t</a> *rec)</td></tr>
<tr class="memdesc:a786eb3cd863649570fa244fa4ff5386e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Handle client request. <a href="#a786eb3cd863649570fa244fa4ff5386e">More...</a><br /></td></tr>
<tr class="separator:a786eb3cd863649570fa244fa4ff5386e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7efb8730b2d70930062af698e4957c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *<a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#ac7efb8730b2d70930062af698e4957c4">init_jpipdecoder</a> (<a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> jp2)</td></tr>
<tr class="memdesc:ac7efb8730b2d70930062af698e4957c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize jpip decoder. <a href="#ac7efb8730b2d70930062af698e4957c4">More...</a><br /></td></tr>
<tr class="separator:ac7efb8730b2d70930062af698e4957c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8dd6aadccc3f9a708750339f2558e6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#af8dd6aadccc3f9a708750339f2558e6a">fread_jpip</a> (const char fname[], <a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *dec)</td></tr>
<tr class="memdesc:af8dd6aadccc3f9a708750339f2558e6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read jpip codestream from a file. <a href="#af8dd6aadccc3f9a708750339f2558e6a">More...</a><br /></td></tr>
<tr class="separator:af8dd6aadccc3f9a708750339f2558e6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41e8de342d2ac0317272dbb7070dc942"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#a41e8de342d2ac0317272dbb7070dc942">decode_jpip</a> (<a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *dec)</td></tr>
<tr class="memdesc:a41e8de342d2ac0317272dbb7070dc942"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode jpip codestream. <a href="#a41e8de342d2ac0317272dbb7070dc942">More...</a><br /></td></tr>
<tr class="separator:a41e8de342d2ac0317272dbb7070dc942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a799a9e137e62d594148c86b28812bf9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#a799a9e137e62d594148c86b28812bf9e">fwrite_jp2k</a> (const char fname[], <a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *dec)</td></tr>
<tr class="memdesc:a799a9e137e62d594148c86b28812bf9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write J2K/JP2 codestream to a file. <a href="#a799a9e137e62d594148c86b28812bf9e">More...</a><br /></td></tr>
<tr class="separator:a799a9e137e62d594148c86b28812bf9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7db14c845bc5cdd2a0da404f1192d92a"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#a7db14c845bc5cdd2a0da404f1192d92a">output_log</a> (<a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> messages, <a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> metadata, <a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> ihdrbox, <a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *dec)</td></tr>
<tr class="memdesc:a7db14c845bc5cdd2a0da404f1192d92a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Option; print out parameter values to stderr. <a href="#a7db14c845bc5cdd2a0da404f1192d92a">More...</a><br /></td></tr>
<tr class="separator:a7db14c845bc5cdd2a0da404f1192d92a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b1ae31d43fd9a0f6481700ac21f1055"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#a5b1ae31d43fd9a0f6481700ac21f1055">destroy_jpipdecoder</a> (<a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> **dec)</td></tr>
<tr class="memdesc:a5b1ae31d43fd9a0f6481700ac21f1055"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy jpip decoding parameters. <a href="#a5b1ae31d43fd9a0f6481700ac21f1055">More...</a><br /></td></tr>
<tr class="separator:a5b1ae31d43fd9a0f6481700ac21f1055"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8f288db1486bba21dd43093a8b6d4c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpip_8h.html#ab2759569c481f3c1ff4153d8c298cacc">index_t</a> *<a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#ae8f288db1486bba21dd43093a8b6d4c9">get_index_from_JP2file</a> (int fd)</td></tr>
<tr class="memdesc:ae8f288db1486bba21dd43093a8b6d4c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse JP2 file and get index information from cidx box inside. <a href="#ae8f288db1486bba21dd43093a8b6d4c9">More...</a><br /></td></tr>
<tr class="separator:ae8f288db1486bba21dd43093a8b6d4c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac99d1e9de4bcaef222868c1a499fe6a8"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#ac99d1e9de4bcaef222868c1a499fe6a8">destroy_index</a> (<a class="el" href="openjpip_8h.html#ab2759569c481f3c1ff4153d8c298cacc">index_t</a> **idx)</td></tr>
<tr class="memdesc:ac99d1e9de4bcaef222868c1a499fe6a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy index parameters. <a href="#ac99d1e9de4bcaef222868c1a499fe6a8">More...</a><br /></td></tr>
<tr class="separator:ac99d1e9de4bcaef222868c1a499fe6a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae2dd8d2b7a32a857712558239848237"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="openjpip_8c.html#aae2dd8d2b7a32a857712558239848237">output_index</a> (<a class="el" href="openjpip_8h.html#ab2759569c481f3c1ff4153d8c298cacc">index_t</a> *index)</td></tr>
<tr class="memdesc:aae2dd8d2b7a32a857712558239848237"><td class="mdescLeft">&#160;</td><td class="mdescRight">print index parameters <a href="#aae2dd8d2b7a32a857712558239848237">More...</a><br /></td></tr>
<tr class="separator:aae2dd8d2b7a32a857712558239848237"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a5f523647f99c0f663ef5149b96c64e40"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="openjpip_8h.html#a9ffc16809d0a534ebf55ed64394cedad">client_t</a> <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> accept_connection </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a6413b56e4cf2303b22da7498490447e6">dec_server_record_t</a> *&#160;</td>
<td class="paramname"><em>rec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Accept client connection. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">rec</td><td>decoding server static record pointer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>client socket ID, -1 if failed </dd></dl>
<p>References <a class="el" href="sock__manager_8c.html#a792461126a522ddf1db31e7353c055d8">accept_socket()</a>, and <a class="el" href="structdec__server__record.html#a3585f17f6d95223111fbd43d35ef34a4">dec_server_record::listening_socket</a>.</p>
</div>
</div>
<a class="anchor" id="a41e8de342d2ac0317272dbb7070dc942"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> decode_jpip </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *&#160;</td>
<td class="paramname"><em>dec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Decode jpip codestream. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dec</td><td>JPIP decoding parameters pointer </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="structmessage__param.html#a4d72cb84ea9e3a60da3ce9accf40c771">message_param::csn</a>, <a class="el" href="structmsgqueue__param.html#a7e14c8f89c279bc703cc76070ef2316e">msgqueue_param::first</a>, <a class="el" href="ihdrbox__manager_8c.html#acdf07688caab4b647bb302cfeed5a718">gene_ihdrbox()</a>, <a class="el" href="structjpip__dec__param.html#aa41cfeb8f514be44d42fc3a16a962372">jpip_dec_param::ihdrbox</a>, <a class="el" href="structjpip__dec__param.html#a495cf208c9181a6141991a25fde6c5bc">jpip_dec_param::jp2klen</a>, <a class="el" href="structjpip__dec__param.html#a3929502b6815b4ff21f3d7550f4f6a37">jpip_dec_param::jp2kstream</a>, <a class="el" href="structjpip__dec__param.html#ab17f26d3d77a190d6825cadb26435732">jpip_dec_param::jpiplen</a>, <a class="el" href="structjpip__dec__param.html#a026b1fc8941ad8e1ca06e695201773d0">jpip_dec_param::jpipstream</a>, <a class="el" href="structjpip__dec__param.html#a038c38958b1662bb10221bf098bb4432">jpip_dec_param::metadatalist</a>, <a class="el" href="structjpip__dec__param.html#ada24ff506e93e063fc95eb0a3be992bb">jpip_dec_param::msgqueue</a>, <a class="el" href="msgqueue__manager_8c.html#a61bc0c6328b8bc088a3652842642c4ae">parse_JPIPstream()</a>, <a class="el" href="msgqueue__manager_8c.html#a804b7467d1c130ece21fee3e6be15732">parse_metamsg()</a>, <a class="el" href="jp2k__encoder_8c.html#ae4142d75ff68c5e6e239baa617aac74d">recons_j2k()</a>, and <a class="el" href="jp2k__encoder_8c.html#a8689276a4011c848be0ac10496bf3809">recons_jp2()</a>.</p>
</div>
</div>
<a class="anchor" id="ac99d1e9de4bcaef222868c1a499fe6a8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> destroy_index </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#ab2759569c481f3c1ff4153d8c298cacc">index_t</a> **&#160;</td>
<td class="paramname"><em>idx</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Destroy index parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in,out]</td><td class="paramname">idx</td><td>addressof the index pointer </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="index__manager_8c.html#a8547a6683f5846c256ed1a0b5a55ad29">delete_index()</a>.</p>
</div>
</div>
<a class="anchor" id="a5b1ae31d43fd9a0f6481700ac21f1055"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> destroy_jpipdecoder </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> **&#160;</td>
<td class="paramname"><em>dec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Destroy jpip decoding parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dec</td><td>address of JPIP decoding parameters pointer </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="metadata__manager_8c.html#aaf53c8e8dc223c54970487cafe2ba7eb">delete_metadatalist()</a>, <a class="el" href="msgqueue__manager_8c.html#aff1807285e0f47bbea20d5a6473dd08f">delete_msgqueue()</a>, and <a class="el" href="group___m_i_s_c.html#ga2bd00e2482ae36197631bde0665cfdfe">opj_free()</a>.</p>
</div>
</div>
<a class="anchor" id="af8dd6aadccc3f9a708750339f2558e6a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> fread_jpip </td>
<td>(</td>
<td class="paramtype">const char&#160;</td>
<td class="paramname"><em>fname</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *&#160;</td>
<td class="paramname"><em>dec</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read jpip codestream from a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fname</td><td>file name </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dec</td><td>JPIP decoding parameters pointer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if succeed </dd></dl>
<p>References <a class="el" href="byte__manager_8c.html#a955af5bd7b57f186c3174728fa160ff0">get_filesize()</a>, <a class="el" href="structjpip__dec__param.html#ab17f26d3d77a190d6825cadb26435732">jpip_dec_param::jpiplen</a>, <a class="el" href="structjpip__dec__param.html#a026b1fc8941ad8e1ca06e695201773d0">jpip_dec_param::jpipstream</a>, <a class="el" href="openjpeg_8h.html#ac672bfd7db39c609e828acb07a321964">OPJ_FALSE</a>, <a class="el" href="group___m_i_s_c.html#ga2bd00e2482ae36197631bde0665cfdfe">opj_free()</a>, <a class="el" href="group___m_i_s_c.html#ga49c70931cbed786f6eef5f095bcb2917">opj_malloc()</a>, and <a class="el" href="openjpeg_8h.html#a04830036d767cba56cbf5ae5bdc481d3">OPJ_TRUE</a>.</p>
</div>
</div>
<a class="anchor" id="a799a9e137e62d594148c86b28812bf9e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> fwrite_jp2k </td>
<td>(</td>
<td class="paramtype">const char&#160;</td>
<td class="paramname"><em>fname</em>[], </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *&#160;</td>
<td class="paramname"><em>dec</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write J2K/JP2 codestream to a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fname</td><td>file name </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dec</td><td>JPIP decoding parameters pointer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if succeed </dd></dl>
<p>References <a class="el" href="structjpip__dec__param.html#a495cf208c9181a6141991a25fde6c5bc">jpip_dec_param::jp2klen</a>, <a class="el" href="structjpip__dec__param.html#a3929502b6815b4ff21f3d7550f4f6a37">jpip_dec_param::jp2kstream</a>, <a class="el" href="openjpeg_8h.html#ac672bfd7db39c609e828acb07a321964">OPJ_FALSE</a>, and <a class="el" href="openjpeg_8h.html#a04830036d767cba56cbf5ae5bdc481d3">OPJ_TRUE</a>.</p>
</div>
</div>
<a class="anchor" id="ae8f288db1486bba21dd43093a8b6d4c9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="openjpip_8h.html#ab2759569c481f3c1ff4153d8c298cacc">index_t</a>* <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> get_index_from_JP2file </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>fd</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse JP2 file and get index information from cidx box inside. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">fd</td><td>file descriptor of the JP2 file </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>pointer to the generated structure of index parameters </dd></dl>
<p>References <a class="el" href="group___m_i_s_c.html#ga2bd00e2482ae36197631bde0665cfdfe">opj_free()</a>, <a class="el" href="group___m_i_s_c.html#ga49c70931cbed786f6eef5f095bcb2917">opj_malloc()</a>, and <a class="el" href="index__manager_8c.html#aeda761f27ce8cb0ed202d0ea2aa64c7e">parse_jp2file()</a>.</p>
</div>
</div>
<a class="anchor" id="a786eb3cd863649570fa244fa4ff5386e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> handle_clientreq </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a9ffc16809d0a534ebf55ed64394cedad">client_t</a>&#160;</td>
<td class="paramname"><em>client</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a6413b56e4cf2303b22da7498490447e6">dec_server_record_t</a> *&#160;</td>
<td class="paramname"><em>rec</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Handle client request. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">client</td><td>client socket ID </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rec</td><td>decoding server static record pointer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if succeed </dd></dl>
<p>References <a class="el" href="structdec__server__record.html#acf54a3183c24403af919253f273c703c">dec_server_record::cachelist</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaa9a175716967f609dfad2631136cce0f9">CIDDST</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaaebfceef8e9c933e7ec8f60e52221212b">CIDREQ</a>, <a class="el" href="sock__manager_8c.html#af35003e15c5a408a198d4b3eb717bfdd">close_socket()</a>, <a class="el" href="dec__clientmsg__handler_8c.html#aa47b5aa4364e9df31b03eca619009445">handle_CIDreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8c.html#a1b541c52a440a95733cd0f961189ad5a">handle_dstCIDreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8c.html#a163197f925cd8d6f60da5b6151e01c3b">handle_JP2saveMSG()</a>, <a class="el" href="dec__clientmsg__handler_8c.html#ab4022f5e297b5d3a456cd841c3902675">handle_JPIPstreamMSG()</a>, <a class="el" href="dec__clientmsg__handler_8c.html#ac1721ebe188622dcbd80540e1bc4a237">handle_PNMreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8c.html#a98cac1bbde27cbbd1d4292985b3f5b49">handle_SIZreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8c.html#a86f804d83268e44baef977b7b54cbbcc">handle_TIDreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8c.html#a22becf5f598618de947805f858b1a617">handle_XMLreqMSG()</a>, <a class="el" href="imgsock__manager_8c.html#a88596b309ecbf50e65da25a0aea426e4">identify_clientmsg()</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaad396ff7696b62b0d53dbe344cff664f4">JP2SAVE</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaa0dfb6f17f0bee8ddc98b1e8950de6529">JPIPSTREAM</a>, <a class="el" href="structdec__server__record.html#a73fae00e20bed648ff618a3be0d0a713">dec_server_record::jpipstream</a>, <a class="el" href="structdec__server__record.html#a64a34bae32044c8cd57285abb1fcffb2">dec_server_record::jpipstreamlen</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaaa1d590c1e9fe651a91a0580c2401e705">MSGERROR</a>, <a class="el" href="structdec__server__record.html#a52f7141b9880f038a7f47dbdb98713a4">dec_server_record::msgqueue</a>, <a class="el" href="openjpeg_8h.html#ac672bfd7db39c609e828acb07a321964">OPJ_FALSE</a>, <a class="el" href="openjpeg_8h.html#a04830036d767cba56cbf5ae5bdc481d3">OPJ_TRUE</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaa8b60c6e0b99c9733b4bee376cafa8863">PNMREQ</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaa76bdc8adfd6c6463ab269ff4c06be9b4">QUIT</a>, <a class="el" href="jpipstream__manager_8c.html#aa1017de7193dd9dd9ce6ef376482b6cd">save_codestream()</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaa5bbfd69d9021c8a179d51e1c530f6ed6">SIZREQ</a>, <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaab4f6faa284af2005585a1fc3c61b8ac7">TIDREQ</a>, and <a class="el" href="imgsock__manager_8h.html#a7378ec24a6dd5918089470e4305c8faaacabd3c9cad61c4e2fed057afb09169cd">XMLREQ</a>.</p>
</div>
</div>
<a class="anchor" id="a5ff5d73dfc3af0380026db7be4cc7435"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="openjpip_8h.html#a6413b56e4cf2303b22da7498490447e6">dec_server_record_t</a>* <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> init_dec_server </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>port</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize the image decoding server. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">port</td><td>opening tcp port (valid No. 49152-65535) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>intialized decoding server record pointer </dd></dl>
<p>References <a class="el" href="structdec__server__record.html#acf54a3183c24403af919253f273c703c">dec_server_record::cachelist</a>, <a class="el" href="cache__manager_8c.html#a0de1bb714bff02327255920dfc5bd838">gene_cachelist()</a>, <a class="el" href="msgqueue__manager_8c.html#a122b60ed8a415bb0ded95b2476c6a62c">gene_msgqueue()</a>, <a class="el" href="structdec__server__record.html#a73fae00e20bed648ff618a3be0d0a713">dec_server_record::jpipstream</a>, <a class="el" href="structdec__server__record.html#a64a34bae32044c8cd57285abb1fcffb2">dec_server_record::jpipstreamlen</a>, <a class="el" href="structdec__server__record.html#a3585f17f6d95223111fbd43d35ef34a4">dec_server_record::listening_socket</a>, <a class="el" href="structdec__server__record.html#a52f7141b9880f038a7f47dbdb98713a4">dec_server_record::msgqueue</a>, <a class="el" href="sock__manager_8c.html#a3c822e28c71631b25683cc57e8e4536b">open_listeningsocket()</a>, <a class="el" href="group___m_i_s_c.html#ga49c70931cbed786f6eef5f095bcb2917">opj_malloc()</a>, and <a class="el" href="openjpeg_8h.html#a04830036d767cba56cbf5ae5bdc481d3">OPJ_TRUE</a>.</p>
</div>
</div>
<a class="anchor" id="ac7efb8730b2d70930062af698e4957c4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a>* <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> init_jpipdecoder </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td>
<td class="paramname"><em>jp2</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize jpip decoder. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">jp2</td><td>true in case of jp2 file encoding, else j2k file encoding </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>JPIP decoding parameters pointer </dd></dl>
<p>References <a class="el" href="metadata__manager_8c.html#a109c77c889ca43e454720f61692bd960">gene_metadatalist()</a>, <a class="el" href="msgqueue__manager_8c.html#a122b60ed8a415bb0ded95b2476c6a62c">gene_msgqueue()</a>, <a class="el" href="structjpip__dec__param.html#a038c38958b1662bb10221bf098bb4432">jpip_dec_param::metadatalist</a>, <a class="el" href="structjpip__dec__param.html#ada24ff506e93e063fc95eb0a3be992bb">jpip_dec_param::msgqueue</a>, <a class="el" href="group___m_i_s_c.html#ga7fe6dfcb0a623dbec30daf0f48624bf7">opj_calloc()</a>, and <a class="el" href="openjpeg_8h.html#a04830036d767cba56cbf5ae5bdc481d3">OPJ_TRUE</a>.</p>
</div>
</div>
<a class="anchor" id="aae2dd8d2b7a32a857712558239848237"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> output_index </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#ab2759569c481f3c1ff4153d8c298cacc">index_t</a> *&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>print index parameters </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>index parameters </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="index__manager_8c.html#acba4fd559491e3b10a80e0d14839c8bf">print_index()</a>.</p>
</div>
</div>
<a class="anchor" id="a7db14c845bc5cdd2a0da404f1192d92a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> output_log </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td>
<td class="paramname"><em>messages</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td>
<td class="paramname"><em>metadata</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td>
<td class="paramname"><em>ihdrbox</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a27c269fda9707020ddd072462aea2879">jpip_dec_param_t</a> *&#160;</td>
<td class="paramname"><em>dec</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Option; print out parameter values to stderr. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">messages</td><td>true if queue of messages is to be printed out </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">metadata</td><td>true if metadata is to be printed out </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">ihdrbox</td><td>true if image header data is to be printed out </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">dec</td><td>JPIP decoding parameters pointer </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="structihdrbox__param.html#a7e84d5dedd304c262aa564009253fb09">ihdrbox_param::bpc</a>, <a class="el" href="structihdrbox__param.html#a2b025acc6283288e882fed39c20a929e">ihdrbox_param::height</a>, <a class="el" href="structjpip__dec__param.html#aa41cfeb8f514be44d42fc3a16a962372">jpip_dec_param::ihdrbox</a>, <a class="el" href="structjpip__dec__param.html#a038c38958b1662bb10221bf098bb4432">jpip_dec_param::metadatalist</a>, <a class="el" href="structjpip__dec__param.html#ada24ff506e93e063fc95eb0a3be992bb">jpip_dec_param::msgqueue</a>, <a class="el" href="structihdrbox__param.html#aa604b90fd6ffc3d82336cf80436d8b7d">ihdrbox_param::nc</a>, <a class="el" href="metadata__manager_8c.html#a8ec018d5900f7a94fed49db0d823e508">print_allmetadata()</a>, <a class="el" href="msgqueue__manager_8c.html#aa075bf2e59a3a9cba532d2331dd9a36e">print_msgqueue()</a>, and <a class="el" href="structihdrbox__param.html#ad3760ecc26048cde5501e8eb646539fd">ihdrbox_param::width</a>.</p>
</div>
</div>
<a class="anchor" id="a9093709aec0e381a81063d76ddd07940"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="openjpeg_8h.html#aedc1e23ea6654d0cc416bc390687458b">OPJ_CALLCONV</a> terminate_dec_server </td>
<td>(</td>
<td class="paramtype"><a class="el" href="openjpip_8h.html#a6413b56e4cf2303b22da7498490447e6">dec_server_record_t</a> **&#160;</td>
<td class="paramname"><em>rec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Terminate the image decoding server. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">rec</td><td>address of deleting decoding server static record pointer </td></tr>
</table>
</dd>
</dl>
<p>References <a class="el" href="sock__manager_8c.html#af35003e15c5a408a198d4b3eb717bfdd">close_socket()</a>, <a class="el" href="cache__manager_8c.html#a60b3dc9f408f026931faa4589d1e4c1b">delete_cachelist()</a>, <a class="el" href="msgqueue__manager_8c.html#aff1807285e0f47bbea20d5a6473dd08f">delete_msgqueue()</a>, and <a class="el" href="group___m_i_s_c.html#ga2bd00e2482ae36197631bde0665cfdfe">opj_free()</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>