diff -r b31261fd4e04 -r ccd8e69b5392 mmshplugins/mmcctranscoder/tsrc/stubs/inc/vedcommon.h --- a/mmshplugins/mmcctranscoder/tsrc/stubs/inc/vedcommon.h Tue Feb 02 00:09:07 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,346 +0,0 @@ -/* -* Copyright (c) 2003 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 __VEDCOMMON_H__ -#define __VEDCOMMON_H__ - -#include - - -/** - * Constants for video clip speed settings. The speed is given by % x10, i.e. 1000 means 100 %. - */ -const TInt KVedNormalSpeed(1000); -const TInt KVedMaxSpeed(1000); -const TInt KVedMinSpeed(1); - - -/** - * Enumeration for video clip classes. - */ -enum TVedVideoClipClass - { - EVedVideoClipClassFile = 15001, - EVedVideoClipClassGenerated - }; - - -/** - * Enumeration for bitrate modes. - */ -enum TVedBitrateMode - { - EVedBitrateModeUnrecognized = 18001, - EVedBitrateModeConstant, - EVedBitrateModeVariable, - EVedBitrateModeLast // should always be the last one - }; - -/** - * Enumeration for video bitstream modes. - */ -enum TVedVideoBitstreamMode - { - EVedVideoBitstreamModeUnknown = 0, /* unrecognized mode; outside of H.263 Profile 0 Level 10, or MPEG-4 Visual Simple Profile */ - EVedVideoBitstreamModeH263, /* H.263 Simple Profile (Profile 0, Level 10) */ - EVedVideoBitstreamModeMPEG4ShortHeader, /* MPEG-4 Visual Simple Profile - Short Header */ - EVedVideoBitstreamModeMPEG4Regular, /* MPEG-4 Visual Simple Profile - Regular */ - EVedVideoBitstreamModeMPEG4Resyn, /* MPEG-4 Visual Simple Profile - Regular with Resynchronization Markers */ - EVedVideoBitstreamModeMPEG4DP, /* MPEG-4 Visual Simple Profile - Data Partitioned */ - EVedVideoBitstreamModeMPEG4DP_RVLC, /* MPEG-4 Visual Simple Profile - Data Partitioned with Reversible VLCs */ - EVedVideoBitstreamModeMPEG4Resyn_DP, /* MPEG-4 Visual Simple Profile - Data Partitioned with Resynchronization Markers */ - EVedVideoBitstreamModeMPEG4Resyn_DP_RVLC, /* MPEG-4 Visual Simple Profile - Data Partitioned with Reversible VLCs & Resynchronization Markers */ - EVedVideoBitstreamModeAVC - }; - - - -/* Video format of bitstream - used everywhere */ -enum TVedVideoType - { - EVedVideoTypeUnrecognized = 13001, /* should always be the first one */ - EVedVideoTypeNoVideo, /* video is not present */ - EVedVideoTypeH263Profile0Level10, /* H.263 Simple Profile (Profile 0, Level 10) */ - EVedVideoTypeH263Profile0Level45, /* H.263 Simple Profile (Profile 0, Level 45) */ - EVedVideoTypeMPEG4SimpleProfile, /* MPEG-4 Visual Simple Profile (any mode) */ - EVedVideoTypeAVCBaselineProfile, /* AVC Baseline Profile */ - EVedVideoTypeLast /* should always be the last one */ - }; - -/** - * Enumeration for video formats. - */ -enum TVedVideoFormat - { - EVedVideoFormatUnrecognized = 11001, // should always be the first one - EVedVideoFormat3GPP, - EVedVideoFormatMP4, - EVedVideoFormatLast // should always be the last one - }; - -/** - * Enumeration for audio formats. - */ -enum TVedAudioFormat - { - EVedAudioFormatUnrecognized = 16001, // should always be the first one - EVedAudioFormat3GPP, - EVedAudioFormatMP4, - EVedAudioFormatAMR, - EVedAudioFormatAMRWB, - EVedAudioFormatMP3, - EVedAudioFormatAAC_ADIF, - EVedAudioFormatAAC_ADTS, - EVedAudioFormatWAV, - EVedAudioFormatLast // should always be the last one - }; - - -/** - * Enumeration for audio types (that is, codecs). - */ -enum TVedAudioType - { - EVedAudioTypeUnrecognized = 14001, // should always be the first one - EVedAudioTypeNoAudio, - EVedAudioTypeAMR, - EVedAudioTypeAMRWB, - EVedAudioTypeMP3, - EVedAudioTypeAAC_LC, - EVedAudioTypeAAC_LTP, - EVedAudioTypeWAV, - EVedAudioTypeLast // should always be the last one - }; - -/** - * Enumeration for audio channel modes. - */ -enum TVedAudioChannelMode - { - EVedAudioChannelModeUnrecognized = 17001, - EVedAudioChannelModeStereo, - EVedAudioChannelModeDualChannel, - EVedAudioChannelModeSingleChannel - }; - -/** - * Output parameter class - */ - -class TVedOutputParameters - { - public: - // default constructor; initializes optional parameters to values which mean that editor can decide the value - inline TVedOutputParameters() - : iVideoType(EVedVideoTypeH263Profile0Level10), iVideoResolution(TSize(0,0)), iVideoBitrate(0), iVideoFrameRate(0), - iAudioType(EVedAudioTypeAMR), iAudioBitrate(0), iAudioChannelMode(EVedAudioChannelModeSingleChannel), iAudioSamplingRate(0), - iSyncIntervalInPicture(0), iSegmentSizeInBytes(0) - {} - - public: - - // video codec - TVedVideoType iVideoType; - // target resolution, 0 = no preference (use from input) - TSize iVideoResolution; - // target video bitrate, 0 = no preference - TInt iVideoBitrate; - // target video framerate, 0 = no preference - TReal iVideoFrameRate; - - // audio codec - TVedAudioType iAudioType; - // target audio bitrate, 0 = no preference - TInt iAudioBitrate; - // audio channel mode - TVedAudioChannelMode iAudioChannelMode; - // audio sampling rate, 0 = no preference - TInt iAudioSamplingRate; - - // Segment interval in picture. In H.263 baseline this means number of non-empty GOB headers (1=every GOB has a header), - // Default is 0 == no segments inside picture - // Coding standard & used profile etc. limit the value. - TInt iSyncIntervalInPicture; - - // Target size of each coded video segment. Valid for H.264 and MPEG-4 - // Default is 0 == no segments inside picture - TInt iSegmentSizeInBytes; - - }; - - -/** - * Enumeration for start transition effects. - */ -enum TVedStartTransitionEffect - { - EVedStartTransitionEffectNone = 21001, // should always be the first one - EVedStartTransitionEffectFadeFromBlack, - EVedStartTransitionEffectFadeFromWhite, - EVedStartTransitionEffectLast // should always be the last one - }; - - -/** - * Enumeration for middle transition effects. - */ -enum TVedMiddleTransitionEffect - { - EVedMiddleTransitionEffectNone = 22001, // should always be the first one - EVedMiddleTransitionEffectDipToBlack, - EVedMiddleTransitionEffectDipToWhite, - EVedMiddleTransitionEffectCrossfade, - EVedMiddleTransitionEffectWipeLeftToRight, - EVedMiddleTransitionEffectWipeRightToLeft, - EVedMiddleTransitionEffectWipeTopToBottom, - EVedMiddleTransitionEffectWipeBottomToTop, - EVedMiddleTransitionEffectLast // should always be the last one - }; - - -/** - * Enumeration for end transition effects. - */ -enum TVedEndTransitionEffect - { - EVedEndTransitionEffectNone = 23001, // should always be the first one - EVedEndTransitionEffectFadeToBlack, - EVedEndTransitionEffectFadeToWhite, - EVedEndTransitionEffectLast // should always be the last one - }; - - -/** - * Enumeration for color effects. - */ -enum TVedColorEffect - { - EVedColorEffectNone = 31001, // should always be the first one - EVedColorEffectBlackAndWhite, - EVedColorEffectToning, - EVedColorEffectLast // should always be the last one - }; - - -/** - * Class for storing dynamic level marks. - */ -class TVedDynamicLevelMark - { -public: - /** Mark time. */ - TTimeIntervalMicroSeconds iTime; - - /** - * Dynamic level (-63.5 - +12.7) in dB:s; one step represents +0.1 or -0.5 dB => values are -127...+127 - */ - TInt8 iLevel; - - /** - * Constructs a new dynamic level mark. - * - * @param aTime time for the mark - * @param aLevel dynamic level (-63.5 ... +12.7) in dB:s one step = +0.1 or -0.5 dB => values can be -127...+127 - */ - inline TVedDynamicLevelMark(TTimeIntervalMicroSeconds aTime, TInt aLevel); - - /** - * Constructs a new dynamic level mark from existing instance. - * - * @param aMark dynamic level mark to copy - */ - inline TVedDynamicLevelMark(const TVedDynamicLevelMark& aMark); - }; - - -/** - * Transcode factor. - */ -struct TVedTranscodeFactor - { - TInt iTRes; - TVedVideoBitstreamMode iStreamType; - }; - - -/** - * Enumerates video editor engine panic codes and - * provides a static Panic() function. - * - */ -class TVedPanic - { -public: - enum TVedPanicCodes - { - 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 - EMovieEmpty, - EMovieAddOperationAlreadyRunning, - EMovieIllegalStartTransitionEffect, - EMovieIllegalMiddleTransitionEffect, - EMovieIllegalEndTransitionEffect, - EMovieProcessingOperationAlreadyRunning, - EMovieObserverAlreadyRegistered, - EMovieObserverNotRegistered, - EMovieIllegalQuality, - EVideoClipIllegalIndex, //20 - EVideoClipIllegalSpeed, - EVideoClipIllegalColorEffect, - EVideoClipIllegalCutInTime, - EVideoClipIllegalCutOutTime, - EVideoClipNoFileAssociated, - EAudioClipIllegalStartTime, - EAudioClipIllegalCutInTime, - EAudioClipIllegalCutOutTime, - EVideoClipGeneratorNotInserted, - EVideoClipGeneratorNotReady,//30 - EVideoClipGeneratorAlreadyInserted, - EVideoClipGeneratorIllegalVideoFrameIndex, - EVideoClipGeneratorIllegalDuration, - EVideoClipGeneratorIllegalFrameResolution, - EVideoClipGeneratorIllegalVideoFrameTime, - EImageClipGeneratorIllegalMaxResolution, - EImageClipGeneratorNotReady, - EImageClipGeneratorFrameOperationAlreadyRunning, - ETitleClipGeneratorIllegalMaxResolution, - ETitleClipGeneratorIllegalMaxFramerate,//40 - ETitleClipGeneratorFrameOperationAlreadyRunning, - EIllegalDynamicLevelMark, - EIllegalDynamicLevelMarkIndex, - EVideoClipGeneratorNotOveray, - EAnimationClipGeneratorNotReady - }; - -public: - inline static void Panic(TInt aPanic); - }; - - -#include "VedCommon.inl" - -#endif // __VEDCOMMON_H__ -