00001 // /// // Mx clientSDK 00002 // ///// //// Mx Crossplatform Client Library 00003 // /// XXX XXX /// 00004 // /// XXX XXX /// $RCSfile: mxcpcBufferedMxPEGDecoderBackEnd.h,v $ 00005 // /// XXX /// $Revision: 1.1 $ 00006 // /// XXX XXX /// $Date: 2006/01/11 19:07:06 $ 00007 // //// XXX XXX //// $Author: cvs-kai $ 00008 // //// //// 00009 // //// M O B O T I X //////////////////////////////////////////////// 00010 // //// Security Vision Systems ////////////////////////////////////////////// 00011 // // 00012 // Copyright (C) 2005 - 2006, MOBOTIX AG, Germany // 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 00018 00019 00020 #ifndef __MXCPC_BUFFEREDMXPEGDECODERBACKEND_H__ 00021 #define __MXCPC_BUFFEREDMXPEGDECODERBACKEND_H__ 00022 00023 00024 #include <mxcpcMxPEGDecoderBackEnd.h> 00025 00026 00027 00028 //! Baseclass to <tt>MxPEG</tt> decoder backends internally buffering entire 00029 //! RGB frames. 00030 /*! 00031 * \ingroup mxcpc_core 00032 */ 00033 class mxcpcBufferedMxPEGDecoderBackEnd : public mxcpcMxPEGDecoderBackEnd { 00034 00035 protected: 00036 int Width, Height; 00037 int TileNumX, TileNumY; 00038 mxcpc::u32 *PixelBuffer; 00039 int PixelBufferOffset; 00040 00041 private: 00042 mxcpc::u32 DummyTilePixelBuffer[16*16*3/4]; 00043 00044 public: 00045 mxcpcBufferedMxPEGDecoderBackEnd(); 00046 ~mxcpcBufferedMxPEGDecoderBackEnd(); 00047 00048 public: 00049 //! (Re)implemented. 00050 void videoResolutionChanged(int width, int height); 00051 //! (Re)implemented. 00052 void provideVideoTilePixelTarget(int tile_x, int tile_y, 00053 mxcpc::u32 **target_ptr, 00054 int *row_stepping_ptr); 00055 }; 00056 00057 00058 00059 #endif // __MXCPC_BUFFEREDMXPEGDECODERBACKEND_H__ 00060