Sophie

Sophie

distrib > Mageia > 6 > x86_64 > media > core-updates > by-pkgid > 3ed7a08dfe3e0b575957c42a1a1f5970 > files > 13

libpgf-doc-6.12.24-7.1.mga6.noarch.rpm

<!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: Decoder.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
   &#160;<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('Decoder_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">Decoder.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="Decoder_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>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<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>&#160;<span class="comment"> * </span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<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>&#160;<span class="comment"> * $Revision: 229 $</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> * </span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<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>&#160;<span class="comment"> * </span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<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>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> * </span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> * GNU General Public License for more details.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> * </span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<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>&#160;<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>&#160;<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>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#ifndef PGF_DECODER_H</span></div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#define PGF_DECODER_H</span></div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="PGFstream_8h.html">PGFstream.h</a>&quot;</span></div><div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="BitStream_8h.html">BitStream.h</a>&quot;</span></div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Subband_8h.html">Subband.h</a>&quot;</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="WaveletTransform_8h.html">WaveletTransform.h</a>&quot;</span></div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="comment">// Constants</span></div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="Decoder_8h.html#a309eafbca7ed5953ef9102861479f4ed">   39</a></span>&#160;<span class="preprocessor">#define BufferLen                       (BufferSize/WordWidth)  </span></div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="Decoder_8h.html#a05a74e73e6c734fcad194efbca053ed5">   40</a></span>&#160;<span class="preprocessor">#define CodeBufferLen           BufferSize                              </span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span></div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="keyword">class </span><a class="code" href="classCDecoder.html">CDecoder</a> {</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html">   51</a></span>&#160;        <span class="keyword">class </span><a class="code" href="classCDecoder_1_1CMacroBlock.html">CMacroBlock</a> {</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <span class="keyword">public</span>:</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#a023a230fc23472478e5429cef5ec4be4">   56</a></span>&#160;                <a class="code" href="classCDecoder_1_1CMacroBlock.html#a023a230fc23472478e5429cef5ec4be4">CMacroBlock</a>(<a class="code" href="classCDecoder.html">CDecoder</a> *decoder)</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;                : <a class="code" href="classCDecoder_1_1CMacroBlock.html#a19247bd5e6073252c45abf9d33b44ee0">m_header</a>(0)                                                           <span class="comment">// makes sure that IsCompletelyRead() returns true for an empty macro block</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;                , <a class="code" href="classCDecoder_1_1CMacroBlock.html#a38f42e9e2d5ac8387db0122aecac79be">m_valuePos</a>(0)</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;                , <a class="code" href="classCDecoder_1_1CMacroBlock.html#a4a4b0f49967a8fc938295fdcc5093e66">m_decoder</a>(decoder)</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;                {</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;                        ASSERT(<a class="code" href="classCDecoder_1_1CMacroBlock.html#a4a4b0f49967a8fc938295fdcc5093e66">m_decoder</a>);</div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;                }</div><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#a0425cb162ca41e04f6ae0886a62b3cc9">   67</a></span>&#160;                <span class="keywordtype">bool</span> <a class="code" href="classCDecoder_1_1CMacroBlock.html#a0425cb162ca41e04f6ae0886a62b3cc9">IsCompletelyRead</a>()<span class="keyword"> const   </span>{ <span class="keywordflow">return</span> <a class="code" href="classCDecoder_1_1CMacroBlock.html#a38f42e9e2d5ac8387db0122aecac79be">m_valuePos</a> &gt;= <a class="code" href="classCDecoder_1_1CMacroBlock.html#a19247bd5e6073252c45abf9d33b44ee0">m_header</a>.<a class="code" href="unionROIBlockHeader.html#a15ceb2e488c3767cc1ab774323c02ded">rbh</a>.<a class="code" href="structROIBlockHeader_1_1RBH.html#af0c3de8c247b06116a9d84d2f9515762">bufferSize</a>; }</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;                <span class="keywordtype">void</span> <a class="code" href="classCDecoder_1_1CMacroBlock.html#a72899e368b29833bd485c4858b5ad7ef">BitplaneDecode</a>();</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#a19247bd5e6073252c45abf9d33b44ee0">   75</a></span>&#160;                <a class="code" href="unionROIBlockHeader.html">ROIBlockHeader</a> <a class="code" href="classCDecoder_1_1CMacroBlock.html#a19247bd5e6073252c45abf9d33b44ee0">m_header</a>;                                        </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#a7722de1000647fb5a894db2e2f348bdd">   76</a></span>&#160;                <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a>  <a class="code" href="classCDecoder_1_1CMacroBlock.html#a7722de1000647fb5a894db2e2f348bdd">m_value</a>[<a class="code" href="PGFtypes_8h.html#aa362edf6db9662acf6ef958a6db19c35">BufferSize</a>];                                     </div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#ace0702d7f8281972b1db091248c3c80b">   77</a></span>&#160;                UINT32 <a class="code" href="classCDecoder_1_1CMacroBlock.html#ace0702d7f8281972b1db091248c3c80b">m_codeBuffer</a>[<a class="code" href="Decoder_8h.html#a05a74e73e6c734fcad194efbca053ed5">CodeBufferLen</a>];                     </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#a38f42e9e2d5ac8387db0122aecac79be">   78</a></span>&#160;                UINT32 <a class="code" href="classCDecoder_1_1CMacroBlock.html#a38f42e9e2d5ac8387db0122aecac79be">m_valuePos</a>;                                                      </div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="keyword">private</span>:</div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;                UINT32 <a class="code" href="classCDecoder_1_1CMacroBlock.html#a580e46028e0104de8d6afab733c8b679">ComposeBitplane</a>(UINT32 bufferSize, <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a> planeMask, UINT32* sigBits, UINT32* refBits, UINT32* signBits);</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;                UINT32 <a class="code" href="classCDecoder_1_1CMacroBlock.html#aa6e8f0dedcdeb9e592de7dde07b5025e">ComposeBitplaneRLD</a>(UINT32 bufferSize, <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a> planeMask, UINT32 sigPos, UINT32* refBits);</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;                UINT32 <a class="code" href="classCDecoder_1_1CMacroBlock.html#aa6e8f0dedcdeb9e592de7dde07b5025e">ComposeBitplaneRLD</a>(UINT32 bufferSize, <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a> planeMask, UINT32* sigBits, UINT32* refBits, UINT32 signPos);</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#a4bf1b6bc026f95ef4d93fbdfaf69f724">   84</a></span>&#160;                <span class="keywordtype">void</span>  <a class="code" href="classCDecoder_1_1CMacroBlock.html#a4bf1b6bc026f95ef4d93fbdfaf69f724">SetBitAtPos</a>(UINT32 pos, <a class="code" href="PGFtypes_8h.html#acb1ee3f52ccfad782dcaa0abd79e5d05">DataT</a> planeMask)                  { (m_value[pos] &gt;= 0) ? m_value[pos] |= planeMask : m_value[pos] -= planeMask; }</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#a7fd4539d524903d148ceb4de940d3194">   85</a></span>&#160;                <span class="keywordtype">void</span>  <a class="code" href="classCDecoder_1_1CMacroBlock.html#a7fd4539d524903d148ceb4de940d3194">SetSign</a>(UINT32 pos, <span class="keywordtype">bool</span> sign)                                    { m_value[pos] = -m_value[pos]*sign + m_value[pos]*(!sign); }</div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#a4a4b0f49967a8fc938295fdcc5093e66">   87</a></span>&#160;                <a class="code" href="classCDecoder.html">CDecoder</a> *<a class="code" href="classCDecoder_1_1CMacroBlock.html#a4a4b0f49967a8fc938295fdcc5093e66">m_decoder</a>;                                            <span class="comment">// outer class</span></div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classCDecoder_1_1CMacroBlock.html#af6931769654b397d6c3becae44e868b0">   88</a></span>&#160;                <span class="keywordtype">bool</span> <a class="code" href="classCDecoder_1_1CMacroBlock.html#af6931769654b397d6c3becae44e868b0">m_sigFlagVector</a>[<a class="code" href="PGFtypes_8h.html#aa362edf6db9662acf6ef958a6db19c35">BufferSize</a>+1];                     <span class="comment">// see paper from Malvar, Fast Progressive Wavelet Coder</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        };</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        <a class="code" href="classCDecoder.html#ae67e34004d59ec42d6de1a1a900e087c">CDecoder</a>(<a class="code" href="classCPGFStream.html">CPGFStream</a>* stream, <a class="code" href="structPGFPreHeader.html">PGFPreHeader</a>&amp; preHeader, <a class="code" href="structPGFHeader.html">PGFHeader</a>&amp; header, </div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;                     <a class="code" href="structPGFPostHeader.html">PGFPostHeader</a>&amp; postHeader, UINT32*&amp; levelLength, UINT64&amp; userDataPos, </div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;                         <span class="keywordtype">bool</span> useOMP, <span class="keywordtype">bool</span> skipUserData) THROW_; <span class="comment">// throws IOException</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;        <a class="code" href="classCDecoder.html#acb3e9a62be775af9a88da18730cd6f0e">~CDecoder</a>();</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classCDecoder.html#ac0c8ded7ee0dc098035ba8dc22d487c8">Partition</a>(<a class="code" href="classCSubband.html">CSubband</a>* band, <span class="keywordtype">int</span> quantParam, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">int</span> startPos, <span class="keywordtype">int</span> pitch) THROW_;</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classCDecoder.html#a54e3f2a5def2a4809b07d6446cb5537b">DecodeInterleaved</a>(<a class="code" href="classCWaveletTransform.html">CWaveletTransform</a>* wtChannel, <span class="keywordtype">int</span> level, <span class="keywordtype">int</span> quantParam) THROW_;</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classCDecoder.html#a4e9c1ffe92430bf2420b8da76f145fcf">  136</a></span>&#160;        UINT32 <a class="code" href="classCDecoder.html#a4e9c1ffe92430bf2420b8da76f145fcf">GetEncodedHeaderLength</a>()<span class="keyword"> const                   </span>{ <span class="keywordflow">return</span> <a class="code" href="classCDecoder.html#aa59513d248af5c39dee8ae193876552b">m_encodedHeaderLength</a>; }</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classCDecoder.html#a40e14a82aed038dfdb11ea0ab7a7ae27">  140</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classCDecoder.html#a40e14a82aed038dfdb11ea0ab7a7ae27">SetStreamPosToStart</a>() THROW_                               { ASSERT(<a class="code" href="classCDecoder.html#a4a083ad657a4f6236603c3090b44b2c5">m_stream</a>); <a class="code" href="classCDecoder.html#a4a083ad657a4f6236603c3090b44b2c5">m_stream</a>-&gt;<a class="code" href="classCPGFStream.html#a69be67d4b04cd056c4f74d8147349a16">SetPos</a>(FSFromStart, <a class="code" href="classCDecoder.html#a56f84d5e2dc9f94737e9ff76a017eab7">m_startPos</a>); }</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classCDecoder.html#a0fce75560814039770a29821b2dfdac8">  144</a></span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classCDecoder.html#a0fce75560814039770a29821b2dfdac8">SetStreamPosToData</a>() THROW_                                { ASSERT(<a class="code" href="classCDecoder.html#a4a083ad657a4f6236603c3090b44b2c5">m_stream</a>); <a class="code" href="classCDecoder.html#a4a083ad657a4f6236603c3090b44b2c5">m_stream</a>-&gt;<a class="code" href="classCPGFStream.html#a69be67d4b04cd056c4f74d8147349a16">SetPos</a>(FSFromStart, <a class="code" href="classCDecoder.html#a56f84d5e2dc9f94737e9ff76a017eab7">m_startPos</a> + <a class="code" href="classCDecoder.html#aa59513d248af5c39dee8ae193876552b">m_encodedHeaderLength</a>); }</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classCDecoder.html#ac52d7036b81fa3021eb3bd57f6b1035c">Skip</a>(UINT64 offset) THROW_;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classCDecoder.html#af6167895910faf395203cd102ec1d3af">DequantizeValue</a>(<a class="code" href="classCSubband.html">CSubband</a>* band, UINT32 bandPos, <span class="keywordtype">int</span> quantParam) THROW_;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        UINT32 <a class="code" href="classCDecoder.html#a9ed3c476f5617dfe4269e4a36bbbbac5">ReadEncodedData</a>(UINT8* target, UINT32 len) <span class="keyword">const</span> THROW_;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classCDecoder.html#a738da91617ba87745459191279da4315">DecodeBuffer</a>() THROW_;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classCDecoder.html#a49deab3805a603f9332e2a1b6a58d800">  174</a></span>&#160;        <a class="code" href="classCPGFStream.html">CPGFStream</a>* <a class="code" href="classCDecoder.html#a49deab3805a603f9332e2a1b6a58d800">GetStream</a>()                                                 { <span class="keywordflow">return</span> <a class="code" href="classCDecoder.html#a4a083ad657a4f6236603c3090b44b2c5">m_stream</a>; }</div><div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classCDecoder.html#acb01a15ed5bbd602deeca17f2c3522cf">  178</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classCDecoder.html#acb01a15ed5bbd602deeca17f2c3522cf">MacroBlocksAvailable</a>()<span class="keyword"> const                               </span>{ <span class="keywordflow">return</span> <a class="code" href="classCDecoder.html#a542f95c68cc1661b3629a3cf026f45c4">m_macroBlocksAvailable</a> &gt; 1; }</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;<span class="preprocessor">#ifdef __PGFROISUPPORT__</span></div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keywordtype">void</span> DecodeTileBuffer() THROW_;</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keywordtype">void</span> SkipTileBuffer() THROW_;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keywordtype">void</span> SetROI()                                   { m_roi = <span class="keyword">true</span>; }</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;<span class="preprocessor">#ifdef TRACE</span></div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keywordtype">void</span> DumpBuffer();</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;<span class="keyword">private</span>:</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordtype">void</span> <a class="code" href="classCDecoder.html#a63cfb5880877780be5e9e10a33dcedf0">ReadMacroBlock</a>(<a class="code" href="classCDecoder_1_1CMacroBlock.html">CMacroBlock</a>* block) THROW_; </div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classCDecoder.html#a4a083ad657a4f6236603c3090b44b2c5">  203</a></span>&#160;        <a class="code" href="classCPGFStream.html">CPGFStream</a> *<a class="code" href="classCDecoder.html#a4a083ad657a4f6236603c3090b44b2c5">m_stream</a>;                                           </div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classCDecoder.html#a56f84d5e2dc9f94737e9ff76a017eab7">  204</a></span>&#160;        UINT64 <a class="code" href="classCDecoder.html#a56f84d5e2dc9f94737e9ff76a017eab7">m_startPos</a>;                                                      </div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classCDecoder.html#a6562d817189d48cfed14b5e8b921e180">  205</a></span>&#160;        UINT64 <a class="code" href="classCDecoder.html#a6562d817189d48cfed14b5e8b921e180">m_streamSizeEstimation</a>;                          </div><div class="line"><a name="l00206"></a><span class="lineno"><a class="line" href="classCDecoder.html#aa59513d248af5c39dee8ae193876552b">  206</a></span>&#160;        UINT32 <a class="code" href="classCDecoder.html#aa59513d248af5c39dee8ae193876552b">m_encodedHeaderLength</a>;                           </div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classCDecoder.html#a7acf80ff3cb6193afed753a44a8d08fa">  208</a></span>&#160;        <a class="code" href="classCDecoder_1_1CMacroBlock.html">CMacroBlock</a> **<a class="code" href="classCDecoder.html#a7acf80ff3cb6193afed753a44a8d08fa">m_macroBlocks</a>;                            </div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classCDecoder.html#a2e3c3a814d7bc3766e35302367f8d9ae">  209</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classCDecoder.html#a2e3c3a814d7bc3766e35302367f8d9ae">m_currentBlockIndex</a>;                                        </div><div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classCDecoder.html#a215b9e3cd0bc08c1c67674f28247e63c">  210</a></span>&#160;        <span class="keywordtype">int</span>     <a class="code" href="classCDecoder.html#a215b9e3cd0bc08c1c67674f28247e63c">m_macroBlockLen</a>;                                                </div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classCDecoder.html#a542f95c68cc1661b3629a3cf026f45c4">  211</a></span>&#160;        <span class="keywordtype">int</span>     <a class="code" href="classCDecoder.html#a542f95c68cc1661b3629a3cf026f45c4">m_macroBlocksAvailable</a>;                                 </div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classCDecoder.html#aa21a930e7af6496ee5e6662659d62ecb">  212</a></span>&#160;        <a class="code" href="classCDecoder_1_1CMacroBlock.html">CMacroBlock</a> *<a class="code" href="classCDecoder.html#aa21a930e7af6496ee5e6662659d62ecb">m_currentBlock</a>;                            </div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;<span class="preprocessor">#ifdef __PGFROISUPPORT__</span></div><div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;        <span class="keywordtype">bool</span>   m_roi;                                                           </div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;};</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;<span class="preprocessor">#endif //PGF_DECODER_H</span></div><div class="ttc" id="unionROIBlockHeader_html_a15ceb2e488c3767cc1ab774323c02ded"><div class="ttname"><a href="unionROIBlockHeader.html#a15ceb2e488c3767cc1ab774323c02ded">ROIBlockHeader::rbh</a></div><div class="ttdeci">struct ROIBlockHeader::RBH rbh</div><div class="ttdoc">ROI block header. </div></div>
<div class="ttc" id="structROIBlockHeader_1_1RBH_html_af0c3de8c247b06116a9d84d2f9515762"><div class="ttname"><a href="structROIBlockHeader_1_1RBH.html#af0c3de8c247b06116a9d84d2f9515762">ROIBlockHeader::RBH::bufferSize</a></div><div class="ttdeci">UINT16 bufferSize</div><div class="ttdoc">number of uncoded UINT32 values in a block </div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00167">PGFtypes.h:167</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_a580e46028e0104de8d6afab733c8b679"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a580e46028e0104de8d6afab733c8b679">CDecoder::CMacroBlock::ComposeBitplane</a></div><div class="ttdeci">UINT32 ComposeBitplane(UINT32 bufferSize, DataT planeMask, UINT32 *sigBits, UINT32 *refBits, UINT32 *signBits)</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00734">Decoder.cpp:734</a></div></div>
<div class="ttc" id="classCDecoder_html_a7acf80ff3cb6193afed753a44a8d08fa"><div class="ttname"><a href="classCDecoder.html#a7acf80ff3cb6193afed753a44a8d08fa">CDecoder::m_macroBlocks</a></div><div class="ttdeci">CMacroBlock ** m_macroBlocks</div><div class="ttdoc">array of macroblocks </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00208">Decoder.h:208</a></div></div>
<div class="ttc" id="classCPGFStream_html"><div class="ttname"><a href="classCPGFStream.html">CPGFStream</a></div><div class="ttdoc">Abstract stream base class. </div><div class="ttdef"><b>Definition:</b> <a href="PGFstream_8h_source.html#l00039">PGFstream.h:39</a></div></div>
<div class="ttc" id="classCDecoder_html_a54e3f2a5def2a4809b07d6446cb5537b"><div class="ttname"><a href="classCDecoder.html#a54e3f2a5def2a4809b07d6446cb5537b">CDecoder::DecodeInterleaved</a></div><div class="ttdeci">void DecodeInterleaved(CWaveletTransform *wtChannel, int level, int quantParam) THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00319">Decoder.cpp:319</a></div></div>
<div class="ttc" id="classCDecoder_html_a9ed3c476f5617dfe4269e4a36bbbbac5"><div class="ttname"><a href="classCDecoder.html#a9ed3c476f5617dfe4269e4a36bbbbac5">CDecoder::ReadEncodedData</a></div><div class="ttdeci">UINT32 ReadEncodedData(UINT8 *target, UINT32 len) const THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00232">Decoder.cpp:232</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="classCDecoder_1_1CMacroBlock_html_a4bf1b6bc026f95ef4d93fbdfaf69f724"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a4bf1b6bc026f95ef4d93fbdfaf69f724">CDecoder::CMacroBlock::SetBitAtPos</a></div><div class="ttdeci">void SetBitAtPos(UINT32 pos, DataT planeMask)</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00084">Decoder.h:84</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_a38f42e9e2d5ac8387db0122aecac79be"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a38f42e9e2d5ac8387db0122aecac79be">CDecoder::CMacroBlock::m_valuePos</a></div><div class="ttdeci">UINT32 m_valuePos</div><div class="ttdoc">current position in m_value </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00078">Decoder.h:78</a></div></div>
<div class="ttc" id="classCDecoder_html_a63cfb5880877780be5e9e10a33dcedf0"><div class="ttname"><a href="classCDecoder.html#a63cfb5880877780be5e9e10a33dcedf0">CDecoder::ReadMacroBlock</a></div><div class="ttdeci">void ReadMacroBlock(CMacroBlock *block) THROW_</div><div class="ttdoc">throws IOException </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00520">Decoder.cpp:520</a></div></div>
<div class="ttc" id="PGFtypes_8h_html_aa362edf6db9662acf6ef958a6db19c35"><div class="ttname"><a href="PGFtypes_8h.html#aa362edf6db9662acf6ef958a6db19c35">BufferSize</a></div><div class="ttdeci">#define BufferSize</div><div class="ttdoc">must be a multiple of WordWidth </div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00077">PGFtypes.h:77</a></div></div>
<div class="ttc" id="BitStream_8h_html"><div class="ttname"><a href="BitStream_8h.html">BitStream.h</a></div></div>
<div class="ttc" id="classCDecoder_html_ac0c8ded7ee0dc098035ba8dc22d487c8"><div class="ttname"><a href="classCDecoder.html#ac0c8ded7ee0dc098035ba8dc22d487c8">CDecoder::Partition</a></div><div class="ttdeci">void Partition(CSubband *band, int quantParam, int width, int height, int startPos, int pitch) THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00252">Decoder.cpp:252</a></div></div>
<div class="ttc" id="classCDecoder_html_a49deab3805a603f9332e2a1b6a58d800"><div class="ttname"><a href="classCDecoder.html#a49deab3805a603f9332e2a1b6a58d800">CDecoder::GetStream</a></div><div class="ttdeci">CPGFStream * GetStream()</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00174">Decoder.h:174</a></div></div>
<div class="ttc" id="classCDecoder_html_acb3e9a62be775af9a88da18730cd6f0e"><div class="ttname"><a href="classCDecoder.html#acb3e9a62be775af9a88da18730cd6f0e">CDecoder::~CDecoder</a></div><div class="ttdeci">~CDecoder()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00217">Decoder.cpp:217</a></div></div>
<div class="ttc" id="classCPGFStream_html_a69be67d4b04cd056c4f74d8147349a16"><div class="ttname"><a href="classCPGFStream.html#a69be67d4b04cd056c4f74d8147349a16">CPGFStream::SetPos</a></div><div class="ttdeci">virtual void SetPos(short posMode, INT64 posOff)=0</div></div>
<div class="ttc" id="classCDecoder_html_a4e9c1ffe92430bf2420b8da76f145fcf"><div class="ttname"><a href="classCDecoder.html#a4e9c1ffe92430bf2420b8da76f145fcf">CDecoder::GetEncodedHeaderLength</a></div><div class="ttdeci">UINT32 GetEncodedHeaderLength() const</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00136">Decoder.h:136</a></div></div>
<div class="ttc" id="structPGFPreHeader_html"><div class="ttname"><a href="structPGFPreHeader.html">PGFPreHeader</a></div><div class="ttdoc">PGF pre-header. </div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00114">PGFtypes.h:114</a></div></div>
<div class="ttc" id="Subband_8h_html"><div class="ttname"><a href="Subband_8h.html">Subband.h</a></div><div class="ttdoc">PGF wavelet subband class. </div></div>
<div class="ttc" id="classCDecoder_html_aa59513d248af5c39dee8ae193876552b"><div class="ttname"><a href="classCDecoder.html#aa59513d248af5c39dee8ae193876552b">CDecoder::m_encodedHeaderLength</a></div><div class="ttdeci">UINT32 m_encodedHeaderLength</div><div class="ttdoc">stream offset from startPos to the beginning of the data part (highest level) </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00206">Decoder.h:206</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="classCDecoder_html_a0fce75560814039770a29821b2dfdac8"><div class="ttname"><a href="classCDecoder.html#a0fce75560814039770a29821b2dfdac8">CDecoder::SetStreamPosToData</a></div><div class="ttdeci">void SetStreamPosToData() THROW_</div><div class="ttdoc">Reset stream position to beginning of data block. </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00144">Decoder.h:144</a></div></div>
<div class="ttc" id="classCDecoder_html_a215b9e3cd0bc08c1c67674f28247e63c"><div class="ttname"><a href="classCDecoder.html#a215b9e3cd0bc08c1c67674f28247e63c">CDecoder::m_macroBlockLen</a></div><div class="ttdeci">int m_macroBlockLen</div><div class="ttdoc">array length </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00210">Decoder.h:210</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="classCDecoder_1_1CMacroBlock_html_a7722de1000647fb5a894db2e2f348bdd"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a7722de1000647fb5a894db2e2f348bdd">CDecoder::CMacroBlock::m_value</a></div><div class="ttdeci">DataT m_value[BufferSize]</div><div class="ttdoc">output buffer of values with index m_valuePos </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00076">Decoder.h:76</a></div></div>
<div class="ttc" id="classCDecoder_html_af6167895910faf395203cd102ec1d3af"><div class="ttname"><a href="classCDecoder.html#af6167895910faf395203cd102ec1d3af">CDecoder::DequantizeValue</a></div><div class="ttdeci">void DequantizeValue(CSubband *band, UINT32 bandPos, int quantParam) THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00448">Decoder.cpp:448</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_a7fd4539d524903d148ceb4de940d3194"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a7fd4539d524903d148ceb4de940d3194">CDecoder::CMacroBlock::SetSign</a></div><div class="ttdeci">void SetSign(UINT32 pos, bool sign)</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00085">Decoder.h:85</a></div></div>
<div class="ttc" id="unionROIBlockHeader_html"><div class="ttname"><a href="unionROIBlockHeader.html">ROIBlockHeader</a></div><div class="ttdoc">Block header used with ROI coding scheme. </div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00151">PGFtypes.h:151</a></div></div>
<div class="ttc" id="structPGFHeader_html"><div class="ttname"><a href="structPGFHeader.html">PGFHeader</a></div><div class="ttdoc">PGF header. </div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00123">PGFtypes.h:123</a></div></div>
<div class="ttc" id="classCDecoder_html_a2e3c3a814d7bc3766e35302367f8d9ae"><div class="ttname"><a href="classCDecoder.html#a2e3c3a814d7bc3766e35302367f8d9ae">CDecoder::m_currentBlockIndex</a></div><div class="ttdeci">int m_currentBlockIndex</div><div class="ttdoc">index of current macro block </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00209">Decoder.h:209</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_a72899e368b29833bd485c4858b5ad7ef"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a72899e368b29833bd485c4858b5ad7ef">CDecoder::CMacroBlock::BitplaneDecode</a></div><div class="ttdeci">void BitplaneDecode()</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00619">Decoder.cpp:619</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_a023a230fc23472478e5429cef5ec4be4"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a023a230fc23472478e5429cef5ec4be4">CDecoder::CMacroBlock::CMacroBlock</a></div><div class="ttdeci">CMacroBlock(CDecoder *decoder)</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00056">Decoder.h:56</a></div></div>
<div class="ttc" id="classCDecoder_html_aa21a930e7af6496ee5e6662659d62ecb"><div class="ttname"><a href="classCDecoder.html#aa21a930e7af6496ee5e6662659d62ecb">CDecoder::m_currentBlock</a></div><div class="ttdeci">CMacroBlock * m_currentBlock</div><div class="ttdoc">current macro block (used by main thread) </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00212">Decoder.h:212</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="classCDecoder_1_1CMacroBlock_html_a0425cb162ca41e04f6ae0886a62b3cc9"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a0425cb162ca41e04f6ae0886a62b3cc9">CDecoder::CMacroBlock::IsCompletelyRead</a></div><div class="ttdeci">bool IsCompletelyRead() const</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00067">Decoder.h:67</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html">CDecoder::CMacroBlock</a></div><div class="ttdoc">A macro block is a decoding unit of fixed size (uncoded) </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00051">Decoder.h:51</a></div></div>
<div class="ttc" id="structPGFPostHeader_html"><div class="ttname"><a href="structPGFPostHeader.html">PGFPostHeader</a></div><div class="ttdoc">Optional PGF post-header. </div><div class="ttdef"><b>Definition:</b> <a href="PGFtypes_8h_source.html#l00141">PGFtypes.h:141</a></div></div>
<div class="ttc" id="WaveletTransform_8h_html"><div class="ttname"><a href="WaveletTransform_8h.html">WaveletTransform.h</a></div><div class="ttdoc">PGF wavelet transform class. </div></div>
<div class="ttc" id="classCDecoder_html_a4a083ad657a4f6236603c3090b44b2c5"><div class="ttname"><a href="classCDecoder.html#a4a083ad657a4f6236603c3090b44b2c5">CDecoder::m_stream</a></div><div class="ttdeci">CPGFStream * m_stream</div><div class="ttdoc">input PGF stream </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00203">Decoder.h:203</a></div></div>
<div class="ttc" id="classCDecoder_html_a542f95c68cc1661b3629a3cf026f45c4"><div class="ttname"><a href="classCDecoder.html#a542f95c68cc1661b3629a3cf026f45c4">CDecoder::m_macroBlocksAvailable</a></div><div class="ttdeci">int m_macroBlocksAvailable</div><div class="ttdoc">number of decoded macro blocks (including currently used macro block) </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00211">Decoder.h:211</a></div></div>
<div class="ttc" id="classCDecoder_html_a56f84d5e2dc9f94737e9ff76a017eab7"><div class="ttname"><a href="classCDecoder.html#a56f84d5e2dc9f94737e9ff76a017eab7">CDecoder::m_startPos</a></div><div class="ttdeci">UINT64 m_startPos</div><div class="ttdoc">stream position at the beginning of the PGF pre-header </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00204">Decoder.h:204</a></div></div>
<div class="ttc" id="PGFstream_8h_html"><div class="ttname"><a href="PGFstream_8h.html">PGFstream.h</a></div><div class="ttdoc">PGF stream class. </div></div>
<div class="ttc" id="classCDecoder_html_a738da91617ba87745459191279da4315"><div class="ttname"><a href="classCDecoder.html#a738da91617ba87745459191279da4315">CDecoder::DecodeBuffer</a></div><div class="ttdeci">void DecodeBuffer() THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00480">Decoder.cpp:480</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_aa6e8f0dedcdeb9e592de7dde07b5025e"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#aa6e8f0dedcdeb9e592de7dde07b5025e">CDecoder::CMacroBlock::ComposeBitplaneRLD</a></div><div class="ttdeci">UINT32 ComposeBitplaneRLD(UINT32 bufferSize, DataT planeMask, UINT32 sigPos, UINT32 *refBits)</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00797">Decoder.cpp:797</a></div></div>
<div class="ttc" id="classCDecoder_html_acb01a15ed5bbd602deeca17f2c3522cf"><div class="ttname"><a href="classCDecoder.html#acb01a15ed5bbd602deeca17f2c3522cf">CDecoder::MacroBlocksAvailable</a></div><div class="ttdeci">bool MacroBlocksAvailable() const</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00178">Decoder.h:178</a></div></div>
<div class="ttc" id="classCDecoder_html_ae67e34004d59ec42d6de1a1a900e087c"><div class="ttname"><a href="classCDecoder.html#ae67e34004d59ec42d6de1a1a900e087c">CDecoder::CDecoder</a></div><div class="ttdeci">CDecoder(CPGFStream *stream, PGFPreHeader &amp;preHeader, PGFHeader &amp;header, PGFPostHeader &amp;postHeader, UINT32 *&amp;levelLength, UINT64 &amp;userDataPos, bool useOMP, bool skipUserData) THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00073">Decoder.cpp:73</a></div></div>
<div class="ttc" id="classCDecoder_html_ac52d7036b81fa3021eb3bd57f6b1035c"><div class="ttname"><a href="classCDecoder.html#ac52d7036b81fa3021eb3bd57f6b1035c">CDecoder::Skip</a></div><div class="ttdeci">void Skip(UINT64 offset) THROW_</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8cpp_source.html#l00435">Decoder.cpp:435</a></div></div>
<div class="ttc" id="classCDecoder_html_a6562d817189d48cfed14b5e8b921e180"><div class="ttname"><a href="classCDecoder.html#a6562d817189d48cfed14b5e8b921e180">CDecoder::m_streamSizeEstimation</a></div><div class="ttdeci">UINT64 m_streamSizeEstimation</div><div class="ttdoc">estimation of stream size </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00205">Decoder.h:205</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_a19247bd5e6073252c45abf9d33b44ee0"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a19247bd5e6073252c45abf9d33b44ee0">CDecoder::CMacroBlock::m_header</a></div><div class="ttdeci">ROIBlockHeader m_header</div><div class="ttdoc">block header </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00075">Decoder.h:75</a></div></div>
<div class="ttc" id="Decoder_8h_html_a05a74e73e6c734fcad194efbca053ed5"><div class="ttname"><a href="Decoder_8h.html#a05a74e73e6c734fcad194efbca053ed5">CodeBufferLen</a></div><div class="ttdeci">#define CodeBufferLen</div><div class="ttdoc">number of words in code buffer (CodeBufferLen &gt; BufferLen) </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00040">Decoder.h:40</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_af6931769654b397d6c3becae44e868b0"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#af6931769654b397d6c3becae44e868b0">CDecoder::CMacroBlock::m_sigFlagVector</a></div><div class="ttdeci">bool m_sigFlagVector[BufferSize+1]</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00088">Decoder.h:88</a></div></div>
<div class="ttc" id="classCDecoder_html_a40e14a82aed038dfdb11ea0ab7a7ae27"><div class="ttname"><a href="classCDecoder.html#a40e14a82aed038dfdb11ea0ab7a7ae27">CDecoder::SetStreamPosToStart</a></div><div class="ttdeci">void SetStreamPosToStart() THROW_</div><div class="ttdoc">Reset stream position to beginning of PGF pre-header. </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00140">Decoder.h:140</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_ace0702d7f8281972b1db091248c3c80b"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#ace0702d7f8281972b1db091248c3c80b">CDecoder::CMacroBlock::m_codeBuffer</a></div><div class="ttdeci">UINT32 m_codeBuffer[CodeBufferLen]</div><div class="ttdoc">input buffer for encoded bitstream </div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00077">Decoder.h:77</a></div></div>
<div class="ttc" id="classCDecoder_1_1CMacroBlock_html_a4a4b0f49967a8fc938295fdcc5093e66"><div class="ttname"><a href="classCDecoder_1_1CMacroBlock.html#a4a4b0f49967a8fc938295fdcc5093e66">CDecoder::CMacroBlock::m_decoder</a></div><div class="ttdeci">CDecoder * m_decoder</div><div class="ttdef"><b>Definition:</b> <a href="Decoder_8h_source.html#l00087">Decoder.h:87</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="Decoder_8h.html">Decoder.h</a></li>
    <li class="footer">Generated on Mon Dec 31 2018 19:09:16 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>