Source: traceframeratescalability.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                    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.