<!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="a00023.html">CompCompressor</a> </div> <div class="contents"> <h1>dirac::CompCompressor Class Reference</h1><!-- doxytag: class="dirac::CompCompressor" -->Compress a picture component. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="a00173_source.html">comp_compress.h</a>></code> <p> <p> <a href="a00350.html">List of all members.</a><h2>Public Member Functions</h2> <ul> <li><a class="el" href="a00023.html#898dfd6a0ab192586980fd64176d3857">CompCompressor</a> (<a class="el" href="a00063.html">EncoderParams</a> &encp, const <a class="el" href="a00113.html">PictureParams</a> &fp) <dl class="el"><dd class="mdescRight">Constructor. <a href="#898dfd6a0ab192586980fd64176d3857"></a><br></dl><li><a class="el" href="a00025.html">ComponentByteIO</a> * <a class="el" href="a00023.html#a8b2d5859073075374cee8b78f5447c3">Compress</a> (<a class="el" href="a00021.html">CoeffArray</a> &coeff_data, <a class="el" href="a00142.html">SubbandList</a> &bands, <a class="el" href="a00234.html#39dd89c4c7484412efd87d41548271cd">CompSort</a> csort, const <a class="el" href="a00097.html">OneDArray</a>< unsigned int > &estimated_bits) <dl class="el"><dd class="mdescRight">Compress a picture component. <a href="#a8b2d5859073075374cee8b78f5447c3"></a><br></dl></ul> <h2>Private Member Functions</h2> <ul> <li><a class="el" href="a00023.html#8821d3d5d4e18a0a85ef9a4cb75a1b7f">CompCompressor</a> (const <a class="el" href="a00023.html">CompCompressor</a> &cpy) <dl class="el"><dd class="mdescRight">Copy constructor is private and body-less. This class should not be copied. <a href="#8821d3d5d4e18a0a85ef9a4cb75a1b7f"></a><br></dl><li><a class="el" href="a00023.html">CompCompressor</a> & <a class="el" href="a00023.html#0acfbbcd2ba7b1108b51e6f237521aed">operator=</a> (const <a class="el" href="a00023.html">CompCompressor</a> &rhs) <dl class="el"><dd class="mdescRight">Assignment = is private and body-less. This class should not be assigned. <a href="#0acfbbcd2ba7b1108b51e6f237521aed"></a><br></dl><li>void <a class="el" href="a00023.html#e06367f7d206fbed3b34960c22768885">SetToVal</a> (<a class="el" href="a00021.html">CoeffArray</a> &coeff_data, const <a class="el" href="a00140.html">Subband</a> &node, <a class="el" href="a00234.html#548820ca76f864dc8630df79b2c5c5b9">ValueType</a> val) <dl class="el"><dd class="mdescRight">Set a subband to a constant value. <a href="#e06367f7d206fbed3b34960c22768885"></a><br></dl></ul> <h2>Private Attributes</h2> <ul> <li><a class="el" href="a00063.html">EncoderParams</a> & <a class="el" href="a00023.html#e8f8c1e08b5e1bdee04dc1783a975465">m_encparams</a> <li>const <a class="el" href="a00113.html">PictureParams</a> & <a class="el" href="a00023.html#544a96dedfd2aa807a35e0f869e27274">m_pparams</a> <li>const <a class="el" href="a00115.html">PictureSort</a> & <a class="el" href="a00023.html#bf0aa955d80ac0d6e9dd00ce1e449d91">m_psort</a> <li>const <a class="el" href="a00172.html#4a6c51c10f2eb04abc7209db7caff39f">ChromaFormat</a> & <a class="el" href="a00023.html#900f96811c47b51c70935823876d3fbe">m_cformat</a> <li>float <a class="el" href="a00023.html#f45405bd095286721dada1221d99f458">m_lambda</a> </ul> <hr><a name="_details"></a><h2>Detailed Description</h2> This class compresses one of the three components (Y, U, or V) of a picture according to a given set or parameters. <a class="el" href="a00023.html" title="Compress a picture component.">CompCompressor</a> is used by <a class="el" href="a00111.html" title="Compress a single image picture.">PictureCompressor</a>. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="898dfd6a0ab192586980fd64176d3857"></a><!-- doxytag: member="dirac::CompCompressor::CompCompressor" ref="898dfd6a0ab192586980fd64176d3857" args="(EncoderParams &encp, const PictureParams &fp)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::CompCompressor::CompCompressor </td> <td>(</td> <td class="paramtype"><a class="el" href="a00063.html">EncoderParams</a> & </td> <td class="paramname"> <em>encp</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>fp</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Create and initialize a component compressor with the given characteristics. <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> </td><td>encoding parameters </td></tr> <tr><td valign="top"></td><td valign="top"><em>fp</em> </td><td>picture parameters </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="8821d3d5d4e18a0a85ef9a4cb75a1b7f"></a><!-- doxytag: member="dirac::CompCompressor::CompCompressor" ref="8821d3d5d4e18a0a85ef9a4cb75a1b7f" args="(const CompCompressor &cpy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::CompCompressor::CompCompressor </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00023.html">CompCompressor</a> & </td> <td class="paramname"> <em>cpy</em> </td> <td> ) </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="a8b2d5859073075374cee8b78f5447c3"></a><!-- doxytag: member="dirac::CompCompressor::Compress" ref="a8b2d5859073075374cee8b78f5447c3" args="(CoeffArray &coeff_data, SubbandList &bands, CompSort csort, const OneDArray< unsigned int > &estimated_bits)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00025.html">ComponentByteIO</a>* dirac::CompCompressor::Compress </td> <td>(</td> <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> & </td> <td class="paramname"> <em>coeff_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00142.html">SubbandList</a> & </td> <td class="paramname"> <em>bands</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>csort</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00097.html">OneDArray</a>< unsigned int > & </td> <td class="paramname"> <em>estimated_bits</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Compress a <a class="el" href="a00107.html" title="A class for picture component data.">PicArray</a> containing a picture component (Y, U, or V). <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>coeff_data</em> </td><td>the component data to be compressed </td></tr> <tr><td valign="top"></td><td valign="top"><em>bands</em> </td><td>Subbands list </td></tr> <tr><td valign="top"></td><td valign="top"><em>csort</em> </td><td>Chroma format </td></tr> <tr><td valign="top"></td><td valign="top"><em>estimated_bits</em> </td><td>the list of estimated number of bits in each subband </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Picture-component in Dirac-bytestream format </dd></dl> </div> </div><p> <a class="anchor" name="0acfbbcd2ba7b1108b51e6f237521aed"></a><!-- doxytag: member="dirac::CompCompressor::operator=" ref="0acfbbcd2ba7b1108b51e6f237521aed" args="(const CompCompressor &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00023.html">CompCompressor</a>& dirac::CompCompressor::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00023.html">CompCompressor</a> & </td> <td class="paramname"> <em>rhs</em> </td> <td> ) </td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="e06367f7d206fbed3b34960c22768885"></a><!-- doxytag: member="dirac::CompCompressor::SetToVal" ref="e06367f7d206fbed3b34960c22768885" args="(CoeffArray &coeff_data, const Subband &node, ValueType val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::CompCompressor::SetToVal </td> <td>(</td> <td class="paramtype"><a class="el" href="a00021.html">CoeffArray</a> & </td> <td class="paramname"> <em>coeff_data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00140.html">Subband</a> & </td> <td class="paramname"> <em>node</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00234.html#548820ca76f864dc8630df79b2c5c5b9">ValueType</a> </td> <td class="paramname"> <em>val</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> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="900f96811c47b51c70935823876d3fbe"></a><!-- doxytag: member="dirac::CompCompressor::m_cformat" ref="900f96811c47b51c70935823876d3fbe" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00172.html#4a6c51c10f2eb04abc7209db7caff39f">ChromaFormat</a>& <a class="el" href="a00023.html#900f96811c47b51c70935823876d3fbe">dirac::CompCompressor::m_cformat</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="e8f8c1e08b5e1bdee04dc1783a975465"></a><!-- doxytag: member="dirac::CompCompressor::m_encparams" ref="e8f8c1e08b5e1bdee04dc1783a975465" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00063.html">EncoderParams</a>& <a class="el" href="a00023.html#e8f8c1e08b5e1bdee04dc1783a975465">dirac::CompCompressor::m_encparams</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f45405bd095286721dada1221d99f458"></a><!-- doxytag: member="dirac::CompCompressor::m_lambda" ref="f45405bd095286721dada1221d99f458" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float <a class="el" href="a00023.html#f45405bd095286721dada1221d99f458">dirac::CompCompressor::m_lambda</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="544a96dedfd2aa807a35e0f869e27274"></a><!-- doxytag: member="dirac::CompCompressor::m_pparams" ref="544a96dedfd2aa807a35e0f869e27274" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00113.html">PictureParams</a>& <a class="el" href="a00023.html#544a96dedfd2aa807a35e0f869e27274">dirac::CompCompressor::m_pparams</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="bf0aa955d80ac0d6e9dd00ce1e449d91"></a><!-- doxytag: member="dirac::CompCompressor::m_psort" ref="bf0aa955d80ac0d6e9dd00ce1e449d91" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00115.html">PictureSort</a>& <a class="el" href="a00023.html#bf0aa955d80ac0d6e9dd00ce1e449d91">dirac::CompCompressor::m_psort</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="a00173_source.html">comp_compress.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>