Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

mxcpcFramewiseMxPEGScanToJPEGConverterIPP.h

00001 //           ///          //
00002 //          /////        ////
00003 //         /// XXX     XXX ///
00004 //        ///    XXX XXX    ///     $RCSfile: mxcpcFramewiseMxPEGScanToJPEGConverterIPP.h,v $  
00005 //       ///       XXX       ///     $Revision: 1.1 $
00006 //      ///      XXX XXX      ///     $Date: 2005/12/20 16:41:56 $
00007 //     ////    XXX     XXX    ////     $Author: cvs-kai $
00008 //    ////                     ////
00009 //   ////  M  O  B  O  T  I  X  ////////////////////////////////////////////////
00010 //  //// Security Vision Systems ///////////////////////////////////////////////
00011 
00012 
00013 
00014 #ifndef __MXCPC_FRAMEWISEMXPEGSCANTOJPEGCONVERTERIPP_H__
00015 #define __MXCPC_FRAMEWISEMXPEGSCANTOJPEGCONVERTERIPP_H__
00016 
00017 
00018 
00019 #define MXCPC_FRAMEWISEMXPEGSCANTOJPEGCONVERTERIPP_BITSTREAM_BUFFSIZE 512
00020 
00021 
00022 
00023 #include <mxcpcFramewiseMxPEGScanToJPEGConverter.h>
00024 #include <mxcpc_mxpeg_namespace.h>
00025 
00026 #include <ippj.h>
00027 
00028 
00029 
00030 class mxcpcJPEGReceiver;
00031 
00032 
00033 
00034 //! Experimental framewise scan decoder implementation converting an 
00035 //! <tt>MxPEG</tt> stream to a sequence of JPEG images. 
00036 /*!
00037  *  \ingroup mxcpc
00038  *
00039  *  Does not use the decoder backend.
00040  */
00041 class mxcpcFramewiseMxPEGScanToJPEGConverterIPP 
00042        : public mxcpcFramewiseMxPEGScanToJPEGConverter {
00043 
00044  private:
00045   static const unsigned char ZigZag_StoreMap[64];
00046 
00047  private:
00048   IppiDecodeHuffmanSpec *HuffmanTree_Y_DC,
00049                         *HuffmanTree_Y_AC,
00050                         *HuffmanTree_UV_DC,
00051                         *HuffmanTree_UV_AC;
00052   Ipp16u QuantizationTable_Y[64],
00053          QuantizationTable_UV[64];
00054   Ipp16s *CoeffBuffer;
00055   int TileNumX, TileNumY;
00056   IppiEncodeHuffmanSpec *HuffmanEncodeSpec_Y_DC,
00057                         *HuffmanEncodeSpec_Y_AC,
00058                         *HuffmanEncodeSpec_UV_DC,
00059                         *HuffmanEncodeSpec_UV_AC;
00060   mxcpc_mxpeg::APP0 APP0_Block;
00061   mxcpc_mxpeg::SOF0 SOF0_Block;
00062   mxcpc_mxpeg::SOS  SOS_Block;         
00063   int FramesProcessed;
00064   
00065  public:
00066   //! The converter assumes ownership over the converter backend.
00067   mxcpcFramewiseMxPEGScanToJPEGConverterIPP(
00068    mxcpcJPEGReceiver *receiver
00069   );
00070   ~mxcpcFramewiseMxPEGScanToJPEGConverterIPP();
00071   
00072  public:
00073   //! (Re)implemented.
00074   const char *getAccelerationTypeString(void);
00075   //! (Re)implemented.
00076   void setYQuantizationTable(unsigned char *data_bytes);
00077   //! (Re)implemented.
00078   void setUVQuantizationTable(unsigned char *data_bytes);
00079   //! (Re)implemented.
00080   void performScanSweep(mxcpcFramewiseMxPEGDecoder::UndecodedFrameDescriptor
00081                          *frame_descriptor); 
00082 };
00083 
00084 
00085 
00086 #endif   // __MXCPC_FRAMEWISEMXPEGSCANTOJPEGCONVERTERIPP_H__

Generated on Mon Jan 30 15:52:43 2006 for mxcpc by  doxygen 1.4.4