videoeditorengine/vedengine/videoprocessor/src/mpeg4timer.cpp
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 5 4c409de21d23
--- a/videoeditorengine/vedengine/videoprocessor/src/mpeg4timer.cpp	Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2010 Ixonos Plc.
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the "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:
-* Ixonos Plc
-*
-* Description:  
-* Implementation for MPEG-4 timing functions.
-*
-*/
-
-
-/* 
-* Includes
-*/
-
-#include "mpeg4timer.h"
-#include "vedvideosettings.h"
-
-// Debug print macro
-#ifdef _DEBUG
-#include <e32svr.h>
-#define PRINT(x) RDebug::Print x
-#else
-#define PRINT(x)
-#endif
-
-
-/*
-* ~CMPEG4Timer
-*
-* Parameters: 
-*
-* Function:
-*    Destruction
-* Returns:
-*
-* Error codes:
-*    None
-*
-*/
-CMPEG4Timer::~CMPEG4Timer()
-{
-}
-
-/*
-* NewL
-*
-* Parameters: 
-*     
-* Function:
-*    Symbian two-phased constructor 
-* Returns:
-*     pointer to constructed object, or NULL
-* Error codes:
-*    None
-*
-*/
-CMPEG4Timer* CMPEG4Timer::NewL(CMovieProcessorImpl * aMovProcessor, TInt aTimeIncrementResolution)
-{	
-	CMPEG4Timer* self = new (ELeave) CMPEG4Timer();    
-	CleanupStack::PushL( self );
-	self->ConstructL(aMovProcessor, aTimeIncrementResolution);
-	CleanupStack::Pop();
-	return self; 
-}
-
-/*
-* ConstructL
-*
-* Parameters: 
-*     
-* Function:
-*    Symbian 2nd phase constructor (can leave)
-* Returns:
-*     None
-* Error codes:
-*    None
-*
-*/
-void CMPEG4Timer::ConstructL(CMovieProcessorImpl * aMovProcessor, TInt aTimeIncrementResolution)
-{	
-	iProcessor = aMovProcessor;
-	iMPEG4TimeStamp.modulo_time_base = 0;
-	iMPEG4TimeStamp.time_inc = 0;
-	iPrevModuloTimeBaseVal = 0;
-	iMPEG4TimeResolution = aTimeIncrementResolution;
-	iMPEG4DurationInMsSinceLastModulo = 0;
-}
-
-
-
-/*
-* GetMPEG4DurationInMsSinceLastModulo
-*
-* Parameters: 
-*     
-* Function:
-*    This function gets the frame duration in millisec from the last frame with modulo base larger than zero
-* Returns:
-*     Frame duration 
-* Error codes:
-*    None
-*
-*/
-TInt64 CMPEG4Timer::GetMPEG4DurationInMsSinceLastModulo()
-{
-	return iMPEG4DurationInMsSinceLastModulo;
-}
-
-/*
-* UpdateMPEG4Time
-*
-* Parameters: 
-*     
-* Function:
-*    This function updates the time stamp and duration of the last frame for MPEG-4 video
-* Returns:
-*     Nothing 
-* Error codes:
-*    None
-*
-*/
-void CMPEG4Timer::UpdateMPEG4Time(TInt aAbsFrameNumber, TInt /*aFrameNumber*/, TInt aTimeScale)
-{
-	TInt cur = aAbsFrameNumber; 
-	TInt next = cur+1;
-	TInt64 frameDuration;
-	int Tdiff;
-
-	iPrevModuloTimeBaseVal += iMPEG4TimeStamp.modulo_time_base;
-	
-	iMPEG4DurationInMsSinceLastModulo = (TInt)((TReal)(iPrevModuloTimeBaseVal * iMPEG4TimeResolution + iMPEG4TimeStamp.time_inc)/ 
-		(TReal)(iMPEG4TimeResolution) * 1000000.0 + 0.5);	
-	
-	if(next >= iProcessor->GetOutputNumberOfFrames())
-		frameDuration = iProcessor->GetVideoTimeInMsFromTicks( I64INT( (iProcessor->GetVideoClipDuration() - iProcessor->VideoFrameTimeStamp(cur)) ), EFalse)*1000; 
-	else
-		frameDuration = iProcessor->GetVideoTimeInMsFromTicks(iProcessor->VideoFrameTimeStamp(next) - iProcessor->VideoFrameTimeStamp(cur), EFalse)*1000; 
-	
- 	if (frameDuration <0 )
-		frameDuration = 100000;
-	
-	frameDuration = TInt( I64REAL(frameDuration) / (TReal)aTimeScale * 1000.0 + 0.5);
-	
-    if ( I64INT(frameDuration) > KVedMaxFrameDuration )
-        {
-        // max duration is limited since there are some variables e.g. in video decoder than can handle only limited length fields. 
-        PRINT((_L("CMPEG4Timer::UpdateMPEG4Time() limiting frame duration to 30 sec")));
-        frameDuration = KVedMaxFrameDuration;
-        }
-	Tdiff = TInt(iMPEG4TimeStamp.time_inc + I64REAL(frameDuration) * iMPEG4TimeResolution/1000000.0 + 0.5);
-	iMPEG4TimeStamp.modulo_time_base = Tdiff/iMPEG4TimeResolution;
-	iMPEG4TimeStamp.time_inc = Tdiff - (iMPEG4TimeResolution * iMPEG4TimeStamp.modulo_time_base);
-
-}
-