CExtJpegDecoder Class Reference

class CExtJpegDecoder : public CJPEGImageFrameDecoder
CExtJpegDecoder IclExtJpegApi.lib
Since
3.2
Public Member Functions
~CExtJpegDecoder()
IMPORT_C TIntCapabilitiesL()
IMPORT_C voidContinueConvert(TRequestStatus *)
IMPORT_C voidContinueConvertL(TRequestStatus *, const CVisualFrame *, TInt &, TInt)
IMPORT_C voidConvert(TRequestStatus *, CFbsBitmap &, TInt)
IMPORT_C voidConvert(TRequestStatus *, CFbsBitmap &, CFbsBitmap &, TInt)
IMPORT_C voidConvertL(TRequestStatus *, const CVisualFrame *, TInt &, TInt)
IMPORT_C CExtJpegDecoder *DataNewL(RFs &, const TDesC8 &, const TDesC8 &, const TOptions)
IMPORT_C CExtJpegDecoder *DataNewL(RFs &, const TDesC8 &, const TOptions, const TUid, const TUid, const TUid)
IMPORT_C CExtJpegDecoder *DataNewL(RFs &, const CVisualFrame *, const TDesC8 &, const TOptions)
IMPORT_C CExtJpegDecoder *DataNewL(RFs &, const CVisualFrame *, const TOptions, const TUid, const TUid, const TUid)
IMPORT_C CExtJpegDecoder *DataNewL(const TDecoderType, RFs &, const TDesC8 &, const TOptions)
IMPORT_C CExtJpegDecoder *DataNewL(const TDecoderType, RFs &, const CVisualFrame *, const TOptions)
IMPORT_C CExtJpegDecoder *FileNewL(RFs &, const TDesC &, const TDesC8 &, const TOptions)
IMPORT_C CExtJpegDecoder *FileNewL(RFs &, const TDesC &, const TOptions, const TUid, const TUid, const TUid)
IMPORT_C CExtJpegDecoder *FileNewL(const TDecoderType, RFs &, const TDesC &, const TOptions)
IMPORT_C CExtJpegDecoder *NewL()
IMPORT_C voidSetCroppingL(TRect)
IMPORT_C voidSetDctDecodingL()
IMPORT_C voidSetFlippingL()
IMPORT_C voidSetMirroringL()
IMPORT_C voidSetRotationL(TInt)
IMPORT_C voidSetStreamingL(TSize &)
IMPORT_C TIntSupportedFormatsL()
Private Member Functions
CExtJpegDecoder()
TUid GetUidByVersionRangeL(TInt, TInt)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CImageDecoder::BlockStreamerL()
CImageDecoder::CImageDecoder()
CImageDecoder::Cancel()
CImageDecoder::ContinueProcessingHeaderL()
CImageDecoder::CustomAsync(TRequestStatus *,TInt)
CImageDecoder::CustomSyncL(TInt)
CImageDecoder::FileNewL(RFile &,ContentAccess::TIntent,const TOptions,const TUid,const TUid,const TUid)
CImageDecoder::FileNewL(RFile &,const TDesC8 &,ContentAccess::TIntent,const TOptions)
CImageDecoder::FileNewL(RFs &,const TDesC &,ContentAccess::TIntent,const TOptions,const TUid,const TUid,const TUid)
CImageDecoder::FileNewL(RFs &,const TDesC &,const TDesC8 &,ContentAccess::TIntent,const TOptions)
CImageDecoder::FileNewL(RFs &,const TMMSource &,const TDesC8 &,const TOptions)
CImageDecoder::FileNewL(RFs &,const TMMSource &,const TOptions,const TUid,const TUid,const TUid)
CImageDecoder::FrameCommentL(TInt,TInt)const
CImageDecoder::FrameCount()const
CImageDecoder::FrameData(TInt)const
CImageDecoder::FrameInfo(TInt)const
CImageDecoder::FrameInfoStringsL(TInt)
CImageDecoder::FrameInfoStringsLC(TInt)
CImageDecoder::GetDestinationSize(TSize &,TInt)
CImageDecoder::GetFileTypesL(RFileExtensionMIMETypeArray &)
CImageDecoder::GetImageSubTypesL(const TUid,RImageTypeDescriptionArray &)
CImageDecoder::GetImageTypesL(RImageTypeDescriptionArray &)
CImageDecoder::GetImplementationInformationL(TUid)
CImageDecoder::GetInterfaceImplementationsL(const RUidDataArray &,RUidDataArray &)
CImageDecoder::GetInterfaceImplementationsL(const TUid *,const TInt,RUidDataArray &)
CImageDecoder::GetMimeTypeDataL(const TDesC8 &,TDes8 &)
CImageDecoder::GetMimeTypeFileL(RFs &,const TDesC &,TDes8 &)
CImageDecoder::GetPluginPropertiesL(const TUid,RUidDataArray &)
CImageDecoder::ImageCommentL(TInt)const
CImageDecoder::ImageType(TInt,TUid &,TUid &)const
CImageDecoder::ImplementationUid()const
CImageDecoder::IsImageHeaderProcessingComplete()const
CImageDecoder::NumberOfFrameComments(TInt)const
CImageDecoder::NumberOfImageComments()const
CImageDecoder::OperationL()
CImageDecoder::Plugin()const
CImageDecoder::Prepare(TRequestStatus *)
CImageDecoder::ReducedSize(const TSize &,TInt,TSize &)const
CImageDecoder::ReductionFactor(const TSize &,const TSize &)const
CImageDecoder::ScalerL()
CImageDecoder::SetAgentProperty(ContentAccess::TAgentProperty,TInt)
CImageDecoder::SetClippingRectL(const TRect *)
CImageDecoder::SetDecoderThreadPriority(TThreadPriority)
CImageDecoder::SetImageTypeL(TInt)
CImageDecoder::~CImageDecoder()
CJPEGExifDecoder::CJPEGExifDecoder()
CJPEGExifDecoder::ConstructL()
CJPEGExifDecoder::ExifMetadata()
CJPEGExifDecoder::~CJPEGExifDecoder()
CJPEGImageFrameDecoder::CJPEGImageFrameDecoder()
CJPEGImageFrameDecoder::ContinueConvertFrame(TRequestStatus *)
CJPEGImageFrameDecoder::ConvertFrame(TRequestStatus *,CImageFrame &)
CJPEGImageFrameDecoder::ConvertFrame(TRequestStatus *,CImageFrame &,TInt)
CJPEGImageFrameDecoder::RecommendedBufferSize(TInt &)
CJPEGImageFrameDecoder::RecommendedBufferSize(TUid,TInt &)
CJPEGImageFrameDecoder::~CJPEGImageFrameDecoder()
Public Member Enumerations
enumTDecoderCapability {
ECapNone = 0x0000, ECapCropping = 0x0001, ECapStreaming = 0x0002, ECapRotation = 0x0004, ECapFlipping = 0x0008, ECapMirroring = 0x0010, ECapDctDecoding = 0x0020, ECapExifData = 0x0040
}
enumTDecoderOperations {
EEnd = 0x00010000, ESupportedFormats = 0x00020000, ECapabilities = 0x00040000, EReadyForAsync = 0x00080000, EConvert = 0x00100000, EContinueConvert = 0x00200000
}
enumTDecoderType { ESwImplementation = 0, EHwImplementation }
Inherited Enumerations
CImageDecoder:TImageType
CImageDecoder:TOptions
Private Attributes
TBool iIsExtConvert

Constructor & Destructor Documentation

CExtJpegDecoder()

CExtJpegDecoder()[private]

C++ default constructor.

~CExtJpegDecoder()

IMPORT_C~CExtJpegDecoder()[virtual]

Destructor.

Member Functions Documentation

CapabilitiesL()

IMPORT_C TIntCapabilitiesL()
Returns the Extended API features (capabilities) that are supported by the decoder.
Since
3.2

ContinueConvert(TRequestStatus *)

IMPORT_C voidContinueConvert(TRequestStatus *aRequestStatus)[virtual]
Continue convert
Since
3.2

Parameters

TRequestStatus * aRequestStatusThe pointer to the status of the operation that is set by the decoder after it is completed. After a complete successful operation, the status is KErrNone.

ContinueConvertL(TRequestStatus *, const CVisualFrame *, TInt &, TInt)

IMPORT_C voidContinueConvertL(TRequestStatus *aRequestStatus,
const CVisualFrame *aDestinationFrame,
TInt &aNoOfDecodedMBlocks,
TIntaFrameNumber = 0
)
Asynchronous function for initiating one of the iterations of streamed decoding.
Since
3.2

Parameters

TRequestStatus * aRequestStatusThe pointer to the status of the operation that is set by the decoder after it is completed. After a complete successful operation, the status is KErrNone.
const CVisualFrame * aDestinationFramePointer to the visual frame structure that is keeping the destination image data. The client should do the proper allocation of the destination location.
TInt & aNoOfDecodedMBlocksReference to the number of decoded macroblocks that is set by the decoder after the decoding is completed.
TInt aFrameNumber = 0The frame index in the Jpeg image.

Convert(TRequestStatus *, CFbsBitmap &, TInt)

IMPORT_C voidConvert(TRequestStatus *aRequestStatus,
CFbsBitmap &aDestination,
TIntaFrameNumber = 0
)[virtual]
Convert
Since
3.2

Parameters

TRequestStatus * aRequestStatusThe pointer to the status of the operation that is set by the decoder after it is completed. After a complete successful operation, the status is KErrNone.
CFbsBitmap & aDestination
TInt aFrameNumber = 0The frame index in the Jpeg image.

Convert(TRequestStatus *, CFbsBitmap &, CFbsBitmap &, TInt)

IMPORT_C voidConvert(TRequestStatus *aRequestStatus,
CFbsBitmap &aDestination,
CFbsBitmap &aDestinationMask,
TIntaFrameNumber = 0
)[virtual]
Convert
Since
3.2

Parameters

TRequestStatus * aRequestStatusThe pointer to the status of the operation that is set by the decoder after it is completed. After a complete successful operation, the status is KErrNone.
CFbsBitmap & aDestinationBitmap destination
CFbsBitmap & aDestinationMaskBitmap destination mask
TInt aFrameNumber = 0The frame index in the Jpeg image.

ConvertL(TRequestStatus *, const CVisualFrame *, TInt &, TInt)

IMPORT_C voidConvertL(TRequestStatus *aRequestStatus,
const CVisualFrame *aDestinationFrame,
TInt &aNoOfDecodedMBlocks,
TIntaFrameNumber = 0
)
Asynchronous function for initiating the decoding
Since
3.2

Parameters

TRequestStatus * aRequestStatusThe pointer to the status of the operation that is set by the decoder after it is completed. After a complete successful operation, the status is KErrNone.
const CVisualFrame * aDestinationFramePointer to the visual frame structure that is keeping the destination image data. The client should do the proper allocation of the destination location.
TInt & aNoOfDecodedMBlocksReference to the number of decoded macroblocks that is set by the decoder after the decoding is completed.
TInt aFrameNumber = 0The frame index in the Jpeg image.

DataNewL(RFs &, const TDesC8 &, const TDesC8 &, const TOptions)

IMPORT_C CExtJpegDecoder *DataNewL(RFs &aFs,
const TDesC8 &aSourceData,
const TDesC8 &aMIMEType,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

RFs & aFsA reference to a file server session to use.
const TDesC8 & aSourceDataThe descriptor reference for the Jpeg image data to decode.
const TDesC8 & aMIMETypeThe Jpeg MIME type for matching the decoder plugin.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.

DataNewL(RFs &, const TDesC8 &, const TOptions, const TUid, const TUid, const TUid)

IMPORT_C CExtJpegDecoder *DataNewL(RFs &aFs,
const TDesC8 &aSourceData,
const TOptionsaOptions = EOptionNone,
const TUidaImageType = KNullUid,
const TUidaImageSubType = KNullUid,
const TUidaDecoderUid = KNullUid
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

RFs & aFsA reference to a file server session to use.
const TDesC8 & aSourceDataThe descriptor reference for the Jpeg image data to decode.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.
const TUid aImageType = KNullUidThe Jpeg image type.
const TUid aImageSubType = KNullUidThe Jpeg image subtype (Null UID).
const TUid aDecoderUid = KNullUidThe decoder plugin UID.

DataNewL(RFs &, const CVisualFrame *, const TDesC8 &, const TOptions)

IMPORT_C CExtJpegDecoder *DataNewL(RFs &aFs,
const CVisualFrame *aSourceData,
const TDesC8 &aMIMEType,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

RFs & aFsA reference to a file server session to use.
const CVisualFrame * aSourceDataPointer to the visual frame structure keeping the Jpeg image data to decode.
const TDesC8 & aMIMETypeThe Jpeg MIME type for matching the decoder plugin.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.

DataNewL(RFs &, const CVisualFrame *, const TOptions, const TUid, const TUid, const TUid)

IMPORT_C CExtJpegDecoder *DataNewL(RFs &aFs,
const CVisualFrame *aSourceData,
const TOptionsaOptions = EOptionNone,
const TUidaImageType = KNullUid,
const TUidaImageSubType = KNullUid,
const TUidaDecoderUid = KNullUid
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

RFs & aFsA reference to a file server session to use.
const CVisualFrame * aSourceDataPointer to the visual frame structure keeping the Jpeg image data to decode.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.
const TUid aImageType = KNullUidThe Jpeg image type.
const TUid aImageSubType = KNullUidThe Jpeg image subtype (Null UID).
const TUid aDecoderUid = KNullUidThe decoder plugin UID.

DataNewL(const TDecoderType, RFs &, const TDesC8 &, const TOptions)

IMPORT_C CExtJpegDecoder *DataNewL(const TDecoderTypeaDecoderType,
RFs &aFs,
const TDesC8 &aSourceData,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

const TDecoderType aDecoderTypeDecoder implementation type: HW or SW.
RFs & aFsA reference to a file server session to use.
const TDesC8 & aSourceDataThe descriptor reference for the Jpeg image data to decode.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.

DataNewL(const TDecoderType, RFs &, const CVisualFrame *, const TOptions)

IMPORT_C CExtJpegDecoder *DataNewL(const TDecoderTypeaDecoderType,
RFs &aFs,
const CVisualFrame *aSourceData,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

const TDecoderType aDecoderTypeDecoder implementation type: HW or SW.
RFs & aFsA reference to a file server session to use.
const CVisualFrame * aSourceDataPointer to the visual frame structure keeping the Jpeg image data to decode.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.

FileNewL(RFs &, const TDesC &, const TDesC8 &, const TOptions)

IMPORT_C CExtJpegDecoder *FileNewL(RFs &aFs,
const TDesC &aSourceFilename,
const TDesC8 &aMIMEType,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

RFs & aFsA reference to a file server session to use.
const TDesC & aSourceFilenameThe name of the Jpeg file to decode.
const TDesC8 & aMIMETypeThe Jpeg MIME type for matching the decoder plugin.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.

FileNewL(RFs &, const TDesC &, const TOptions, const TUid, const TUid, const TUid)

IMPORT_C CExtJpegDecoder *FileNewL(RFs &aFs,
const TDesC &aSourceFilename,
const TOptionsaOptions = EOptionNone,
const TUidaImageType = KNullUid,
const TUidaImageSubType = KNullUid,
const TUidaDecoderUid = KNullUid
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

RFs & aFsA reference to a file server session to use.
const TDesC & aSourceFilenameThe name of the Jpeg file to decode.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.
const TUid aImageType = KNullUidThe Jpeg image type.
const TUid aImageSubType = KNullUidThe Jpeg image subtype (Null UID).
const TUid aDecoderUid = KNullUidThe decoder plugin UID.

FileNewL(const TDecoderType, RFs &, const TDesC &, const TOptions)

IMPORT_C CExtJpegDecoder *FileNewL(const TDecoderTypeaDecoderType,
RFs &aFs,
const TDesC &aSourceFilename,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegDecoder
Since
3.2

Parameters

const TDecoderType aDecoderTypeDecoder implementation type: HW or SW.
RFs & aFsA reference to a file server session to use.
const TDesC & aSourceFilenameThe name of the Jpeg file to decode.
const TOptions aOptions = EOptionNoneDecoder options defined in ICL.

GetUidByVersionRangeL(TInt, TInt)

TUid GetUidByVersionRangeL(TIntaMinVersion,
TIntaMaxVersion
)[private, static]
Get an uid by version range
Since
3.2

Parameters

TInt aMinVersion
TInt aMaxVersion

NewL()

IMPORT_C CExtJpegDecoder *NewL()[static]
Symbian C++ Two-phased constructor.
Since
3.2

SetCroppingL(TRect)

IMPORT_C voidSetCroppingL(TRectaCropRect)
Enables the use of cropping feature and specifies the cropping region.
Since
3.2

Parameters

TRect aCropRectThe rectangular cropping region that will be decoded.

SetDctDecodingL()

IMPORT_C voidSetDctDecodingL()
SEnables the use of DCT decoding feature.
Since
3.2

SetFlippingL()

IMPORT_C voidSetFlippingL()
Enables the use of flipping feature.
Since
3.2

SetMirroringL()

IMPORT_C voidSetMirroringL()
Enables the use of mirroring feature.
Since
3.2

SetRotationL(TInt)

IMPORT_C voidSetRotationL(TIntaDegree)
Enables the use of rotation feature and specifies the rotating degree.
Since
3.2

Parameters

TInt aDegreeThe rotation degree. Can take any values between 1 and 359.

SetStreamingL(TSize &)

IMPORT_C voidSetStreamingL(TSize &aMacroBlockSize)
Enables the use of streaming feature and retrieves the macroblock dimensions in the Jpeg data.
Since
3.2

Parameters

TSize & aMacroBlockSizeThe macroblock dimensions in the Jpeg image that is set by the decoder

SupportedFormatsL()

IMPORT_C TIntSupportedFormatsL()
Returns the destination (uncompressed) data formats that are supported by the decoder
Since
3.2

Member Enumerations Documentation

Enum TDecoderCapability

Enumerators

ECapNone = 0x0000
ECapCropping = 0x0001
ECapStreaming = 0x0002
ECapRotation = 0x0004
ECapFlipping = 0x0008
ECapMirroring = 0x0010
ECapDctDecoding = 0x0020
ECapExifData = 0x0040

Enum TDecoderOperations

Enumerators

EEnd = 0x00010000
ESupportedFormats = 0x00020000
ECapabilities = 0x00040000
EReadyForAsync = 0x00080000
EConvert = 0x00100000
EContinueConvert = 0x00200000

Enum TDecoderType

Enumerators

ESwImplementation = 0
EHwImplementation

Member Data Documentation

TBool iIsExtConvert

TBool iIsExtConvert[private]