Source: mpegtracearray.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                    Master Thesis Implementation                  ####
// ####  Management of Layered Variable Bitrate Multimedia Streams over  ####
// ####                  DiffServ with A Priori Knowledge                ####
// ####                                                                  ####
// #### ================================================================ ####
// ####                                                                  ####
// ####                                                                  ####
// #### MPEG Trace Array                                                 ####
// ####                                                                  ####
// #### 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 MPEGTRACEARRAY_H
#define MPEGTRACEARRAY_H


#include "system.h"
#include "tracearray.h"


namespace Coral {


/**
  * This is an array of MPEG layer traces.
  *
  * @short   MPEG Trace Array
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  */
class MPEGTraceArray : public TraceArray
{
   // ====== Constructor ====================================================
   public:
   /**
     * Constructor.
     */
   MPEGTraceArray(const TraceConfiguration& config);


   // ====== MPEG methods ===================================================
   /**
     * Load MPEG trace.
     *
     * @param name File name.
     * @param framePattern Frame pattern of the trace file.
     * @param frameRate Frame rate of the trace file.
     * @param extLayers Number of extension layers (0, 1 or 2).
     * @param fakeE1 Fake 1st extension layer: FrameSizeE1 = fakeE1 * FrameSizeBase.
     * @param fakeE2 Fake 2nd extension layer: FrameSizeE2 = fakeE2 * FrameSizeBase.
     * @return true, if load has been successful; false otherwise.
     */
   bool load(const char*    name,
             const char*    framePattern,
             const cardinal frameRate,
             const cardinal extLayers,
             const double   fakeE1,
             const double   fakeE2);

   /**
     * Reimplementation of TraceArray's decreaseFrameRate() method.
     *
     * @see TraceArray#decreaseFrameRate
     */
   TraceArray* MPEGTraceArray::decreaseFrameRate() const;


   // ====== MPEG layer numbers =============================================
   /**
     * MPEG-I/II I-frames layer.
     */
   static const cardinal LayerMPEGBaseI = 0;

   /**
     * MPEG-I/II P-frames layer.
     */
   static const cardinal LayerMPEGBaseP = 1;

   /**
     * MPEG-I/II B-frames layer.
     */
   static const cardinal LayerMPEGBaseB = 2;

   /**
     * MPEG-II I-frames 1st extension layer.
     */
   static const cardinal LayerMPEGExtI1 = 3;

   /**
     * MPEG-II P-frames 1st extension layer.
     */
   static const cardinal LayerMPEGExtP1 = 4;

   /**
     * MPEG-II B-frames 1st extension layer.
     */
   static const cardinal LayerMPEGExtB1 = 5;

   /**
     * MPEG-II I-frames 2nd extension layer.
     */
   static const cardinal LayerMPEGExtI2 = 6;

   /**
     * MPEG-II P-frames 2nd extension layer.
     */
   static const cardinal LayerMPEGExtP2 = 7;

   /**
     * MPEG-II B-frames 2nd extension layer.
     */
   static const cardinal LayerMPEGExtB2 = 8;
};


}


#endif

Generated by: viper@odin on Mon Oct 16 11:49:26 2000, using kdoc 2.0a36.