<!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="a00084.html">MemoryStreamOutput</a>::<a class="el" href="a00099.html">OutputMemoryBuffer</a> </div> <div class="contents"> <h1>dirac::MemoryStreamOutput::OutputMemoryBuffer Class Reference</h1><!-- doxytag: class="dirac::MemoryStreamOutput::OutputMemoryBuffer" -->local memory buffer <p> <code>#include <<a class="el" href="a00211_source.html">pic_io.h</a>></code> <p> <p> <a href="a00320.html">List of all members.</a><h2>Public Member Functions</h2> <ul> <li><a class="el" href="a00099.html#d9058a7475efcf2f9de6ce2ce29d0cb8">OutputMemoryBuffer</a> () <dl class="el"><dd class="mdescRight">Memory buffer constructor. <a href="#d9058a7475efcf2f9de6ce2ce29d0cb8"></a><br></dl><li>void <a class="el" href="a00099.html#c03f8c42e0091de0ce726eadb1b8a6bf">SetMembufReference</a> (unsigned char *buffer, int buffer_size) <dl class="el"><dd class="mdescRight">Set the buffer variables. <a href="#c03f8c42e0091de0ce726eadb1b8a6bf"></a><br></dl></ul> <h2>Protected Member Functions</h2> <ul> <li>virtual int <a class="el" href="a00099.html#400eca756c9a927c178c2b4c78adcfee">overflow</a> (int c) <dl class="el"><dd class="mdescRight">Write Overflow method to write one char at a time. <a href="#400eca756c9a927c178c2b4c78adcfee"></a><br></dl><li>virtual std::streamsize <a class="el" href="a00099.html#1d4ae69daacaaf082a8e9196b9c45c61">xsputn</a> (const char *s, std::streamsize num) <dl class="el"><dd class="mdescRight">xsputn method to write one multiple chars at a time to buffer <a href="#1d4ae69daacaaf082a8e9196b9c45c61"></a><br></dl></ul> <h2>Protected Attributes</h2> <ul> <li>unsigned char * <a class="el" href="a00099.html#18aeaada46ec0955b4b2a053a2a1dee1">m_op_buf</a> <dl class="el"><dd class="mdescRight">Memory buffer to write data to. <a href="#18aeaada46ec0955b4b2a053a2a1dee1"></a><br></dl><li>int <a class="el" href="a00099.html#18434d303aa59a54dccaffbc7acaf7bb">m_op_buf_size</a> <dl class="el"><dd class="mdescRight">Memory buffer size. <a href="#18434d303aa59a54dccaffbc7acaf7bb"></a><br></dl><li>int <a class="el" href="a00099.html#2af59ae5e90dac473e2f21225483b81e">m_op_idx</a> <dl class="el"><dd class="mdescRight">Index of first available byte in buffer. <a href="#2af59ae5e90dac473e2f21225483b81e"></a><br></dl></ul> <h2>Private Member Functions</h2> <ul> <li><a class="el" href="a00099.html#2251d0b7c3e21b42dca6bc517c39a093">OutputMemoryBuffer</a> (const <a class="el" href="a00099.html">OutputMemoryBuffer</a> &) <dl class="el"><dd class="mdescRight">Body-less copy constructor. <a href="#2251d0b7c3e21b42dca6bc517c39a093"></a><br></dl><li><a class="el" href="a00099.html">OutputMemoryBuffer</a> & <a class="el" href="a00099.html#04f2e8bccf9fe43790466c922114be20">operator=</a> (const <a class="el" href="a00099.html">OutputMemoryBuffer</a> &) <dl class="el"><dd class="mdescRight">Body-less assignment operator. <a href="#04f2e8bccf9fe43790466c922114be20"></a><br></dl></ul> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="d9058a7475efcf2f9de6ce2ce29d0cb8"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::OutputMemoryBuffer" ref="d9058a7475efcf2f9de6ce2ce29d0cb8" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::MemoryStreamOutput::OutputMemoryBuffer::OutputMemoryBuffer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="2251d0b7c3e21b42dca6bc517c39a093"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::OutputMemoryBuffer" ref="2251d0b7c3e21b42dca6bc517c39a093" args="(const OutputMemoryBuffer &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::MemoryStreamOutput::OutputMemoryBuffer::OutputMemoryBuffer </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00099.html">OutputMemoryBuffer</a> & </td> <td class="paramname"> </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="04f2e8bccf9fe43790466c922114be20"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::operator=" ref="04f2e8bccf9fe43790466c922114be20" args="(const OutputMemoryBuffer &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00099.html">OutputMemoryBuffer</a>& dirac::MemoryStreamOutput::OutputMemoryBuffer::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00099.html">OutputMemoryBuffer</a> & </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="400eca756c9a927c178c2b4c78adcfee"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::overflow" ref="400eca756c9a927c178c2b4c78adcfee" args="(int c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int dirac::MemoryStreamOutput::OutputMemoryBuffer::overflow </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>c</em> </td> <td> ) </td> <td><code> [inline, protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="a00211_source.html#l00220">m_op_buf</a>, <a class="el" href="a00211_source.html#l00222">m_op_buf_size</a>, and <a class="el" href="a00211_source.html#l00224">m_op_idx</a>.</p> </div> </div><p> <a class="anchor" name="c03f8c42e0091de0ce726eadb1b8a6bf"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::SetMembufReference" ref="c03f8c42e0091de0ce726eadb1b8a6bf" args="(unsigned char *buffer, int buffer_size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::MemoryStreamOutput::OutputMemoryBuffer::SetMembufReference </td> <td>(</td> <td class="paramtype">unsigned char * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>buffer_size</em></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> Set the memory buffer variables <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td>buffer to write data to </td></tr> <tr><td valign="top"></td><td valign="top"><em>buffer_size</em> </td><td>size of output buffer </td></tr> </table> </dl> <p>References <a class="el" href="a00211_source.html#l00220">m_op_buf</a>, <a class="el" href="a00211_source.html#l00222">m_op_buf_size</a>, and <a class="el" href="a00211_source.html#l00224">m_op_idx</a>.</p> </div> </div><p> <a class="anchor" name="1d4ae69daacaaf082a8e9196b9c45c61"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::xsputn" ref="1d4ae69daacaaf082a8e9196b9c45c61" args="(const char *s, std::streamsize num)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual std::streamsize dirac::MemoryStreamOutput::OutputMemoryBuffer::xsputn </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">std::streamsize </td> <td class="paramname"> <em>num</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>References <a class="el" href="a00211_source.html#l00220">m_op_buf</a>, <a class="el" href="a00211_source.html#l00222">m_op_buf_size</a>, and <a class="el" href="a00211_source.html#l00224">m_op_idx</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="18aeaada46ec0955b4b2a053a2a1dee1"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_buf" ref="18aeaada46ec0955b4b2a053a2a1dee1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned char* <a class="el" href="a00099.html#18aeaada46ec0955b4b2a053a2a1dee1">dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_buf</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Referenced by <a class="el" href="a00211_source.html#l00227">overflow()</a>, <a class="el" href="a00211_source.html#l00211">SetMembufReference()</a>, and <a class="el" href="a00211_source.html#l00241">xsputn()</a>.</p> </div> </div><p> <a class="anchor" name="18434d303aa59a54dccaffbc7acaf7bb"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_buf_size" ref="18434d303aa59a54dccaffbc7acaf7bb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00099.html#18434d303aa59a54dccaffbc7acaf7bb">dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_buf_size</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Referenced by <a class="el" href="a00211_source.html#l00227">overflow()</a>, <a class="el" href="a00211_source.html#l00211">SetMembufReference()</a>, and <a class="el" href="a00211_source.html#l00241">xsputn()</a>.</p> </div> </div><p> <a class="anchor" name="2af59ae5e90dac473e2f21225483b81e"></a><!-- doxytag: member="dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_idx" ref="2af59ae5e90dac473e2f21225483b81e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00099.html#2af59ae5e90dac473e2f21225483b81e">dirac::MemoryStreamOutput::OutputMemoryBuffer::m_op_idx</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Referenced by <a class="el" href="a00211_source.html#l00227">overflow()</a>, <a class="el" href="a00211_source.html#l00211">SetMembufReference()</a>, and <a class="el" href="a00211_source.html#l00241">xsputn()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="a00211_source.html">pic_io.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>