+ void ComputeDecompressedAndRGBSizes();
+ void AllocateRGB();
+ void AllocateDecompressed();
+
+// Variables
+ /// Pixel data represented as RGB after LUT color interpretation.
+ uint8_t* RGB;
+ /// Size of \ref RGB image.
+ size_t RGBSize;
+ /// Pixel data after decompression and bit/byte rearrangement.
+ uint8_t* Decompressed;
+ /// Size of \ref Decompressed image.
+ size_t DecompressedSize;
+ /// \brief Red/Green/Blue/Alpha LookUpTable build out of the
+ /// Red/Green/Blue LUT descriptors (see \ref BuildLUTRGBA ).
+ uint8_t* LutRGBA;
+
+ size_t PixelOffset;
+ size_t PixelDataLength;
+ int XSize;
+ int YSize;
+ int ZSize;
+ int BitsAllocated;
+ int BitsStored;
+ int HighBitPosition;
+ int SamplesPerPixel;
+ int PixelSize;
+ bool PixelSign;
+ int SwapCode;
+
+ bool IsDecompressed;
+ bool IsJPEG2000;
+ bool IsJPEGLossless;
+ bool IsRLELossless;
+
+ RLEFramesInfo* RLEInfo;
+ JPEGFragmentsInfo* JPEGInfo;
+
+ // For handling color stage
+ int PlanarConfiguration;
+ bool IsMonochrome;
+ bool IsPaletteColor;
+ bool IsYBRFull;
+ bool HasLUT;
+ // The 3 LUT descriptors may be different:
+ std::string LutRedDescriptor;
+ std::string LutGreenDescriptor;
+ std::string LutBlueDescriptor;
+ uint8_t* LutRedData;
+ uint8_t* LutGreenData;
+ uint8_t* LutBlueData;