Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > media > main-release > by-pkgid > b91608bcc8cdfae85c75f04c03683d58 > files > 132

lib64dirac-devel-0.9.1-1mdv2008.1.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.4 -->
<div class="nav">
<a class="el" href="a00226.html">dirac</a>::<a class="el" href="a00079.html">FrameSequenceCompressor</a></div>
<h1>dirac::FrameSequenceCompressor Class Reference</h1><!-- doxytag: class="dirac::FrameSequenceCompressor" --><!-- doxytag: inherits="dirac::SequenceCompressor" -->Compresses a sequence of frames from a stream.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="a00290.html">seq_compress.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dirac::FrameSequenceCompressor:</div>
<div class="dynsection">

<p><center><img src="a00079.png" usemap="#dirac::FrameSequenceCompressor_map" border="0" alt=""></center>
<map name="dirac::FrameSequenceCompressor_map">
<area href="a00123.html" alt="dirac::SequenceCompressor" shape="rect" coords="0,0,207,24">
</map>
</div>

<p>
<a href="a00417.html">List of all members.</a><h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="a00079.html#e2f078c72ffdd4a68c4fc6c8f003944b">FrameSequenceCompressor</a> (<a class="el" href="a00132.html">StreamPicInput</a> *pin, <a class="el" href="a00066.html">EncoderParams</a> &amp;encp, <a class="el" href="a00053.html">DiracByteStream</a> &amp;dirac_byte_stream)
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#e2f078c72ffdd4a68c4fc6c8f003944b"></a><br></dl><li>virtual <a class="el" href="a00079.html#96fc44689e0250dd9caf1b31e59584cf">~FrameSequenceCompressor</a> ()
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#96fc44689e0250dd9caf1b31e59584cf"></a><br></dl><li>virtual bool <a class="el" href="a00079.html#9ef2a53e2b2e99e8ca679e5d00f80cb8">LoadNextFrame</a> ()
<dl class="el"><dd class="mdescRight">Load data.  <a href="#9ef2a53e2b2e99e8ca679e5d00f80cb8"></a><br></dl></ul>
<h2>Protected Member Functions</h2>
<ul>
<li>virtual int <a class="el" href="a00079.html#2d7f038fccc2ac8c3bc6a39b250cf4e9">CodedToDisplay</a> (const int pnum)
<dl class="el"><dd class="mdescRight">Uses the GOP parameters to convert frame numbers in coded order to display order.  <a href="#2d7f038fccc2ac8c3bc6a39b250cf4e9"></a><br></dl><li>virtual bool <a class="el" href="a00079.html#af040f8d47a470a114efc67821ec0a56">IsNewAccessUnit</a> ()
<dl class="el"><dd class="mdescRight">Return true if we need to start a new access unit. Purely virtual. The child class will have to define it.  <a href="#af040f8d47a470a114efc67821ec0a56"></a><br></dl><li>virtual void <a class="el" href="a00079.html#2b725f2e572de06d9ae14f0e8b98961d">RateControlCompress</a> (<a class="el" href="a00072.html">Frame</a> &amp;my_frame, bool is_a_cut)
<dl class="el"><dd class="mdescRight">Compress the frame using constant bit rate coding. Purely virtual. The child class will have to define it.  <a href="#2b725f2e572de06d9ae14f0e8b98961d"></a><br></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This class compresses a sequence of frames, frame by frame. It currently uses GOP parameters set in the encoder parameters in order to define the temporal prediction structure. A version to incorporate non-GOP structures is TBC. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="e2f078c72ffdd4a68c4fc6c8f003944b"></a><!-- doxytag: member="dirac::FrameSequenceCompressor::FrameSequenceCompressor" ref="e2f078c72ffdd4a68c4fc6c8f003944b" args="(StreamPicInput *pin, EncoderParams &amp;encp, DiracByteStream &amp;dirac_byte_stream)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::FrameSequenceCompressor::FrameSequenceCompressor           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00132.html">StreamPicInput</a> *&nbsp;</td>
          <td class="paramname"> <em>pin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00066.html">EncoderParams</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>encp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00053.html">DiracByteStream</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>dirac_byte_stream</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a sequence compressor that compresses frames i.e. progressive data, and prepares to begin compressing with the first frame.Sets up frame padding in the picture input if necesary <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pin</em>&nbsp;</td><td>an input stream containing a sequence of frames </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>encp</em>&nbsp;</td><td>parameters for the encoding process </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dirac_byte_stream</em>&nbsp;</td><td>Output destination for compressed data </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="96fc44689e0250dd9caf1b31e59584cf"></a><!-- doxytag: member="dirac::FrameSequenceCompressor::~FrameSequenceCompressor" ref="96fc44689e0250dd9caf1b31e59584cf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual dirac::FrameSequenceCompressor::~FrameSequenceCompressor           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor. Must delete IO objects created by constructor. 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="9ef2a53e2b2e99e8ca679e5d00f80cb8"></a><!-- doxytag: member="dirac::FrameSequenceCompressor::LoadNextFrame" ref="9ef2a53e2b2e99e8ca679e5d00f80cb8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool dirac::FrameSequenceCompressor::LoadNextFrame           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Load one frame of data into the Sequence Compressor. Sets m_all_done to true if no more data is available to be loaded. <dl class="return" compact><dt><b>Returns:</b></dt><dd>true - if frame load succeeded. false - otherwise </dd></dl>

<p>Implements <a class="el" href="a00123.html#1f5e923097c7d60711ed9a4ba47587f3">dirac::SequenceCompressor</a>.</p>

</div>
</div><p>
<a class="anchor" name="2d7f038fccc2ac8c3bc6a39b250cf4e9"></a><!-- doxytag: member="dirac::FrameSequenceCompressor::CodedToDisplay" ref="2d7f038fccc2ac8c3bc6a39b250cf4e9" args="(const int pnum)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int dirac::FrameSequenceCompressor::CodedToDisplay           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>pnum</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Uses the GOP parameters to convert frame numbers in coded order to display order. Pure virtual function. The child class will have to define it. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pnum</em>&nbsp;</td><td>the picture number in coded order </td></tr>
  </table>
</dl>

<p>Implements <a class="el" href="a00123.html#d8ea19c5badfdadc2abb8609ab050685">dirac::SequenceCompressor</a>.</p>

</div>
</div><p>
<a class="anchor" name="af040f8d47a470a114efc67821ec0a56"></a><!-- doxytag: member="dirac::FrameSequenceCompressor::IsNewAccessUnit" ref="af040f8d47a470a114efc67821ec0a56" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool dirac::FrameSequenceCompressor::IsNewAccessUnit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Implements <a class="el" href="a00123.html#ed2a2d719b8ee5ca4caceb102a745ba0">dirac::SequenceCompressor</a>.</p>

</div>
</div><p>
<a class="anchor" name="2b725f2e572de06d9ae14f0e8b98961d"></a><!-- doxytag: member="dirac::FrameSequenceCompressor::RateControlCompress" ref="2b725f2e572de06d9ae14f0e8b98961d" args="(Frame &amp;my_frame, bool is_a_cut)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void dirac::FrameSequenceCompressor::RateControlCompress           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00072.html">Frame</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>my_frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>is_a_cut</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Implements <a class="el" href="a00123.html#395376b774b83560ce4a6c0b15969957">dirac::SequenceCompressor</a>.</p>

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