<ahref="tcd_8h.html">Go to the documentation of this file.</a><divclass="fragment"><divclass="line"><aname="l00001"></a><spanclass="lineno"> 1</span> <spanclass="comment">/*</span></div>
<divclass="line"><aname="l00002"></a><spanclass="lineno"> 2</span> <spanclass="comment"> * The copyright in this software is being made available under the 2-clauses </span></div>
<divclass="line"><aname="l00003"></a><spanclass="lineno"> 3</span> <spanclass="comment"> * BSD License, included below. This software may be subject to other third </span></div>
<divclass="line"><aname="l00004"></a><spanclass="lineno"> 4</span> <spanclass="comment"> * party and contributor rights, including patent rights, and no such rights</span></div>
<divclass="line"><aname="l00005"></a><spanclass="lineno"> 5</span> <spanclass="comment"> * are granted under this license.</span></div>
<divclass="line"><aname="l00018"></a><spanclass="lineno"> 18</span> <spanclass="comment"> * Redistribution and use in source and binary forms, with or without</span></div>
<divclass="line"><aname="l00019"></a><spanclass="lineno"> 19</span> <spanclass="comment"> * modification, are permitted provided that the following conditions</span></div>
<divclass="line"><aname="l00020"></a><spanclass="lineno"> 20</span> <spanclass="comment"> * are met:</span></div>
<divclass="line"><aname="l00021"></a><spanclass="lineno"> 21</span> <spanclass="comment"> * 1. Redistributions of source code must retain the above copyright</span></div>
<divclass="line"><aname="l00022"></a><spanclass="lineno"> 22</span> <spanclass="comment"> * notice, this list of conditions and the following disclaimer.</span></div>
<divclass="line"><aname="l00023"></a><spanclass="lineno"> 23</span> <spanclass="comment"> * 2. Redistributions in binary form must reproduce the above copyright</span></div>
<divclass="line"><aname="l00024"></a><spanclass="lineno"> 24</span> <spanclass="comment"> * notice, this list of conditions and the following disclaimer in the</span></div>
<divclass="line"><aname="l00025"></a><spanclass="lineno"> 25</span> <spanclass="comment"> * documentation and/or other materials provided with the distribution.</span></div>
<divclass="line"><aname="l00027"></a><spanclass="lineno"> 27</span> <spanclass="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'</span></div>
<divclass="line"><aname="l00028"></a><spanclass="lineno"> 28</span> <spanclass="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</span></div>
<divclass="line"><aname="l00029"></a><spanclass="lineno"> 29</span> <spanclass="comment"> * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</span></div>
<divclass="line"><aname="l00030"></a><spanclass="lineno"> 30</span> <spanclass="comment"> * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE</span></div>
<divclass="line"><aname="l00031"></a><spanclass="lineno"> 31</span> <spanclass="comment"> * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR</span></div>
<divclass="line"><aname="l00032"></a><spanclass="lineno"> 32</span> <spanclass="comment"> * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF</span></div>
<divclass="line"><aname="l00033"></a><spanclass="lineno"> 33</span> <spanclass="comment"> * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS</span></div>
<divclass="line"><aname="l00034"></a><spanclass="lineno"> 34</span> <spanclass="comment"> * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN</span></div>
<divclass="line"><aname="l00035"></a><spanclass="lineno"> 35</span> <spanclass="comment"> * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)</span></div>
<divclass="line"><aname="l00036"></a><spanclass="lineno"> 36</span> <spanclass="comment"> * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div>
<divclass="line"><aname="l00037"></a><spanclass="lineno"> 37</span> <spanclass="comment"> * POSSIBILITY OF SUCH DAMAGE.</span></div>
<divclass="line"><aname="l00080"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__layer.html#ad2fc0922aeaf20e439f7a0cb77516a90"> 80</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__layer.html#ad2fc0922aeaf20e439f7a0cb77516a90">numpasses</a>; <spanclass="comment">/* Number of passes in the layer */</span></div>
<divclass="line"><aname="l00081"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__layer.html#a0420c0a82e0ab4c859c5b47ef1576839"> 81</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__layer.html#a0420c0a82e0ab4c859c5b47ef1576839">len</a>; <spanclass="comment">/* len of information */</span></div>
<divclass="line"><aname="l00082"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__layer.html#ad124ec7715f3ea7b1714fbd97ecc80d0"> 82</a></span> <aclass="code"href="openjpeg_8h.html#a2e5e9eaf3c126e11d1f058b78a0bce78">OPJ_FLOAT64</a><aclass="code"href="structopj__tcd__layer.html#ad124ec7715f3ea7b1714fbd97ecc80d0">disto</a>; <spanclass="comment">/* add for index (Cfr. Marcela) */</span></div>
<divclass="line"><aname="l00083"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__layer.html#a29ce8c25f5dfd4aaa034e91cf19742e6"> 83</a></span> <aclass="code"href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> *<aclass="code"href="structopj__tcd__layer.html#a29ce8c25f5dfd4aaa034e91cf19742e6">data</a>; <spanclass="comment">/* data */</span></div>
<divclass="line"><aname="l00090"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__enc.html#a3f47ae68181f7dcbb4135d41e422cbb3"> 90</a></span> <aclass="code"href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a>* <aclass="code"href="structopj__tcd__cblk__enc.html#a3f47ae68181f7dcbb4135d41e422cbb3">data</a>; <spanclass="comment">/* Data */</span></div>
<divclass="line"><aname="l00091"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__enc.html#a4529ec0954ea017afd33a5c2b771e653"> 91</a></span> <aclass="code"href="structopj__tcd__layer.html">opj_tcd_layer_t</a>* <aclass="code"href="structopj__tcd__cblk__enc.html#a4529ec0954ea017afd33a5c2b771e653">layers</a>; <spanclass="comment">/* layer information */</span></div>
<divclass="line"><aname="l00092"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__enc.html#a5fd8985b3b27f790691eb09533bc45a3"> 92</a></span> <aclass="code"href="structopj__tcd__pass.html">opj_tcd_pass_t</a>* <aclass="code"href="structopj__tcd__cblk__enc.html#a5fd8985b3b27f790691eb09533bc45a3">passes</a>; <spanclass="comment">/* information about the passes */</span></div>
<divclass="line"><aname="l00093"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__enc.html#afe70af4a1cd62891dc9700e19d5be2e9"> 93</a></span> <aclass="code"href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a><aclass="code"href="structopj__tcd__cblk__enc.html#aa73a8d69a9328bba884b01512fea55a9">x0</a>, <aclass="code"href="structopj__tcd__cblk__enc.html#a71c810a87fd11dcbd742e542a0142476">y0</a>, <aclass="code"href="structopj__tcd__cblk__enc.html#a2cdd8cea6537df7248ce0d999d4aa402">x1</a>, <aclass="code"href="structopj__tcd__cblk__enc.html#afe70af4a1cd62891dc9700e19d5be2e9">y1</a>; <spanclass="comment">/* dimension of the code-blocks : left upper corner (x0, y0) right low corner (x1,y1) */</span></div>
<divclass="line"><aname="l00096"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__enc.html#aacf85212bf2c5ea710d38451c6c7f8d6"> 96</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__cblk__enc.html#aacf85212bf2c5ea710d38451c6c7f8d6">data_size</a>; <spanclass="comment">/* Size of allocated data buffer */</span></div>
<divclass="line"><aname="l00097"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__enc.html#a69335861781a0388539bb58295749119"> 97</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__cblk__enc.html#a69335861781a0388539bb58295749119">numpasses</a>; <spanclass="comment">/* number of pass already done for the code-blocks */</span></div>
<divclass="line"><aname="l00098"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__enc.html#abf26a00fd3661d98df0831a17ff37cd0"> 98</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__cblk__enc.html#abf26a00fd3661d98df0831a17ff37cd0">numpassesinlayers</a>; <spanclass="comment">/* number of passes in the layer */</span></div>
<divclass="line"><aname="l00099"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__enc.html#aa016b9dec075b59c3ff5faa47f099afc"> 99</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__cblk__enc.html#aa016b9dec075b59c3ff5faa47f099afc">totalpasses</a>; <spanclass="comment">/* total number of passes */</span></div>
<divclass="line"><aname="l00104"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__dec.html#afd1ce42396bcf9917797c511414d7baa"> 104</a></span> <aclass="code"href="openjpeg_8h.html#a22de44e15bddae7edfacf4e9ac9bb199">OPJ_BYTE</a> * <aclass="code"href="structopj__tcd__cblk__dec.html#afd1ce42396bcf9917797c511414d7baa">data</a>; <spanclass="comment">/* Data */</span></div>
<divclass="line"><aname="l00105"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__dec.html#a541548bb8a4343cb86bd3060653c6fd4"> 105</a></span> <aclass="code"href="structopj__tcd__seg.html">opj_tcd_seg_t</a>* <aclass="code"href="structopj__tcd__cblk__dec.html#a541548bb8a4343cb86bd3060653c6fd4">segs</a>; <spanclass="comment">/* segments information */</span></div>
<divclass="line"><aname="l00106"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__dec.html#abb854a054640a376a9e9445abddb7c4a"> 106</a></span> <aclass="code"href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a><aclass="code"href="structopj__tcd__cblk__dec.html#aeb0a80dd174713abc3744560abf10dbe">x0</a>, <aclass="code"href="structopj__tcd__cblk__dec.html#a3f2e8149bda51a5e6bf06377411adffb">y0</a>, <aclass="code"href="structopj__tcd__cblk__dec.html#a1a1324079114684b8f9343748f4f0bd0">x1</a>, <aclass="code"href="structopj__tcd__cblk__dec.html#abb854a054640a376a9e9445abddb7c4a">y1</a>; <spanclass="comment">/* position of the code-blocks : left upper corner (x0, y0) right low corner (x1,y1) */</span></div>
<divclass="line"><aname="l00109"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__dec.html#a6812028383f43f4e423c125e04d60b98"> 109</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__cblk__dec.html#a6812028383f43f4e423c125e04d60b98">data_max_size</a>; <spanclass="comment">/* Size of allocated data buffer */</span></div>
<divclass="line"><aname="l00110"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__dec.html#a627ce2140aacdf61e5e1ee78458db946"> 110</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__cblk__dec.html#a627ce2140aacdf61e5e1ee78458db946">data_current_size</a>; <spanclass="comment">/* Size of used data buffer */</span></div>
<divclass="line"><aname="l00111"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__dec.html#a9b14af063429f731507b115fe7030e4a"> 111</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__cblk__dec.html#a9b14af063429f731507b115fe7030e4a">numnewpasses</a>; <spanclass="comment">/* number of pass added to the code-blocks */</span></div>
<divclass="line"><aname="l00112"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__cblk__dec.html#ab2a728b464389abbe87718c250c99d2a"> 112</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__cblk__dec.html#ab2a728b464389abbe87718c250c99d2a">numsegs</a>; <spanclass="comment">/* number of segments */</span></div>
<divclass="line"><aname="l00121"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__precinct.html#a6cb03251b051b398a76f0606eed18389"> 121</a></span> <aclass="code"href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a><aclass="code"href="structopj__tcd__precinct.html#a7b88b19a187f8462da1e734c37eeb913">x0</a>, <aclass="code"href="structopj__tcd__precinct.html#a0e4607b3ab3450c97f6308d5ca8f3811">y0</a>, <aclass="code"href="structopj__tcd__precinct.html#a4a6359c91fe84fc23ffbad7296a13404">x1</a>, <aclass="code"href="structopj__tcd__precinct.html#a6cb03251b051b398a76f0606eed18389">y1</a>; <spanclass="comment">/* dimension of the precinct : left upper corner (x0, y0) right low corner (x1,y1) */</span></div>
<divclass="line"><aname="l00122"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__precinct.html#ad89267dc061dd398fefad52194a4041f"> 122</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__precinct.html#ad89267dc061dd398fefad52194a4041f">cw</a>, <aclass="code"href="structopj__tcd__precinct.html#a03678b6a4ee6ade3d5cb30eee661a236">ch</a>; <spanclass="comment">/* number of precinct in width and height */</span></div>
<divclass="line"><aname="l00123"></a><spanclass="lineno"> 123</span> <spanclass="keyword">union</span>{ <spanclass="comment">/* code-blocks information */</span></div>
<divclass="line"><aname="l00128"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__precinct.html#a1f4d3180c8851cbf52bcd1ac4bb4173b"> 128</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__precinct.html#a1f4d3180c8851cbf52bcd1ac4bb4173b">block_size</a>; <spanclass="comment">/* size taken by cblks (in bytes) */</span></div>
<divclass="line"><aname="l00129"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__precinct.html#a4845cb083569e62fe634e67c5ab2fcd9"> 129</a></span> <aclass="code"href="structopj__tgt__tree.html">opj_tgt_tree_t</a> *<aclass="code"href="structopj__tcd__precinct.html#a4845cb083569e62fe634e67c5ab2fcd9">incltree</a>; <spanclass="comment">/* inclusion tree */</span></div>
<divclass="line"><aname="l00130"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__precinct.html#a716db0109a0f110aba9807ea06e68b4d"> 130</a></span> <aclass="code"href="structopj__tgt__tree.html">opj_tgt_tree_t</a> *<aclass="code"href="structopj__tcd__precinct.html#a716db0109a0f110aba9807ea06e68b4d">imsbtree</a>; <spanclass="comment">/* IMSB tree */</span></div>
<divclass="line"><aname="l00139"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__band.html#a09f58aba8a9216e75fde1c107d68660f"> 139</a></span> <aclass="code"href="structopj__tcd__precinct.html">opj_tcd_precinct_t</a> *<aclass="code"href="structopj__tcd__band.html#a09f58aba8a9216e75fde1c107d68660f">precincts</a>; <spanclass="comment">/* precinct information */</span></div>
<divclass="line"><aname="l00140"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__band.html#ace4218ae50238d7e7babeb66f5b8f6f3"> 140</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__band.html#ace4218ae50238d7e7babeb66f5b8f6f3">precincts_data_size</a>; <spanclass="comment">/* size of data taken by precincts */</span></div>
<divclass="line"><aname="l00151"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__resolution.html#afc311b6c76795f76f3dfc9a453b21c39"> 151</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__resolution.html#afc311b6c76795f76f3dfc9a453b21c39">numbands</a>; <spanclass="comment">/* number sub-band for the resolution level */</span></div>
<divclass="line"><aname="l00152"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__resolution.html#a11ecca43c1f72e70c44e0b9746817a05"> 152</a></span> <aclass="code"href="structopj__tcd__band.html">opj_tcd_band_t</a><aclass="code"href="structopj__tcd__resolution.html#a11ecca43c1f72e70c44e0b9746817a05">bands</a>[3]; <spanclass="comment">/* subband information */</span></div>
<divclass="line"><aname="l00160"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#abddb012879ff43b18cf1e9643ee52ed7"> 160</a></span> <aclass="code"href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a><aclass="code"href="structopj__tcd__tilecomp.html#a38cdc1ca5c18fa64e2dabfb025dd9784">x0</a>, <aclass="code"href="structopj__tcd__tilecomp.html#aa2d91a59c90ce843a617f1e923d6cb0d">y0</a>, <aclass="code"href="structopj__tcd__tilecomp.html#a0209cbaa880e6901e3a2aec6c108b982">x1</a>, <aclass="code"href="structopj__tcd__tilecomp.html#abddb012879ff43b18cf1e9643ee52ed7">y1</a>; <spanclass="comment">/* dimension of component : left upper corner (x0, y0) right low corner (x1,y1) */</span></div>
<divclass="line"><aname="l00161"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#a87fdaafd21fd5909fac88e866ba66ac6"> 161</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__tilecomp.html#a87fdaafd21fd5909fac88e866ba66ac6">numresolutions</a>; <spanclass="comment">/* number of resolutions level */</span></div>
<divclass="line"><aname="l00162"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#a72eb32895dd9ec7362da633609d3a2e0"> 162</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__tilecomp.html#a72eb32895dd9ec7362da633609d3a2e0">minimum_num_resolutions</a>; <spanclass="comment">/* number of resolutions level to decode (at max)*/</span></div>
<divclass="line"><aname="l00163"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#a98466597d37dad1b049ffae6b9722885"> 163</a></span> <aclass="code"href="structopj__tcd__resolution.html">opj_tcd_resolution_t</a> *<aclass="code"href="structopj__tcd__tilecomp.html#a98466597d37dad1b049ffae6b9722885">resolutions</a>; <spanclass="comment">/* resolutions information */</span></div>
<divclass="line"><aname="l00164"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#aec71e5f95df985b2677f0e9da13f8b80"> 164</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__tilecomp.html#aec71e5f95df985b2677f0e9da13f8b80">resolutions_size</a>; <spanclass="comment">/* size of data for resolutions (in bytes) */</span></div>
<divclass="line"><aname="l00165"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#ad5618371884e54026423ef59e57395d8"> 165</a></span> <aclass="code"href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a> *<aclass="code"href="structopj__tcd__tilecomp.html#ad5618371884e54026423ef59e57395d8">data</a>; <spanclass="comment">/* data of the component */</span></div>
<divclass="line"><aname="l00166"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#abc7937bdebf4ee162897701b784cbd34"> 166</a></span> <aclass="code"href="openjpeg_8h.html#abb5dad6294f4611f1925388e919b16f4">OPJ_BOOL</a><aclass="code"href="structopj__tcd__tilecomp.html#abc7937bdebf4ee162897701b784cbd34">ownsData</a>; <spanclass="comment">/* if true, then need to free after usage, otherwise do not free */</span></div>
<divclass="line"><aname="l00167"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#a3023f91bc468df8a0c7414488cad5977"> 167</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__tilecomp.html#a3023f91bc468df8a0c7414488cad5977">data_size_needed</a>; <spanclass="comment">/* we may either need to allocate this amount of data, or re-use image data and ignore this value */</span></div>
<divclass="line"><aname="l00168"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tilecomp.html#a15fd810d7373292f6c568dd016859ba2"> 168</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__tilecomp.html#a15fd810d7373292f6c568dd016859ba2">data_size</a>; <spanclass="comment">/* size of the data of the component */</span></div>
<divclass="line"><aname="l00177"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tile.html#a91fab4e8a0f7cdc1d3977389321dae51"> 177</a></span> <aclass="code"href="openjpeg_8h.html#a3cec91ef9e73677f0dbd60d4e42401b9">OPJ_INT32</a><aclass="code"href="structopj__tcd__tile.html#a317352102ab033a283aa2a10f29b5adc">x0</a>, <aclass="code"href="structopj__tcd__tile.html#a4d9827a5f549b06dbf6c05c721485121">y0</a>, <aclass="code"href="structopj__tcd__tile.html#ae8a77017680c4fea1ee124c9925250e4">x1</a>, <aclass="code"href="structopj__tcd__tile.html#a91fab4e8a0f7cdc1d3977389321dae51">y1</a>; <spanclass="comment">/* dimension of the tile : left upper corner (x0, y0) right low corner (x1,y1) */</span></div>
<divclass="line"><aname="l00178"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tile.html#a02a13a3c111c99e55a96bbb917be7d35"> 178</a></span> <aclass="code"href="openjpeg_8h.html#a4cb1e6e6b6ef2df499d5c02f7df54cbb">OPJ_UINT32</a><aclass="code"href="structopj__tcd__tile.html#a02a13a3c111c99e55a96bbb917be7d35">numcomps</a>; <spanclass="comment">/* number of components in tile */</span></div>
<divclass="line"><aname="l00179"></a><spanclass="lineno"><aclass="line"href="structopj__tcd__tile.html#adfe3ec848812611d8c5bc6b675e3b897"> 179</a></span> <aclass="code"href="structopj__tcd__tilecomp.html">opj_tcd_tilecomp_t</a> *<aclass="code"href="structopj__tcd__tile.html#adfe3ec848812611d8c5bc6b675e3b897">comps</a>; <spanclass="comment">/* Components information */</span></div>
<divclass="line"><aname="l00232"></a><spanclass="lineno"> 232</span> <spanclass="comment">/*void tcd_dump(FILE *fd, opj_tcd_t *tcd, opj_tcd_image_t *img);*/</span><spanclass="comment">/* TODO MSD shoul use the new v2 structures */</span></div>
<divclass="ttc"id="group___t_c_d_html_ga843e261ac54c7f4064bbfc678176a3ce"><divclass="ttname"><ahref="group___t_c_d.html#ga843e261ac54c7f4064bbfc678176a3ce">opj_tcd_create</a></div><divclass="ttdeci">opj_tcd_t * opj_tcd_create(OPJ_BOOL p_is_decoder)</div><divclass="ttdoc">Dump the content of a tcd structure. </div><divclass="ttdef"><b>Definition:</b> tcd.c:185</div></div>
<divclass="ttc"id="structopj__tcd_html_aea33cdf3cbaaa6c0c97635d0a0ec9033"><divclass="ttname"><ahref="structopj__tcd.html#aea33cdf3cbaaa6c0c97635d0a0ec9033">opj_tcd::cur_totnum_tp</a></div><divclass="ttdeci">OPJ_UINT32 cur_totnum_tp</div><divclass="ttdoc">Total number of tileparts of the current tile. </div><divclass="ttdef"><b>Definition:</b> tcd.h:208</div></div>
<divclass="ttc"id="group___t_c_d_html_ga58d2d4d050d187138886215e3ce6ba28"><divclass="ttname"><ahref="group___t_c_d.html#ga58d2d4d050d187138886215e3ce6ba28">opj_tcd_encode_tile</a></div><divclass="ttdeci">OPJ_BOOL opj_tcd_encode_tile(opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, OPJ_BYTE *p_dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_len, struct opj_codestream_info *p_cstr_info)</div><divclass="ttdoc">Encodes a tile from the raw image into the given buffer. </div><divclass="ttdef"><b>Definition:</b> tcd.c:1182</div></div>
<divclass="ttc"id="group___t_c_d_html_ga35c1b4cb094ae87d6bba87f6be7aa183"><divclass="ttname"><ahref="group___t_c_d.html#ga35c1b4cb094ae87d6bba87f6be7aa183">opj_tcd_destroy</a></div><divclass="ttdeci">void opj_tcd_destroy(opj_tcd_t *tcd)</div><divclass="ttdoc">Destroy a previously created TCD handle. </div><divclass="ttdef"><b>Definition:</b> tcd.c:607</div></div>
<divclass="ttc"id="structopj__tcd_html_a06a7759b55b15b195e6af0f4de938775"><divclass="ttname"><ahref="structopj__tcd.html#a06a7759b55b15b195e6af0f4de938775">opj_tcd::m_is_decoder</a></div><divclass="ttdeci">OPJ_UINT32 m_is_decoder</div><divclass="ttdoc">tell if the tcd is a decoder. </div><divclass="ttdef"><b>Definition:</b> tcd.h:222</div></div>
<divclass="ttc"id="group___t_c_d_html_gaee317346b70f250cbe327c3dc2536715"><divclass="ttname"><ahref="group___t_c_d.html#gaee317346b70f250cbe327c3dc2536715">opj_tcd_update_tile_data</a></div><divclass="ttdeci">OPJ_BOOL opj_tcd_update_tile_data(opj_tcd_t *p_tcd, OPJ_BYTE *p_dest, OPJ_UINT32 p_dest_length)</div><divclass="ttdoc">Copies tile data from the system onto the given memory block. </div><divclass="ttdef"><b>Definition:</b> tcd.c:1356</div></div>
<divclass="ttc"id="structopj__image_html"><divclass="ttname"><ahref="structopj__image.html">opj_image</a></div><divclass="ttdoc">Defines image data and characteristics. </div><divclass="ttdef"><b>Definition:</b> openjpeg.h:661</div></div>
<divclass="ttc"id="structopj__tcd_html_a57a0a72c3eeb7b383a62182bd02f6db2"><divclass="ttname"><ahref="structopj__tcd.html#a57a0a72c3eeb7b383a62182bd02f6db2">opj_tcd::tcd_image</a></div><divclass="ttdeci">opj_tcd_image_t * tcd_image</div><divclass="ttdoc">info on each image tile </div><divclass="ttdef"><b>Definition:</b> tcd.h:212</div></div>
<divclass="ttc"id="group___t_c_d_html_gad4c38b7d4cbb4e458fb22fe6c34fcbef"><divclass="ttname"><ahref="group___t_c_d.html#gad4c38b7d4cbb4e458fb22fe6c34fcbef">opj_tcd_init_decode_tile</a></div><divclass="ttdeci">OPJ_BOOL opj_tcd_init_decode_tile(opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, opj_event_mgr_t *p_manager)</div><divclass="ttdoc">Allocates memory for decoding a specific tile. </div><divclass="ttdef"><b>Definition:</b> tcd.c:1058</div></div>
<divclass="ttc"id="group___t_c_d_html_ga81c0eef4bffd1f09d1bd578112aa4bd4"><divclass="ttname"><ahref="group___t_c_d.html#ga81c0eef4bffd1f09d1bd578112aa4bd4">opj_tcd_get_decoded_tile_size</a></div><divclass="ttdeci">OPJ_UINT32 opj_tcd_get_decoded_tile_size(opj_tcd_t *p_tcd)</div><divclass="ttdoc">Gets the maximum tile size that will be taken by the tile once decoded. </div><divclass="ttdef"><b>Definition:</b> tcd.c:1149</div></div>
<divclass="ttc"id="group___t_c_d_html_gafacd81d67fcf710774b642c8f3bf16d8"><divclass="ttname"><ahref="group___t_c_d.html#gafacd81d67fcf710774b642c8f3bf16d8">opj_tcd_init</a></div><divclass="ttdeci">OPJ_BOOL opj_tcd_init(opj_tcd_t *p_tcd, opj_image_t *p_image, opj_cp_t *p_cp)</div><divclass="ttdoc">Initialize the tile coder and may reuse some memory. </div><divclass="ttdef"><b>Definition:</b> tcd.c:581</div></div>
<divclass="ttc"id="structopj__codestream__index_html"><divclass="ttname"><ahref="structopj__codestream__index.html">opj_codestream_index</a></div><divclass="ttdoc">Index structure of the codestream (FIXME should be expand and enhance) </div><divclass="ttdef"><b>Definition:</b> openjpeg.h:990</div></div>
<divclass="ttc"id="group___t_c_d_html_ga261addde80e80a2ad6af635daeb342bb"><divclass="ttname"><ahref="group___t_c_d.html#ga261addde80e80a2ad6af635daeb342bb">opj_tcd_init_encode_tile</a></div><divclass="ttdeci">OPJ_BOOL opj_tcd_init_encode_tile(opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, opj_event_mgr_t *p_manager)</div><divclass="ttdoc">Initialize the tile coder and may reuse some meory. </div><divclass="ttdef"><b>Definition:</b> tcd.c:1053</div></div>
<divclass="ttc"id="group___t_c_d_html_gaaeb620e2e50c06fedec6c88c97a2815a"><divclass="ttname"><ahref="group___t_c_d.html#gaaeb620e2e50c06fedec6c88c97a2815a">opj_tcd_decode_tile</a></div><divclass="ttdeci">OPJ_BOOL opj_tcd_decode_tile(opj_tcd_t *tcd, OPJ_BYTE *src, OPJ_UINT32 len, OPJ_UINT32 tileno, opj_codestream_index_t *cstr_info, opj_event_mgr_t *manager)</div><divclass="ttdoc">Decode a tile from a buffer into a raw image. </div><divclass="ttdef"><b>Definition:</b> tcd.c:1270</div></div>
<divclass="ttc"id="structopj__tcp_html"><divclass="ttname"><ahref="structopj__tcp.html">opj_tcp</a></div><divclass="ttdoc">Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...</div><divclass="ttdef"><b>Definition:</b> j2k.h:246</div></div>
<divclass="ttc"id="structopj__tcd_html_a176cbb807a749ee9c7d5b6fa3c2f6fff"><divclass="ttname"><ahref="structopj__tcd.html#a176cbb807a749ee9c7d5b6fa3c2f6fff">opj_tcd::tcp</a></div><divclass="ttdeci">opj_tcp_t * tcp</div><divclass="ttdoc">coding/decoding parameters common to all tiles </div><divclass="ttdef"><b>Definition:</b> tcd.h:218</div></div>
<divclass="ttc"id="structopj__codestream__info_html"><divclass="ttname"><ahref="structopj__codestream__info.html">opj_codestream_info</a></div><divclass="ttdoc">Index structure of the codestream. </div><divclass="ttdef"><b>Definition:</b> openjpeg.h:803</div></div>
<divclass="ttc"id="group___t_c_d_html_ga878d50b5d131d76a234794300579495d"><divclass="ttname"><ahref="group___t_c_d.html#ga878d50b5d131d76a234794300579495d">opj_tcd_copy_tile_data</a></div><divclass="ttdeci">OPJ_BOOL opj_tcd_copy_tile_data(opj_tcd_t *p_tcd, OPJ_BYTE *p_src, OPJ_UINT32 p_src_length)</div><divclass="ttdoc">Copies tile data from the given memory block onto the system. </div><divclass="ttdef"><b>Definition:</b> tcd.c:2128</div></div>
<divclass="ttc"id="structopj__tcd_html_a20455f8cb23c34e4a762d4872aa84479"><divclass="ttname"><ahref="structopj__tcd.html#a20455f8cb23c34e4a762d4872aa84479">opj_tcd::tp_pos</a></div><divclass="ttdeci">OPJ_INT32 tp_pos</div><divclass="ttdoc">Position of the tilepart flag in Progression order. </div><divclass="ttdef"><b>Definition:</b> tcd.h:202</div></div>