class FrameSizeScalabilityInterface

Frame Rate Scalability Interface. More...

Contains pure virtuals
Full nameCoral::FrameSizeScalabilityInterface
Definition#include <framesizescalabilityinterface.h>
Inherited byAbstractLayerDescription, ConstantBitrateFrameSizeScalability, GenericFrameSizeScalability, TraceFrameSizeScalability, TraceLayerDescription, TraceLayerDescription
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods


Detailed Description

This class is an interface for frame size scalability. Important node: All frames sizes in this class are payload frame sizes!

const char*  getFrameSizeScalabilityClass ()

[const pure virtual]

Get name of the frame size scalability class.

Returns: Frame size scalability class name.

bool  isFrameSizeScalable ()

[const pure virtual]

Check, if frame size is scalable.

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

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

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

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

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

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

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

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

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

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

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

double  getFrameSizeUtilizationWeight (const double frameRate)

[const pure virtual]

Get frame size utilization weight.

Parameters:
frameRateFrame rate.

Returns: Utilization weight.

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

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

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