class AbstractQoSDescription

Abstract QoS Description. More...

Contains pure virtuals
Full nameCoral::AbstractQoSDescription
Definition#include <abstractqosdescription.h>
InheritsCoral::FrameRateScalabilityInterface [virtual public]
Inherited byMP3QoSDescription, MP3WriterQoSDescription, MPEGQoSDescription, MPEGWriterQoSDescription, TraceQoSDescription
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Members


Detailed Description

This class contains a stream's QoS requirements.

 AbstractQoSDescription ()

Constructor.

AbstractQoSDescription ()

[virtual]

Destructor.

inline void  initDescription (const double frameRate)

Initialize description.

Parameters:
frameRateFrame rate.

void  updateDescription (const cardinal pktHeaderSize, const cardinal pktMaxSize)

[pure virtual]

Update description.

Parameters:
pktHeaderSizePacket header size.
pktMaxSizeMaximum packet size.

inline double  getFrameRate ()

[const]

Get frame rate.

Returns: Frame rate.

inline double  setFrameRate (const double frameRate)

Set frame rate.

Parameters:
frameRateFrame rate.

Returns: Frame rate set.

inline double  getNextFrameRate ()

[const]

Get next higher frame rate.

Returns: Frame rate.

inline double  getPrevFrameRate ()

[const]

Get next lower frame rate.

Returns: Frame rate.

inline double  getFrameRateScaleFactor ()

[const]

Get frame rate scale factor: (frameRate - MinFrameRate) / (MaxFrameRate - MinFrameRate).

Returns: Frame rate scale factor (out of [0,1]).

cardinal  getMinBandwidth ()

[const]

Get minimum required total bandwidth.

Returns: Minimum total bandwidth.

cardinal  getMaxBandwidth ()

[const]

Get maximum required total bandwidth.

Returns: Maximum total bandwidth.

inline card64  getPosition ()

[const]

Get position.

Returns: Position.

inline void  setPosition (const card64 position)

Set position.

Parameters:
positionPosition.

cardinal  getLayers ()

[const pure virtual]

Get number of layers.

Returns: Number of layers.

AbstractLayerDescription*  getLayer (const cardinal layer)

[const pure virtual]

Get layer.

Parameters:
layerLayer number.

Returns: Layer.

double  getResources (ResourceUtilizationPoint& rup)

[const]

Get resources.

Parameters:
rupResourceUtilizationPoint reference to store resources.

Returns: Utilization.

double  setResources (const ResourceUtilizationPoint& rup)

Set resources.

Parameters:
rupResourceUtilizationPoint reference containing resources.

Returns: Utilization.

double  setResourcesOptimized (ResourceUtilizationPoint& rup)

Set resources with buffer delay optimization.

Parameters:
rupResourceUtilizationPoint reference containing resources.

Returns: Utilization.

double  calculateUtilizationForLayerBandwidths ( const double frameRate, const cardinal layers, const cardinal* bandwidth)

[const virtual]

Calculate utilization for given frame rate and layers bandwidths.

Parameters:
frameRateFrame rate.
layersNumber of layers.
bandwidthBandwidth array with entry for each layer.

Returns: Utilization.

cardinal  getPrecomputedResourceUtilizationList ( ResourceUtilizationPoint* rup, const cardinal bwThreshold, const double utThreshold, const cardinal maxPoints)

[const pure virtual]

Get precomputed resource utilization list. This method tries to use a precomputed list instead of calculating all points like calculateResourceUtilizationList().

Parameters:
rupResourceUtilizationPoint array capable of storing maxPoints entries.
bwThresholdBandwidth threshold.
utThresholdUtilization threshold.
maxPointsMaximum number of ResourceUtilizationPoint to generate.

cardinal  calculateResourceUtilizationList ( ResourceUtilizationPoint* rup, const cardinal bwThreshold, const double utThreshold, const cardinal maxPoints)

[const virtual]

Calculate resource utilization list. To use a precomputed list, call getPrecomputedResourceUtilizationList().

Parameters:
rupResourceUtilizationPoint array capable of storing maxPoints entries.
bwThresholdBandwidth threshold.
utThresholdUtilization threshold.
maxPointsMaximum number of ResourceUtilizationPoint to generate.

inline double  calculateMaxUtilizationForBandwidth ( const cardinal totalBandwidth, ResourceUtilizationPoint& rup)

[const]

Calculate maximum utilization for given bandwidth. This is the single-point version of calculateMaxUtilizationForBandwidthArray().

Parameters:
totalBandwidthTotal bandwidth.
rupResourceUtilizationPoint reference to store result.

Returns: Utilization.

void  calculateMaxUtilizationForBandwidthArray ( const cardinal* totalBandwidthArray, ResourceUtilizationPoint* rupArray, const cardinal points)

[const virtual]

Calculate maximum utilizations for given bandwidth array.

Parameters:
totalBandwidthArrayTotal bandwidth array.
rupArrayResourceUtilizationPoint array to store results.
pointsNumber of points in arrays.

inline double  getWantedUtilization ()

[const]

Get wanted utilization.

Returns: Wanted utilization.

inline void  setWantedUtilization (const double utilization)

Set wanted utilization.

Parameters:
utilizationWanted utilization.

cardinal  getMinWantedBandwidth ()

[const]

Get minimum wanted bandwidth.

Returns: Minimum wanted bandwidth.

cardinal  getMaxWantedBandwidth ()

[const]

Get maximum wanted bandwidth.

Returns: Maximum wanted bandwidth.

void  setMinWantedBandwidth (const cardinal bandwidth)

Set minimum wanted bandwidth.

Parameters:
wantedbandwidth Minimum wanted bandwidth.

void  setMaxWantedBandwidth (const cardinal bandwidth)

Set maximum wanted bandwidth.

Parameters:
wantedbandwidth Maximum wanted bandwidth.

inline int8  getStreamPriority ()

[const]

Get stream priority.

Returns: Stream priority.

inline void  setStreamPriority (const int8 priority)

Set stream priority.

Parameters:
priorityStream priority.

Returns: User priority rate set.

double WantedUtilization

[protected]

cardinal MinWantedBandwidth

[protected]

cardinal MaxWantedBandwidth

[protected]

double FrameRate

[protected]

card64 Position

[protected]

cardinal PktHeaderSize

[protected]

cardinal PktMaxSize

[protected]

int8 StreamPriority

[protected]