syntax.h
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:3k
源码类别:

Windows CE

开发平台:

C/C++

  1. /*
  2. ** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
  3. ** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com
  4. **  
  5. ** This program is free software; you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation; either version 2 of the License, or
  8. ** (at your option) any later version.
  9. ** 
  10. ** This program is distributed in the hope that it will be useful,
  11. ** but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13. ** GNU General Public License for more details.
  14. ** 
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program; if not, write to the Free Software 
  17. ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  18. **
  19. ** Any non-GPL usage of this software or parts of this software is strictly
  20. ** forbidden.
  21. **
  22. ** Commercial non-GPL licensing of this software is possible.
  23. ** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
  24. **
  25. ** $Id: syntax.h,v 1.54 2004/09/04 14:56:29 menno Exp $
  26. **/
  27. #ifndef __SYNTAX_H__
  28. #define __SYNTAX_H__
  29. #ifdef __cplusplus
  30. extern "C" {
  31. #endif
  32. #include "decoder.h"
  33. #include "bits.h"
  34. #define MAIN       1
  35. #define LC         2
  36. #define SSR        3
  37. #define LTP        4
  38. #define HE_AAC     5
  39. #define LD        23
  40. #define ER_LC     17
  41. #define ER_LTP    19
  42. #define DRM_ER_LC 27 /* special object type for DRM */
  43. /* header types */
  44. #define RAW        0
  45. #define ADIF       1
  46. #define ADTS       2
  47. /* SBR signalling */
  48. #define NO_SBR           0
  49. #define SBR_UPSAMPLED    1
  50. #define SBR_DOWNSAMPLED  2
  51. #define NO_SBR_UPSAMPLED 3
  52. /* DRM channel definitions */
  53. #define DRMCH_MONO          1
  54. #define DRMCH_STEREO        2
  55. #define DRMCH_SBR_MONO      3
  56. #define DRMCH_SBR_STEREO    4
  57. #define DRMCH_SBR_PS_STEREO 5
  58. /* First object type that has ER */
  59. #define ER_OBJECT_START 17
  60. /* Bitstream */
  61. #define LEN_SE_ID 3
  62. #define LEN_TAG   4
  63. #define LEN_BYTE  8
  64. #define EXT_FIL            0
  65. #define EXT_FILL_DATA      1
  66. #define EXT_DATA_ELEMENT   2
  67. #define EXT_DYNAMIC_RANGE 11
  68. #define ANC_DATA           0
  69. /* Syntax elements */
  70. #define ID_SCE 0x0
  71. #define ID_CPE 0x1
  72. #define ID_CCE 0x2
  73. #define ID_LFE 0x3
  74. #define ID_DSE 0x4
  75. #define ID_PCE 0x5
  76. #define ID_FIL 0x6
  77. #define ID_END 0x7
  78. #define ONLY_LONG_SEQUENCE   0x0
  79. #define LONG_START_SEQUENCE  0x1
  80. #define EIGHT_SHORT_SEQUENCE 0x2
  81. #define LONG_STOP_SEQUENCE   0x3
  82. #define ZERO_HCB       0
  83. #define FIRST_PAIR_HCB 5
  84. #define ESC_HCB        11
  85. #define QUAD_LEN       4
  86. #define PAIR_LEN       2
  87. #define NOISE_HCB      13
  88. #define INTENSITY_HCB2 14
  89. #define INTENSITY_HCB  15
  90. #define INVALID_SBR_ELEMENT 255
  91. int8_t GASpecificConfig(bitfile *ld, mp4AudioSpecificConfig *mp4ASC,
  92.                         program_config *pce);
  93. uint8_t adts_frame(adts_header *adts, bitfile *ld);
  94. void get_adif_header(adif_header *adif, bitfile *ld);
  95. void raw_data_block(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
  96.                     bitfile *ld, program_config *pce, drc_info *drc);
  97. uint8_t reordered_spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
  98.                                 int16_t *spectral_data);
  99. void aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
  100.                                bitfile *ld, program_config *pce, drc_info *drc);
  101. #ifdef __cplusplus
  102. }
  103. #endif
  104. #endif