Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

MPGStream.hpp

Go to the documentation of this file.
00001 #ifndef __MPGStream_hpp__
00002 #define __MPGStream_hpp__
00003 
00004 #include "global.hpp"
00005 #include "Stream.hpp"
00006 #include "Frame.hpp"
00007 #include "GOP.hpp"
00008 #include "MPGGOP.hpp"
00009 #include "MPGFrame.hpp"
00010 //#include "YUVStream.hpp"
00011 
00012 class Frame;
00013 class GOP;
00014 class MPGGOP;
00015 class MPGFrame;
00016 class YUVStream;
00017 
00018 
00019 #define VOP_START_CODE 0x1B6
00020 #define VOP_START_CODE_LENGTH 32
00021 
00022 class MPGStream:public Stream {
00023 
00024   public:
00034     MPGStream(const QString & fname, bool preRead = true, uint numFrames = 0);
00035 
00036 
00040     virtual ~MPGStream();
00041 
00042 
00053         GOP* addNextGOP(uint numFrames);
00054 
00055 
00060     long getFileSize();
00061 
00066     long getAvgFrameSize();
00067 
00074     long getAvgGOPSize();
00075 
00076 
00081     uint getHeaderSize();
00082 
00083 
00088     bool fillHeaderBuffer();
00089 
00090 
00095     char *getHeaderBuffer();
00096 
00097   private:
00102     void parseHeader();
00103 
00109     MPGFrame *getNextFrame();
00110 
00111     MPGFrame *lastReadFrame, *lastRefFrame;
00112 
00113     QByteArray headerBuffer;
00114 
00118     uint headerSize;
00119 
00120 };
00121 
00122 #endif                          /* __MPGStream_hpp__ */

Generated on Wed Mar 19 11:57:43 2003 for qctva4lv by doxygen1.2.17