Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > by-pkgid > f250c16c2b84c9364a2f35a71121aaa2 > files > 126

lib64dirac-devel-1.0.2-2mdv2010.0.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Dirac Video Codec</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<h1 align="center" color="#606080">
Dirac - A Video Codec
</h1>
<p align="center">
Created by the <a href="http://www.bbc.co.uk">British Broadcasting Corporation</a>.
</p>
<hr>
<!-- Generated by Doxygen 1.5.9 -->
  <div class="navpath"><a class="el" href="a00234.html">dirac</a>::<a class="el" href="a00074.html">GenericBandCodec</a>
  </div>
<div class="contents">
<h1>dirac::GenericBandCodec&lt; EntropyCodec &gt; Class Template Reference</h1><!-- doxytag: class="dirac::GenericBandCodec" --><!-- doxytag: inherits="EntropyCodec" -->A template class for coding and decoding wavelet subband data.  

<p>
<code>#include &lt;<a class="el" href="a00163_source.html">band_codec.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dirac::GenericBandCodec&lt; EntropyCodec &gt;:</div>
<div class="dynsection">

<p><center><img src="a00074.png" usemap="#dirac::GenericBandCodec< EntropyCodec >_map" border="0" alt=""></center>
<map name="dirac::GenericBandCodec< EntropyCodec >_map">
<area href="a00067.html" alt="EntropyCodec" shape="rect" coords="0,0,263,24">
</map>
</div>

<p>
<a href="a00280.html">List of all members.</a><h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="a00074.html#1c9fb92476e3600daa9dce0c63de69e0">GenericBandCodec</a> (<a class="el" href="a00141.html">SubbandByteIO</a> *subband_byteio, size_t number_of_contexts, const <a class="el" href="a00142.html">SubbandList</a> &amp;band_list, int band_num, const bool is_intra)
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#1c9fb92476e3600daa9dce0c63de69e0"></a><br></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>void <a class="el" href="a00074.html#378f1a73c1e79588e78ff8e080492ad8">CodeVal</a> (<a class="el" href="a00021.html">CoeffArray</a> &amp;in_data, const int xpos, const int ypos, const <a class="el" href="a00234.html#00c36803f51328ff862631abde5071c5">CoeffType</a> val)
<dl class="el"><dd class="mdescRight">Code an individual quantised value and perform inverse-quantisation.  <a href="#378f1a73c1e79588e78ff8e080492ad8"></a><br></dl><li>void <a class="el" href="a00074.html#f72fefdb67e527ea32af5da0f2842e3a">DecodeVal</a> (<a class="el" href="a00021.html">CoeffArray</a> &amp;out_data, const int xpos, const int ypos)
<dl class="el"><dd class="mdescRight">Decode an individual quantised value and perform inverse-quantisation.  <a href="#f72fefdb67e527ea32af5da0f2842e3a"></a><br></dl><li>void <a class="el" href="a00074.html#d57a207675f892483f7b4ff07ee92790">CodeQuantIndexOffset</a> (const int offset)
<dl class="el"><dd class="mdescRight">Encode the offset for a code block quantiser.  <a href="#d57a207675f892483f7b4ff07ee92790"></a><br></dl><li>int <a class="el" href="a00074.html#8e3a31f758d21dff836bd24be36b9b19">DecodeQuantIndexOffset</a> ()
<dl class="el"><dd class="mdescRight">Decode the offset for a code block quantiser.  <a href="#8e3a31f758d21dff836bd24be36b9b19"></a><br></dl><li>void <a class="el" href="a00074.html#45dddd6dbf3bf0ce690a589a4f4abf2b">SetToVal</a> (const <a class="el" href="a00017.html">CodeBlock</a> &amp;code_block, <a class="el" href="a00021.html">CoeffArray</a> &amp;coeff_data, const <a class="el" href="a00234.html#00c36803f51328ff862631abde5071c5">CoeffType</a> val)
<dl class="el"><dd class="mdescRight">Set a code block area to a given value.  <a href="#45dddd6dbf3bf0ce690a589a4f4abf2b"></a><br></dl><li>virtual void <a class="el" href="a00074.html#c2d0763eea2cc7009674384ba1f9f4c8">ClearBlock</a> (const <a class="el" href="a00017.html">CodeBlock</a> &amp;code_block, <a class="el" href="a00021.html">CoeffArray</a> &amp;coeff_data)
<dl class="el"><dd class="mdescRight">Set all block values to 0.  <a href="#c2d0763eea2cc7009674384ba1f9f4c8"></a><br></dl><li>virtual void <a class="el" href="a00074.html#fbe9e6a13374a7b030ae28397b84395f">DoWorkCode</a> (<a class="el" href="a00021.html">CoeffArray</a> &amp;in_data)
<li>virtual void <a class="el" href="a00074.html#2db4a20896bde64fcae2c6fe35583078">DoWorkDecode</a> (<a class="el" href="a00021.html">CoeffArray</a> &amp;out_data)
<li>virtual void <a class="el" href="a00074.html#82bba33f40d880fe55c0a462a7ff8db6">CodeCoeffBlock</a> (const <a class="el" href="a00017.html">CodeBlock</a> &amp;code_block, <a class="el" href="a00021.html">CoeffArray</a> &amp;in_data)
<li>virtual void <a class="el" href="a00074.html#3315145099c8a72678ecfa6b74dd3330">DecodeCoeffBlock</a> (const <a class="el" href="a00017.html">CodeBlock</a> &amp;code_block, <a class="el" href="a00021.html">CoeffArray</a> &amp;out_data)
<li>virtual void <a class="el" href="a00074.html#e563efd53d42e61b4613bd6f5999e662">CodeCoeff</a> (<a class="el" href="a00021.html">CoeffArray</a> &amp;in_data, const int xpos, const int ypos)
<li>virtual void <a class="el" href="a00074.html#9d930a4e0c1fad0e2f16227ec24bbf19">DecodeCoeff</a> (<a class="el" href="a00021.html">CoeffArray</a> &amp;in_data, const int xpos, const int ypos)
<li>int <a class="el" href="a00074.html#e79bef95f2eb8c34f1f2d9e8cdf53156">ChooseFollowContext</a> (const int bin_number) const 
<dl class="el"><dd class="mdescRight">A function for choosing the context for "follow bits".  <a href="#e79bef95f2eb8c34f1f2d9e8cdf53156"></a><br></dl><li>int <a class="el" href="a00074.html#0e4d57d640186b168c5bbde6450fd7ce">ChooseInfoContext</a> () const 
<dl class="el"><dd class="mdescRight">A function for choosing the context for "information bits".  <a href="#0e4d57d640186b168c5bbde6450fd7ce"></a><br></dl><li>int <a class="el" href="a00074.html#2b023bf7bf8444e82e0d08709d1bc0e6">ChooseSignContext</a> (const <a class="el" href="a00021.html">CoeffArray</a> &amp;data, const int xpos, const int ypos) const 
<dl class="el"><dd class="mdescRight">A function for choosing the context for sign bits.  <a href="#2b023bf7bf8444e82e0d08709d1bc0e6"></a><br></dl></ul>
<h2>Protected Attributes</h2>
<ul>
<li>bool <a class="el" href="a00074.html#d687ad3ba39d006355520e9a713d300f">m_is_intra</a>
<dl class="el"><dd class="mdescRight">Flag indicating whether the band comes from an intra picture.  <a href="#d687ad3ba39d006355520e9a713d300f"></a><br></dl><li>int <a class="el" href="a00074.html#1aef1d97a2c215068e7893fb6f8c0713">m_bnum</a>
<dl class="el"><dd class="mdescRight">variables  <a href="#1aef1d97a2c215068e7893fb6f8c0713"></a><br></dl><li>const <a class="el" href="a00140.html">Subband</a> <a class="el" href="a00074.html#5bdf9e858d0d968c7aff5ec8fa734354">m_node</a>
<dl class="el"><dd class="mdescRight">the subband being coded  <a href="#5bdf9e858d0d968c7aff5ec8fa734354"></a><br></dl><li>int <a class="el" href="a00074.html#9360259035a54dfe498207b54ac8d8cc">m_last_qf_idx</a>
<dl class="el"><dd class="mdescRight">the quantisation index of the last codeblock  <a href="#9360259035a54dfe498207b54ac8d8cc"></a><br></dl><li>int <a class="el" href="a00074.html#1708f7ab179ce53cc831954db41761f8">m_qf</a>
<dl class="el"><dd class="mdescRight">quantisation value  <a href="#1708f7ab179ce53cc831954db41761f8"></a><br></dl><li><a class="el" href="a00234.html#00c36803f51328ff862631abde5071c5">CoeffType</a> <a class="el" href="a00074.html#ad422ae38b33b60ee3bc2c7bcc3550e3">m_offset</a>
<dl class="el"><dd class="mdescRight">reconstruction point  <a href="#ad422ae38b33b60ee3bc2c7bcc3550e3"></a><br></dl><li>bool <a class="el" href="a00074.html#cddfa7b9085e8724a341f21523cea8a7">m_nhood_nonzero</a>
<dl class="el"><dd class="mdescRight">True if neighbours non-zero.  <a href="#cddfa7b9085e8724a341f21523cea8a7"></a><br></dl><li><a class="el" href="a00140.html">Subband</a> <a class="el" href="a00074.html#867d5768cd4274c79eb7732b5edcf48f">m_pnode</a>
<dl class="el"><dd class="mdescRight">the parent subband  <a href="#867d5768cd4274c79eb7732b5edcf48f"></a><br></dl><li>int <a class="el" href="a00074.html#93c094eb97a2ade5a2e62358c27ff1fb">m_pxpos</a>
<dl class="el"><dd class="mdescRight">position of the parent coefficient  <a href="#93c094eb97a2ade5a2e62358c27ff1fb"></a><br></dl><li>int <a class="el" href="a00074.html#7e49fb7b974f89fd6b834e565c5f6c4a">m_pypos</a>
<li>bool <a class="el" href="a00074.html#7f9b63d8cb68f488f78b4b708156fdac">m_parent_notzero</a>
<dl class="el"><dd class="mdescRight">True if the parent of a coeff is not zero.  <a href="#7f9b63d8cb68f488f78b4b708156fdac"></a><br></dl></ul>
<h2>Private Member Functions</h2>
<ul>
<li><a class="el" href="a00074.html#5c02a059f00a04968e70c4fc1e1eb109">GenericBandCodec</a> (const <a class="el" href="a00074.html">GenericBandCodec</a> &amp;cpy)
<dl class="el"><dd class="mdescRight">Private, bodyless copy constructor: class should not be copied.  <a href="#5c02a059f00a04968e70c4fc1e1eb109"></a><br></dl><li><a class="el" href="a00074.html">GenericBandCodec</a> &amp; <a class="el" href="a00074.html#14cf3197deecbbc6d622b644c8e8af30">operator=</a> (const <a class="el" href="a00074.html">GenericBandCodec</a> &amp;rhs)
<dl class="el"><dd class="mdescRight">Private, bodyless copy operator=: class should not be assigned.  <a href="#14cf3197deecbbc6d622b644c8e8af30"></a><br></dl></ul>
<h3>template&lt;typename EntropyCodec&gt;<br>
 class dirac::GenericBandCodec&lt; EntropyCodec &gt;</h3>

<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="1c9fb92476e3600daa9dce0c63de69e0"></a><!-- doxytag: member="dirac::GenericBandCodec::GenericBandCodec" ref="1c9fb92476e3600daa9dce0c63de69e0" args="(SubbandByteIO *subband_byteio, size_t number_of_contexts, const SubbandList &amp;band_list, int band_num, const bool is_intra)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html">GenericBandCodec</a>           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00141.html">SubbandByteIO</a> *&nbsp;</td>
          <td class="paramname"> <em>subband_byteio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>number_of_contexts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00142.html">SubbandList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>band_list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>band_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&nbsp;</td>
          <td class="paramname"> <em>is_intra</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a BandCodec object to encode subband data <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>subband_byteio</em>&nbsp;</td><td>input/output for the encoded bits </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>number_of_contexts</em>&nbsp;</td><td>the number of contexts used in the encoding process </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>band_list</em>&nbsp;</td><td>the set of all the subbands </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>band_num</em>&nbsp;</td><td>the number of the subband being coded </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>is_intra</em>&nbsp;</td><td>Flag indicating whether the band comes from an intra picture </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5c02a059f00a04968e70c4fc1e1eb109"></a><!-- doxytag: member="dirac::GenericBandCodec::GenericBandCodec" ref="5c02a059f00a04968e70c4fc1e1eb109" args="(const GenericBandCodec &amp;cpy)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html">GenericBandCodec</a>           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00074.html">GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>cpy</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e79bef95f2eb8c34f1f2d9e8cdf53156"></a><!-- doxytag: member="dirac::GenericBandCodec::ChooseFollowContext" ref="e79bef95f2eb8c34f1f2d9e8cdf53156" args="(const int bin_number) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::ChooseFollowContext           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>bin_number</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0e4d57d640186b168c5bbde6450fd7ce"></a><!-- doxytag: member="dirac::GenericBandCodec::ChooseInfoContext" ref="0e4d57d640186b168c5bbde6450fd7ce" args="() const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::ChooseInfoContext           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="2b023bf7bf8444e82e0d08709d1bc0e6"></a><!-- doxytag: member="dirac::GenericBandCodec::ChooseSignContext" ref="2b023bf7bf8444e82e0d08709d1bc0e6" args="(const CoeffArray &amp;data, const int xpos, const int ypos) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::ChooseSignContext           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>xpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>ypos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c2d0763eea2cc7009674384ba1f9f4c8"></a><!-- doxytag: member="dirac::GenericBandCodec::ClearBlock" ref="c2d0763eea2cc7009674384ba1f9f4c8" args="(const CodeBlock &amp;code_block, CoeffArray &amp;coeff_data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::ClearBlock           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00017.html">CodeBlock</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>code_block</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>coeff_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented in <a class="el" href="a00075.html#16caf7003248f9bf95200b3c209fee01">dirac::GenericIntraDCBandCodec&lt; EntropyCodec &gt;</a>, <a class="el" href="a00075.html#16caf7003248f9bf95200b3c209fee01">dirac::GenericIntraDCBandCodec&lt; ArithCodec&lt; CoeffArray &gt; &gt;</a>, and <a class="el" href="a00075.html#16caf7003248f9bf95200b3c209fee01">dirac::GenericIntraDCBandCodec&lt; ArithCodecToVLCAdapter &gt;</a>.</p>

</div>
</div><p>
<a class="anchor" name="e563efd53d42e61b4613bd6f5999e662"></a><!-- doxytag: member="dirac::GenericBandCodec::CodeCoeff" ref="e563efd53d42e61b4613bd6f5999e662" args="(CoeffArray &amp;in_data, const int xpos, const int ypos)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::CodeCoeff           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>xpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>ypos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented in <a class="el" href="a00079.html#4b8080dd9f86ca3552522310c774913f">dirac::IntraDCBandCodec</a>, and <a class="el" href="a00080.html#03cf887d209572cc51bdf395ca2f5044">dirac::IntraDCBandVLC</a>.</p>

</div>
</div><p>
<a class="anchor" name="82bba33f40d880fe55c0a462a7ff8db6"></a><!-- doxytag: member="dirac::GenericBandCodec::CodeCoeffBlock" ref="82bba33f40d880fe55c0a462a7ff8db6" args="(const CodeBlock &amp;code_block, CoeffArray &amp;in_data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::CodeCoeffBlock           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00017.html">CodeBlock</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>code_block</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d57a207675f892483f7b4ff07ee92790"></a><!-- doxytag: member="dirac::GenericBandCodec::CodeQuantIndexOffset" ref="d57a207675f892483f7b4ff07ee92790" args="(const int offset)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::CodeQuantIndexOffset           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>offset</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="378f1a73c1e79588e78ff8e080492ad8"></a><!-- doxytag: member="dirac::GenericBandCodec::CodeVal" ref="378f1a73c1e79588e78ff8e080492ad8" args="(CoeffArray &amp;in_data, const int xpos, const int ypos, const CoeffType val)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::CodeVal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>xpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>ypos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00234.html#00c36803f51328ff862631abde5071c5">CoeffType</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="9d930a4e0c1fad0e2f16227ec24bbf19"></a><!-- doxytag: member="dirac::GenericBandCodec::DecodeCoeff" ref="9d930a4e0c1fad0e2f16227ec24bbf19" args="(CoeffArray &amp;in_data, const int xpos, const int ypos)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::DecodeCoeff           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>xpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>ypos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented in <a class="el" href="a00079.html#552d6119c66ae1b84264879bf850f0c5">dirac::IntraDCBandCodec</a>.</p>

</div>
</div><p>
<a class="anchor" name="3315145099c8a72678ecfa6b74dd3330"></a><!-- doxytag: member="dirac::GenericBandCodec::DecodeCoeffBlock" ref="3315145099c8a72678ecfa6b74dd3330" args="(const CodeBlock &amp;code_block, CoeffArray &amp;out_data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::DecodeCoeffBlock           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00017.html">CodeBlock</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>code_block</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_data</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented in <a class="el" href="a00075.html#f2cf7da0868304a23d5ec3de76efb40b">dirac::GenericIntraDCBandCodec&lt; EntropyCodec &gt;</a>, <a class="el" href="a00075.html#f2cf7da0868304a23d5ec3de76efb40b">dirac::GenericIntraDCBandCodec&lt; ArithCodec&lt; CoeffArray &gt; &gt;</a>, and <a class="el" href="a00075.html#f2cf7da0868304a23d5ec3de76efb40b">dirac::GenericIntraDCBandCodec&lt; ArithCodecToVLCAdapter &gt;</a>.</p>

</div>
</div><p>
<a class="anchor" name="8e3a31f758d21dff836bd24be36b9b19"></a><!-- doxytag: member="dirac::GenericBandCodec::DecodeQuantIndexOffset" ref="8e3a31f758d21dff836bd24be36b9b19" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::DecodeQuantIndexOffset           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="f72fefdb67e527ea32af5da0f2842e3a"></a><!-- doxytag: member="dirac::GenericBandCodec::DecodeVal" ref="f72fefdb67e527ea32af5da0f2842e3a" args="(CoeffArray &amp;out_data, const int xpos, const int ypos)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::DecodeVal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>xpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>ypos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="fbe9e6a13374a7b030ae28397b84395f"></a><!-- doxytag: member="dirac::GenericBandCodec::DoWorkCode" ref="fbe9e6a13374a7b030ae28397b84395f" args="(CoeffArray &amp;in_data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::DoWorkCode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in_data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented in <a class="el" href="a00079.html#f0fe3814042ee758a6988d7b5e997101">dirac::IntraDCBandCodec</a>.</p>

</div>
</div><p>
<a class="anchor" name="2db4a20896bde64fcae2c6fe35583078"></a><!-- doxytag: member="dirac::GenericBandCodec::DoWorkDecode" ref="2db4a20896bde64fcae2c6fe35583078" args="(CoeffArray &amp;out_data)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::DoWorkDecode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Reimplemented in <a class="el" href="a00079.html#310cf073898fe6f4c6ac46a88e87086b">dirac::IntraDCBandCodec</a>.</p>

</div>
</div><p>
<a class="anchor" name="14cf3197deecbbc6d622b644c8e8af30"></a><!-- doxytag: member="dirac::GenericBandCodec::operator=" ref="14cf3197deecbbc6d622b644c8e8af30" args="(const GenericBandCodec &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00074.html">GenericBandCodec</a>&amp; <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00074.html">GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="45dddd6dbf3bf0ce690a589a4f4abf2b"></a><!-- doxytag: member="dirac::GenericBandCodec::SetToVal" ref="45dddd6dbf3bf0ce690a589a4f4abf2b" args="(const CodeBlock &amp;code_block, CoeffArray &amp;coeff_data, const CoeffType val)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::SetToVal           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00017.html">CodeBlock</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>code_block</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>coeff_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00234.html#00c36803f51328ff862631abde5071c5">CoeffType</a>&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="1aef1d97a2c215068e7893fb6f8c0713"></a><!-- doxytag: member="dirac::GenericBandCodec::m_bnum" ref="1aef1d97a2c215068e7893fb6f8c0713" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#1aef1d97a2c215068e7893fb6f8c0713">m_bnum</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d687ad3ba39d006355520e9a713d300f"></a><!-- doxytag: member="dirac::GenericBandCodec::m_is_intra" ref="d687ad3ba39d006355520e9a713d300f" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#d687ad3ba39d006355520e9a713d300f">m_is_intra</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="9360259035a54dfe498207b54ac8d8cc"></a><!-- doxytag: member="dirac::GenericBandCodec::m_last_qf_idx" ref="9360259035a54dfe498207b54ac8d8cc" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#9360259035a54dfe498207b54ac8d8cc">m_last_qf_idx</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="cddfa7b9085e8724a341f21523cea8a7"></a><!-- doxytag: member="dirac::GenericBandCodec::m_nhood_nonzero" ref="cddfa7b9085e8724a341f21523cea8a7" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#cddfa7b9085e8724a341f21523cea8a7">m_nhood_nonzero</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="5bdf9e858d0d968c7aff5ec8fa734354"></a><!-- doxytag: member="dirac::GenericBandCodec::m_node" ref="5bdf9e858d0d968c7aff5ec8fa734354" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00140.html">Subband</a> <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#5bdf9e858d0d968c7aff5ec8fa734354">m_node</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="ad422ae38b33b60ee3bc2c7bcc3550e3"></a><!-- doxytag: member="dirac::GenericBandCodec::m_offset" ref="ad422ae38b33b60ee3bc2c7bcc3550e3" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00234.html#00c36803f51328ff862631abde5071c5">CoeffType</a> <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#ad422ae38b33b60ee3bc2c7bcc3550e3">m_offset</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7f9b63d8cb68f488f78b4b708156fdac"></a><!-- doxytag: member="dirac::GenericBandCodec::m_parent_notzero" ref="7f9b63d8cb68f488f78b4b708156fdac" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#7f9b63d8cb68f488f78b4b708156fdac">m_parent_notzero</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="867d5768cd4274c79eb7732b5edcf48f"></a><!-- doxytag: member="dirac::GenericBandCodec::m_pnode" ref="867d5768cd4274c79eb7732b5edcf48f" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00140.html">Subband</a> <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#867d5768cd4274c79eb7732b5edcf48f">m_pnode</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="93c094eb97a2ade5a2e62358c27ff1fb"></a><!-- doxytag: member="dirac::GenericBandCodec::m_pxpos" ref="93c094eb97a2ade5a2e62358c27ff1fb" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#93c094eb97a2ade5a2e62358c27ff1fb">m_pxpos</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7e49fb7b974f89fd6b834e565c5f6c4a"></a><!-- doxytag: member="dirac::GenericBandCodec::m_pypos" ref="7e49fb7b974f89fd6b834e565c5f6c4a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#7e49fb7b974f89fd6b834e565c5f6c4a">m_pypos</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="1708f7ab179ce53cc831954db41761f8"></a><!-- doxytag: member="dirac::GenericBandCodec::m_qf" ref="1708f7ab179ce53cc831954db41761f8" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename EntropyCodec&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00074.html">dirac::GenericBandCodec</a>&lt; <a class="el" href="a00067.html">EntropyCodec</a> &gt;::<a class="el" href="a00074.html#1708f7ab179ce53cc831954db41761f8">m_qf</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00163_source.html">band_codec.h</a></ul>
</div>
<hr>
<p align="center"><small>
&copy; 2004 British Broadcasting Corporation.
Dirac code licensed under the <a href="http://www.mozilla.org/MPL/">Mozilla Public License (MPL) Version 1.1</a>.<br>
HTML documentation generated by Dimitri van Heesch's
excellent <a href="http://www.doxygen.org">Doxygen</a> tool.
</small></p>
</body>
</html>