CExtJpegEncoder Class Reference

class CExtJpegEncoder : public CJPEGImageFrameEncoder
CExtJpegEncoder IclExtJpegApi.lib
Since
3.2
Public Member Functions
~CExtJpegEncoder()
IMPORT_C TIntCapabilitiesL()
IMPORT_C voidContinueConvertL(TRequestStatus *, const CVisualFrame *, TInt &)
IMPORT_C voidConvertL(TRequestStatus *, const CVisualFrame *, TInt &, const CFrameImageData *)
IMPORT_C CExtJpegEncoder *DataNewL(HBufC8 *&, const TDesC8 &, const TOptions)
IMPORT_C CExtJpegEncoder *DataNewL(HBufC8 *&, const TOptions, const TUid, const TUid, const TUid)
IMPORT_C CExtJpegEncoder *DataNewL(const CVisualFrame *, const TDesC8 &, const TOptions)
IMPORT_C CExtJpegEncoder *DataNewL(const CVisualFrame *, const TOptions, const TUid, const TUid, const TUid)
IMPORT_C CExtJpegEncoder *DataNewL(const TEncoderType, HBufC8 *&, const TOptions)
IMPORT_C CExtJpegEncoder *DataNewL(const TEncoderType, const CVisualFrame *, const TOptions)
IMPORT_C CExtJpegEncoder *FileNewL(RFs &, const TDesC &, const TDesC8 &, const TOptions)
IMPORT_C CExtJpegEncoder *FileNewL(RFs &, const TDesC &, const TOptions, const TUid, const TUid, const TUid)
IMPORT_C CExtJpegEncoder *FileNewL(const TEncoderType, RFs &, const TDesC &, const TOptions)
IMPORT_C TIntGetDestinationDataSizeL()
IMPORT_C CExtJpegEncoder *NewL()
IMPORT_C voidProvideNewDestDataL(const CVisualFrame *)
IMPORT_C voidSetBitmapOverlayL(const CFbsBitmap &, TUint, TPoint)
IMPORT_C voidSetBitmapReplaceL(const CFbsBitmap &, TPoint)
IMPORT_C voidSetDctEncodingL()
IMPORT_C voidSetImageReplaceL(const CVisualFrame *, TPoint)
IMPORT_C voidSetLosslessFlippingL()
IMPORT_C voidSetLosslessMirroringL()
IMPORT_C voidSetLosslessRotationL(TInt)
IMPORT_C voidSetStreamingL(TSize &, const CFrameImageData *)
IMPORT_C TIntSupportedFormatsL()
Private Member Functions
CExtJpegEncoder()
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()
CImageEncoder::BlockStreamerL()
CImageEncoder::CImageEncoder()
CImageEncoder::Cancel()
CImageEncoder::Convert(TRequestStatus *,const CFbsBitmap &,const CFrameImageData *)
CImageEncoder::CustomAsync(TRequestStatus *,TInt)
CImageEncoder::CustomSyncL(TInt)
CImageEncoder::FileNewL(RFile &,const TDesC8 &,const TOptions)
CImageEncoder::FileNewL(RFile &,const TOptions,const TUid,const TUid,const TUid)
CImageEncoder::GetFileTypesL(RFileExtensionMIMETypeArray &)
CImageEncoder::GetImageSubTypesL(const TUid,RImageTypeDescriptionArray &)
CImageEncoder::GetImageTypesL(RImageTypeDescriptionArray &)
CImageEncoder::GetInterfaceImplementationsL(const RUidDataArray &,RUidDataArray &)
CImageEncoder::GetInterfaceImplementationsL(const TUid *,const TInt,RUidDataArray &)
CImageEncoder::GetPluginPropertiesL(const TUid,RUidDataArray &)
CImageEncoder::ImplementationUid()const
CImageEncoder::OperationL()
CImageEncoder::Plugin()const
CImageEncoder::Prepare(TRequestStatus *)
CImageEncoder::SetEncoderThreadPriority(TThreadPriority)
CImageEncoder::SetThumbnail(TBool)
CImageEncoder::~CImageEncoder()
CJPEGExifEncoder::CJPEGExifEncoder()
CJPEGExifEncoder::ConstructL()
CJPEGExifEncoder::ExifMetadata()
CJPEGExifEncoder::~CJPEGExifEncoder()
CJPEGImageFrameEncoder::CJPEGImageFrameEncoder()
CJPEGImageFrameEncoder::ConvertFrame(TRequestStatus *,const CImageFrame &)
CJPEGImageFrameEncoder::ConvertFrame(TRequestStatus *,const CImageFrame &,const CFrameImageData *)
CJPEGImageFrameEncoder::~CJPEGImageFrameEncoder()
Public Member Enumerations
enumTEncoderCapability {
ECapNone = 0x0000, ECapStreaming = 0x0001, ECapBitmapOverlay = 0x0002, ECapImageReplacing = 0x0004, ECapBitmapReplacing = 0x0008, ECapLosslessRotation = 0x0010, ECapLosslessFlipping = 0x0020, ECapLosslessMirroring = 0x0040, ECapDctEncoding = 0x0080
}
enumTEncoderOperations {
EEnd = 0x00010000, ESupportedFormats = 0x00020000, ECapabilities = 0x00040000, EReadyForAsync = 0x00080000, EConvert = 0x00100000, EContinueConvert = 0x00200000, EDestVisualFrame = 0x00400000, ENewDestData = 0x00800000, EDestDataSize = 0x01000000
}
enumTEncoderType { ESwImplementation = 0, EHwImplementation }
Inherited Enumerations
CImageEncoder:TOptions

Constructor & Destructor Documentation

CExtJpegEncoder()

CExtJpegEncoder()[private]

C++ default constructor.

~CExtJpegEncoder()

IMPORT_C~CExtJpegEncoder()[virtual]

Destructor.

Member Functions Documentation

CapabilitiesL()

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

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

IMPORT_C voidContinueConvertL(TRequestStatus *aRequestStatus,
const CVisualFrame *aSourceFrame,
TInt &aNoOfEncodedMBlocks
)
Asynchronous function for initiating one of the iterations of streamed encoding.
Since
3.2

Parameters

TRequestStatus * aRequestStatusThe pointer to the status of the operation that is set by the encoder after it is completed. After a complete successful operation, the status is KErrNone.
const CVisualFrame * aSourceFramePointer to the visual frame structure that is keeping the source image data. In streaming case, contains a part of the uncompressed image data at the beginning.
TInt & aNoOfEncodedMBlocksReference to the number of encoded macroblocks that is set by the encoder after the encoding is completed.

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

IMPORT_C voidConvertL(TRequestStatus *aRequestStatus,
const CVisualFrame *aSourceFrame,
TInt &aNoOfEncodedMBlocks,
const CFrameImageData *aFrameImageData = NULL
)
Asynchronous function for initiating the encoding.
Since
3.2

Parameters

TRequestStatus * aRequestStatusThe pointer to the status of the operation that is set by the encoder after it is completed. After a complete successful operation, the status is KErrNone.
const CVisualFrame * aSourceFramePointer to the visual frame structure that is keeping the source image data. In streaming case, contains a part of the uncompressed image data at the beginning.
TInt & aNoOfEncodedMBlocksReference to the number of encoded macroblocks that is set by the encoder after the encoding is completed.
const CFrameImageData * aFrameImageData = NULLPointer to optional frame image data structure defined in ICL.

DataNewL(HBufC8 *&, const TDesC8 &, const TOptions)

IMPORT_C CExtJpegEncoder *DataNewL(HBufC8 *&aDestinationData,
const TDesC8 &aMIMEType,
const TOptionsaOptions = EOptionNone
)[static]

Creates and initializes CExtJpegEncoder

Parameters

HBufC8 *& aDestinationDataPointer reference to the destination Jpeg data location that will be allocated by the encoder.
const TDesC8 & aMIMETypeThe Jpeg MIME type for matching the encoder plugin.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.

DataNewL(HBufC8 *&, const TOptions, const TUid, const TUid, const TUid)

IMPORT_C CExtJpegEncoder *DataNewL(HBufC8 *&aDestinationData,
const TOptionsaOptions = EOptionNone,
const TUidaImageType = KNullUid,
const TUidaImageSubType = KNullUid,
const TUidaEncoderUid = KNullUid
)[static]

Creates and initializes CExtJpegEncoder

Parameters

HBufC8 *& aDestinationDataPointer reference to the destination Jpeg data location that will be allocated by the encoder.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.
const TUid aImageType = KNullUidThe Jpeg image type.
const TUid aImageSubType = KNullUidThe Jpeg image subtype (Null UID).
const TUid aEncoderUid = KNullUidThe encoder plugin UID.

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

IMPORT_C CExtJpegEncoder *DataNewL(const CVisualFrame *aDestinationData,
const TDesC8 &aMIMEType,
const TOptionsaOptions = EOptionNone
)[static]

Creates and initializes CExtJpegEncoder

Parameters

const CVisualFrame * aDestinationDataPointer to the visual frame structure keeping the destination Jpeg data allocated with maximum size by the client.
const TDesC8 & aMIMETypeThe Jpeg MIME type for matching the encoder plugin.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.

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

IMPORT_C CExtJpegEncoder *DataNewL(const CVisualFrame *aDestinationData,
const TOptionsaOptions = EOptionNone,
const TUidaImageType = KNullUid,
const TUidaImageSubType = KNullUid,
const TUidaEncoderUid = KNullUid
)[static]

Creates and initializes CExtJpegEncoder

Parameters

const CVisualFrame * aDestinationDataPointer to the visual frame structure keeping the destination Jpeg data allocated with maximum size by the client.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.
const TUid aImageType = KNullUidThe Jpeg image type.
const TUid aImageSubType = KNullUidThe Jpeg image subtype (Null UID).
const TUid aEncoderUid = KNullUidThe encoder plugin UID.

DataNewL(const TEncoderType, HBufC8 *&, const TOptions)

IMPORT_C CExtJpegEncoder *DataNewL(const TEncoderTypeaEncoderType,
HBufC8 *&aDestinationData,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegEncoder
Since
3.2

Parameters

const TEncoderType aEncoderTypeEncoder implementation type: HW or SW.
HBufC8 *& aDestinationDataPointer reference to the destination Jpeg data location that will be allocated by the encoder.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.

DataNewL(const TEncoderType, const CVisualFrame *, const TOptions)

IMPORT_C CExtJpegEncoder *DataNewL(const TEncoderTypeaEncoderType,
const CVisualFrame *aDestinationData,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegEncoder
Since
3.2

Parameters

const TEncoderType aEncoderTypeEncoder implementation type: HW or SW.
const CVisualFrame * aDestinationDataPointer to the visual frame structure keeping the destination Jpeg data allocated with maximum size by the client.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.

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

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

Parameters

RFs & aFsA reference to a file server session to use.
const TDesC & aDestinationFilenameThe name of the destination Jpeg file.
const TDesC8 & aMIMETypeThe Jpeg MIME type for matching the encoder plugin.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.

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

IMPORT_C CExtJpegEncoder *FileNewL(RFs &aFs,
const TDesC &aDestinationFilename,
const TOptionsaOptions = EOptionNone,
const TUidaImageType = KNullUid,
const TUidaImageSubType = KNullUid,
const TUidaEncoderUid = KNullUid
)[static]

Creates and initializes CExtJpegEncoder

Parameters

RFs & aFsA reference to a file server session to use.
const TDesC & aDestinationFilenameThe name of the destination Jpeg file.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.
const TUid aImageType = KNullUid
const TUid aImageSubType = KNullUidThe Jpeg image subtype (Null UID).
const TUid aEncoderUid = KNullUidThe encoder plugin UID.

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

IMPORT_C CExtJpegEncoder *FileNewL(const TEncoderTypeaEncoderType,
RFs &aFs,
const TDesC &aDestinationFilename,
const TOptionsaOptions = EOptionNone
)[static]
Creates and initializes CExtJpegEncoder
Since
3.2

Parameters

const TEncoderType aEncoderTypeEncoder implementation type: HW or SW.
RFs & aFsA reference to a file server session to use.
const TDesC & aDestinationFilenameThe name of the destination Jpeg file.
const TOptions aOptions = EOptionNoneEncoder options defined in ICL.

GetDestinationDataSizeL()

IMPORT_C TIntGetDestinationDataSizeL()
Returns the actual destination buffer size
Since
3.2

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 CExtJpegEncoder *NewL()[static]

Symbian C++ Two-phased constructor.

ProvideNewDestDataL(const CVisualFrame *)

IMPORT_C voidProvideNewDestDataL(const CVisualFrame *aDestinationData)
Provides a new visual frame structure for the destination data replacing any previously delivered ones. All the operations coming after this function call should use the provided structure.
Since
3.2

Parameters

const CVisualFrame * aDestinationDataThe new visual frame structure for the destination data.

SetBitmapOverlayL(const CFbsBitmap &, TUint, TPoint)

IMPORT_C voidSetBitmapOverlayL(const CFbsBitmap &aOverlayBitmap,
TUintaAlphaValue,
TPointaOverlayPoint
)
Enables the use of overlay feature, where the given bitmap is overlayed transparently based on the given alpha value starting from the specified up-left corner point.
Since
3.2

Parameters

const CFbsBitmap & aOverlayBitmapThe bitmap that will be overlayed.
TUint aAlphaValueThe alpha value for the transparency of the overlayed bitmap.
TPoint aOverlayPointThe up-left corner point of the overlay region.

SetBitmapReplaceL(const CFbsBitmap &, TPoint)

IMPORT_C voidSetBitmapReplaceL(const CFbsBitmap &aReplaceBitmap,
TPointaReplacePoint
)
Enables the use of replacing feature, where the given bitmap is replaced starting from the specified up-left corner point.
Since
3.2

Parameters

const CFbsBitmap & aReplaceBitmapThe bitmap that will be replaced.
TPoint aReplacePointThe up-left corner point of the replacing region.

SetDctEncodingL()

IMPORT_C voidSetDctEncodingL()
Enables the use of DCT encoding feature.
Since
3.2

SetImageReplaceL(const CVisualFrame *, TPoint)

IMPORT_C voidSetImageReplaceL(const CVisualFrame *aReplaceImage,
TPointaReplacePoint
)
Enables the use of replacing feature, where the given image is replaced starting from the specified up-left corner point.
Since
3.2

Parameters

const CVisualFrame * aReplaceImageThe image data that will be replaced.
TPoint aReplacePointThe up-left corner point of the replacing region.

SetLosslessFlippingL()

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

SetLosslessMirroringL()

IMPORT_C voidSetLosslessMirroringL()
SEnables the use of lossless mirroring feature.
Since
3.2

SetLosslessRotationL(TInt)

IMPORT_C voidSetLosslessRotationL(TIntaDegree)
Enables the use of lossless 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 &, const CFrameImageData *)

IMPORT_C voidSetStreamingL(TSize &aMacroBlockSize,
const CFrameImageData *aFrameImageData = NULL
)
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 encoder.
const CFrameImageData * aFrameImageData = NULLThe pointer to the destination Jpeg image data structure.

SupportedFormatsL()

IMPORT_C TIntSupportedFormatsL()
Returns the source (uncompressed) data formats that are supported by the encoder.
Since
3.2

Member Enumerations Documentation

Enum TEncoderCapability

Enumerators

ECapNone = 0x0000
ECapStreaming = 0x0001
ECapBitmapOverlay = 0x0002
ECapImageReplacing = 0x0004
ECapBitmapReplacing = 0x0008
ECapLosslessRotation = 0x0010
ECapLosslessFlipping = 0x0020
ECapLosslessMirroring = 0x0040
ECapDctEncoding = 0x0080

Enum TEncoderOperations

Enumerators

EEnd = 0x00010000
ESupportedFormats = 0x00020000
ECapabilities = 0x00040000
EReadyForAsync = 0x00080000
EConvert = 0x00100000
EContinueConvert = 0x00200000
EDestVisualFrame = 0x00400000
ENewDestData = 0x00800000
EDestDataSize = 0x01000000

Enum TEncoderType

Enumerators

ESwImplementation = 0
EHwImplementation