00001 /* 00002 * 00003 * Copyright (C) 1997-2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * 00014 * Module: dcmjpeg 00015 * 00016 * Author: Norbert Olges, Marco Eichelberg 00017 * 00018 * Purpose: abstract base class for decompression classes 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:17:17 $ 00022 * CVS/RCS Revision: $Revision: 1.4 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 #ifndef DJDECABS_H 00030 #define DJDECABS_H 00031 00032 #include "dcmtk/config/osconfig.h" 00033 #include "dcmtk/dcmdata/dctypes.h" 00034 #include "dcmtk/dcmjpeg/djutils.h" /* for enums */ 00035 #include "dcmtk/dcmimgle/diutils.h" /* for EP_Interpretation */ 00036 00042 class DJDecoder 00043 { 00044 public: 00045 00047 DJDecoder() 00048 { 00049 } 00050 00052 virtual ~DJDecoder() 00053 { 00054 } 00055 00060 virtual OFCondition init() = 0; 00061 00074 virtual OFCondition decode( 00075 Uint8 *compressedFrameBuffer, 00076 Uint32 compressedFrameBufferSize, 00077 Uint8 *uncompressedFrameBuffer, 00078 Uint32 uncompressedFrameBufferSize, 00079 OFBool isSigned) = 0; 00080 00083 virtual Uint16 bytesPerSample() const = 0; 00084 00088 virtual EP_Interpretation getDecompressedColorModel() const = 0; 00089 00090 }; 00091 00092 #endif 00093 00094 /* 00095 * CVS/RCS Log 00096 * $Log: djdecabs.h,v $ 00097 * Revision 1.4 2010-10-14 13:17:17 joergr 00098 * Updated copyright header. Added reference to COPYRIGHT file. 00099 * 00100 * Revision 1.3 2005-12-08 16:59:14 meichel 00101 * Changed include path schema for all DCMTK header files 00102 * 00103 * Revision 1.2 2005/11/30 14:12:27 onken 00104 * Added decode() parameter denoting whether input is signed or unsigned 00105 * 00106 * Revision 1.1 2001/11/13 15:56:18 meichel 00107 * Initial release of module dcmjpeg 00108 * 00109 * 00110 */