<!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.4 --> <div class="nav"> <a class="el" href="a00226.html">dirac</a>::<a class="el" href="a00027.html">CompDecompressor</a></div> <h1>dirac::CompDecompressor Class Reference</h1><!-- doxytag: class="dirac::CompDecompressor" -->Compress a frame component. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="a00243.html">comp_decompress.h</a>></code> <p> <p> <a href="a00419.html">List of all members.</a><h2>Public Member Functions</h2> <ul> <li><a class="el" href="a00027.html#e194383ac6e30328c33822097f98bec0">CompDecompressor</a> (<a class="el" href="a00032.html">DecoderParams</a> &decp, const <a class="el" href="a00078.html">FrameParams</a> &fp) <dl class="el"><dd class="mdescRight">Constructor. <a href="#e194383ac6e30328c33822097f98bec0"></a><br></dl><li>void <a class="el" href="a00027.html#2e3b1ba6c693d0cdc726d50010fe5d82">Decompress</a> (<a class="el" href="a00028.html">ComponentByteIO</a> *p_component_byteio, <a class="el" href="a00113.html">PicArray</a> &pic_data) <dl class="el"><dd class="mdescRight">Decompress a frame component. <a href="#2e3b1ba6c693d0cdc726d50010fe5d82"></a><br></dl></ul> <h2>Private Member Functions</h2> <ul> <li><a class="el" href="a00027.html#ab6620a3616ab2528210631c76484add">CompDecompressor</a> (const <a class="el" href="a00027.html">CompDecompressor</a> &cpy) <dl class="el"><dd class="mdescRight">Copy constructor is private and body-less. <a href="#ab6620a3616ab2528210631c76484add"></a><br></dl><li><a class="el" href="a00027.html">CompDecompressor</a> & <a class="el" href="a00027.html#e1f9d168bb33463d3f82e0cc65ee4cee">operator=</a> (const <a class="el" href="a00027.html">CompDecompressor</a> &rhs) <dl class="el"><dd class="mdescRight">Assignment = is private and body-less. <a href="#e1f9d168bb33463d3f82e0cc65ee4cee"></a><br></dl><li>void <a class="el" href="a00027.html#e085c3e078a72ff0af4e8f5e3ac25ca0">SetToVal</a> (<a class="el" href="a00023.html">CoeffArray</a> &pic_data, const <a class="el" href="a00134.html">Subband</a> &node, <a class="el" href="a00226.html#00c36803f51328ff862631abde5071c5">CoeffType</a> val) <dl class="el"><dd class="mdescRight">Sets the data of a specific subband node to a given value. <a href="#e085c3e078a72ff0af4e8f5e3ac25ca0"></a><br></dl><li>void <a class="el" href="a00027.html#7ffa7ba7e6409c3ec6a00847c4b8ff9b">SetupCodeBlocks</a> (<a class="el" href="a00136.html">SubbandList</a> &bands) <dl class="el"><dd class="mdescRight">Set up the code block structures for each subband. <a href="#7ffa7ba7e6409c3ec6a00847c4b8ff9b"></a><br></dl></ul> <h2>Private Attributes</h2> <ul> <li><a class="el" href="a00032.html">DecoderParams</a> & <a class="el" href="a00027.html#c609809808642bbf3985cd13d428af05">m_decparams</a> <dl class="el"><dd class="mdescRight">Copy of the decompression parameters provided to the constructor. <a href="#c609809808642bbf3985cd13d428af05"></a><br></dl><li>const <a class="el" href="a00078.html">FrameParams</a> & <a class="el" href="a00027.html#81992f2dcab6410e75e92fb6f2bab011">m_fparams</a> <dl class="el"><dd class="mdescRight">Reference to the frame parameters provided to the constructor. <a href="#81992f2dcab6410e75e92fb6f2bab011"></a><br></dl></ul> <hr><a name="_details"></a><h2>Detailed Description</h2> This class compresses one of the three components (Y, U, or V) of a frame according to a given set or parameters. <a class="el" href="a00026.html" title="Compress a frame component.">CompCompressor</a> is used by <a class="el" href="a00076.html" title="Compress a single image frame.">FrameCompressor</a>.. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="e194383ac6e30328c33822097f98bec0"></a><!-- doxytag: member="dirac::CompDecompressor::CompDecompressor" ref="e194383ac6e30328c33822097f98bec0" args="(DecoderParams &decp, const FrameParams &fp)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::CompDecompressor::CompDecompressor </td> <td>(</td> <td class="paramtype"><a class="el" href="a00032.html">DecoderParams</a> & </td> <td class="paramname"> <em>decp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="a00078.html">FrameParams</a> & </td> <td class="paramname"> <em>fp</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Create and initialize a component decompressor 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>decp</em> </td><td>decoding parameters </td></tr> <tr><td valign="top"></td><td valign="top"><em>fp</em> </td><td>frame parameters </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="ab6620a3616ab2528210631c76484add"></a><!-- doxytag: member="dirac::CompDecompressor::CompDecompressor" ref="ab6620a3616ab2528210631c76484add" args="(const CompDecompressor &cpy)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::CompDecompressor::CompDecompressor </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00027.html">CompDecompressor</a> & </td> <td class="paramname"> <em>cpy</em> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor is private and body-less. This class should not be copied. </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="2e3b1ba6c693d0cdc726d50010fe5d82"></a><!-- doxytag: member="dirac::CompDecompressor::Decompress" ref="2e3b1ba6c693d0cdc726d50010fe5d82" args="(ComponentByteIO *p_component_byteio, PicArray &pic_data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::CompDecompressor::Decompress </td> <td>(</td> <td class="paramtype"><a class="el" href="a00028.html">ComponentByteIO</a> * </td> <td class="paramname"> <em>p_component_byteio</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00113.html">PicArray</a> & </td> <td class="paramname"> <em>pic_data</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Decompress a <a class="el" href="a00113.html" title="A class for picture component data.">PicArray</a> containing a frame component (Y, U, or V).<p> <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_component_byteio</em> </td><td>Bytestream of component data </td></tr> <tr><td valign="top"></td><td valign="top"><em>pic_data</em> </td><td>contains the component data to be decompressed </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="e1f9d168bb33463d3f82e0cc65ee4cee"></a><!-- doxytag: member="dirac::CompDecompressor::operator=" ref="e1f9d168bb33463d3f82e0cc65ee4cee" args="(const CompDecompressor &rhs)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00027.html">CompDecompressor</a>& dirac::CompDecompressor::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00027.html">CompDecompressor</a> & </td> <td class="paramname"> <em>rhs</em> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Assignment = is private and body-less. This class should not be assigned. </div> </div><p> <a class="anchor" name="e085c3e078a72ff0af4e8f5e3ac25ca0"></a><!-- doxytag: member="dirac::CompDecompressor::SetToVal" ref="e085c3e078a72ff0af4e8f5e3ac25ca0" args="(CoeffArray &pic_data, const Subband &node, CoeffType val)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::CompDecompressor::SetToVal </td> <td>(</td> <td class="paramtype"><a class="el" href="a00023.html">CoeffArray</a> & </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="a00134.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="a00226.html#00c36803f51328ff862631abde5071c5">CoeffType</a> </td> <td class="paramname"> <em>val</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the data of a specific subband node to a given value<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>pic_data</em> </td><td>contains the component data </td></tr> <tr><td valign="top"></td><td valign="top"><em>node</em> </td><td>subband node </td></tr> <tr><td valign="top"></td><td valign="top"><em>val</em> </td><td>the value to set </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="7ffa7ba7e6409c3ec6a00847c4b8ff9b"></a><!-- doxytag: member="dirac::CompDecompressor::SetupCodeBlocks" ref="7ffa7ba7e6409c3ec6a00847c4b8ff9b" args="(SubbandList &bands)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::CompDecompressor::SetupCodeBlocks </td> <td>(</td> <td class="paramtype"><a class="el" href="a00136.html">SubbandList</a> & </td> <td class="paramname"> <em>bands</em> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set up the code block structures for each subband <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>bands</em> </td><td>the set of all the subbands </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="c609809808642bbf3985cd13d428af05"></a><!-- doxytag: member="dirac::CompDecompressor::m_decparams" ref="c609809808642bbf3985cd13d428af05" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00032.html">DecoderParams</a>& <a class="el" href="a00027.html#c609809808642bbf3985cd13d428af05">dirac::CompDecompressor::m_decparams</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="81992f2dcab6410e75e92fb6f2bab011"></a><!-- doxytag: member="dirac::CompDecompressor::m_fparams" ref="81992f2dcab6410e75e92fb6f2bab011" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="a00078.html">FrameParams</a>& <a class="el" href="a00027.html#81992f2dcab6410e75e92fb6f2bab011">dirac::CompDecompressor::m_fparams</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="a00243.html">comp_decompress.h</a></ul> <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>