<!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="a00068.html">EntropyCorrector</a> </div> <div class="contents"> <h1>dirac::EntropyCorrector Class Reference</h1><!-- doxytag: class="dirac::EntropyCorrector" -->A class used for correcting estimates of entropy. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="a00171_source.html">common.h</a>></code> <p> <p> <a href="a00293.html">List of all members.</a><h2>Public Member Functions</h2> <ul> <li><a class="el" href="a00068.html#c81a65472bb1b7278dd111da2dbc53ac">EntropyCorrector</a> (int depth) <dl class="el"><dd class="mdescRight">Constructor. <a href="#c81a65472bb1b7278dd111da2dbc53ac"></a><br></dl><li>float <a class="el" href="a00068.html#7117489b773b191fbd2e9ec8ab5d2796">Factor</a> (const int bandnum, const <a class="el" href="a00113.html">PictureParams</a> &pp, const <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> c) const <dl class="el"><dd class="mdescRight">Returns the correction factor. <a href="#7117489b773b191fbd2e9ec8ab5d2796"></a><br></dl><li>void <a class="el" href="a00068.html#d514e977f36f1b6c5280396516a3388d">Update</a> (int bandnum, const <a class="el" href="a00113.html">PictureParams</a> &pp, <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> c, int est_bits, int actual_bits) <dl class="el"><dd class="mdescRight">Update the correction factors. <a href="#d514e977f36f1b6c5280396516a3388d"></a><br></dl></ul> <h2>Private Member Functions</h2> <ul> <li>void <a class="el" href="a00068.html#74fb8bfe5caf703a2a705e9a3e90eb27">Init</a> () <dl class="el"><dd class="mdescRight">Initialises the correction factors. <a href="#74fb8bfe5caf703a2a705e9a3e90eb27"></a><br></dl></ul> <h2>Private Attributes</h2> <ul> <li><a class="el" href="a00145.html">TwoDArray</a>< float > <a class="el" href="a00068.html#31b23e42b2432b76f756ec0b65c11598">m_Yfctrs</a> <li><a class="el" href="a00145.html">TwoDArray</a>< float > <a class="el" href="a00068.html#10aba16ad5834e78274faaf31f8015b4">m_Ufctrs</a> <li><a class="el" href="a00145.html">TwoDArray</a>< float > <a class="el" href="a00068.html#d926ceeaa302fa91cea0adbdef90f3db">m_Vfctrs</a> </ul> <hr><a name="_details"></a><h2>Detailed Description</h2> A class used by the encoder for correcting estimates of entropy. Used for selecting quantisers in subband coefficient coding. Factors can be adjusted in the light of previous experience. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="c81a65472bb1b7278dd111da2dbc53ac"></a><!-- doxytag: member="dirac::EntropyCorrector::EntropyCorrector" ref="c81a65472bb1b7278dd111da2dbc53ac" args="(int depth)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::EntropyCorrector::EntropyCorrector </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>depth</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructs arrays of correction factors of size. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>depth</em> </td><td>the depth of the wavelet transform. </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="7117489b773b191fbd2e9ec8ab5d2796"></a><!-- doxytag: member="dirac::EntropyCorrector::Factor" ref="7117489b773b191fbd2e9ec8ab5d2796" args="(const int bandnum, const PictureParams &pp, const CompSort c) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float dirac::EntropyCorrector::Factor </td> <td>(</td> <td class="paramtype">const int </td> <td class="paramname"> <em>bandnum</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00113.html">PictureParams</a> & </td> <td class="paramname"> <em>pp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> </td> <td class="paramname"> <em>c</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Returns the correction factor for the band given also the type of picture and component. </div> </div><p> <a class="anchor" name="74fb8bfe5caf703a2a705e9a3e90eb27"></a><!-- doxytag: member="dirac::EntropyCorrector::Init" ref="74fb8bfe5caf703a2a705e9a3e90eb27" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::EntropyCorrector::Init </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d514e977f36f1b6c5280396516a3388d"></a><!-- doxytag: member="dirac::EntropyCorrector::Update" ref="d514e977f36f1b6c5280396516a3388d" args="(int bandnum, const PictureParams &pp, CompSort c, int est_bits, int actual_bits)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::EntropyCorrector::Update </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>bandnum</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00113.html">PictureParams</a> & </td> <td class="paramname"> <em>pp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> </td> <td class="paramname"> <em>c</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>est_bits</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>actual_bits</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Update the factors for a given subband, component and picture type. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>bandnum</em> </td><td>the number of the subband to update </td></tr> <tr><td valign="top"></td><td valign="top"><em>pp</em> </td><td>picture parameters </td></tr> <tr><td valign="top"></td><td valign="top"><em>c</em> </td><td>component type </td></tr> <tr><td valign="top"></td><td valign="top"><em>est_bits</em> </td><td>the number of bits it was estimated would be used </td></tr> <tr><td valign="top"></td><td valign="top"><em>actual_bits</em> </td><td>the number of bits that actually were used </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="10aba16ad5834e78274faaf31f8015b4"></a><!-- doxytag: member="dirac::EntropyCorrector::m_Ufctrs" ref="10aba16ad5834e78274faaf31f8015b4" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00145.html">TwoDArray</a><float> <a class="el" href="a00068.html#10aba16ad5834e78274faaf31f8015b4">dirac::EntropyCorrector::m_Ufctrs</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d926ceeaa302fa91cea0adbdef90f3db"></a><!-- doxytag: member="dirac::EntropyCorrector::m_Vfctrs" ref="d926ceeaa302fa91cea0adbdef90f3db" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00145.html">TwoDArray</a><float> <a class="el" href="a00068.html#d926ceeaa302fa91cea0adbdef90f3db">dirac::EntropyCorrector::m_Vfctrs</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="31b23e42b2432b76f756ec0b65c11598"></a><!-- doxytag: member="dirac::EntropyCorrector::m_Yfctrs" ref="31b23e42b2432b76f756ec0b65c11598" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00145.html">TwoDArray</a><float> <a class="el" href="a00068.html#31b23e42b2432b76f756ec0b65c11598">dirac::EntropyCorrector::m_Yfctrs</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="a00171_source.html">common.h</a></ul> </div> <hr> <p align="center"><small> © 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>