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

📄 encoder.h

📁 音频编码
💻 H
字号:
/* *      encoder.h include file * *      Copyright (c) 2000 Mark Taylor * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */#ifndef LAME_ENCODER_H#define LAME_ENCODER_H/*************************************************************************  encoder and decoder delays************************************************************************//*  * layer III enc->dec delay:  1056 (1057?)   (observed) * layer  II enc->dec delay:   480  (481?)   (observed) * * polyphase 256-16             (dec or enc)        = 240 * mdct      256+32  (9*32)     (dec or enc)        = 288 * total:    512+16 * * My guess is that delay of polyphase filterbank is actualy 240.5 * (there are technical reasons for this, see postings in mp3encoder). * So total Encode+Decode delay = ENCDELAY + 528 + 1 *//*  * ENCDELAY  The encoder delay.   * * Minimum allowed is MDCTDELAY (see below) *   * The first 96 samples will be attenuated, so using a value less than 96 * will result in corrupt data for the first 96-ENCDELAY samples. * * suggested: 576 * set to 1160 to sync with FhG. */ #define ENCDELAY      576/* * make sure there is at least one complete frame after the * last frame containing real data * * Using a value of 288 would be sufficient for a  * a very sophisticated decoder that can decode granule-by-granule instead * of frame by frame.  But lets not assume this, and assume the decoder   * will not decode frame N unless it also has data for frame N+1 * *//*#define POSTDELAY   288*/#define POSTDELAY   1152/*  * delay of the MDCT used in mdct.c * original ISO routines had a delay of 528!   * Takehiro's routines:  */#define MDCTDELAY     48  #define FFTOFFSET     (224+MDCTDELAY)/* * Most decoders, including the one we use, have a delay of 528 samples.   */ #define DECDELAY      528/* number of subbands */#define SBLIMIT       32/* parition bands bands */#define CBANDS        64/* number of critical bands/scale factor bands where masking is computed*/#define SBPSY_l       21#define SBPSY_s       12/* total number of scalefactor bands encoded */#define SBMAX_l       22#define SBMAX_s       13#define PSFB21         6#define PSFB12         6/* FFT sizes */#define BLKSIZE       1024#define HBLKSIZE      (BLKSIZE/2 + 1)#define BLKSIZE_s     256#define HBLKSIZE_s    (BLKSIZE_s/2 + 1)/* #define switch_pe        1800 */#define NORM_TYPE     0#define START_TYPE    1#define SHORT_TYPE    2#define STOP_TYPE     3/*  * Mode Extention: * When we are in stereo mode, there are 4 possible methods to store these * two channels. The stereo modes -m? are using a subset of them. * *  -ms: MPG_MD_LR_LR *  -mj: MPG_MD_LR_LR and MPG_MD_MS_LR *  -mf: MPG_MD_MS_LR *  -mi: all */ #define MPG_MD_LR_LR  0#define MPG_MD_LR_I   1#define MPG_MD_MS_LR  2#define MPG_MD_MS_I   3#include "machine.h"#include "lame.h"int  lame_encode_mp3_frame (        lame_global_flags*  const gfp,        sample_t*           inbuf_l,        sample_t*           inbuf_r,        unsigned char*      mp3buf, 	int                 mp3buf_size );#endif /* LAME_ENCODER_H */

⌨️ 快捷键说明

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