RTP Trace System
1.0
|
Frame Rate Scalability Interface. More...
#include <framesizescalabilityinterface.h>
Public Member Functions | |
virtual const char * | getFrameSizeScalabilityClass () const =0 |
virtual bool | isFrameSizeScalable () const =0 |
virtual bool | isVariableBitrate () const =0 |
virtual cardinal | getMinPayloadFrameSizeForDelay (const double frameRate, const cardinal bufferDelay) const =0 |
virtual cardinal | getMaxPayloadFrameSizeForDelay (const double frameRate, const cardinal bufferDelay) const =0 |
virtual cardinal | getMaxFrameCountForDelay (const double frameRate, const cardinal bufferDelay) const =0 |
virtual bool | isValidPayloadFrameSize (const double frameRate, const cardinal bufferDelay, const cardinal frameSize) const =0 |
virtual cardinal | getNearestValidPayloadFrameSize (const double frameRate, const cardinal bufferDelay, const cardinal frameSize) const =0 |
virtual cardinal | getNextPayloadFrameSizeForDelayAndSize (const double frameRate, const cardinal bufferDelay, const cardinal frameSize) const =0 |
virtual cardinal | getPrevPayloadFrameSizeForDelayAndSize (const double frameRate, const cardinal bufferDelay, const cardinal frameSize) const =0 |
virtual double | getPayloadFrameSizeScaleFactorForDelayAndSize (const double frameRate, const cardinal bufferDelay, const cardinal frameSize) const =0 |
virtual double | getPayloadFrameSizeUtilizationForDelayAndSize (const double frameRate, const cardinal bufferDelay, const cardinal frameSize) const =0 |
virtual double | getFrameSizeUtilizationWeight (const double frameRate) const =0 |
virtual cardinal | getMaxBufferDelay (const double frameRate) const =0 |
virtual cardinal | getNextBufferDelayForDelay (const double frameRate, const cardinal bufferDelay) const =0 |
virtual cardinal | getPrevBufferDelayForDelay (const double frameRate, const cardinal bufferDelay) const =0 |
Frame Rate Scalability Interface.
This class is an interface for frame size scalability. Important node: All frames sizes in this class are payload frame sizes!
virtual const char* Coral::FrameSizeScalabilityInterface::getFrameSizeScalabilityClass | ( | ) | const [pure virtual] |
Get name of the frame size scalability class.
Implemented in Coral::TraceFrameSizeScalability, Coral::ConstantBitrateFrameSizeScalability, and Coral::TraceLayerDescription.
virtual double Coral::FrameSizeScalabilityInterface::getFrameSizeUtilizationWeight | ( | const double | frameRate | ) | const [pure virtual] |
Get frame size utilization weight.
frameRate | Frame rate. |
Implemented in Coral::TraceFrameSizeScalability, and Coral::GenericFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getMaxBufferDelay | ( | const double | frameRate | ) | const [pure virtual] |
Get maximum buffer delay. The *minimum* buffer delay is always 1.
frameRate | Frame rate. |
Implemented in Coral::TraceFrameSizeScalability, and Coral::ConstantBitrateFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getMaxFrameCountForDelay | ( | const double | frameRate, |
const cardinal | bufferDelay | ||
) | const [pure virtual] |
Get maximum number of frames for given buffer delay (in frame rate units).
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
Implemented in Coral::TraceFrameSizeScalability, and Coral::ConstantBitrateFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getMaxPayloadFrameSizeForDelay | ( | const double | frameRate, |
const cardinal | bufferDelay | ||
) | const [pure virtual] |
Get maximum payload frame size for given buffer delay (in frame rate units).
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
Implemented in Coral::TraceFrameSizeScalability, and Coral::ConstantBitrateFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getMinPayloadFrameSizeForDelay | ( | const double | frameRate, |
const cardinal | bufferDelay | ||
) | const [pure virtual] |
Get minimum payload frame size for given buffer delay (in frame rate units).
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
Implemented in Coral::TraceFrameSizeScalability, and Coral::ConstantBitrateFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getNearestValidPayloadFrameSize | ( | const double | frameRate, |
const cardinal | bufferDelay, | ||
const cardinal | frameSize | ||
) | const [pure virtual] |
Get nearest lower valid payload frame rate for given frame rate for given buffer delay (in frame rate units).
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
frameSize | Payload frame size. |
Implemented in Coral::GenericFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getNextBufferDelayForDelay | ( | const double | frameRate, |
const cardinal | bufferDelay | ||
) | const [pure virtual] |
Get next higher valid buffer delay for given buffer delay.
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
Implemented in Coral::GenericFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getNextPayloadFrameSizeForDelayAndSize | ( | const double | frameRate, |
const cardinal | bufferDelay, | ||
const cardinal | frameSize | ||
) | const [pure virtual] |
Get next higher valid payload frame size for given buffer delay (in frame rate units) and payload frame size.
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
frameSize | Payload frame size. |
Implemented in Coral::GenericFrameSizeScalability.
virtual double Coral::FrameSizeScalabilityInterface::getPayloadFrameSizeScaleFactorForDelayAndSize | ( | const double | frameRate, |
const cardinal | bufferDelay, | ||
const cardinal | frameSize | ||
) | const [pure virtual] |
Get scale factor for given buffer delay (in frame rate units) and payload frame size: (rate - MinFrameSize) / (MaxFrameRate - MinFrameSize)
frameRate | Frame rate. |
frameSize | Frame size. |
Implemented in Coral::GenericFrameSizeScalability.
virtual double Coral::FrameSizeScalabilityInterface::getPayloadFrameSizeUtilizationForDelayAndSize | ( | const double | frameRate, |
const cardinal | bufferDelay, | ||
const cardinal | frameSize | ||
) | const [pure virtual] |
Get utilization for given buffer delay (in frame rate units) and payload frame size.
frameRate | Frame rate. |
frameSize | Payload frame size. |
Implemented in Coral::TraceFrameSizeScalability, and Coral::GenericFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getPrevBufferDelayForDelay | ( | const double | frameRate, |
const cardinal | bufferDelay | ||
) | const [pure virtual] |
Get next lower valid buffer delay for given buffer delay.
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
Implemented in Coral::GenericFrameSizeScalability.
virtual cardinal Coral::FrameSizeScalabilityInterface::getPrevPayloadFrameSizeForDelayAndSize | ( | const double | frameRate, |
const cardinal | bufferDelay, | ||
const cardinal | frameSize | ||
) | const [pure virtual] |
Get next lower valid payload frame size for given buffer delay (in frame rate units) and frame size.
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
frameSize | Payload frame size. |
Implemented in Coral::GenericFrameSizeScalability.
virtual bool Coral::FrameSizeScalabilityInterface::isFrameSizeScalable | ( | ) | const [pure virtual] |
Check, if frame size is scalable.
Implemented in Coral::TraceFrameSizeScalability, and Coral::ConstantBitrateFrameSizeScalability.
virtual bool Coral::FrameSizeScalabilityInterface::isValidPayloadFrameSize | ( | const double | frameRate, |
const cardinal | bufferDelay, | ||
const cardinal | frameSize | ||
) | const [pure virtual] |
Check, if given payload frame size is a valid value for given buffer delay (in frame rate units).
frameRate | Frame rate. |
bufferDelay | Buffer delay in frame rate units. |
frameSize | Payload frame size to be checked. |
Implemented in Coral::GenericFrameSizeScalability.
virtual bool Coral::FrameSizeScalabilityInterface::isVariableBitrate | ( | ) | const [pure virtual] |
Check, if frame size is variable bitrate (frame sizes are different for each frame; the frame size given is the frame size necessary to be reserved for a given buffer delay).
Implemented in Coral::TraceFrameSizeScalability, and Coral::ConstantBitrateFrameSizeScalability.