--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/imagingandcamerafws/imagingunittest/tsu_icl_imageframe/src/TestStepImageFrame.h Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,246 @@
+
+// Copyright (c) 2005-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:
+//
+
+#ifndef TESTSTEPIMAGEFRAME_H
+#define TESTSTEPIMAGEFRAME_H
+
+#include <testframework.h>
+#include <imageframe.h>
+
+class TFrameFormat;
+class TFrameLayout;
+class CImageFrame;
+class TDataUnit;
+
+// class, which methods are used to provide various utility functionality
+class RImageFrameUtil
+ {
+public:
+ static TBool FormatsEqual(const TFrameFormat& aFormat1, const TFrameFormat& aFormat2);
+ static TBool LayoutsEqual(const TFrameLayout& aLayout1, const TFrameLayout& aLayout2);
+ static TBool CheckUniformAssignment(CImageFrame& aFrame, TInt aValue, TInt aBufferSize, TBool aForward);
+ static void SetBlockToUniformValue(TDataUnit& aDataUnit, TInt aValue);
+ static TBool CompareBlockValues(TDataUnit& aDataUnit1, TDataUnit& aDataUnit2);
+ static void InitPointerValues(TDataUnit* aDataUnit, TDataUnit** aDataUnitPtr, TInt aBlocks);
+ static TInt LayoutPlanes(const TFrameFormat& aFormat);
+ static void InitLayoutValues(TFrameLayout& aLayout,TFrameFormat& aFormat, TSize& aSize, TInt& aRecommendedSize);
+ static void InitPointerValuesL(TDataUnit* aDataUnit, RArray<const TDataUnit*> &aDataUnitPtr, TInt aBlocks);
+};
+
+// base class for all tests, it embeds the alloc tests step
+class RImageFrameTest : public RTestStep
+ {
+protected:
+ // from RTestStep;
+ TVerdict DoTestStepL();
+ virtual TVerdict DoTestL();
+ TVerdict ProbeAllocTestsL();
+ RImageFrameTest(TBool aAllocTest);
+ TInt LayoutPlanes(const TFrameFormat& aFormat);
+ void InitLayoutValues(TFrameLayout& aLayout,TFrameFormat& aFormat, TSize& aSize, TInt& aRecommendedSize);
+
+protected:
+ TBool iAllocTest;
+ };
+
+class RImageFrameDecDesc : public RImageFrameTest
+ {
+public:
+ static RImageFrameDecDesc* NewL(TBool aAllocTest);
+
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+
+ RImageFrameDecDesc(TBool aAllocTest);
+ };
+
+class RImageFrameDecChunk : public RImageFrameTest
+ {
+public:
+ static RImageFrameDecChunk* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RImageFrameDecChunk(TBool aAllocTest);
+ };
+
+class RImageFrameEncDesc : public RImageFrameTest
+ {
+public:
+ static RImageFrameEncDesc* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RImageFrameEncDesc(TBool aAllocTest);
+ };
+
+class RImageFrameEncChunk : public RImageFrameTest
+ {
+public:
+ static RImageFrameEncChunk* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RImageFrameEncChunk(TBool aAllocTest);
+ };
+
+class RYuvMonoProcDesc : public RImageFrameTest
+ {
+public:
+ static RYuvMonoProcDesc* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RYuvMonoProcDesc(TBool aAllocTest);
+ };
+
+class RYuvMonoProcChunk : public RImageFrameTest
+ {
+public:
+ static RYuvMonoProcChunk* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RYuvMonoProcChunk(TBool aAllocTest);
+ };
+
+class RYuv422IntlProcDesc : public RImageFrameTest
+ {
+public:
+ static RYuv422IntlProcDesc* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RYuv422IntlProcDesc(TBool aAllocTest);
+ };
+
+class RYuv422IntlProcChunk : public RImageFrameTest
+ {
+public:
+ static RYuv422IntlProcChunk* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RYuv422IntlProcChunk(TBool aAllocTest);
+ };
+
+//YUV420PlanarProcessor (Reversed) for descriptor test
+class RYuv420PlnProcDesc : public RImageFrameTest
+ {
+public:
+ static RYuv420PlnProcDesc* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RYuv420PlnProcDesc(TBool aAllocTest);
+ };
+
+//YUV420PlanarProcessor for chunk test
+class RYuv420PlnProcChunk : public RImageFrameTest
+ {
+public:
+ static RYuv420PlnProcChunk* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RYuv420PlnProcChunk(TBool aAllocTest);
+ };
+
+//YUV420PlanarProcessor (Reversed) for descriptor test
+class RYuv420PlnRevProcDesc : public RImageFrameTest
+ {
+public:
+ static RYuv420PlnRevProcDesc* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RYuv420PlnRevProcDesc(TBool aAllocTest);
+ };
+
+//YUV420PlanarProcessor (Reversed) for chunk test
+class RYuv420PlnRevProcChunk : public RImageFrameTest
+ {
+public:
+ static RYuv420PlnRevProcChunk* NewL(TBool aAllocTest);
+protected:
+ // from RImageFrameTest;
+ TVerdict DoTestL();
+private:
+ RYuv420PlnRevProcChunk(TBool aAllocTest);
+ };
+
+// test to demostrate how all works when a descriptor or chunk contains more than one image frame - descriptor case
+class RImageFrameDescMultiFrame : public RTestStep
+ {
+public:
+ static RImageFrameDescMultiFrame* NewL(TBool aAllocTest);
+protected:
+ // from RTestStep;
+ TVerdict DoTestStepL();
+private:
+ RImageFrameDescMultiFrame(TBool aAllocTest);
+ };
+
+// test to demostrate how all works when a descriptor or chunk contains more than one image frame - chunk case
+class RImageFrameRChunkMultiFrame : public RTestStep
+ {
+public:
+ static RImageFrameRChunkMultiFrame* NewL(TBool aAllocTest);
+protected:
+ // from RTestStep;
+ TVerdict DoTestStepL();
+private:
+ RImageFrameRChunkMultiFrame(TBool aAllocTest);
+ };
+
+// test to verify the functionality of TFormatClass for all different recognised format codes
+class RFormatTest : public RTestStep
+ {
+public:
+ static RFormatTest* NewL(TBool aAllocTest);
+protected:
+ // from RTestStep;
+ TVerdict DoTestStepL();
+private:
+ RFormatTest(TBool aAllocTest);
+ };
+
+// test to verify the clipping functionality of the image processor
+class RImageFrameClip : public RTestStep
+ {
+public:
+ static RImageFrameClip* NewL(TBool aAllocTest);
+protected:
+ // from RTestStep;
+ TVerdict DoTestStepL();
+private:
+ RImageFrameClip(TBool aAllocTest);
+ };
+
+
+#endif // TESTSTEPIMAGEFRAME_H
+