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 // #### Trace Frame Rate Scalability #### 00011 // #### #### 00012 // #### Version 1.00 -- February 19, 2001 #### 00013 // #### #### 00014 // #### Copyright (C) 2000/2001 Thomas Dreibholz #### 00015 // #### Copyright (C) 2000 Thomas Dreibholz #### 00016 // #### University of Bonn, Department of Computer Science IV #### 00017 // #### EMail: dreibh@iem.uni-due.de #### 00018 // #### WWW: https://www.uni-due.de/~be0001/diplom/index.html #### 00019 // #### #### 00020 // ########################################################################## 00021 00022 00023 #ifndef TRACEFRAMERATESCALABILITY_H 00024 #define TRACEFRAMERATESCALABILITY_H 00025 00026 00027 #include "system.h" 00028 #include "frameratescalabilityinterface.h" 00029 #include "tdtfreader.h" 00030 00031 00032 namespace Coral { 00033 00034 00042 class TraceFrameRateScalability : virtual public FrameRateScalabilityInterface 00043 { 00044 // ====== Constructor/Destructor ========================================= 00045 public: 00049 TraceFrameRateScalability(); 00050 00054 virtual ~TraceFrameRateScalability(); 00055 00056 00057 // ====== Initialization ================================================= 00064 void initFrameRateScalability(TDTFReader* traceReader, 00065 const card64 position); 00066 00067 00068 // ====== Scalability information methods ================================ 00074 const char* getFrameRateScalabilityClass() const; 00075 00081 bool isFrameRateScalable() const; 00082 00083 00084 // ====== Frame rate methods ============================================= 00090 double getMinFrameRate() const; 00091 00097 double getMaxFrameRate() const; 00098 00104 bool isValidFrameRate(const double frameRate) const; 00105 00111 double getNearestValidFrameRate(const double frameRate) const; 00112 00118 double getNextFrameRateForRate(const double frameRate) const; 00119 00125 double getPrevFrameRateForRate(const double frameRate) const; 00126 00127 00128 // ====== Scaling and utilization methods ================================ 00134 double getFrameRateScaleFactorForRate(const double frameRate) const; 00135 00141 double getFrameRateUtilizationForRate(const double frameRate) const; 00142 00148 double getFrameRateUtilizationWeight(const double frameRate) const; 00149 00150 00151 // ====== Protected data ================================================= 00152 protected: 00153 TDTFReader* TraceReader; 00154 card64 Position; 00155 }; 00156 00157 00158 } 00159 00160 00161 #endif