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__