Sophie

Sophie

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

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="a00016.html">ByteIO</a>
  </div>
<div class="contents">
<h1>dirac::ByteIO Class Reference</h1><!-- doxytag: class="dirac::ByteIO" -->Class <a class="el" href="a00016.html" title="Class ByteIO - top-level class for reading/writing bytes to a stream.">ByteIO</a> - top-level class for reading/writing bytes to a stream.  

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

<p><center><img src="a00016.png" usemap="#dirac::ByteIO_map" border="0" alt=""></center>
<map name="dirac::ByteIO_map">
<area href="a00020.html" alt="dirac::CodingParamsByteIO" shape="rect" coords="183,56,356,80">
<area href="a00025.html" alt="dirac::ComponentByteIO" shape="rect" coords="183,112,356,136">
<area href="a00050.html" alt="dirac::DiracByteStream" shape="rect" coords="183,168,356,192">
<area href="a00094.html" alt="dirac::MvDataByteIO" shape="rect" coords="183,224,356,248">
<area href="a00095.html" alt="dirac::MvDataElementByteIO" shape="rect" coords="183,280,356,304">
<area href="a00104.html" alt="dirac::ParseParamsByteIO" shape="rect" coords="183,336,356,360">
<area href="a00105.html" alt="dirac::ParseUnitByteIO" shape="rect" coords="183,392,356,416">
<area href="a00132.html" alt="dirac::SourceParamsByteIO" shape="rect" coords="183,448,356,472">
<area href="a00141.html" alt="dirac::SubbandByteIO" shape="rect" coords="183,504,356,528">
<area href="a00144.html" alt="dirac::TransformByteIO" shape="rect" coords="183,560,356,584">
</map>
</div>

<p>
<a href="a00260.html">List of all members.</a><h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="a00016.html#ec6f9d7b1502f39e74eba50035402a62">ByteIO</a> (bool new_stream=true)
<dl class="el"><dd class="mdescRight">Default constructor.  <a href="#ec6f9d7b1502f39e74eba50035402a62"></a><br></dl><li><a class="el" href="a00016.html#82c9d37dcf38592397aac31878ad64f9">ByteIO</a> (const <a class="el" href="a00016.html">ByteIO</a> &amp;stream_data)
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#82c9d37dcf38592397aac31878ad64f9"></a><br></dl><li>virtual <a class="el" href="a00016.html#c509b1dbbd2d20dfb5ccd6ffd6b0db6f">~ByteIO</a> ()
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#c509b1dbbd2d20dfb5ccd6ffd6b0db6f"></a><br></dl><li>virtual void <a class="el" href="a00016.html#92ce0abd65cbfcc16928878477a5178b">CollateByteStats</a> (<a class="el" href="a00049.html">DiracByteStats</a> &amp;dirac_byte_stats)
<dl class="el"><dd class="mdescRight">Gathers byte-stream statistics.  <a href="#92ce0abd65cbfcc16928878477a5178b"></a><br></dl><li>virtual const std::string <a class="el" href="a00016.html#c6dc5649b47b66bfc1688d93eeec5430">GetBytes</a> ()
<dl class="el"><dd class="mdescRight">Get bytes in Dirac-bytestream format.  <a href="#c6dc5649b47b66bfc1688d93eeec5430"></a><br></dl><li>int <a class="el" href="a00016.html#9a4ddcb132317f766eb35b05b198be2f">GetReadBytePosition</a> () const 
<dl class="el"><dd class="mdescRight">Get position of read stream pointer.  <a href="#9a4ddcb132317f766eb35b05b198be2f"></a><br></dl><li>virtual int <a class="el" href="a00016.html#4f8f25a0c300e4df73149d1e44437b11">GetSize</a> () const 
<dl class="el"><dd class="mdescRight">Gets size (in bytes).  <a href="#4f8f25a0c300e4df73149d1e44437b11"></a><br></dl><li>void <a class="el" href="a00016.html#97bcf5e39020155180589d322a9abfb7">SetByteParams</a> (const <a class="el" href="a00016.html">ByteIO</a> &amp;byte_io)
<dl class="el"><dd class="mdescRight">Copies stream source/destination info.  <a href="#97bcf5e39020155180589d322a9abfb7"></a><br></dl><li>void <a class="el" href="a00016.html#66c2bdd3f07e2509c529aef17f2785fd">ByteAlignOutput</a> ()
<dl class="el"><dd class="mdescRight">Sync input for byte-alignment.  <a href="#66c2bdd3f07e2509c529aef17f2785fd"></a><br></dl><li>void <a class="el" href="a00016.html#540c5586d4e62cc16ad2e8caac836f15">WriteUint</a> (unsigned int value)
<dl class="el"><dd class="mdescRight">Ouputs an unsigned integer in interleaved exp Golomb format.  <a href="#540c5586d4e62cc16ad2e8caac836f15"></a><br></dl><li>void <a class="el" href="a00016.html#9e24c698603c7402ff35e7846e6351f4">SetBitsLeft</a> (int left_bits)
<dl class="el"><dd class="mdescRight">Sets input size in bits.  <a href="#9e24c698603c7402ff35e7846e6351f4"></a><br></dl><li>int <a class="el" href="a00016.html#d1bc447203b8868fe18e4b125a30686c">BitsLeft</a> (void)
<dl class="el"><dd class="mdescRight">Sets input size in bits.  <a href="#d1bc447203b8868fe18e4b125a30686c"></a><br></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>bool <a class="el" href="a00016.html#d48276ed9a97dd5b1523770a7b179bb8">CanRead</a> () const 
<li>bool <a class="el" href="a00016.html#58a533748a9a6092403338ecebda52d7">GetBit</a> (unsigned char &amp;c, int pos) const 
<li>void <a class="el" href="a00016.html#d6e3bb4656d8f0f7c0425089b7ff0b4e">SetBit</a> (unsigned char &amp;c, int pos) const 
<li>void <a class="el" href="a00016.html#5076eab8b19c9165efba38a18787ea32">SetBits</a> (unsigned char &amp;c, unsigned char bits) const 
<li>void <a class="el" href="a00016.html#466f9161786ae8850c2456dc7fca8265">ByteAlignInput</a> ()
<dl class="el"><dd class="mdescRight">Sync input for byte-alignment.  <a href="#466f9161786ae8850c2456dc7fca8265"></a><br></dl><li>bool <a class="el" href="a00016.html#c7091d45d726fde33178fbcdd154a176">ReadBool</a> ()
<dl class="el"><dd class="mdescRight">Reads boolean value.  <a href="#c7091d45d726fde33178fbcdd154a176"></a><br></dl><li>bool <a class="el" href="a00016.html#e3af442f684c2030f7742c655e4597a6">ReadBoolB</a> ()
<dl class="el"><dd class="mdescRight">Reads boolean value - bounded i/o.  <a href="#e3af442f684c2030f7742c655e4597a6"></a><br></dl><li>int <a class="el" href="a00016.html#5145781bdbe6b8c8c36d9d639eccd84f">ReadBit</a> ()
<dl class="el"><dd class="mdescRight">Reads next bit.  <a href="#5145781bdbe6b8c8c36d9d639eccd84f"></a><br></dl><li>int <a class="el" href="a00016.html#7846a39d6f9dafe4756277db914326c7">ReadBitB</a> ()
<dl class="el"><dd class="mdescRight">Reads next bit - bounded i/o.  <a href="#7846a39d6f9dafe4756277db914326c7"></a><br></dl><li>unsigned int <a class="el" href="a00016.html#583c98d246f85246ceb938d6909f850c">ReadNBits</a> (int count)
<dl class="el"><dd class="mdescRight">Reads next 'count' bits.  <a href="#583c98d246f85246ceb938d6909f850c"></a><br></dl><li>void <a class="el" href="a00016.html#dc1a91d01c26030fe4a95d57612b0b6f">InputBytes</a> (char *data, int count)
<dl class="el"><dd class="mdescRight">Reads from stream.  <a href="#dc1a91d01c26030fe4a95d57612b0b6f"></a><br></dl><li>void <a class="el" href="a00016.html#389efbc28d12b8a2587868e4f9f1a9ce">FlushInputB</a> ()
<dl class="el"><dd class="mdescRight">Flushes the bounde input.  <a href="#389efbc28d12b8a2587868e4f9f1a9ce"></a><br></dl><li>int <a class="el" href="a00016.html#9854294a504337c68de44de88bb2c269">ReadSint</a> ()
<dl class="el"><dd class="mdescRight">Reads a signed integer in interleaved exp-Golomb format return Signed integer read.  <a href="#9854294a504337c68de44de88bb2c269"></a><br></dl><li>int <a class="el" href="a00016.html#9c9fcce79d165aa1e68fb1fa8bdbec5f">ReadSintB</a> ()
<dl class="el"><dd class="mdescRight">Reads a signed integer in interleaved exp-Golomb format from bounded input return Signed integer read.  <a href="#9c9fcce79d165aa1e68fb1fa8bdbec5f"></a><br></dl><li>unsigned int <a class="el" href="a00016.html#ec1b938f3888a508116c85189d09b1d5">ReadUint</a> ()
<dl class="el"><dd class="mdescRight">Reads an unsigned integer in interleaved exp Golomb format.  <a href="#ec1b938f3888a508116c85189d09b1d5"></a><br></dl><li>unsigned int <a class="el" href="a00016.html#3c1e9ccdd249ea155d8ab8814df6656e">ReadUintB</a> ()
<dl class="el"><dd class="mdescRight">Reads an unsigned integer in interleaved exp Golomb format from bounded input.  <a href="#3c1e9ccdd249ea155d8ab8814df6656e"></a><br></dl><li>unsigned int <a class="el" href="a00016.html#7af5190d77084133723ed478aba8501b">ReadUintLit</a> (const int byte_size)
<dl class="el"><dd class="mdescRight">Reads a fixed length unsigned integer from the stream in big endian.  <a href="#7af5190d77084133723ed478aba8501b"></a><br></dl><li>unsigned char <a class="el" href="a00016.html#989126d52ec21cba34f5953cd50902d8">InputUnByte</a> ()
<dl class="el"><dd class="mdescRight">Reads a byte from the stream.  <a href="#989126d52ec21cba34f5953cd50902d8"></a><br></dl><li>std::string <a class="el" href="a00016.html#271c375df6d3301d72bd6b8a47db7f0e">InputUnString</a> (const int count)
<dl class="el"><dd class="mdescRight">Reads a series of bytes from a stream.  <a href="#271c375df6d3301d72bd6b8a47db7f0e"></a><br></dl><li>void <a class="el" href="a00016.html#0ac5a730dab2ed232eff97b49055151e">WriteBit</a> (const bool &amp;bit)
<dl class="el"><dd class="mdescRight">Outputs a bit.  <a href="#0ac5a730dab2ed232eff97b49055151e"></a><br></dl><li>int <a class="el" href="a00016.html#d28f4baa6032ec38d82bc54951c07356">WriteNBits</a> (unsigned int val)
<dl class="el"><dd class="mdescRight">Outputs an unsigned integer.  <a href="#d28f4baa6032ec38d82bc54951c07356"></a><br></dl><li>void <a class="el" href="a00016.html#da60dfc1a41793eba73b2ba26b72a991">WriteNBits</a> (unsigned int val, int count)
<dl class="el"><dd class="mdescRight">Outputs an n bit integer.  <a href="#da60dfc1a41793eba73b2ba26b72a991"></a><br></dl><li>void <a class="el" href="a00016.html#ecb00e80507d2d013d33fb2a0cf466aa">OutputBytes</a> (const std::string &amp;bytes)
<dl class="el"><dd class="mdescRight">Outputs a series of bytes.  <a href="#ecb00e80507d2d013d33fb2a0cf466aa"></a><br></dl><li>void <a class="el" href="a00016.html#33993235fd567050240030e248f20939">OutputCurrentByte</a> ()
<dl class="el"><dd class="mdescRight">Outputs current byte contents.  <a href="#33993235fd567050240030e248f20939"></a><br></dl><li>void <a class="el" href="a00016.html#4c438a84b3bb41584e3108248668ad19">WriteSint</a> (int val)
<dl class="el"><dd class="mdescRight">Outputs an integer in Golomb signed integer format.  <a href="#4c438a84b3bb41584e3108248668ad19"></a><br></dl><li>void <a class="el" href="a00016.html#5ab33e6a82d617f64d23289c7ed47491">WriteUintLit</a> (const unsigned int &amp;value, const int &amp;length)
<dl class="el"><dd class="mdescRight">Output unsigned int value in big endian format.  <a href="#5ab33e6a82d617f64d23289c7ed47491"></a><br></dl><li>void <a class="el" href="a00016.html#155c4c97a602d7d7646bfaae08164625">RemoveRedundantBytes</a> (const int count)
<dl class="el"><dd class="mdescRight">Removes portion of byte-stream no longer required.  <a href="#155c4c97a602d7d7646bfaae08164625"></a><br></dl><li>void <a class="el" href="a00016.html#86e7df2ca2543ae879d5f35bc4915e73">SeekGet</a> (const int offset, std::ios_base::seekdir dir)
</ul>
<h2>Protected Attributes</h2>
<ul>
<li>std::stringstream * <a class="el" href="a00016.html#b172abdf991b8cab7d2b20de666385d0">mp_stream</a>
<dl class="el"><dd class="mdescRight">Input/output steam.  <a href="#b172abdf991b8cab7d2b20de666385d0"></a><br></dl></ul>
<h2>Private Attributes</h2>
<ul>
<li>unsigned char <a class="el" href="a00016.html#3df0a16d8af48ed48fc3ebd15d2b81de">m_current_byte</a>
<dl class="el"><dd class="mdescRight">Char used for temporary storage of op data bits.  <a href="#3df0a16d8af48ed48fc3ebd15d2b81de"></a><br></dl><li>int <a class="el" href="a00016.html#18c019ab837877b04029da7771d6e95e">m_current_pos</a>
<dl class="el"><dd class="mdescRight">Used to set individual bit within the current header byte.  <a href="#18c019ab837877b04029da7771d6e95e"></a><br></dl><li>int <a class="el" href="a00016.html#97d628c7c0231104f6fa384119523935">m_num_bytes</a>
<dl class="el"><dd class="mdescRight">Number of bytes processed.  <a href="#97d628c7c0231104f6fa384119523935"></a><br></dl><li>bool <a class="el" href="a00016.html#3c386246cb890c919548f4afc3fb2198">m_new_stream</a>
<dl class="el"><dd class="mdescRight">stream alloc flag  <a href="#3c386246cb890c919548f4afc3fb2198"></a><br></dl><li>int <a class="el" href="a00016.html#107471494a3589b4c9744b052cfdc7eb">m_bits_left</a>
<dl class="el"><dd class="mdescRight">num bits left to read  <a href="#107471494a3589b4c9744b052cfdc7eb"></a><br></dl></ul>
<h2>Friends</h2>
<ul>
<li>class <a class="el" href="a00016.html#324130cc8ade9aec0cf733ee3b310fc5">ArithCodecBase</a>
<dl class="el"><dd class="mdescRight"><a class="el" href="a00001.html" title="Abstract binary arithmetic coding class.">ArithCodec</a> can see internals for getting/setting bits.  <a href="#324130cc8ade9aec0cf733ee3b310fc5"></a><br></dl><li>class <a class="el" href="a00016.html#de6691bce9ce5bb6b270ae86901ef976">ArithCodecToVLCAdapter</a>
<dl class="el"><dd class="mdescRight">VLC entropy coder can see internals for getting/setting bits.  <a href="#de6691bce9ce5bb6b270ae86901ef976"></a><br></dl></ul>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="ec6f9d7b1502f39e74eba50035402a62"></a><!-- doxytag: member="dirac::ByteIO::ByteIO" ref="ec6f9d7b1502f39e74eba50035402a62" args="(bool new_stream=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::ByteIO::ByteIO           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>new_stream</em> = <code>true</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>new_stream</em>&nbsp;</td><td><b>Has Creates &amp; owns data buffer </b> </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="82c9d37dcf38592397aac31878ad64f9"></a><!-- doxytag: member="dirac::ByteIO::ByteIO" ref="82c9d37dcf38592397aac31878ad64f9" args="(const ByteIO &amp;stream_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::ByteIO::ByteIO           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00016.html">ByteIO</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>stream_data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>stream_data</em>&nbsp;</td><td>Copies data buffer details </td></tr>
  </table>
</dl>

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

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="d1bc447203b8868fe18e4b125a30686c"></a><!-- doxytag: member="dirac::ByteIO::BitsLeft" ref="d1bc447203b8868fe18e4b125a30686c" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ByteIO::BitsLeft           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read is limited by this 
<p>References <a class="el" href="a00168_source.html#l00387">m_bits_left</a>.</p>

</div>
</div><p>
<a class="anchor" name="466f9161786ae8850c2456dc7fca8265"></a><!-- doxytag: member="dirac::ByteIO::ByteAlignInput" ref="466f9161786ae8850c2456dc7fca8265" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::ByteAlignInput           </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="66c2bdd3f07e2509c529aef17f2785fd"></a><!-- doxytag: member="dirac::ByteIO::ByteAlignOutput" ref="66c2bdd3f07e2509c529aef17f2785fd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::ByteAlignOutput           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d48276ed9a97dd5b1523770a7b179bb8"></a><!-- doxytag: member="dirac::ByteIO::CanRead" ref="d48276ed9a97dd5b1523770a7b179bb8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool dirac::ByteIO::CanRead           </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>

<p>References <a class="el" href="a00168_source.html#l00349">mp_stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="92ce0abd65cbfcc16928878477a5178b"></a><!-- doxytag: member="dirac::ByteIO::CollateByteStats" ref="92ce0abd65cbfcc16928878477a5178b" args="(DiracByteStats &amp;dirac_byte_stats)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void dirac::ByteIO::CollateByteStats           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00049.html">DiracByteStats</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dirac_byte_stats</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dirac_byte_stats</em>&nbsp;</td><td>Collates byte information </td></tr>
  </table>
</dl>

<p>Reimplemented in <a class="el" href="a00025.html#795f2d4e7ba724125bd9cb7a5080a8bc">dirac::ComponentByteIO</a>, <a class="el" href="a00066.html#a388d70725103010ee8122817ad4da79">dirac::EndOfSequenceByteIO</a>, <a class="el" href="a00094.html#9ce321919700b9e282547040f5e41a02">dirac::MvDataByteIO</a>, <a class="el" href="a00105.html#1f36aeff86b15bbab398c666ea8cc930">dirac::ParseUnitByteIO</a>, <a class="el" href="a00110.html#6f02a5c3e1258dec9c0bbddb0e25261d">dirac::PictureByteIO</a>, and <a class="el" href="a00144.html#78d2b5a1913e50f1676d666a84ff83e8">dirac::TransformByteIO</a>.</p>

<p>References <a class="el" href="a00049.html#becdc0a6af66b7f8d726a8aa414f3517">dirac::DiracByteStats::Clear()</a>.</p>

</div>
</div><p>
<a class="anchor" name="389efbc28d12b8a2587868e4f9f1a9ce"></a><!-- doxytag: member="dirac::ByteIO::FlushInputB" ref="389efbc28d12b8a2587868e4f9f1a9ce" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::FlushInputB           </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="58a533748a9a6092403338ecebda52d7"></a><!-- doxytag: member="dirac::ByteIO::GetBit" ref="58a533748a9a6092403338ecebda52d7" args="(unsigned char &amp;c, int pos) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool dirac::ByteIO::GetBit           </td>
          <td>(</td>
          <td class="paramtype">unsigned char &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>pos</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>

<p>References <a class="el" href="a00168_source.html#l00066">BIT_IN_CHAR</a>.</p>

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

<p>

<p>Reimplemented in <a class="el" href="a00050.html#888f2967817a63db1ba2dd2f0ce2ae7c">dirac::DiracByteStream</a>, <a class="el" href="a00094.html#7d4813f773ac1f20da8a239853d27a5e">dirac::MvDataByteIO</a>, <a class="el" href="a00095.html#0cc8d155c1d64f0bd4b865a89f075a94">dirac::MvDataElementByteIO</a>, <a class="el" href="a00105.html#24f54a63d7dd8d65d849664d43c3a88d">dirac::ParseUnitByteIO</a>, <a class="el" href="a00110.html#37f755dbe495de8bdb338cdad3ff5da2">dirac::PictureByteIO</a>, <a class="el" href="a00141.html#84d6e61fdf5b9a3561456222074b5151">dirac::SubbandByteIO</a>, and <a class="el" href="a00144.html#476bc03eb7978e52f42615fdafd212d8">dirac::TransformByteIO</a>.</p>

</div>
</div><p>
<a class="anchor" name="9a4ddcb132317f766eb35b05b198be2f"></a><!-- doxytag: member="dirac::ByteIO::GetReadBytePosition" ref="9a4ddcb132317f766eb35b05b198be2f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ByteIO::GetReadBytePosition           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="a00168_source.html#l00349">mp_stream</a>.</p>

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

<p>

<p>Reimplemented in <a class="el" href="a00130.html#919c26eca2d6ff869dd906afa4e23250">dirac::SequenceHeaderByteIO</a>, <a class="el" href="a00094.html#ed4decdd15ae01c6c5d5d01800431bbc">dirac::MvDataByteIO</a>, <a class="el" href="a00095.html#fa1da57a0151009b7415b62ed2abae9d">dirac::MvDataElementByteIO</a>, <a class="el" href="a00105.html#95a696f9ad57770fe393c2667c44b3c8">dirac::ParseUnitByteIO</a>, <a class="el" href="a00110.html#2ab254941d52a0d84decc031cfe05b67">dirac::PictureByteIO</a>, and <a class="el" href="a00144.html#e3949ad00e9b7c21d528d9b9372ddfd4">dirac::TransformByteIO</a>.</p>

</div>
</div><p>
<a class="anchor" name="dc1a91d01c26030fe4a95d57612b0b6f"></a><!-- doxytag: member="dirac::ByteIO::InputBytes" ref="dc1a91d01c26030fe4a95d57612b0b6f" args="(char *data, int count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::InputBytes           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>count</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Start of char buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Number of bytes to read </td></tr>
  </table>
</dl>

<p>References <a class="el" href="a00168_source.html#l00349">mp_stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="989126d52ec21cba34f5953cd50902d8"></a><!-- doxytag: member="dirac::ByteIO::InputUnByte" ref="989126d52ec21cba34f5953cd50902d8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char dirac::ByteIO::InputUnByte           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>References <a class="el" href="a00168_source.html#l00377">m_num_bytes</a>, and <a class="el" href="a00168_source.html#l00349">mp_stream</a>.</p>

<p>Referenced by <a class="el" href="a00168_source.html#l00257">InputUnString()</a>.</p>

</div>
</div><p>
<a class="anchor" name="271c375df6d3301d72bd6b8a47db7f0e"></a><!-- doxytag: member="dirac::ByteIO::InputUnString" ref="271c375df6d3301d72bd6b8a47db7f0e" args="(const int count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string dirac::ByteIO::InputUnString           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>count</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="a00168_source.html#l00252">InputUnByte()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ecb00e80507d2d013d33fb2a0cf466aa"></a><!-- doxytag: member="dirac::ByteIO::OutputBytes" ref="ecb00e80507d2d013d33fb2a0cf466aa" args="(const std::string &amp;bytes)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::OutputBytes           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>bytes</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="a00168_source.html#l00377">m_num_bytes</a>, and <a class="el" href="a00168_source.html#l00349">mp_stream</a>.</p>

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

<p>

<p>References <a class="el" href="a00168_source.html#l00367">m_current_byte</a>, <a class="el" href="a00168_source.html#l00372">m_current_pos</a>, <a class="el" href="a00168_source.html#l00377">m_num_bytes</a>, and <a class="el" href="a00168_source.html#l00349">mp_stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="5145781bdbe6b8c8c36d9d639eccd84f"></a><!-- doxytag: member="dirac::ByteIO::ReadBit" ref="5145781bdbe6b8c8c36d9d639eccd84f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ByteIO::ReadBit           </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="7846a39d6f9dafe4756277db914326c7"></a><!-- doxytag: member="dirac::ByteIO::ReadBitB" ref="7846a39d6f9dafe4756277db914326c7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ByteIO::ReadBitB           </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="c7091d45d726fde33178fbcdd154a176"></a><!-- doxytag: member="dirac::ByteIO::ReadBool" ref="c7091d45d726fde33178fbcdd154a176" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool dirac::ByteIO::ReadBool           </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="e3af442f684c2030f7742c655e4597a6"></a><!-- doxytag: member="dirac::ByteIO::ReadBoolB" ref="e3af442f684c2030f7742c655e4597a6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool dirac::ByteIO::ReadBoolB           </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="a00165_source.html#l00077">dirac::ArithCodecToVLCAdapter::DecodeSymbol()</a>.</p>

</div>
</div><p>
<a class="anchor" name="583c98d246f85246ceb938d6909f850c"></a><!-- doxytag: member="dirac::ByteIO::ReadNBits" ref="583c98d246f85246ceb938d6909f850c" args="(int count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int dirac::ByteIO::ReadNBits           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>count</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>number of bits to be read </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>unsigned interger read </dd></dl>

</div>
</div><p>
<a class="anchor" name="9854294a504337c68de44de88bb2c269"></a><!-- doxytag: member="dirac::ByteIO::ReadSint" ref="9854294a504337c68de44de88bb2c269" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ByteIO::ReadSint           </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="9c9fcce79d165aa1e68fb1fa8bdbec5f"></a><!-- doxytag: member="dirac::ByteIO::ReadSintB" ref="9c9fcce79d165aa1e68fb1fa8bdbec5f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ByteIO::ReadSintB           </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="ec1b938f3888a508116c85189d09b1d5"></a><!-- doxytag: member="dirac::ByteIO::ReadUint" ref="ec1b938f3888a508116c85189d09b1d5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int dirac::ByteIO::ReadUint           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Unsigned Integer read </dd></dl>

</div>
</div><p>
<a class="anchor" name="3c1e9ccdd249ea155d8ab8814df6656e"></a><!-- doxytag: member="dirac::ByteIO::ReadUintB" ref="3c1e9ccdd249ea155d8ab8814df6656e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int dirac::ByteIO::ReadUintB           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Unsigned Integer read </dd></dl>

</div>
</div><p>
<a class="anchor" name="7af5190d77084133723ed478aba8501b"></a><!-- doxytag: member="dirac::ByteIO::ReadUintLit" ref="7af5190d77084133723ed478aba8501b" args="(const int byte_size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int dirac::ByteIO::ReadUintLit           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>byte_size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>byte_size</em>&nbsp;</td><td>Number of bytes in fixed length integer </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Unsigned Integer read </dd></dl>

<p>References <a class="el" href="a00168_source.html#l00377">m_num_bytes</a>, and <a class="el" href="a00168_source.html#l00349">mp_stream</a>.</p>

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

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Number of bytes to be removed from beginning of stream </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="86e7df2ca2543ae879d5f35bc4915e73"></a><!-- doxytag: member="dirac::ByteIO::SeekGet" ref="86e7df2ca2543ae879d5f35bc4915e73" args="(const int offset, std::ios_base::seekdir dir)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::SeekGet           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::ios_base::seekdir&nbsp;</td>
          <td class="paramname"> <em>dir</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="a00168_source.html#l00349">mp_stream</a>.</p>

</div>
</div><p>
<a class="anchor" name="d6e3bb4656d8f0f7c0425089b7ff0b4e"></a><!-- doxytag: member="dirac::ByteIO::SetBit" ref="d6e3bb4656d8f0f7c0425089b7ff0b4e" args="(unsigned char &amp;c, int pos) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::SetBit           </td>
          <td>(</td>
          <td class="paramtype">unsigned char &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>pos</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>

<p>References <a class="el" href="a00168_source.html#l00066">BIT_IN_CHAR</a>.</p>

</div>
</div><p>
<a class="anchor" name="5076eab8b19c9165efba38a18787ea32"></a><!-- doxytag: member="dirac::ByteIO::SetBits" ref="5076eab8b19c9165efba38a18787ea32" args="(unsigned char &amp;c, unsigned char bits) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::SetBits           </td>
          <td>(</td>
          <td class="paramtype">unsigned char &amp;&nbsp;</td>
          <td class="paramname"> <em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>bits</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="9e24c698603c7402ff35e7846e6351f4"></a><!-- doxytag: member="dirac::ByteIO::SetBitsLeft" ref="9e24c698603c7402ff35e7846e6351f4" args="(int left_bits)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::SetBitsLeft           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>left_bits</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Read is limited by this 
<p>References <a class="el" href="a00168_source.html#l00387">m_bits_left</a>.</p>

</div>
</div><p>
<a class="anchor" name="97bcf5e39020155180589d322a9abfb7"></a><!-- doxytag: member="dirac::ByteIO::SetByteParams" ref="97bcf5e39020155180589d322a9abfb7" args="(const ByteIO &amp;byte_io)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::SetByteParams           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00016.html">ByteIO</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>byte_io</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>byte_io</em>&nbsp;</td><td>Byte source/destination </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="0ac5a730dab2ed232eff97b49055151e"></a><!-- doxytag: member="dirac::ByteIO::WriteBit" ref="0ac5a730dab2ed232eff97b49055151e" args="(const bool &amp;bit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::WriteBit           </td>
          <td>(</td>
          <td class="paramtype">const bool &amp;&nbsp;</td>
          <td class="paramname"> <em>bit</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>bit</em>&nbsp;</td><td>1/0 Output </td></tr>
  </table>
</dl>

<p>Referenced by <a class="el" href="a00165_source.html#l00071">dirac::ArithCodecToVLCAdapter::EncodeSymbol()</a>, and <a class="el" href="a00161_source.html#l00280">dirac::ArithCodecBase::EncodeSymbol()</a>.</p>

</div>
</div><p>
<a class="anchor" name="da60dfc1a41793eba73b2ba26b72a991"></a><!-- doxytag: member="dirac::ByteIO::WriteNBits" ref="da60dfc1a41793eba73b2ba26b72a991" args="(unsigned int val, int count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::WriteNBits           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>val</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Unsigned Integer to be output </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>number of bits to be written </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d28f4baa6032ec38d82bc54951c07356"></a><!-- doxytag: member="dirac::ByteIO::WriteNBits" ref="d28f4baa6032ec38d82bc54951c07356" args="(unsigned int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::ByteIO::WriteNBits           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>val</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Integer to be output </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>number of bits written </dd></dl>

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

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>Integer to be output </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="540c5586d4e62cc16ad2e8caac836f15"></a><!-- doxytag: member="dirac::ByteIO::WriteUint" ref="540c5586d4e62cc16ad2e8caac836f15" args="(unsigned int value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::WriteUint           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>value</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Integer to be output </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="5ab33e6a82d617f64d23289c7ed47491"></a><!-- doxytag: member="dirac::ByteIO::WriteUintLit" ref="5ab33e6a82d617f64d23289c7ed47491" args="(const unsigned int &amp;value, const int &amp;length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::ByteIO::WriteUintLit           </td>
          <td>(</td>
          <td class="paramtype">const unsigned int &amp;&nbsp;</td>
          <td class="paramname"> <em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int &amp;&nbsp;</td>
          <td class="paramname"> <em>length</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>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>Integer to be output </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>number of bytes in val to output </td></tr>
  </table>
</dl>

<p>References <a class="el" href="a00168_source.html#l00377">m_num_bytes</a>, and <a class="el" href="a00168_source.html#l00349">mp_stream</a>.</p>

</div>
</div><p>
<hr><h2>Friends And Related Function Documentation</h2>
<a class="anchor" name="324130cc8ade9aec0cf733ee3b310fc5"></a><!-- doxytag: member="dirac::ByteIO::ArithCodecBase" ref="324130cc8ade9aec0cf733ee3b310fc5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="a00002.html">ArithCodecBase</a><code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="de6691bce9ce5bb6b270ae86901ef976"></a><!-- doxytag: member="dirac::ByteIO::ArithCodecToVLCAdapter" ref="de6691bce9ce5bb6b270ae86901ef976" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="a00003.html">ArithCodecToVLCAdapter</a><code> [friend]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

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

<p>

<p>Referenced by <a class="el" href="a00168_source.html#l00142">BitsLeft()</a>, and <a class="el" href="a00168_source.html#l00137">SetBitsLeft()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3df0a16d8af48ed48fc3ebd15d2b81de"></a><!-- doxytag: member="dirac::ByteIO::m_current_byte" ref="3df0a16d8af48ed48fc3ebd15d2b81de" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned char <a class="el" href="a00016.html#3df0a16d8af48ed48fc3ebd15d2b81de">dirac::ByteIO::m_current_byte</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00168_source.html#l00301">OutputCurrentByte()</a>.</p>

</div>
</div><p>
<a class="anchor" name="18c019ab837877b04029da7771d6e95e"></a><!-- doxytag: member="dirac::ByteIO::m_current_pos" ref="18c019ab837877b04029da7771d6e95e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00016.html#18c019ab837877b04029da7771d6e95e">dirac::ByteIO::m_current_pos</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00168_source.html#l00301">OutputCurrentByte()</a>.</p>

</div>
</div><p>
<a class="anchor" name="3c386246cb890c919548f4afc3fb2198"></a><!-- doxytag: member="dirac::ByteIO::m_new_stream" ref="3c386246cb890c919548f4afc3fb2198" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00016.html#3c386246cb890c919548f4afc3fb2198">dirac::ByteIO::m_new_stream</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="97d628c7c0231104f6fa384119523935"></a><!-- doxytag: member="dirac::ByteIO::m_num_bytes" ref="97d628c7c0231104f6fa384119523935" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00016.html#97d628c7c0231104f6fa384119523935">dirac::ByteIO::m_num_bytes</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00168_source.html#l00252">InputUnByte()</a>, <a class="el" href="a00168_source.html#l00290">OutputBytes()</a>, <a class="el" href="a00168_source.html#l00301">OutputCurrentByte()</a>, <a class="el" href="a00168_source.html#l00238">ReadUintLit()</a>, and <a class="el" href="a00168_source.html#l00325">WriteUintLit()</a>.</p>

</div>
</div><p>
<a class="anchor" name="b172abdf991b8cab7d2b20de666385d0"></a><!-- doxytag: member="dirac::ByteIO::mp_stream" ref="b172abdf991b8cab7d2b20de666385d0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::stringstream* <a class="el" href="a00016.html#b172abdf991b8cab7d2b20de666385d0">dirac::ByteIO::mp_stream</a><code> [protected]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Referenced by <a class="el" href="a00168_source.html#l00146">CanRead()</a>, <a class="el" href="a00168_source.html#l00108">GetReadBytePosition()</a>, <a class="el" href="a00168_source.html#l00192">InputBytes()</a>, <a class="el" href="a00168_source.html#l00252">InputUnByte()</a>, <a class="el" href="a00168_source.html#l00290">OutputBytes()</a>, <a class="el" href="a00168_source.html#l00301">OutputCurrentByte()</a>, <a class="el" href="a00168_source.html#l00238">ReadUintLit()</a>, <a class="el" href="a00168_source.html#l00341">SeekGet()</a>, and <a class="el" href="a00168_source.html#l00325">WriteUintLit()</a>.</p>

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