Sophie

Sophie

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

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="a00143.html">SubpelRefine</a>
  </div>
<div class="contents">
<h1>dirac::SubpelRefine Class Reference</h1><!-- doxytag: class="dirac::SubpelRefine" -->The <a class="el" href="a00143.html" title="The SubpelRefine class takes pixel-accurate motion vectors and refines them to 1/8-pixel...">SubpelRefine</a> class takes pixel-accurate motion vectors and refines them to 1/8-pixel accuracy.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="a00195_source.html">me_subpel.h</a>&gt;</code>
<p>

<p>
<a href="a00369.html">List of all members.</a><h2>Public Member Functions</h2>
<ul>
<li><a class="el" href="a00143.html#2ce90ec052919af33d6fc0abed7d32c0">SubpelRefine</a> (const <a class="el" href="a00063.html">EncoderParams</a> &amp;encp)
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#2ce90ec052919af33d6fc0abed7d32c0"></a><br></dl><li><a class="el" href="a00143.html#e6f7a45b3ed33abb3e0b74f88bb55841">~SubpelRefine</a> ()
<dl class="el"><dd class="mdescRight">Destructor.  <a href="#e6f7a45b3ed33abb3e0b74f88bb55841"></a><br></dl><li>void <a class="el" href="a00143.html#23db51e3329ed2b5476e0506aebf1b3c">DoSubpel</a> (<a class="el" href="a00065.html">EncQueue</a> &amp;my_buffer, int pic_num)
<dl class="el"><dd class="mdescRight">Does the actual sub-pixel refinement.  <a href="#23db51e3329ed2b5476e0506aebf1b3c"></a><br></dl></ul>
<h2>Private Member Functions</h2>
<ul>
<li><a class="el" href="a00143.html#2b2d18f9db57afe64c433a4f7404534b">SubpelRefine</a> (const <a class="el" href="a00143.html">SubpelRefine</a> &amp;cpy)
<dl class="el"><dd class="mdescRight">Private, body-less copy constructor: this class should not be copied.  <a href="#2b2d18f9db57afe64c433a4f7404534b"></a><br></dl><li><a class="el" href="a00143.html">SubpelRefine</a> &amp; <a class="el" href="a00143.html#38e6ec9661fe019e6b8996767377efe6">operator=</a> (const <a class="el" href="a00143.html">SubpelRefine</a> &amp;rhs)
<dl class="el"><dd class="mdescRight">Private, body-less assignment=: this class should not be assigned.  <a href="#38e6ec9661fe019e6b8996767377efe6"></a><br></dl><li>void <a class="el" href="a00143.html#e1e3f12f2b28c06b2d7f2c4ad526fa47">MatchPic</a> (const <a class="el" href="a00107.html">PicArray</a> &amp;pic_data, const <a class="el" href="a00107.html">PicArray</a> &amp;refup_data, <a class="el" href="a00082.html">MEData</a> &amp;me_data, int ref_id)
<dl class="el"><dd class="mdescRight">Match a picture from its (upconverted) reference, and record the block mvs.  <a href="#e1e3f12f2b28c06b2d7f2c4ad526fa47"></a><br></dl><li>void <a class="el" href="a00143.html#ba70ff0b5ba9a02a1f4040660598cd84">DoBlock</a> (const int xblock, const int yblock, <a class="el" href="a00015.html">BlockMatcher</a> &amp;my_bmatch, <a class="el" href="a00082.html">MEData</a> &amp;me_data, const int ref_id)
<dl class="el"><dd class="mdescRight">Match an individual block.  <a href="#ba70ff0b5ba9a02a1f4040660598cd84"></a><br></dl><li><a class="el" href="a00091.html">MVector</a> <a class="el" href="a00143.html#e0743f59c4f38bdc76b5f553114e86e3">GetPred</a> (int xblock, int yblock, const <a class="el" href="a00145.html">MvArray</a> &amp;mvarray)
<dl class="el"><dd class="mdescRight">Get a prediction for a block MV from the neighbouring blocks.  <a href="#e0743f59c4f38bdc76b5f553114e86e3"></a><br></dl></ul>
<h2>Private Attributes</h2>
<ul>
<li>const <a class="el" href="a00063.html">EncoderParams</a> &amp; <a class="el" href="a00143.html#681a0edad26574f305c7a8a08fb9e885">m_encparams</a>
<dl class="el"><dd class="mdescRight">Local reference to the encoder params.  <a href="#681a0edad26574f305c7a8a08fb9e885"></a><br></dl><li>const <a class="el" href="a00114.html">PicturePredParams</a> * <a class="el" href="a00143.html#f4e8b453a2dacb1e2e3d982072a77d1f">m_predparams</a>
<dl class="el"><dd class="mdescRight">A local pointer to the encoder params.  <a href="#f4e8b453a2dacb1e2e3d982072a77d1f"></a><br></dl><li><a class="el" href="a00234.html#7a049e12b5746a1b3da88a3e94d04069">CandidateList</a> <a class="el" href="a00143.html#1bd4118fa06016053bc801c26fd02eeb">m_cand_list</a>
<dl class="el"><dd class="mdescRight">The list of candidate vectors being tested.  <a href="#1bd4118fa06016053bc801c26fd02eeb"></a><br></dl><li><a class="el" href="a00097.html">OneDArray</a>&lt; <a class="el" href="a00091.html">ImageCoords</a> &gt; <a class="el" href="a00143.html#5ae5afb3c166516f7fe090dd3a2a0af4">m_nshift</a>
<dl class="el"><dd class="mdescRight">The relative coords of the set of neighbours used to generate MV predictions.  <a href="#5ae5afb3c166516f7fe090dd3a2a0af4"></a><br></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
The <a class="el" href="a00143.html" title="The SubpelRefine class takes pixel-accurate motion vectors and refines them to 1/8-pixel...">SubpelRefine</a> class takes pixel-accurate motion vectors and refines them to 1/8-pixel accuracy. It uses references upconverted by a factor of 2 in each dimension, with the remaining precision gained by doing linear interpolation between values on-the-fly. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="2ce90ec052919af33d6fc0abed7d32c0"></a><!-- doxytag: member="dirac::SubpelRefine::SubpelRefine" ref="2ce90ec052919af33d6fc0abed7d32c0" args="(const EncoderParams &amp;encp)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::SubpelRefine::SubpelRefine           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00063.html">EncoderParams</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>encp</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The constructor initialises the encoder 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>encp</em>&nbsp;</td><td>the parameters used for controlling ME/MC </td></tr>
  </table>
</dl>

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

<p>

</div>
</div><p>
<a class="anchor" name="2b2d18f9db57afe64c433a4f7404534b"></a><!-- doxytag: member="dirac::SubpelRefine::SubpelRefine" ref="2b2d18f9db57afe64c433a4f7404534b" args="(const SubpelRefine &amp;cpy)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">dirac::SubpelRefine::SubpelRefine           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00143.html">SubpelRefine</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="ba70ff0b5ba9a02a1f4040660598cd84"></a><!-- doxytag: member="dirac::SubpelRefine::DoBlock" ref="ba70ff0b5ba9a02a1f4040660598cd84" args="(const int xblock, const int yblock, BlockMatcher &amp;my_bmatch, MEData &amp;me_data, const int ref_id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::SubpelRefine::DoBlock           </td>
          <td>(</td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>xblock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>yblock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00015.html">BlockMatcher</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>my_bmatch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00082.html">MEData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>me_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&nbsp;</td>
          <td class="paramname"> <em>ref_id</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>
<a class="anchor" name="23db51e3329ed2b5476e0506aebf1b3c"></a><!-- doxytag: member="dirac::SubpelRefine::DoSubpel" ref="23db51e3329ed2b5476e0506aebf1b3c" args="(EncQueue &amp;my_buffer, int pic_num)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::SubpelRefine::DoSubpel           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00065.html">EncQueue</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>my_buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>pic_num</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Does the actual sub-pixel refinement. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>my_buffer</em>&nbsp;</td><td>the buffer of pictures being used </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>pic_num</em>&nbsp;</td><td>the picture number on which motion estimation is being performed </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="e0743f59c4f38bdc76b5f553114e86e3"></a><!-- doxytag: member="dirac::SubpelRefine::GetPred" ref="e0743f59c4f38bdc76b5f553114e86e3" args="(int xblock, int yblock, const MvArray &amp;mvarray)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00091.html">MVector</a> dirac::SubpelRefine::GetPred           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>xblock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>yblock</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></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><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>
<a class="anchor" name="e1e3f12f2b28c06b2d7f2c4ad526fa47"></a><!-- doxytag: member="dirac::SubpelRefine::MatchPic" ref="e1e3f12f2b28c06b2d7f2c4ad526fa47" args="(const PicArray &amp;pic_data, const PicArray &amp;refup_data, MEData &amp;me_data, int ref_id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void dirac::SubpelRefine::MatchPic           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00107.html">PicArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pic_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a00107.html">PicArray</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>refup_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00082.html">MEData</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>me_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ref_id</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>
<a class="anchor" name="38e6ec9661fe019e6b8996767377efe6"></a><!-- doxytag: member="dirac::SubpelRefine::operator=" ref="38e6ec9661fe019e6b8996767377efe6" args="(const SubpelRefine &amp;rhs)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00143.html">SubpelRefine</a>&amp; dirac::SubpelRefine::operator=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00143.html">SubpelRefine</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>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="1bd4118fa06016053bc801c26fd02eeb"></a><!-- doxytag: member="dirac::SubpelRefine::m_cand_list" ref="1bd4118fa06016053bc801c26fd02eeb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00234.html#7a049e12b5746a1b3da88a3e94d04069">CandidateList</a> <a class="el" href="a00143.html#1bd4118fa06016053bc801c26fd02eeb">dirac::SubpelRefine::m_cand_list</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="681a0edad26574f305c7a8a08fb9e885"></a><!-- doxytag: member="dirac::SubpelRefine::m_encparams" ref="681a0edad26574f305c7a8a08fb9e885" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00063.html">EncoderParams</a>&amp; <a class="el" href="a00143.html#681a0edad26574f305c7a8a08fb9e885">dirac::SubpelRefine::m_encparams</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="5ae5afb3c166516f7fe090dd3a2a0af4"></a><!-- doxytag: member="dirac::SubpelRefine::m_nshift" ref="5ae5afb3c166516f7fe090dd3a2a0af4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00097.html">OneDArray</a>&lt;<a class="el" href="a00091.html">ImageCoords</a>&gt; <a class="el" href="a00143.html#5ae5afb3c166516f7fe090dd3a2a0af4">dirac::SubpelRefine::m_nshift</a><code> [private]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<a class="anchor" name="f4e8b453a2dacb1e2e3d982072a77d1f"></a><!-- doxytag: member="dirac::SubpelRefine::m_predparams" ref="f4e8b453a2dacb1e2e3d982072a77d1f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00114.html">PicturePredParams</a>* <a class="el" href="a00143.html#f4e8b453a2dacb1e2e3d982072a77d1f">dirac::SubpelRefine::m_predparams</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="a00195_source.html">me_subpel.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>