RTP Trace System
1.0
|
#include <tracearray.h>
Classes | |
struct | Trace |
Public Member Functions | |
TraceArray (const TraceConfiguration &config) | |
virtual | ~TraceArray () |
void | init (const cardinal maxLayers, const cardinal maxFrames) |
void | calculateEmpiricalEnvelope (const cardinal layer, const cardinal start, const cardinal end, const cardinal traceStart, const cardinal traceEnd, EmpiricalEnvelope *ee, const bool frameCount=false) const |
void | calculateOptimalIntervals (double *costArray, cardinal *lengthArray, const cardinal minLength, const cardinal maxLength) const |
double | TraceArray::calculateTrafficCost (EmpiricalEnvelope **ee, const cardinal position, const cardinal length) const |
double | TraceArray::calculateNextTrafficCost (EmpiricalEnvelope **ee, const cardinal position, const cardinal length) const |
virtual TraceArray * | decreaseFrameRate () const |
EmpiricalEnvelope * | TraceArray::initEmpiricalEnvelope (char *buffer, const cardinal eePairs, const bool frameCount=false) const |
Public Attributes | |
cardinal | Layers |
cardinal | Frames |
cardinal | MaxLayers |
cardinal | MaxFrames |
double | FrameRate |
struct Coral::TraceArray::Trace ** | LayerTrace |
Protected Attributes | |
TraceConfiguration | Config |
Private Member Functions | |
cardinal | calculateEmpiricalEnvelopePoint (const cardinal layer, const cardinal start, const cardinal end, const cardinal traceStart, const cardinal traceEnd, const cardinal delay, const bool frameCount=false) const |
Coral::TraceArray::TraceArray | ( | const TraceConfiguration & | config | ) |
Constructor.
config | TraceConfiguration object with configuration of the trace. |
Coral::TraceArray::~TraceArray | ( | ) | [virtual] |
Destructor.
void Coral::TraceArray::calculateEmpiricalEnvelope | ( | const cardinal | layer, |
const cardinal | start, | ||
const cardinal | end, | ||
const cardinal | traceStart, | ||
const cardinal | traceEnd, | ||
EmpiricalEnvelope * | ee, | ||
const bool | frameCount = false |
||
) | const |
Calculate empirical envelope.
layer | Layer number to calculate empirical envelope for. |
start | Start position. |
end | End position. |
traceStart | Trace start position. |
traceEnd | Trace end position. |
ee | Initialized EmpiricalEnvelope to write sums into. |
frameCount | true, to calculate empirical envelope for frame count; false for byterate. |
cardinal Coral::TraceArray::calculateEmpiricalEnvelopePoint | ( | const cardinal | layer, |
const cardinal | start, | ||
const cardinal | end, | ||
const cardinal | traceStart, | ||
const cardinal | traceEnd, | ||
const cardinal | delay, | ||
const bool | frameCount = false |
||
) | const [private] |
void Coral::TraceArray::calculateOptimalIntervals | ( | double * | costArray, |
cardinal * | lengthArray, | ||
const cardinal | minLength, | ||
const cardinal | maxLength | ||
) | const |
Calculate optimal intervals refering to given configuration.
costArray | Array to store costs into. |
lengthArray | Array to store lengths into. |
minLength | Minimum length. |
maxLength | Maximum length. |
TraceArray * Coral::TraceArray::decreaseFrameRate | ( | ) | const [virtual] |
Decrease frame rate to next lower setting.
void Coral::TraceArray::init | ( | const cardinal | maxLayers, |
const cardinal | maxFrames | ||
) |
Initialize trace array.
maxLayers | Maximum number of layers. |
maxFrames | Maximum number of frames. |
double Coral::TraceArray::TraceArray::calculateNextTrafficCost | ( | EmpiricalEnvelope ** | ee, |
const cardinal | position, | ||
const cardinal | length | ||
) | const [inline] |
Update traffic cost calculation done by calculateTrafficCost() by an additional frame. In this case, the already calculated empirical envelope can be reused resulting in a huge speed improvement.
ee | EmpiricalEnvelope array. |
position | Position. |
length | Length. |
double Coral::TraceArray::TraceArray::calculateTrafficCost | ( | EmpiricalEnvelope ** | ee, |
const cardinal | position, | ||
const cardinal | length | ||
) | const |
Calculate traffic cost for an interval.
ee | EmpiricalEnvelope array. |
position | Position. |
length | Length. |
EmpiricalEnvelope* Coral::TraceArray::TraceArray::initEmpiricalEnvelope | ( | char * | buffer, |
const cardinal | eePairs, | ||
const bool | frameCount = false |
||
) | const |
Initialize EmpiricalEnvelope.
buffer | Buffer for empirical envelope. |
eePairs | Number of D-BIND pairs. |
frameCount | true, if empirical envelope is for frame count; false for byterate. |
TraceConfiguration Coral::TraceArray::Config [protected] |
double Coral::TraceArray::FrameRate |