00001 // /// // Mx clientSDK 00002 // ///// //// Mx Crossplatform Client Library 00003 // /// XXX XXX /// 00004 // /// XXX XXX /// $RCSfile: mxcpcDefaultMxPEGDecoderBackEnd.h,v $ 00005 // /// XXX /// $Revision: 1.3 $ 00006 // /// XXX XXX /// $Date: 2005/12/09 15:33:45 $ 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_DEFAULTMXPEGDECODERBACKEND_H__ 00021 #define __MXCPC_DEFAULTMXPEGDECODERBACKEND_H__ 00022 00023 00024 00025 #include <mxcpcMxPEGDecoderBackEnd.h> 00026 00027 00028 00029 //! MxPEG decoder backend for testing purposes. 00030 /*! 00031 * \ingroup mxcpc_core 00032 */ 00033 class mxcpcDefaultMxPEGDecoderBackEnd : public mxcpcMxPEGDecoderBackEnd { 00034 00035 private: 00036 int ReceivedFrames; 00037 int TileNum; 00038 bool ErrorEncountered; 00039 mxcpc::u32 TilePixelBuffer[16*16*3/4]; 00040 00041 public: 00042 mxcpcDefaultMxPEGDecoderBackEnd(); 00043 00044 public: 00045 //! (Re)implemented. 00046 void videoResolutionChanged(int width, int height); 00047 //! (Re)implemented. 00048 void errorEncountered(void); 00049 //! (Re)implemented. 00050 void frameComplete(void); 00051 //! (Re)implemented. 00052 void provideVideoTilePixelTarget(int tile_x, int tile_y, 00053 mxcpc::u32 **target_ptr, 00054 int *row_stepping_ptr); 00055 //! (Re)implemented. 00056 void videoTileReceived(void); 00057 00058 //! Returns the number of frames that have so far been decoded. 00059 int getDecodedFramesNum(void); 00060 }; 00061 00062 00063 00064 #endif // __MXCPC_DEFAULTMXPEGDECODERBACKEND_H__