00001
00006 #ifndef __PatGen_hpp__
00007 #define __PatGen_hpp__
00008
00009 #include "global.hpp"
00010 #include "Stream.hpp"
00011 #include "Frame.hpp"
00012 #include "GOP.hpp"
00013 #include "YUVStream.hpp"
00014 #include "YUVGOP.hpp"
00015 #include "YUVFrame.hpp"
00016 #include "MPGFrame.hpp"
00017
00018 class Frame;
00019 class GOP;
00020 class YUVStream;
00021 class YUVGOP;
00022 class YUVFrame;
00023 class MPGStream;
00024 class MPGGOP;
00025 class MPGFrame;
00026
00027 class PatGen {
00028
00029 public:
00030
00038 PatGen(const QString &yuvfname, const QString &mpgfname,
00039 int x, int y, uint fpp=30);
00040
00049 PatGen(const QString &yuvfname, const QString &orgfname,
00050 const QString &mpgfname, int x, int y, uint fpp=30);
00051
00055 PatGen(const QString& name);
00056
00057 ~PatGen();
00058
00059
00064 void init(const QString &yuvfname, const QString& yuvOrigfname,
00065 const QString &mpgfname, int x, int y, uint fpp=30);
00066
00067
00071 inline int getWidth();
00072
00076 inline int getHeight();
00077
00078
00082 YUVStream* getYUVStream();
00083
00087 YUVStream* getOrgStream();
00088
00092 MPGStream* getMPGStream();
00093
00094
00095 private:
00096 YUVStream *yuv;
00097 YUVStream *org;
00098 MPGStream *mpg;
00099 int width;
00100 int height;
00101 uint framesPerGOP;
00102
00103 };
00104
00105 #endif //__PatGen_hpp__