--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/videoeditorengine/vedengine/GenManip/inc/DisplayChain.h Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "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:
+* Ixonos Plc
+*
+* Description:
+*
+*/
+
+
+//----IMAAMI----
+//*************************************************************************
+//DisplayChain.cpp
+//
+//Version 1.00
+//
+//Contains:
+// CDisplayChain
+// Image processing class implementing
+// display specific image processing:
+// - Scaling to display size with pan support
+// - IETD - display specific color contrast enhancement
+// - Sharpening
+// - Display feature compensation by simple color management
+// - Dithering
+//
+//History:
+// 30.10.2003 version 1.00 created using existing IMAAMI algorithms
+//*************************************************************************
+
+#ifndef __DisplayChain_H
+#define __DisplayChain_H
+
+#include <e32std.h> // for Fundamental Types
+#include <e32base.h> // for Fundamental Types
+#include <e32math.h> //for the calculation of exponents
+#include <stdio.h>
+
+#include "DCDigitalZoom.h"
+#include "DCSharpening.h"
+#include "DCIetd.h"
+#include "DCDithering.h"
+#include "DCColorManagement.h"
+#include "DCDefines.h"
+#include "DCInit.h"
+
+
+//Class definition
+class CDisplayChain : public CBase
+{
+public:
+
+ //Standard functions
+ CDisplayChain();
+ static CDisplayChain* NewL();
+ static CDisplayChain* NewLC();
+ ~CDisplayChain();
+
+ // Second Phase contructor (may leave)
+ void ConstructL();
+
+ //Process original image and store result
+ void ProcessL(const CFbsBitmap* InBitmap, CFbsBitmap* aTargetBitmap);
+
+ //Processing parameters
+ struct DisplayChainParams
+ {
+ TBool FirstOpening;
+
+ TBool IetdON; //IETD ON/OFF
+ TBool SharpeningON; //Sharpening ON/OFF
+ TBool ColorManagementON; //Color Management ON/OFF
+ TBool DitheringON; //Dithering ON/OFF
+ TBool DigitalZoomON; //Scaling ON/OFF
+
+ //Parameters for each processing algorithm
+ //See processing algorithm classes for details.
+ CDCIetd::DCIetdParameters IETDParameters;
+ DCSharpening::DCSharpeningParams SharpeningParameters;
+ CDCColorManagement::DCColorManagementParams ColorManagementParameters;
+ CDCDigitalZoom::DCDigitalZoomParams DZParameters;
+ };
+
+ //Parameter excange
+ void SetParameters(DisplayChainParams* Parameters);
+ void GetParameters(DisplayChainParams* Parameters);
+
+ //Limit integer value to byte [0,255]
+ static inline TUint8 Limit255(TInt i) {return (TUint8)(i<0?0:(i>255?255:i));}
+
+private:
+
+
+ //PArameters
+ DisplayChainParams Parameters;
+
+ //Processing objects
+ CDCIetd* IetdPtr;
+ DCSharpening* SharpeningPtr;
+ CDCColorManagement* ColorManagementPtr;
+ CDCDithering* DitheringPtr;
+ CDCDigitalZoom* DigitalZoomPtr;
+};
+
+#endif // ifndef __DisplayChain_H
+//----IMAAMI----