celpspecificconfig_c.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /***************************************************************************\
  2. *
  3. * (C) copyright Fraunhofer - IIS (2002)
  4. * All Rights Reserved
  5. *
  6. * $Header: /cvs/root/winamp/aacdec/incs/mp4dec_asc/celpspecificconfig_c.h,v 1.3 2012/05/08 20:16:50 audiodsp Exp $
  7. * project : MPEG-4 Audio Decoder
  8. * contents/description: celp specific config interface
  9. *
  10. * This software and/or program is protected by copyright law and
  11. * international treaties. Any reproduction or distribution of this
  12. * software and/or program, or any portion of it, may result in severe
  13. * civil and criminal penalties, and will be prosecuted to the maximum
  14. * extent possible under law.
  15. *
  16. \***************************************************************************/
  17. #ifndef __CELPSPECIFICCONFIG_C_H__
  18. #define __CELPSPECIFICCONFIG_C_H__
  19. #include "mp4dec_asc/audioobjecttypes.h"
  20. #ifdef __cplusplus
  21. extern "C" {
  22. #endif /* __cplusplus */
  23. struct CSBitStream;
  24. enum {
  25. MPE = 0,
  26. RPE = 1,
  27. fs8KHz = 0,
  28. fs16KHz = 1
  29. };
  30. typedef struct CSCelpSpecificConfig
  31. {
  32. int m_IsBaseLayer;
  33. int m_ExcitationMode;
  34. int m_SampleRateMode;
  35. int m_FineRateControl;
  36. int m_RPE_Configuration;
  37. int m_MPE_Configuration;
  38. int m_NumEnhLayers;
  39. int m_BandwidthScalabilityMode;
  40. int m_SilenceCompression;
  41. int m_BWS_configuration;
  42. int m_CelpBrsId;
  43. unsigned int m_isBWSLayer;
  44. } CSCelpSpecificConfig, *CSCelpSpecificConfigPtr;
  45. void CelpSpecificConfig_Parse(CSCelpSpecificConfigPtr self, CSCelpSpecificConfigPtr baselayer, const AUDIO_OBJECT_TYPE aot, struct CSBitStream *bs);
  46. int CelpSpecificConfig_GetSamplesPerFrame(CSCelpSpecificConfigPtr self);
  47. int CelpSpecificConfig_GetLayer(CSCelpSpecificConfigPtr csc, CSCelpSpecificConfigPtr csc_base);
  48. void CelpSpecificConfig_Copy(CSCelpSpecificConfigPtr dst, const CSCelpSpecificConfigPtr src);
  49. int CelpSpecificConfig_Print(CSCelpSpecificConfigPtr self, char string[], const AUDIO_OBJECT_TYPE aot);
  50. #ifdef __cplusplus
  51. }
  52. #endif
  53. #endif /* __CELPSPECIFICCONFIG_H__ */