mmmw_plat/thumbnail_engine_api/inc/TNECommon.h
changeset 0 71ca22bcf22a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmmw_plat/thumbnail_engine_api/inc/TNECommon.h	Tue Feb 02 01:08:46 2010 +0200
@@ -0,0 +1,165 @@
+/*
+* Copyright (c) 2006 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 __TNECOMMON_H__
+#define __TNECOMMON_H__
+
+#include <e32std.h>
+
+/**
+ * Enumeration for video clip classes.
+ */
+enum TTNEVideoClipClass
+    {
+    ETNEVideoClipClassFile = 15001,
+    ETNEVideoClipClassGenerated
+    };
+
+
+
+/**
+ * Enumeration for video bitstream modes.
+ */
+enum TTNEVideoBitstreamMode
+    {
+    ETNEVideoBitstreamModeUnknown = 0,          /* unrecognized mode; outside of H.263 Profile 0 Level 10, or MPEG-4 Visual Simple Profile */
+    ETNEVideoBitstreamModeH263,                 /* H.263 Simple Profile (Profile 0, Level 10) */                                    
+    ETNEVideoBitstreamModeMPEG4ShortHeader,     /* MPEG-4 Visual Simple Profile - Short Header */
+    ETNEVideoBitstreamModeMPEG4Regular,         /* MPEG-4 Visual Simple Profile - Regular */
+    ETNEVideoBitstreamModeMPEG4Resyn,           /* MPEG-4 Visual Simple Profile - Regular with Resynchronization Markers */
+    ETNEVideoBitstreamModeMPEG4DP,              /* MPEG-4 Visual Simple Profile - Data Partitioned */
+    ETNEVideoBitstreamModeMPEG4DP_RVLC,         /* MPEG-4 Visual Simple Profile - Data Partitioned with Reversible VLCs */
+    ETNEVideoBitstreamModeMPEG4Resyn_DP,        /* MPEG-4 Visual Simple Profile - Data Partitioned with Resynchronization Markers */
+    ETNEVideoBitstreamModeMPEG4Resyn_DP_RVLC    /* MPEG-4 Visual Simple Profile - Data Partitioned with Reversible VLCs & Resynchronization Markers */
+    };
+
+
+
+/* Video format of bitstream - used everywhere */
+enum TTNEVideoType
+    {
+    ETNEVideoTypeUnrecognized = 13001,  /* should always be the first one */
+    ETNEVideoTypeNoVideo,               /* video is not present */
+    ETNEVideoTypeH263Profile0Level10,   /* H.263 Simple Profile (Profile 0, Level 10) */
+    ETNEVideoTypeH263Profile0Level45,   /* H.263 Simple Profile (Profile 0, Level 45) */
+    ETNEVideoTypeMPEG4SimpleProfile,    /* MPEG-4 Visual Simple Profile (any mode) */
+    ETNEVideoTypeAVCProfileBaseline,
+    ETNEVideoTypeLast                   /* should always be the last one */
+    };
+	
+/**
+ * Enumeration for video formats.
+ */
+enum TTNEVideoFormat
+    {
+    ETNEVideoFormatUnrecognized = 11001,  // should always be the first one
+    ETNEVideoFormat3GPP,
+    ETNEVideoFormatMP4,
+    ETNEVideoFormatLast  // should always be the last one
+    };
+
+
+/**
+ * Output parameter class
+ */ 
+
+class TTNEOutputParameters
+    {
+    public:
+        // default constructor; initializes optional parameters to values which mean that editor can decide the value
+        inline TTNEOutputParameters() 
+        : iVideoBitrate(0), iVideoFrameRate(0)
+            {}
+            
+    public:
+
+        // video codec
+        TTNEVideoType iVideoType;
+        // target resolution
+        TSize iVideoResolution;
+        // target video bitrate, 0 = no preference
+        TInt iVideoBitrate;
+        // target video framerate, 0 = no preference
+        TReal iVideoFrameRate;
+        
+    };
+
+
+/**
+ * Transcode factor.
+ */
+struct TTNETranscodeFactor
+    {
+    TInt iTRes;
+    TTNEVideoBitstreamMode iStreamType;
+    };
+
+
+/**
+ * Enumerates video editor engine panic codes and 
+ * provides a static Panic() function.
+ *
+ */
+class TTNEPanic
+    {
+public:
+    enum TTNEPanicCodes 
+        {
+        EInternal = 1,  // internal error (that is, a bug in the video editor engine)
+        EDeprecated,    // deprecated class or method
+        EVideoClipInfoNotReady,
+        EVideoClipInfoIllegalVideoFrameIndex,
+        EVideoClipInfoIllegalVideoFrameTime,
+        EVideoClipInfoFrameOperationAlreadyRunning,
+        EVideoClipInfoIllegalFrameResolution,
+        EVideoClipInfoNoFileAssociated,
+        EVideoClipInfoNoGeneratorAssociated,
+        EAudioClipInfoNotReady,  //10
+        EMovieAddOperationAlreadyRunning,
+        EMovieIllegalStartTransitionEffect,
+        EMovieIllegalMiddleTransitionEffect,
+        EMovieIllegalEndTransitionEffect,
+        EMovieProcessingOperationAlreadyRunning,
+        EMovieObserverAlreadyRegistered,
+        EMovieObserverNotRegistered,
+        EMovieIllegalQuality,
+        EVideoClipIllegalIndex, //20
+        EVideoClipIllegalSpeed, 
+        EVideoClipIllegalColorEffect,
+        EVideoClipIllegalCutInTime,
+        EVideoClipIllegalCutOutTime,
+        EVideoClipNoFileAssociated,
+        EAudioClipIllegalStartTime,
+        EAudioClipIllegalCutInTime,
+        EAudioClipIllegalCutOutTime,
+        EIllegalDynamicLevelMark,
+        EIllegalDynamicLevelMarkIndex,
+        EVideoClipGeneratorNotOveray,
+        EAnimationClipGeneratorNotReady
+        };
+
+public:
+    inline static void Panic(TInt aPanic);
+    };
+
+
+#include "TNECommon.inl"
+
+#endif // __TNECOMMON_H__
+