/usr/include/dcmtk/dcmjpeg/djdecode.h is in libdcmtk-dev 3.6.2-3build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | /*
*
* Copyright (C) 1997-2017, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmjpeg
*
* Author: Marco Eichelberg
*
* Purpose: singleton class that registers decoders for all supported JPEG processes.
*
*/
#ifndef DJDECODE_H
#define DJDECODE_H
#include "dcmtk/config/osconfig.h"
#include "dcmtk/ofstd/oftypes.h" /* for OFBool */
#include "dcmtk/dcmjpeg/djutils.h"
class DJCodecParameter;
class DJDecoderBaseline;
class DJDecoderExtended;
class DJDecoderLossless;
class DJDecoderP14SV1;
class DJDecoderProgressive;
class DJDecoderSpectralSelection;
/** singleton class that registers decoders for all supported JPEG processes.
*/
class DCMTK_DCMJPEG_EXPORT DJDecoderRegistration
{
public:
/** registers decoders for all supported JPEG processes.
* If already registered, call is ignored unless cleanup() has
* been performed before.
* @param pCreateSOPInstanceUID flag indicating whether or not
* a new SOP Instance UID should be assigned upon decompression.
* @param pPlanarConfiguration flag indicating how planar configuration
* of color images should be encoded upon decompression.
* @param predictor6WorkaroundEnable enable workaround for buggy lossless compressed images with
* overflow in predictor 6 for images with 16 bits/pixel
* @param pForceSingleFragmentPerFrame while decompressing a multiframe image,
* assume one fragment per frame even if the JPEG data for some frame is incomplete
*/
static void registerCodecs(
E_DecompressionColorSpaceConversion pDecompressionCSConversion = EDC_photometricInterpretation,
E_UIDCreation pCreateSOPInstanceUID = EUC_default,
E_PlanarConfiguration pPlanarConfiguration = EPC_default,
OFBool predictor6WorkaroundEnable = OFFalse,
OFBool pForceSingleFragmentPerFrame = OFFalse);
/** deregisters decoders.
* Attention: Must not be called while other threads might still use
* the registered codecs, e.g. because they are currently decoding
* DICOM data sets through dcmdata.
*/
static void cleanup();
private:
/// flag indicating whether the decoders are already registered.
static OFBool registered;
/// pointer to codec parameter shared by all decoders
static DJCodecParameter *cp;
/// pointer to decoder for baseline JPEG
static DJDecoderBaseline *decbas;
/// pointer to decoder for extended JPEG
static DJDecoderExtended *decext;
/// pointer to decoder for spectral selection JPEG
static DJDecoderSpectralSelection *decsps;
/// pointer to decoder for progressive JPEG
static DJDecoderProgressive *decpro;
/// pointer to decoder for lossless SV1 JPEG
static DJDecoderP14SV1 *decsv1;
/// pointer to decoder for lossless JPEG
static DJDecoderLossless *declol;
};
#endif
|