--- a/imageadaptationextensions/data/ImageAdaptationExtensions_stub.pkg Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description:
-;
-; Languages
-&EN
-
-; Header
-#{"Image Adaptation Extensions"}, (0x10204BF0), 1, 0, 0, TYPE=SA
-
-; Localised Vendor name
-%{"Nokia"}
-
-; Unique Vendor name
-:"Nokia"
-
-; Files
-; -----
-
-""-"z:\sys\bin\IclExtJpegApi.dll"
-
Binary file imageadaptationextensions/data/ImageAdaptationExtensions_stub.sis has changed
--- a/imageadaptationextensions/data/bld.inf Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-ImageAdaptationExtensions_stub.sis /epoc32/data/z/system/install/ImageAdaptationExtensions_stub.sis
-
-
-// End of File
-
--- a/imageadaptationextensions/group/bld.inf Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../data/ImageAdaptationExtensions_stub.sis /epoc32/data/z/system/install/ImageAdaptationExtensions_stub.sis
-
-PRJ_MMPFILES
-#include "../iclextjpegapi/group/bld.inf"
-
-
-
-// End of File
-
--- a/imageadaptationextensions/iclextjpegapi/BWINS/IclExtJpegApiU.DEF Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-EXPORTS
- ??1CExtJpegDecoder@@UAE@XZ @ 1 NONAME ; CExtJpegDecoder::~CExtJpegDecoder(void)
- ??1CExtJpegEncoder@@UAE@XZ @ 2 NONAME ; CExtJpegEncoder::~CExtJpegEncoder(void)
- ??1CVisualFrame@@UAE@XZ @ 3 NONAME ; CVisualFrame::~CVisualFrame(void)
- ?CapabilitiesL@CExtJpegDecoder@@QAEHXZ @ 4 NONAME ; int CExtJpegDecoder::CapabilitiesL(void)
- ?CapabilitiesL@CExtJpegEncoder@@QAEHXZ @ 5 NONAME ; int CExtJpegEncoder::CapabilitiesL(void)
- ?ContinueConvertL@CExtJpegDecoder@@QAEXPAVTRequestStatus@@PBVCVisualFrame@@AAHH@Z @ 6 NONAME ; void CExtJpegDecoder::ContinueConvertL(class TRequestStatus *, class CVisualFrame const *, int &, int)
- ?ContinueConvertL@CExtJpegEncoder@@QAEXPAVTRequestStatus@@PBVCVisualFrame@@AAH@Z @ 7 NONAME ; void CExtJpegEncoder::ContinueConvertL(class TRequestStatus *, class CVisualFrame const *, int &)
- ?ConvertL@CExtJpegDecoder@@QAEXPAVTRequestStatus@@PBVCVisualFrame@@AAHH@Z @ 8 NONAME ; void CExtJpegDecoder::ConvertL(class TRequestStatus *, class CVisualFrame const *, int &, int)
- ?ConvertL@CExtJpegEncoder@@QAEXPAVTRequestStatus@@PBVCVisualFrame@@AAHPBVCFrameImageData@@@Z @ 9 NONAME ; void CExtJpegEncoder::ConvertL(class TRequestStatus *, class CVisualFrame const *, int &, class CFrameImageData const *)
- ?DataChunkL@CVisualFrame@@QBEABVRChunk@@XZ @ 10 NONAME ; class RChunk const & CVisualFrame::DataChunkL(void) const
- ?DataContainer@CVisualFrame@@QBE?AW4TDataContainer@1@XZ @ 11 NONAME ; enum CVisualFrame::TDataContainer CVisualFrame::DataContainer(void) const
- ?DataNewL@CExtJpegDecoder@@SAPAV1@AAVRFs@@ABVTDesC8@@1W4TOptions@CImageDecoder@@@Z @ 12 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::DataNewL(class RFs &, class TDesC8 const &, class TDesC8 const &, enum CImageDecoder::TOptions)
- ?DataNewL@CExtJpegDecoder@@SAPAV1@AAVRFs@@ABVTDesC8@@W4TOptions@CImageDecoder@@VTUid@@33@Z @ 13 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::DataNewL(class RFs &, class TDesC8 const &, enum CImageDecoder::TOptions, class TUid, class TUid, class TUid)
- ?DataNewL@CExtJpegDecoder@@SAPAV1@AAVRFs@@PBVCVisualFrame@@ABVTDesC8@@W4TOptions@CImageDecoder@@@Z @ 14 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::DataNewL(class RFs &, class CVisualFrame const *, class TDesC8 const &, enum CImageDecoder::TOptions)
- ?DataNewL@CExtJpegDecoder@@SAPAV1@AAVRFs@@PBVCVisualFrame@@W4TOptions@CImageDecoder@@VTUid@@33@Z @ 15 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::DataNewL(class RFs &, class CVisualFrame const *, enum CImageDecoder::TOptions, class TUid, class TUid, class TUid)
- ?DataNewL@CExtJpegDecoder@@SAPAV1@W4TDecoderType@1@AAVRFs@@ABVTDesC8@@W4TOptions@CImageDecoder@@@Z @ 16 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::DataNewL(enum CExtJpegDecoder::TDecoderType, class RFs &, class TDesC8 const &, enum CImageDecoder::TOptions)
- ?DataNewL@CExtJpegDecoder@@SAPAV1@W4TDecoderType@1@AAVRFs@@PBVCVisualFrame@@W4TOptions@CImageDecoder@@@Z @ 17 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::DataNewL(enum CExtJpegDecoder::TDecoderType, class RFs &, class CVisualFrame const *, enum CImageDecoder::TOptions)
- ?DataNewL@CExtJpegEncoder@@SAPAV1@AAPAVHBufC8@@ABVTDesC8@@W4TOptions@CImageEncoder@@@Z @ 18 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::DataNewL(class HBufC8 * &, class TDesC8 const &, enum CImageEncoder::TOptions)
- ?DataNewL@CExtJpegEncoder@@SAPAV1@AAPAVHBufC8@@W4TOptions@CImageEncoder@@VTUid@@22@Z @ 19 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::DataNewL(class HBufC8 * &, enum CImageEncoder::TOptions, class TUid, class TUid, class TUid)
- ?DataNewL@CExtJpegEncoder@@SAPAV1@PBVCVisualFrame@@ABVTDesC8@@W4TOptions@CImageEncoder@@@Z @ 20 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::DataNewL(class CVisualFrame const *, class TDesC8 const &, enum CImageEncoder::TOptions)
- ?DataNewL@CExtJpegEncoder@@SAPAV1@PBVCVisualFrame@@W4TOptions@CImageEncoder@@VTUid@@22@Z @ 21 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::DataNewL(class CVisualFrame const *, enum CImageEncoder::TOptions, class TUid, class TUid, class TUid)
- ?DataNewL@CExtJpegEncoder@@SAPAV1@W4TEncoderType@1@AAPAVHBufC8@@W4TOptions@CImageEncoder@@@Z @ 22 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::DataNewL(enum CExtJpegEncoder::TEncoderType, class HBufC8 * &, enum CImageEncoder::TOptions)
- ?DataNewL@CExtJpegEncoder@@SAPAV1@W4TEncoderType@1@PBVCVisualFrame@@W4TOptions@CImageEncoder@@@Z @ 23 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::DataNewL(enum CExtJpegEncoder::TEncoderType, class CVisualFrame const *, enum CImageEncoder::TOptions)
- ?DataOffset@CVisualFrame@@QBEHXZ @ 24 NONAME ; int CVisualFrame::DataOffset(void) const
- ?DataPtrL@CVisualFrame@@QBE?AVTPtr8@@XZ @ 25 NONAME ; class TPtr8 CVisualFrame::DataPtrL(void) const
- ?Dimension@CVisualFrame@@QBE?AVTSize@@XZ @ 26 NONAME ; class TSize CVisualFrame::Dimension(void) const
- ?FileNewL@CExtJpegDecoder@@SAPAV1@AAVRFs@@ABVTDesC16@@ABVTDesC8@@W4TOptions@CImageDecoder@@@Z @ 27 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::FileNewL(class RFs &, class TDesC16 const &, class TDesC8 const &, enum CImageDecoder::TOptions)
- ?FileNewL@CExtJpegDecoder@@SAPAV1@AAVRFs@@ABVTDesC16@@W4TOptions@CImageDecoder@@VTUid@@33@Z @ 28 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::FileNewL(class RFs &, class TDesC16 const &, enum CImageDecoder::TOptions, class TUid, class TUid, class TUid)
- ?FileNewL@CExtJpegDecoder@@SAPAV1@W4TDecoderType@1@AAVRFs@@ABVTDesC16@@W4TOptions@CImageDecoder@@@Z @ 29 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::FileNewL(enum CExtJpegDecoder::TDecoderType, class RFs &, class TDesC16 const &, enum CImageDecoder::TOptions)
- ?FileNewL@CExtJpegEncoder@@SAPAV1@AAVRFs@@ABVTDesC16@@ABVTDesC8@@W4TOptions@CImageEncoder@@@Z @ 30 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::FileNewL(class RFs &, class TDesC16 const &, class TDesC8 const &, enum CImageEncoder::TOptions)
- ?FileNewL@CExtJpegEncoder@@SAPAV1@AAVRFs@@ABVTDesC16@@W4TOptions@CImageEncoder@@VTUid@@33@Z @ 31 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::FileNewL(class RFs &, class TDesC16 const &, enum CImageEncoder::TOptions, class TUid, class TUid, class TUid)
- ?FileNewL@CExtJpegEncoder@@SAPAV1@W4TEncoderType@1@AAVRFs@@ABVTDesC16@@W4TOptions@CImageEncoder@@@Z @ 32 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::FileNewL(enum CExtJpegEncoder::TEncoderType, class RFs &, class TDesC16 const &, enum CImageEncoder::TOptions)
- ?FrameFormat@CVisualFrame@@QBEHXZ @ 33 NONAME ; int CVisualFrame::FrameFormat(void) const
- ?FrameLayout@CVisualFrame@@QBEABVTFrameLayout@1@XZ @ 34 NONAME ; class CVisualFrame::TFrameLayout const & CVisualFrame::FrameLayout(void) const
- ?GetDestinationDataSizeL@CExtJpegEncoder@@QAEHXZ @ 35 NONAME ; int CExtJpegEncoder::GetDestinationDataSizeL(void)
- ?MaxSize@CVisualFrame@@QBEHXZ @ 36 NONAME ; int CVisualFrame::MaxSize(void) const
- ?NewL@CExtJpegDecoder@@SAPAV1@XZ @ 37 NONAME ; class CExtJpegDecoder * CExtJpegDecoder::NewL(void)
- ?NewL@CExtJpegEncoder@@SAPAV1@XZ @ 38 NONAME ; class CExtJpegEncoder * CExtJpegEncoder::NewL(void)
- ?NewL@CVisualFrame@@SAPAV1@AAVRChunk@@HHABVTSize@@HABVTFrameLayout@1@@Z @ 39 NONAME ; class CVisualFrame * CVisualFrame::NewL(class RChunk &, int, int, class TSize const &, int, class CVisualFrame::TFrameLayout const &)
- ?NewL@CVisualFrame@@SAPAV1@AAVRChunk@@HHHABVTSize@@H@Z @ 40 NONAME ; class CVisualFrame * CVisualFrame::NewL(class RChunk &, int, int, int, class TSize const &, int)
- ?NewL@CVisualFrame@@SAPAV1@AAVTDes8@@ABVTSize@@H@Z @ 41 NONAME ; class CVisualFrame * CVisualFrame::NewL(class TDes8 &, class TSize const &, int)
- ?NewL@CVisualFrame@@SAPAV1@AAVTDes8@@ABVTSize@@HABVTFrameLayout@1@@Z @ 42 NONAME ; class CVisualFrame * CVisualFrame::NewL(class TDes8 &, class TSize const &, int, class CVisualFrame::TFrameLayout const &)
- ?ProvideNewDestDataL@CExtJpegEncoder@@QAEXPBVCVisualFrame@@@Z @ 43 NONAME ; void CExtJpegEncoder::ProvideNewDestDataL(class CVisualFrame const *)
- ?SetBitmapOverlayL@CExtJpegEncoder@@QAEXABVCFbsBitmap@@IVTPoint@@@Z @ 44 NONAME ; void CExtJpegEncoder::SetBitmapOverlayL(class CFbsBitmap const &, unsigned int, class TPoint)
- ?SetBitmapReplaceL@CExtJpegEncoder@@QAEXABVCFbsBitmap@@VTPoint@@@Z @ 45 NONAME ; void CExtJpegEncoder::SetBitmapReplaceL(class CFbsBitmap const &, class TPoint)
- ?SetCroppingL@CExtJpegDecoder@@QAEXVTRect@@@Z @ 46 NONAME ; void CExtJpegDecoder::SetCroppingL(class TRect)
- ?SetDctDecodingL@CExtJpegDecoder@@QAEXXZ @ 47 NONAME ; void CExtJpegDecoder::SetDctDecodingL(void)
- ?SetDctEncodingL@CExtJpegEncoder@@QAEXXZ @ 48 NONAME ; void CExtJpegEncoder::SetDctEncodingL(void)
- ?SetFlippingL@CExtJpegDecoder@@QAEXXZ @ 49 NONAME ; void CExtJpegDecoder::SetFlippingL(void)
- ?SetImageReplaceL@CExtJpegEncoder@@QAEXPBVCVisualFrame@@VTPoint@@@Z @ 50 NONAME ; void CExtJpegEncoder::SetImageReplaceL(class CVisualFrame const *, class TPoint)
- ?SetLosslessFlippingL@CExtJpegEncoder@@QAEXXZ @ 51 NONAME ; void CExtJpegEncoder::SetLosslessFlippingL(void)
- ?SetLosslessMirroringL@CExtJpegEncoder@@QAEXXZ @ 52 NONAME ; void CExtJpegEncoder::SetLosslessMirroringL(void)
- ?SetLosslessRotationL@CExtJpegEncoder@@QAEXH@Z @ 53 NONAME ; void CExtJpegEncoder::SetLosslessRotationL(int)
- ?SetMirroringL@CExtJpegDecoder@@QAEXXZ @ 54 NONAME ; void CExtJpegDecoder::SetMirroringL(void)
- ?SetRotationL@CExtJpegDecoder@@QAEXH@Z @ 55 NONAME ; void CExtJpegDecoder::SetRotationL(int)
- ?SetSizeL@CVisualFrame@@QAEXH@Z @ 56 NONAME ; void CVisualFrame::SetSizeL(int)
- ?SetStreamingL@CExtJpegDecoder@@QAEXAAVTSize@@@Z @ 57 NONAME ; void CExtJpegDecoder::SetStreamingL(class TSize &)
- ?SetStreamingL@CExtJpegEncoder@@QAEXAAVTSize@@PBVCFrameImageData@@@Z @ 58 NONAME ; void CExtJpegEncoder::SetStreamingL(class TSize &, class CFrameImageData const *)
- ?Size@CVisualFrame@@QBEHXZ @ 59 NONAME ; int CVisualFrame::Size(void) const
- ?SupportedFormatsL@CExtJpegDecoder@@QAEHXZ @ 60 NONAME ; int CExtJpegDecoder::SupportedFormatsL(void)
- ?SupportedFormatsL@CExtJpegEncoder@@QAEHXZ @ 61 NONAME ; int CExtJpegEncoder::SupportedFormatsL(void)
- ?GetImageFrameL@CVisualFrame@@QAEPAVCImageFrame@@XZ @ 62 NONAME ; class CImageFrame * CVisualFrame::GetImageFrameL(void)
- ?NewL@CVisualFrame@@SAPAV1@PBVCImageFrame@@@Z @ 63 NONAME ; class CVisualFrame * CVisualFrame::NewL(class CImageFrame const *)
- ?ContinueConvert@CExtJpegDecoder@@UAEXPAVTRequestStatus@@@Z @ 64 NONAME ; void CExtJpegDecoder::ContinueConvert(class TRequestStatus *)
- ?Convert@CExtJpegDecoder@@UAEXPAVTRequestStatus@@AAVCFbsBitmap@@1H@Z @ 65 NONAME ; void CExtJpegDecoder::Convert(class TRequestStatus *, class CFbsBitmap &, class CFbsBitmap &, int)
- ?Convert@CExtJpegDecoder@@UAEXPAVTRequestStatus@@AAVCFbsBitmap@@H@Z @ 66 NONAME ; void CExtJpegDecoder::Convert(class TRequestStatus *, class CFbsBitmap &, int)
-
--- a/imageadaptationextensions/iclextjpegapi/EABI/IclExtJpegApiU.DEF Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-EXPORTS
- _ZN12CVisualFrame14GetImageFrameLEv @ 1 NONAME
- _ZN12CVisualFrame4NewLEPK11CImageFrame @ 2 NONAME
- _ZN12CVisualFrame4NewLER5TDes8RK5TSizei @ 3 NONAME
- _ZN12CVisualFrame4NewLER5TDes8RK5TSizeiRKNS_12TFrameLayoutE @ 4 NONAME
- _ZN12CVisualFrame4NewLER6RChunkiiRK5TSizeiRKNS_12TFrameLayoutE @ 5 NONAME
- _ZN12CVisualFrame4NewLER6RChunkiiiRK5TSizei @ 6 NONAME
- _ZN12CVisualFrame8SetSizeLEi @ 7 NONAME
- _ZN12CVisualFrameD0Ev @ 8 NONAME
- _ZN12CVisualFrameD1Ev @ 9 NONAME
- _ZN12CVisualFrameD2Ev @ 10 NONAME
- _ZN15CExtJpegDecoder12SetCroppingLE5TRect @ 11 NONAME
- _ZN15CExtJpegDecoder12SetFlippingLEv @ 12 NONAME
- _ZN15CExtJpegDecoder12SetRotationLEi @ 13 NONAME
- _ZN15CExtJpegDecoder13CapabilitiesLEv @ 14 NONAME
- _ZN15CExtJpegDecoder13SetMirroringLEv @ 15 NONAME
- _ZN15CExtJpegDecoder13SetStreamingLER5TSize @ 16 NONAME
- _ZN15CExtJpegDecoder15SetDctDecodingLEv @ 17 NONAME
- _ZN15CExtJpegDecoder16ContinueConvertLEP14TRequestStatusPK12CVisualFrameRii @ 18 NONAME
- _ZN15CExtJpegDecoder17SupportedFormatsLEv @ 19 NONAME
- _ZN15CExtJpegDecoder4NewLEv @ 20 NONAME
- _ZN15CExtJpegDecoder8ConvertLEP14TRequestStatusPK12CVisualFrameRii @ 21 NONAME
- _ZN15CExtJpegDecoder8DataNewLENS_12TDecoderTypeER3RFsPK12CVisualFrameN13CImageDecoder8TOptionsE @ 22 NONAME
- _ZN15CExtJpegDecoder8DataNewLENS_12TDecoderTypeER3RFsRK6TDesC8N13CImageDecoder8TOptionsE @ 23 NONAME
- _ZN15CExtJpegDecoder8DataNewLER3RFsPK12CVisualFrameN13CImageDecoder8TOptionsE4TUidS7_S7_ @ 24 NONAME
- _ZN15CExtJpegDecoder8DataNewLER3RFsPK12CVisualFrameRK6TDesC8N13CImageDecoder8TOptionsE @ 25 NONAME
- _ZN15CExtJpegDecoder8DataNewLER3RFsRK6TDesC8N13CImageDecoder8TOptionsE4TUidS7_S7_ @ 26 NONAME
- _ZN15CExtJpegDecoder8DataNewLER3RFsRK6TDesC8S4_N13CImageDecoder8TOptionsE @ 27 NONAME
- _ZN15CExtJpegDecoder8FileNewLENS_12TDecoderTypeER3RFsRK7TDesC16N13CImageDecoder8TOptionsE @ 28 NONAME
- _ZN15CExtJpegDecoder8FileNewLER3RFsRK7TDesC16N13CImageDecoder8TOptionsE4TUidS7_S7_ @ 29 NONAME
- _ZN15CExtJpegDecoder8FileNewLER3RFsRK7TDesC16RK6TDesC8N13CImageDecoder8TOptionsE @ 30 NONAME
- _ZN15CExtJpegDecoderD0Ev @ 31 NONAME
- _ZN15CExtJpegDecoderD1Ev @ 32 NONAME
- _ZN15CExtJpegDecoderD2Ev @ 33 NONAME
- _ZN15CExtJpegEncoder13CapabilitiesLEv @ 34 NONAME
- _ZN15CExtJpegEncoder13SetStreamingLER5TSizePK15CFrameImageData @ 35 NONAME
- _ZN15CExtJpegEncoder15SetDctEncodingLEv @ 36 NONAME
- _ZN15CExtJpegEncoder16ContinueConvertLEP14TRequestStatusPK12CVisualFrameRi @ 37 NONAME
- _ZN15CExtJpegEncoder16SetImageReplaceLEPK12CVisualFrame6TPoint @ 38 NONAME
- _ZN15CExtJpegEncoder17SetBitmapOverlayLERK10CFbsBitmapj6TPoint @ 39 NONAME
- _ZN15CExtJpegEncoder17SetBitmapReplaceLERK10CFbsBitmap6TPoint @ 40 NONAME
- _ZN15CExtJpegEncoder17SupportedFormatsLEv @ 41 NONAME
- _ZN15CExtJpegEncoder19ProvideNewDestDataLEPK12CVisualFrame @ 42 NONAME
- _ZN15CExtJpegEncoder20SetLosslessFlippingLEv @ 43 NONAME
- _ZN15CExtJpegEncoder20SetLosslessRotationLEi @ 44 NONAME
- _ZN15CExtJpegEncoder21SetLosslessMirroringLEv @ 45 NONAME
- _ZN15CExtJpegEncoder23GetDestinationDataSizeLEv @ 46 NONAME
- _ZN15CExtJpegEncoder4NewLEv @ 47 NONAME
- _ZN15CExtJpegEncoder8ConvertLEP14TRequestStatusPK12CVisualFrameRiPK15CFrameImageData @ 48 NONAME
- _ZN15CExtJpegEncoder8DataNewLENS_12TEncoderTypeEPK12CVisualFrameN13CImageEncoder8TOptionsE @ 49 NONAME
- _ZN15CExtJpegEncoder8DataNewLENS_12TEncoderTypeERP6HBufC8N13CImageEncoder8TOptionsE @ 50 NONAME
- _ZN15CExtJpegEncoder8DataNewLEPK12CVisualFrameN13CImageEncoder8TOptionsE4TUidS5_S5_ @ 51 NONAME
- _ZN15CExtJpegEncoder8DataNewLEPK12CVisualFrameRK6TDesC8N13CImageEncoder8TOptionsE @ 52 NONAME
- _ZN15CExtJpegEncoder8DataNewLERP6HBufC8N13CImageEncoder8TOptionsE4TUidS5_S5_ @ 53 NONAME
- _ZN15CExtJpegEncoder8DataNewLERP6HBufC8RK6TDesC8N13CImageEncoder8TOptionsE @ 54 NONAME
- _ZN15CExtJpegEncoder8FileNewLENS_12TEncoderTypeER3RFsRK7TDesC16N13CImageEncoder8TOptionsE @ 55 NONAME
- _ZN15CExtJpegEncoder8FileNewLER3RFsRK7TDesC16N13CImageEncoder8TOptionsE4TUidS7_S7_ @ 56 NONAME
- _ZN15CExtJpegEncoder8FileNewLER3RFsRK7TDesC16RK6TDesC8N13CImageEncoder8TOptionsE @ 57 NONAME
- _ZN15CExtJpegEncoderD0Ev @ 58 NONAME
- _ZN15CExtJpegEncoderD1Ev @ 59 NONAME
- _ZN15CExtJpegEncoderD2Ev @ 60 NONAME
- _ZNK12CVisualFrame10DataChunkLEv @ 61 NONAME
- _ZNK12CVisualFrame10DataOffsetEv @ 62 NONAME
- _ZNK12CVisualFrame11FrameFormatEv @ 63 NONAME
- _ZNK12CVisualFrame11FrameLayoutEv @ 64 NONAME
- _ZNK12CVisualFrame13DataContainerEv @ 65 NONAME
- _ZNK12CVisualFrame4SizeEv @ 66 NONAME
- _ZNK12CVisualFrame7MaxSizeEv @ 67 NONAME
- _ZNK12CVisualFrame8DataPtrLEv @ 68 NONAME
- _ZNK12CVisualFrame9DimensionEv @ 69 NONAME
- _ZTI12CVisualFrame @ 70 NONAME ; #<TI>#
- _ZTI15CExtJpegDecoder @ 71 NONAME ; #<TI>#
- _ZTI15CExtJpegEncoder @ 72 NONAME ; #<TI>#
- _ZTI16CVisualFrameImpl @ 73 NONAME ; #<TI>#
- _ZTV12CVisualFrame @ 74 NONAME ; #<VT>#
- _ZTV15CExtJpegDecoder @ 75 NONAME ; #<VT>#
- _ZTV15CExtJpegEncoder @ 76 NONAME ; #<VT>#
- _ZTV16CVisualFrameImpl @ 77 NONAME ; #<VT>#
- _ZN15CExtJpegDecoder15ContinueConvertEP14TRequestStatus @ 78 NONAME
- _ZN15CExtJpegDecoder7ConvertEP14TRequestStatusR10CFbsBitmapS3_i @ 79 NONAME
- _ZN15CExtJpegDecoder7ConvertEP14TRequestStatusR10CFbsBitmapi @ 80 NONAME
-
--- a/imageadaptationextensions/iclextjpegapi/group/IclExtJpegApi.mmp Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Project specification file for IclExtJpegApi.
-*
-*/
-
-#include <icl/icl_uids.hrh>
-#include <platform_paths.hrh>
-
-TARGET IclExtJpegApi.dll
-CAPABILITY CAP_GENERAL_DLL
-targettype DLL
-
-UID 0x1000008D 0x10204BF0
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE IclExtJpegApi.cpp
-SOURCE IclExtJpegApiFrameImplV2.cpp
-
-USERINCLUDE ../inc
-OS_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/icl
-
-LIBRARY euser.lib
-LIBRARY ImageConversion.lib
-LIBRARY ecom.lib
-LIBRARY Jpegimageframeplugin.lib
-
-// End of file
--- a/imageadaptationextensions/iclextjpegapi/group/bld.inf Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2005, 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Build information file for Extended ICL API.
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-../rom/IclExtJpegApi.iby CORE_OS_LAYER_IBY_EXPORT_PATH(IclExtJpegApi.iby)
-
-PRJ_MMPFILES
-IclExtJpegApi.mmp
-
-// End of File
-
--- a/imageadaptationextensions/iclextjpegapi/inc/IclExtJpegApiConst.h Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of constants for IclExtJpegApi
-*
-*/
-
-#ifndef _ICLEXTJPEGAPICONST_
-#define _ICLEXTJPEGAPICONST_
-
-//----------------------------------------------------------------------------
-// Common const definitions:
-//----------------------------------------------------------------------------
-_LIT8( KJpgMimeType,"image/jpeg" );
-_LIT( KJpgFileExt,".jpg" );
-
-const TInt KMinSwVersion = 64;
-const TInt KMinHwVersion = 0;
-const TInt KMaxSwVersion = 127;
-const TInt KMaxHwVersion = 63;
-
-//----------------------------------------------------------------------------
-// V2 specific variations:
-//----------------------------------------------------------------------------
-
-const TUid KUidExtIclImageFrameFormat = { 0x11111111 };
-
-//----------------------------------------------------------------------------
-// Initial version specific variations:
-//----------------------------------------------------------------------------
-
-#endif // _ICLEXTJPEGAPICONST_
-
-
-// End of File
--- a/imageadaptationextensions/iclextjpegapi/inc/IclExtJpegApiFrameImpl.h Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of TFrameFormatExt and CVisualFrameImpl
-*
-*/
-
-#ifndef _ICLEXTJPEGAPIFRAMEIMPL_
-#define _ICLEXTJPEGAPIFRAMEIMPL_
-
-#include <icl/icl_propertyuids.h>
-#include "IclExtJpegApiConst.h"
-
-class CVisualFrame::TFrameLayout;
-
-#include "imageframe.h"
-
-/**
-* TFrameFormatExt
-* @lib IclExtJpegApi.lib
-* @since 3.2
-*/
-class TFrameFormatExt : public TFrameFormatBase
- {
- public:
-
- /**
- * C++ default constructor.
- */
- TFrameFormatExt( TInt aFormatCode ) :
- TFrameFormatBase( KUidExtIclImageFrameFormat ),
- iFormatCode( aFormatCode )
- {
- Constructor();
- };
-
- /**
- * Duplicate
- * @since 3.2
- * @return TFrameFormatExt
- */
- TFrameFormatBase* DuplicateL() const
- {
- return new ( ELeave ) TFrameFormatExt( iFormatCode );
- };
-
- /**
- * Colour space
- * @since 3.2
- * @return TUid
- */
- TUid ColourSpace() const;
-
- /**
- * Sampling
- * @since 3.2
- * @return TUid
- */
- TUid Sampling() const;
-
- /**
- * Format code
- * @since 3.2
- * @return TInt
- */
- TInt FormatCode() const;
-
- /**
- * Set colour space
- * @since 3.2
- * @param aColourSpace
- * @return void
- */
- void SetColourSpace( TUid aColourSpace );
-
-
- protected:
-
- /**
- * constructor.
- */
- void Constructor();
-
- protected: // Data
-
- // The image frame colour space
- TUid iColourSpace;
- // The frame sampling
- TUid iSampling;
- // The image frame format code which uniquely identifies all other parameters.
- TInt iFormatCode;
-
- };
-
-
-/**
-* CVisualFrameImpl
-* @lib IclExtJpegApi.lib
-* @since 3.2
-*/
-class CVisualFrameImpl : public CImageFrame
- {
- public:
-
- /**
- * Two-phased constructor.
- * @since 3.2
- * @param aBuffer A descriptor reference to buffer containing the image data.
- * @param aDimension The dimensions of the corresponding image data.
- * @param aFrameFormat The frame format of the corresponding image data.
- */
- static CVisualFrameImpl* NewL(
- TDes8& aBuffer,
- const TSize& aDimension,
- TInt aFrameFormat );
-
- /**
- * Two-phased constructor.
- * @param aChunk An RChunk reference to buffer containing the image data.
- * @param aSize The amount of image data in bytes.
- * @param amaxSize The maximum size of the memory reserved in the chunk.
- * @param aDataOffset The offset value specifying the location of the image
- * data in the chunk.
- * @param aDimension The dimensions of the corresponding image data.
- * @param aFrameFormat The frame format of the corresponding image data.
- */
- static CVisualFrameImpl* NewL(
- RChunk& aChunk,
- TInt aSize,
- TInt aMaxSize,
- TInt aDataOffset,
- const TSize& aDimension,
- TInt aFrameFormat );
- /**
- * Two-phased constructor.
- * @param aBuffer A descriptor reference to buffer containing the image data.
- * @param aDimension The dimensions of the corresponding image data.
- * @param aFrameLayout The layout of the image color components.
- */
- static CVisualFrameImpl* NewL(
- TDes8& aBuffer,
- const TSize& aDimension,
- TInt aFrameFormat,
- const CVisualFrame::TFrameLayout& aFrameLayout );
-
- /**
- * Two-phased constructor.
- * @param aChunk An RChunk reference to buffer containing the image data.
- * @param aSize The amount of image data in bytes.
- * @param aMaxSize The maximum size of the memory reserved in the chunk for
- * the image data.
- * @param aDimension The dimensions of the corresponding image data.
- * @param aFrameFormat The frame format of the corresponding image data.
- * @param aFrameLayout The layout of the image color components. TFrameLayout
- * contains the scan line lengths and offsets for each component
- * in planar YUV case
- */
- static CVisualFrameImpl* NewL(
- RChunk& aChunk,
- TInt aSize,
- TInt aMaxSize,
- const TSize& aDimension,
- TInt aFrameFormat,
- const CVisualFrame::TFrameLayout& aFrameLayout );
-
- static CVisualFrameImpl* NewL( const CImageFrame* aImageFrame );
-
- /**
- * Get image frame
- * @since 3.2
- * @return CImageFrame
- */
- CImageFrame* GetImageFrameL();
-
- /**
- * Returns a constant reference to the chunk containing
- * the image data, if exists.
- * @since 3.2
- * @return RChunk
- */
- const RChunk& DataChunkL() const;
-
- /**
- * Returns a descriptor pointer to the image data location, if exists
- * @since 3.2
- * @return TPtr8
- */
- TPtr8 DataPtrL() const;
-
- /**
- * Returns the dimensions of the image.
- * @since 3.2
- * @return TSize
- */
- TSize Dimension() const;
-
- /**
- * Return the image data format.
- * @since 3.2
- * @return TInt
- */
- TInt FrameFormat2() const;
-
- /**
- * Returns the offset of the image data for non-planar,
- * single-component or compressed images.
- * @since 3.2
- * @return TInt
- */
- TInt DataOffset() const;
-
- /**
- * Returns the amount of stored image data in bytes.
- * @since 3.2
- * @return TInt
- */
- TInt Size() const;
-
- /**
- * Sets the amount of image data to the given value.
- * Should be called when the image data amount is modified explicitly.
- * @since 3.2
- * @param
- * @return void
- */
- void SetSizeL( TInt aSize );
-
- /**
- * Returns the maximum size of the memory space reserved for image data
- * @since 3.2
- * @return TInt
- */
- TInt MaxSize() const;
-
- /**
- * Returns the storage type of the image data.
- * @since 3.2
- * @return TInt
- */
- TInt DataContainer() const;
-
- /**
- * Returns the layout of the image data for planar compressed images.
- * @since 3.2
- * @param
- * @return CVisualFrame::TFrameLayout
- */
- const CVisualFrame::TFrameLayout& FrameLayout2() const;
-
- /**
- * Destructor.
- */
- virtual ~CVisualFrameImpl();
-
- private: // Data
-
- CVisualFrame::TFrameLayout iFrameLayout2;
-
- TInt iSize;
- };
-
-
-#endif // _ICLEXTJPEGAPIFRAMEIMPL_
-
-
-// End of File
--- a/imageadaptationextensions/iclextjpegapi/rom/IclExtJpegApi.iby Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Image description file for project IclExtJpegApi
-*
-*/
-
-
-#ifndef __ICLEXTJPEGAPI_IBY
-#define __ICLEXTJPEGAPI_IBY
-
-//ExifLib
-file=ABI_DIR\BUILD_DIR\IclExtJpegApi.dll SHARED_LIB_DIR\IclExtJpegApi.dll
-
-#endif //__ICLEXTJPEGAPI_IBY
--- a/imageadaptationextensions/iclextjpegapi/src/IclExtJpegApi.cpp Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1296 +0,0 @@
-/*
-* Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CVisualFrame, CExtJpegDecoder and CExtJpegEncoder
-*
-*/
-
-// INCLUDE FILES
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <icl_uids_def.hrh>
-#endif
-#include "IclExtJpegApi.h"
-#include "IclExtJpegApiFrameImpl.h"
-
-
-/*****************************************************/
-/* Visual Frame Data Structure in Extended ICL API */
-/*****************************************************/
-
-// ---------------------------------------------------------
-// CVisualFrame* CVisualFrame::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CVisualFrame* CVisualFrame::NewL(
- TDes8& aBuffer,
- const TSize& aDimension,
- TInt aFrameFormat )
- {
-
- CVisualFrame* self = new ( ELeave ) CVisualFrame();
- CleanupStack::PushL( self );
- self->iVisualFrameImpl = CVisualFrameImpl::NewL( aBuffer, aDimension, aFrameFormat );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CVisualFrame* CVisualFrame::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CVisualFrame* CVisualFrame::NewL(
- RChunk& aChunk,
- TInt aSize,
- TInt aMaxSize,
- TInt aDataOffset,
- const TSize& aDimension,
- TInt aFrameFormat )
- {
- CVisualFrame* self = new ( ELeave ) CVisualFrame();
- CleanupStack::PushL( self );
- self->iVisualFrameImpl = CVisualFrameImpl::NewL( aChunk, aSize, aMaxSize,
- aDataOffset, aDimension, aFrameFormat );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CVisualFrame* CVisualFrame::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CVisualFrame* CVisualFrame::NewL(
- TDes8& aBuffer,
- const TSize& aDimension,
- TInt aFrameFormat,
- const TFrameLayout& aFrameLayout )
- {
- CVisualFrame* self = new ( ELeave ) CVisualFrame();
- CleanupStack::PushL( self );
- self->iVisualFrameImpl = CVisualFrameImpl::NewL( aBuffer, aDimension,
- aFrameFormat, aFrameLayout );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CVisualFrame* CVisualFrame::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CVisualFrame* CVisualFrame::NewL(
- RChunk& aChunk,
- TInt aSize,
- TInt aMaxSize,
- const TSize& aDimension,
- TInt aFrameFormat,
- const TFrameLayout& aFrameLayout )
- {
- CVisualFrame* self = new ( ELeave ) CVisualFrame();
- CleanupStack::PushL( self );
- self->iVisualFrameImpl = CVisualFrameImpl::NewL( aChunk, aSize, aMaxSize,
- aDimension, aFrameFormat,
- aFrameLayout );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::DataChunkL
-// ----------------------------------------------------------
-//
-EXPORT_C const RChunk& CVisualFrame::DataChunkL() const
- {
- return iVisualFrameImpl->DataChunkL();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::DataPtrL
-// ----------------------------------------------------------
-//
-EXPORT_C TPtr8 CVisualFrame::DataPtrL() const
- {
- return iVisualFrameImpl->DataPtrL();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::Dimension
-// ----------------------------------------------------------
-//
-EXPORT_C TSize CVisualFrame::Dimension() const
- {
- return iVisualFrameImpl->Dimension();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::FrameFormat
-// ----------------------------------------------------------
-//
-EXPORT_C TInt CVisualFrame::FrameFormat() const
- {
- return iVisualFrameImpl->FrameFormat2();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::DataOffset
-// ----------------------------------------------------------
-//
-EXPORT_C TInt CVisualFrame::DataOffset() const
- {
- return iVisualFrameImpl->DataOffset();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::Size
-// ----------------------------------------------------------
-//
-EXPORT_C TInt CVisualFrame::Size() const
- {
- return iVisualFrameImpl->Size();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::SetSizeL
-// ----------------------------------------------------------
-//
-EXPORT_C void CVisualFrame::SetSizeL( TInt aSize )
- {
- iVisualFrameImpl->SetSizeL( aSize );
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::MaxSize
-// ----------------------------------------------------------
-//
-EXPORT_C TInt CVisualFrame::MaxSize() const
- {
- return iVisualFrameImpl->MaxSize();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::DataContainer
-// ----------------------------------------------------------
-//
-EXPORT_C CVisualFrame::TDataContainer CVisualFrame::DataContainer() const
- {
- return ( TDataContainer )iVisualFrameImpl->DataContainer();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::FrameLayout
-// ----------------------------------------------------------
-//
-EXPORT_C const CVisualFrame::TFrameLayout& CVisualFrame::FrameLayout() const
- {
- return iVisualFrameImpl->FrameLayout2();
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::~CVisualFrame
-// Destructor
-// ----------------------------------------------------------
-//
-EXPORT_C CVisualFrame::~CVisualFrame()
- {
- delete iVisualFrameImpl;
- }
-
-// ---------------------------------------------------------
-// CVisualFrame* CVisualFrame::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CVisualFrame* CVisualFrame::NewL( const CImageFrame* aImageFrame )
- {
- CVisualFrame* self = new ( ELeave ) CVisualFrame();
- CleanupStack::PushL( self );
- self->iVisualFrameImpl = CVisualFrameImpl::NewL( aImageFrame );
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ----------------------------------------------------------
-// CVisualFrame::GetImageFrameL
-// ----------------------------------------------------------
-//
-EXPORT_C CImageFrame* CVisualFrame::GetImageFrameL()
- {
- return iVisualFrameImpl->GetImageFrameL();
- }
-
-
-/*****************************************************/
-/* Extended ICL Jpeg Decoder API */
-/*****************************************************/
-
-// ---------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::NewL()
- {
- return new (ELeave) CExtJpegDecoder();
- }
-
-// ---------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::FileNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::FileNewL(
- RFs& aFs, const TDesC& aSourceFilename,
- const TDesC8& aMIMEType,
- const TOptions aOptions )
- {
- CExtJpegDecoder* dec = reinterpret_cast<CExtJpegDecoder*>(
- CImageDecoder::FileNewL( aFs, aSourceFilename,
- aMIMEType, aOptions ) );
- CleanupStack::PushL( dec );
- if ( dec->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return dec;
- }
-
-// ---------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::FileNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::FileNewL(
- RFs& aFs,
- const TDesC& aSourceFilename,
- const TOptions aOptions,
- const TUid aImageType,
- const TUid aImageSubType,
- const TUid aDecoderUid )
- {
- CExtJpegDecoder* dec = reinterpret_cast<CExtJpegDecoder*>(
- CImageDecoder::FileNewL( aFs, aSourceFilename, aOptions,
- aImageType, aImageSubType, aDecoderUid ) );
- CleanupStack::PushL( dec );
- if ( dec->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return dec;
- }
-
-// ---------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::DataNewL(
- RFs& aFs,
- const TDesC8& aSourceData,
- const TDesC8& aMIMEType,
- const TOptions aOptions )
- {
- CExtJpegDecoder* dec = reinterpret_cast<CExtJpegDecoder*>(
- CImageDecoder::DataNewL( aFs, aSourceData,
- aMIMEType, aOptions ) );
- CleanupStack::PushL( dec );
- if ( dec->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return dec;
- }
-
-// ---------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::DataNewL(
- RFs& aFs,
- const TDesC8& aSourceData,
- const TOptions aOptions,
- const TUid aImageType,
- const TUid aImageSubType,
- const TUid aDecoderUid )
- {
- CExtJpegDecoder* dec = reinterpret_cast<CExtJpegDecoder*>(
- CImageDecoder::DataNewL( aFs, aSourceData, aOptions,
- aImageType, aImageSubType, aDecoderUid ) );
- CleanupStack::PushL( dec );
- if ( dec->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return dec;
- }
-
-// ---------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::DataNewL(
- RFs& aFs,
- const CVisualFrame* aSourceData,
- const TDesC8& aMIMEType,
- const TOptions aOptions )
- {
-
- TUint8* sourcePtr = NULL;
- CVisualFrame* sourceDataFrame = const_cast<CVisualFrame*>( aSourceData );
- if ( sourceDataFrame->DataContainer() == CVisualFrame::EInChunk )
- {
- sourcePtr = sourceDataFrame->DataChunkL().Base() + sourceDataFrame->DataOffset();
- }
- else if ( sourceDataFrame->DataContainer() == CVisualFrame::EInDescriptor )
- {
- sourcePtr = const_cast<TUint8*>( sourceDataFrame->DataPtrL().Ptr() )
- + sourceDataFrame->DataOffset();
- }
- else
- {
- User::Leave( KErrArgument );
- }
- TPtrC8 sourceData( sourcePtr, sourceDataFrame->Size() );
- CExtJpegDecoder* dec = reinterpret_cast<CExtJpegDecoder*>(
- CImageDecoder::DataNewL( aFs, sourceData,
- aMIMEType, aOptions ) );
- CleanupStack::PushL( dec );
- if ( dec->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return dec;
- }
-
-// ---------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::DataNewL(
- RFs& aFs,
- const CVisualFrame* aSourceData,
- const TOptions aOptions,
- const TUid aImageType,
- const TUid aImageSubType,
- const TUid aDecoderUid )
- {
- TUint8* sourcePtr = NULL;
- CVisualFrame* sourceDataFrame = const_cast<CVisualFrame*>( aSourceData );
- if ( sourceDataFrame->DataContainer() == CVisualFrame::EInChunk )
- {
- sourcePtr = sourceDataFrame->DataChunkL().Base() + sourceDataFrame->DataOffset();
- }
- else if ( aSourceData->DataContainer() == CVisualFrame::EInDescriptor )
- {
- sourcePtr = const_cast<TUint8*>( sourceDataFrame->DataPtrL().Ptr() )
- + sourceDataFrame->DataOffset();
- }
- else
- {
- User::Leave( KErrArgument );
- }
-
- TPtrC8 sourceData( sourcePtr, sourceDataFrame->Size() );
- CExtJpegDecoder* dec = reinterpret_cast<CExtJpegDecoder*>(
- CImageDecoder::DataNewL( aFs, sourceData, aOptions,
- aImageType, aImageSubType, aDecoderUid ) );
- CleanupStack::PushL( dec );
- if ( dec->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return dec;
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::~CExtJpegDecoder
-// Destructor
-// ----------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder::~CExtJpegDecoder()
- {
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::SetCroppingL
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::SetCroppingL( TRect aCropRect )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapCropping );
- CustomSyncL( reinterpret_cast<TInt>( &aCropRect ) );
- CustomSyncL( EEnd );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::SetStreamingL
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::SetStreamingL( TSize& aMacroBlockSize )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapStreaming );
- CustomSyncL( reinterpret_cast<TInt>( &aMacroBlockSize ) );
- CustomSyncL( EEnd );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::SetRotationL
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::SetRotationL( TInt aDegree )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapRotation );
- CustomSyncL( aDegree );
- CustomSyncL( EEnd );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::SetFlippingL
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::SetFlippingL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapFlipping );
- CustomSyncL( EEnd );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::SetMirroringL
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::SetMirroringL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapMirroring );
- CustomSyncL( EEnd );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::SetDctDecodingL
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::SetDctDecodingL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapDctDecoding );
- CustomSyncL( EEnd );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::ConvertL
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::ConvertL(
- TRequestStatus* aRequestStatus,
- const CVisualFrame* aDestinationFrame,
- TInt& aNoOfDecodedMBlocks,
- TInt aFrameNumber )
- {
- iIsExtConvert = ETrue;
- CustomSyncL( KExtensionUID );
- CustomSyncL( EConvert );
- CustomSyncL( reinterpret_cast<TInt>( aDestinationFrame ) );
- CustomSyncL( reinterpret_cast<TInt>( &aNoOfDecodedMBlocks ) );
- CustomSyncL( aFrameNumber );
- CustomSyncL( EReadyForAsync );
- CustomAsync( aRequestStatus, 0 );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::ContinueConvertL
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::ContinueConvertL(
- TRequestStatus* aRequestStatus,
- const CVisualFrame* aDestinationFrame,
- TInt& aNoOfDecodedMBlocks,
- TInt aFrameNumber )
- {
- iIsExtConvert = ETrue;
- CustomSyncL( KExtensionUID );
- CustomSyncL( EContinueConvert );
- CustomSyncL( reinterpret_cast<TInt>( aDestinationFrame ) );
- CustomSyncL( reinterpret_cast<TInt>( &aNoOfDecodedMBlocks ) );
- CustomSyncL( aFrameNumber );
- CustomSyncL( EReadyForAsync );
- CustomAsync( aRequestStatus, 0 );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::SupportedFormatsL
-// ----------------------------------------------------------
-//
-EXPORT_C TInt CExtJpegDecoder::SupportedFormatsL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ESupportedFormats );
- TInt retVal = KErrNotFound;
- CustomSyncL( reinterpret_cast<TInt>( &retVal ) );
- CustomSyncL( EEnd );
- return retVal;
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::CapabilitiesL
-// ----------------------------------------------------------
-//
-EXPORT_C TInt CExtJpegDecoder::CapabilitiesL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapabilities );
- TInt retVal = KErrNotFound;
- CustomSyncL( reinterpret_cast<TInt>( &retVal ) );
- CustomSyncL( EEnd );
- return retVal;
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::CExtJpegDecoder
-// ----------------------------------------------------------
-//
-CExtJpegDecoder::CExtJpegDecoder() : CJPEGImageFrameDecoder()
- {
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::Convert
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::Convert( TRequestStatus* aRequestStatus,
- CFbsBitmap& aDestination, TInt aFrameNumber )
- {
- iIsExtConvert = EFalse;
- CImageDecoder::Convert( aRequestStatus, aDestination, aFrameNumber );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::Convert
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::Convert( TRequestStatus* aRequestStatus,
- CFbsBitmap& aDestination,
- CFbsBitmap& aDestinationMask, TInt aFrameNumber )
- {
- iIsExtConvert = EFalse;
- CImageDecoder::Convert( aRequestStatus, aDestination, aDestinationMask, aFrameNumber );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::ContinueConvert
-// ----------------------------------------------------------
-//
-EXPORT_C void CExtJpegDecoder::ContinueConvert( TRequestStatus* aRequestStatus )
- {
- if( iIsExtConvert )
- {
- User::RequestComplete( aRequestStatus, KErrUnknown );
- }
- else
- {
- CImageDecoder::ContinueConvert( aRequestStatus );
- }
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::FileNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ----------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::FileNewL(
- const TDecoderType aDecoderType,
- RFs& aFs,
- const TDesC& aSourceFileName,
- const TOptions aOptions )
- {
- TInt versionMin = KMinSwVersion;
- TInt versionMax = KMaxSwVersion;
- if ( aDecoderType == EHwImplementation )
- {
- versionMin = KMinHwVersion;
- versionMax = KMaxHwVersion;
- }
- TUid uId = GetUidByVersionRangeL( versionMin, versionMax );
- if ( uId == KNullUid )
- {
- User::Leave( KErrNotFound );
- }
- return CExtJpegDecoder::FileNewL( aFs, aSourceFileName, aOptions,
- KImageTypeJPGUid, KNullUid, uId );
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ----------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::DataNewL(
- const TDecoderType aDecoderType,
- RFs& aFs,
- const TDesC8& aSourceData,
- const TOptions aOptions )
- {
- TInt versionMin = KMinSwVersion;
- TInt versionMax = KMaxSwVersion;
- if ( aDecoderType == EHwImplementation )
- {
- versionMin = KMinHwVersion;
- versionMax = KMaxHwVersion;
- }
- TUid uId = GetUidByVersionRangeL( versionMin, versionMax );
- if ( uId == KNullUid )
- {
- User::Leave( KErrNotFound );
- }
- return CExtJpegDecoder::DataNewL( aFs, aSourceData, aOptions,
- KImageTypeJPGUid, KNullUid, uId );
-
- }
-
-// ----------------------------------------------------------
-// CExtJpegDecoder* CExtJpegDecoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegDecoder
-// ----------------------------------------------------------
-//
-EXPORT_C CExtJpegDecoder* CExtJpegDecoder::DataNewL(
- const TDecoderType aDecoderType,
- RFs& aFs,
- const CVisualFrame* aSourceData,
- const TOptions aOptions )
- {
- TInt versionMin = KMinSwVersion;
- TInt versionMax = KMaxSwVersion;
- if ( aDecoderType == EHwImplementation )
- {
- versionMin = KMinHwVersion;
- versionMax = KMaxHwVersion;
- }
- TUid uId = GetUidByVersionRangeL( versionMin, versionMax );
- if ( uId == KNullUid )
- {
- User::Leave( KErrNotFound );
- }
- return CExtJpegDecoder::DataNewL( aFs, aSourceData, aOptions,
- KImageTypeJPGUid, KNullUid, uId );
- }
-
-
-// ----------------------------------------------------------
-// CExtJpegDecoder::GetUidByVersionRangeL
-// ----------------------------------------------------------
-//
-TUid CExtJpegDecoder::GetUidByVersionRangeL( TInt aMinVersion, TInt aMaxVersion )
- {
- TUid uId = KNullUid;
- TUid propertyUid = KUidSwCodec;
-
- RUidDataArray implArray;
- // based on the version decide what kind of codec to fetch
- if( ( aMinVersion == KMinSwVersion ) && ( aMaxVersion == KMaxSwVersion ) )
- {
- propertyUid = KUidSwCodec;
- }
- else if( ( aMinVersion == KMinHwVersion ) && ( aMaxVersion == KMaxHwVersion ) )
- {
- propertyUid = KUidHwCodec;
- }
-
- // property array to be verified
- const TUid properties[] = { propertyUid, KImageTypeJPGUid };
-
- // Request existing plugins with the desired properties
- TRAPD( getIntErr, CImageDecoder::GetInterfaceImplementationsL(
- properties,
- 2,
- implArray ) );
- CleanupClosePushL( implArray );
- User::LeaveIfError( getIntErr );
-
- TInt count = implArray.Count();
- for( --count; uId == KNullUid && count >= 0; --count )
- {
- // Get the Jpeg decoder UID and find out whether it is requested
- // type of decoder by version number.
- TUid tempUid = implArray[ count ];
- CImplementationInformationType* implInfo = NULL;
- TRAPD( error, implInfo =
- CImageDecoder::GetImplementationInformationL( tempUid ) );
-
- User::LeaveIfError( error );
-
- // check the opaque data and version no
- TInt version = implInfo->Version();
- if ( ( implInfo->OpaqueData().Find( KJpgMimeType ) != KErrNotFound )
- && ( version <= aMaxVersion ) && ( version >= aMinVersion ) )
- {
- uId = tempUid;
- }
- delete implInfo;
- } // for - count
- CleanupStack::PopAndDestroy(&implArray);
- return uId;
-
- }
-
-
-
-/*****************************************************/
-/* Extended ICL Jpeg Encoder API */
-/*****************************************************/
-
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::NewL()
- {
- return new (ELeave) CExtJpegEncoder();
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::FileNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::FileNewL(
- RFs& aFs,
- const TDesC& aDestinationFilename,
- const TDesC8& aMIMEType,
- const TOptions aOptions )
- {
- CExtJpegEncoder* enc = reinterpret_cast<CExtJpegEncoder*>(
- CImageEncoder::FileNewL( aFs, aDestinationFilename,
- aMIMEType, aOptions ) );
- CleanupStack::PushL( enc );
- if ( enc->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return enc;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::FileNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::FileNewL(
- RFs& aFs,
- const TDesC& aDestinationFilename,
- const TOptions aOptions,
- const TUid aImageType,
- const TUid aImageSubType,
- const TUid aEncoderUid )
- {
- CExtJpegEncoder* enc = reinterpret_cast<CExtJpegEncoder*>(
- CImageEncoder::FileNewL( aFs, aDestinationFilename,
- aOptions, aImageType, aImageSubType, aEncoderUid ) );
- CleanupStack::PushL( enc );
- if ( enc->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return enc;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::DataNewL(
- HBufC8*& aDestinationData,
- const TDesC8& aMIMEType,
- const TOptions aOptions )
- {
- CExtJpegEncoder* enc = reinterpret_cast<CExtJpegEncoder*>(
- CImageEncoder::DataNewL( aDestinationData,
- aMIMEType, aOptions ) );
- CleanupStack::PushL( enc );
- if ( enc->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return enc;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::DataNewL(
- HBufC8*& aDestinationData,
- const TOptions aOptions,
- const TUid aImageType,
- const TUid aImageSubType,
- const TUid aEncoderUid )
- {
- CExtJpegEncoder* enc = reinterpret_cast<CExtJpegEncoder*>(
- CImageEncoder::DataNewL( aDestinationData,
- aOptions, aImageType, aImageSubType, aEncoderUid ) );
- CleanupStack::PushL( enc );
- if ( enc->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- CleanupStack::Pop();
- return enc;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::DataNewL(
- const CVisualFrame* aDestinationData,
- const TDesC8& aMIMEType,
- const TOptions aOptions )
- {
- HBufC8* tmp = NULL;
- CExtJpegEncoder* enc = reinterpret_cast<CExtJpegEncoder*>(
- CImageEncoder::DataNewL( tmp,
- aMIMEType, aOptions ) );
- CleanupStack::PushL( enc );
- if ( enc->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- enc->CustomSyncL( KExtensionUID );
- enc->CustomSyncL( EDestVisualFrame );
- enc->CustomSyncL( reinterpret_cast<TInt>( aDestinationData ) );
- enc->CustomSyncL( EEnd );
- CleanupStack::Pop();
- return enc;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::DataNewL(
- const CVisualFrame* aDestinationData,
- const TOptions aOptions,
- const TUid aImageType,
- const TUid aImageSubType,
- const TUid aEncoderUid )
- {
- HBufC8* tmp = NULL;
- CExtJpegEncoder* enc = reinterpret_cast<CExtJpegEncoder*>(
- CImageEncoder::DataNewL( tmp, aOptions,
- aImageType, aImageSubType, aEncoderUid ) );
- CleanupStack::PushL( enc );
- if ( enc->CapabilitiesL() < ECapNone )
- {
- User::Leave( KErrNotFound );
- }
- enc->CustomSyncL( KExtensionUID );
- enc->CustomSyncL( EDestVisualFrame );
- enc->CustomSyncL( reinterpret_cast<TInt>( aDestinationData ) );
- enc->CustomSyncL( EEnd );
- CleanupStack::Pop();
- return enc;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::~CExtJpegEncoder
-// Destructor.
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder::~CExtJpegEncoder()
- {
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SetStreamingL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::SetStreamingL( TSize& aMacroBlockSize,
- const CFrameImageData* aFrameImageData )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapStreaming );
- CustomSyncL( reinterpret_cast<TInt>( &aMacroBlockSize ) );
- CustomSyncL( reinterpret_cast<TInt>( aFrameImageData ) );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SetImageReplaceL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::SetImageReplaceL( const CVisualFrame* aReplaceImage,
- TPoint aReplacePoint )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapImageReplacing );
- CustomSyncL( reinterpret_cast<TInt>( aReplaceImage ) );
- CustomSyncL( reinterpret_cast<TInt>( &aReplacePoint ) );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SetBitmapReplaceL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::SetBitmapReplaceL( const CFbsBitmap& aReplaceBitmap,
- TPoint aReplacePoint )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapBitmapReplacing );
- CustomSyncL( reinterpret_cast<TInt>( &aReplaceBitmap ) );
- CustomSyncL( reinterpret_cast<TInt>( &aReplacePoint ) );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SetBitmapOverlayL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::SetBitmapOverlayL( const CFbsBitmap& aOverlayBitmap,
- TUint aAlphaValue, TPoint aOverlayPoint )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapBitmapOverlay );
- CustomSyncL( reinterpret_cast<TInt>( &aOverlayBitmap ) );
- CustomSyncL( aAlphaValue );
- CustomSyncL( reinterpret_cast<TInt>( &aOverlayPoint ) );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SetLosslessRotationL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::SetLosslessRotationL( TInt aDegree )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapLosslessRotation );
- CustomSyncL( aDegree );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SetLosslessFlippingL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::SetLosslessFlippingL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapLosslessFlipping );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SetLosslessMirroringL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::SetLosslessMirroringL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapLosslessMirroring );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SetDctEncodingL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::SetDctEncodingL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapDctEncoding );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::ProvideNewDestDataL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::ProvideNewDestDataL( const CVisualFrame* aDestinationData )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ENewDestData );
- CustomSyncL( reinterpret_cast<TInt>( aDestinationData ) );
- CustomSyncL( EEnd );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::ConvertL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::ConvertL(
- TRequestStatus* aRequestStatus,
- const CVisualFrame* aSourceFrame,
- TInt& aNoOfEncodedMBlocks,
- const CFrameImageData* aFrameImageData )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( EConvert );
- CustomSyncL( reinterpret_cast<TInt>( aSourceFrame ) );
- CustomSyncL( reinterpret_cast<TInt>( &aNoOfEncodedMBlocks ) );
- CustomSyncL( reinterpret_cast<TInt>( aFrameImageData ) );
- CustomSyncL( EReadyForAsync );
- CustomAsync( aRequestStatus, 0 );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::ContinueConvertL
-// ---------------------------------------------------------
-//
-EXPORT_C void CExtJpegEncoder::ContinueConvertL(
- TRequestStatus* aRequestStatus,
- const CVisualFrame* aSourceFrame,
- TInt& aNoOfEncodedMBlocks )
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( EContinueConvert );
- CustomSyncL( reinterpret_cast<TInt>( aSourceFrame ) );
- CustomSyncL( reinterpret_cast<TInt>( &aNoOfEncodedMBlocks ) );
- CustomSyncL( EReadyForAsync );
- CustomAsync( aRequestStatus, 0 );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::SupportedFormatsL
-// ---------------------------------------------------------
-//
-EXPORT_C TInt CExtJpegEncoder::SupportedFormatsL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ESupportedFormats );
- TInt retVal = KErrNotFound;
- CustomSyncL( reinterpret_cast<TInt>( &retVal ) );
- CustomSyncL( EEnd );
- return retVal;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::CapabilitiesL
-// ---------------------------------------------------------
-//
-EXPORT_C TInt CExtJpegEncoder::CapabilitiesL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( ECapabilities );
- TInt retVal = KErrNotFound;
- CustomSyncL( reinterpret_cast<TInt>( &retVal ) );
- CustomSyncL( EEnd );
- return retVal;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::CExtJpegEncoder
-// ---------------------------------------------------------
-//
-CExtJpegEncoder::CExtJpegEncoder() : CJPEGImageFrameEncoder()
- {
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::FileNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::FileNewL(
- const TEncoderType aEncoderType,
- RFs& aFs,
- const TDesC& aDestinationFilename,
- const TOptions aOptions )
- {
- TInt versionMin = KMinSwVersion;
- TInt versionMax = KMaxSwVersion;
- if ( aEncoderType == EHwImplementation )
- {
- versionMin = KMinHwVersion;
- versionMax = KMaxHwVersion;
- }
- TUid uId = GetUidByVersionRangeL( versionMin, versionMax );
- if ( uId == KNullUid )
- {
- User::Leave( KErrNotFound );
- }
- return CExtJpegEncoder::FileNewL( aFs, aDestinationFilename, aOptions,
- KImageTypeJPGUid, KNullUid, uId );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::DataNewL(
- const TEncoderType aEncoderType,
- HBufC8*& aDestinationData,
- const TOptions aOptions )
- {
- TInt versionMin = KMinSwVersion;
- TInt versionMax = KMaxSwVersion;
- if ( aEncoderType == EHwImplementation )
- {
- versionMin = KMinHwVersion;
- versionMax = KMaxHwVersion;
- }
- TUid uId = GetUidByVersionRangeL( versionMin, versionMax );
- if ( uId == KNullUid )
- {
- User::Leave( KErrNotFound );
- }
- return CExtJpegEncoder::DataNewL( aDestinationData, aOptions,
- KImageTypeJPGUid, KNullUid, uId );
-
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder* CExtJpegEncoder::DataNewL
-// Creates, initializes and returns a pointer to an object of
-// class CExtJpegEncoder
-// ---------------------------------------------------------
-//
-EXPORT_C CExtJpegEncoder* CExtJpegEncoder::DataNewL(
- const TEncoderType aEncoderType,
- const CVisualFrame* aDestinationData,
- const TOptions aOptions )
- {
- TInt versionMin = KMinSwVersion;
- TInt versionMax = KMaxSwVersion;
- if ( aEncoderType == EHwImplementation )
- {
- versionMin = KMinHwVersion;
- versionMax = KMaxHwVersion;
- }
- TUid uId = GetUidByVersionRangeL( versionMin, versionMax );
- if ( uId == KNullUid )
- {
- User::Leave( KErrNotFound );
- }
- return CExtJpegEncoder::DataNewL( aDestinationData, aOptions,
- KImageTypeJPGUid, KNullUid, uId );
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::GetDestinationDataSizeL
-// ---------------------------------------------------------
-//
-EXPORT_C TInt CExtJpegEncoder::GetDestinationDataSizeL()
- {
- CustomSyncL( KExtensionUID );
- CustomSyncL( EDestDataSize );
- TInt retVal = KErrNotFound;
- CustomSyncL( reinterpret_cast<TInt>( &retVal ) );
- CustomSyncL( EEnd );
- return retVal;
- }
-
-// ---------------------------------------------------------
-// CExtJpegEncoder::GetUidByVersionRangeL
-// ---------------------------------------------------------
-//
-TUid CExtJpegEncoder::GetUidByVersionRangeL( TInt aMinVersion, TInt aMaxVersion )
- {
- TUid uId = KNullUid;
- TUid propertyUid = KUidSwCodec;
-
- // based on the version decide what kind of codec to fetch
- if( ( aMinVersion == KMinSwVersion ) && ( aMaxVersion == KMaxSwVersion ) )
- {
- propertyUid = KUidSwCodec;
- }
- else if( ( aMinVersion == KMinHwVersion ) && ( aMaxVersion == KMaxHwVersion ) )
- {
- propertyUid = KUidHwCodec;
- }
-
- // property array to be verified
- const TUid properties[] = { propertyUid, KImageTypeJPGUid };
-
- RUidDataArray implArray;
- // Request existing plugins with the desired properties
- TRAPD( getIntErr, CImageEncoder::GetInterfaceImplementationsL(
- properties,
- 2,
- implArray ) );
- CleanupClosePushL( implArray );
- User::LeaveIfError( getIntErr );
-
- TInt count = implArray.Count();
- for( --count; uId == KNullUid && count >= 0; --count )
- {
- // Check all encoders and find the one having Jpeg mime type,
- TUid tempUid = implArray[ count ];
-
- // Get the same encoder UID and find out more info for testing
- TUid uId2 = { KEncoderInterfaceUidValue };
- RImplInfoPtrArray implInfo;
- REComSession::ListImplementationsL( uId2, implInfo );
- TInt count2 = implInfo.Count();
- uId2 = tempUid;
- for ( --count2; uId == KNullUid && count2 >= 0; --count2 )
- {
- CImplementationInformation& implInfoCur = *implInfo[count2];
- if ( ( implInfoCur.ImplementationUid() == uId2 ) &&
- ( implInfoCur.OpaqueData().Find( KJpgMimeType ) != KErrNotFound ) )
- {
- uId = uId2;
- }
- }
- implInfo.ResetAndDestroy();
- } // for - count
-
- CleanupStack::PopAndDestroy( &implArray );
- return uId;
- }
-
-// End of File
--- a/imageadaptationextensions/iclextjpegapi/src/IclExtJpegApiFrameImplV2.cpp Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,663 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Implementation of CVisualFrameImpl
-*
-*/
-
-#include "IclExtJpegApi.h"
-#include "IclExtJpegApiFrameImpl.h"
-
-// ---------------------------------------------------------
-// TFrameFormatExt::Constructor
-// ---------------------------------------------------------
-//
-void TFrameFormatExt::Constructor()
- {
- switch ( iFormatCode )
- {
- case CVisualFrame::EFormatMonochrome:
- {
- iColourSpace = KUidColourSpaceYCbCr;
- iSampling = KUidSamplingMonochrome;
- break;
- }
- case CVisualFrame::EFormat16bitRGB444:
- case CVisualFrame::EFormat16BitRGB565:
- case CVisualFrame::EFormat32BitRGB888:
- case CVisualFrame::EFormatFbsBitmapColor4K:
- case CVisualFrame::EFormatFbsBitmapColor64K:
- case CVisualFrame::EFormatFbsBitmapColor16M:
- {
- iColourSpace = KUidColourSpaceRGB;
- iSampling = KUidSamplingColor444;
- break;
- }
- case CVisualFrame::EFormatYUV420SemiPlanar:
- case CVisualFrame::EFormatYUV420Interleaved:
- case CVisualFrame::EFormatYUV420Planar:
- {
- iColourSpace = KUidColourSpaceYCbCr;
- iSampling = KUidSamplingColor420;
- break;
- }
- case CVisualFrame::EFormatYUV422:
- case CVisualFrame::EFormatYUV422Reversed:
- case CVisualFrame::EFormatExtYUV422Interleaved:
- case CVisualFrame::EFormatExtYUV422Planar:
- {
- iColourSpace = KUidColourSpaceYCbCr;
- iSampling = KUidSamplingColor422;
- break;
- }
- case CVisualFrame::EFormatExtYUV444Planar:
- case CVisualFrame::EFormatYUV444:
- {
- iColourSpace = KUidColourSpaceYCbCr;
- iSampling = KUidSamplingColor444;
- break;
- }
- case CVisualFrame::EFormatJpeg:
- case CVisualFrame::EFormatExif:
- case CVisualFrame::EFormatUserDefined:
- case CVisualFrame::EFormatExtDctCoeff:
- {
- iColourSpace = KNullUid;
- iSampling = KNullUid;
- break;
- }
- default:
- {
- iFormatCode = KErrNotFound;
- iColourSpace = KNullUid;
- iSampling = KNullUid;
- }
- }
- }
-
-// ----------------------------------------------------------
-// TFrameFormatExt::ColourSpace
-// ----------------------------------------------------------
-//
-TUid TFrameFormatExt::ColourSpace() const
- {
- return iColourSpace;
- }
-
-// ----------------------------------------------------------
-// TFrameFormatExt::Sampling
-// ----------------------------------------------------------
-//
-TUid TFrameFormatExt::Sampling() const
- {
- return iSampling;
- }
-
-// ----------------------------------------------------------
-// TFrameFormatExt::FormatCode
-// ----------------------------------------------------------
-//
-TInt TFrameFormatExt::FormatCode() const
- {
- return iFormatCode;
- }
-
-// ----------------------------------------------------------
-// TFrameFormatExt::ColourSpace
-// ----------------------------------------------------------
-//
-void TFrameFormatExt::SetColourSpace( TUid aColourSpace )
- {
- iColourSpace = aColourSpace;
- }
-
-
-
-/*****************************************************/
-/* Visual Frame Data Structure in Extended ICL API */
-/*****************************************************/
-
-
-// ----------------------------------------------------------
-// TFrameFormatBase* GetFrameFormatL
-// ----------------------------------------------------------
-//
-TFrameFormatBase* GetFrameFormatL( TInt aFrameFormatCode )
- {
- TUid formatUid = KNullUid;
- switch ( aFrameFormatCode )
- {
- case CVisualFrame::EFormatMonochrome:
- {
- formatUid = KUidFormatYUVMonochrome;
- break;
- }
- case CVisualFrame::EFormat16bitRGB444:
- {
- formatUid = KUidFormat16bitRGB444Interleaved;
- break;
- }
- case CVisualFrame::EFormat16BitRGB565:
- {
- formatUid = KUidFormat16BitRGB565Interleaved;
- break;
- }
- case CVisualFrame::EFormat32BitRGB888:
- {
- formatUid = KUidFormat32BitRGB888Interleaved;
- break;
- }
- case CVisualFrame::EFormatYUV420Interleaved:
- {
- formatUid = KUidFormatYUV420Interleaved;
- break;
- }
- case CVisualFrame::EFormatYUV420Planar:
- {
- formatUid = KUidFormatYUV420Planar;
- break;
- }
- case CVisualFrame::EFormatYUV422:
- {
- formatUid = KUidFormatYUV422Interleaved;
- break;
- }
- case CVisualFrame::EFormatYUV422Reversed:
- {
- formatUid = KUidFormatYUV422InterleavedReversed;
- break;
- }
- case CVisualFrame::EFormatYUV444:
- {
- formatUid = KUidFormatYUV444Interleaved;
- break;
- }
- case CVisualFrame::EFormatYUV420SemiPlanar:
- {
- formatUid = KUidFormatYUV420SemiPlanar;
- break;
- }
- case CVisualFrame::EFormatExtYUV422Interleaved:
- {
- formatUid = KUidFormatYYUV422Interleaved;
- break;
- }
- case CVisualFrame::EFormatExtYUV422Planar:
- {
- formatUid = KUidFormatYUV422Planar;
- break;
- }
- case CVisualFrame::EFormatExtYUV444Planar:
- {
- formatUid = KUidFormatYUV444Planar;
- break;
- }
- case CVisualFrame::EFormatJpeg:
- case CVisualFrame::EFormatExif:
- case CVisualFrame::EFormatFbsBitmapColor4K:
- case CVisualFrame::EFormatFbsBitmapColor64K:
- case CVisualFrame::EFormatFbsBitmapColor16M:
- case CVisualFrame::EFormatUserDefined:
- case CVisualFrame::EFormatExtDctCoeff:
- {
- break;
- }
- default:
- {
- User::Leave( KErrNotSupported );
- }
- }
- TFrameFormatBase* frameFormatBase = NULL;
- if ( formatUid == KNullUid )
- {
- frameFormatBase = new ( ELeave ) TFrameFormatExt( aFrameFormatCode );
- }
- else
- {
- frameFormatBase = new ( ELeave ) TFrameFormat( formatUid );
- }
- return frameFormatBase;
- }
-
-// ----------------------------------------------------------
-// GetFrameFormat
-// ----------------------------------------------------------
-//
-TInt GetFrameFormat( const TFrameFormatBase& aFrameFormat )
- {
- TInt frameFormatCode = KErrNotFound;
- if ( aFrameFormat.Type() == KUidIclImageFrameFormat )
- {
- const TFrameFormat& frameFormat = reinterpret_cast<const TFrameFormat&>( aFrameFormat );
- switch ( frameFormat.FormatCode().iUid )
- {
- case KFormatYUVMonochromeUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatMonochrome;
- break;
- }
- case KFormat16bitRGB444InterleavedUidValue:
- {
- frameFormatCode = CVisualFrame::EFormat16bitRGB444;
- break;
- }
- case KFormat16BitRGB565InterleavedUidValue:
- {
- frameFormatCode = CVisualFrame::EFormat16BitRGB565;
- break;
- }
- case KFormat32BitRGB888InterleavedUidValue:
- {
- frameFormatCode = CVisualFrame::EFormat32BitRGB888;
- break;
- }
- case KFormatYUV420InterleavedUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatYUV420Interleaved;
- break;
- }
- case KFormatYUV420PlanarUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatYUV420Planar;
- break;
- }
- case KFormatYUV422InterleavedUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatYUV422;
- break;
- }
- case KFormatYUV422InterleavedReversedUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatYUV422Reversed;
- break;
- }
- case KFormatYUV444InterleavedUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatYUV444;
- break;
- }
- case KFormatYUV420SemiPlanarUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatYUV420SemiPlanar;
- break;
- }
- case KFormatYYUV422InterleavedUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatExtYUV422Interleaved;
- break;
- }
- case KFormatYUV422PlanarUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatExtYUV422Planar;
- break;
- }
- case KFormatYUV444PlanarUidValue:
- {
- frameFormatCode = CVisualFrame::EFormatExtYUV444Planar;
- break;
- }
- default:
- {
- }
- }
- }
- else if ( aFrameFormat.Type() == KUidExtIclImageFrameFormat )
- {
- frameFormatCode = reinterpret_cast<const TFrameFormatExt&>( aFrameFormat ).FormatCode();
- }
- return frameFormatCode;
- }
-
-
-
-// ---------------------------------------------------------
-// CVisualFrameImpl* CVisualFrameImpl::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CVisualFrameImpl* CVisualFrameImpl::NewL(
- TDes8& aBuffer,
- const TSize& aDimension,
- TInt aFrameFormat )
- {
-
- TFrameFormatBase* frameFormat = GetFrameFormatL( aFrameFormat );
-
- CleanupStack::PushL( frameFormat );
-
- TFrameLayout frameLayout = TFrameLayout( 1 );
- frameLayout.SetStart( 0, 0 );
- frameLayout.SetScanLength( 0, aBuffer.MaxLength() );
- frameLayout.SetLength( 0, aBuffer.MaxLength() );
- frameLayout.SetCurrentLength( 0, aBuffer.Length() );
-
- CVisualFrameImpl* self = new ( ELeave ) CVisualFrameImpl();
- CleanupStack::PushL( self );
- self->ConstructL( aBuffer, aBuffer.MaxLength(), aDimension, *frameFormat, frameLayout );
- CleanupStack::Pop( self );
- CleanupStack::PopAndDestroy( frameFormat );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl* CVisualFrameImpl::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CVisualFrameImpl* CVisualFrameImpl::NewL(
- RChunk& aChunk,
- TInt aSize,
- TInt aMaxSize,
- TInt aDataOffset,
- const TSize& aDimension,
- TInt aFrameFormat )
- {
-
- TFrameFormatBase* frameFormat = GetFrameFormatL( aFrameFormat );
- CleanupStack::PushL( frameFormat );
-
- TFrameLayout frameLayout = TFrameLayout( 1 );
-
- frameLayout.SetStart( 0, aDataOffset );
- frameLayout.SetScanLength( 0, aMaxSize );
- frameLayout.SetLength( 0, aMaxSize );
- frameLayout.SetCurrentLength( 0, aSize );
-
- CVisualFrameImpl* self = new ( ELeave ) CVisualFrameImpl();
- CleanupStack::PushL( self );
- self->ConstructL( &aChunk, aMaxSize, aDataOffset, aDimension, *frameFormat, frameLayout );
- self->iSize = aSize;
- CleanupStack::Pop( self );
- CleanupStack::PopAndDestroy( frameFormat );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl* CVisualFrameImpl::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CVisualFrameImpl* CVisualFrameImpl::NewL(
- TDes8& aBuffer,
- const TSize& aDimension,
- TInt aFrameFormat,
- const CVisualFrame::TFrameLayout& aFrameLayout )
- {
- TFrameFormatBase* frameFormat = GetFrameFormatL( aFrameFormat );
- CleanupStack::PushL( frameFormat );
-
- TFrameLayout frameLayout = TFrameLayout( aFrameLayout.iNumberOfPlanes );
-
- for ( TInt i = 0; i < aFrameLayout.iNumberOfPlanes; ++i )
- {
- frameLayout.SetStart( i, aFrameLayout.iOffset[i] );
- frameLayout.SetScanLength( i, aFrameLayout.iScanLineLength[i] );
- frameLayout.SetLength( i, aFrameLayout.iMaxLength[i] );
- frameLayout.SetCurrentLength( i, aFrameLayout.iLength[i] );
- }
-
- CVisualFrameImpl* self = new ( ELeave ) CVisualFrameImpl();
- CleanupStack::PushL( self );
- self->ConstructL( aBuffer, aBuffer.MaxLength(), aDimension, *frameFormat, frameLayout );
- CleanupStack::Pop( self );
- CleanupStack::PopAndDestroy( frameFormat );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl* CVisualFrameImpl::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CVisualFrameImpl* CVisualFrameImpl::NewL(
- RChunk& aChunk,
- TInt aSize,
- TInt aMaxSize,
- const TSize& aDimension,
- TInt aFrameFormat,
- const CVisualFrame::TFrameLayout& aFrameLayout )
- {
- TFrameFormatBase* frameFormat = GetFrameFormatL( aFrameFormat );
- CleanupStack::PushL( frameFormat );
-
- TFrameLayout frameLayout = TFrameLayout( aFrameLayout.iNumberOfPlanes );
-
- for ( TInt i = 0; i < aFrameLayout.iNumberOfPlanes; ++i )
- {
- frameLayout.SetStart( i, aFrameLayout.iOffset[i] );
- frameLayout.SetScanLength( i, aFrameLayout.iScanLineLength[i] );
- frameLayout.SetLength( i, aFrameLayout.iMaxLength[i] );
- frameLayout.SetCurrentLength( i, aFrameLayout.iLength[i] );
- }
-
- CVisualFrameImpl* self = new ( ELeave ) CVisualFrameImpl();
- CleanupStack::PushL( self );
- self->ConstructL( &aChunk, aMaxSize, aFrameLayout.iOffset[0], aDimension, *frameFormat, frameLayout );
- self->iSize = aSize;
- CleanupStack::Pop( self );
- CleanupStack::PopAndDestroy( frameFormat );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl* CVisualFrameImpl::NewL
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CVisualFrameImpl* CVisualFrameImpl::NewL( const CImageFrame* aImageFrame )
- {
- if ( ( aImageFrame->FrameFormat().Type() != KUidIclImageFrameFormat ) &&
- ( aImageFrame->FrameFormat().Type() != KUidExtIclImageFrameFormat ) )
- {
- User::Leave( KErrNotSupported );
- }
- CVisualFrameImpl* self = new ( ELeave ) CVisualFrameImpl();
- CleanupStack::PushL( self );
- if ( aImageFrame->IsChunk() )
- {
- self->ConstructL(
- &const_cast<CImageFrame*>( aImageFrame )->DataChunk(),
- aImageFrame->MaxBufferSize(),
- aImageFrame->DataOffset(),
- aImageFrame->FrameSizeInPixels(),
- aImageFrame->FrameFormat(),
- aImageFrame->FrameLayout() );
- const TFrameLayout& frameLayout = reinterpret_cast<const TFrameLayout&>( aImageFrame->FrameLayout() );
- self->iSize = frameLayout.CurrentLength( frameLayout.Planes() - 1 ) + frameLayout.Start( frameLayout.Planes() - 1 ) - frameLayout.Start( 0 );
- }
- else
- {
- self->ConstructL(
- const_cast<CImageFrame*>( aImageFrame )->Data(),
- aImageFrame->MaxBufferSize(),
- aImageFrame->FrameSizeInPixels(),
- aImageFrame->FrameFormat(),
- aImageFrame->FrameLayout() );
- }
-
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::GetImageFrameL
-// ---------------------------------------------------------
-//
-CImageFrame* CVisualFrameImpl::GetImageFrameL()
- {
- if ( FrameFormat().Type() != KUidIclImageFrameFormat )
- {
- User::Leave( KErrNotSupported );
- }
-
- if ( IsChunk() )
- {
- return CImageFrame::NewL(
- &DataChunk(),
- MaxBufferSize(),
- DataOffset(),
- FrameSizeInPixels(),
- FrameFormat(),
- FrameLayout() );
- }
- else
- {
- return CImageFrame::NewL(
- Data(),
- MaxBufferSize(),
- FrameSizeInPixels(),
- FrameFormat(),
- FrameLayout() );
- }
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::DataChunkL
-// ---------------------------------------------------------
-//
-const RChunk& CVisualFrameImpl::DataChunkL() const
- {
- if ( !IsChunk() )
- {
- User::Leave( KErrNotFound );
- }
- return const_cast<CVisualFrameImpl*>( this )->DataChunk();
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::DataPtrL
-// ---------------------------------------------------------
-//
-TPtr8 CVisualFrameImpl::DataPtrL() const
- {
- if ( IsChunk() )
- {
- User::Leave( KErrNotFound );
- }
- TDes8& des = const_cast<CVisualFrameImpl*>( this )->Data();
- return TPtr8( const_cast<TUint8*>( des.Ptr() ), des.Length(), des.MaxLength() );
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::Dimension
-// ---------------------------------------------------------
-//
-TSize CVisualFrameImpl::Dimension() const
- {
- return FrameSizeInPixels();
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::FrameFormat2
-// ---------------------------------------------------------
-//
-TInt CVisualFrameImpl::FrameFormat2() const
- {
- return GetFrameFormat( FrameFormat() );
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::DataOffset
-// ---------------------------------------------------------
-//
-TInt CVisualFrameImpl::DataOffset() const
- {
- return CImageFrame::DataOffset();
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::Size
-// ---------------------------------------------------------
-//
-TInt CVisualFrameImpl::Size() const
- {
- if ( !IsChunk() )
- {
- return Data().Length();
- }
- return iSize;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::SetSizeL
-// ---------------------------------------------------------
-//
-void CVisualFrameImpl::SetSizeL( TInt aSize )
- {
- if ( ( aSize < 0 ) || ( aSize > MaxSize() ) )
- {
- User::Leave( KErrArgument );
- }
- if ( !IsChunk() )
- {
- Data().SetLength( aSize );
- }
- iSize = aSize;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::MaxSize
-// ---------------------------------------------------------
-//
-TInt CVisualFrameImpl::MaxSize() const
- {
- return MaxBufferSize();
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::DataContainer
-// ---------------------------------------------------------
-//
-TInt CVisualFrameImpl::DataContainer() const
- {
- if ( IsChunk() )
- {
- return CVisualFrame::EInChunk;
- }
- return CVisualFrame::EInDescriptor;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::FrameLayout2
-// ---------------------------------------------------------
-//
-const CVisualFrame::TFrameLayout& CVisualFrameImpl::FrameLayout2() const
- {
- const TFrameLayout& frameLayout = reinterpret_cast<const TFrameLayout&>( FrameLayout() );
- CVisualFrame::TFrameLayout& frameLayout2 = const_cast<CVisualFrameImpl*>( this )->iFrameLayout2;
- frameLayout2.iNumberOfPlanes = frameLayout.Planes();
- for (TInt i = 0; i < iFrameLayout2.iNumberOfPlanes; ++i )
- {
- frameLayout2.iOffset[i] = frameLayout.Start( i );
- frameLayout2.iScanLineLength[i] = frameLayout.ScanLength( i );
- frameLayout2.iLength[i] = frameLayout.CurrentLength( i );
- frameLayout2.iMaxLength[i] = frameLayout.Length( i );
- }
- return iFrameLayout2;
- }
-
-// ---------------------------------------------------------
-// CVisualFrameImpl::~CVisualFrameImpl
-// Destructor
-// ---------------------------------------------------------
-//
-CVisualFrameImpl::~CVisualFrameImpl()
- {
- }
-
-// End of File
--- a/imagingext_plat/extended_icl_jpeg_api/extended_icl_jpeg_api.metaxml Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-<?xml version="1.0" ?>
-<api id="293063d490f04b693dfd8626cf320e26" dataversion="2.0">
- <name>Extended ICL Jpeg API</name>
- <description>Nokia specific extension to Symbian's JPEG, which provides certain memory efficient improvements(streaming) enocding/decoding and also some DCT domain based lossless(initial quality upkeeping) operations like overlaying, rotating, mirroring.
-</description>
- <type>c++</type>
- <collection>imageadaptationextensions</collection>
- <libs>
- <lib name="IclExtJpegApi.lib" />
- </libs>
- <release category="platform"/>
- <attributes>
- <!-- This indicates wether the api provedes separate html documentation -->
- <!-- or is the additional documentation generated from headers. -->
- <!-- If you are unsuere then the value is "no" -->
- <htmldocprovided>no</htmldocprovided>
- <adaptation>no</adaptation>
- </attributes>
-</api>
--- a/imagingext_plat/extended_icl_jpeg_api/group/bld.inf Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: File that exports the files belonging to
-: Extended ICL Jpeg API
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/IclExtJpegApi.h OS_LAYER_PLATFORM_EXPORT_PATH(IclExtJpegApi.h)
--- a/imagingext_plat/extended_icl_jpeg_api/inc/IclExtJpegApi.h Wed Aug 25 12:58:08 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1015 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Definition of CVisualFrame, CExtJpegDecoder and CExtJpegEncoder
-*
-*/
-
-#ifndef _ICLEXTJPEGAPI_
-#define _ICLEXTJPEGAPI_
-
-#include "imageconversion.h"
-#include <icl/icl_uids.hrh>
-
-#include "iclexifimageframe.h"
-const TInt KMaxNumberOfPlanes = KMaxPlanesInFrame;
-const TUid KUidExtFormatJpeg = { 0 };
-const TUid KUidExtIclApiSupport = { 0 };
-const TInt KExtensionUID = 0x01010101;
-
-// FORWARD DECLARATIONS
-class CVisualFrameImpl;
-
-// CLASS DECLARATION
-
-/**
-* CVisualFrame
-* @lib IclExtJpegApi.lib
-* @since 3.2
-*/
-class CVisualFrame : public CBase
- {
- public:
-
- // TFrameLayout contains the scan line lengths and offsets for each component in planar YUV case
- class TFrameLayout
- {
- public:
- TInt iNumberOfPlanes;
- TInt iScanLineLength[KMaxNumberOfPlanes];
- TInt iOffset[KMaxNumberOfPlanes];
- TInt iLength[KMaxNumberOfPlanes];
- TInt iMaxLength[KMaxNumberOfPlanes];
- };
-
- enum TDataContainer
- {
- EInChunk,
- EInDescriptor
- };
-
- enum TDataFormat
- {
- /* Copied from CCamera::TFormat: */
-
- /** 8 bit greyscale values, 0=black, 255=white. */
- EFormatMonochrome = 0x0001,//+
- /** Packed RGB triplets, 4 bits per pixel with red in the least significant bits
- and the 4 most significant bits unused. */
- EFormat16bitRGB444 = 0x0002,//+
- /** Packed RGB triplets, 5 bits per pixel for red and blue and 6 bits for green,
- with red in the least significant bits. */
- EFormat16BitRGB565 = 0x0004,//+
- /** Packed RGB triplets, 8 bits per pixel with red in the least significant bits
- and the 8 most significant bits unused. */
- EFormat32BitRGB888 = 0x0008,//+
- /** JFIF JPEG. */
- EFormatJpeg = 0x0010,
- /** EXIF JPEG */
- EFormatExif = 0x0020,
- /** CFbsBitmap object with display mode EColor4K. */
- EFormatFbsBitmapColor4K = 0x0040,
- /** CFbsBitmap object with display mode EColor64K. */
- EFormatFbsBitmapColor64K = 0x0080,
- /** CFbsBitmap object with display mode EColor16M. */
- EFormatFbsBitmapColor16M = 0x0100,
- /** Implementation dependent. */
- EFormatUserDefined = 0x0200,
- /** 4:2:0 format, 8 bits per sample, Y00Y01Y10Y11UV. */
- EFormatYUV420Interleaved = 0x0400,//+
- /** 4:2:0 format, 8 bits per sample, Y00Y01Y02Y03...U0...V0... */
- EFormatYUV420Planar = 0x0800,//+
- /** 4:2:2 format, 8 bits per sample, UY0VY1. */
- EFormatYUV422 = 0x1000,//+
- /** 4:2:2 format, 8 bits per sample, Y1VY0U. */
- EFormatYUV422Reversed = 0x2000,//+
- /** 4:4:4 format, 8 bits per sample, Y00U00V00 Y01U01V01... */
- EFormatYUV444 = 0x4000,//+
- /** 4:2:0 format, 8 bits per sample, Y00Y01Y02Y03...U0V0... */
- EFormatYUV420SemiPlanar = 0x8000,//+
-
- /* Other formats: */
-
- /** 4:2:2 format, 8 bits per sample, Y0Y1UV. */
- EFormatExtYUV422Interleaved = 0x00100000,
- /** 4:2:2 format, 8 bits per sample, Y0Y1Y2...U0U1...V0V1. */
- EFormatExtYUV422Planar = 0x00200000,
- /** 4:4:4 format, 8 bits per sample, Y0U0V0Y1U1V1. */
- EFormatExtYUV444Planar = 0x00400000,
- /** DCT coefficients */
- EFormatExtDctCoeff = 0x00800000,
-
- };
-
- public: // New functions
-
- /**
- * Symbian C++ Two-phased constructor.
- * @since 3.2
- * @param aBuffer A descriptor reference to buffer containing the image data.
- * @param aDimension The dimensions of the corresponding image data.
- * @param aFrameFormat The frame format of the corresponding image data.
- * @return CVisualFrame* A pointer to frame object.
- */
- IMPORT_C static CVisualFrame* NewL(
- TDes8& aBuffer,
- const TSize& aDimension,
- TInt aFrameFormat );
-
- /**
- * Symbian C++ Two-phased constructor.
- * @since 3.2
- * @param aChunk An RChunk reference to buffer containing the image data.
- * @param aSize The amount of image data in bytes.
- * @param amaxSize The maximum size of the memory reserved in the chunk.
- * @param aDataOffset The offset value specifying the location of the image
- * data in the chunk.
- * @param aDimension The dimensions of the corresponding image data.
- * @param aFrameFormat The frame format of the corresponding image data.
- * @return CVisualFrame* A pointer to frame object.
- */
- IMPORT_C static CVisualFrame* NewL(
- RChunk& aChunk,
- TInt aSize,
- TInt aMaxSize,
- TInt aDataOffset,
- const TSize& aDimension,
- TInt aFrameFormat );
-
- /**
- * Symbian C++ Two-phased constructor.
- * @since 3.2
- * @param aBuffer A descriptor reference to buffer containing the image data.
- * @param aDimension The dimensions of the corresponding image data.
- * @param aFrameLayout The layout of the image color components.
- * @return CVisualFrame* A pointer to frame object.
- */
- IMPORT_C static CVisualFrame* NewL(
- TDes8& aBuffer,
- const TSize& aDimension,
- TInt aFrameFormat,
- const TFrameLayout& aFrameLayout );
-
- /**
- * Symbian C++ Two-phased constructor.
- * @since 3.2
- * @param aChunk An RChunk reference to buffer containing the image data.
- * @param aSize The amount of image data in bytes.
- * @param aMaxSize The maximum size of the memory reserved in the chunk for
- * the image data.
- * @param aDimension The dimensions of the corresponding image data.
- * @param aFrameFormat The frame format of the corresponding image data.
- * @param aFrameLayout The layout of the image color components. TFrameLayout
- * contains the scan line lengths and offsets for each component
- * in planar YUV case
- * @return CVisualFrame* A pointer to frame object.
- */
- IMPORT_C static CVisualFrame* NewL(
- RChunk& aChunk,
- TInt aSize,
- TInt aMaxSize,
- const TSize& aDimension,
- TInt aFrameFormat,
- const TFrameLayout& aFrameLayout );
-
-
- /**
- * Returns a constant reference to the chunk containing
- * the image data, if exists.
- * @since 3.2
- * @return RChunk
- */
- IMPORT_C const RChunk& DataChunkL() const;
-
- /**
- * Returns a descriptor pointer to the image data location, if exists
- * @since 3.2
- * @return TPtr8
- */
- IMPORT_C TPtr8 DataPtrL() const;
-
- /**
- * Returns the dimensions of the image.
- * @since 3.2
- * @return TSize
- */
- IMPORT_C TSize Dimension() const;
-
- /**
- * Return the image data format.
- * @since 3.2
- * @return TInt
- */
- IMPORT_C TInt FrameFormat() const;
-
- /**
- * Returns the offset of the image data for non-planar,
- * single-component or compressed images.
- * @since 3.2
- * @return TInt
- */
- IMPORT_C TInt DataOffset() const;
-
- /**
- * Returns the amount of stored image data in bytes.
- * @since 3.2
- * @return TInt
- */
- IMPORT_C TInt Size() const;
-
- /**
- * Sets the amount of image data to the given value.
- * Should be called when the image data amount is modified explicitly.
- * @since 3.2
- * @return void
- */
- IMPORT_C void SetSizeL( TInt aSize );
-
- /**
- * Returns the maximum size of the memory space reserved for image data
- * @since 3.2
- * @return TInt
- */
- IMPORT_C TInt MaxSize() const;
-
- /**
- * Returns the storage type of the image data.
- * @since 3.2
- * @return TDataContainer
- */
- IMPORT_C TDataContainer DataContainer() const;
-
- /**
- * Returns the layout of the image data for planar compressed images.
- * @since 3.2
- * @return TFrameLayout
- */
- IMPORT_C const TFrameLayout& FrameLayout() const;
-
- /**
- * Destructor
- */
- IMPORT_C virtual ~CVisualFrame();
-
- /**
- * Symbian C++ Two-phased constructor.
- */
- IMPORT_C static CVisualFrame* NewL( const CImageFrame* aImageFrame );
-
- /**
- * Get image frame
- * @since 3.2
- * @return CImageFrame
- */
- IMPORT_C CImageFrame* GetImageFrameL();
-
-
- private:
-
- CVisualFrameImpl* iVisualFrameImpl;
-
- };
-
-
-// CLASS DECLARATION
-
-/**
-* CExtJpegDecoder
-* @lib IclExtJpegApi.lib
-* @since 3.2
-*/
-class CExtJpegDecoder : public CJPEGImageFrameDecoder
- {
- public:
-
- enum TDecoderCapability
- {
- ECapNone = 0x0000,
- ECapCropping = 0x0001,
- ECapStreaming = 0x0002,
- ECapRotation = 0x0004,
- ECapFlipping = 0x0008,
- ECapMirroring = 0x0010,
- ECapDctDecoding = 0x0020,
- ECapExifData = 0x0040
- };
-
- enum TDecoderOperations
- {
- EEnd = 0x00010000,
- ESupportedFormats = 0x00020000,
- ECapabilities = 0x00040000,
- EReadyForAsync = 0x00080000,
- EConvert = 0x00100000,
- EContinueConvert = 0x00200000
- };
-
- enum TDecoderType
- {
- ESwImplementation = 0,
- EHwImplementation
- };
-
- public:
-
- /**
- * Symbian C++ Two-phased constructor.
- * @since 3.2
- */
- IMPORT_C static CExtJpegDecoder* NewL();
-
-
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aFs A reference to a file server session to use.
- * @param aSourceFilename The name of the Jpeg file to decode.
- * @param aMIMEType The Jpeg MIME type for matching the decoder plugin.
- * @param aOptions Decoder options defined in ICL.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* FileNewL(
- RFs& aFs,
- const TDesC& aSourceFilename,
- const TDesC8& aMIMEType,
- const TOptions aOptions = EOptionNone );
-
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aFs A reference to a file server session to use.
- * @param aSourceFilename The name of the Jpeg file to decode.
- * @param aOptions Decoder options defined in ICL.
- * @param aImageType The Jpeg image type.
- * @param aImageSubType The Jpeg image subtype (Null UID).
- * @param aDecoderUid The decoder plugin UID.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* FileNewL(
- RFs& aFs,
- const TDesC& aSourceFilename,
- const TOptions aOptions = EOptionNone,
- const TUid aImageType = KNullUid,
- const TUid aImageSubType = KNullUid,
- const TUid aDecoderUid = KNullUid );
-
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aFs A reference to a file server session to use.
- * @param aSourceData The descriptor reference for the Jpeg image data to decode.
- * @param aMIMEType The Jpeg MIME type for matching the decoder plugin.
- * @param aOptions Decoder options defined in ICL.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* DataNewL(
- RFs& aFs,
- const TDesC8& aSourceData,
- const TDesC8& aMIMEType,
- const TOptions aOptions = EOptionNone );
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aFs A reference to a file server session to use.
- * @param aSourceData The descriptor reference for the Jpeg image data to decode.
- * @param aOptions Decoder options defined in ICL.
- * @param aImageType The Jpeg image type.
- * @param aImageSubType The Jpeg image subtype (Null UID).
- * @param aDecoderUid The decoder plugin UID.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* DataNewL(
- RFs& aFs,
- const TDesC8& aSourceData,
- const TOptions aOptions = EOptionNone,
- const TUid aImageType = KNullUid,
- const TUid aImageSubType = KNullUid,
- const TUid aDecoderUid = KNullUid );
-
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aFs A reference to a file server session to use.
- * @param aSourceData Pointer to the visual frame structure keeping
- * the Jpeg image data to decode.
- * @param aMIMEType The Jpeg MIME type for matching the decoder plugin.
- * @param aOptions Decoder options defined in ICL.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* DataNewL(
- RFs& aFs,
- const CVisualFrame* aSourceData,
- const TDesC8& aMIMEType,
- const TOptions aOptions = EOptionNone );
-
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aFs A reference to a file server session to use.
- * @param aSourceData Pointer to the visual frame structure keeping
- * the Jpeg image data to decode.
- * @param aOptions Decoder options defined in ICL.
- * @param aImageType The Jpeg image type.
- * @param aImageSubType The Jpeg image subtype (Null UID).
- * @param aDecoderUid The decoder plugin UID.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* DataNewL(
- RFs& aFs,
- const CVisualFrame* aSourceData,
- const TOptions aOptions = EOptionNone,
- const TUid aImageType = KNullUid,
- const TUid aImageSubType = KNullUid,
- const TUid aDecoderUid = KNullUid );
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CExtJpegDecoder();
-
- /**
- * Enables the use of cropping feature and specifies the cropping region.
- * @since 3.2
- * @param aCropRect The rectangular cropping region that will be decoded.
- * @return void
- */
- IMPORT_C void SetCroppingL( TRect aCropRect );
-
- /**
- * Enables the use of streaming feature and retrieves the macroblock
- * dimensions in the Jpeg data.
- * @since 3.2
- * @param aMacroBlockSize The macroblock dimensions in the
- * Jpeg image that is set by the decoder
- * @return void
- */
- IMPORT_C void SetStreamingL( TSize& aMacroBlockSize );
-
- /**
- * Enables the use of rotation feature and specifies the rotating degree.
- * @since 3.2
- * @param aDegree The rotation degree. Can take any values between 1 and 359.
- * @return void
- */
- IMPORT_C void SetRotationL( TInt aDegree );
-
- /**
- * Enables the use of flipping feature.
- * @since 3.2
- * @return void
- */
- IMPORT_C void SetFlippingL();
-
- /**
- * Enables the use of mirroring feature.
- * @since 3.2
- * @return void
- */
- IMPORT_C void SetMirroringL();
-
- /**
- * SEnables the use of DCT decoding feature.
- * @since 3.2
- * @return void
- */
- IMPORT_C void SetDctDecodingL();
-
- /**
- * Asynchronous function for initiating the decoding
- * @since 3.2
- * @param aRequestStatus The 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.
- * @param aDestinationFrame Pointer to the visual frame structure that is keeping
- * the destination image data. The client should do the
- * proper allocation of the destination location.
- * @param aNoOfDecodedMBlocks Reference to the number of decoded macroblocks that is
- * set by the decoder after the decoding is completed.
- * @param aFrameNumber The frame index in the Jpeg image.
- * @return void
- */
- IMPORT_C void ConvertL(
- TRequestStatus* aRequestStatus,
- const CVisualFrame* aDestinationFrame,
- TInt& aNoOfDecodedMBlocks,
- TInt aFrameNumber = 0 );
-
- /**
- * Asynchronous function for initiating one of the iterations of streamed decoding.
- * @since 3.2
- * @param aRequestStatus The 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.
- * @param aDestinationFrame Pointer to the visual frame structure that is keeping
- * the destination image data. The client should do the
- * proper allocation of the destination location.
- * @param aNoOfDecodedMBlocks Reference to the number of decoded macroblocks that is
- * set by the decoder after the decoding is completed.
- * @param aFrameNumber The frame index in the Jpeg image.
- * @return void
- */
- IMPORT_C void ContinueConvertL(
- TRequestStatus* aRequestStatus,
- const CVisualFrame* aDestinationFrame,
- TInt& aNoOfDecodedMBlocks,
- TInt aFrameNumber = 0 );
-
- /**
- * Returns the destination (uncompressed) data formats that are supported by the decoder
- * @since 3.2
- * @return TInt The supported destination (uncompressed) data formats.
- * The value is a combination of the flags defined in
- * CVisualFrame::TDataFormat.
- */
- IMPORT_C TInt SupportedFormatsL();
-
- /**
- * Returns the Extended API features (capabilities) that are supported by the decoder.
- * @since 3.2
- * @return TInt The supported Extended API features.
- * The value is a combination of the flags defined in TDecoderCapabilities.
- */
- IMPORT_C TInt CapabilitiesL();
-
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aDecoderType Decoder implementation type: HW or SW.
- * @param aFs A reference to a file server session to use.
- * @param aSourceFilename The name of the Jpeg file to decode.
- * @param aOptions Decoder options defined in ICL.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* FileNewL(
- const TDecoderType aDecoderType,
- RFs& aFs,
- const TDesC& aSourceFilename,
- const TOptions aOptions = EOptionNone );
-
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aDecoderType Decoder implementation type: HW or SW.
- * @param aFs A reference to a file server session to use.
- * @param aSourceData The descriptor reference for the Jpeg image data to decode.
- * @param aOptions Decoder options defined in ICL.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* DataNewL(
- const TDecoderType aDecoderType,
- RFs& aFs,
- const TDesC8& aSourceData,
- const TOptions aOptions = EOptionNone );
-
- /**
- * Creates and initializes CExtJpegDecoder
- * @since 3.2
- * @param aDecoderType Decoder implementation type: HW or SW.
- * @param aFs A reference to a file server session to use.
- * @param aSourceData Pointer to the visual frame structure keeping
- * the Jpeg image data to decode.
- * @param aOptions Decoder options defined in ICL.
- * @return CExtJpegDecoder* A pointer to decoder object.
- */
- IMPORT_C static CExtJpegDecoder* DataNewL(
- const TDecoderType aDecoderType,
- RFs& aFs,
- const CVisualFrame* aSourceData,
- const TOptions aOptions = EOptionNone );
-
- /**
- * Convert
- * @since 3.2
- * @param aRequestStatus The 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.
- * @param aDestination
- * @param aFrameNumber The frame index in the Jpeg image.
- * @return void
- */
- IMPORT_C void Convert( TRequestStatus* aRequestStatus,
- CFbsBitmap& aDestination, TInt aFrameNumber = 0);
-
- /**
- * Convert
- * @since 3.2
- * @param aRequestStatus The 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.
- * @param aDestination Bitmap destination
- * @param aDestinationMask Bitmap destination mask
- * @param aFrameNumber The frame index in the Jpeg image.
- * @return void
- */
- IMPORT_C void Convert( TRequestStatus* aRequestStatus,
- CFbsBitmap& aDestination,
- CFbsBitmap& aDestinationMask,
- TInt aFrameNumber = 0 );
-
- /**
- * Continue convert
- * @since 3.2
- * @param aRequestStatus The 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.
- * @return void
- */
- IMPORT_C void ContinueConvert( TRequestStatus* aRequestStatus );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CExtJpegDecoder();
-
- /**
- * Get an uid by version range
- * @since 3.2
- * @param aMinVersion
- * @param aMaxVersion
- * @return TUid
- */
- static TUid GetUidByVersionRangeL( TInt aMinVersion, TInt aMaxVersion );
-
- TBool iIsExtConvert;
-
- };
-
-
-// CLASS DECLARATION
-
-/**
-* CExtJpegEncoder
-* @lib IclExtJpegApi.lib
-* @since 3.2
-*/
-class CExtJpegEncoder : public CJPEGImageFrameEncoder
- {
- public:
-
- 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
- };
-
- public:
-
-
- /**
- * Symbian C++ Two-phased constructor.
- */
- IMPORT_C static CExtJpegEncoder* NewL();
-
- /**
- * Creates and initializes CExtJpegEncoder
- * @since 3.2
- * @param aFs A reference to a file server session to use.
- * @param aDestinationFilename The name of the destination Jpeg file.
- * @param aMIMEType The Jpeg MIME type for matching the encoder plugin.
- * @param aOptions Encoder options defined in ICL.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* FileNewL(
- RFs& aFs,
- const TDesC& aDestinationFilename,
- const TDesC8& aMIMEType,
- const TOptions aOptions = EOptionNone );
-
- /**
- * Creates and initializes CExtJpegEncoder
- * @param aFs A reference to a file server session to use.
- * @param aDestinationFilename The name of the destination Jpeg file.
- * @param aOptions Encoder options defined in ICL.
- * @param aImageT The Jpeg image type.
- * @param aImageSubType The Jpeg image subtype (Null UID).
- * @param aEncoderUid The encoder plugin UID.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* FileNewL(
- RFs& aFs,
- const TDesC& aDestinationFilename,
- const TOptions aOptions = EOptionNone,
- const TUid aImageType = KNullUid,
- const TUid aImageSubType = KNullUid,
- const TUid aEncoderUid = KNullUid );
-
- /**
- * Creates and initializes CExtJpegEncoder
- * @param aDestinationData Pointer reference to the destination
- * Jpeg data location that will be allocated by the encoder.
- * @param aMIMEType The Jpeg MIME type for matching the encoder plugin.
- * @param aOptions Encoder options defined in ICL.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* DataNewL(
- HBufC8*& aDestinationData,
- const TDesC8& aMIMEType,
- const TOptions aOptions = EOptionNone);
- /**
- * Creates and initializes CExtJpegEncoder
- * @param aDestinationData Pointer reference to the destination
- * Jpeg data location that will be allocated by the encoder.
- * @param aOptions Encoder options defined in ICL.
- * @param aImageType The Jpeg image type.
- * @param aImageSubType The Jpeg image subtype (Null UID).
- * @param aEncoderUid The encoder plugin UID.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* DataNewL(
- HBufC8*& aDestinationData,
- const TOptions aOptions = EOptionNone,
- const TUid aImageType = KNullUid,
- const TUid aImageSubType = KNullUid,
- const TUid aEncoderUid = KNullUid);
- /**
- * Creates and initializes CExtJpegEncoder
- * @param aDestinationData Pointer to the visual frame structure keeping the destination
- * Jpeg data allocated with maximum size by the client.
- * @param aMIMEType The Jpeg MIME type for matching the encoder plugin.
- * @param aOptions Encoder options defined in ICL.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* DataNewL(
- const CVisualFrame* aDestinationData,
- const TDesC8& aMIMEType,
- const TOptions aOptions = EOptionNone);
- /**
- * Creates and initializes CExtJpegEncoder
- * @param aDestinationData Pointer to the visual frame structure keeping the destination
- * Jpeg data allocated with maximum size by the client.
- * @param aOptions Encoder options defined in ICL.
- * @param aImageType The Jpeg image type.
- * @param aImageSubType The Jpeg image subtype (Null UID).
- * @param aEncoderUid The encoder plugin UID.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* DataNewL(
- const CVisualFrame* aDestinationData,
- const TOptions aOptions = EOptionNone,
- const TUid aImageType = KNullUid,
- const TUid aImageSubType = KNullUid,
- const TUid aEncoderUid = KNullUid);
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CExtJpegEncoder();
-
- /**
- * Enables the use of streaming feature and retrieves the
- * macroblock dimensions in the Jpeg data.
- * @since 3.2
- * @param aMacroBlockSize The macroblock dimensions in the Jpeg
- * image that is set by the encoder.
- * @param aFrameImageData The pointer to the destination Jpeg image data structure.
- * @return void
- */
- IMPORT_C void SetStreamingL( TSize& aMacroBlockSize,
- const CFrameImageData* aFrameImageData= NULL );
-
- /**
- * Enables the use of replacing feature, where the given image
- * is replaced starting from the specified up-left corner point.
- * @since 3.2
- * @param aReplaceImage The image data that will be replaced.
- * @param aReplacePoint The up-left corner point of the replacing region.
- * @return void
- */
- IMPORT_C void SetImageReplaceL( const CVisualFrame* aReplaceImage, 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
- * @param aReplaceBitmap The bitmap that will be replaced.
- * @param aReplacePoint The up-left corner point of the replacing region.
- * @return void
- */
- IMPORT_C void SetBitmapReplaceL( const CFbsBitmap& aReplaceBitmap, TPoint aReplacePoint );
-
- /**
- * 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
- * @param aOverlayBitmap The bitmap that will be overlayed.
- * @param aAlphaValue The alpha value for the transparency of the overlayed bitmap.
- * @param aOverlayPoint The up-left corner point of the overlay region.
- * @return void
- */
- IMPORT_C void SetBitmapOverlayL( const CFbsBitmap& aOverlayBitmap,
- TUint aAlphaValue, TPoint aOverlayPoint );
-
- /**
- * Enables the use of lossless rotation feature and specifies the rotating degree.
- * @since 3.2
- * @param aDegree The rotation degree. Can take any values between 1 and 359.
- * @return void
- */
- IMPORT_C void SetLosslessRotationL( TInt aDegree );
-
- /**
- * Enables the use of lossless flipping feature.
- * @since 3.2
- * @return void
- */
- IMPORT_C void SetLosslessFlippingL();
-
- /**
- * SEnables the use of lossless mirroring feature.
- * @since 3.2
- * @return void
- */
- IMPORT_C void SetLosslessMirroringL();
-
- /**
- * Enables the use of DCT encoding feature.
- * @since 3.2
- * @return void
- */
- IMPORT_C void SetDctEncodingL();
-
- /**
- * 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
- * @param aDestinationData The new visual frame structure for the destination data.
- * @return void
- */
- IMPORT_C void ProvideNewDestDataL( const CVisualFrame* aDestinationData );
-
- /**
- * Asynchronous function for initiating the encoding.
- * @since 3.2
- * @param 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.
- * @param 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.
- * @param aNoOfEncodedMBlocks Reference to the number of encoded macroblocks that is
- * set by the encoder after the encoding is completed.
- * @param aFrameImageData Pointer to optional frame image data structure defined in ICL.
- * @return void
- */
- IMPORT_C void ConvertL(
- TRequestStatus* aRequestStatus,
- const CVisualFrame* aSourceFrame,
- TInt& aNoOfEncodedMBlocks,
- const CFrameImageData* aFrameImageData = NULL );
-
- /**
- * Asynchronous function for initiating one of the iterations of streamed encoding.
- * @since 3.2
- * @param 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.
- * @param 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.
- * @param aNoOfEncodedMBlocks Reference to the number of encoded macroblocks that is
- * set by the encoder after the encoding is completed.
- * @return
- */
- IMPORT_C void ContinueConvertL(
- TRequestStatus* aRequestStatus,
- const CVisualFrame* aSourceFrame,
- TInt& aNoOfEncodedMBlocks );
-
- /**
- * Returns the source (uncompressed) data formats that are supported by the encoder.
- * @since 3.2
- * @return TInt The supported source (uncompressed) data formats.
- * The value is a combination of the flags defined
- * in CVisualFrame::TDataFormat.
- */
- IMPORT_C TInt SupportedFormatsL();
-
- /**
- * Returns the Extended API features (capabilities) that are supported by the encoder.
- * @since 3.2
- * @return TInt The supported Extended API features.
- * The value is a combination of the flags defined
- * in TEncoderCapabilities.
- */
- IMPORT_C TInt CapabilitiesL();
-
- /**
- * Creates and initializes CExtJpegEncoder
- * @since 3.2
- * @param aEncoderType Encoder implementation type: HW or SW.
- * @param aFs A reference to a file server session to use.
- * @param aDestinationFilename The name of the destination Jpeg file.
- * @param aOptions Encoder options defined in ICL.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* FileNewL(
- const TEncoderType aEncoderType,
- RFs& aFs,
- const TDesC& aDestinationFilename,
- const TOptions aOptions = EOptionNone );
-
- /**
- * Creates and initializes CExtJpegEncoder
- * @since 3.2
- * @param aEncoderType Encoder implementation type: HW or SW.
- * @param aDestinationData Pointer reference to the destination Jpeg
- * data location that will be allocated by the encoder.
- * @param aOptions Encoder options defined in ICL.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* DataNewL(
- const TEncoderType aEncoderType,
- HBufC8*& aDestinationData,
- const TOptions aOptions = EOptionNone );
- /**
- * Creates and initializes CExtJpegEncoder
- * @since 3.2
- * @param aEncoderType Encoder implementation type: HW or SW.
- * @param aDestinationData Pointer to the visual frame structure keeping the
- * destination Jpeg data allocated with maximum size by the client.
- * @param aOptions Encoder options defined in ICL.
- * @return CExtJpegEncoder* A pointer to encoder object.
- */
- IMPORT_C static CExtJpegEncoder* DataNewL(
- const TEncoderType aEncoderType,
- const CVisualFrame* aDestinationData,
- const TOptions aOptions = EOptionNone );
-
- /**
- * Returns the actual destination buffer size
- * @since 3.2
- * @return TInt The actual destination buffer size required.
- * -1 means the codec is not able to determine the required buffer size.
- */
- IMPORT_C TInt GetDestinationDataSizeL();
-
-
- private:
-
- /**
- * C++ default constructor.
- */
- CExtJpegEncoder();
-
- /**
- * Get an uid by version range
- * @since 3.2
- * @param aMinVersion
- * @param aMaxVersion
- * @return TUid
- */
- static TUid GetUidByVersionRangeL( TInt aMinVersion, TInt aMaxVersion );
-
- };
-
-#endif // _ICLEXTJPEGAPI_
-
-// End of File