diff -r 000000000000 -r 469c91dae73b imagingmodules/jp2kcodec/Src/JP2KMarker.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagingmodules/jp2kcodec/Src/JP2KMarker.cpp Thu Dec 17 09:22:31 2009 +0200 @@ -0,0 +1,410 @@ +/* +* Copyright (c) 2003, 2004 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Collection of structs used to gather the various +* marker related information in the JP2 image file. +* +*/ + + +// INCLUDE FILES +#include "JP2KMarker.h" + +// EXTERNAL DATA STRUCTURES + +// EXTERNAL FUNCTION PROTOTYPES + +// CONSTANTS + +// MACROS + +// LOCAL CONSTANTS AND MACROS + +// MODULE DATA STRUCTURES + +// LOCAL FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// TSizMarker::TSizMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TSizMarker::TSizMarker() : + iXsiz(1), + iYsiz(1), + iXOsiz(0), + iYOsiz(0), + iXTsiz(1), + iYTsiz(1), + iXTOsiz(0), + iYTOsiz(0), + iRsiz(0), + iCsiz(1), + iSsiz(3), + iXRsiz(3), + iYRsiz(3) + { + } + +// Destructor +TSizMarker::~TSizMarker() + { + iSsiz.Close(); + iXRsiz.Close(); + iYRsiz.Close(); + } + +// ----------------------------------------------------------------------------- +// TCODMarker::TCODMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TCODMarker::TCODMarker() : + iScod(0), + iProgressionOrder(0), + iColorTransformation(0), + iNumOfLevels(0), + iCodeBlockStyle(0), + iWaveletTransformation(0), + iNumOfLayers(1), + iCodeBlockSiz(32,32), + iPrecinctSiz(0) + { + } + +// Destructor +TCODMarker::~TCODMarker() + { + delete iPrecinctSiz; + iPrecinctSiz = 0; + } + +// ----------------------------------------------------------------------------- +// TCOCMarker::TCOCMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TCOCMarker::TCOCMarker() : + iCcoc(0), + iScoc(0), + iNumOfLevels(0), + iCodeBlockStyle(0), + iWaveletTransformation(0), + iCodeBlockSiz(32,32), + iPrecinctSiz(0) + { + } + +// Destructor +TCOCMarker::~TCOCMarker() + { + delete iPrecinctSiz; + iPrecinctSiz = 0; + } + +// ----------------------------------------------------------------------------- +// TQCDMarker::TQCDMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TQCDMarker::TQCDMarker(): + iSqcd(0), + iExponent(0), + iMantissa(0) + { + } + +// Destructor +TQCDMarker::~TQCDMarker() + { + delete iExponent; + iExponent = 0; + delete iMantissa; + iMantissa = 0; + } + +// ----------------------------------------------------------------------------- +// TQCCMarker::TQCCMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TQCCMarker::TQCCMarker() : + iCqcc(0), + iSqcc(0), + iExponent(0), + iMantissa(0) + { + } + +// Destructor +TQCCMarker::~TQCCMarker() + { + delete iExponent; + iExponent = 0; + delete iMantissa; + iMantissa = 0; + } + +// ----------------------------------------------------------------------------- +// TPOCMarker::TPOCMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TPOCMarker::TPOCMarker(): + iRSpoc(1), + iCSpoc(1), + iLYEpoc(1), + iREpoc(1), + iCEpoc(1), + iPpoc(1) + { + } + +// Destructor +TPOCMarker::~TPOCMarker() + { + iRSpoc.Close(); + iCSpoc.Close(); + iLYEpoc.Close(); + iREpoc.Close(); + iCEpoc.Close(); + iPpoc.Close(); + } + +// ----------------------------------------------------------------------------- +// TPPMMarker::TPPMMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TPPMMarker::TPPMMarker(): + iZppm(0), + iRemainder(0), + iNppm(1), + iIppm(0) + { + } + +// Destructor +TPPMMarker::~TPPMMarker() + { + delete iIppm; + iIppm = 0; + } + +// ----------------------------------------------------------------------------- +// TTLMMarker::TTLMMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TTLMMarker::TTLMMarker() : + iZtlm(0), + iStlm(0), + iTtlm(1), + iPtlm(1) + { + } + +// Destructor +TTLMMarker::~TTLMMarker() + { + iTtlm.Close(); + iPtlm.Close(); + } + +// ----------------------------------------------------------------------------- +// TPLMMarker::TPLMMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TPLMMarker::TPLMMarker() : + iZplm(0), + iNplm(1), + iIplm(0) + { + } + +// Destructor +TPLMMarker::~TPLMMarker() + { + delete iIplm; + iIplm = 0; + } + +// ----------------------------------------------------------------------------- +// TPPTMarker::TPPTMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TPPTMarker::TPPTMarker(): + iZppt(0), + iIppt(0) + { + } + +// Destructor +TPPTMarker::~TPPTMarker() + { + delete iIppt; + iIppt = 0; + } + +// ----------------------------------------------------------------------------- +// TPLTMarker::TPLTMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TPLTMarker::TPLTMarker() : + iZplt(0), + iIplt(1) + { + } + +// Destructor +TPLTMarker::~TPLTMarker() + { + iIplt.Close(); + } + +// ----------------------------------------------------------------------------- +// TCRGMarker::TCRGMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TCRGMarker::TCRGMarker() : + iXYcrg(1) + { + } + +// Destructor +TCRGMarker::~TCRGMarker() + { + iXYcrg.Close(); + } + +// ----------------------------------------------------------------------------- +// TCOMMarker::TCOMMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TCOMMarker::TCOMMarker() : + iRemainder(0), + iRcom(0), + iCcom(0) + { + } + +// Destructor +TCOMMarker::~TCOMMarker() + { + delete iCcom; + iCcom = 0; + } + +// ----------------------------------------------------------------------------- +// TMainMarker::TMainMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TMainMarker::TMainMarker(): + iCod(), + iQcd(), + iCoc(3), + iQcc(3), + iRgn(1), + iPoc(0), + iPpm(1), + iTlm(1), + iPlm(1), + iCrg(0), + iCom(1) + { + } + +// Destructor +TMainMarker::~TMainMarker() + { + iCoc.ResetAndDestroy(); + iQcc.ResetAndDestroy(); + iRgn.ResetAndDestroy(); + + delete iPoc; + iPoc = 0; + + iPpm.ResetAndDestroy(); + iTlm.ResetAndDestroy(); + iPlm.ResetAndDestroy(); + + delete iCrg; + iCrg = 0; + + iCom.ResetAndDestroy(); + } + +// ----------------------------------------------------------------------------- +// TTileMarker::TTileMarker +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +TTileMarker::TTileMarker(): + iCod(0), + iQcd(0), + iCoc(3), + iQcc(3), + iRgn(1), + iPoc(0), + iPpt(1), + iPlt(1), + iCom(1) + { + } + +// Destructor +TTileMarker::~TTileMarker() + { + delete iCod; + iCod = 0; + + delete iQcd; + iQcd = 0; + + iCoc.ResetAndDestroy(); + iQcc.ResetAndDestroy(); + iRgn.ResetAndDestroy(); + + delete iPoc; + iPoc =0; + + iPpt.ResetAndDestroy(); + iPlt.ResetAndDestroy(); + iCom.ResetAndDestroy(); + }