williamr@2: // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // ImageCodecData.h - data used by standard codecs williamr@2: // williamr@2: // williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef __IMAGECODECDATA_H__ williamr@2: #define __IMAGECODECDATA_H__ williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@2: class CFrameImageData; williamr@2: williamr@2: williamr@2: // Identification UIDs for TFrameDataBlock-derived classes williamr@2: williamr@2: /** GIF image descriptor. williamr@2: */ williamr@2: const TUid KGIFImageDescriptorUid = { 0x101F45E4 }; williamr@2: /** GIF colour table williamr@2: */ williamr@2: const TUid KGIFColorTableUid = { 0x101F7C0A }; williamr@2: /** GIF compression type LZW information. williamr@2: */ williamr@2: const TUid KGIFLZWInfoUid = { 0x101F45E5 }; williamr@2: /** GIF image controller. williamr@2: */ williamr@2: const TUid KGIFImageControlUid = { 0x101F45E6 }; williamr@2: /** GIF loop iterations. williamr@2: */ williamr@2: const TUid KGIFLoopIterationsUid = { 0x102834A6 }; williamr@2: /** MBM decode data. williamr@2: */ williamr@2: const TUid KMBMDecodeDataUid = { 0x101F45E0 }; williamr@2: /** MBM encode data. williamr@2: */ williamr@2: const TUid KMBMEncodeDataUid = { 0x101F45E9 }; williamr@2: /** PNG encode data. williamr@2: */ williamr@2: const TUid KPNGEncodeDataUid = { 0x101F460A }; williamr@2: /** TIFF image data. williamr@2: */ williamr@2: const TUid KTIFFImageDataUid = { 0x101F45E8 }; williamr@2: williamr@2: williamr@2: williamr@2: //Identification UIDs for TImageDataBlock-derived classes williamr@2: williamr@2: /** BMP image data. williamr@2: */ williamr@2: const TUid KBMPImageDataUid = { 0x101F45BF }; williamr@2: /** BMP compression. williamr@2: */ williamr@2: const TUid KBMPCompressionUid = { 0x101F45E3 }; williamr@2: /** JPG image data. williamr@2: */ williamr@2: const TUid KJPGImageDataUid = { 0x101F45DA }; williamr@2: /** JPG Q table. williamr@2: */ williamr@2: const TUid KJPGQTableUid = { 0x101F45E1 }; williamr@2: /** JPG comment. williamr@2: */ williamr@2: const TUid KJPGCommentUid = { 0x101F45E2 }; williamr@2: /** GIF background colour. williamr@2: */ williamr@2: const TUid KGIFBackgroundColorUid = { 0x101F45DE }; williamr@2: /** GIF comment. williamr@2: */ williamr@2: const TUid KGIFCommentUid = { 0x101F45E7 }; williamr@2: williamr@2: /** Max number of GIF palatte entries williamr@2: */ williamr@2: const TInt KGifColorTableMaxEntries = 256; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: BMP specific image data variant which holds bits per pixel info. williamr@2: It is only used when configuring the BMP encoder. williamr@2: If the Symbian bitmap encoder (0x101F45AE) is supplied then encoder specific defaults williamr@2: are used if this object is not presented to the conversion process. williamr@2: The default bitmap colour depth is 24-bit. williamr@2: @see CImageEncoder williamr@2: @see CFrameImageData williamr@2: */ williamr@2: class TBmpImageData : public TImageDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TBmpImageData(); williamr@2: williamr@2: public: williamr@2: /** The number of bits/pixel. williamr@2: */ williamr@2: TInt iBitsPerPixel; williamr@2: williamr@2: private: williamr@2: TImageDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: BMP specific image data variant which holds compression info. williamr@2: It is only used when extracting info from the BMP decoder. williamr@2: */ williamr@2: class TBmpCompression : public TImageDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TBmpCompression(); williamr@2: williamr@2: public: williamr@2: /** williamr@2: Flag reflecting the compression type. williamr@2: */ williamr@2: enum TCompression williamr@2: { williamr@2: /** No compression used. williamr@2: */ williamr@2: ENone, williamr@2: williamr@2: /** Eight bits per pixel run length encoding. williamr@2: */ williamr@2: EEightBppRLE, williamr@2: williamr@2: /** Four bits per pixel run length encoding. williamr@2: */ williamr@2: EFourBppRLE, williamr@2: williamr@2: /** Compression using bit fields. williamr@2: */ williamr@2: EBitFields williamr@2: }; williamr@2: williamr@2: public: williamr@2: /** williamr@2: @see enum TCompression williamr@2: williamr@2: The type of compression used williamr@2: */ williamr@2: TCompression iCompression; williamr@2: williamr@2: private: williamr@2: TImageDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: JPEG specific image data variant which holds color sampling and quality williamr@2: factor information. williamr@2: williamr@2: It can be used with both the JPEG decoder and encoder. williamr@2: */ williamr@2: class TJpegImageData : public TImageDataBlock williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Flag reflecting the color sampling type. williamr@2: */ williamr@2: enum TColorSampling williamr@2: { williamr@2: /** Monochrome. williamr@2: */ williamr@2: EMonochrome, williamr@2: williamr@2: /** Horizontal and vertical chrominance decimation. williamr@2: */ williamr@2: EColor420, williamr@2: williamr@2: /** Horizontal chrominance decimation. williamr@2: */ williamr@2: EColor422, williamr@2: williamr@2: /** No chrominance decimation. williamr@2: */ williamr@2: EColor444 williamr@2: }; williamr@2: public: williamr@2: IMPORT_C TJpegImageData(); // Defaults to EColor420 and 75 williamr@2: williamr@2: public: williamr@2: /** williamr@2: @see enum TColorSampling williamr@2: williamr@2: The color sampling scheme to use. williamr@2: */ williamr@2: TColorSampling iSampleScheme; williamr@2: williamr@2: /** The quality factor. williamr@2: williamr@2: This represents the current allowable percentage level of degradation when compressing the image williamr@2: data. williamr@2: williamr@2: The range is 0 to 100 inclusive. williamr@2: */ williamr@2: TInt iQualityFactor; williamr@2: williamr@2: private: williamr@2: TImageDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** The number of JPEG Q table entries. williamr@2: williamr@2: @see class TJpegQTable williamr@2: */ williamr@2: const TInt KJpgQTableEntries = 64; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: JPEG specific image data variant which holds QTable info. williamr@2: williamr@2: It can be used with both the JPEG decoder and encoder. williamr@2: */ williamr@2: class TJpegQTable : public TImageDataBlock williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Flag reflecting the type of Q or quantization table. williamr@2: */ williamr@2: enum TQTableIndex williamr@2: { williamr@2: /** Luminance table. williamr@2: */ williamr@2: ELumaTable = 0, williamr@2: williamr@2: /** Chrominance table. williamr@2: */ williamr@2: EChromaTable = 1 williamr@2: }; williamr@2: public: williamr@2: IMPORT_C TJpegQTable(); williamr@2: williamr@2: public: williamr@2: /** The type of Q table. */ williamr@2: TInt iTableIndex; williamr@2: williamr@2: /** The number of entries in the Q table. */ williamr@2: TBuf8 iEntries; williamr@2: williamr@2: private: williamr@2: TImageDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: JPEG specific image data variant which holds JPEG comment information. williamr@2: williamr@2: It can be used with both the JPEG decoder and encoder. williamr@2: */ williamr@2: class TJpegComment : public TImageDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TJpegComment(); williamr@2: williamr@2: public: williamr@2: /** The JPEG comment associated with the JPEG image. williamr@2: */ williamr@2: HBufC8* iComment; williamr@2: williamr@2: private: williamr@2: TImageDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: GIF specific image data variant which holds background color info. williamr@2: williamr@2: It can only be used with the GIF decoder (the encoder is not configurable). williamr@2: */ williamr@2: class TGifBackgroundColor : public TImageDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TGifBackgroundColor(); williamr@2: williamr@2: public: williamr@2: /** The background colour as an index. williamr@2: */ williamr@2: TInt iBackgroundColorIndex; williamr@2: williamr@2: /** The background colour as an RGB value. williamr@2: */ williamr@2: TRgb iBackgroundColor; williamr@2: williamr@2: private: williamr@2: TImageDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: GIF specific frame data variant which holds image descriptor information. williamr@2: williamr@2: It can only be used with the GIF decoder (the encoder is not configurable). williamr@2: williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class TGifImageDescriptor : public TFrameDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TGifImageDescriptor(); williamr@2: williamr@2: public: williamr@2: /** A boolean indicating if the frame has its own local colour map. ETrue if it does, otherwise williamr@2: EFalse. williamr@2: */ williamr@2: TBool iLocalColorMap; williamr@2: williamr@2: /** A boolean indicating if the frame's local colour map is sorted in priority order. ETrue if williamr@2: it is, otherwise EFalse. williamr@2: */ williamr@2: TBool iSortedLocalMap; williamr@2: williamr@2: /** A boolean indicating if the image is interlaced. ETrue if the image is interlaced. williamr@2: */ williamr@2: TBool iInterlaced; williamr@2: williamr@2: private: williamr@2: TFrameDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: GIF specific frame data for saving a frame local color map (palette). williamr@2: */ williamr@2: class TGifColorTable : public TFrameDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TGifColorTable(); williamr@2: williamr@2: public: williamr@2: /** The palette */ williamr@2: TRgb iPalette[KGifColorTableMaxEntries]; williamr@2: williamr@2: private: williamr@2: TFrameDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: GIF specific frame data variant which holds LZW compression information. williamr@2: williamr@2: It can only be used with the GIF decoder (the encoder is not configurable). williamr@2: */ williamr@2: class TGifLZWInfo : public TFrameDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TGifLZWInfo(); williamr@2: williamr@2: public: williamr@2: /** The initial number of bits used in LZW compression. williamr@2: */ williamr@2: TInt iInitialCodeLength; williamr@2: williamr@2: /** The size of compressed frame. williamr@2: */ williamr@2: TInt iCompressedBytes; williamr@2: williamr@2: private: williamr@2: TFrameDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: GIF specific frame data variant which holds GIF image control information. williamr@2: williamr@2: It can only be used with the GIF decoder (the encoder is not configurable). williamr@2: */ williamr@2: class TGifImageControl : public TFrameDataBlock williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Flag reflecting how the previous frame is handled when the next frame is drawn. williamr@2: */ williamr@2: enum TDisposalMethod williamr@2: { williamr@2: /** No method set. williamr@2: */ williamr@2: ENone = 0, williamr@2: williamr@2: /** Leave the previous frame in place. williamr@2: */ williamr@2: ELeaveInPlace = 1, williamr@2: williamr@2: /** Restore to the backgound colour. williamr@2: */ williamr@2: ERestoreToBackground = 2, williamr@2: williamr@2: /** Restore the previous frame. williamr@2: */ williamr@2: ERestoreToPrevious = 3 williamr@2: }; williamr@2: williamr@2: public: williamr@2: IMPORT_C TGifImageControl(); williamr@2: williamr@2: public: williamr@2: /** The interval between display of successive frames in units of 1/100 second. williamr@2: */ williamr@2: TInt iDelayTimeInCentiseconds; williamr@2: williamr@2: /** The colour index to be used for transparency. williamr@2: */ williamr@2: TInt iTransparentColorIndex; williamr@2: williamr@2: /** A flag indicating if user input is required before display of next frame. williamr@2: */ williamr@2: TBool iUserInputFlag; williamr@2: williamr@2: /** The frame disposal method for multiframe images. williamr@2: */ williamr@2: TDisposalMethod iDisposalMethod; williamr@2: williamr@2: private: williamr@2: TFrameDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: GIF specific image data variant which holds GIF comment info. williamr@2: williamr@2: It can only be used with the GIF decoder (the encoder is not configurable). williamr@2: */ williamr@2: class TGifComment : public TImageDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TGifComment(); williamr@2: williamr@2: public: williamr@2: /** The comment associated with the GIF image. williamr@2: */ williamr@2: HBufC8* iComment; williamr@2: williamr@2: private: williamr@2: TImageDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: GIF specific image data variant which holds Netscape 2.0 Application Extension block loop iterations value williamr@2: williamr@2: It can only be used with the GIF decoder (the encoder is not configurable). williamr@2: */ williamr@2: class TGifLoopIterations : public TImageDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TGifLoopIterations(); williamr@2: williamr@2: public: williamr@2: /** The number of times to loop an animated GIF williamr@2: */ williamr@2: TInt iLoopIterations; williamr@2: williamr@2: private: williamr@2: TImageDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: // Mbm compression data. (Decoder only) williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: MBM specific frame data variant which holds frame data information. williamr@2: williamr@2: It can only be used with the MBM decoder. williamr@2: */ williamr@2: class TMbmDecodeData : public TFrameDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TMbmDecodeData(); williamr@2: williamr@2: public: williamr@2: /** A flag indicating if RLE compression is used. williamr@2: */ williamr@2: TBool iCompressed; williamr@2: williamr@2: /** The uncompressed frame size in bytes. williamr@2: */ williamr@2: TInt iImageDataSizeInBytes; williamr@2: williamr@2: private: williamr@2: TFrameDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: williamr@2: // Mbm display mode. (Encoder only) williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: MBM specific image data variant which holds frame data information. williamr@2: williamr@2: It can only be used with the MBM encoder. williamr@2: */ williamr@2: class TMbmEncodeData : public TFrameDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TMbmEncodeData(); williamr@2: williamr@2: public: williamr@2: /** The display mode. williamr@2: */ williamr@2: TDisplayMode iDisplayMode; williamr@2: williamr@2: private: williamr@2: TFrameDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: PNG specific frame data variant which holds PNG encoding information. williamr@2: williamr@2: It can only be used with the PNG encoder. williamr@2: */ williamr@2: class TPngEncodeData : public TFrameDataBlock williamr@2: { williamr@2: public: williamr@2: // Same values as CEZCompressor williamr@2: /** williamr@2: A flag reflecting the level of compression used. williamr@2: */ williamr@2: enum TPngCompressLevel williamr@2: { williamr@2: /** williamr@2: Default level of compression used. williamr@2: */ williamr@2: EDefaultCompression = Z_DEFAULT_COMPRESSION, williamr@2: williamr@2: /** No compression used. williamr@2: */ williamr@2: ENoCompression = Z_NO_COMPRESSION, williamr@2: williamr@2: /** Optimise compression for speed. williamr@2: */ williamr@2: EBestSpeed = Z_BEST_SPEED, williamr@2: williamr@2: /** Optimise compression for size. williamr@2: */ williamr@2: EBestCompression = Z_BEST_COMPRESSION williamr@2: }; williamr@2: public: williamr@2: IMPORT_C TPngEncodeData(); williamr@2: williamr@2: public: williamr@2: /** The number of bits per pixel. williamr@2: */ williamr@2: TInt iBitsPerPixel; williamr@2: williamr@2: /** A flag indicating if the image is color or grayscale. williamr@2: */ williamr@2: TBool iColor; williamr@2: williamr@2: /** A flag indicating use of a palette or RGB. williamr@2: */ williamr@2: TBool iPaletted; williamr@2: williamr@2: /** The level of compression to apply. williamr@2: */ williamr@2: TPngCompressLevel iLevel; williamr@2: williamr@2: private: williamr@2: TFrameDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: williamr@2: TIFF specific frame data variant. Holds colour sampling and quality factor information. williamr@2: williamr@2: It can only be used with the TIFF decoder. williamr@2: */ williamr@2: class TTiffImageData : public TFrameDataBlock williamr@2: { williamr@2: public: williamr@2: IMPORT_C TTiffImageData(); williamr@2: williamr@2: public: williamr@2: /** The new subfile type. williamr@2: */ williamr@2: TUint32 iNewSubfileType; williamr@2: williamr@2: /** The frame size in pixels. williamr@2: */ williamr@2: TSize iSizeInPixels; williamr@2: williamr@2: /** The number of bits per sample. williamr@2: */ williamr@2: TInt iBitsPerSample; williamr@2: williamr@2: /** The number of samples per pixel. williamr@2: */ williamr@2: TInt iSamplesPerPixel; williamr@2: williamr@2: /** The compression setting. williamr@2: */ williamr@2: TInt iCompression; williamr@2: williamr@2: /** T4 options as per the "Standardization of Group 3 facsimile apparatus for document williamr@2: transmission, Recommendation T.4, Volume VII, Fascicle VII.3". williamr@2: */ williamr@2: TInt iT4Options; williamr@2: williamr@2: /** T6 options as per the "Facsimile Coding Schemes and Coding Control Functions for Group 4 williamr@2: Facsimile Apparatus, Recommendation T.6, Volume VII, Fascicle VII.3". williamr@2: */ williamr@2: TInt iT6Options; williamr@2: williamr@2: /** The photometric interpretation setting. williamr@2: */ williamr@2: TInt iPhotometricInterpretation; williamr@2: williamr@2: /** The fill order. williamr@2: */ williamr@2: TInt iFillOrder; williamr@2: williamr@2: /** The frame width in twips. williamr@2: */ williamr@2: TReal iWidthInTwips; williamr@2: williamr@2: /** The frame height in twips. williamr@2: */ williamr@2: TReal iHeightInTwips; williamr@2: williamr@2: /** The number of rows per strip. williamr@2: */ williamr@2: TInt iRowsPerStrip; williamr@2: williamr@2: /** The number of TTiffImageStrips. williamr@2: */ williamr@2: TInt iNumStrips; williamr@2: williamr@2: /** An array of TTiffImageStrips. williamr@2: */ williamr@2: HBufC8* iStripInfo; williamr@2: williamr@2: private: williamr@2: TFrameDataBlock* DuplicateL(CFrameImageData& aFrameImageData) const; williamr@2: }; williamr@2: williamr@2: // Identification UIDs for image types. williamr@2: williamr@2: /** Image type BMP. williamr@2: */ williamr@2: const TUid KImageTypeBMPUid = {0x101F45B0}; williamr@2: /** Image type GIF. williamr@2: */ williamr@2: const TUid KImageTypeGIFUid = {0x101F45B3}; williamr@2: /** Image type WMF. williamr@2: */ williamr@2: const TUid KImageTypeWMFUid = {0x101F45BA}; williamr@2: /** Image type WMF subtype Std. williamr@2: */ williamr@2: const TUid KImageTypeWMFSubTypeStdUid = {0x101F45BB}; williamr@2: /** Image type WMF subtype Apm. williamr@2: */ williamr@2: const TUid KImageTypeWMFSubTypeApmUid = {0x101F45BC}; williamr@2: /** Image type WMF subtype Clp. williamr@2: */ williamr@2: const TUid KImageTypeWMFSubTypeClpUid = {0x101F45BD}; williamr@2: /** Image type TIFF. williamr@2: */ williamr@2: const TUid KImageTypeTIFFUid = {0x101F45C4}; williamr@2: /** Image type TIFF subtype LittleEndian. williamr@2: */ williamr@2: const TUid KImageTypeTIFFSubTypeLittleEndianUid = {0x101F45C5}; williamr@2: /** Image type TIFF subtype BigEndian. williamr@2: */ williamr@2: const TUid KImageTypeTIFFSubTypeBigEndianUid = {0x101F45C6}; williamr@2: /** Image type PNG. williamr@2: */ williamr@2: const TUid KImageTypePNGUid = {0x101F45C9}; williamr@2: /** Image type MBM. williamr@2: */ williamr@2: const TUid KImageTypeMBMUid = {0x101F45CC}; williamr@2: /** Image type WBMP. williamr@2: */ williamr@2: const TUid KImageTypeWBMPUid = {0x101F45CF}; williamr@2: /** Image type OTA. williamr@2: */ williamr@2: const TUid KImageTypeOTAUid = {0x101F45D2}; williamr@2: /** Image type ICO. williamr@2: */ williamr@2: const TUid KImageTypeICOUid = {0x101F45D5}; williamr@2: /** Image type JPG. williamr@2: */ williamr@2: const TUid KImageTypeJPGUid = {0x101F45D8}; williamr@2: williamr@2: #endif // __IMAGECODECDATA_H__