📄 trans.c
字号:
/*********************************************************************** TRANS Version 54************************************************************************* Handle Quantization and Input/Output of LPC parameters** Input:* ORDER - Prediction order* In/Outputs:* VOICE - Half frame voicing decisions* PITCH - Pitch index* RMS - Energy* RC - Reflection coefficients* EOF - End of file flag*/#ifdef LOWRATE#include "defines.h"#endif#include <stdio.h>#include "config.ch"#include "contrl.ch"#include "lpcdefs.h"trans(voice, pitch, rms, rc)int voice[2], *pitch;float *rms, rc[ORDER];{int i, ipitv, irms, irc[MAXORD], ibits[MAXNB];/* Initialization */memset(ibits, 0, MAXNB*sizeof(int));#ifndef LOWRATE#if ANALYZER + SYNTHESIZER nbits = 54;#endif /* ANALYZER + SYNTHESIZER */#endif /* !LOWRATE *//* Quantize to 2400 bps, 600 bps, 800 bps or 1200 bps */#ifndef SYNTHESIZER#ifndef LOWRATE encode(voice, pitch, rms, rc-1, &ipitv, &irms, irc-1); channel(0, &ipitv, &irms, irc-1, ibits-1);#endif /* !LOWRATE */#ifdef LOWRATE vqencode(voice, *pitch, *rms, rc-1, ibits-1);#endif /* LOWRATE */#endif /* !SYNTHESIZER */#ifdef ANALYZER#ifdef LOWRATE if(nfb >= NFBLK-1)#endif /* LOWRATE */ bitio(2, fbo, ibits, nbits);#endif /* ANALYZER */#ifdef SYNTHESIZER#ifdef LOWRATE if(nfb >= NFBLK-1)#endif /* LOWRATE */ if(!bitio(1, fbi, ibits, nbits)) exit(0);#endif /* SYNTHESIZER *//* Decode parameters from bitstream */#ifndef ANALYZER#ifndef LOWRATE channel(1, &ipitv, &irms, irc-1, ibits-1); decode(ipitv, &irms, irc-1, voice, pitch, rms, rc-1);#endif /* !LOWRATE */#ifdef LOWRATE vqdecode(voice, pitch, rms, rc-1, ibits-1);#endif /* LOWRATE */#endif /* !ANALYZER */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -