openjpeg/doxygen/sparse__array_8h.html

101 lines
12 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: sparse_array.h 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.3.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_68013e83e260d17d49dee5e209315608.html">openjp2</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">sparse_array.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Sparse array management.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="opj__includes_8h_source.html">opj_includes.h</a>&quot;</code><br />
</div>
<p><a href="sparse__array_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gab63770624f4ec03e6e022c6a0b80e6ff"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structopj__sparse__array__int32.html">opj_sparse_array_int32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#gab63770624f4ec03e6e022c6a0b80e6ff">opj_sparse_array_int32_t</a></td></tr>
<tr class="memdesc:gab63770624f4ec03e6e022c6a0b80e6ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opaque type for sparse arrays that contain int32 values. <a href="group___s_p_a_r_s_e___a_r_r_a_y.html#gab63770624f4ec03e6e022c6a0b80e6ff">More...</a><br /></td></tr>
<tr class="separator:gab63770624f4ec03e6e022c6a0b80e6ff"><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:ga41953de4fab74677337c2597a67c9843"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#gab63770624f4ec03e6e022c6a0b80e6ff">opj_sparse_array_int32_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><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="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> width, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> height, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> block_width, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> block_height)</td></tr>
<tr class="memdesc:ga41953de4fab74677337c2597a67c9843"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new sparse array. <a href="group___s_p_a_r_s_e___a_r_r_a_y.html#ga41953de4fab74677337c2597a67c9843">More...</a><br /></td></tr>
<tr class="separator:ga41953de4fab74677337c2597a67c9843"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad70f920d05b4915853b474d010a9a336"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#gad70f920d05b4915853b474d010a9a336">opj_sparse_array_int32_free</a> (<a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#gab63770624f4ec03e6e022c6a0b80e6ff">opj_sparse_array_int32_t</a> *sa)</td></tr>
<tr class="memdesc:gad70f920d05b4915853b474d010a9a336"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees a sparse array. <a href="group___s_p_a_r_s_e___a_r_r_a_y.html#gad70f920d05b4915853b474d010a9a336">More...</a><br /></td></tr>
<tr class="separator:gad70f920d05b4915853b474d010a9a336"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b5c5075af6a30d35569e4378931ed4c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#ga2b5c5075af6a30d35569e4378931ed4c">opj_sparse_array_is_region_valid</a> (const <a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#gab63770624f4ec03e6e022c6a0b80e6ff">opj_sparse_array_int32_t</a> *sa, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> x0, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> y0, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> x1, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> y1)</td></tr>
<tr class="memdesc:ga2b5c5075af6a30d35569e4378931ed4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether region bounds are valid (non empty and within array bounds) <a href="group___s_p_a_r_s_e___a_r_r_a_y.html#ga2b5c5075af6a30d35569e4378931ed4c">More...</a><br /></td></tr>
<tr class="separator:ga2b5c5075af6a30d35569e4378931ed4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga092675bfa99d062ce36fa45aff4766da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#ga092675bfa99d062ce36fa45aff4766da">opj_sparse_array_int32_read</a> (const <a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#gab63770624f4ec03e6e022c6a0b80e6ff">opj_sparse_array_int32_t</a> *sa, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> x0, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> y0, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> x1, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> y1, <a class="el" href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a> *dest, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> dest_col_stride, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> dest_line_stride, <a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> forgiving)</td></tr>
<tr class="memdesc:ga092675bfa99d062ce36fa45aff4766da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the content of a rectangular region of the sparse array into a user buffer. <a href="group___s_p_a_r_s_e___a_r_r_a_y.html#ga092675bfa99d062ce36fa45aff4766da">More...</a><br /></td></tr>
<tr class="separator:ga092675bfa99d062ce36fa45aff4766da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga174b3ef4cb89af58cdd7c2b9f0a20559"><td class="memItemLeft" align="right" valign="top"><a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#ga174b3ef4cb89af58cdd7c2b9f0a20559">opj_sparse_array_int32_write</a> (<a class="el" href="group___s_p_a_r_s_e___a_r_r_a_y.html#gab63770624f4ec03e6e022c6a0b80e6ff">opj_sparse_array_int32_t</a> *sa, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> x0, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> y0, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> x1, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> y1, const <a class="el" href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a> *src, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> src_col_stride, <a class="el" href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a> src_line_stride, <a class="el" href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a> forgiving)</td></tr>
<tr class="memdesc:ga174b3ef4cb89af58cdd7c2b9f0a20559"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the content of a rectangular region into the sparse array from a user buffer. <a href="group___s_p_a_r_s_e___a_r_r_a_y.html#ga174b3ef4cb89af58cdd7c2b9f0a20559">More...</a><br /></td></tr>
<tr class="separator:ga174b3ef4cb89af58cdd7c2b9f0a20559"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Sparse array management. </p>
<p>The functions in this file manage sparse arrays. Sparse arrays are arrays with potential big dimensions, but with very few samples actually set. Such sparse arrays require allocating a low amount of memory, by just allocating memory for blocks of the array that are set. The minimum memory allocation unit is a a block. There is a trade-off to pick up an appropriate dimension for blocks. If it is too big, and pixels set are far from each other, too much memory will be used. If blocks are too small, the book-keeping costs of blocks will raise. </p>
</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>