<!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.13"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>libpgf: Subband.h Source File</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="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtreedata.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.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="projectlogo"><img alt="Logo" src="PGF.PNG"/></td> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">libpgf  <span id="projectnumber">6.12.24</span> </div> <div id="projectbrief">PGF - Progressive Graphics File</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.13 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> $(function() { initMenu('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); </script> <div id="main-nav"></div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('Subband_8h_source.html','');}); </script> <div id="doc-content"> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="headertitle"> <div class="title">Subband.h</div> </div> </div><!--header--> <div class="contents"> <a href="Subband_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * The Progressive Graphics File; http://www.libpgf.org </span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * </span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * $Date: 2006-06-04 22:05:59 +0200 (So, 04 Jun 2006) $</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * $Revision: 229 $</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * </span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * This file Copyright (C) 2006 xeraina GmbH, Switzerland</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * </span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * This program is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * modify it under the terms of the GNU LESSER GENERAL PUBLIC LICENSE</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * as published by the Free Software Foundation; either version 2.1</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * </span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * </span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * along with this program; if not, write to the Free Software</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> */</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#ifndef PGF_SUBBAND_H</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#define PGF_SUBBAND_H</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="PGFtypes_8h.html">PGFtypes.h</a>"</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">class </span><a class="code" href="classCEncoder.html">CEncoder</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">class </span><a class="code" href="classCDecoder.html">CDecoder</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">class </span>CRoiIndices;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classCSubband.html"> 42</a></span> <span class="keyword">class </span><a class="code" href="classCSubband.html">CSubband</a> {</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classCSubband.html#a30d2cc4fc1b1060bf29a6576d926a615"> 43</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classCWaveletTransform.html">CWaveletTransform</a>;</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="classCSubband.html#afa9c10af42bd47d2b001e90dfd1031b5">CSubband</a>();</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classCSubband.html#aea6470d90e54f665e0bc7392fad0dd82">~CSubband</a>();</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordtype">bool</span> <a class="code" href="classCSubband.html#a2c98d1e4d2586adcda289c6e358b94f6">AllocMemory</a>();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a62f1ed27fe4771e2f10f58a0eeafd7b1">FreeMemory</a>();</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#add339caa0288ea57f54d53c1ca9a7075">ExtractTile</a>(<a class="code" href="classCEncoder.html">CEncoder</a>& encoder, <span class="keywordtype">bool</span> tile = <span class="keyword">false</span>, UINT32 tileX = 0, UINT32 tileY = 0) THROW_;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a9ebca3aa482464ca700b2a12dfeb0627">PlaceTile</a>(<a class="code" href="classCDecoder.html">CDecoder</a>& decoder, <span class="keywordtype">int</span> quantParam, <span class="keywordtype">bool</span> tile = false, UINT32 tileX = 0, UINT32 tileY = 0) THROW_;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a5de71c37eb00e5e5dad3fe5e38b81ced">Quantize</a>(<span class="keywordtype">int</span> quantParam);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a45102bab9eee9b4e2beeea105712f292">Dequantize</a>(<span class="keywordtype">int</span> quantParam);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classCSubband.html#a1f128e212fb98c19f2d1dcd7ac6ccc0b"> 101</a></span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a1f128e212fb98c19f2d1dcd7ac6ccc0b">SetData</a>(UINT32 pos, <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a> v) { ASSERT(pos < <a class="code" href="classCSubband.html#a1eca7bf4dad801599ffde81b9b25ab4d">m_size</a>); <a class="code" href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4">m_data</a>[pos] = v; }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classCSubband.html#aa4a60fd0c2e3ad2742bca6b8e819d5c5"> 106</a></span>  <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a>* <a class="code" href="classCSubband.html#aa4a60fd0c2e3ad2742bca6b8e819d5c5">GetBuffer</a>() { <span class="keywordflow">return</span> <a class="code" href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4">m_data</a>; }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classCSubband.html#af3b0eb40a0887219e6caaeb5cb394f63"> 112</a></span>  <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a> <a class="code" href="classCSubband.html#af3b0eb40a0887219e6caaeb5cb394f63">GetData</a>(UINT32 pos)<span class="keyword"> const </span>{ ASSERT(pos < <a class="code" href="classCSubband.html#a1eca7bf4dad801599ffde81b9b25ab4d">m_size</a>); <span class="keywordflow">return</span> <a class="code" href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4">m_data</a>[pos]; }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classCSubband.html#a4099f78d8e5541cb8b4d27fea63c8f1b"> 117</a></span>  <span class="keywordtype">int</span> <a class="code" href="classCSubband.html#a4099f78d8e5541cb8b4d27fea63c8f1b">GetLevel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCSubband.html#a9deef80f2ba4a3d119411e96496987de">m_level</a>; }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> </div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classCSubband.html#ab318beb155b4526adf67f91ea1c4b930"> 122</a></span>  <span class="keywordtype">int</span> <a class="code" href="classCSubband.html#ab318beb155b4526adf67f91ea1c4b930">GetHeight</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCSubband.html#a7c442889ba89b9b46af24392b9c65ee6">m_height</a>; }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> </div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classCSubband.html#a3f53e4fc362e02aa0ff3121485a6c760"> 127</a></span>  <span class="keywordtype">int</span> <a class="code" href="classCSubband.html#a3f53e4fc362e02aa0ff3121485a6c760">GetWidth</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCSubband.html#af83106176dc938d0dcd45c155e93a7ed">m_width</a>; }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  </div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classCSubband.html#a5564725a3c96d5359a875a25d9f938b3"> 134</a></span>  <a class="code" href="PGFtypes_8h.html#a871118a09520247c78a71ecd7b0abd58">Orientation</a> <a class="code" href="classCSubband.html#a5564725a3c96d5359a875a25d9f938b3">GetOrientation</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCSubband.html#a7fe0ebc633e4d07fa938a561a68f596f">m_orientation</a>; }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="preprocessor">#ifdef __PGFROISUPPORT__</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">void</span> IncBuffRow(UINT32 pos) { <a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a> = pos + BufferWidth(); }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a5bdfe417903304a7b7348feb65904839">Initialize</a>(UINT32 width, UINT32 height, <span class="keywordtype">int</span> level, <a class="code" href="PGFtypes_8h.html#a871118a09520247c78a71ecd7b0abd58">Orientation</a> orient);</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classCSubband.html#a3bebc017649e7dbef182efe3cbe17965"> 146</a></span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a3bebc017649e7dbef182efe3cbe17965">WriteBuffer</a>(<a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a> val) { ASSERT(<a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a> < <a class="code" href="classCSubband.html#a1eca7bf4dad801599ffde81b9b25ab4d">m_size</a>); <a class="code" href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4">m_data</a>[<a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a>++] = val; }</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classCSubband.html#a2da2078e1050116b47760ede30e4e503"> 147</a></span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a2da2078e1050116b47760ede30e4e503">SetBuffer</a>(<a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a>* b) { ASSERT(b); <a class="code" href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4">m_data</a> = b; }</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classCSubband.html#ad32cf00a5ee6a65573bcacd440308673"> 148</a></span>  <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a> <a class="code" href="classCSubband.html#ad32cf00a5ee6a65573bcacd440308673">ReadBuffer</a>() { ASSERT(<a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a> < <a class="code" href="classCSubband.html#a1eca7bf4dad801599ffde81b9b25ab4d">m_size</a>); <span class="keywordflow">return</span> <a class="code" href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4">m_data</a>[<a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a>++]; }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classCSubband.html#a682074175296debbf4ca81a24cba0268"> 150</a></span>  UINT32 <a class="code" href="classCSubband.html#a682074175296debbf4ca81a24cba0268">GetBuffPos</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a>; }</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor">#ifdef __PGFROISUPPORT__</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  UINT32 BufferWidth()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_ROI.Width(); }</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">void</span> TilePosition(UINT32 tileX, UINT32 tileY, UINT32& left, UINT32& top, UINT32& w, UINT32& h) <span class="keyword">const</span>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">const</span> <a class="code" href="structPGFRect.html">PGFRect</a>& GetROI()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_ROI; }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">void</span> SetNTiles(UINT32 nTiles) { m_nTiles = nTiles; }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordtype">void</span> SetROI(<span class="keyword">const</span> <a class="code" href="structPGFRect.html">PGFRect</a>& roi) { ASSERT(roi.<a class="code" href="structPGFRect.html#a9174d8de6b9018e0c4ef8e29a501b10a">right</a> <= <a class="code" href="classCSubband.html#af83106176dc938d0dcd45c155e93a7ed">m_width</a>); ASSERT(roi.<a class="code" href="structPGFRect.html#a7dc57925fee73fb4b3a1e3744971f579">bottom</a> <= <a class="code" href="classCSubband.html#a7c442889ba89b9b46af24392b9c65ee6">m_height</a>); m_ROI = roi; }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a1a5bca84a7ceb1ed6dbe417f8d6836ba">InitBuffPos</a>(UINT32 left = 0, UINT32 top = 0) { <a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a> = top*BufferWidth() + left; ASSERT(<a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a> < <a class="code" href="classCSubband.html#a1eca7bf4dad801599ffde81b9b25ab4d">m_size</a>); }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classCSubband.html#a1a5bca84a7ceb1ed6dbe417f8d6836ba"> 160</a></span>  <span class="keywordtype">void</span> <a class="code" href="classCSubband.html#a1a5bca84a7ceb1ed6dbe417f8d6836ba">InitBuffPos</a>() { <a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a> = 0; }</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classCSubband.html#af83106176dc938d0dcd45c155e93a7ed"> 164</a></span>  UINT32 <a class="code" href="classCSubband.html#af83106176dc938d0dcd45c155e93a7ed">m_width</a>; </div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classCSubband.html#a7c442889ba89b9b46af24392b9c65ee6"> 165</a></span>  UINT32 <a class="code" href="classCSubband.html#a7c442889ba89b9b46af24392b9c65ee6">m_height</a>; </div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classCSubband.html#a1eca7bf4dad801599ffde81b9b25ab4d"> 166</a></span>  UINT32 <a class="code" href="classCSubband.html#a1eca7bf4dad801599ffde81b9b25ab4d">m_size</a>; </div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classCSubband.html#a9deef80f2ba4a3d119411e96496987de"> 167</a></span>  <span class="keywordtype">int</span> <a class="code" href="classCSubband.html#a9deef80f2ba4a3d119411e96496987de">m_level</a>; </div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classCSubband.html#a7fe0ebc633e4d07fa938a561a68f596f"> 168</a></span>  <a class="code" href="PGFtypes_8h.html#a871118a09520247c78a71ecd7b0abd58">Orientation</a> <a class="code" href="classCSubband.html#a7fe0ebc633e4d07fa938a561a68f596f">m_orientation</a>; </div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167"> 169</a></span>  UINT32 <a class="code" href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">m_dataPos</a>; </div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4"> 170</a></span>  <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a>* <a class="code" href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4">m_data</a>; </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="preprocessor">#ifdef __PGFROISUPPORT__</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="structPGFRect.html">PGFRect</a> m_ROI; </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  UINT32 m_nTiles; </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> };</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor">#endif //PGF_SUBBAND_H</span></div><div class="ttc" id="classCSubband_html_a8181f6adf76abb704ae8990843fdc2c4"><div class="ttname"><a href="classCSubband.html#a8181f6adf76abb704ae8990843fdc2c4">CSubband::m_data</a></div><div class="ttdeci">DataT * m_data</div><div class="ttdoc">buffer </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00170">Subband.h:170</a></div></div> <div class="ttc" id="classCSubband_html_a45102bab9eee9b4e2beeea105712f292"><div class="ttname"><a href="classCSubband.html#a45102bab9eee9b4e2beeea105712f292">CSubband::Dequantize</a></div><div class="ttdeci">void Dequantize(int quantParam)</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00149">Subband.cpp:149</a></div></div> <div class="ttc" id="classCSubband_html_a5564725a3c96d5359a875a25d9f938b3"><div class="ttname"><a href="classCSubband.html#a5564725a3c96d5359a875a25d9f938b3">CSubband::GetOrientation</a></div><div class="ttdeci">Orientation GetOrientation() const</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00134">Subband.h:134</a></div></div> <div class="ttc" id="classCSubband_html_aa4a60fd0c2e3ad2742bca6b8e819d5c5"><div class="ttname"><a href="classCSubband.html#aa4a60fd0c2e3ad2742bca6b8e819d5c5">CSubband::GetBuffer</a></div><div class="ttdeci">DataT * GetBuffer()</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00106">Subband.h:106</a></div></div> <div class="ttc" id="classCSubband_html_af83106176dc938d0dcd45c155e93a7ed"><div class="ttname"><a href="classCSubband.html#af83106176dc938d0dcd45c155e93a7ed">CSubband::m_width</a></div><div class="ttdeci">UINT32 m_width</div><div class="ttdoc">width in pixels </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00164">Subband.h:164</a></div></div> <div class="ttc" id="classCSubband_html_af3b0eb40a0887219e6caaeb5cb394f63"><div class="ttname"><a href="classCSubband.html#af3b0eb40a0887219e6caaeb5cb394f63">CSubband::GetData</a></div><div class="ttdeci">DataT GetData(UINT32 pos) const</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00112">Subband.h:112</a></div></div> <div class="ttc" id="classCSubband_html_add339caa0288ea57f54d53c1ca9a7075"><div class="ttname"><a href="classCSubband.html#add339caa0288ea57f54d53c1ca9a7075">CSubband::ExtractTile</a></div><div class="ttdeci">void ExtractTile(CEncoder &encoder, bool tile=false, UINT32 tileX=0, UINT32 tileY=0) THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00172">Subband.cpp:172</a></div></div> <div class="ttc" id="PGFtypes_8h_html_acb1ee3f52ccfad782dcaa0abd79e5d05"><div class="ttname"><a href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a></div><div class="ttdeci">INT32 DataT</div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00219">PGFtypes.h:219</a></div></div> <div class="ttc" id="classCSubband_html_a2da2078e1050116b47760ede30e4e503"><div class="ttname"><a href="classCSubband.html#a2da2078e1050116b47760ede30e4e503">CSubband::SetBuffer</a></div><div class="ttdeci">void SetBuffer(DataT *b)</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00147">Subband.h:147</a></div></div> <div class="ttc" id="classCSubband_html_a7c442889ba89b9b46af24392b9c65ee6"><div class="ttname"><a href="classCSubband.html#a7c442889ba89b9b46af24392b9c65ee6">CSubband::m_height</a></div><div class="ttdeci">UINT32 m_height</div><div class="ttdoc">height in pixels </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00165">Subband.h:165</a></div></div> <div class="ttc" id="classCSubband_html_aea6470d90e54f665e0bc7392fad0dd82"><div class="ttname"><a href="classCSubband.html#aea6470d90e54f665e0bc7392fad0dd82">CSubband::~CSubband</a></div><div class="ttdeci">~CSubband()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00046">Subband.cpp:46</a></div></div> <div class="ttc" id="classCSubband_html_a2c98d1e4d2586adcda289c6e358b94f6"><div class="ttname"><a href="classCSubband.html#a2c98d1e4d2586adcda289c6e358b94f6">CSubband::AllocMemory</a></div><div class="ttdeci">bool AllocMemory()</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00072">Subband.cpp:72</a></div></div> <div class="ttc" id="classCSubband_html_a5bdfe417903304a7b7348feb65904839"><div class="ttname"><a href="classCSubband.html#a5bdfe417903304a7b7348feb65904839">CSubband::Initialize</a></div><div class="ttdeci">void Initialize(UINT32 width, UINT32 height, int level, Orientation orient)</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00052">Subband.cpp:52</a></div></div> <div class="ttc" id="classCSubband_html_a4099f78d8e5541cb8b4d27fea63c8f1b"><div class="ttname"><a href="classCSubband.html#a4099f78d8e5541cb8b4d27fea63c8f1b">CSubband::GetLevel</a></div><div class="ttdeci">int GetLevel() const</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00117">Subband.h:117</a></div></div> <div class="ttc" id="classCSubband_html_a682074175296debbf4ca81a24cba0268"><div class="ttname"><a href="classCSubband.html#a682074175296debbf4ca81a24cba0268">CSubband::GetBuffPos</a></div><div class="ttdeci">UINT32 GetBuffPos() const</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00150">Subband.h:150</a></div></div> <div class="ttc" id="classCSubband_html_afa9c10af42bd47d2b001e90dfd1031b5"><div class="ttname"><a href="classCSubband.html#afa9c10af42bd47d2b001e90dfd1031b5">CSubband::CSubband</a></div><div class="ttdeci">CSubband()</div><div class="ttdoc">Standard constructor. </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00035">Subband.cpp:35</a></div></div> <div class="ttc" id="structPGFRect_html_a9174d8de6b9018e0c4ef8e29a501b10a"><div class="ttname"><a href="structPGFRect.html#a9174d8de6b9018e0c4ef8e29a501b10a">PGFRect::right</a></div><div class="ttdeci">UINT32 right</div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00215">PGFtypes.h:215</a></div></div> <div class="ttc" id="PGFtypes_8h_html_a871118a09520247c78a71ecd7b0abd58"><div class="ttname"><a href="PGFtypes_8h.html#a871118a09520247c78a71ecd7b0abd58">Orientation</a></div><div class="ttdeci">Orientation</div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00092">PGFtypes.h:92</a></div></div> <div class="ttc" id="classCSubband_html"><div class="ttname"><a href="classCSubband.html">CSubband</a></div><div class="ttdoc">Wavelet channel class. </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00042">Subband.h:42</a></div></div> <div class="ttc" id="classCWaveletTransform_html"><div class="ttname"><a href="classCWaveletTransform.html">CWaveletTransform</a></div><div class="ttdoc">PGF wavelet transform. </div><div class="ttdef"><b>Definition:</b> <a href="WaveletTransform_8h_source.html#l00084">WaveletTransform.h:84</a></div></div> <div class="ttc" id="classCSubband_html_a1a5bca84a7ceb1ed6dbe417f8d6836ba"><div class="ttname"><a href="classCSubband.html#a1a5bca84a7ceb1ed6dbe417f8d6836ba">CSubband::InitBuffPos</a></div><div class="ttdeci">void InitBuffPos()</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00160">Subband.h:160</a></div></div> <div class="ttc" id="classCSubband_html_ab318beb155b4526adf67f91ea1c4b930"><div class="ttname"><a href="classCSubband.html#ab318beb155b4526adf67f91ea1c4b930">CSubband::GetHeight</a></div><div class="ttdeci">int GetHeight() const</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00122">Subband.h:122</a></div></div> <div class="ttc" id="classCSubband_html_ad32cf00a5ee6a65573bcacd440308673"><div class="ttname"><a href="classCSubband.html#ad32cf00a5ee6a65573bcacd440308673">CSubband::ReadBuffer</a></div><div class="ttdeci">DataT ReadBuffer()</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00148">Subband.h:148</a></div></div> <div class="ttc" id="classCDecoder_html"><div class="ttname"><a href="classCDecoder.html">CDecoder</a></div><div class="ttdoc">PGF decoder. </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00046">Decoder.h:46</a></div></div> <div class="ttc" id="classCSubband_html_a1eca7bf4dad801599ffde81b9b25ab4d"><div class="ttname"><a href="classCSubband.html#a1eca7bf4dad801599ffde81b9b25ab4d">CSubband::m_size</a></div><div class="ttdeci">UINT32 m_size</div><div class="ttdoc">size of data buffer m_data </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00166">Subband.h:166</a></div></div> <div class="ttc" id="classCSubband_html_a62f1ed27fe4771e2f10f58a0eeafd7b1"><div class="ttname"><a href="classCSubband.html#a62f1ed27fe4771e2f10f58a0eeafd7b1">CSubband::FreeMemory</a></div><div class="ttdeci">void FreeMemory()</div><div class="ttdoc">Delete the memory buffer of this subband. </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00096">Subband.cpp:96</a></div></div> <div class="ttc" id="classCSubband_html_a5de71c37eb00e5e5dad3fe5e38b81ced"><div class="ttname"><a href="classCSubband.html#a5de71c37eb00e5e5dad3fe5e38b81ced">CSubband::Quantize</a></div><div class="ttdeci">void Quantize(int quantParam)</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00107">Subband.cpp:107</a></div></div> <div class="ttc" id="PGFtypes_8h_html"><div class="ttname"><a href="PGFtypes_8h.html">PGFtypes.h</a></div><div class="ttdoc">PGF definitions. </div></div> <div class="ttc" id="classCSubband_html_a3bebc017649e7dbef182efe3cbe17965"><div class="ttname"><a href="classCSubband.html#a3bebc017649e7dbef182efe3cbe17965">CSubband::WriteBuffer</a></div><div class="ttdeci">void WriteBuffer(DataT val)</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00146">Subband.h:146</a></div></div> <div class="ttc" id="classCSubband_html_a9deef80f2ba4a3d119411e96496987de"><div class="ttname"><a href="classCSubband.html#a9deef80f2ba4a3d119411e96496987de">CSubband::m_level</a></div><div class="ttdeci">int m_level</div><div class="ttdoc">recursion level </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00167">Subband.h:167</a></div></div> <div class="ttc" id="structPGFRect_html"><div class="ttname"><a href="structPGFRect.html">PGFRect</a></div><div class="ttdoc">Rectangle. </div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00194">PGFtypes.h:194</a></div></div> <div class="ttc" id="classCSubband_html_a274d3cbc79f66725f961e3216b823167"><div class="ttname"><a href="classCSubband.html#a274d3cbc79f66725f961e3216b823167">CSubband::m_dataPos</a></div><div class="ttdeci">UINT32 m_dataPos</div><div class="ttdoc">current position in m_data </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00169">Subband.h:169</a></div></div> <div class="ttc" id="classCSubband_html_a3f53e4fc362e02aa0ff3121485a6c760"><div class="ttname"><a href="classCSubband.html#a3f53e4fc362e02aa0ff3121485a6c760">CSubband::GetWidth</a></div><div class="ttdeci">int GetWidth() const</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00127">Subband.h:127</a></div></div> <div class="ttc" id="classCSubband_html_a9ebca3aa482464ca700b2a12dfeb0627"><div class="ttname"><a href="classCSubband.html#a9ebca3aa482464ca700b2a12dfeb0627">CSubband::PlaceTile</a></div><div class="ttdeci">void PlaceTile(CDecoder &decoder, int quantParam, bool tile=false, UINT32 tileX=0, UINT32 tileY=0) THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8cpp_source.html#l00197">Subband.cpp:197</a></div></div> <div class="ttc" id="classCSubband_html_a1f128e212fb98c19f2d1dcd7ac6ccc0b"><div class="ttname"><a href="classCSubband.html#a1f128e212fb98c19f2d1dcd7ac6ccc0b">CSubband::SetData</a></div><div class="ttdeci">void SetData(UINT32 pos, DataT v)</div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00101">Subband.h:101</a></div></div> <div class="ttc" id="classCSubband_html_a7fe0ebc633e4d07fa938a561a68f596f"><div class="ttname"><a href="classCSubband.html#a7fe0ebc633e4d07fa938a561a68f596f">CSubband::m_orientation</a></div><div class="ttdeci">Orientation m_orientation</div><div class="ttdoc">0=LL, 1=HL, 2=LH, 3=HH L=lowpass filtered, H=highpass filterd </div><div class="ttdef"><b>Definition:</b> <a href="Subband_8h_source.html#l00168">Subband.h:168</a></div></div> <div class="ttc" id="structPGFRect_html_a7dc57925fee73fb4b3a1e3744971f579"><div class="ttname"><a href="structPGFRect.html#a7dc57925fee73fb4b3a1e3744971f579">PGFRect::bottom</a></div><div class="ttdeci">UINT32 bottom</div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00215">PGFtypes.h:215</a></div></div> <div class="ttc" id="classCEncoder_html"><div class="ttname"><a href="classCEncoder.html">CEncoder</a></div><div class="ttdoc">PGF encoder. </div><div class="ttdef"><b>Definition:</b> <a href="Encoder_8h_source.html#l00046">Encoder.h:46</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="Subband_8h.html">Subband.h</a></li> <li class="footer">Generated on Mon Dec 31 2018 19:09:17 for libpgf by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li> </ul> </div> </body> </html>