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

mxcpcFramewiseMxPEGScanToJPEGConverterIPP.h

00001 //           ///          //
00002 //          /////        ////
00003 //         /// XXX     XXX ///
00004 //        ///    XXX XXX    ///     $RCSfile: mxcpcFramewiseMxPEGScanToJPEGConverterIPP.h,v $  
00005 //       ///       XXX       ///     $Revision: 1.4 $
00006 //      ///      XXX XXX      ///     $Date: 2005/08/09 13:57:26 $
00007 //     ////    XXX     XXX    ////     $Author: cvs-steve $
00008 //    ////                     ////
00009 //   ////  M  O  B  O  T  I  X  ////////////////////////////////////////////////
00010 //  //// Security Vision Systems ///////////////////////////////////////////////
00011 
00012 // Copyright (c) 2005, MOBOTIX AG.
00013 // This software is made available under the BSD licence. Please refer 
00014 // to the file LICENCE.TXT contained in this distribution for details.
00015 
00016 
00017 #ifndef __MXCPC_FRAMEWISEMXPEGSCANTOJPEGCONVERTERIPP_H__
00018 #define __MXCPC_FRAMEWISEMXPEGSCANTOJPEGCONVERTERIPP_H__
00019 
00020 
00021 
00022 #define MXCPC_FRAMEWISEMXPEGSCANTOJPEGCONVERTERIPP_BITSTREAM_BUFFSIZE 512
00023 
00024 
00025 
00026 #include <mxcpcFramewiseMxPEGScanDecoder.h>
00027 #include <mxcpc_mxpeg_namespace.h>
00028 
00029 #include <ippj.h>
00030 
00031 #include <cstdio>
00032 
00033 
00034 
00035 class mxcpcMxPEGScanToJPEGConverterBackEnd;
00036 
00037 
00038 
00041 
00046 class mxcpcFramewiseMxPEGScanToJPEGConverterIPP : public mxcpcFramewiseMxPEGScanDecoder {
00047 
00048  private:
00049   static const unsigned char ZigZag_StoreMap[64];
00050 
00051  private:
00052   IppiDecodeHuffmanSpec *HuffmanTree_Y_DC,
00053                         *HuffmanTree_Y_AC,
00054                         *HuffmanTree_UV_DC,
00055                         *HuffmanTree_UV_AC;
00056   Ipp16u QuantizationTable_Y[64],
00057          QuantizationTable_UV[64];
00058   Ipp16s *CoeffBuffer;
00059   int TileNumX, TileNumY;
00060   
00061   IppiEncodeHuffmanSpec *HuffmanEncodeSpec_Y_DC,
00062                         *HuffmanEncodeSpec_Y_AC,
00063                         *HuffmanEncodeSpec_UV_DC,
00064                         *HuffmanEncodeSpec_UV_AC;
00065   std::FILE *OutStream;
00066   mxcpc_mxpeg::APP0 APP0_Block;
00067   mxcpc_mxpeg::SOF0 SOF0_Block;
00068   mxcpc_mxpeg::SOS  SOS_Block;         
00069   int FramesProcessed;
00070   mxcpcMxPEGScanToJPEGConverterBackEnd *ConverterBackEnd;
00071   
00072  public:
00074   mxcpcFramewiseMxPEGScanToJPEGConverterIPP(mxcpcMxPEGScanToJPEGConverterBackEnd *backend);
00075   ~mxcpcFramewiseMxPEGScanToJPEGConverterIPP();
00076   
00077  public:
00079   void setYQuantizationTable(unsigned char *data_bytes);
00081   void setUVQuantizationTable(unsigned char *data_bytes);
00083   void performScanSweep(mxcpcFramewiseMxPEGDecoder::UndecodedFrameDescriptor
00084                          *frame_descriptor); 
00085 };
00086 
00087 
00088 
00089 #endif   // __MXCPC_FRAMEWISEMXPEGSCANTOJPEGCONVERTERIPP_H__

Generated on Mon Aug 15 03:39:29 2005 for mxcpc by  doxygen 1.4.2-20050421