RTP Trace System  1.0
frameratescalabilityinterface.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines