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

Simple.h

Go to the documentation of this file.
00001 #ifndef SIMPLECODE_HPP
00002 #define SIMPLECODE_HPP
00003 
00004 #include <qobject.h>
00005 
00006 #include "AdaptiveHuffman.h"
00007 #include "BasicPanel.h"
00008 #include "CamPanel.h"
00009 #include "CamTile.h"
00010 #include "CodecFrame.h"
00011 #include "DiffPanel.h"
00012 #include "DCTPanel.h"
00013 #include "VideoDevice.h"
00014 
00015 
00016 class CCamWidget;
00017 
00018 class CSimpleCodec: public CCodecFrame
00019 {
00020    Q_OBJECT
00021 private:
00022    CVideoDevice *pVideo;
00023 
00024    int zigzag[64][2];
00025    int image_w, image_h;
00026    int half_w, half_h;
00027    int tiles_y, tiles_uv;
00028    CCamTile *pTilesY, *pTilesUV;
00029    CCamTile **pSorted, *pUsed;
00030    CCamTile **pSendAbs, **pSendDiff;
00031    int *UsedForDiff, *UsedForAbs;
00032    int GraphPos;
00033 
00034    CCamPanel *pRGB, *pYUV;
00035    CDCTPanel *pFDCTImage, *pIDCTImage;
00036    CDCTPanel *pFDCTDiff, *pIDCTDiff;
00037    CBasicPanel *pRecImage, *pRecDiff;
00038    CDiffPanel *pRec_YUV;
00039    CBasicPanel *pReconstruction;
00040    CBasicPanel *pSelection;
00041    int Count, Refresh;
00042    
00043 //   CAdaptiveHuffman Compressor(256), Decompressor(256);
00044 
00045    /* Various compression parameters */
00046    int ParamSmear;
00047    int ParamThreshold;
00048    int ParamMaxPFrames;
00049    bool ParamClearDiff;
00050    int ParamBytesPerPacket;
00051 
00052    void CreateTiles();
00053    void Send(CCamPanel *p, bool update);
00054    void MoveTileToEnd(CCamTile *tile);
00055 
00056 private slots:
00057    void Resize(const QSize &ns);
00058 
00059 public:
00060    CSimpleCodec(CVideoDevice *video);
00061    ~CSimpleCodec();
00062 
00063 public slots:
00064    void UpdatePanel();
00065 };
00066 
00067 
00068 #endif

Generated at Wed Jun 20 02:51:23 2001 for Camstream by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001