videoeditorengine/mp3aacManipLib/MP3Gain/inc/mpif.h
author Mikael Laine <mikael.laine@ixonos.com>
Fri, 29 Jan 2010 14:08:33 +0200
changeset 0 951a5db380a0
permissions -rw-r--r--
Committing the Video Editor package under the Eclipse Public License

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


/**************************************************************************
  mpif.h - Interchange format interface for MPEG Layer I/II/III.

  Author(s): Juha Ojanpera
  Copyright (c) 1999-2004 by Nokia Research Center, Speech and Audio Systems.
  *************************************************************************/

#ifndef MP_AIF_H_
#define MP_AIF_H_

/*-- Project Headers. --*/
#include "defines.h"
#include "auddef.h"
#include "mstream.h"
#include "MP3API.h"
#include "AACAPI.h"


/*
   Purpose:     Parent structure for error checking.
   Explanation: The number of bits that are protected varies between different 
                versions (MPEG-1, MPEG-2). */
/*
typedef struct CRC_Check
{
  uint8 bufLen;                       // Length of 'crc_payload' 
  int16 crc;                          // CRC error-check word.   

} CRC_Check;
*/



/*
 * Implemented interfaces.
 */
class TMpTransportHandle;

void
mpInitTransport(TMpTransportHandle *tHandle);

SEEK_STATUS
mpSyncTransport(TMpTransportHandle *tHandle, uint8 *syncBuf, 
                uint32 syncBufLen, uint32 *readBits);

int16
GetSideInfoSlots(TMpTransportHandle *tHandle);

int16
GetSideInfoSlots(TMPEG_Header *header);

int16
MP_SeekSync(TMpTransportHandle *tHandle, uint8 *syncBuf, 
            uint32 syncBufLen, int16 *readBytes, 
            int16 *frameBytes, int16 *headerBytes,
            uint8 initMode);

int16
MP_FreeMode(TMpTransportHandle *tHandle, uint8 *syncBuf, 
            uint32 syncBufLen, int16 *readBytes, 
            int16 *frameBytes, int16 *headerBytes);

int16
MP_EstimateBitrate(TMpTransportHandle *tHandle, uint8 isVbr);

uint32
MP_FileLengthInMs(TMpTransportHandle *tHandle, int32 fileSize);

int32
MP_GetSeekOffset(TMpTransportHandle *tHandle, int32 seekPos);

int32
MP_GetFrameTime(TMpTransportHandle *tHandle);



#endif /*-- MP_AIF_H_ --*/