Camstream: CamStream API documentation

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