Sophie

Sophie

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

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="a00150.html">VectorElementCodec</a>
  </div>
<div class="contents">
<h1>dirac::VectorElementCodec Class Reference</h1><!-- doxytag: class="dirac::VectorElementCodec" --><!-- doxytag: inherits="ArithCodec&lt; MvData &gt;" -->Codes and decodes an array of motion vectors.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="a00204_source.html">mv_codec.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for dirac::VectorElementCodec:</div>
<div class="dynsection">

<p><center><img src="a00150.png" usemap="#dirac::VectorElementCodec_map" border="0" alt=""></center>
<map name="dirac::VectorElementCodec_map">
<area href="a00001.html" alt="dirac::ArithCodec< MvData >" shape="rect" coords="0,56,179,80">
<area href="a00002.html" alt="dirac::ArithCodecBase" shape="rect" coords="0,0,179,24">
</map>
</div>

<p>
<a href="a00314.html">List of all members.</a><h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="a00150.html#569e138a96e099e837c54fdfdf7e7657">VectorElementCodec</a> (<a class="el" href="a00016.html">ByteIO</a> *p_byteio, int ref_id, <a class="el" href="a00234.html#96972fd3f02bb2b4dedee98363564c6c">MvElement</a> horvert, size_t number_of_contexts)
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#569e138a96e099e837c54fdfdf7e7657"></a><br></dl><li>void <a class="el" href="a00150.html#248bb8896da5770329c624c3a190a227">InitContexts</a> ()
<dl class="el"><dd class="mdescRight">Initialises the contexts.  <a href="#248bb8896da5770329c624c3a190a227"></a><br></dl></ul>
<h2>Private Member Functions</h2>
<ul>
<li><a class="el" href="a00150.html#6aac4d4523c9518b438db82bf8d84c34">VectorElementCodec</a> (const <a class="el" href="a00150.html">VectorElementCodec</a> &amp;cpy)
<dl class="el"><dd class="mdescRight">Private, bodyless copy constructor: class should not be copied.  <a href="#6aac4d4523c9518b438db82bf8d84c34"></a><br></dl><li><a class="el" href="a00150.html">VectorElementCodec</a> &amp; <a class="el" href="a00150.html#09b976120f919bc7de2e452ea3e83051">operator=</a> (const <a class="el" href="a00150.html">VectorElementCodec</a> &amp;rhs)
<dl class="el"><dd class="mdescRight">Private, bodyless copy operator=: class should not be assigned.  <a href="#09b976120f919bc7de2e452ea3e83051"></a><br></dl><li>void <a class="el" href="a00150.html#e26c9fe9ba8fb6f09d6499af6e625770">CodeVal</a> (const <a class="el" href="a00093.html">MvData</a> &amp;in_data)
<li>void <a class="el" href="a00150.html#b82e8f8ba384e37678cc45fceae81e84">DecodeVal</a> (<a class="el" href="a00093.html">MvData</a> &amp;out_data)
<li>void <a class="el" href="a00150.html#f98b9900902d429d6a56083e352b3a06">DoWorkCode</a> (<a class="el" href="a00093.html">MvData</a> &amp;in_data)
<dl class="el"><dd class="mdescRight">Does the work of actually coding the data.  <a href="#f98b9900902d429d6a56083e352b3a06"></a><br></dl><li>void <a class="el" href="a00150.html#f1974005e0af77e3ee5e2266bdcf5e98">DoWorkDecode</a> (<a class="el" href="a00093.html">MvData</a> &amp;out_data)
<dl class="el"><dd class="mdescRight">virtual decode-only functions ////////////////////////////  <a href="#f1974005e0af77e3ee5e2266bdcf5e98"></a><br></dl><li>void <a class="el" href="a00150.html#91ce546f3cbbb4dff3ac9f1d42b0601d">ResetAll</a> ()
<li>int <a class="el" href="a00150.html#d47aff0a1cccc77ae9f82119aa411537">Prediction</a> (const <a class="el" href="a00145.html">MvArray</a> &amp;mvarray, const <a class="el" href="a00145.html">TwoDArray</a>&lt; <a class="el" href="a00234.html#b8a7aad3ab6de8cc3709dcacde946964">PredMode</a> &gt; &amp;preddata) const 
</ul>
<h2>Private Attributes</h2>
<ul>
<li>int <a class="el" href="a00150.html#a629196d6c6d0bb58aae7df1b312bf3d">m_b_xp</a>
<li>int <a class="el" href="a00150.html#8d2a7669f67ff42eb18d9681c6d7974c">m_b_yp</a>
<li>int <a class="el" href="a00150.html#7438614c3c3650a6c5b7a7b6d2340afa">m_sb_xp</a>
<li>int <a class="el" href="a00150.html#38d79128efd12e7ab9b01689f528f783">m_sb_yp</a>
<li>int <a class="el" href="a00150.html#fcf9f2223c40b08048ccb502fdaeb131">m_sb_tlb_x</a>
<li>int <a class="el" href="a00150.html#80fd302a029a2273dbc146f4d17305d2">m_sb_tlb_y</a>
<li>const int <a class="el" href="a00150.html#4a167497d7495c8ce0cc95703f28f747">m_ref</a>
<li>const <a class="el" href="a00234.html#96972fd3f02bb2b4dedee98363564c6c">MvElement</a> <a class="el" href="a00150.html#91a9ba4ed8b5f670181e6b07a707a0ed">m_hv</a>
</ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Derived from the <a class="el" href="a00001.html" title="Abstract binary arithmetic coding class.">ArithCodec</a> class, this codes and decodes a motion vector element (vertical or horizontal) <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="569e138a96e099e837c54fdfdf7e7657"></a><!-- doxytag: member="dirac::VectorElementCodec::VectorElementCodec" ref="569e138a96e099e837c54fdfdf7e7657" args="(ByteIO *p_byteio, int ref_id, MvElement horvert, size_t number_of_contexts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::VectorElementCodec::VectorElementCodec           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00016.html">ByteIO</a> *&nbsp;</td>
          <td class="paramname"> <em>p_byteio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ref_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00234.html#96972fd3f02bb2b4dedee98363564c6c">MvElement</a>&nbsp;</td>
          <td class="paramname"> <em>horvert</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>number_of_contexts</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Creates a MvDataCodec object to encode MV data, based on parameters <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>p_byteio</em>&nbsp;</td><td>Input/output for the encoded bits </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ref_id</em>&nbsp;</td><td>The identity of the reference (1 or 2) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>horvert</em>&nbsp;</td><td>The identity of the vector element (horizontal or vertical) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>number_of_contexts</em>&nbsp;</td><td>the number of contexts used </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="6aac4d4523c9518b438db82bf8d84c34"></a><!-- doxytag: member="dirac::VectorElementCodec::VectorElementCodec" ref="6aac4d4523c9518b438db82bf8d84c34" args="(const VectorElementCodec &amp;cpy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::VectorElementCodec::VectorElementCodec           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00150.html">VectorElementCodec</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>cpy</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="e26c9fe9ba8fb6f09d6499af6e625770"></a><!-- doxytag: member="dirac::VectorElementCodec::CodeVal" ref="e26c9fe9ba8fb6f09d6499af6e625770" args="(const MvData &amp;in_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::VectorElementCodec::CodeVal           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00093.html">MvData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in_data</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="b82e8f8ba384e37678cc45fceae81e84"></a><!-- doxytag: member="dirac::VectorElementCodec::DecodeVal" ref="b82e8f8ba384e37678cc45fceae81e84" args="(MvData &amp;out_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::VectorElementCodec::DecodeVal           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00093.html">MvData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_data</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="f98b9900902d429d6a56083e352b3a06"></a><!-- doxytag: member="dirac::VectorElementCodec::DoWorkCode" ref="f98b9900902d429d6a56083e352b3a06" args="(MvData &amp;in_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::VectorElementCodec::DoWorkCode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00093.html">MvData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>in_data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Implements <a class="el" href="a00001.html#494cce54ef4b1e29dbfa501172a4c5c5">dirac::ArithCodec&lt; MvData &gt;</a>.</p>

</div>
</div><p>
<a class="anchor" name="f1974005e0af77e3ee5e2266bdcf5e98"></a><!-- doxytag: member="dirac::VectorElementCodec::DoWorkDecode" ref="f1974005e0af77e3ee5e2266bdcf5e98" args="(MvData &amp;out_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::VectorElementCodec::DoWorkDecode           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00093.html">MvData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>out_data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Implements <a class="el" href="a00001.html#a2391df876c8b5aa1007830371f551f7">dirac::ArithCodec&lt; MvData &gt;</a>.</p>

</div>
</div><p>
<a class="anchor" name="248bb8896da5770329c624c3a190a227"></a><!-- doxytag: member="dirac::VectorElementCodec::InitContexts" ref="248bb8896da5770329c624c3a190a227" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::VectorElementCodec::InitContexts           </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="09b976120f919bc7de2e452ea3e83051"></a><!-- doxytag: member="dirac::VectorElementCodec::operator=" ref="09b976120f919bc7de2e452ea3e83051" args="(const VectorElementCodec &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00150.html">VectorElementCodec</a>&amp; dirac::VectorElementCodec::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00150.html">VectorElementCodec</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rhs</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="d47aff0a1cccc77ae9f82119aa411537"></a><!-- doxytag: member="dirac::VectorElementCodec::Prediction" ref="d47aff0a1cccc77ae9f82119aa411537" args="(const MvArray &amp;mvarray, const TwoDArray&lt; PredMode &gt; &amp;preddata) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int dirac::VectorElementCodec::Prediction           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00145.html">MvArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>mvarray</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00145.html">TwoDArray</a>&lt; <a class="el" href="a00234.html#b8a7aad3ab6de8cc3709dcacde946964">PredMode</a> &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>preddata</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td> const<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

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

<p>

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

<p>

</div>
</div><p>
<a class="anchor" name="8d2a7669f67ff42eb18d9681c6d7974c"></a><!-- doxytag: member="dirac::VectorElementCodec::m_b_yp" ref="8d2a7669f67ff42eb18d9681c6d7974c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00150.html#8d2a7669f67ff42eb18d9681c6d7974c">dirac::VectorElementCodec::m_b_yp</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="91a9ba4ed8b5f670181e6b07a707a0ed"></a><!-- doxytag: member="dirac::VectorElementCodec::m_hv" ref="91a9ba4ed8b5f670181e6b07a707a0ed" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00234.html#96972fd3f02bb2b4dedee98363564c6c">MvElement</a> <a class="el" href="a00150.html#91a9ba4ed8b5f670181e6b07a707a0ed">dirac::VectorElementCodec::m_hv</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="4a167497d7495c8ce0cc95703f28f747"></a><!-- doxytag: member="dirac::VectorElementCodec::m_ref" ref="4a167497d7495c8ce0cc95703f28f747" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const int <a class="el" href="a00150.html#4a167497d7495c8ce0cc95703f28f747">dirac::VectorElementCodec::m_ref</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

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

<p>

</div>
</div><p>
<a class="anchor" name="80fd302a029a2273dbc146f4d17305d2"></a><!-- doxytag: member="dirac::VectorElementCodec::m_sb_tlb_y" ref="80fd302a029a2273dbc146f4d17305d2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00150.html#80fd302a029a2273dbc146f4d17305d2">dirac::VectorElementCodec::m_sb_tlb_y</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="7438614c3c3650a6c5b7a7b6d2340afa"></a><!-- doxytag: member="dirac::VectorElementCodec::m_sb_xp" ref="7438614c3c3650a6c5b7a7b6d2340afa" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00150.html#7438614c3c3650a6c5b7a7b6d2340afa">dirac::VectorElementCodec::m_sb_xp</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="38d79128efd12e7ab9b01689f528f783"></a><!-- doxytag: member="dirac::VectorElementCodec::m_sb_yp" ref="38d79128efd12e7ab9b01689f528f783" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="a00150.html#38d79128efd12e7ab9b01689f528f783">dirac::VectorElementCodec::m_sb_yp</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="a00204_source.html">mv_codec.h</a></ul>
</div>
<hr>
<p align="center"><small>
&copy; 2004 British Broadcasting Corporation.
Dirac code licensed under the <a href="http://www.mozilla.org/MPL/">Mozilla Public License (MPL) Version 1.1</a>.<br>
HTML documentation generated by Dimitri van Heesch's
excellent <a href="http://www.doxygen.org">Doxygen</a> tool.
</small></p>
</body>
</html>