nec_abs_const.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:5k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2. This software module was originally developed by
  3. Toshiyuki Nomura (NEC Corporation)
  4. and edited by
  5. Naoya Tanaka (Matsushita Communication Ind. Co., Ltd.)
  6. in the course of development of the
  7. MPEG-2 NBC/MPEG-4 Audio standard ISO/IEC 13818-7, 14496-1,2 and 3.
  8. This software module is an implementation of a part of one or more
  9. MPEG-2 NBC/MPEG-4 Audio tools as specified by the MPEG-2 NBC/MPEG-4 Audio
  10. standard. ISO/IEC  gives users of the MPEG-2 NBC/MPEG-4 Audio standards
  11. free license to this software module or modifications thereof for use in
  12. hardware or software products claiming conformance to the MPEG-2 NBC/
  13. MPEG-4 Audio  standards. Those intending to use this software module in
  14. hardware or software products are advised that this use may infringe
  15. existing patents. The original developer of this software module and
  16. his/her company, the subsequent editors and their companies, and ISO/IEC
  17. have no liability for use of this software module or modifications
  18. thereof in an implementation. Copyright is not released for non
  19. MPEG-2 NBC/MPEG-4 Audio conforming products. The original developer
  20. retains full right to use the code for his/her  own purpose, assign or
  21. donate the code to a third party and to inhibit third party from using
  22. the code for non MPEG-2 NBC/MPEG-4 Audio conforming products.
  23. This copyright notice must be included in all copies or derivative works.
  24. Copyright (c)1996.
  25. */
  26. /*
  27.  * MPEG-4 Audio Verification Model (LPC-ABS Core)
  28.  *
  29.  * Constants used in the NEC Modules
  30.  *
  31.  * Ver1.0 96.12.16 T.Nomura(NEC)
  32.  * Ver2.0 97.03.17 T.Nomura(NEC)
  33.  */
  34. /*------ Bit rate range --------*/
  35. #define NEC_PAN_BITRATE1 3850
  36. #define NEC_PAN_BITRATE2 4900
  37. #define NEC_PAN_BITRATE3 5700
  38. #define NEC_PAN_BITRATE4 7700
  39. #define NEC_PAN_BITRATE5 11000
  40. #define NEC_PAN_BITRATE6 12200
  41. #define NEC_ENH_BITRATE 2000
  42. /*------ Bitstream syntax --------*/
  43. #define NEC_BIT_MODE 2
  44. #define NEC_BIT_RMS 6
  45. #define NEC_BIT_ACB 8
  46. #define NEC_BIT_GAIN 6
  47. #define NEC_NUM_SHAPE_CBKS 3
  48. #define NEC_NUM_GAIN_CBKS 1
  49. #define NEC_NUM_OTHER_INDICES 2
  50. #define NEC_NUM_LPC_INDICES_FRQ16 6
  51. #define NEC_BIT_ENH_POS40_2 4
  52. #define NEC_BIT_ENH_SGN40_2 2
  53. #define NEC_BIT_ENH_POS80_4 12
  54. #define NEC_BIT_ENH_SGN80_4 4
  55. #define NEC_BIT_ENH_GAIN 4
  56. #define NEC_BIT_ACB_FRQ16 3
  57. #define NEC_BIT_GAIN_FRQ16 11
  58. #define NEC_BIT_LSP1620 32
  59. #define NEC_BIT_LSP1620_0 4
  60. #define NEC_BIT_LSP1620_1 7
  61. #define NEC_BIT_LSP1620_2 4
  62. #define NEC_BIT_LSP1620_3 6
  63. #define NEC_BIT_LSP1620_4 7
  64. #define NEC_BIT_LSP1620_5 4
  65. /*------ Frame --------*/
  66. #define NEC_FRAME40MS 320
  67. #define NEC_FRAME30MS 240
  68. #define NEC_FRAME20MS 160
  69. #define NEC_FRAME10MS 80
  70. #define NEC_NSF2 2
  71. #define NEC_NSF3 3
  72. #define NEC_NSF4 4
  73. /*------ LPC Analysis ------*/
  74. #define NEC_LEN_LPC_ANALYSIS 80 /* LPC analysis interval */
  75. #define NEC_PAN_NLA 40 /* look ahead for LPC analysis */
  76. #define NEC_PAN_NLB 80 /* look back for LPC analysis */
  77. #define NEC_FRQ16_NLA 80 /* look ahead for LPC analysis */
  78. #define NEC_FRQ16_NLB 160 /* look back for LPC analysis */
  79. #define NEC_LPC_ORDER 10 /* LPC analysis order */
  80. #define NEC_LPC_ORDER_FRQ16 20 /* LPC analysis order */
  81. #define NEC_LPC_ORDER_MAXIMUM 20 /* LPC analysis order */
  82. /*------ Pitch Analysis ------*/
  83. #define NEC_PITCH_MIN 17 /* minimum pitch period */
  84. #define NEC_PITCH_MIN_FRQ16 20
  85. #define NEC_PITCH_MAX 144 /* maximum pitch period */
  86. #define NEC_PITCH_MAX_FRQ16 295
  87. #define NEC_PITCH_MAX_MAXIMUM 295
  88. #define NEC_PITCH_LIMIT_FRQ16  778
  89. #define NEC_PITCH_RSLTN 6 /* pitch analysis resolution */
  90. #define NEC_PITCH_IFTAP 5 /* interpolation tap length */
  91. #define NEC_PITCH_IFTAP16 10 /* interpolation tap length */
  92. #define NEC_PI 3.141592654
  93. #define NEC_ACB_BIT 8
  94. #define NEC_ACB_BIT_FRQ16 3
  95. /*------ RMS ------*/
  96. #define NEC_RMS_MAX_V 15864.0
  97. #define NEC_RMS_MAX_U 7932.0
  98. #define NEC_MU_LAW_V 512.0
  99. #define NEC_MU_LAW_U 1024.0
  100. /*------ Others ------*/
  101. #define NEC_MAX_NSF 10 /* maximum number of subframes */
  102. #define NEC_PAI 3.141592
  103. #define NEC_LPF_DELAY   80
  104. #define NEC_GAMMA_BE 0.9951
  105. #define NEC_GAM_AR 0.60 /* perceptual weighting factor */
  106. #define NEC_GAM_MA 0.94 /* perceptual weighting factor */
  107. /* LPC analysis using asynmmtric windows */
  108. #define NEC_ASW_LEN1 120
  109. #define NEC_ASW_LEN2 80
  110. #define NEC_ASW_LEN1_FRQ16 200
  111. #define NEC_ASW_LEN2_FRQ16 120
  112. /* for WB MPE mode */
  113. #define NEC_FRAME20MS_FRQ16 320
  114. #define NEC_FRAME10MS_FRQ16 160
  115. #define NEC_SBFRM_SIZE40 40
  116. #define NEC_SBFRM_SIZE80 80
  117. #define NEC_NSF8 8
  118. #define NEC_ENH_BITRATE_FRQ16 4000
  119. #define NEC_ACB_BIT_WB 9
  120. #define NEC_BIT_GAIN_WB 7
  121. #define NormalDelayMode 0
  122. #define LowDelayMode 1