<!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="a00121.html">RateController</a></div> <h1>dirac::RateController Class Reference</h1><!-- doxytag: class="dirac::RateController" -->A clas for allocation the bits to each and every types of frames in a GOP. <a href="#_details"></a> <p> <code>#include <<a class="el" href="a00288.html">rate_control.h</a>></code> <p> <p> <a href="a00415.html">List of all members.</a><h2>Public Member Functions</h2> <ul> <li><a class="el" href="a00121.html#aabde5c0d65b397a71796260cd873ac6">RateController</a> (int trate, <a class="el" href="a00125.html">SourceParams</a> &srcp, <a class="el" href="a00066.html">EncoderParams</a> &encp) <dl class="el"><dd class="mdescRight">Default constructor. <a href="#aabde5c0d65b397a71796260cd873ac6"></a><br></dl><li>void <a class="el" href="a00121.html#eb65a250fd118b69425a1d5645009f40">CalcNextQualFactor</a> (const <a class="el" href="a00078.html">FrameParams</a> &fparams, int num_bits) <dl class="el"><dd class="mdescRight">Calculate the Quality factor of the next frame to encode. <a href="#eb65a250fd118b69425a1d5645009f40"></a><br></dl><li>void <a class="el" href="a00121.html#c189b84a749cc8f4d7e73d8d0588e446">CalcNextIntraQualFactor</a> () <dl class="el"><dd class="mdescRight">Calculate the Quality factor of the next I frame to encode. <a href="#c189b84a749cc8f4d7e73d8d0588e446"></a><br></dl><li>void <a class="el" href="a00121.html#fe84fd0dc63eb6f3ee0d5c118b123c18">SetCutFrameQualFactor</a> () <dl class="el"><dd class="mdescRight">Use the long-term average intra quality factor. <a href="#fe84fd0dc63eb6f3ee0d5c118b123c18"></a><br></dl><li>double <a class="el" href="a00121.html#60f6c52e60273b4660273ea4243d8fe9">IntraQualFactor</a> () <dl class="el"><dd class="mdescRight">Return I frame qf. <a href="#60f6c52e60273b4660273ea4243d8fe9"></a><br></dl><li>double <a class="el" href="a00121.html#21753689d46c146233cb1d791c737939">QualFactor</a> () <dl class="el"><dd class="mdescRight">Return qf. <a href="#21753689d46c146233cb1d791c737939"></a><br></dl><li>void <a class="el" href="a00121.html#991d9589911686dc26b6e5debd762587">Report</a> () <dl class="el"><dd class="mdescRight">Report the allocation to picture types. <a href="#991d9589911686dc26b6e5debd762587"></a><br></dl></ul> <h2>Private Member Functions</h2> <ul> <li>double <a class="el" href="a00121.html#844b6099a12a1d1ca9bab03b6c082859">TargetSubgroupRate</a> () <li>double <a class="el" href="a00121.html#1630d8bbfe61527f11472b0306ae2678">ProjectedSubgroupRate</a> () <li>void <a class="el" href="a00121.html#92f7daff01c4822077ebfb8c0989bc35">Allocate</a> (const int fnum) <dl class="el"><dd class="mdescRight">Allocate the bits to each type of frame in a GOP. <a href="#92f7daff01c4822077ebfb8c0989bc35"></a><br></dl><li>void <a class="el" href="a00121.html#321067bdad2770f33a0b13999278e841">CalcTotalBits</a> (const <a class="el" href="a00125.html">SourceParams</a> &sourceparams) <dl class="el"><dd class="mdescRight">Calculate the total number of bits in a GOP. <a href="#321067bdad2770f33a0b13999278e841"></a><br></dl><li>void <a class="el" href="a00121.html#d19cc85ece74c87a592f4b4c8bec383b">SetIntraQualFactor</a> (double value) <dl class="el"><dd class="mdescRight">Set the value of Current IQF. <a href="#d19cc85ece74c87a592f4b4c8bec383b"></a><br></dl><li>void <a class="el" href="a00121.html#72e8a78e0b77489b91bec57b53f75fa0">SetFrameDistribution</a> () <dl class="el"><dd class="mdescRight">Set the number of I, L1 and L2 frames in the GOP. <a href="#72e8a78e0b77489b91bec57b53f75fa0"></a><br></dl><li>float <a class="el" href="a00121.html#51121888d2c18ad36a53adf5d925b988">ReviewQualityFactor</a> (const float qfac, const long int num_bits) <dl class="el"><dd class="mdescRight">Review the quality factor to make sure it's being set sensibly. <a href="#51121888d2c18ad36a53adf5d925b988"></a><br></dl><li>float <a class="el" href="a00121.html#83cbf32089d3dc2b8ac4d0aa3d84aba8">ClipQualityFactor</a> (const float qfac) <dl class="el"><dd class="mdescRight">Clip the quality factor to something sensible. <a href="#83cbf32089d3dc2b8ac4d0aa3d84aba8"></a><br></dl><li>void <a class="el" href="a00121.html#38cf00f39765c799ccd512ca0079b66a">UpdateBuffer</a> (const long int num_bits) <dl class="el"><dd class="mdescRight">Update the internal decoder buffer model. <a href="#38cf00f39765c799ccd512ca0079b66a"></a><br></dl></ul> <h2>Private Attributes</h2> <ul> <li>double <a class="el" href="a00121.html#0582dea9ba94c88f7590fe89fa352e6a">m_qf</a> <dl class="el"><dd class="mdescRight">Current Quality Factor. <a href="#0582dea9ba94c88f7590fe89fa352e6a"></a><br></dl><li>double <a class="el" href="a00121.html#22cda247f716385e97a4542fb1f205f0">m_I_qf</a> <dl class="el"><dd class="mdescRight">I frame Quality Factor. <a href="#22cda247f716385e97a4542fb1f205f0"></a><br></dl><li>double <a class="el" href="a00121.html#d19ddc48881dc1fd0d9945c9fb06022c">m_I_qf_long_term</a> <dl class="el"><dd class="mdescRight">Long-term average of I frame Quality Factor. <a href="#d19ddc48881dc1fd0d9945c9fb06022c"></a><br></dl><li>const int <a class="el" href="a00121.html#09bee4a6767f938f817abe26cf77b7db">m_target_rate</a> <dl class="el"><dd class="mdescRight">Target bit rate in kbps. <a href="#09bee4a6767f938f817abe26cf77b7db"></a><br></dl><li>long int <a class="el" href="a00121.html#f3cf94ec48df82c8c629916345f5ae1a">m_Iframe_bits</a> <dl class="el"><dd class="mdescRight">Number of bits for I frame. <a href="#f3cf94ec48df82c8c629916345f5ae1a"></a><br></dl><li>long int <a class="el" href="a00121.html#81525dfe62028cbb200d6bc4fa4fa43c">m_L1frame_bits</a> <dl class="el"><dd class="mdescRight">Number of bits for L1 frame. <a href="#81525dfe62028cbb200d6bc4fa4fa43c"></a><br></dl><li>long int <a class="el" href="a00121.html#f3b3c6fe93014a7e0306fd17f9e558f1">m_L2frame_bits</a> <dl class="el"><dd class="mdescRight">Number of bits for L2 frame. <a href="#f3b3c6fe93014a7e0306fd17f9e558f1"></a><br></dl><li>int <a class="el" href="a00121.html#84a83428313b9c39b0087005da222b3c">m_num_Iframe</a> <dl class="el"><dd class="mdescRight">Number of I frames. <a href="#84a83428313b9c39b0087005da222b3c"></a><br></dl><li>int <a class="el" href="a00121.html#75141c4f87fa3ad03224b8f951eb561d">m_num_L1frame</a> <dl class="el"><dd class="mdescRight">Number of L1 frames. <a href="#75141c4f87fa3ad03224b8f951eb561d"></a><br></dl><li>int <a class="el" href="a00121.html#daabd6baffd415ed54e2fc895f805cdc">m_num_L2frame</a> <dl class="el"><dd class="mdescRight">Number of L2 frames. <a href="#daabd6baffd415ed54e2fc895f805cdc"></a><br></dl><li>long int <a class="el" href="a00121.html#af3c3ee713dd60022ebecdd0c1392c61">m_total_GOP_bits</a> <dl class="el"><dd class="mdescRight">Total Number of bits in a GOP. <a href="#af3c3ee713dd60022ebecdd0c1392c61"></a><br></dl><li>long int <a class="el" href="a00121.html#cf426e8ad81ff0ce2db933270c99f46b">m_picture_bits</a> <dl class="el"><dd class="mdescRight">Mean number of bits in a picture. <a href="#cf426e8ad81ff0ce2db933270c99f46b"></a><br></dl><li>const long int <a class="el" href="a00121.html#a6a8d87d42c821b26a81ae0d0e782bc5">m_buffer_size</a> <dl class="el"><dd class="mdescRight">Size of the decoded bit buffer. <a href="#a6a8d87d42c821b26a81ae0d0e782bc5"></a><br></dl><li>long int <a class="el" href="a00121.html#18c025837bae4eb18aac3300e303cce8">m_buffer_bits</a> <dl class="el"><dd class="mdescRight">Number of bits in the buffer. <a href="#18c025837bae4eb18aac3300e303cce8"></a><br></dl><li>long int <a class="el" href="a00121.html#ce29208a55e36790da0445462d37102b">m_old_buffer_bits</a> <dl class="el"><dd class="mdescRight">The old buffer occupancy. <a href="#ce29208a55e36790da0445462d37102b"></a><br></dl><li>double <a class="el" href="a00121.html#76c6ab5b45024c3508e3018deb3b109d">m_buffer_rate_of_change</a> <dl class="el"><dd class="mdescRight">The rate of change of buffer occupancy. <a href="#76c6ab5b45024c3508e3018deb3b109d"></a><br></dl><li>long int <a class="el" href="a00121.html#9b3d3839958fd5661be318b277a7eb78">m_GOP_target</a> <dl class="el"><dd class="mdescRight">The target number of bits for the current GOP. <a href="#9b3d3839958fd5661be318b277a7eb78"></a><br></dl><li>double <a class="el" href="a00121.html#eb716078f2a4573cbdd0a938c5e75b6b">m_GOP_duration</a> <dl class="el"><dd class="mdescRight">The duration of a GOP. <a href="#eb716078f2a4573cbdd0a938c5e75b6b"></a><br></dl><li><a class="el" href="a00066.html">EncoderParams</a> & <a class="el" href="a00121.html#d01765d1b33a247a5e14a67211a07201">m_encparams</a> <dl class="el"><dd class="mdescRight">A reference to the encoder parameters. <a href="#d01765d1b33a247a5e14a67211a07201"></a><br></dl><li><a class="el" href="a00075.html">FrameComplexity</a> <a class="el" href="a00121.html#af69233c24affac15394282d090375e2">m_frame_complexity</a> <dl class="el"><dd class="mdescRight">A class to hold the frame complexity object. <a href="#af69233c24affac15394282d090375e2"></a><br></dl><li>int <a class="el" href="a00121.html#fae6bbf8dc87fb5e2a8c78f29c40fe4f">m_fcount</a> <dl class="el"><dd class="mdescRight">A frame counter, giving the position within a subgroup. <a href="#fae6bbf8dc87fb5e2a8c78f29c40fe4f"></a><br></dl><li>bool <a class="el" href="a00121.html#15e256a041a0d0dd8cb2c60543845808">m_intra_only</a> <li>int <a class="el" href="a00121.html#885cd0b08af4eeea3e83c23d78d7bd03">m_L2_complexity_sum</a> </ul> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="aabde5c0d65b397a71796260cd873ac6"></a><!-- doxytag: member="dirac::RateController::RateController" ref="aabde5c0d65b397a71796260cd873ac6" args="(int trate, SourceParams &srcp, EncoderParams &encp)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dirac::RateController::RateController </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>trate</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00125.html">SourceParams</a> & </td> <td class="paramname"> <em>srcp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="a00066.html">EncoderParams</a> & </td> <td class="paramname"> <em>encp</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> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="eb65a250fd118b69425a1d5645009f40"></a><!-- doxytag: member="dirac::RateController::CalcNextQualFactor" ref="eb65a250fd118b69425a1d5645009f40" args="(const FrameParams &fparams, int num_bits)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::CalcNextQualFactor </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00078.html">FrameParams</a> & </td> <td class="paramname"> <em>fparams</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>num_bits</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> </div> </div><p> <a class="anchor" name="c189b84a749cc8f4d7e73d8d0588e446"></a><!-- doxytag: member="dirac::RateController::CalcNextIntraQualFactor" ref="c189b84a749cc8f4d7e73d8d0588e446" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::CalcNextIntraQualFactor </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="fe84fd0dc63eb6f3ee0d5c118b123c18"></a><!-- doxytag: member="dirac::RateController::SetCutFrameQualFactor" ref="fe84fd0dc63eb6f3ee0d5c118b123c18" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::SetCutFrameQualFactor </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="60f6c52e60273b4660273ea4243d8fe9"></a><!-- doxytag: member="dirac::RateController::IntraQualFactor" ref="60f6c52e60273b4660273ea4243d8fe9" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double dirac::RateController::IntraQualFactor </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="21753689d46c146233cb1d791c737939"></a><!-- doxytag: member="dirac::RateController::QualFactor" ref="21753689d46c146233cb1d791c737939" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double dirac::RateController::QualFactor </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="991d9589911686dc26b6e5debd762587"></a><!-- doxytag: member="dirac::RateController::Report" ref="991d9589911686dc26b6e5debd762587" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::Report </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="844b6099a12a1d1ca9bab03b6c082859"></a><!-- doxytag: member="dirac::RateController::TargetSubgroupRate" ref="844b6099a12a1d1ca9bab03b6c082859" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double dirac::RateController::TargetSubgroupRate </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="1630d8bbfe61527f11472b0306ae2678"></a><!-- doxytag: member="dirac::RateController::ProjectedSubgroupRate" ref="1630d8bbfe61527f11472b0306ae2678" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double dirac::RateController::ProjectedSubgroupRate </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="92f7daff01c4822077ebfb8c0989bc35"></a><!-- doxytag: member="dirac::RateController::Allocate" ref="92f7daff01c4822077ebfb8c0989bc35" args="(const int fnum)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::Allocate </td> <td>(</td> <td class="paramtype">const int </td> <td class="paramname"> <em>fnum</em> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="321067bdad2770f33a0b13999278e841"></a><!-- doxytag: member="dirac::RateController::CalcTotalBits" ref="321067bdad2770f33a0b13999278e841" args="(const SourceParams &sourceparams)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::CalcTotalBits </td> <td>(</td> <td class="paramtype">const <a class="el" href="a00125.html">SourceParams</a> & </td> <td class="paramname"> <em>sourceparams</em> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d19cc85ece74c87a592f4b4c8bec383b"></a><!-- doxytag: member="dirac::RateController::SetIntraQualFactor" ref="d19cc85ece74c87a592f4b4c8bec383b" args="(double value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::SetIntraQualFactor </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td width="100%"><code> [inline, private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="72e8a78e0b77489b91bec57b53f75fa0"></a><!-- doxytag: member="dirac::RateController::SetFrameDistribution" ref="72e8a78e0b77489b91bec57b53f75fa0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::SetFrameDistribution </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="51121888d2c18ad36a53adf5d925b988"></a><!-- doxytag: member="dirac::RateController::ReviewQualityFactor" ref="51121888d2c18ad36a53adf5d925b988" args="(const float qfac, const long int num_bits)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float dirac::RateController::ReviewQualityFactor </td> <td>(</td> <td class="paramtype">const float </td> <td class="paramname"> <em>qfac</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const long int </td> <td class="paramname"> <em>num_bits</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> </div> </div><p> <a class="anchor" name="83cbf32089d3dc2b8ac4d0aa3d84aba8"></a><!-- doxytag: member="dirac::RateController::ClipQualityFactor" ref="83cbf32089d3dc2b8ac4d0aa3d84aba8" args="(const float qfac)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float dirac::RateController::ClipQualityFactor </td> <td>(</td> <td class="paramtype">const float </td> <td class="paramname"> <em>qfac</em> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="38cf00f39765c799ccd512ca0079b66a"></a><!-- doxytag: member="dirac::RateController::UpdateBuffer" ref="38cf00f39765c799ccd512ca0079b66a" args="(const long int num_bits)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dirac::RateController::UpdateBuffer </td> <td>(</td> <td class="paramtype">const long int </td> <td class="paramname"> <em>num_bits</em> </td> <td> ) </td> <td width="100%"><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="0582dea9ba94c88f7590fe89fa352e6a"></a><!-- doxytag: member="dirac::RateController::m_qf" ref="0582dea9ba94c88f7590fe89fa352e6a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="a00121.html#0582dea9ba94c88f7590fe89fa352e6a">dirac::RateController::m_qf</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="22cda247f716385e97a4542fb1f205f0"></a><!-- doxytag: member="dirac::RateController::m_I_qf" ref="22cda247f716385e97a4542fb1f205f0" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="a00121.html#22cda247f716385e97a4542fb1f205f0">dirac::RateController::m_I_qf</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d19ddc48881dc1fd0d9945c9fb06022c"></a><!-- doxytag: member="dirac::RateController::m_I_qf_long_term" ref="d19ddc48881dc1fd0d9945c9fb06022c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="a00121.html#d19ddc48881dc1fd0d9945c9fb06022c">dirac::RateController::m_I_qf_long_term</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="09bee4a6767f938f817abe26cf77b7db"></a><!-- doxytag: member="dirac::RateController::m_target_rate" ref="09bee4a6767f938f817abe26cf77b7db" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const int <a class="el" href="a00121.html#09bee4a6767f938f817abe26cf77b7db">dirac::RateController::m_target_rate</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f3cf94ec48df82c8c629916345f5ae1a"></a><!-- doxytag: member="dirac::RateController::m_Iframe_bits" ref="f3cf94ec48df82c8c629916345f5ae1a" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long int <a class="el" href="a00121.html#f3cf94ec48df82c8c629916345f5ae1a">dirac::RateController::m_Iframe_bits</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="81525dfe62028cbb200d6bc4fa4fa43c"></a><!-- doxytag: member="dirac::RateController::m_L1frame_bits" ref="81525dfe62028cbb200d6bc4fa4fa43c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long int <a class="el" href="a00121.html#81525dfe62028cbb200d6bc4fa4fa43c">dirac::RateController::m_L1frame_bits</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="f3b3c6fe93014a7e0306fd17f9e558f1"></a><!-- doxytag: member="dirac::RateController::m_L2frame_bits" ref="f3b3c6fe93014a7e0306fd17f9e558f1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long int <a class="el" href="a00121.html#f3b3c6fe93014a7e0306fd17f9e558f1">dirac::RateController::m_L2frame_bits</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="84a83428313b9c39b0087005da222b3c"></a><!-- doxytag: member="dirac::RateController::m_num_Iframe" ref="84a83428313b9c39b0087005da222b3c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00121.html#84a83428313b9c39b0087005da222b3c">dirac::RateController::m_num_Iframe</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="75141c4f87fa3ad03224b8f951eb561d"></a><!-- doxytag: member="dirac::RateController::m_num_L1frame" ref="75141c4f87fa3ad03224b8f951eb561d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00121.html#75141c4f87fa3ad03224b8f951eb561d">dirac::RateController::m_num_L1frame</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="daabd6baffd415ed54e2fc895f805cdc"></a><!-- doxytag: member="dirac::RateController::m_num_L2frame" ref="daabd6baffd415ed54e2fc895f805cdc" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00121.html#daabd6baffd415ed54e2fc895f805cdc">dirac::RateController::m_num_L2frame</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="af3c3ee713dd60022ebecdd0c1392c61"></a><!-- doxytag: member="dirac::RateController::m_total_GOP_bits" ref="af3c3ee713dd60022ebecdd0c1392c61" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long int <a class="el" href="a00121.html#af3c3ee713dd60022ebecdd0c1392c61">dirac::RateController::m_total_GOP_bits</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="cf426e8ad81ff0ce2db933270c99f46b"></a><!-- doxytag: member="dirac::RateController::m_picture_bits" ref="cf426e8ad81ff0ce2db933270c99f46b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long int <a class="el" href="a00121.html#cf426e8ad81ff0ce2db933270c99f46b">dirac::RateController::m_picture_bits</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="a6a8d87d42c821b26a81ae0d0e782bc5"></a><!-- doxytag: member="dirac::RateController::m_buffer_size" ref="a6a8d87d42c821b26a81ae0d0e782bc5" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const long int <a class="el" href="a00121.html#a6a8d87d42c821b26a81ae0d0e782bc5">dirac::RateController::m_buffer_size</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="18c025837bae4eb18aac3300e303cce8"></a><!-- doxytag: member="dirac::RateController::m_buffer_bits" ref="18c025837bae4eb18aac3300e303cce8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long int <a class="el" href="a00121.html#18c025837bae4eb18aac3300e303cce8">dirac::RateController::m_buffer_bits</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ce29208a55e36790da0445462d37102b"></a><!-- doxytag: member="dirac::RateController::m_old_buffer_bits" ref="ce29208a55e36790da0445462d37102b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long int <a class="el" href="a00121.html#ce29208a55e36790da0445462d37102b">dirac::RateController::m_old_buffer_bits</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="76c6ab5b45024c3508e3018deb3b109d"></a><!-- doxytag: member="dirac::RateController::m_buffer_rate_of_change" ref="76c6ab5b45024c3508e3018deb3b109d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="a00121.html#76c6ab5b45024c3508e3018deb3b109d">dirac::RateController::m_buffer_rate_of_change</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="9b3d3839958fd5661be318b277a7eb78"></a><!-- doxytag: member="dirac::RateController::m_GOP_target" ref="9b3d3839958fd5661be318b277a7eb78" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">long int <a class="el" href="a00121.html#9b3d3839958fd5661be318b277a7eb78">dirac::RateController::m_GOP_target</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="eb716078f2a4573cbdd0a938c5e75b6b"></a><!-- doxytag: member="dirac::RateController::m_GOP_duration" ref="eb716078f2a4573cbdd0a938c5e75b6b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">double <a class="el" href="a00121.html#eb716078f2a4573cbdd0a938c5e75b6b">dirac::RateController::m_GOP_duration</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="d01765d1b33a247a5e14a67211a07201"></a><!-- doxytag: member="dirac::RateController::m_encparams" ref="d01765d1b33a247a5e14a67211a07201" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00066.html">EncoderParams</a>& <a class="el" href="a00121.html#d01765d1b33a247a5e14a67211a07201">dirac::RateController::m_encparams</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="af69233c24affac15394282d090375e2"></a><!-- doxytag: member="dirac::RateController::m_frame_complexity" ref="af69233c24affac15394282d090375e2" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="a00075.html">FrameComplexity</a> <a class="el" href="a00121.html#af69233c24affac15394282d090375e2">dirac::RateController::m_frame_complexity</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="fae6bbf8dc87fb5e2a8c78f29c40fe4f"></a><!-- doxytag: member="dirac::RateController::m_fcount" ref="fae6bbf8dc87fb5e2a8c78f29c40fe4f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00121.html#fae6bbf8dc87fb5e2a8c78f29c40fe4f">dirac::RateController::m_fcount</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="15e256a041a0d0dd8cb2c60543845808"></a><!-- doxytag: member="dirac::RateController::m_intra_only" ref="15e256a041a0d0dd8cb2c60543845808" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool <a class="el" href="a00121.html#15e256a041a0d0dd8cb2c60543845808">dirac::RateController::m_intra_only</a><code> [private]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="885cd0b08af4eeea3e83c23d78d7bd03"></a><!-- doxytag: member="dirac::RateController::m_L2_complexity_sum" ref="885cd0b08af4eeea3e83c23d78d7bd03" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="a00121.html#885cd0b08af4eeea3e83c23d78d7bd03">dirac::RateController::m_L2_complexity_sum</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="a00288.html">rate_control.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>