RTP Trace System  1.0
Coral::FrameSizeScalabilityInterface Class Reference

Frame Rate Scalability Interface. More...

#include <framesizescalabilityinterface.h>

Inheritance diagram for Coral::FrameSizeScalabilityInterface:
Coral::AbstractLayerDescription Coral::GenericFrameSizeScalability Coral::TraceLayerDescription Coral::ConstantBitrateFrameSizeScalability Coral::TraceFrameSizeScalability Coral::TraceLayerDescription

List of all members.

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

Detailed Description

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!

Author:
Thomas Dreibholz
Version:
1.0

Member Function Documentation

virtual const char* Coral::FrameSizeScalabilityInterface::getFrameSizeScalabilityClass ( ) const [pure virtual]

Get name of the frame size scalability class.

Returns:
Frame size scalability class name.

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.

Parameters:
frameRateFrame rate.
Returns:
Utilization weight.

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.

Parameters:
frameRateFrame rate.
Returns:
Maximum buffer delay.

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).

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
Returns:
Maximum number of frames.

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).

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
Returns:
Maximum payload frame size.

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).

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
Returns:
Minimum payload frame size.

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).

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
frameSizePayload frame size.
Returns:
Valid payload frame size nearest to given size for given buffer delay.

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.

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
Returns:
Next higher valid buffer delay.

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.

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
frameSizePayload frame size.
Returns:
Next higher valid payload frame size for given buffer delay.

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)

Parameters:
frameRateFrame rate.
frameSizeFrame size.
Returns:
Scale factor (out of [0,1])..

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.

Parameters:
frameRateFrame rate.
frameSizePayload frame size.
Returns:
Utilization (out of [0,1])..

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.

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
Returns:
Next lower valid buffer delay.

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.

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
frameSizePayload frame size.
Returns:
Next lower valid payload frame size for given buffer delay.

Implemented in Coral::GenericFrameSizeScalability.

virtual bool Coral::FrameSizeScalabilityInterface::isFrameSizeScalable ( ) const [pure virtual]

Check, if frame size is scalable.

Returns:
true, if frame size is scalable; false otherwise.

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).

Parameters:
frameRateFrame rate.
bufferDelayBuffer delay in frame rate units.
frameSizePayload frame size to be checked.
Returns:
true, if given size is valid; false otherwise.

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).

Returns:
true, if frame size is variable bitrate; false otherwise.

Implemented in Coral::TraceFrameSizeScalability, and Coral::ConstantBitrateFrameSizeScalability.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines