Sophie

Sophie

distrib > Mandriva > 2010.0 > x86_64 > media > main-release > by-pkgid > f250c16c2b84c9364a2f35a71121aaa2 > files > 21

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="a00002.html">ArithCodecBase</a>
  </div>
<div class="contents">
<h1>dirac::ArithCodecBase Class Reference</h1><!-- doxytag: class="dirac::ArithCodecBase" --><code>#include &lt;<a class="el" href="a00161_source.html">arith_codec.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dirac::ArithCodecBase:</div>
<div class="dynsection">

<p><center><img src="a00002.png" usemap="#dirac::ArithCodecBase_map" border="0" alt=""></center>
<map name="dirac::ArithCodecBase_map">
<area href="a00001.html" alt="dirac::ArithCodec< CoeffArray >" shape="rect" coords="0,56,377,80">
<area href="a00001.html" alt="dirac::ArithCodec< MvData >" shape="rect" coords="967,56,1344,80">
<area href="a00001.html" alt="dirac::ArithCodec< T >" shape="rect" coords="1354,56,1731,80">
<area href="a00074.html" alt="dirac::GenericBandCodec< ArithCodec< CoeffArray > >" shape="rect" coords="0,112,377,136">
<area href="a00028.html" alt="dirac::DCCodec" shape="rect" coords="387,112,764,136">
<area href="a00120.html" alt="dirac::PredModeCodec" shape="rect" coords="774,112,1151,136">
<area href="a00133.html" alt="dirac::SplitModeCodec" shape="rect" coords="1161,112,1538,136">
<area href="a00150.html" alt="dirac::VectorElementCodec" shape="rect" coords="1548,112,1925,136">
<area href="a00075.html" alt="dirac::GenericIntraDCBandCodec< ArithCodec< CoeffArray > >" shape="rect" coords="0,168,377,192">
<area href="a00079.html" alt="dirac::IntraDCBandCodec" shape="rect" coords="0,224,377,248">
</map>
</div>

<p>
<a href="a00275.html">List of all members.</a><h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="a00002.html#80cabb1ba179c17d7d7f4a4d6c77c880">ArithCodecBase</a> (<a class="el" href="a00016.html">ByteIO</a> *p_byteio, size_t number_of_contexts)
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#80cabb1ba179c17d7d7f4a4d6c77c880"></a><br></dl><li>virtual <a class="el" href="a00002.html#a5db4421933de8d3cf5f7e58814ae679">~ArithCodecBase</a> ()
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#a5db4421933de8d3cf5f7e58814ae679"></a><br></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>void <a class="el" href="a00002.html#13417bf951850754890a945d1fff5901">InitEncoder</a> ()
<dl class="el"><dd class="mdescRight">Initialises the Encoder.  <a href="#13417bf951850754890a945d1fff5901"></a><br></dl><li>void <a class="el" href="a00002.html#c388b85aff0398ba10d656089249a272">EncodeSymbol</a> (const bool symbol, const int context_num)
<dl class="el"><dd class="mdescRight">encodes a symbol and writes to output  <a href="#c388b85aff0398ba10d656089249a272"></a><br></dl><li>void <a class="el" href="a00002.html#f355dc235e6bf8524631060e898e4f70">EncodeUInt</a> (const unsigned int value, const int bin1, const int max_bin)
<li>void <a class="el" href="a00002.html#8a58ca61428bc0f21ac05482c08b268f">EncodeSInt</a> (const int value, const int bin1, const int max_bin)
<li>void <a class="el" href="a00002.html#dd48e1c11a630d1465cba01e5e7524a6">FlushEncoder</a> ()
<dl class="el"><dd class="mdescRight">flushes the output of the encoder.  <a href="#dd48e1c11a630d1465cba01e5e7524a6"></a><br></dl><li>int <a class="el" href="a00002.html#612441c07cdee30c7246539f7fe3199e">ByteCount</a> () const 
<li>void <a class="el" href="a00002.html#c45185be0b16e6e105708e1c790c23d3">InitDecoder</a> (int num_bytes)
<dl class="el"><dd class="mdescRight">Initialise the Decoder.  <a href="#c45185be0b16e6e105708e1c790c23d3"></a><br></dl><li>bool <a class="el" href="a00002.html#fd3402ab56731f6b9281d0efef72e4fd">DecodeSymbol</a> (int context_num)
<dl class="el"><dd class="mdescRight">Decodes a symbol given a context number.  <a href="#fd3402ab56731f6b9281d0efef72e4fd"></a><br></dl><li>unsigned int <a class="el" href="a00002.html#cbfef773024344089487f3c8eb3b81e5">DecodeUInt</a> (const int bin1, const int max_bin)
<li>int <a class="el" href="a00002.html#8927f9ed4aa66a3bf1a5a54475f9766c">DecodeSInt</a> (const int bin1, const int max_bin)
</ul>
<h2>Protected Attributes</h2>
<ul>
<li>std::vector&lt; <a class="el" href="a00026.html">Context</a> &gt; <a class="el" href="a00002.html#11e987e1a4372b9727dd38a8915561af">m_context_list</a>
<dl class="el"><dd class="mdescRight">List of contexts.  <a href="#11e987e1a4372b9727dd38a8915561af"></a><br></dl></ul>
<h2>Private Member Functions</h2>
<ul>
<li><a class="el" href="a00002.html#5a2f80f0176852905537f786e7846f4b">ArithCodecBase</a> (const <a class="el" href="a00002.html">ArithCodecBase</a> &amp;cpy)
<dl class="el"><dd class="mdescRight">private, bodyless copy constructor: class should not be copied  <a href="#5a2f80f0176852905537f786e7846f4b"></a><br></dl><li><a class="el" href="a00002.html">ArithCodecBase</a> &amp; <a class="el" href="a00002.html#2b8dfc768a7feb39a90e1034dddcf536">operator=</a> (const <a class="el" href="a00002.html">ArithCodecBase</a> &amp;rhs)
<dl class="el"><dd class="mdescRight">private, bodyless copy operator=: class should not be assigned  <a href="#2b8dfc768a7feb39a90e1034dddcf536"></a><br></dl><li>void <a class="el" href="a00002.html#a3eb0a389c8fc865f64e027c1cdc8f10">ReadAllData</a> (int num_bytes)
<dl class="el"><dd class="mdescRight">Read all the data in.  <a href="#a3eb0a389c8fc865f64e027c1cdc8f10"></a><br></dl><li>bool <a class="el" href="a00002.html#1395c87448e4fb04e6879c8e30ebf5bd">InputBit</a> ()
<dl class="el"><dd class="mdescRight">Read in a bit of data.  <a href="#1395c87448e4fb04e6879c8e30ebf5bd"></a><br></dl></ul>
<h2>Private Attributes</h2>
<ul>
<li>unsigned int <a class="el" href="a00002.html#4a9ea66b50e954747218cf85a1325f6e">m_scount</a>
<li>unsigned int <a class="el" href="a00002.html#1996e5d84afcf97fd077e48fe2002283">m_low_code</a>
<dl class="el"><dd class="mdescRight">Start of the current code range.  <a href="#1996e5d84afcf97fd077e48fe2002283"></a><br></dl><li>unsigned int <a class="el" href="a00002.html#11259e2ec2728c7cdfb215f24b72b37b">m_range</a>
<dl class="el"><dd class="mdescRight">Length of the current code range.  <a href="#11259e2ec2728c7cdfb215f24b72b37b"></a><br></dl><li><a class="el" href="a00016.html">ByteIO</a> * <a class="el" href="a00002.html#28a2490809e366c92144f75a48a703e3">m_byteio</a>
<dl class="el"><dd class="mdescRight">Input/output stream of Dirac-format bytes.  <a href="#28a2490809e366c92144f75a48a703e3"></a><br></dl><li>int <a class="el" href="a00002.html#896fb231527c4094182c534a13de1297">m_underflow</a>
<dl class="el"><dd class="mdescRight">Number of underflow bits.  <a href="#896fb231527c4094182c534a13de1297"></a><br></dl><li>char * <a class="el" href="a00002.html#2b79911be35754ae75517acb1908337a">m_decode_data_ptr</a>
<dl class="el"><dd class="mdescRight">A pointer to the data for reading in.  <a href="#2b79911be35754ae75517acb1908337a"></a><br></dl><li>char * <a class="el" href="a00002.html#09ee9ca6966c44973a864eb751dcfd71">m_data_ptr</a>
<dl class="el"><dd class="mdescRight">A point to the byte currently being read.  <a href="#09ee9ca6966c44973a864eb751dcfd71"></a><br></dl><li>int <a class="el" href="a00002.html#36c3d594e47cd34db38762d1bba7ef53">m_input_bits_left</a>
<dl class="el"><dd class="mdescRight">The index of the bit of the byte being read.  <a href="#36c3d594e47cd34db38762d1bba7ef53"></a><br></dl><li>unsigned int <a class="el" href="a00002.html#c2c85e023cb7a01d94e46c26fb2e4d86">m_code</a>
<dl class="el"><dd class="mdescRight">The present input code.  <a href="#c2c85e023cb7a01d94e46c26fb2e4d86"></a><br></dl></ul>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="80cabb1ba179c17d7d7f4a4d6c77c880"></a><!-- doxytag: member="dirac::ArithCodecBase::ArithCodecBase" ref="80cabb1ba179c17d7d7f4a4d6c77c880" args="(ByteIO *p_byteio, size_t number_of_contexts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::ArithCodecBase::ArithCodecBase           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00016.html">ByteIO</a> *&nbsp;</td>
          <td class="paramname"> <em>p_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><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates an <a class="el" href="a00001.html" title="Abstract binary arithmetic coding class.">ArithCodec</a> object to decode input based on a set of parameters. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>p_byteio</em>&nbsp;</td><td>input/output for 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 </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a5db4421933de8d3cf5f7e58814ae679"></a><!-- doxytag: member="dirac::ArithCodecBase::~ArithCodecBase" ref="a5db4421933de8d3cf5f7e58814ae679" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual dirac::ArithCodecBase::~ArithCodecBase           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor is virtual as this class is abstract. 
</div>
</div><p>
<a class="anchor" name="5a2f80f0176852905537f786e7846f4b"></a><!-- doxytag: member="dirac::ArithCodecBase::ArithCodecBase" ref="5a2f80f0176852905537f786e7846f4b" args="(const ArithCodecBase &amp;cpy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::ArithCodecBase::ArithCodecBase           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00002.html">ArithCodecBase</a> &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="612441c07cdee30c7246539f7fe3199e"></a><!-- doxytag: member="dirac::ArithCodecBase::ByteCount" ref="612441c07cdee30c7246539f7fe3199e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ArithCodecBase::ByteCount           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00440">dirac::ArithCodec&lt; T &gt;::Compress()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8927f9ed4aa66a3bf1a5a54475f9766c"></a><!-- doxytag: member="dirac::ArithCodecBase::DecodeSInt" ref="8927f9ed4aa66a3bf1a5a54475f9766c" args="(const int bin1, const int max_bin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ArithCodecBase::DecodeSInt           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>bin1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>max_bin</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>

<p>References <a class="el" href="a00161_source.html#l00202">DecodeSymbol()</a>, and <a class="el" href="a00161_source.html#l00257">DecodeUInt()</a>.</p>

</div>
</div><p>
<a class="anchor" name="fd3402ab56731f6b9281d0efef72e4fd"></a><!-- doxytag: member="dirac::ArithCodecBase::DecodeSymbol" ref="fd3402ab56731f6b9281d0efef72e4fd" args="(int context_num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool dirac::ArithCodecBase::DecodeSymbol           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>context_num</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="a00161_source.html#l00079">dirac::Context::GetScaledProb0()</a>, <a class="el" href="a00161_source.html#l00455">InputBit()</a>, <a class="el" href="a00161_source.html#l00197">m_code</a>, <a class="el" href="a00161_source.html#l00148">m_context_list</a>, <a class="el" href="a00161_source.html#l00174">m_low_code</a>, <a class="el" href="a00161_source.html#l00177">m_range</a>, and <a class="el" href="a00161_source.html#l00082">dirac::Context::Update()</a>.</p>

<p>Referenced by <a class="el" href="a00161_source.html#l00270">DecodeSInt()</a>, and <a class="el" href="a00161_source.html#l00257">DecodeUInt()</a>.</p>

</div>
</div><p>
<a class="anchor" name="cbfef773024344089487f3c8eb3b81e5"></a><!-- doxytag: member="dirac::ArithCodecBase::DecodeUInt" ref="cbfef773024344089487f3c8eb3b81e5" args="(const int bin1, const int max_bin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int dirac::ArithCodecBase::DecodeUInt           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>bin1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>max_bin</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>

<p>References <a class="el" href="a00161_source.html#l00202">DecodeSymbol()</a>.</p>

<p>Referenced by <a class="el" href="a00161_source.html#l00270">DecodeSInt()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8a58ca61428bc0f21ac05482c08b268f"></a><!-- doxytag: member="dirac::ArithCodecBase::EncodeSInt" ref="8a58ca61428bc0f21ac05482c08b268f" args="(const int value, const int bin1, const int max_bin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ArithCodecBase::EncodeSInt           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>bin1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>max_bin</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>

<p>References <a class="el" href="a00161_source.html#l00280">EncodeSymbol()</a>, and <a class="el" href="a00161_source.html#l00332">EncodeUInt()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c388b85aff0398ba10d656089249a272"></a><!-- doxytag: member="dirac::ArithCodecBase::EncodeSymbol" ref="c388b85aff0398ba10d656089249a272" args="(const bool symbol, const int context_num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ArithCodecBase::EncodeSymbol           </td>
          <td>(</td>
          <td class="paramtype">const bool&nbsp;</td>
          <td class="paramname"> <em>symbol</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>context_num</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>

<p>References <a class="el" href="a00161_source.html#l00079">dirac::Context::GetScaledProb0()</a>, <a class="el" href="a00161_source.html#l00180">m_byteio</a>, <a class="el" href="a00161_source.html#l00148">m_context_list</a>, <a class="el" href="a00161_source.html#l00174">m_low_code</a>, <a class="el" href="a00161_source.html#l00177">m_range</a>, <a class="el" href="a00161_source.html#l00185">m_underflow</a>, <a class="el" href="a00161_source.html#l00082">dirac::Context::Update()</a>, and <a class="el" href="a00016.html#0ac5a730dab2ed232eff97b49055151e">dirac::ByteIO::WriteBit()</a>.</p>

<p>Referenced by <a class="el" href="a00161_source.html#l00357">EncodeSInt()</a>, and <a class="el" href="a00161_source.html#l00332">EncodeUInt()</a>.</p>

</div>
</div><p>
<a class="anchor" name="f355dc235e6bf8524631060e898e4f70"></a><!-- doxytag: member="dirac::ArithCodecBase::EncodeUInt" ref="f355dc235e6bf8524631060e898e4f70" args="(const unsigned int value, const int bin1, const int max_bin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ArithCodecBase::EncodeUInt           </td>
          <td>(</td>
          <td class="paramtype">const unsigned int&nbsp;</td>
          <td class="paramname"> <em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>bin1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>max_bin</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>

<p>References <a class="el" href="a00161_source.html#l00280">EncodeSymbol()</a>.</p>

<p>Referenced by <a class="el" href="a00161_source.html#l00357">EncodeSInt()</a>.</p>

</div>
</div><p>
<a class="anchor" name="dd48e1c11a630d1465cba01e5e7524a6"></a><!-- doxytag: member="dirac::ArithCodecBase::FlushEncoder" ref="dd48e1c11a630d1465cba01e5e7524a6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ArithCodecBase::FlushEncoder           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00440">dirac::ArithCodec&lt; T &gt;::Compress()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c45185be0b16e6e105708e1c790c23d3"></a><!-- doxytag: member="dirac::ArithCodecBase::InitDecoder" ref="c45185be0b16e6e105708e1c790c23d3" args="(int num_bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ArithCodecBase::InitDecoder           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num_bytes</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00449">dirac::ArithCodec&lt; T &gt;::Decompress()</a>.</p>

</div>
</div><p>
<a class="anchor" name="13417bf951850754890a945d1fff5901"></a><!-- doxytag: member="dirac::ArithCodecBase::InitEncoder" ref="13417bf951850754890a945d1fff5901" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ArithCodecBase::InitEncoder           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00440">dirac::ArithCodec&lt; T &gt;::Compress()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1395c87448e4fb04e6879c8e30ebf5bd"></a><!-- doxytag: member="dirac::ArithCodecBase::InputBit" ref="1395c87448e4fb04e6879c8e30ebf5bd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool dirac::ArithCodecBase::InputBit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="a00161_source.html#l00191">m_data_ptr</a>, and <a class="el" href="a00161_source.html#l00194">m_input_bits_left</a>.</p>

<p>Referenced by <a class="el" href="a00161_source.html#l00202">DecodeSymbol()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2b8dfc768a7feb39a90e1034dddcf536"></a><!-- doxytag: member="dirac::ArithCodecBase::operator=" ref="2b8dfc768a7feb39a90e1034dddcf536" args="(const ArithCodecBase &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00002.html">ArithCodecBase</a>&amp; dirac::ArithCodecBase::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00002.html">ArithCodecBase</a> &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="a3eb0a389c8fc865f64e027c1cdc8f10"></a><!-- doxytag: member="dirac::ArithCodecBase::ReadAllData" ref="a3eb0a389c8fc865f64e027c1cdc8f10" args="(int num_bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ArithCodecBase::ReadAllData           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>num_bytes</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="28a2490809e366c92144f75a48a703e3"></a><!-- doxytag: member="dirac::ArithCodecBase::m_byteio" ref="28a2490809e366c92144f75a48a703e3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00016.html">ByteIO</a>* <a class="el" href="a00002.html#28a2490809e366c92144f75a48a703e3">dirac::ArithCodecBase::m_byteio</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00280">EncodeSymbol()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c2c85e023cb7a01d94e46c26fb2e4d86"></a><!-- doxytag: member="dirac::ArithCodecBase::m_code" ref="c2c85e023cb7a01d94e46c26fb2e4d86" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="a00002.html#c2c85e023cb7a01d94e46c26fb2e4d86">dirac::ArithCodecBase::m_code</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00202">DecodeSymbol()</a>.</p>

</div>
</div><p>
<a class="anchor" name="11e987e1a4372b9727dd38a8915561af"></a><!-- doxytag: member="dirac::ArithCodecBase::m_context_list" ref="11e987e1a4372b9727dd38a8915561af" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="a00026.html">Context</a>&gt; <a class="el" href="a00002.html#11e987e1a4372b9727dd38a8915561af">dirac::ArithCodecBase::m_context_list</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00202">DecodeSymbol()</a>, and <a class="el" href="a00161_source.html#l00280">EncodeSymbol()</a>.</p>

</div>
</div><p>
<a class="anchor" name="09ee9ca6966c44973a864eb751dcfd71"></a><!-- doxytag: member="dirac::ArithCodecBase::m_data_ptr" ref="09ee9ca6966c44973a864eb751dcfd71" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="a00002.html#09ee9ca6966c44973a864eb751dcfd71">dirac::ArithCodecBase::m_data_ptr</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00455">InputBit()</a>.</p>

</div>
</div><p>
<a class="anchor" name="2b79911be35754ae75517acb1908337a"></a><!-- doxytag: member="dirac::ArithCodecBase::m_decode_data_ptr" ref="2b79911be35754ae75517acb1908337a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="a00002.html#2b79911be35754ae75517acb1908337a">dirac::ArithCodecBase::m_decode_data_ptr</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="36c3d594e47cd34db38762d1bba7ef53"></a><!-- doxytag: member="dirac::ArithCodecBase::m_input_bits_left" ref="36c3d594e47cd34db38762d1bba7ef53" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00002.html#36c3d594e47cd34db38762d1bba7ef53">dirac::ArithCodecBase::m_input_bits_left</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00455">InputBit()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1996e5d84afcf97fd077e48fe2002283"></a><!-- doxytag: member="dirac::ArithCodecBase::m_low_code" ref="1996e5d84afcf97fd077e48fe2002283" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="a00002.html#1996e5d84afcf97fd077e48fe2002283">dirac::ArithCodecBase::m_low_code</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00202">DecodeSymbol()</a>, and <a class="el" href="a00161_source.html#l00280">EncodeSymbol()</a>.</p>

</div>
</div><p>
<a class="anchor" name="11259e2ec2728c7cdfb215f24b72b37b"></a><!-- doxytag: member="dirac::ArithCodecBase::m_range" ref="11259e2ec2728c7cdfb215f24b72b37b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="a00002.html#11259e2ec2728c7cdfb215f24b72b37b">dirac::ArithCodecBase::m_range</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00202">DecodeSymbol()</a>, and <a class="el" href="a00161_source.html#l00280">EncodeSymbol()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4a9ea66b50e954747218cf85a1325f6e"></a><!-- doxytag: member="dirac::ArithCodecBase::m_scount" ref="4a9ea66b50e954747218cf85a1325f6e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="a00002.html#4a9ea66b50e954747218cf85a1325f6e">dirac::ArithCodecBase::m_scount</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="896fb231527c4094182c534a13de1297"></a><!-- doxytag: member="dirac::ArithCodecBase::m_underflow" ref="896fb231527c4094182c534a13de1297" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00002.html#896fb231527c4094182c534a13de1297">dirac::ArithCodecBase::m_underflow</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00161_source.html#l00280">EncodeSymbol()</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="a00161_source.html">arith_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>