openjpeg/doxygen/group___m_i_s_c.html

392 lines
52 KiB
HTML
Raw Normal View History

2015-07-10 18:06:19 +02:00
<!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"/>
2019-04-02 16:25:55 +02:00
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
2015-07-10 18:06:19 +02:00
<title>OpenJPEG: MISC - Miscellaneous internal functions</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;">
2016-09-29 22:38:29 +02:00
<td id="projectalign" style="padding-left: 0.5em;">
2015-07-10 18:06:19 +02:00
<div id="projectname">OpenJPEG
2019-04-02 16:25:55 +02:00
&#160;<span id="projectnumber">2.3.1</span>
2015-07-10 18:06:19 +02:00
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
2019-04-02 16:25:55 +02:00
<!-- Generated by Doxygen 1.8.13 -->
<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>
2015-07-10 18:06:19 +02:00
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">MISC - Miscellaneous internal functions</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Exported functions</h2></td></tr>
<tr class="memitem:gaf53ced13a225d45380052173563421bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#a2e5e9eaf3c126e11d1f058b78a0bce78">OPJ_FLOAT64</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#gaf53ced13a225d45380052173563421bf">opj_clock</a> (void)</td></tr>
<tr class="memdesc:gaf53ced13a225d45380052173563421bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Difference in successive <a class="el" href="group___m_i_s_c.html#gaf53ced13a225d45380052173563421bf" title="Difference in successive opj_clock() calls tells you the elapsed time. ">opj_clock()</a> calls tells you the elapsed time. <a href="#gaf53ced13a225d45380052173563421bf">More...</a><br /></td></tr>
<tr class="separator:gaf53ced13a225d45380052173563421bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Exported functions</h2></td></tr>
2016-09-29 22:38:29 +02:00
<tr class="memitem:ga49c70931cbed786f6eef5f095bcb2917"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#ga49c70931cbed786f6eef5f095bcb2917">opj_malloc</a> (size_t size)</td></tr>
<tr class="memdesc:ga49c70931cbed786f6eef5f095bcb2917"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate an uninitialized memory block. <a href="#ga49c70931cbed786f6eef5f095bcb2917">More...</a><br /></td></tr>
<tr class="separator:ga49c70931cbed786f6eef5f095bcb2917"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fe6dfcb0a623dbec30daf0f48624bf7"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#ga7fe6dfcb0a623dbec30daf0f48624bf7">opj_calloc</a> (size_t numOfElements, size_t sizeOfElements)</td></tr>
<tr class="memdesc:ga7fe6dfcb0a623dbec30daf0f48624bf7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate a memory block with elements initialized to 0. <a href="#ga7fe6dfcb0a623dbec30daf0f48624bf7">More...</a><br /></td></tr>
<tr class="separator:ga7fe6dfcb0a623dbec30daf0f48624bf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4418db34754a5b9ac5a79fece518c601"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#ga4418db34754a5b9ac5a79fece518c601">opj_aligned_malloc</a> (size_t size)</td></tr>
<tr class="memdesc:ga4418db34754a5b9ac5a79fece518c601"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate memory aligned to a 16 byte boundary. <a href="#ga4418db34754a5b9ac5a79fece518c601">More...</a><br /></td></tr>
<tr class="separator:ga4418db34754a5b9ac5a79fece518c601"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0fdc9e5dfa748e01dd87621a12a0e102"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#ga0fdc9e5dfa748e01dd87621a12a0e102">opj_aligned_realloc</a> (void *ptr, size_t size)</td></tr>
<tr class="separator:ga0fdc9e5dfa748e01dd87621a12a0e102"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaefeccfbb22ba64c00f94f7f66fc97126"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#gaefeccfbb22ba64c00f94f7f66fc97126">opj_aligned_free</a> (void *ptr)</td></tr>
<tr class="separator:gaefeccfbb22ba64c00f94f7f66fc97126"><td class="memSeparator" colspan="2">&#160;</td></tr>
2017-08-10 06:39:58 +02:00
<tr class="memitem:gaca33611a393378b0314a07d239b66099"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#gaca33611a393378b0314a07d239b66099">opj_aligned_32_malloc</a> (size_t size)</td></tr>
<tr class="memdesc:gaca33611a393378b0314a07d239b66099"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocate memory aligned to a 32 byte boundary. <a href="#gaca33611a393378b0314a07d239b66099">More...</a><br /></td></tr>
<tr class="separator:gaca33611a393378b0314a07d239b66099"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga42f91b38d00506a6851fc1dde0fba402"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#ga42f91b38d00506a6851fc1dde0fba402">opj_aligned_32_realloc</a> (void *ptr, size_t size)</td></tr>
<tr class="separator:ga42f91b38d00506a6851fc1dde0fba402"><td class="memSeparator" colspan="2">&#160;</td></tr>
2016-09-29 22:38:29 +02:00
<tr class="memitem:ga95862b2a456efdc436c61beba816fb25"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#ga95862b2a456efdc436c61beba816fb25">opj_realloc</a> (void *m, size_t s)</td></tr>
<tr class="memdesc:ga95862b2a456efdc436c61beba816fb25"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reallocate memory blocks. <a href="#ga95862b2a456efdc436c61beba816fb25">More...</a><br /></td></tr>
<tr class="separator:ga95862b2a456efdc436c61beba816fb25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bd00e2482ae36197631bde0665cfdfe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___m_i_s_c.html#ga2bd00e2482ae36197631bde0665cfdfe">opj_free</a> (void *m)</td></tr>
<tr class="memdesc:ga2bd00e2482ae36197631bde0665cfdfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deallocates or frees a memory block. <a href="#ga2bd00e2482ae36197631bde0665cfdfe">More...</a><br /></td></tr>
<tr class="separator:ga2bd00e2482ae36197631bde0665cfdfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
2015-07-10 18:06:19 +02:00
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
2016-09-29 22:38:29 +02:00
<h2 class="groupheader">Function Documentation</h2>
2019-04-02 16:25:55 +02:00
<a id="gaca33611a393378b0314a07d239b66099"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaca33611a393378b0314a07d239b66099">&#9670;&nbsp;</a></span>opj_aligned_32_malloc()</h2>
2017-08-10 06:39:58 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* opj_aligned_32_malloc </td>
<td>(</td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Allocate memory aligned to a 32 byte boundary. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">size</td><td>Bytes to allocate </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a void pointer to the allocated space, or NULL if there is insufficient memory available </dd></dl>
2019-04-02 16:25:55 +02:00
<p class="reference">References <a class="el" href="opj__malloc_8c.html#ac38162a5a110cb6499df3efd7a6b395f">opj_aligned_alloc_n()</a>.</p>
2017-08-10 06:39:58 +02:00
2019-04-02 16:25:55 +02:00
<p class="reference">Referenced by <a class="el" href="group___d_w_t.html#ga74b827f7914de05bf5bfc52894894803">opj_dwt_decode_partial_tile()</a>, and <a class="el" href="group___d_w_t.html#ga473550255363b8acb0c9b10a6dbac434">opj_dwt_decode_tile()</a>.</p>
2017-08-10 06:39:58 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="ga42f91b38d00506a6851fc1dde0fba402"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga42f91b38d00506a6851fc1dde0fba402">&#9670;&nbsp;</a></span>opj_aligned_32_realloc()</h2>
2017-08-10 06:39:58 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* opj_aligned_32_realloc </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
2019-04-02 16:25:55 +02:00
<p class="reference">References <a class="el" href="opj__malloc_8c.html#a29b9ed947cbc800b3d9747a4d9312013">opj_aligned_realloc_n()</a>.</p>
2017-08-10 06:39:58 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="gaefeccfbb22ba64c00f94f7f66fc97126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaefeccfbb22ba64c00f94f7f66fc97126">&#9670;&nbsp;</a></span>opj_aligned_free()</h2>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname">void opj_aligned_free </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
2019-04-02 16:25:55 +02:00
<p class="reference">Referenced by <a class="el" href="dwt_8c.html#ab6701233c67d89f96c5328f2627a6233">opj_dwt_decode_h_func()</a>, <a class="el" href="dwt_8c.html#a75cd080404aadce6662457dec7cc9d21">opj_dwt_decode_partial_97()</a>, <a class="el" href="group___d_w_t.html#ga74b827f7914de05bf5bfc52894894803">opj_dwt_decode_partial_tile()</a>, <a class="el" href="group___d_w_t.html#ga473550255363b8acb0c9b10a6dbac434">opj_dwt_decode_tile()</a>, <a class="el" href="dwt_8c.html#a7e47f416bc6f3987a9b2139c302f4104">opj_dwt_decode_tile_97()</a>, <a class="el" href="dwt_8c.html#a2b001cbb0e2278c374cead2046ea4023">opj_dwt_decode_v_func()</a>, <a class="el" href="openjpeg_8h.html#a70e22cb655b4a95041a4dc8bdaf94196">opj_image_data_free()</a>, <a class="el" href="group___t1.html#ga676ae65a9d3daed3299a36fa3842043e">opj_t1_allocate_buffers()</a>, <a class="el" href="t1_8c.html#a4f37cf7aca8eb1313fe5bc320c85ad55">opj_t1_clbl_decode_processor()</a>, <a class="el" href="group___t1.html#ga5df121baefa4293a2c0d0122694e0902">opj_t1_decode_cblks()</a>, <a class="el" href="group___t1.html#gadbc87000940d2fc0c5f3e2f0ad28938a">opj_t1_destroy()</a>, <a class="el" href="tcd_8c.html#ab17f65018878156d39af68939de6148b">opj_tcd_code_block_dec_allocate()</a>, and <a class="el" href="tcd_8c.html#a530613069d41672edf61a224b032c8cf">opj_tcd_code_block_dec_deallocate()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="ga4418db34754a5b9ac5a79fece518c601"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4418db34754a5b9ac5a79fece518c601">&#9670;&nbsp;</a></span>opj_aligned_malloc()</h2>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname">void* opj_aligned_malloc </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2016-09-29 22:38:29 +02:00
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
<td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
2016-09-29 22:38:29 +02:00
<p>Allocate memory aligned to a 16 byte boundary. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">size</td><td>Bytes to allocate </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a void pointer to the allocated space, or NULL if there is insufficient memory available </dd></dl>
2019-04-02 16:25:55 +02:00
<p class="reference">References <a class="el" href="opj__malloc_8c.html#ac38162a5a110cb6499df3efd7a6b395f">opj_aligned_alloc_n()</a>.</p>
2016-09-29 22:38:29 +02:00
2019-04-02 16:25:55 +02:00
<p class="reference">Referenced by <a class="el" href="dwt_8c.html#a75cd080404aadce6662457dec7cc9d21">opj_dwt_decode_partial_97()</a>, <a class="el" href="dwt_8c.html#a7e47f416bc6f3987a9b2139c302f4104">opj_dwt_decode_tile_97()</a>, <a class="el" href="openjpeg_8h.html#a35a842389bc0ce0e79e196d397d697bc">opj_image_data_alloc()</a>, <a class="el" href="group___t1.html#ga676ae65a9d3daed3299a36fa3842043e">opj_t1_allocate_buffers()</a>, and <a class="el" href="t1_8c.html#a4f37cf7aca8eb1313fe5bc320c85ad55">opj_t1_clbl_decode_processor()</a>.</p>
2015-07-10 18:06:19 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="ga0fdc9e5dfa748e01dd87621a12a0e102"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0fdc9e5dfa748e01dd87621a12a0e102">&#9670;&nbsp;</a></span>opj_aligned_realloc()</h2>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname">void* opj_aligned_realloc </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2016-09-29 22:38:29 +02:00
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em>, </td>
2015-07-10 18:06:19 +02:00
</tr>
<tr>
2016-09-29 22:38:29 +02:00
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
2015-07-10 18:06:19 +02:00
</tr>
<tr>
2016-09-29 22:38:29 +02:00
<td></td>
<td>)</td>
<td></td><td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
2019-04-02 16:25:55 +02:00
<p class="reference">References <a class="el" href="opj__malloc_8c.html#a29b9ed947cbc800b3d9747a4d9312013">opj_aligned_realloc_n()</a>.</p>
2016-09-29 22:38:29 +02:00
2015-07-10 18:06:19 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="ga7fe6dfcb0a623dbec30daf0f48624bf7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7fe6dfcb0a623dbec30daf0f48624bf7">&#9670;&nbsp;</a></span>opj_calloc()</h2>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname">void* opj_calloc </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2016-09-29 22:38:29 +02:00
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>numOfElements</em>, </td>
2015-07-10 18:06:19 +02:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
2016-09-29 22:38:29 +02:00
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>sizeOfElements</em>&#160;</td>
2015-07-10 18:06:19 +02:00
</tr>
<tr>
<td></td>
<td>)</td>
2016-09-29 22:38:29 +02:00
<td></td><td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
<p>Allocate a memory block with elements initialized to 0. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
2017-08-10 06:39:58 +02:00
<tr><td class="paramname">numOfElements</td><td>Blocks to allocate </td></tr>
<tr><td class="paramname">sizeOfElements</td><td>Bytes per block to allocate </td></tr>
2015-07-10 18:06:19 +02:00
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a void pointer to the allocated space, or NULL if there is insufficient memory available </dd></dl>
2019-04-02 16:25:55 +02:00
<p class="reference">Referenced by <a class="el" href="cachemodel__manager_8h.html#a8536ce465d342e4cd99e618c4c20e6d7">gene_cachemodel()</a>, <a class="el" href="openjpip_8h.html#a1e7187bd7a446489759e2ea37c35cdf9">init_jpipdecoder()</a>, <a class="el" href="bench__dwt_8c.html#af9c196f81133ceb1f18310c49b4e8137">init_tilec()</a>, <a class="el" href="j2k_8h.html#aab1aefcf177ba3726b29afec69993f6b">j2k_get_cstr_index()</a>, <a class="el" href="j2k_8h.html#a4e0a9f42c8240828e7293a064c143a24">j2k_get_cstr_info()</a>, <a class="el" href="openjpeg_8h.html#a990851329975143ee0ad6d9fdf461f06">opj_create_compress()</a>, <a class="el" href="openjpeg_8h.html#a411e8a7a5ea89724038fd143a48a6892">opj_create_decompress()</a>, <a class="el" href="openjpeg_8h.html#af168cf4a4295433c8c33610bac614553">opj_image_create()</a>, <a class="el" href="group___i_m_a_g_e.html#ga83035109ca4e81f9d90451adf6d975b4">opj_image_create0()</a>, <a class="el" href="openjpeg_8h.html#a2b29bd52d3b2bcc2d3e0d95db66fbd5f">opj_image_tile_create()</a>, <a class="el" href="group___j2_k.html#ga555b0066bf125eea39ab1cb7fdec2e5b">opj_j2k_allocate_tile_element_cstr_index()</a>, <a class="el" href="group___j2_k.html#ga8ff678e3d2865b7a9e770c594bdbf96f">opj_j2k_check_poc_val()</a>, <a class="el" href="group___j2_k.html#gad3c2b25f4d5a5f6fd4b442bc7210f6da">opj_j2k_create_compress()</a>, <a class="el" href="group___j2_k.html#ga4b2125fe4dc06298bcac21013768d13b">opj_j2k_create_cstr_index()</a>, <a class="el" href="j2k_8h.html#ad76bb79d4d63030222ebf3dbe3fe86cf">opj_j2k_create_decompress()</a>, <a class="el" href="group___j2_k.html#ga49665d853cbf934ca7ad0f83f4185a90">opj_j2k_read_ppm()</a>, <a class="el" href="group___j2_k.html#ga7715f2d96c40992acf9fd7739179b7ca">opj_j2k_read_ppt()</a>, <a class="el" href="group___j2_k.html#gaa91c21b73fc17028a77ba44d3987f17a">opj_j2k_read_siz()</a>, <a class="el" href="group___j2_k.html#ga935e4014c63e07bf19ad99584f6de430">opj_j2k_read_sot()</a>, <a class="el" href="j2k_8h.html#a8ad1ef335703dec30943a7dad14b8c3d">opj_j2k_set_decoded_components()</a>, <a class="el" href="group___j2_k.html#ga4a6561d0899d91b38099da38814cbe86">opj_j2k_setup_encoder()</a>, <a class="el" href="jp2_8c.html#a7230dd12ccadea216f8dd6b4c670011f">opj_jp2_check_color()</a>, <a class="el" href="group___j_p2.html#ga7d5389b7ba1706b96ec2adeb431a4735">opj_jp2_create()</a>, <a class="el" href="group___j_p2.html#gac1702a7ea040c681c8d7c9e33e6fd5bd">opj_jp2_read_colr()</a>, <a class="el" href="group___j_p2.html#ga814b516a34d9a0da8bae3850e945c50d">opj_jp2_read_ftyp()</a>, <a class="el" href="jp2_8c.html#adcd6dc192302ff32ffbaa079c01a66d8">opj_jp2_read_header_procedure()</a>, <a class="el" href="group___j_p2.html#ga0e0fac85bb2576b0fe2bff8a251a5814">opj_jp2_read_ihdr()</a>, <a class="el" href="group___j_p2.html#ga9ec7891fb6f874ab371d664140a1857d">opj_jp2_write_bpcc()</a>, <a class="el" href="group___j_p2.html#ga38b0cc8512611a49a51b7db383f86af7">opj_jp2_write_colr()</a>, <a class="el" href="group___j_p2.html#gad6f065d9f31f70d57bc3203c2122a9b5">opj_jp2_write_ftyp()</a>, <a class="el" href="group___j_p2.html#ga2414d887016326f522cebae1cf94a54a">opj_jp2_write_ihdr()</a>, <a class="el" href="group___p_i.html#gaecb609632774cfd3dd59d02bcf0dd769">opj_pi_create()</a>, <a class="el" href="group___p_i.html#ga4990d0324eb594434bd7ef61d746ac46">opj_pi_create_decode()</a>, <a class="el" href="group___p_i.html#ga063e3300cc8f7553f0ea02652194409a">opj_pi_initialise_encode()</a>, <a class="el" href="group___v_a_l.html#ga5058f9c3fdf2ff44f72c315e571cd153">opj_procedure_list_create()</a>, <a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#ga41953de4fab74677337c2597a67c9843">opj_sparse_array_int32_create()</a>, <a class="el" href="sparse__array_8c.html#a175c52e28cac6cad5ccdc24200e67a60">opj_sparse_array_int32_read_or_write()</a>, <a class="el" href="openjpeg_8h.html#a5ceb2a40ddd3b69cdc183e1373257091">opj_stream_create()</a>, <a class="el" href="group___t1.html#ga7f1a52a233804744f2c7384ac04117f8">opj_t1_create()</a>, <a class="el" href="group___t1.html#ga5df121baefa4293a2c0d0122694e0902">opj_t1_decode_cblks()</a>, <a c
2015-07-10 18:06:19 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="gaf53ced13a225d45380052173563421bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf53ced13a225d45380052173563421bf">&#9670;&nbsp;</a></span>opj_clock()</h2>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname"><a class="el" href="openjpeg_8h.html#a2e5e9eaf3c126e11d1f058b78a0bce78">OPJ_FLOAT64</a> opj_clock </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2016-09-29 22:38:29 +02:00
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
2016-09-29 22:38:29 +02:00
<p>Difference in successive <a class="el" href="group___m_i_s_c.html#gaf53ced13a225d45380052173563421bf" title="Difference in successive opj_clock() calls tells you the elapsed time. ">opj_clock()</a> calls tells you the elapsed time. </p>
<dl class="section return"><dt>Returns</dt><dd>Returns time in seconds </dd></dl>
2015-07-10 18:06:19 +02:00
2019-04-02 16:25:55 +02:00
<p class="reference">Referenced by <a class="el" href="bench__dwt_8c.html#a3c04138a5bfe5d72780bb7e82a18e627">main()</a>.</p>
2017-08-10 06:39:58 +02:00
2015-07-10 18:06:19 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="ga2bd00e2482ae36197631bde0665cfdfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2bd00e2482ae36197631bde0665cfdfe">&#9670;&nbsp;</a></span>opj_free()</h2>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname">void opj_free </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2016-09-29 22:38:29 +02:00
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>m</em></td><td>)</td>
<td></td>
2015-07-10 18:06:19 +02:00
</tr>
</table>
</div><div class="memdoc">
2016-09-29 22:38:29 +02:00
<p>Deallocates or frees a memory block. </p>
2015-07-10 18:06:19 +02:00
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
2016-09-29 22:38:29 +02:00
<tr><td class="paramname">m</td><td>Previously allocated memory block to be freed </td></tr>
2015-07-10 18:06:19 +02:00
</table>
</dd>
</dl>
2019-04-02 16:25:55 +02:00
<p class="reference">Referenced by <a class="el" href="msgqueue__manager_8c.html#a7fc5d7c09cf28481cf43ea2109f189c2">add_body_stream()</a>, <a class="el" href="jp2k__encoder_8c.html#acb31f818ceb9ea74dccfe83f60d6efe9">add_emptyboxstream()</a>, <a class="el" href="jp2k__encoder_8c.html#ada9269418104e1a801c3fbc48abab900">add_emptytilestream()</a>, <a class="el" href="jp2k__encoder_8c.html#ae5459f58e429f9830d5755dfa2d41762">add_EOC()</a>, <a class="el" href="jp2k__encoder_8c.html#a7cbcd4b8d0f130426d34bdc3571463fc">add_msgstream()</a>, <a class="el" href="jp2k__encoder_8c.html#ac1276154f08d80dc0c19413473b67f06">add_padding()</a>, <a class="el" href="jp2k__encoder_8c.html#a1feca341393458d09eecb6caad32371a">add_SOTmkr()</a>, <a class="el" href="auxtrans__manager_8c.html#a1b2a6aa920175602327fffe3680d20a4">aux_streaming()</a>, <a class="el" href="index__manager_8c.html#aef72d99e5b07983bcf9b7ba3b76f0c61">check_JP2boxidx()</a>, <a class="el" href="auxtrans__manager_8c.html#a724878b1d59d49a9b5db7ca148a67da4">delete_auxresponse()</a>, <a class="el" href="cachemodel__manager_8h.html#a4beb279f2f89ebfea569a93368ddcffa">delete_cachemodel()</a>, <a class="el" href="cachemodel__manager_8h.html#a2fa4daab45ddfe9a30fc29a5d5821572">delete_cachemodellist()</a>, <a class="el" href="channel__manager_8h.html#a646131823ea1f30bbdfc66e7c43f9e71">delete_channel()</a>, <a class="el" href="channel__manager_8h.html#aa566525d763648474609180b8348ed87">delete_channellist()</a>, <a class="el" href="index__manager_8h.html#a02ddb84f0afb66d882fd5c795e35e7a9">delete_COD()</a>, <a class="el" href="index__manager_8h.html#a8547a6683f5846c256ed1a0b5a55ad29">delete_index()</a>, <a class="el" href="msgqueue__manager_8h.html#af5fa6e0b27c0fb48ef6e0acc09c96b88">delete_message_in_msgqueue()</a>, <a class="el" href="msgqueue__manager_8h.html#aff1807285e0f47bbea20d5a6473dd08f">delete_msgqueue()</a>, <a class="el" href="query__parser_8h.html#af45bdebdc292d23fd9816e980320227f">delete_query()</a>, <a class="el" href="session__manager_8h.html#a8a988f84471ec85e0c4b586d0b976dee">delete_session()</a>, <a class="el" href="session__manager_8h.html#a1966edbca375ecbe0f673f3768f95e8e">delete_sessionlist()</a>, <a class="el" href="target__manager_8h.html#ab1b6dde48f43ef27ae5c48582412d5e9">delete_target()</a>, <a class="el" href="target__manager_8h.html#a6cb2e1815fd26100a528370452c20945">delete_targetlist()</a>, <a class="el" href="openjpip_8h.html#ab156b0a2b84b452a759cd7657a4f3585">destroy_jpipdecoder()</a>, <a class="el" href="openjpip_8h.html#af7bc76c0c6c484227e8440cc87567158">fread_jpip()</a>, <a class="el" href="bench__dwt_8c.html#a0988bd373c25899399a35bf51502ecba">free_tilec()</a>, <a class="el" href="openjpip_8h.html#a191391a64b5ce564276e3ed5f9ac138b">get_index_from_JP2file()</a>, <a class="el" href="jpipstream__manager_8h.html#a38dc84677da3c6c449d00254f62624e7">get_SIZ_from_jpipstream()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#aa47b5aa4364e9df31b03eca619009445">handle_CIDreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#a1b541c52a440a95733cd0f961189ad5a">handle_dstCIDreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#a163197f925cd8d6f60da5b6151e01c3b">handle_JP2saveMSG()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#ab4022f5e297b5d3a456cd841c3902675">handle_JPIPstreamMSG()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#ac1721ebe188622dcbd80540e1bc4a237">handle_PNMreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#a98cac1bbde27cbbd1d4292985b3f5b49">handle_SIZreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#a86f804d83268e44baef977b7b54cbbcc">handle_TIDreqMSG()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#a22becf5f598618de947805f858b1a617">handle_XMLreqMSG()</a>, <a class="el" href="auxtrans__manager_8c.html#a728ad6700ddf9f738b3ac5a1ac69f379">identify_cid()</a>, <a class="el" href="j2k_8h.html#a5836409e5b74b5a9b356e6f24cb9ade8">j2k_destroy_cstr_index()</a>, <a class="el" href="j2k_8h.html#aab1aefcf177ba3726b29afec69993f6b">j2k_get_cstr_index()</a>, <a class="el" href="jpip
2015-07-10 18:06:19 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="ga49c70931cbed786f6eef5f095bcb2917"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga49c70931cbed786f6eef5f095bcb2917">&#9670;&nbsp;</a></span>opj_malloc()</h2>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname">void* opj_malloc </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2016-09-29 22:38:29 +02:00
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em></td><td>)</td>
2015-07-10 18:06:19 +02:00
<td></td>
</tr>
</table>
</div><div class="memdoc">
2016-09-29 22:38:29 +02:00
<p>Allocate an uninitialized memory block. </p>
2015-07-10 18:06:19 +02:00
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
2016-09-29 22:38:29 +02:00
<tr><td class="paramname">size</td><td>Bytes to allocate </td></tr>
2015-07-10 18:06:19 +02:00
</table>
</dd>
</dl>
2016-09-29 22:38:29 +02:00
<dl class="section return"><dt>Returns</dt><dd>Returns a void pointer to the allocated space, or NULL if there is insufficient memory available </dd></dl>
2015-07-10 18:06:19 +02:00
2019-04-02 16:25:55 +02:00
<p class="reference">Referenced by <a class="el" href="jp2k__encoder_8c.html#acb31f818ceb9ea74dccfe83f60d6efe9">add_emptyboxstream()</a>, <a class="el" href="jp2k__encoder_8c.html#ada9269418104e1a801c3fbc48abab900">add_emptytilestream()</a>, <a class="el" href="jp2k__encoder_8c.html#ae5459f58e429f9830d5755dfa2d41762">add_EOC()</a>, <a class="el" href="jp2k__encoder_8c.html#a7cbcd4b8d0f130426d34bdc3571463fc">add_msgstream()</a>, <a class="el" href="jp2k__encoder_8c.html#ac1276154f08d80dc0c19413473b67f06">add_padding()</a>, <a class="el" href="jp2k__encoder_8c.html#a1feca341393458d09eecb6caad32371a">add_SOTmkr()</a>, <a class="el" href="auxtrans__manager_8c.html#a1b2a6aa920175602327fffe3680d20a4">aux_streaming()</a>, <a class="el" href="msgqueue__manager_8h.html#a0a6f0ae1b724d1ccb7852f3e4ef1fd32">enqueue_mainheader()</a>, <a class="el" href="msgqueue__manager_8h.html#afd5f028cafe553d84aa7545ee5837d66">enqueue_precinct()</a>, <a class="el" href="msgqueue__manager_8h.html#a4982e5cda507b39bfc074b4c4b60e3ae">enqueue_tile()</a>, <a class="el" href="msgqueue__manager_8h.html#a3280c3cd4e26ac1e3bdd27d6f5bbf999">enqueue_tileheader()</a>, <a class="el" href="openjpip_8h.html#af7bc76c0c6c484227e8440cc87567158">fread_jpip()</a>, <a class="el" href="auxtrans__manager_8c.html#acfaceca38039d2821be9d5faca98d850">gene_auxresponse()</a>, <a class="el" href="cachemodel__manager_8h.html#a8536ce465d342e4cd99e618c4c20e6d7">gene_cachemodel()</a>, <a class="el" href="cachemodel__manager_8h.html#aa9ed9725968b7cad5746bf371185ddf6">gene_cachemodellist()</a>, <a class="el" href="channel__manager_8h.html#ad007e8ea5019112156d30e9de4619a79">gene_channel()</a>, <a class="el" href="channel__manager_8h.html#aa7cd20c99fb2c7f4e2854b5665f07d31">gene_channellist()</a>, <a class="el" href="jp2k__encoder_8c.html#affa54decbec4f048e57f8ffa3365db8c">gene_emptytilestream()</a>, <a class="el" href="msgqueue__manager_8c.html#aacb32a9ce4685a5a41c52f98158ae5a8">gene_metamsg()</a>, <a class="el" href="msgqueue__manager_8h.html#a122b60ed8a415bb0ded95b2476c6a62c">gene_msgqueue()</a>, <a class="el" href="jp2k__encoder_8c.html#a9e6eb1f085d224c1aa2b93bfa4b8620a">gene_msgstream()</a>, <a class="el" href="session__manager_8h.html#adf5841c3d4f97b49c02bfa9919aa5eea">gene_session()</a>, <a class="el" href="session__manager_8h.html#a90a84c5d74e54bad1d6350cac56a79cc">gene_sessionlist()</a>, <a class="el" href="target__manager_8h.html#afff9d3a8abcbaa01253c294506dc96ba">gene_target()</a>, <a class="el" href="target__manager_8h.html#a388cd6fd34254f96a49a4697b2c75051">gene_targetlist()</a>, <a class="el" href="j2kheader__manager_8c.html#ae1684855661e9a592d1071caab77ccd6">get_CODmkrdata_from_j2kstream()</a>, <a class="el" href="openjpip_8h.html#a191391a64b5ce564276e3ed5f9ac138b">get_index_from_JP2file()</a>, <a class="el" href="query__parser_8c.html#abf1c47790bd59fe21716f5eb182ff4c9">get_initquery()</a>, <a class="el" href="jpipstream__manager_8h.html#a38dc84677da3c6c449d00254f62624e7">get_SIZ_from_jpipstream()</a>, <a class="el" href="dec__clientmsg__handler_8h.html#a22becf5f598618de947805f858b1a617">handle_XMLreqMSG()</a>, <a class="el" href="openjpip_8h.html#ae5c902178b9b0aa3b752de016a1074d7">init_dec_server()</a>, <a class="el" href="bench__dwt_8c.html#af9c196f81133ceb1f18310c49b4e8137">init_tilec()</a>, <a class="el" href="j2k_8h.html#aab1aefcf177ba3726b29afec69993f6b">j2k_get_cstr_index()</a>, <a class="el" href="target__manager_8c.html#ae6c0ecb49c166bff41fafbfc96543dfd">open_jp2file()</a>, <a class="el" href="group___b_i_o.html#ga00f1d2645b33a7281e2b2dbc20079957">opj_bio_create()</a>, <a class="el" href="group___i_m_a_g_e.html#ga3802de36855e5331f4d6c04bc1b732a3">opj_copy_image_header()</a>, <a class="el" href="group___d_w_t.html#ga473550255363b8acb0c9b10a6dbac434">opj_dwt_decode_tile()</a>, <a class="el" href="group___d_w_t.html#gaf5d11346c5468f428d60d40e7dfced26">opj_dwt_encode_procedure()</a>, <a class="el" href="group___j2_k.html#ga93c427570cd64ccf93869885ad0e4089">opj_j2k_add_mct()</a>, <a class="el" href="group___j2_k.html#gadaffc1a68a7cbfe82eca1f66e557d78d">opj_j2k_copy_def
2015-07-10 18:06:19 +02:00
</div>
</div>
2019-04-02 16:25:55 +02:00
<a id="ga95862b2a456efdc436c61beba816fb25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga95862b2a456efdc436c61beba816fb25">&#9670;&nbsp;</a></span>opj_realloc()</h2>
2015-07-10 18:06:19 +02:00
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
2016-09-29 22:38:29 +02:00
<td class="memname">void* opj_realloc </td>
2015-07-10 18:06:19 +02:00
<td>(</td>
2016-09-29 22:38:29 +02:00
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>m</em>, </td>
2015-07-10 18:06:19 +02:00
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
2016-09-29 22:38:29 +02:00
<td class="paramname"><em>s</em>&#160;</td>
2015-07-10 18:06:19 +02:00
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
2016-09-29 22:38:29 +02:00
<p>Reallocate memory blocks. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">m</td><td>Pointer to previously allocated memory block </td></tr>
<tr><td class="paramname">s</td><td>New size in bytes </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns a void pointer to the reallocated (and possibly moved) memory block </dd></dl>
2015-07-10 18:06:19 +02:00
2019-04-02 16:25:55 +02:00
<p class="reference">Referenced by <a class="el" href="group___j2_k.html#ga1d489122afdca01a88af3e7fe4fbc264">opj_j2k_add_mhmarker()</a>, <a class="el" href="group___j2_k.html#gac5cf290f62c510f4896ad41f872336a7">opj_j2k_add_tlmarker()</a>, <a class="el" href="j2k_8h.html#af05dd7eedf751beb0033ac42de564fcc">opj_j2k_encode()</a>, <a class="el" href="group___j2_k.html#ga445c467bde1da70f07c2cdcd3ffbc25c">opj_j2k_read_header_procedure()</a>, <a class="el" href="group___j2_k.html#ga0f83c1c3390f6368061b89b0e4dad91b">opj_j2k_read_mcc()</a>, <a class="el" href="group___j2_k.html#ga191850876c179e6f0ce484888df823ad">opj_j2k_read_mct()</a>, <a class="el" href="group___j2_k.html#ga49665d853cbf934ca7ad0f83f4185a90">opj_j2k_read_ppm()</a>, <a class="el" href="group___j2_k.html#ga7715f2d96c40992acf9fd7739179b7ca">opj_j2k_read_ppt()</a>, <a class="el" href="group___j2_k.html#gaf1ac6b62e18b03816163369ec3a81eff">opj_j2k_read_sod()</a>, <a class="el" href="group___j2_k.html#ga935e4014c63e07bf19ad99584f6de430">opj_j2k_read_sot()</a>, <a class="el" href="j2k_8h.html#a25b7b51949ceea33515984f1db2f594d">opj_j2k_read_tile_header()</a>, <a class="el" href="j2k_8h.html#ae55b2dc8100b811f13db30d6dc7e39d6">opj_j2k_setup_mct_encoding()</a>, <a class="el" href="group___j2_k.html#gab8c3c34855da54058f57a8aeeb14b565">opj_j2k_write_cbd()</a>, <a class="el" href="group___j2_k.html#ga64f4adc973436b83d79df04519964dc3">opj_j2k_write_coc()</a>, <a class="el" href="group___j2_k.html#gad2719d3763be720f09523fd9e17a2f21">opj_j2k_write_cod()</a>, <a class="el" href="group___j2_k.html#ga99a6490d59813c3302a7c1cfe9f81c17">opj_j2k_write_com()</a>, <a class="el" href="group___j2_k.html#gadb0a1bd6194424f47603fbeb4913afff">opj_j2k_write_mcc_record()</a>, <a class="el" href="group___j2_k.html#ga91912b9fd60e738a2476a2f759cd1298">opj_j2k_write_mco()</a>, <a class="el" href="group___j2_k.html#ga06dadd536dc59eabc14e7f89b22b6cc3">opj_j2k_write_mct_record()</a>, <a class="el" href="group___j2_k.html#ga48135c3b26ebe22d53d8f790b803dbc3">opj_j2k_write_poc()</a>, <a class="el" href="group___j2_k.html#ga6ad30a7674c00e6a8b3c9f2131883fbe">opj_j2k_write_qcc()</a>, <a class="el" href="group___j2_k.html#ga9839ebcd3d0e371137ac8d1f8c3bf89c">opj_j2k_write_qcd()</a>, <a class="el" href="group___j2_k.html#gaf495487cb111ddad7ee2d2093d0659a1">opj_j2k_write_siz()</a>, <a class="el" href="group___j2_k.html#ga9b649d1ff3d3aeb6f444405a8d82306e">opj_j2k_write_tlm()</a>, <a class="el" href="jp2_8c.html#adcd6dc192302ff32ffbaa079c01a66d8">opj_jp2_read_header_procedure()</a>, <a class="el" href="group___v_a_l.html#ga504334e4d2e64b16372e70f6c7a9d3e2">opj_procedure_list_add_procedure()</a>, <a class="el" href="group___t1.html#gab90391839b2f56ca40aaae1b8748ca3c">opj_t1_decode_cblk()</a>, <a class="el" href="group___t2.html#gad67d6a1f55a28ca417178f573636a931">opj_t2_init_seg()</a>, <a class="el" href="group___t2.html#ga1ad0998fa29444d7f3a4ad4f5685a045">opj_t2_read_packet_data()</a>, <a class="el" href="tcd_8c.html#a54bd587a88cc401980302d13635b2703">opj_tcd_init_tile()</a>, <a class="el" href="group___t_g_t.html#gaa34fdf087e24d66a2a661c31ba194c3f">opj_tgt_init()</a>, and <a class="el" href="group___t_h_r_e_a_d.html#gab1b97098aabc89f98eca8f8f7274f3e7">opj_tls_set()</a>.</p>
2015-07-10 18:06:19 +02:00
</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"/>
2019-04-02 16:25:55 +02:00
</a> 1.8.13
2015-07-10 18:06:19 +02:00
</small></address>
</body>
</html>