mdfdevvideoextensions/nga_mdf_postprocessor/inc/NGAPostProcHwDevice.h
changeset 29 eb1e5d7cc688
parent 15 c1e808730d6c
equal deleted inserted replaced
26:c36d67f77f75 29:eb1e5d7cc688
    39 #include <surface_hints.h>
    39 #include <surface_hints.h>
    40 #include <secureoutputci.h>
    40 #include <secureoutputci.h>
    41 #include <advancedsecureoutputci.h>
    41 #include <advancedsecureoutputci.h>
    42 #include <graphics/suerror.h>
    42 #include <graphics/suerror.h>
    43 
    43 
       
    44 #include "fetchframecustominterface.h"
    44 #include "MdfRDebug.h"
    45 #include "MdfRDebug.h"
    45 #include "NGAPostProcHwDevice_UID.hrh"
    46 #include "NGAPostProcHwDevice_UID.hrh"
    46 #include "NGAPostProcSessionManagerObserver.h"
    47 #include "NGAPostProcSessionManagerObserver.h"
       
    48 #include "common.h"
    47 
    49 
    48 class CNGAPostProcSessionManager;
    50 class CNGAPostProcSessionManager;
    49 class CNGAPostProcSurfaceHandler;
    51 class CNGAPostProcSurfaceHandler;
    50 class CNGAPostProcTimer;
    52 class CNGAPostProcTimer;
    51 class RWsSession;
    53 class RWsSession;
   526     @leave  "The method will leave if an error occurs. Typical error codes used:
   528     @leave  "The method will leave if an error occurs. Typical error codes used:
   527             * KErrNotSupported - The requested data format or picture size is not supported, or the 
   529             * KErrNotSupported - The requested data format or picture size is not supported, or the 
   528             plug-in does not support snapshots."
   530             plug-in does not support snapshots."
   529     @pre    "This method can only be called after the hwdevice has been initialized with Initialize()."
   531     @pre    "This method can only be called after the hwdevice has been initialized with Initialize()."
   530     */
   532     */
   531 //    TBool GetSnapshotL(TPictureData& aPictureData, const TUncompressedVideoFormat& aFormat) {return EFalse;};
   533 //  TBool GetSnapshotL(TPictureData& aPictureData, const TUncompressedVideoFormat& aFormat) {return EFalse;};
   532     TBool GetSnapshotL(TPictureData&, const TUncompressedVideoFormat& ) {return EFalse;};
   534     TBool GetSnapshotL(TPictureData& aPictureData, const TUncompressedVideoFormat& aFormat);
   533 
   535 
   534     /**
   536     /**
   535     When the snapshot is available, it will be returned to the client using the TimedSnapshotComplete()
   537     When the snapshot is available, it will be returned to the client using the TimedSnapshotComplete()
   536     callback. To cancel a timed snapshot request, use CancelTimedSnapshot(). Only one timed snapshot 
   538     callback. To cancel a timed snapshot request, use CancelTimedSnapshot(). Only one timed snapshot 
   537     request can be active at a time.
   539     request can be active at a time.
  1006     TInt AddHints();
  1008     TInt AddHints();
  1007     
  1009     
  1008 	#ifdef _DUMP_YUV_FRAMES
  1010 	#ifdef _DUMP_YUV_FRAMES
  1009     void captureYuv(TVideoPicture* aPicture);
  1011     void captureYuv(TVideoPicture* aPicture);
  1010     #endif
  1012     #endif
       
  1013     
       
  1014     TInt SetSourceFormat();
       
  1015     TInt SetSourceRange();
       
  1016     TInt ColorConvert(tBaseVideoFrame* aInputFrame, TUint8* aDestPtr, tWndParam* aInputCropWindow, tWndParam* aOutputCropWindow);
  1011 
  1017 
  1012 private:
  1018 private:
  1013 
  1019 
  1014     //
  1020     //
  1015     // C++ default constructor.  
  1021     // C++ default constructor.  
  1061     TBool 										iSurfaceCreatedEventPublished;
  1067     TBool 										iSurfaceCreatedEventPublished;
  1062     TInt                                		iOverflowPictureCounter;
  1068     TInt                                		iOverflowPictureCounter;
  1063     TInt 								    	iVideoFrameBufSize;	
  1069     TInt 								    	iVideoFrameBufSize;	
  1064     TBool 										iResourceLost;
  1070     TBool 										iResourceLost;
  1065     TBool 										iRedrawDone;
  1071     TBool 										iRedrawDone;
  1066     
  1072 	// Flag to indicate that the redraw surface has been created, and
       
  1073 	// can be used in a subsequent call ro Redraw()
       
  1074 	TBool										iRedrawSurfaceInUse;
       
  1075 
  1067     //-- members for buffer management --
  1076     //-- members for buffer management --
  1068     MMmfVideoBufferManagementObserver*  		iVBMObserver;
  1077     MMmfVideoBufferManagementObserver*  		iVBMObserver;
  1069     TBufferOptions                      		iVBMBufferOptions;
  1078     TBufferOptions                      		iVBMBufferOptions;
  1070     RArray<TVideoPicture*>              		iVBMBufferReferenceQ;
  1079     RArray<TVideoPicture*>              		iVBMBufferReferenceQ;
  1071     RArray<TVideoPicture*>              		iVBMBufferQ;
  1080     RArray<TVideoPicture*>              		iVBMBufferQ;
  1081     //-- members for Surface support --
  1090     //-- members for Surface support --
  1082     MMMFVideoSurfaceObserver*					iVideoSurfaceObserver;
  1091     MMMFVideoSurfaceObserver*					iVideoSurfaceObserver;
  1083 	MMmfVideoPropertiesObserver*				iVPObserver;
  1092 	MMmfVideoPropertiesObserver*				iVPObserver;
  1084 	RWsSession									iWsSession;
  1093 	RWsSession									iWsSession;
  1085 	TSize										iPicSize;
  1094 	TSize										iPicSize;
       
  1095 	TUint										iAspectRatioNum;
       
  1096 	TUint										iAspectRatioDenom;
  1086 	//-- members for Trickplay support --
  1097 	//-- members for Trickplay support --
  1087 	TInt                                iStepFrameCount;
  1098 	TInt                                iStepFrameCount;
  1088     TInt                                iPlayRate;       
  1099     TInt                                iPlayRate;       
  1089     TBool                               iKeyFrameMode;       
  1100     TBool                               iKeyFrameMode;       
  1090     MMmfVideoPlayRateObserver*          iFPObserver;       
  1101     MMmfVideoPlayRateObserver*          iFPObserver;       
  1091     TUint8                              iSkippedFramesCountingBuffer[64];       
  1102     TUint8                              iSkippedFramesCountingBuffer[64];       
  1092     TUint8                              iSkippedFramesInLast64Frames;       
  1103     TUint8                              iSkippedFramesInLast64Frames;       
  1093     TUint8                              iCurrentPosInFramesCountingBuffer; 
  1104     TUint8                              iCurrentPosInFramesCountingBuffer; 
       
  1105     TUncompressedVideoFormat 			iVideoFormat;
       
  1106         //---------- utility variables -------
       
  1107 	// Image source format
       
  1108 	TUint8 								iSourceFormat;
       
  1109 
       
  1110 	//Image range
       
  1111 	TUint8		 						iSourceRange;
  1094 };    
  1112 };    
  1095 
  1113 
  1096 /**
  1114 /**
  1097  * Timer of Posting
  1115  * Timer of Posting
  1098  */
  1116  */