loop.h
上传用户:bjsgzm
上传日期:2007-01-08
资源大小:256k
文件大小:3k
源码类别:

mpeg/mp3

开发平台:

Visual C++

  1. /*
  2. (c) Copyright 1998, 1999 - Tord Jansson
  3. =======================================
  4. This file is part of the BladeEnc MP3 Encoder, based on
  5. ISO's reference code for MPEG Layer 3 compression, and might
  6. contain smaller or larger sections that are directly taken
  7. from ISO's reference code.
  8. All changes to the ISO reference code herein are either
  9. copyrighted by Tord Jansson (tord.jansson@swipnet.se)
  10. or sublicensed to Tord Jansson by a third party.
  11. BladeEnc is free software; you can redistribute this file
  12. and/or modify it under the terms of the GNU Lesser General Public
  13. License as published by the Free Software Foundation; either
  14. version 2.1 of the License, or (at your option) any later version.
  15. */
  16. /**********************************************************************
  17.  * ISO MPEG Audio Subgroup Software Simulation Group (1996)
  18.  * ISO 13818-3 MPEG-2 Audio Encoder - Lower Sampling Frequency Extension
  19.  *
  20.  * $Id: loop.h,v 1.1 1996/02/14 04:04:23 rowlands Exp $
  21.  *
  22.  * $Log: loop.h,v $
  23.  * Revision 1.1  1996/02/14 04:04:23  rowlands
  24.  * Initial revision
  25.  *
  26.  * Received from Mike Coleman
  27.  **********************************************************************/
  28. #ifndef LOOP_DOT_H
  29. #define LOOP_DOT_H
  30. #include "common.h"
  31. #include "l3side.h"
  32. /**********************************************************************
  33.  *   date   programmers                comment                        *
  34.  * 25. 6.92  Toshiyuki Ishino          Ver 1.0                        *
  35.  * 29.10.92  Masahiro Iwadare          Ver 2.0                        *
  36.  * 17. 4.93  Masahiro Iwadare          Updated for IS Modification    *
  37.  *                                                                    *
  38.  *********************************************************************/
  39. extern int cont_flag;
  40. #define e              2.71828182845
  41. /*#define SBLIMIT       32*/
  42. #define CBLIMIT       21
  43. #define SFB_LMAX 22
  44. #define SFB_SMAX 13
  45. extern int pretab[];
  46. struct scalefac_struct
  47. {
  48.    int l[23];
  49.    int s[14];
  50. };
  51. extern struct scalefac_struct sfBandIndex[];  /* Table B.8 -- in loop.c */
  52. void iteration_loop( double pe[][2], double xr_org[2][2][576], III_psy_ratio *ratio,
  53.      III_side_info_t *l3_side, int l3_enc[2][2][576], int mean_bits,
  54.      int stereo, double xr_dec[2][2][576],
  55.      III_scalefac_t *scalefac, frame_params *fr_ps,
  56.      int ancillary_pad, int bitsPerFrame );
  57. int nint( double in );
  58. /* #define PI 3.1415926535 */
  59. #define maximum(A,B) ( (A) > (B) ? (A) : (B) )
  60. #define minimum(A,B) ( (A) < (B) ? (A) : (B) )
  61. #define signum( A ) ( (A) > 0 ? 1 : -1 )
  62. /* GLOBALE VARIABLE */
  63. /*extern FILE     *debp;
  64. extern FILE     *huffcp,*huffdp;
  65. extern FILE     *musicin,*cod_music;*/
  66. /* Beachte:Partitonen nur fuer 48 kHz */
  67. /* andere ev. fehlerhaft  */
  68. /* static int     scalefac_band_long[22];
  69.   static int     scalefac_band_short[13];
  70. */
  71. /*static int     huffman_tab_quad[2][16][2];
  72. extern int     bigv_cod_tab[17][2][16][16];
  73. extern int     bigv_dec_tab[17][512][5];
  74. extern int     bigv_root_node[17];
  75. extern int     count1_root_node[2];*/
  76. /* extern int     cod_tab_info[2][31]; */
  77. /* in max spalte war um 1 zuviel */
  78. /* [0][i] : maximalwert der Tabelle mit index i
  79.    [1][i] : anzahl der linbits der TAb. i        */
  80. extern int bit_buffer[50000];
  81. void fixStatic_loop( void );
  82. void genNoisePowTab( void );
  83. #endif