dcmjpeg/include/djdijg12.h

00001 /* 00002 * 00003 * Copyright (C) 1997-2001, OFFIS 00004 * 00005 * This software and supporting documentation were developed by 00006 * 00007 * Kuratorium OFFIS e.V. 00008 * Healthcare Information and Communication Systems 00009 * Escherweg 2 00010 * D-26121 Oldenburg, Germany 00011 * 00012 * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY 00013 * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR 00014 * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR 00015 * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND 00016 * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. 00017 * 00018 * Module: dcmjpeg 00019 * 00020 * Author: Norbert Olges, Marco Eichelberg 00021 * 00022 * Purpose: decompression routines of the IJG JPEG library configured for 12 bits/sample. 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2001/11/19 15:13:27 $ 00026 * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmjpeg/include/djdijg12.h,v $ 00027 * CVS/RCS Revision: $Revision: 1.2 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef DJDIJG12_H 00035 #define DJDIJG12_H 00036 00037 #include "osconfig.h" 00038 #include "djdecabs.h" /* for class DJDecoder */ 00039 00040 extern "C" 00041 { 00042 struct jpeg_decompress_struct; 00043 } 00044 00045 class DJCodecParameter; 00046 00050 class DJDecompressIJG12Bit : public DJDecoder 00051 { 00052 public: 00053 00058 DJDecompressIJG12Bit(const DJCodecParameter& cp, OFBool isYBR); 00059 00061 virtual ~DJDecompressIJG12Bit(); 00062 00067 virtual OFCondition init(); 00068 00080 virtual OFCondition decode( 00081 Uint8 *compressedFrameBuffer, 00082 Uint32 compressedFrameBufferSize, 00083 Uint8 *uncompressedFrameBuffer, 00084 Uint32 uncompressedFrameBufferSize); 00085 00088 virtual Uint16 bytesPerSample() const 00089 { 00090 return sizeof(Uint16); 00091 } 00092 00096 virtual EP_Interpretation getDecompressedColorModel() const 00097 { 00098 return decompressedColorModel; 00099 } 00100 00104 virtual void outputMessage() const; 00105 00106 private: 00107 00109 DJDecompressIJG12Bit(const DJDecompressIJG12Bit&); 00110 00112 DJDecompressIJG12Bit& operator=(const DJDecompressIJG12Bit&); 00113 00115 void cleanup(); 00116 00118 const DJCodecParameter *cparam; 00119 00121 jpeg_decompress_struct *cinfo; 00122 00124 int suspension; 00125 00127 void *jsampBuffer; 00128 00130 OFBool dicomPhotometricInterpretationIsYCbCr; 00131 00133 EP_Interpretation decompressedColorModel; 00134 00135 }; 00136 00137 #endif 00138 00139 /* 00140 * CVS/RCS Log 00141 * $Log: djdijg12.h,v $ 00142 * Revision 1.2 2001/11/19 15:13:27 meichel 00143 * Introduced verbose mode in module dcmjpeg. If enabled, warning 00144 * messages from the IJG library are printed on ofConsole, otherwise 00145 * the library remains quiet. 00146 * 00147 * Revision 1.1 2001/11/13 15:56:22 meichel 00148 * Initial release of module dcmjpeg 00149 * 00150 * 00151 */


Generated on 4 Nov 2004 for OFFIS DCMTK Version 3.5.3 by Doxygen 1.3.8