CExtJpegEncoder Class Reference

class CExtJpegEncoder : public CJPEGImageFrameEncoder
CExtJpegEncoder IclExtJpegApi.lib
Since
3.2
Public Member Functions
~CExtJpegEncoder ()
IMPORT_C TInt CapabilitiesL ()
IMPORT_C void ContinueConvertL ( TRequestStatus *, const CVisualFrame *, TInt &)
IMPORT_C void ConvertL ( 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 TInt GetDestinationDataSizeL ()
IMPORT_C CExtJpegEncoder * NewL ()
IMPORT_C void ProvideNewDestDataL (const CVisualFrame *)
IMPORT_C void SetBitmapOverlayL (const CFbsBitmap &, TUint , TPoint )
IMPORT_C void SetBitmapReplaceL (const CFbsBitmap &, TPoint )
IMPORT_C void SetDctEncodingL ()
IMPORT_C void SetImageReplaceL (const CVisualFrame *, TPoint )
IMPORT_C void SetLosslessFlippingL ()
IMPORT_C void SetLosslessMirroringL ()
IMPORT_C void SetLosslessRotationL ( TInt )
IMPORT_C void SetStreamingL ( TSize &, const CFrameImageData *)
IMPORT_C TInt SupportedFormatsL ()
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
enum TEncoderCapability {
ECapNone  = 0x0000, ECapStreaming  = 0x0001, ECapBitmapOverlay  = 0x0002, ECapImageReplacing  = 0x0004, ECapBitmapReplacing  = 0x0008, ECapLosslessRotation  = 0x0010, ECapLosslessFlipping  = 0x0020, ECapLosslessMirroring  = 0x0040, ECapDctEncoding  = 0x0080
}
enum TEncoderOperations {
EEnd  = 0x00010000, ESupportedFormats  = 0x00020000, ECapabilities  = 0x00040000, EReadyForAsync  = 0x00080000, EConvert  = 0x00100000, EContinueConvert  = 0x00200000, EDestVisualFrame  = 0x00400000, ENewDestData  = 0x00800000, EDestDataSize  = 0x01000000
}
enum TEncoderType { 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 TInt CapabilitiesL ( )
Returns the Extended API features (capabilities) that are supported by the encoder.
Since
3.2

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

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

Parameters

TRequestStatus * aRequestStatus The 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 * aSourceFrame Pointer 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 & aNoOfEncodedMBlocks Reference 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 void ConvertL ( TRequestStatus * aRequestStatus,
const CVisualFrame * aSourceFrame,
TInt & aNoOfEncodedMBlocks,
const CFrameImageData * aFrameImageData = NULL
)
Asynchronous function for initiating the encoding.
Since
3.2

Parameters

TRequestStatus * aRequestStatus The 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 * aSourceFrame Pointer 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 & aNoOfEncodedMBlocks Reference to the number of encoded macroblocks that is set by the encoder after the encoding is completed.
const CFrameImageData * aFrameImageData = NULL Pointer 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 TOptions aOptions = EOptionNone
) [static]

Creates and initializes CExtJpegEncoder

Parameters

HBufC8 *& aDestinationData Pointer reference to the destination Jpeg data location that will be allocated by the encoder.
const TDesC8 & aMIMEType The Jpeg MIME type for matching the encoder plugin.
const TOptions aOptions = EOptionNone Encoder options defined in ICL.

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

IMPORT_C CExtJpegEncoder * DataNewL ( HBufC8 *& aDestinationData,
const TOptions aOptions = EOptionNone,
const TUid aImageType = KNullUid,
const TUid aImageSubType = KNullUid,
const TUid aEncoderUid = KNullUid
) [static]

Creates and initializes CExtJpegEncoder

Parameters

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

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

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

Creates and initializes CExtJpegEncoder

Parameters

const CVisualFrame * aDestinationData Pointer to the visual frame structure keeping the destination Jpeg data allocated with maximum size by the client.
const TDesC8 & aMIMEType The Jpeg MIME type for matching the encoder plugin.
const TOptions aOptions = EOptionNone Encoder options defined in ICL.

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

IMPORT_C CExtJpegEncoder * DataNewL ( const CVisualFrame * aDestinationData,
const TOptions aOptions = EOptionNone,
const TUid aImageType = KNullUid,
const TUid aImageSubType = KNullUid,
const TUid aEncoderUid = KNullUid
) [static]

Creates and initializes CExtJpegEncoder

Parameters

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

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

IMPORT_C CExtJpegEncoder * DataNewL ( const TEncoderType aEncoderType,
HBufC8 *& aDestinationData,
const TOptions aOptions = EOptionNone
) [static]
Creates and initializes CExtJpegEncoder
Since
3.2

Parameters

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

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

IMPORT_C CExtJpegEncoder * DataNewL ( const TEncoderType aEncoderType,
const CVisualFrame * aDestinationData,
const TOptions aOptions = EOptionNone
) [static]
Creates and initializes CExtJpegEncoder
Since
3.2

Parameters

const TEncoderType aEncoderType Encoder implementation type: HW or SW.
const CVisualFrame * aDestinationData Pointer to the visual frame structure keeping the destination Jpeg data allocated with maximum size by the client.
const TOptions aOptions = EOptionNone Encoder 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 TOptions aOptions = EOptionNone
) [static]
Creates and initializes CExtJpegEncoder
Since
3.2

Parameters

RFs & aFs A reference to a file server session to use.
const TDesC & aDestinationFilename The name of the destination Jpeg file.
const TDesC8 & aMIMEType The Jpeg MIME type for matching the encoder plugin.
const TOptions aOptions = EOptionNone Encoder 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 TOptions aOptions = EOptionNone,
const TUid aImageType = KNullUid,
const TUid aImageSubType = KNullUid,
const TUid aEncoderUid = KNullUid
) [static]

Creates and initializes CExtJpegEncoder

Parameters

RFs & aFs A reference to a file server session to use.
const TDesC & aDestinationFilename The name of the destination Jpeg file.
const TOptions aOptions = EOptionNone Encoder options defined in ICL.
const TUid aImageType = KNullUid
const TUid aImageSubType = KNullUid The Jpeg image subtype (Null UID).
const TUid aEncoderUid = KNullUid The encoder plugin UID.

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

IMPORT_C CExtJpegEncoder * FileNewL ( const TEncoderType aEncoderType,
RFs & aFs,
const TDesC & aDestinationFilename,
const TOptions aOptions = EOptionNone
) [static]
Creates and initializes CExtJpegEncoder
Since
3.2

Parameters

const TEncoderType aEncoderType Encoder implementation type: HW or SW.
RFs & aFs A reference to a file server session to use.
const TDesC & aDestinationFilename The name of the destination Jpeg file.
const TOptions aOptions = EOptionNone Encoder options defined in ICL.

GetDestinationDataSizeL()

IMPORT_C TInt GetDestinationDataSizeL ( )
Returns the actual destination buffer size
Since
3.2

GetUidByVersionRangeL(TInt, TInt)

TUid GetUidByVersionRangeL ( TInt aMinVersion,
TInt aMaxVersion
) [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 void ProvideNewDestDataL ( 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 * aDestinationData The new visual frame structure for the destination data.

SetBitmapOverlayL(const CFbsBitmap &, TUint, TPoint)

IMPORT_C void SetBitmapOverlayL ( const CFbsBitmap & aOverlayBitmap,
TUint aAlphaValue,
TPoint aOverlayPoint
)
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 & aOverlayBitmap The bitmap that will be overlayed.
TUint aAlphaValue The alpha value for the transparency of the overlayed bitmap.
TPoint aOverlayPoint The up-left corner point of the overlay region.

SetBitmapReplaceL(const CFbsBitmap &, TPoint)

IMPORT_C void SetBitmapReplaceL ( const CFbsBitmap & aReplaceBitmap,
TPoint aReplacePoint
)
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 & aReplaceBitmap The bitmap that will be replaced.
TPoint aReplacePoint The up-left corner point of the replacing region.

SetDctEncodingL()

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

SetImageReplaceL(const CVisualFrame *, TPoint)

IMPORT_C void SetImageReplaceL ( const CVisualFrame * aReplaceImage,
TPoint aReplacePoint
)
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 * aReplaceImage The image data that will be replaced.
TPoint aReplacePoint The up-left corner point of the replacing region.

SetLosslessFlippingL()

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

SetLosslessMirroringL()

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

SetLosslessRotationL(TInt)

IMPORT_C void SetLosslessRotationL ( TInt aDegree )
Enables the use of lossless rotation feature and specifies the rotating degree.
Since
3.2

Parameters

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

SetStreamingL(TSize &, const CFrameImageData *)

IMPORT_C void SetStreamingL ( 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 & aMacroBlockSize The macroblock dimensions in the Jpeg image that is set by the encoder.
const CFrameImageData * aFrameImageData = NULL The pointer to the destination Jpeg image data structure.

SupportedFormatsL()

IMPORT_C TInt SupportedFormatsL ( )
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