/* * * Copyright (C) 2001-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, Norbert Olges * * Purpose: Codec class for decoding JPEG Lossless Selection Value 1 (8/12/16-bit) * */ #include "dcmtk/config/osconfig.h" #include "dcmtk/dcmjpeg/djdecsv1.h" #include "dcmtk/dcmjpeg/djcparam.h" #include "dcmtk/dcmjpeg/djrplol.h" #include "dcmtk/dcmjpeg/djdijg8.h" #include "dcmtk/dcmjpeg/djdijg12.h" #include "dcmtk/dcmjpeg/djdijg16.h" DJDecoderP14SV1::DJDecoderP14SV1() : DJCodecDecoder() { } DJDecoderP14SV1::~DJDecoderP14SV1() { } E_TransferSyntax DJDecoderP14SV1::supportedTransferSyntax() const { return EXS_JPEGProcess14SV1; } OFBool DJDecoderP14SV1::isLosslessProcess() const { return OFTrue; } DJDecoder *DJDecoderP14SV1::createDecoderInstance( const DcmRepresentationParameter * /* toRepParam */, const DJCodecParameter *cp, Uint8 bitsPerSample, OFBool isYBR) const { if (bitsPerSample > 12) return new DJDecompressIJG16Bit(*cp, isYBR); else if (bitsPerSample > 8) return new DJDecompressIJG12Bit(*cp, isYBR); else return new DJDecompressIJG8Bit(*cp, isYBR); }