LOOP-PVT.H
上传用户:njqiyou
上传日期:2007-01-08
资源大小:574k
文件大小:4k
源码类别:

mpeg/mp3

开发平台:

C/C++

  1. /**********************************************************************
  2.  * ISO MPEG Audio Subgroup Software Simulation Group (1996)
  3.  * ISO 13818-3 MPEG-2 Audio Encoder - Lower Sampling Frequency Extension
  4.  *
  5.  * $Id: loop-pvt.h,v 1.1 1996/02/14 04:04:23 rowlands Exp $
  6.  *
  7.  * Private interface declarations for loop.c
  8.  *
  9.  * $Log: loop-pvt.h,v $
  10.  * Revision 1.1  1996/02/14 04:04:23  rowlands
  11.  * Initial revision
  12.  *
  13.  * Received from Mike Coleman
  14.  **********************************************************************/
  15. #ifndef LOOP_PVT_H
  16. #define LOOP_PVT_H
  17. /*
  18.   Revision History:
  19.   Date        Programmer                Comment
  20.   ==========  ========================= ===============================
  21.   1995/10/01  mc@fivebats.com           created
  22. */
  23. int outer_loop( double xr[2][2][576],     /*vector of the magnitudees of the spectral values */
  24.                 int max_bits,
  25.                 III_psy_xmin  *l3_xmin, /* the allowed distortion of the scalefactor */
  26.                 int l3_enc[2][2][576],    /* vector of quantized values ix(0..575) */
  27. frame_params *fr_ps,
  28.                 III_scalefac_t *scalefac, /* scalefactors */
  29.                 int gr,
  30.                 int ch,
  31. III_side_info_t *l3_side );
  32. int part2_length( III_scalefac_t *scalefac,
  33.   frame_params *fr_ps,
  34.   int gr,
  35.   int ch,
  36.   III_side_info_t *si );
  37. int quantanf_init( double xr[576] );
  38. int inner_loop( double xr[2][2][576],
  39.                 int l3_enc[2][2][576],
  40.                 int max_bits,
  41.                 gr_info *cod_info,
  42.                 int gr,
  43.                 int ch );
  44. void calc_xmin( double xr[2][2][576],
  45.                III_psy_ratio *ratio,
  46.                gr_info *cod_info,
  47.                III_psy_xmin *l3_xmin,
  48.                int gr,
  49.                int ch );
  50. double xr_max( double xr[576],
  51.                unsigned int begin,
  52.                unsigned int end );
  53. void calc_scfsi( double  xr[576],
  54.                  III_side_info_t *l3_side,
  55.                  III_psy_xmin  *l3_xmin,
  56.                  int ch,
  57.                  int gr );
  58. void gr_deco( gr_info *cod_info );
  59. int count_bit( int ix[576], unsigned int start, unsigned int end, unsigned int table);
  60. int bigv_bitcount( int ix[576], gr_info *cod_info );
  61. int choose_table( int max);
  62. void bigv_tab_select( int ix[576], gr_info *cod_info );
  63. void subdivide( gr_info *cod_info );
  64. int count1_bitcount( int ix[576], gr_info *cod_info );
  65. void  calc_runlen( int ix[576],
  66.                    gr_info *cod_info );
  67. int scale_bitcount( III_scalefac_t *scalefac,
  68.                     gr_info *cod_info,
  69.                     int gr,
  70.                     int ch );
  71. void calc_noise( double xr[576],
  72.                  int ix[576],
  73.                  gr_info *cod_info,
  74.                  double xfsf[4][CBLIMIT] );
  75. int loop_break( III_scalefac_t *scalefac,
  76.                 gr_info *cod_info,
  77.                 int gr,
  78.                 int ch );
  79. void preemphasis( double xr[576],
  80.                   double xfsf[4][CBLIMIT],
  81.                   III_psy_xmin  *l3_xmin,
  82.                   int gr,
  83.                   int ch,
  84.   III_side_info_t *l3_side );
  85. int amp_scalefac_bands( double xr[576],
  86.                         double xfsf[4][CBLIMIT],
  87.                         III_psy_xmin  *l3_xmin,
  88. III_side_info_t *l3_side,
  89.                         III_scalefac_t *scalefac,
  90.                         int gr,
  91.                         int ch,
  92. int iteration );
  93. void quantize( double xr[576],
  94.                int  ix[576],
  95.                gr_info *cod_info );
  96. int ix_max( int ix[576],
  97.             unsigned int begin,
  98.             unsigned int end );
  99. int
  100. new_choose_table( int ix[576],
  101.   unsigned int begin,
  102.   unsigned int end );
  103. #endif