1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/mm/mmlibs/mmfw/tsrc/mmfunittest/DevVideo/src/TestDevVideoPlugins/postproc.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,122 @@
1.4 +// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +
1.20 +#ifndef __POSTPROC_H__
1.21 +#define __POSTPROC_H__
1.22 +
1.23 +
1.24 +#include <mmf/devvideo/videoplayhwdevice.h>
1.25 +#include "TestPluginUIDs.hrh"
1.26 +
1.27 +enum TPostProcPanicCategory
1.28 + {
1.29 + EPostProcPanicInitialize = 0,
1.30 + EPostProcPanicClockSource,
1.31 + EPostProcPanicScreenClipRegion,
1.32 + EPostProcPanicPauseClipFail,
1.33 + EPostProcPanicSetPosition,
1.34 + EPostProcPanicFreezePicture,
1.35 + EPostProcPanicReleaseFreeze,
1.36 + EPostProcPanicComplexityLevel,
1.37 + EPostProcPanicComplexityLevelInfo
1.38 + };
1.39 +
1.40 +const TUid KUidDevVideoTestPostProcHwDevice = {KUidDevVideoTestPostProcHwDeviceDefine1};
1.41 +const TUid KUidDevVideoTestPostProcHwDevice1 = {KUidDevVideoTestPostProcHwDeviceDefine1};
1.42 +const TUid KUidDevVideoTestPostProcHwDevice2 = {KUidDevVideoTestPostProcHwDeviceDefine2};
1.43 +const TUid KUidDevVideoTestPostProcHwDevice3 = {KUidDevVideoTestPostProcHwDeviceDefine3};
1.44 +const TUid KUidDevVideoTestPostProcHwDevice4 = {KUidDevVideoTestPostProcHwDeviceDefine4};
1.45 +const TUid KUidDevVideoTestPostProcHwDevice5 = {KUidDevVideoTestPostProcHwDeviceDefine5};
1.46 +const TInt KPostProcDefaultScreenNumber = 0;
1.47 +const TInt KPostProcSecondaryScreenNumber = 1;
1.48 +
1.49 +class CMMFTestVideoPostProcHwDevice : public CMMFVideoPostProcHwDevice
1.50 + {
1.51 +public:
1.52 + static CMMFVideoPostProcHwDevice* NewL(TAny* aInitParams);
1.53 + ~CMMFTestVideoPostProcHwDevice();
1.54 +
1.55 + // from CMMFVideoHwDevice
1.56 + virtual TAny* CustomInterface(TUid aInterface);
1.57 +
1.58 + // from CMMFVideoPlayHwDevice
1.59 + virtual CPostProcessorInfo* PostProcessorInfoLC();
1.60 + virtual void GetOutputFormatListL(RArray<TUncompressedVideoFormat>& aFormats);
1.61 + virtual void SetOutputFormatL(const TUncompressedVideoFormat &aFormat);
1.62 + virtual void SetPostProcessTypesL(TUint32 aPostProcCombination);
1.63 + virtual void SetInputCropOptionsL(const TRect& aRect);
1.64 + virtual void SetYuvToRgbOptionsL(const TYuvToRgbOptions& aOptions, const TYuvFormat& aYuvFormat, TRgbFormat aRgbFormat);
1.65 + virtual void SetYuvToRgbOptionsL(const TYuvToRgbOptions& aOptions);
1.66 + virtual void SetRotateOptionsL(TRotationType aRotationType);
1.67 + virtual void SetScaleOptionsL(const TSize& aTargetSize, TBool aAntiAliasFiltering);
1.68 + virtual void SetOutputCropOptionsL(const TRect& aRect);
1.69 + virtual void SetPostProcSpecificOptionsL(const TDesC8& aOptions);
1.70 + virtual void SetClockSource(MMMFClockSource* aClock);
1.71 + virtual void SetVideoDestScreenL(TBool aScreen);
1.72 + virtual void Initialize();
1.73 + virtual void StartDirectScreenAccessL(const TRect& aVideoRect, CFbsScreenDevice& aScreenDevice, const TRegion& aClipRegion);
1.74 + virtual void SetScreenClipRegion(const TRegion& aRegion);
1.75 + virtual void SetPauseOnClipFail(TBool aPause);
1.76 + virtual void AbortDirectScreenAccess();
1.77 + virtual TBool IsPlaying();
1.78 + virtual void Redraw();
1.79 + virtual void Start();
1.80 + virtual void Stop();
1.81 + virtual void Pause();
1.82 + virtual void Resume();
1.83 + virtual void SetPosition(const TTimeIntervalMicroSeconds& aPlaybackPosition);
1.84 + virtual void FreezePicture(const TTimeIntervalMicroSeconds& aTimestamp);
1.85 + virtual void ReleaseFreeze(const TTimeIntervalMicroSeconds& aTimestamp);
1.86 + virtual TTimeIntervalMicroSeconds PlaybackPosition();
1.87 + virtual TUint PictureBufferBytes();
1.88 + virtual void GetPictureCounters(CMMFDevVideoPlay::TPictureCounters& aCounters);
1.89 + virtual void SetComplexityLevel(TUint aLevel);
1.90 + virtual TUint NumComplexityLevels();
1.91 + virtual void GetComplexityLevelInfo(TUint aLevel, CMMFDevVideoPlay::TComplexityLevelInfo& aInfo);
1.92 + virtual void ReturnPicture(TVideoPicture* aPicture);
1.93 + virtual TBool GetSnapshotL(TPictureData& aPictureData, const TUncompressedVideoFormat& aFormat);
1.94 + virtual void GetTimedSnapshotL(TPictureData* aPictureData, const TUncompressedVideoFormat& aFormat, const TTimeIntervalMicroSeconds& aPresentationTimestamp);
1.95 + virtual void GetTimedSnapshotL(TPictureData* aPictureData, const TUncompressedVideoFormat& aFormat, const TPictureId& aPictureId);
1.96 + virtual void CancelTimedSnapshot();
1.97 + virtual void GetSupportedSnapshotFormatsL(RArray<TUncompressedVideoFormat>& aFormats);
1.98 + virtual void InputEnd();
1.99 + virtual void CommitL();
1.100 + virtual void Revert();
1.101 +
1.102 + // from CMMFVideoPostProcHwDevice
1.103 + virtual void SetInputFormatL(const TUncompressedVideoFormat& aFormat);
1.104 + virtual void SetInputDevice(CMMFVideoDecodeHwDevice* aDevice);
1.105 + virtual void WritePictureL(TVideoPicture* aPicture);
1.106 + virtual void SetProxy(MMMFDevVideoPlayProxy& aProxy);
1.107 +
1.108 +private:
1.109 + CMMFTestVideoPostProcHwDevice();
1.110 +private:
1.111 + MMMFDevVideoPlayProxy* iProxy;
1.112 +
1.113 + RArray<TUncompressedVideoFormat> iVidFormats;
1.114 + RArray<TScaleFactor> iScaleFactors;
1.115 + RArray<TUint32> iCombinations;
1.116 +
1.117 + RArray<TVideoPicture> iVideoPictures;
1.118 + TInt iCurrentPicture;
1.119 + TBool iIsPlaying;
1.120 + TPictureId iPictureId;
1.121 + TPictureData iPictureData;
1.122 + TTimeIntervalMicroSeconds iPictureTimestamp;
1.123 + };
1.124 +
1.125 +#endif