Source: traceframeratescalability.h
|
|
|
|
// ##########################################################################
// #### ####
// #### Master Thesis Implementation ####
// #### Management of Layered Variable Bitrate Multimedia Streams over ####
// #### DiffServ with A Priori Knowledge ####
// #### ####
// #### ================================================================ ####
// #### ####
// #### ####
// #### Trace Frame Rate Scalability ####
// #### ####
// #### Version 1.00 -- October 10, 2000 ####
// #### ####
// #### ####
// #### Copyright (C) 2000 Thomas Dreibholz ####
// #### University of Bonn, Department of Computer Science IV ####
// #### EMail: Dreibholz@bigfoot.com ####
// #### WWW: http://www.bigfoot.com/~dreibholz/diplom/index.html ####
// #### ####
// ##########################################################################
#ifndef TRACEFRAMERATESCALABILITY_H
#define TRACEFRAMERATESCALABILITY_H
#include "system.h"
#include "frameratescalabilityinterface.h"
#include "tdtfreader.h"
namespace Coral {
/**
* This class is an implementation of FrameRateScalabilityInterface.
*
* @short Trace Frame Rate Scalability
* @author Thomas Dreibholz (Dreibholz@bigfoot.com)
* @version 1.0
*/
class TraceFrameRateScalability : virtual public FrameRateScalabilityInterface
{
// ====== Constructor/Destructor =========================================
public:
/**
* Constructor.
*/
TraceFrameRateScalability();
/**
* Destructor.
*/
virtual ~TraceFrameRateScalability();
// ====== Initialization =================================================
/**
* Initialize.
*
* @param traceReader TDTFReader.
* @param position Position.
*/
void initFrameRateScalability(TDTFReader* traceReader,
const card64 position);
// ====== Scalability information methods ================================
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getFrameRateScalabilityClass
*/
const char* getFrameRateScalabilityClass() const;
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#isFrameRateScalable
*/
bool isFrameRateScalable() const;
// ====== Frame rate methods =============================================
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getMinFrameRate
*/
double getMinFrameRate() const;
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getMaxFrameRate
*/
double getMaxFrameRate() const;
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#isValidFrameRate
*/
bool isValidFrameRate(const double frameRate) const;
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getNearestValidFrameRate
*/
double getNearestValidFrameRate(const double frameRate) const;
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getNextFrameRateForRate
*/
double getNextFrameRateForRate(const double frameRate) const;
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getPrevFrameRateForRate
*/
double getPrevFrameRateForRate(const double frameRate) const;
// ====== Scaling and utilization methods ================================
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getFrameRateScaleFactorForRate
*/
double getFrameRateScaleFactorForRate(const double frameRate) const;
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getFrameRateUtilizationForRate
*/
double getFrameRateUtilizationForRate(const double frameRate) const;
/**
* Implementation of FrameRateScalabilityInterface.
*
* @see FrameRateScalabilityInterface#getFrameRateUtilizationWeight
*/
double getFrameRateUtilizationWeight(const double frameRate) const;
// ====== Protected data =================================================
protected:
TDTFReader* TraceReader;
card64 Position;
};
}
#endif
Generated by: viper@odin on Mon Oct 16 11:49:26 2000, using kdoc 2.0a36. |