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 */ |