<!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="a00021.html">CoeffArray</a> </div> <div class="contents"> <h1>dirac::CoeffArray Class Reference</h1><!-- doxytag: class="dirac::CoeffArray" --><!-- doxytag: inherits="TwoDArray< CoeffType >" -->A class for wavelet coefficient data. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="a00233_source.html">wavelet_utils.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for dirac::CoeffArray:</div> <div class="dynsection"> <p><center><img src="a00021.png" usemap="#dirac::CoeffArray_map" border="0" alt=""></center> <map name="dirac::CoeffArray_map"> <area href="a00145.html" alt="dirac::TwoDArray< CoeffType >" shape="rect" coords="0,0,195,24"> </map> </div> <p> <a href="a00348.html">List of all members.</a><h2>Public Member Functions</h2> <ul> <li><a class="el" href="a00021.html#9a1ae666dd08aad45e6c640105a7a321">CoeffArray</a> () <dl class="el"><dd class="mdescRight">Default constructor. <a href="#9a1ae666dd08aad45e6c640105a7a321"></a><br></dl><li><a class="el" href="a00021.html#7a4037c3ce9ac9ae6a6af71462e49ac9">CoeffArray</a> (int height, int width, <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> cs=Y_COMP) <dl class="el"><dd class="mdescRight">Constructor. <a href="#7a4037c3ce9ac9ae6a6af71462e49ac9"></a><br></dl><li><a class="el" href="a00021.html#c3704aebda8bd837bdba740753fc28e6">~CoeffArray</a> () <dl class="el"><dd class="mdescRight">Destructor. <a href="#c3704aebda8bd837bdba740753fc28e6"></a><br></dl><li>const <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> & <a class="el" href="a00021.html#caa83247c3d460be6c0fc5cd3764591a">CSort</a> () const <dl class="el"><dd class="mdescRight">Return which component is stored. <a href="#caa83247c3d460be6c0fc5cd3764591a"></a><br></dl><li>void <a class="el" href="a00021.html#6023b26024d40a2cc595cb037e95a48c">SetCSort</a> (const <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> cs) <dl class="el"><dd class="mdescRight">Set the type of component being stored. <a href="#6023b26024d40a2cc595cb037e95a48c"></a><br></dl><li><a class="el" href="a00142.html">SubbandList</a> & <a class="el" href="a00021.html#764272e03b7ebd6f2efce209e034d6e0">BandList</a> () <dl class="el"><dd class="mdescRight">Returns the set of subbands. <a href="#764272e03b7ebd6f2efce209e034d6e0"></a><br></dl><li>const <a class="el" href="a00142.html">SubbandList</a> & <a class="el" href="a00021.html#a6c1fc875dc268149872472956d615d2">BandList</a> () const <dl class="el"><dd class="mdescRight">Returns the set of subbands. <a href="#a6c1fc875dc268149872472956d615d2"></a><br></dl><li>void <a class="el" href="a00021.html#25117d997711db3f1a02f9ceb16cab45">SetBandWeights</a> (const <a class="el" href="a00063.html">EncoderParams</a> &encparams, const <a class="el" href="a00113.html">PictureParams</a> &pparams, const <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> csort, const float cpd_scale_factor) <dl class="el"><dd class="mdescRight">Sets the subband weights. <a href="#25117d997711db3f1a02f9ceb16cab45"></a><br></dl></ul> <h2>Private Member Functions</h2> <ul> <li>float <a class="el" href="a00021.html#80f60e53a1578acd15ca7a3546fa6f08">PerceptualWeight</a> (float xf, float yf, <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> cs) <dl class="el"><dd class="mdescRight">Given x and y spatial frequencies in cycles per degree, returns a weighting value. <a href="#80f60e53a1578acd15ca7a3546fa6f08"></a><br></dl></ul> <h2>Private Attributes</h2> <ul> <li><a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> <a class="el" href="a00021.html#22ce5a9af41041517c767fc8bc426e8a">m_csort</a> <li><a class="el" href="a00142.html">SubbandList</a> <a class="el" href="a00021.html#11235fb3b65494135732e244d8ed4db2">m_band_list</a> </ul> <hr><a name="_details"></a><h2>Detailed Description</h2> A class for encapsulating coefficient data, derived from <a class="el" href="a00145.html" title="A template class for two-dimensional arrays.">TwoDArray</a>.. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="9a1ae666dd08aad45e6c640105a7a321"></a><!-- doxytag: member="dirac::CoeffArray::CoeffArray" ref="9a1ae666dd08aad45e6c640105a7a321" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::CoeffArray::CoeffArray </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Default constructor creates an empty array. </div> </div><p> <a class="anchor" name="7a4037c3ce9ac9ae6a6af71462e49ac9"></a><!-- doxytag: member="dirac::CoeffArray::CoeffArray" ref="7a4037c3ce9ac9ae6a6af71462e49ac9" args="(int height, int width, CompSort cs=Y_COMP)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::CoeffArray::CoeffArray </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>height</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>width</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>cs</em> = <code>Y_COMP</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Contructor creates a two-D array, with specified size and colour format. </div> </div><p> <a class="anchor" name="c3704aebda8bd837bdba740753fc28e6"></a><!-- doxytag: member="dirac::CoeffArray::~CoeffArray" ref="c3704aebda8bd837bdba740753fc28e6" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::CoeffArray::~CoeffArray </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="a6c1fc875dc268149872472956d615d2"></a><!-- doxytag: member="dirac::CoeffArray::BandList" ref="a6c1fc875dc268149872472956d615d2" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00142.html">SubbandList</a>& dirac::CoeffArray::BandList </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="a00233_source.html#l00672">m_band_list</a>.</p> </div> </div><p> <a class="anchor" name="764272e03b7ebd6f2efce209e034d6e0"></a><!-- doxytag: member="dirac::CoeffArray::BandList" ref="764272e03b7ebd6f2efce209e034d6e0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00142.html">SubbandList</a>& dirac::CoeffArray::BandList </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="a00233_source.html#l00672">m_band_list</a>.</p> </div> </div><p> <a class="anchor" name="caa83247c3d460be6c0fc5cd3764591a"></a><!-- doxytag: member="dirac::CoeffArray::CSort" ref="caa83247c3d460be6c0fc5cd3764591a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a>& dirac::CoeffArray::CSort </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="a00233_source.html#l00669">m_csort</a>.</p> </div> </div><p> <a class="anchor" name="80f60e53a1578acd15ca7a3546fa6f08"></a><!-- doxytag: member="dirac::CoeffArray::PerceptualWeight" ref="80f60e53a1578acd15ca7a3546fa6f08" args="(float xf, float yf, CompSort cs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float dirac::CoeffArray::PerceptualWeight </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>xf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>yf</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>cs</em></td><td> </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="25117d997711db3f1a02f9ceb16cab45"></a><!-- doxytag: member="dirac::CoeffArray::SetBandWeights" ref="25117d997711db3f1a02f9ceb16cab45" args="(const EncoderParams &encparams, const PictureParams &pparams, const CompSort csort, const float cpd_scale_factor)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::CoeffArray::SetBandWeights </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00063.html">EncoderParams</a> & </td> <td class="paramname"> <em>encparams</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>pparams</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>csort</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const float </td> <td class="paramname"> <em>cpd_scale_factor</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Sets perceptual weights for the subbands. Takes into account both perceptual factors (weight noise less at higher spatial frequencies) and the scaling needed for the wavelet transform. </div> </div><p> <a class="anchor" name="6023b26024d40a2cc595cb037e95a48c"></a><!-- doxytag: member="dirac::CoeffArray::SetCSort" ref="6023b26024d40a2cc595cb037e95a48c" args="(const CompSort cs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::CoeffArray::SetCSort </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> </td> <td class="paramname"> <em>cs</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="a00233_source.html#l00669">m_csort</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="11235fb3b65494135732e244d8ed4db2"></a><!-- doxytag: member="dirac::CoeffArray::m_band_list" ref="11235fb3b65494135732e244d8ed4db2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00142.html">SubbandList</a> <a class="el" href="a00021.html#11235fb3b65494135732e244d8ed4db2">dirac::CoeffArray::m_band_list</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Referenced by <a class="el" href="a00233_source.html#l00651">BandList()</a>.</p> </div> </div><p> <a class="anchor" name="22ce5a9af41041517c767fc8bc426e8a"></a><!-- doxytag: member="dirac::CoeffArray::m_csort" ref="22ce5a9af41041517c767fc8bc426e8a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> <a class="el" href="a00021.html#22ce5a9af41041517c767fc8bc426e8a">dirac::CoeffArray::m_csort</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Referenced by <a class="el" href="a00233_source.html#l00645">CSort()</a>, and <a class="el" href="a00233_source.html#l00648">SetCSort()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a00233_source.html">wavelet_utils.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>