Sophie

Sophie

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

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="a00052.html">DiracParser</a>
  </div>
<div class="contents">
<h1>dirac::DiracParser Class Reference</h1><!-- doxytag: class="dirac::DiracParser" -->Dirac Stream Parser Class.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="a00181_source.html">dirac_cppparser.h</a>&gt;</code>
<p>

<p>
<a href="a00363.html">List of all members.</a><h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="a00052.html#6f7c4a1a37d33f382f21fcecba9bdda0">DiracParser</a> (bool verbose=false)
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#6f7c4a1a37d33f382f21fcecba9bdda0"></a><br></dl><li><a class="el" href="a00052.html#6033eed95b56bfc667141e30c7019aa6">~DiracParser</a> ()
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#6033eed95b56bfc667141e30c7019aa6"></a><br></dl><li>void <a class="el" href="a00052.html#689e785fa6f9a99ee44e7e6573c33c07">SetBuffer</a> (char *start, char *end)
<dl class="el"><dd class="mdescRight">Adds bytes to encoder.  <a href="#689e785fa6f9a99ee44e7e6573c33c07"></a><br></dl><li><a class="el" href="a00176.html#e93428308fdd9a41c5c4e3b313660d5d">DecoderState</a> <a class="el" href="a00052.html#1e3e40e42cfb2b3726a9cb54f95e5452">Parse</a> ()
<dl class="el"><dd class="mdescRight">Parse the data in internal buffer.  <a href="#1e3e40e42cfb2b3726a9cb54f95e5452"></a><br></dl><li>const <a class="el" href="a00103.html">ParseParams</a> &amp; <a class="el" href="a00052.html#fd868e667478a274a602021212196978">GetParseParams</a> () const 
<dl class="el"><dd class="mdescRight">Return the parse parameters of the current sequence.  <a href="#fd868e667478a274a602021212196978"></a><br></dl><li>const <a class="el" href="a00131.html">SourceParams</a> &amp; <a class="el" href="a00052.html#ea7d03b0ac4b102d3d45dc8a92a4e087">GetSourceParams</a> () const 
<dl class="el"><dd class="mdescRight">Return the source parameters of the current sequence.  <a href="#ea7d03b0ac4b102d3d45dc8a92a4e087"></a><br></dl><li>const <a class="el" href="a00113.html">PictureParams</a> * <a class="el" href="a00052.html#f5cf16325f7b7e3a006e01a430025392">GetNextPictureParams</a> () const 
<dl class="el"><dd class="mdescRight">Return the picture parameters of the next picture to be decoded.  <a href="#f5cf16325f7b7e3a006e01a430025392"></a><br></dl><li>const <a class="el" href="a00108.html">Picture</a> * <a class="el" href="a00052.html#4986f780c3c0250a815b4cf6a362ba9c">GetNextPicture</a> () const 
<dl class="el"><dd class="mdescRight">Return the decoded picture.  <a href="#4986f780c3c0250a815b4cf6a362ba9c"></a><br></dl><li>const <a class="el" href="a00029.html">DecoderParams</a> &amp; <a class="el" href="a00052.html#4bed26b4d7097b751e4bbaa7c0f0684f">GetDecoderParams</a> () const 
<dl class="el"><dd class="mdescRight">Return the coding parameters of the current sequence.  <a href="#4bed26b4d7097b751e4bbaa7c0f0684f"></a><br></dl></ul>
<h2>Private Member Functions</h2>
<ul>
<li><a class="el" href="a00052.html#3c7f9a1fbfae1bd25b077f475daedeb0">DiracParser</a> (const <a class="el" href="a00052.html">DiracParser</a> &amp;dp)
<dl class="el"><dd class="mdescRight">private body-less copy constructor  <a href="#3c7f9a1fbfae1bd25b077f475daedeb0"></a><br></dl><li><a class="el" href="a00052.html">DiracParser</a> &amp; <a class="el" href="a00052.html#9cec70d17edf747f48da6211bc069460">operator=</a> (const <a class="el" href="a00052.html">DiracParser</a> &amp;dp)
<dl class="el"><dd class="mdescRight">private body-less assignement constructor  <a href="#9cec70d17edf747f48da6211bc069460"></a><br></dl></ul>
<h2>Private Attributes</h2>
<ul>
<li><a class="el" href="a00176.html#e93428308fdd9a41c5c4e3b313660d5d">DecoderState</a> <a class="el" href="a00052.html#3b7c6419fc1b646d99e4351f0f83931b">m_state</a>
<dl class="el"><dd class="mdescRight">Current state of parser.  <a href="#3b7c6419fc1b646d99e4351f0f83931b"></a><br></dl><li><a class="el" href="a00176.html#e93428308fdd9a41c5c4e3b313660d5d">DecoderState</a> <a class="el" href="a00052.html#1f4c7a0f56ae5cb59831e62b1391ff58">m_next_state</a>
<dl class="el"><dd class="mdescRight">Next state the parser will enter.  <a href="#1f4c7a0f56ae5cb59831e62b1391ff58"></a><br></dl><li>int <a class="el" href="a00052.html#10efdf4c3b6918edd0183e1c965466a7">m_show_pnum</a>
<dl class="el"><dd class="mdescRight">picture number of last picture decoded in display order  <a href="#10efdf4c3b6918edd0183e1c965466a7"></a><br></dl><li><a class="el" href="a00129.html">SequenceDecompressor</a> * <a class="el" href="a00052.html#faa3a4f63210e187a0c7fc6fc6b7f9c0">m_decomp</a>
<dl class="el"><dd class="mdescRight">Sequence decompressor object.  <a href="#faa3a4f63210e187a0c7fc6fc6b7f9c0"></a><br></dl><li>bool <a class="el" href="a00052.html#0f9070c095aa3b0906f925c18369ca20">m_verbose</a>
<dl class="el"><dd class="mdescRight">verbose flag  <a href="#0f9070c095aa3b0906f925c18369ca20"></a><br></dl><li><a class="el" href="a00050.html">DiracByteStream</a> <a class="el" href="a00052.html#8cad80d690616a570504300bf3ff590a">m_dirac_byte_stream</a>
<dl class="el"><dd class="mdescRight">Byte Stream Buffer.  <a href="#8cad80d690616a570504300bf3ff590a"></a><br></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class is a wrapper around the <a class="el" href="a00129.html" title="Decompresses a sequence of pictures from a stream.">SequenceDecompressor</a> class. The Sequence Decompressor class needs a full picture of data to be available to decompress a picture successfully. So, the <a class="el" href="a00052.html" title="Dirac Stream Parser Class.">DiracParser</a> class uses the <a class="el" href="a00077.html" title="Input Stream Buffer Class.">InputStreamBuffer</a> class to store data until a chunk is available to be processed and then invokes the <a class="el" href="a00129.html" title="Decompresses a sequence of pictures from a stream.">SequenceDecompressor</a> functions to process data. A chunk of data can be a start of sequence, a picture or end of sequence data. The istream used to instantiate the <a class="el" href="a00129.html" title="Decompresses a sequence of pictures from a stream.">SequenceDecompressor</a> object is created using an <a class="el" href="a00077.html" title="Input Stream Buffer Class.">InputStreamBuffer</a> object which is manipulated the <a class="el" href="a00052.html" title="Dirac Stream Parser Class.">DiracParser</a>. This ensures that data is always available for processing by the <a class="el" href="a00129.html" title="Decompresses a sequence of pictures from a stream.">SequenceDecompressor</a> object. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="6f7c4a1a37d33f382f21fcecba9bdda0"></a><!-- doxytag: member="dirac::DiracParser::DiracParser" ref="6f7c4a1a37d33f382f21fcecba9bdda0" args="(bool verbose=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::DiracParser::DiracParser           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>verbose</em> = <code>false</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor takes <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>verbose</em>&nbsp;</td><td>boolean flag. Set to true for verbose output </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="6033eed95b56bfc667141e30c7019aa6"></a><!-- doxytag: member="dirac::DiracParser::~DiracParser" ref="6033eed95b56bfc667141e30c7019aa6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::DiracParser::~DiracParser           </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="3c7f9a1fbfae1bd25b077f475daedeb0"></a><!-- doxytag: member="dirac::DiracParser::DiracParser" ref="3c7f9a1fbfae1bd25b077f475daedeb0" args="(const DiracParser &amp;dp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::DiracParser::DiracParser           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00052.html">DiracParser</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dp</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="4bed26b4d7097b751e4bbaa7c0f0684f"></a><!-- doxytag: member="dirac::DiracParser::GetDecoderParams" ref="4bed26b4d7097b751e4bbaa7c0f0684f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00029.html">DecoderParams</a>&amp; dirac::DiracParser::GetDecoderParams           </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="4986f780c3c0250a815b4cf6a362ba9c"></a><!-- doxytag: member="dirac::DiracParser::GetNextPicture" ref="4986f780c3c0250a815b4cf6a362ba9c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00108.html">Picture</a>* dirac::DiracParser::GetNextPicture           </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="f5cf16325f7b7e3a006e01a430025392"></a><!-- doxytag: member="dirac::DiracParser::GetNextPictureParams" ref="f5cf16325f7b7e3a006e01a430025392" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00113.html">PictureParams</a>* dirac::DiracParser::GetNextPictureParams           </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="fd868e667478a274a602021212196978"></a><!-- doxytag: member="dirac::DiracParser::GetParseParams" ref="fd868e667478a274a602021212196978" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00103.html">ParseParams</a>&amp; dirac::DiracParser::GetParseParams           </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="ea7d03b0ac4b102d3d45dc8a92a4e087"></a><!-- doxytag: member="dirac::DiracParser::GetSourceParams" ref="ea7d03b0ac4b102d3d45dc8a92a4e087" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00131.html">SourceParams</a>&amp; dirac::DiracParser::GetSourceParams           </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="9cec70d17edf747f48da6211bc069460"></a><!-- doxytag: member="dirac::DiracParser::operator=" ref="9cec70d17edf747f48da6211bc069460" args="(const DiracParser &amp;dp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00052.html">DiracParser</a>&amp; dirac::DiracParser::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00052.html">DiracParser</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dp</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="1e3e40e42cfb2b3726a9cb54f95e5452"></a><!-- doxytag: member="dirac::DiracParser::Parse" ref="1e3e40e42cfb2b3726a9cb54f95e5452" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00176.html#e93428308fdd9a41c5c4e3b313660d5d">DecoderState</a> dirac::DiracParser::Parse           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Parses the data in the input buffer. This function returns one of the following values <br>
 STATE_BUFFER : Not enough data in internal buffer to process <br>
 STATE_SEQUENCE : Start of sequence detected <br>
 STATE_PICTURE_AVAIL : Decoded picture available <br>
 STATE_SEQUENCE_END : End of sequence detected <br>
 STATE_INVALID : Invalid stream. Stop further processing 
</div>
</div><p>
<a class="anchor" name="689e785fa6f9a99ee44e7e6573c33c07"></a><!-- doxytag: member="dirac::DiracParser::SetBuffer" ref="689e785fa6f9a99ee44e7e6573c33c07" args="(char *start, char *end)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::DiracParser::SetBuffer           </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">char *&nbsp;</td>
          <td class="paramname"> <em>end</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
SetBuffer takes <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 input buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>end</em>&nbsp;</td><td>End of input buffer </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="faa3a4f63210e187a0c7fc6fc6b7f9c0"></a><!-- doxytag: member="dirac::DiracParser::m_decomp" ref="faa3a4f63210e187a0c7fc6fc6b7f9c0" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00129.html">SequenceDecompressor</a>* <a class="el" href="a00052.html#faa3a4f63210e187a0c7fc6fc6b7f9c0">dirac::DiracParser::m_decomp</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

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

<p>

</div>
</div><p>
<a class="anchor" name="1f4c7a0f56ae5cb59831e62b1391ff58"></a><!-- doxytag: member="dirac::DiracParser::m_next_state" ref="1f4c7a0f56ae5cb59831e62b1391ff58" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00176.html#e93428308fdd9a41c5c4e3b313660d5d">DecoderState</a> <a class="el" href="a00052.html#1f4c7a0f56ae5cb59831e62b1391ff58">dirac::DiracParser::m_next_state</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="10efdf4c3b6918edd0183e1c965466a7"></a><!-- doxytag: member="dirac::DiracParser::m_show_pnum" ref="10efdf4c3b6918edd0183e1c965466a7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00052.html#10efdf4c3b6918edd0183e1c965466a7">dirac::DiracParser::m_show_pnum</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="3b7c6419fc1b646d99e4351f0f83931b"></a><!-- doxytag: member="dirac::DiracParser::m_state" ref="3b7c6419fc1b646d99e4351f0f83931b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00176.html#e93428308fdd9a41c5c4e3b313660d5d">DecoderState</a> <a class="el" href="a00052.html#3b7c6419fc1b646d99e4351f0f83931b">dirac::DiracParser::m_state</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="0f9070c095aa3b0906f925c18369ca20"></a><!-- doxytag: member="dirac::DiracParser::m_verbose" ref="0f9070c095aa3b0906f925c18369ca20" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00052.html#0f9070c095aa3b0906f925c18369ca20">dirac::DiracParser::m_verbose</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="a00181_source.html">dirac_cppparser.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>