mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-17 22:45:46 -04:00
Initial community commit
This commit is contained in:
160
Src/aacdec/incs/mp4AudioDecIfc.h
Normal file
160
Src/aacdec/incs/mp4AudioDecIfc.h
Normal file
@ -0,0 +1,160 @@
|
||||
/***************************************************************************\
|
||||
*
|
||||
* (C) copyright Fraunhofer - IIS (2001)
|
||||
* All Rights Reserved
|
||||
*
|
||||
* $Header: /cvs/root/winamp/aacdec/incs/mp4AudioDecIfc.h,v 1.3 2012/05/08 20:16:49 audiodsp Exp $
|
||||
* project : MPEG-4 Audio Decoder
|
||||
* contents/description: interface to mpeg-4 audio decoder
|
||||
*
|
||||
* This software and/or program is protected by copyright law and
|
||||
* international treaties. Any reproduction or distribution of this
|
||||
* software and/or program, or any portion of it, may result in severe
|
||||
* civil and criminal penalties, and will be prosecuted to the maximum
|
||||
* extent possible under law.
|
||||
*
|
||||
\***************************************************************************/
|
||||
|
||||
#ifndef __MP4AUDIODECIFC_H__
|
||||
#define __MP4AUDIODECIFC_H__
|
||||
|
||||
|
||||
#include "mp4dec_helpers/err_code.h"
|
||||
|
||||
#include "mp4dec_asc/audiospecificconfig_c.h"
|
||||
#include "mp4dec_helpers/usrparam.h"
|
||||
|
||||
#include "mp4dec_helpers/aubuffer_c.h"
|
||||
#include "mp4dec_helpers/cubuffer_c.h"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#if defined(WIN32) || defined(WIN64)
|
||||
#pragma pack(push, 8)
|
||||
#endif
|
||||
|
||||
|
||||
/* data types */
|
||||
|
||||
typedef struct mp4AudioDecoder_VersionInfo {
|
||||
char dateTime[80];
|
||||
char versionNo[40];
|
||||
char options[1024];
|
||||
char options_ext[4096];
|
||||
} mp4AudioDecoder_VersionInfo;
|
||||
|
||||
|
||||
/* Opaque declaration of decoder handle */
|
||||
struct mp4AudioDecoder;
|
||||
typedef struct mp4AudioDecoder* mp4AudioDecoderHandle;
|
||||
|
||||
|
||||
/* mandatory decoder functions */
|
||||
|
||||
mp4AudioDecoderHandle MP4AUDIODECAPI mp4AudioDecoder_Create(
|
||||
const struct CSAudioSpecificConfig * const asc[],
|
||||
const unsigned int noOfLayers
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_SetParam(
|
||||
const mp4AudioDecoderHandle self,
|
||||
const unsigned int param,
|
||||
const float value
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_DecodeFrame(
|
||||
mp4AudioDecoderHandle self,
|
||||
struct CAccessUnit* auBuffer[],
|
||||
struct CCompositionUnit* cuBuffer
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_Destroy(mp4AudioDecoderHandle* self);
|
||||
|
||||
|
||||
/* utility functions */
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_Reset(
|
||||
mp4AudioDecoderHandle self,
|
||||
const unsigned int param,
|
||||
int value
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_Flush(
|
||||
mp4AudioDecoderHandle self,
|
||||
struct CCompositionUnit* cuBuffer
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_GetBufferFullness(
|
||||
const mp4AudioDecoderHandle self,
|
||||
const unsigned int layer,
|
||||
unsigned int* bufferfullness
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_GetSamplesPerFrame(
|
||||
const mp4AudioDecoderHandle self,
|
||||
unsigned int* spf
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_SetOutputLayer(
|
||||
const mp4AudioDecoderHandle self,
|
||||
const unsigned int outputLayer
|
||||
);
|
||||
|
||||
/* MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_SetSpeedPitch( */
|
||||
/* const mp4AudioDecoderHandle self, */
|
||||
/* const float speedChangeFactor, */
|
||||
/* const float pitchChangeFactor */
|
||||
/* ); */
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_GetLastError(const mp4AudioDecoderHandle self);
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_GetLibraryVersion(mp4AudioDecoder_VersionInfo* versionInfo);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_ascParse(
|
||||
const unsigned char* decSpecificInfoBuf,
|
||||
const unsigned int decSpecificInfoBuf_len,
|
||||
struct CSAudioSpecificConfig* asc
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_ascParseStream(
|
||||
const unsigned char* decSpecificInfoBuf,
|
||||
struct CSAudioSpecificConfig* asc,
|
||||
int* bitsRead
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_ascParseExt(
|
||||
const unsigned char* const decSpecificInfoBuf[],
|
||||
const unsigned int decSpecificInfoBuf_len[],
|
||||
const unsigned int avgBitrate[],
|
||||
const unsigned int streams,
|
||||
unsigned int* layers, /* out */
|
||||
struct CSAudioSpecificConfig* asc[], /* out */
|
||||
unsigned int streamsPerLayer[] /* out */
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_ascPrint(
|
||||
unsigned int layers, /* in */
|
||||
struct CSAudioSpecificConfig* asc[], /* in */
|
||||
unsigned int stringLen, /* in */
|
||||
unsigned char string[] /* ptr in, content out */
|
||||
);
|
||||
|
||||
MP4_RESULT MP4AUDIODECAPI mp4AudioDecoder_GetPcmWidth(
|
||||
const unsigned char* const decSpecificInfoBuf[],
|
||||
const unsigned int decSpecificInfoBuf_len[],
|
||||
const unsigned int streams,
|
||||
unsigned int* pcmwidth /* out */
|
||||
);
|
||||
|
||||
|
||||
#if defined(WIN32) || defined(WIN64)
|
||||
#pragma pack(pop)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __MP4AUDIODECIFC_H__ */
|
Reference in New Issue
Block a user