--- a/videoeditorengine/avcedit/inc/vedavcedit.h Fri Jan 29 14:08:33 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,181 +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:
-* A header file defining the AVC editing API.
-*
-*
-*/
-
-
-
-#ifndef VEDAVCEDIT_H
-#define VEDAVCEDIT_H
-
-#include <e32base.h>
-
-/**
-* CVedAVCEdit abstract base class for AVC editing class
-*
-* @lib vedAVCEdit
-* @since
-*/
-class CVedAVCEdit : public CBase
- {
-
- public: // Constants
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- *
- */
- IMPORT_C static CVedAVCEdit* NewL();
-
- /**
- * Destructor.
- */
- virtual ~CVedAVCEdit();
-
- public: // New functions
-
- /*
- * Add MDF specific NAL headers to input AVC frame
- *
- * @param aBuf Input/output buffer
- * @param aFrameLen Input/output frame length
- * @param aDecInfoSize Decoder specific info size
- * @param aFirstFrame ETrue for first frame in sequence
- */
- virtual void ProcessAVCBitStreamL(TDes8& aBuf, TInt& aFrameLen, TInt aDecInfoSize, TBool aFirstFrame) = 0;
-
- /*
- * Calculate default value for no. of buffered frames according to
- * H.264 spec Annex A
- *
- * @param aLevel AVC level
- * @param aResolution Video resolution
- */
- virtual TInt GetMaxAVCFrameBuffering(TInt aLevel, TSize aResolution) = 0;
-
- /*
- * Get input bitstream level from SPS. Note: SPS Nal unit must be at the
- * beginning of the input buffer
- *
- * @param aBuf Input buffer containing SPS
- * @param aLevel Output: Baseline profile level
- */
- virtual TInt GetLevel(TDesC8& aBuf, TInt& aLevel) = 0;
-
- /*
- * Get input bitstream video resolution from SPS. Note: SPS Nal unit must
- * be at the beginning of the input buffer
- *
- * @param aBuf Input buffer containing SPS
- * @param aResolution Output: Resolution
- */
- virtual TInt GetResolution(TDesC8& aBuf, TSize& aResolution) = 0;
-
-#ifdef VIDEOEDITORENGINE_AVC_EDITING
-
- /*
- * Convert AVC specific decoder config info to AVCDecoderConfigurationRecord -format
- *
- * @param aSrcBuf Source buffer containing SPS/PPS NAL units in AVC MDF buffer format
- * @param aDstBuf Destination buffer for AVCDecoderConfigurationRecord
- */
- virtual void ConvertAVCHeaderL(TDesC8& aSrcBuf, TDes8& aDstBuf ) = 0;
-
- /*
- * Save SPS/PPS NAL units from AVCDecoderConfigurationRecord
- * for later use
- *
- * @param aBuf Input buffer containing AVCDecoderConfigurationRecord
- */
- virtual void SaveAVCDecoderConfigurationRecordL(TDes8& aBuf, TBool aFromEncoder) = 0;
-
- /*
- * Update slice header information: frame number and PPS id
- *
- * @param aBuf Buffer containing input frame
- * @param aContainsDCR ETrue if AVC decoder config. record is included
- * @param aFromEncoder ETrue if frame comes from the encoder
- */
- virtual TInt ParseFrame(HBufC8*& aBuf, TBool aContainsDCR, TBool aFromEncoder) = 0;
-
- /*
- * Constructs AVCDecoderConfigurationRecord for the whole sequence, taking
- * into account all input DCR's
- *
- * @param aDstBuf Destination buffer for AVCDecoderConfigurationRecord
- * @param aLevel Level output sequence
- */
- virtual void ConstructAVCDecoderConfigurationRecordL( TDes8& aDstBuf ) = 0;
-
- /*
- * Set length of NAL size field of output sequence
- *
- * @param aSize Length of size field in bytes
- */
- virtual void SetNALLengthSize( TInt aSize ) = 0;
-
- /*
- * Set output level for constructing AVCDecoderConfigurationRecord
- *
- * @param aLevel Output level
- */
- virtual void SetOutputLevel(TInt aLevel) = 0;
-
- /*
- * Check if encoding is required until the next IDR unit
- *
- */
- virtual TBool EncodeUntilIDR() = 0;
-
- /*
- * Check if NAL unit is an IDR NAL
- *
- * @param aNalBuf buffer containing NAL unit
- */
- virtual TBool IsNALUnitIDR( TDes8& aNalBuf ) = 0;
-
- /*
- * Store PPS id from the current slice
- *
- * @param aNalBuf buffer containing NAL unit
- */
- virtual void StoreCurrentPPSId( TDes8& aNalBuf ) = 0;
-
- /*
- * Generate a not coded frame
- *
- * @param aNalBuf buffer containing NAL unit
- */
- virtual TInt GenerateNotCodedFrame( TDes8& aNalBuf, TUint aFrameNumber ) = 0;
-
- /*
- * Modify the frame number of the NAL unit
- *
- * @param aNalBuf buffer containing NAL unit
- */
- virtual void ModifyFrameNumber( TDes8& aNalBuf, TUint aFrameNumber ) = 0;
-#endif
-
-};
-
-
-#endif
-
-// End of File