ac3enc.h
上传用户:jxp0626
上传日期:2007-01-08
资源大小:102k
文件大小:1k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Unix_Linux

  1. #define AC3_FRAME_SIZE (6*256)
  2. #define AC3_MAX_CODED_FRAME_SIZE 3840 /* in bytes */
  3. #define AC3_MAX_CHANNELS 2 /* we handle at most two channels, although
  4.                               AC3 allows 6 channels */
  5. typedef struct AC3EncodeContext {
  6.     PutBitContext pb;
  7.     int nb_channels;
  8.     int bit_rate;
  9.     int sample_rate;
  10.     int bsid;
  11.     int frame_size_min; /* minimum frame size in case rounding is necessary */
  12.     int frame_size; /* current frame size in words */
  13.     int halfratecod;
  14.     int frmsizecod;
  15.     int fscod; /* frequency */
  16.     int acmod;
  17.     int bsmod;
  18.     short last_samples[AC3_MAX_CHANNELS][256];
  19.     int chbwcod[AC3_MAX_CHANNELS];
  20.     int nb_coefs[AC3_MAX_CHANNELS];
  21.     
  22.     /* bitrate allocation control */
  23.     int sgaincod, sdecaycod, fdecaycod, dbkneecod, floorcod; 
  24.     int sgain, sdecay, fdecay, dbknee, floor;
  25.     int csnroffst;
  26.     int fgaincod[AC3_MAX_CHANNELS];
  27.     int fsnroffst[AC3_MAX_CHANNELS];
  28.     /* mantissa encoding */
  29.     int mant1_cnt, mant2_cnt, mant4_cnt;
  30. } AC3EncodeContext;