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

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: l3bitstream.h,v 1.1 1996/02/14 04:04:23 rowlands Exp $
  21.  *
  22.  * $Log: l3bitstream.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 L3_BITSTREAM_H
  29. #define L3_BITSTREAM_H
  30. #include "common.h"
  31. #include "encoder.h"
  32. void III_format_bitstream( int              bitsPerFrame,
  33.    frame_params     *in_fr_ps,
  34.    int              l3_enc[2][2][576],
  35.                            III_side_info_t  *l3_side,
  36.    III_scalefac_t   *scalefac,
  37.    double           (*xr)[2][576],
  38.    char             *ancillary,
  39.    int              anc_bits );
  40. int HuffmanCode( int table_select, int x, int y, unsigned *code, unsigned int *extword, int *codebits, int *extbits );
  41. int HuffmanCode_tj( int table_select, int x, int y );
  42. void III_FlushBitstream();
  43. int abs_and_sign( int *x ); /* returns signx and changes *x to abs(*x) */
  44. void fixStatic_l3bitstream();
  45. #endif