⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phi_excq.h

📁 C写的MPEG4音频源代码(G.723/G.729)
💻 H
字号:
/*====================================================================*//*         MPEG-4 Audio (ISO/IEC 14496-3) Copyright Header            *//*====================================================================*//*This software module was originally developed by Rakesh Taori and AndyGerrits (Philips Research Laboratories, Eindhoven, The Netherlands) inthe course of development of the MPEG-4 Audio (ISO/IEC 14496-3). Thissoftware module is an implementation of a part of one or more MPEG-4Audio (ISO/IEC 14496-3) tools as specified by the MPEG-4 Audio(ISO/IEC 14496-3). ISO/IEC gives users of the MPEG-4 Audio (ISO/IEC14496-3) free license to this software module or modifications thereoffor use in hardware or software products claiming conformance to theMPEG-4 Audio (ISO/IEC 14496-3). Those intending to use this softwaremodule in hardware or software products are advised that its use mayinfringe existing patents. The original developer of this softwaremodule and his/her company, the subsequent editors and theircompanies, and ISO/IEC have no liability for use of this softwaremodule or modifications thereof in an implementation. Copyright is notreleased for non MPEG-4 Audio (ISO/IEC 14496-3) conforming products.CN1 retains full right to use the code for his/her own purpose, assignor donate the code to a third party and to inhibit third parties fromusing the code for non MPEG-4 Audio (ISO/IEC 14496-3) conformingproducts.  This copyright notice must be included in all copies orderivative works. Copyright 1996.*//*====================================================================*//*======================================================================*//*                                                                      *//*      INCLUDE_FILE:   PHI_EXCQ.H                                      *//*      PACKAGE:        WDBxx                                           *//*      COMPONENT:      Tables for Gain Quantization                    *//*                                                                      *//*======================================================================*/#ifndef _phi_excq_h_#define _phi_excq_h_/*======================================================================*//*     L O C A L    S Y M B O L     D E C L A R A T I O N               *//*======================================================================*/#define QLf       31     /* # quantizer levels of fixed codebook gain   */ #define QLa       32     /* # quantizer levels of adaptive codebook gain*/#define QLfd       8     /* # quantizer levels of fixed codebook gain   */#define FIXED_POINT_BITS      16L#define SCALING_BITS_cba_dir1 (FIXED_POINT_BITS + 1L) /* scaling bits for cba gain fact.  */#define SCALING_BITS_cba_dir2 (FIXED_POINT_BITS - 1L) /* scaling bits for cba gain fact.  */#define SCALING_BITS_cba_dir3 (FIXED_POINT_BITS - 8L) /* scaling bits for cba gain fact.  */#define SCALING_BITS_cbf_dir1 (FIXED_POINT_BITS - 4L) /* scaling bits for cbf gain fact.  */#define SCALING_BITS_cbf_dir2 (FIXED_POINT_BITS - 7L) /* scaling bits for cbf gain fact.  */#define SCALING_BITS_cbf_dir3 (FIXED_POINT_BITS -11L) /* scaling bits for cbf gain fact.  */#define SCALING_BITS_cbf_dif  (FIXED_POINT_BITS - 3L) /* scaling bits for cbf diff-gain f */#define SCALE_cba_dir1 (1L << SCALING_BITS_cba_dir1) /* scal. of cba gain      */#define SCALE_cba_dir2 (1L << SCALING_BITS_cba_dir2) /* scal. of cba gain      */#define SCALE_cba_dir3 (1L << SCALING_BITS_cba_dir3) /* scal. of cba gain      */#define SCALE_cbf_dir1 (1L << SCALING_BITS_cbf_dir1) /* scal. of cbf gain      */#define SCALE_cbf_dir2 (1L << SCALING_BITS_cbf_dir2) /* scal. of cbf gain      */#define SCALE_cbf_dir3 (1L << SCALING_BITS_cbf_dir3) /* scal. of cbf gain      */#define SCALE_cbf_dif  (1L << SCALING_BITS_cbf_dif)  /* scal. of cbf diff-gain *//*======================================================================*//*     L O C A L    T Y P E     D E C L A R A T I O N                   *//*======================================================================*/struct  table_cb                         /* codebook gain quant. table  */{   double dec;   double rep;};#ifdef __cplusplusextern "C" {#endif/*======================================================================*//*     TABLE FOR ADAPTIVE CODEBOOK GAIN FACTOR QUANTIZATION             *//*======================================================================*/struct table_cb tbl_cba_dir[32] ={   { 0.1622,     (long) (0.0945 * SCALE_cba_dir1 + 0.5) / (double) SCALE_cba_dir1},   { 0.2542,     (long) (0.2121 * SCALE_cba_dir1 + 0.5) / (double) SCALE_cba_dir1},   { 0.3285,     (long) (0.2936 * SCALE_cba_dir1 + 0.5) / (double) SCALE_cba_dir1},   { 0.3900,     (long) (0.3597 * SCALE_cba_dir1 + 0.5) / (double) SCALE_cba_dir1},   { 0.4457,     (long) (0.4183 * SCALE_cba_dir1 + 0.5) / (double) SCALE_cba_dir1},   { 0.4952,     (long) (0.4705 * SCALE_cba_dir1 + 0.5) / (double) SCALE_cba_dir1},   { 0.5425,     (long) (0.5186 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.5887,     (long) (0.5652 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.6341,     (long) (0.6110 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.6783,     (long) (0.6559 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.7227,     (long) (0.7000 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.7664,     (long) (0.7445 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.8104,     (long) (0.7884 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.8556,     (long) (0.8329 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.9005,     (long) (0.8779 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.9487,     (long) (0.9242 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 0.9989,     (long) (0.9728 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 1.0539,     (long) (1.0256 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 1.1183,     (long) (1.0849 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 1.1933,     (long) (1.1538 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 1.2877,     (long) (1.2394 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 1.4136,     (long) (1.3465 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 1.5842,     (long) (1.4907 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 1.8559,     (long) (1.7012 * SCALE_cba_dir2 + 0.5) / (double) SCALE_cba_dir2},   { 2.3603,     (long) (2.0636 * SCALE_cba_dir3 + 0.5) / (double) SCALE_cba_dir3},   { 3.8348,     (long) (2.8398 * SCALE_cba_dir3 + 0.5) / (double) SCALE_cba_dir3},   { 7.6697,     (long) (5.4233 * SCALE_cba_dir3 + 0.5) / (double) SCALE_cba_dir3},   { 15.339,     (long) (10.847 * SCALE_cba_dir3 + 0.5) / (double) SCALE_cba_dir3},   { 30.679,     (long) (21.693 * SCALE_cba_dir3 + 0.5) / (double) SCALE_cba_dir3},   { 61.357,     (long) (43.386 * SCALE_cba_dir3 + 0.5) / (double) SCALE_cba_dir3},   { 122.71,     (long) (86.772 * SCALE_cba_dir3 + 0.5) / (double) SCALE_cba_dir3},   { 245.43,     (long) (173.54 * SCALE_cba_dir3 + 0.5) / (double) SCALE_cba_dir3}};/*======================================================================*//*     TABLE FOR FIXED CODEBOOK GAIN FACTOR QUANTIZATION                *//*======================================================================*/struct table_cb tbl_cbf_dir[31] ={  {   2.4726,     (long) (  2.0    * SCALE_cbf_dir1 + 0.5) / (double) SCALE_cbf_dir1},  {   3.1895,     (long) (  2.8267 * SCALE_cbf_dir1 + 0.5) / (double) SCALE_cbf_dir1},  {   4.2182,     (long) (  3.6320 * SCALE_cbf_dir1 + 0.5) / (double) SCALE_cbf_dir1},  {   5.6228,     (long) (  4.8605 * SCALE_cbf_dir1 + 0.5) / (double) SCALE_cbf_dir1},  {   7.3781,     (long) (  6.4876 * SCALE_cbf_dir1 + 0.5) / (double) SCALE_cbf_dir1},  {   9.5300,     (long) (  8.3800 * SCALE_cbf_dir1 + 0.5) / (double) SCALE_cbf_dir1},  {  12.1013,     (long) ( 10.7813 * SCALE_cbf_dir1 + 0.5) / (double) SCALE_cbf_dir1},  {  15.2262,     (long) ( 13.5654 * SCALE_cbf_dir1 + 0.5) / (double) SCALE_cbf_dir1},    {  19.0319,     (long) ( 17.0676 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  23.6342,     (long) ( 21.1388 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  29.1562,     (long) ( 26.2852 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  35.3606,     (long) ( 32.1299 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  42.8301,     (long) ( 39.0193 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  51.1987,     (long) ( 46.9503 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  60.6440,     (long) ( 55.9060 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  70.9884,     (long) ( 65.7851 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  82.3374,     (long) ( 76.4025 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  {  95.3755,     (long) ( 88.6170 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  { 109.8997,     (long) (102.7842 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},  { 126.3037,     (long) (117.6620 * SCALE_cbf_dir2 + 0.5) / (double) SCALE_cbf_dir2},    { 144.3995,     (long) (135.2277 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 165.5142,     (long) (154.7980 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 190.9742,     (long) (178.1373 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 220.6299,     (long) (204.7267 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 258.2699,     (long) (239.0199 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 305.5086,     (long) (280.5263 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 368.5894,     (long) (334.0282 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 453.5156,     (long) (408.3218 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 573.6164,     (long) (505.7104 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  { 801.6422,     (long) (665.3362 * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3},  {   9999.9,     (long) (1026.0   * SCALE_cbf_dir3 + 0.5) / (double) SCALE_cbf_dir3}};/*======================================================================*//*     TABLE FOR FIXED CODEBOOK DIFFERETIAL-GAIN FACTOR QUANTIZATION    *//*======================================================================*/struct table_cb tbl_cbf_dif[8] ={ {  0.2500,     (long) (0.1000 * SCALE_cbf_dif + 0.5) / (double) SCALE_cbf_dif}, {  0.5378,     (long) (0.3912 * SCALE_cbf_dif + 0.5) / (double) SCALE_cbf_dif}, {  0.7795,     (long) (0.6614 * SCALE_cbf_dif + 0.5) / (double) SCALE_cbf_dif}, {  1.0230,     (long) (0.8954 * SCALE_cbf_dif + 0.5) / (double) SCALE_cbf_dif}, {  1.3356,     (long) (1.1651 * SCALE_cbf_dif + 0.5) / (double) SCALE_cbf_dif}, {  1.8869,     (long) (1.5580 * SCALE_cbf_dif + 0.5) / (double) SCALE_cbf_dif}, {  4.2000,     (long) (2.7000 * SCALE_cbf_dif + 0.5) / (double) SCALE_cbf_dif}, {  9999.9,     (long) (6.5000 * SCALE_cbf_dif + 0.5) / (double) SCALE_cbf_dif}};#ifdef __cplusplus}#endif#endif  /* #ifndef _phi_excq_h_ *//*======================================================================*//*      H I S T O R Y                                                   *//*======================================================================*//* 17-04-96 R. Taori  Initial Version                                   */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -