RTP Trace System
1.0
|
00001 // ########################################################################## 00002 // #### #### 00003 // #### Master Thesis Implementation #### 00004 // #### Management of Layered Variable Bitrate Multimedia Streams over #### 00005 // #### DiffServ with A Priori Knowledge #### 00006 // #### #### 00007 // #### ================================================================ #### 00008 // #### #### 00009 // #### #### 00010 // #### Frame Rate Scalability Interface #### 00011 // #### #### 00012 // #### Version 1.00 -- February 19, 2001 #### 00013 // #### #### 00014 // #### Copyright (C) 2000/2001 Thomas Dreibholz #### 00015 // #### University of Bonn, Department of Computer Science IV #### 00016 // #### EMail: dreibh@iem.uni-due.de #### 00017 // #### WWW: https://www.uni-due.de/~be0001/diplom/index.html #### 00018 // #### #### 00019 // ########################################################################## 00020 00021 00022 #ifndef FRAMERATESCALABILITYINTERFACE_H 00023 #define FRAMERATESCALABILITYINTERFACE_H 00024 00025 00026 #include "system.h" 00027 00028 00029 namespace Coral { 00030 00031 00039 class FrameRateScalabilityInterface 00040 { 00041 // ====== Scalability information methods ================================ 00042 public: 00048 virtual const char* getFrameRateScalabilityClass() const = 0; 00049 00055 virtual bool isFrameRateScalable() const = 0; 00056 00057 00058 // ====== Frame rate methods ============================================= 00064 virtual double getMinFrameRate() const = 0; 00065 00071 virtual double getMaxFrameRate() const = 0; 00072 00079 virtual bool isValidFrameRate(const double frameRate) const = 0; 00080 00087 virtual double getNearestValidFrameRate(const double frameRate) const = 0; 00088 00095 virtual double getNextFrameRateForRate(const double frameRate) const = 0; 00096 00103 virtual double getPrevFrameRateForRate(const double frameRate) const = 0; 00104 00105 00106 // ====== Scaling and utilization methods ================================ 00114 virtual double getFrameRateScaleFactorForRate(const double frameRate) const = 0; 00115 00122 virtual double getFrameRateUtilizationForRate(const double frameRate) const = 0; 00123 00130 virtual double getFrameRateUtilizationWeight(const double frameRate) const = 0; 00131 }; 00132 00133 00134 } 00135 00136 00137 #endif