Sophie

Sophie

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

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="a00050.html">DiracByteStream</a>
  </div>
<div class="contents">
<h1>dirac::DiracByteStream Class Reference</h1><!-- doxytag: class="dirac::DiracByteStream" --><!-- doxytag: inherits="dirac::ByteIO" -->Represents a series of bytes in the Dirac bytestream specfication format.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="a00180_source.html">dirac_byte_stream.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dirac::DiracByteStream:</div>
<div class="dynsection">

<p><center><img src="a00050.png" usemap="#dirac::DiracByteStream_map" border="0" alt=""></center>
<map name="dirac::DiracByteStream_map">
<area href="a00016.html" alt="dirac::ByteIO" shape="rect" coords="0,0,142,24">
</map>
</div>

<p>
<a href="a00264.html">List of all members.</a><h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="a00050.html#aa62837bbe7a2d3a425a49cf243a95a3">DiracByteStream</a> ()
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#aa62837bbe7a2d3a425a49cf243a95a3"></a><br></dl><li><a class="el" href="a00050.html#9229b3897fa9a6b32b7cbb26252bf89d">~DiracByteStream</a> ()
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#9229b3897fa9a6b32b7cbb26252bf89d"></a><br></dl><li>void <a class="el" href="a00050.html#886ecda8d1eb1c1e52023bf813b296e8">AddBytes</a> (char *start, int count)
<dl class="el"><dd class="mdescRight">Adds Dirac-formatted bytes to internal-byte-stream for processing.  <a href="#886ecda8d1eb1c1e52023bf813b296e8"></a><br></dl><li><a class="el" href="a00049.html">DiracByteStats</a> <a class="el" href="a00050.html#344c3942117d3eb82b3537dd0b3aeb59">GetLastUnitStats</a> ()
<dl class="el"><dd class="mdescRight">Gets the statistics of the most recent parse-unit to be processed.  <a href="#344c3942117d3eb82b3537dd0b3aeb59"></a><br></dl><li><a class="el" href="a00105.html">ParseUnitByteIO</a> * <a class="el" href="a00050.html#3c4403fae9c52fd1f1085af2886dc87b">GetNextParseUnit</a> ()
<dl class="el"><dd class="mdescRight">Gets the next parse-unit in the current byte-stream.  <a href="#3c4403fae9c52fd1f1085af2886dc87b"></a><br></dl><li><a class="el" href="a00049.html">DiracByteStats</a> <a class="el" href="a00050.html#2bb41c9af3925c92283d7b9461b1f133">GetSequenceStats</a> () const 
<dl class="el"><dd class="mdescRight">Gets stats for current sequence.  <a href="#2bb41c9af3925c92283d7b9461b1f133"></a><br></dl><li>void <a class="el" href="a00050.html#a6f761de5d04f3845a988d9ef916af64">AddSequenceHeader</a> (<a class="el" href="a00130.html">SequenceHeaderByteIO</a> *p_seqheader_byteio)
<dl class="el"><dd class="mdescRight">Adds a random access point to the current Dirac byte stream.  <a href="#a6f761de5d04f3845a988d9ef916af64"></a><br></dl><li>void <a class="el" href="a00050.html#c231bc660f415496631184d9c2bd32b5">AddPicture</a> (<a class="el" href="a00110.html">PictureByteIO</a> *p_frame_byteio)
<dl class="el"><dd class="mdescRight">Adds a picture to the current Dirac byte stream.  <a href="#c231bc660f415496631184d9c2bd32b5"></a><br></dl><li>void <a class="el" href="a00050.html#df3a7778cabf59f308c627a4c8414412">Clear</a> ()
<dl class="el"><dd class="mdescRight">Clear parse-units.  <a href="#df3a7778cabf59f308c627a4c8414412"></a><br></dl><li><a class="el" href="a00049.html">DiracByteStats</a> <a class="el" href="a00050.html#55397bfb36f5469534737fc76ec0b208">EndSequence</a> ()
<dl class="el"><dd class="mdescRight">Insert end-of-sequence data.  <a href="#55397bfb36f5469534737fc76ec0b208"></a><br></dl><li>const std::string <a class="el" href="a00050.html#888f2967817a63db1ba2dd2f0ce2ae7c">GetBytes</a> ()
<dl class="el"><dd class="mdescRight">Gets a pointer to all current output bytes.  <a href="#888f2967817a63db1ba2dd2f0ce2ae7c"></a><br></dl><li>bool <a class="el" href="a00050.html#bfffa7f06d0a0643a0d0559f1fe44008">IsUnitAvailable</a> () const 
<dl class="el"><dd class="mdescRight">Any info pending?  <a href="#bfffa7f06d0a0643a0d0559f1fe44008"></a><br></dl></ul>
<h2>Private Types</h2>
<ul>
<li>typedef std::queue&lt; std::pair<br class="typebreak">
&lt; <a class="el" href="a00234.html#fa886465a1d19ed90cf29a1100040afc">ParseUnitType</a>, <br class="typebreak">
<a class="el" href="a00105.html">ParseUnitByteIO</a> * &gt; &gt; <a class="el" href="a00050.html#67bf15529dedc11e2701faaa5355d83f">ParseUnitList</a>
<dl class="el"><dd class="mdescRight">Parse-units in Dirac stream.  <a href="#67bf15529dedc11e2701faaa5355d83f"></a><br></dl></ul>
<h2>Private Member Functions</h2>
<ul>
<li>void <a class="el" href="a00050.html#c29f481865e866b459175371ad016ae4">Reset</a> (<a class="el" href="a00105.html">ParseUnitByteIO</a> *p_curr_unit, int pos)
</ul>
<h2>Private Attributes</h2>
<ul>
<li><a class="el" href="a00050.html#67bf15529dedc11e2701faaa5355d83f">ParseUnitList</a> <a class="el" href="a00050.html#5e0e0c2f59124ab27ef5efe38e2cd764">m_parse_unit_list</a>
<li><a class="el" href="a00105.html">ParseUnitByteIO</a> * <a class="el" href="a00050.html#f4d273af590708a285bb77769591c22f">mp_prev_parse_unit</a>
<dl class="el"><dd class="mdescRight">Last unit to be processed Required for specifying the previous parse-unit.  <a href="#f4d273af590708a285bb77769591c22f"></a><br></dl><li><a class="el" href="a00049.html">DiracByteStats</a> <a class="el" href="a00050.html#b821c79768622050595465d8c87dc584">m_sequence_stats</a>
<dl class="el"><dd class="mdescRight">Stats for current sequence.  <a href="#b821c79768622050595465d8c87dc584"></a><br></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
These bytes are grouped into more managable parse units by this class. <hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="67bf15529dedc11e2701faaa5355d83f"></a><!-- doxytag: member="dirac::DiracByteStream::ParseUnitList" ref="67bf15529dedc11e2701faaa5355d83f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::queue&lt; std::pair &lt;<a class="el" href="a00234.html#fa886465a1d19ed90cf29a1100040afc">ParseUnitType</a>, <a class="el" href="a00105.html">ParseUnitByteIO</a>*&gt; &gt; <a class="el" href="a00050.html#67bf15529dedc11e2701faaa5355d83f">dirac::DiracByteStream::ParseUnitList</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="aa62837bbe7a2d3a425a49cf243a95a3"></a><!-- doxytag: member="dirac::DiracByteStream::DiracByteStream" ref="aa62837bbe7a2d3a425a49cf243a95a3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::DiracByteStream::DiracByteStream           </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="9229b3897fa9a6b32b7cbb26252bf89d"></a><!-- doxytag: member="dirac::DiracByteStream::~DiracByteStream" ref="9229b3897fa9a6b32b7cbb26252bf89d" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::DiracByteStream::~DiracByteStream           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="886ecda8d1eb1c1e52023bf813b296e8"></a><!-- doxytag: member="dirac::DiracByteStream::AddBytes" ref="886ecda8d1eb1c1e52023bf813b296e8" args="(char *start, int count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::DiracByteStream::AddBytes           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>start</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></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>start</em>&nbsp;</td><td>Start of char list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Number of chars </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c231bc660f415496631184d9c2bd32b5"></a><!-- doxytag: member="dirac::DiracByteStream::AddPicture" ref="c231bc660f415496631184d9c2bd32b5" args="(PictureByteIO *p_frame_byteio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::DiracByteStream::AddPicture           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00110.html">PictureByteIO</a> *&nbsp;</td>
          <td class="paramname"> <em>p_frame_byteio</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>p_frame_byteio</em>&nbsp;</td><td><a class="el" href="a00108.html" title="A class for encapsulating all the data relating to a picture.">Picture</a> stream. This class is now responsible for deleting. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="a6f761de5d04f3845a988d9ef916af64"></a><!-- doxytag: member="dirac::DiracByteStream::AddSequenceHeader" ref="a6f761de5d04f3845a988d9ef916af64" args="(SequenceHeaderByteIO *p_seqheader_byteio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::DiracByteStream::AddSequenceHeader           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00130.html">SequenceHeaderByteIO</a> *&nbsp;</td>
          <td class="paramname"> <em>p_seqheader_byteio</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>p_seqheader_byteio</em>&nbsp;</td><td>Sequence header data. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="df3a7778cabf59f308c627a4c8414412"></a><!-- doxytag: member="dirac::DiracByteStream::Clear" ref="df3a7778cabf59f308c627a4c8414412" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::DiracByteStream::Clear           </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="55397bfb36f5469534737fc76ec0b208"></a><!-- doxytag: member="dirac::DiracByteStream::EndSequence" ref="55397bfb36f5469534737fc76ec0b208" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00049.html">DiracByteStats</a> dirac::DiracByteStream::EndSequence           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Sequence stats </dd></dl>

</div>
</div><p>
<a class="anchor" name="888f2967817a63db1ba2dd2f0ce2ae7c"></a><!-- doxytag: member="dirac::DiracByteStream::GetBytes" ref="888f2967817a63db1ba2dd2f0ce2ae7c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string dirac::DiracByteStream::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 from <a class="el" href="a00016.html#c6dc5649b47b66bfc1688d93eeec5430">dirac::ByteIO</a>.</p>

</div>
</div><p>
<a class="anchor" name="344c3942117d3eb82b3537dd0b3aeb59"></a><!-- doxytag: member="dirac::DiracByteStream::GetLastUnitStats" ref="344c3942117d3eb82b3537dd0b3aeb59" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00049.html">DiracByteStats</a> dirac::DiracByteStream::GetLastUnitStats           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Byte-statistics </dd></dl>

</div>
</div><p>
<a class="anchor" name="3c4403fae9c52fd1f1085af2886dc87b"></a><!-- doxytag: member="dirac::DiracByteStream::GetNextParseUnit" ref="3c4403fae9c52fd1f1085af2886dc87b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00105.html">ParseUnitByteIO</a>* dirac::DiracByteStream::GetNextParseUnit           </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="2bb41c9af3925c92283d7b9461b1f133"></a><!-- doxytag: member="dirac::DiracByteStream::GetSequenceStats" ref="2bb41c9af3925c92283d7b9461b1f133" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00049.html">DiracByteStats</a> dirac::DiracByteStream::GetSequenceStats           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="bfffa7f06d0a0643a0d0559f1fe44008"></a><!-- doxytag: member="dirac::DiracByteStream::IsUnitAvailable" ref="bfffa7f06d0a0643a0d0559f1fe44008" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool dirac::DiracByteStream::IsUnitAvailable           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="c29f481865e866b459175371ad016ae4"></a><!-- doxytag: member="dirac::DiracByteStream::Reset" ref="c29f481865e866b459175371ad016ae4" args="(ParseUnitByteIO *p_curr_unit, int pos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::DiracByteStream::Reset           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00105.html">ParseUnitByteIO</a> *&nbsp;</td>
          <td class="paramname"> <em>p_curr_unit</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><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="5e0e0c2f59124ab27ef5efe38e2cd764"></a><!-- doxytag: member="dirac::DiracByteStream::m_parse_unit_list" ref="5e0e0c2f59124ab27ef5efe38e2cd764" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00050.html#67bf15529dedc11e2701faaa5355d83f">ParseUnitList</a> <a class="el" href="a00050.html#5e0e0c2f59124ab27ef5efe38e2cd764">dirac::DiracByteStream::m_parse_unit_list</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="b821c79768622050595465d8c87dc584"></a><!-- doxytag: member="dirac::DiracByteStream::m_sequence_stats" ref="b821c79768622050595465d8c87dc584" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00049.html">DiracByteStats</a> <a class="el" href="a00050.html#b821c79768622050595465d8c87dc584">dirac::DiracByteStream::m_sequence_stats</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="f4d273af590708a285bb77769591c22f"></a><!-- doxytag: member="dirac::DiracByteStream::mp_prev_parse_unit" ref="f4d273af590708a285bb77769591c22f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00105.html">ParseUnitByteIO</a>* <a class="el" href="a00050.html#f4d273af590708a285bb77769591c22f">dirac::DiracByteStream::mp_prev_parse_unit</a><code> [private]</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="a00180_source.html">dirac_byte_stream.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>