winamp/Src/aacdec/incs/mp4dec_asc/celpspecificconfig_c.h
2024-09-24 14:54:57 +02:00

65 lines
2.0 KiB
C

/***************************************************************************\
*
* (C) copyright Fraunhofer - IIS (2002)
* All Rights Reserved
*
* $Header: /cvs/root/winamp/aacdec/incs/mp4dec_asc/celpspecificconfig_c.h,v 1.3 2012/05/08 20:16:50 audiodsp Exp $
* project : MPEG-4 Audio Decoder
* contents/description: celp specific config interface
*
* 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 __CELPSPECIFICCONFIG_C_H__
#define __CELPSPECIFICCONFIG_C_H__
#include "mp4dec_asc/audioobjecttypes.h"
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
struct CSBitStream;
enum {
MPE = 0,
RPE = 1,
fs8KHz = 0,
fs16KHz = 1
};
typedef struct CSCelpSpecificConfig
{
int m_IsBaseLayer;
int m_ExcitationMode;
int m_SampleRateMode;
int m_FineRateControl;
int m_RPE_Configuration;
int m_MPE_Configuration;
int m_NumEnhLayers;
int m_BandwidthScalabilityMode;
int m_SilenceCompression;
int m_BWS_configuration;
int m_CelpBrsId;
unsigned int m_isBWSLayer;
} CSCelpSpecificConfig, *CSCelpSpecificConfigPtr;
void CelpSpecificConfig_Parse(CSCelpSpecificConfigPtr self, CSCelpSpecificConfigPtr baselayer, const AUDIO_OBJECT_TYPE aot, struct CSBitStream *bs);
int CelpSpecificConfig_GetSamplesPerFrame(CSCelpSpecificConfigPtr self);
int CelpSpecificConfig_GetLayer(CSCelpSpecificConfigPtr csc, CSCelpSpecificConfigPtr csc_base);
void CelpSpecificConfig_Copy(CSCelpSpecificConfigPtr dst, const CSCelpSpecificConfigPtr src);
int CelpSpecificConfig_Print(CSCelpSpecificConfigPtr self, char string[], const AUDIO_OBJECT_TYPE aot);
#ifdef __cplusplus
}
#endif
#endif /* __CELPSPECIFICCONFIG_H__ */