G.729A--编码--主函数
来源:互联网 发布:java 多态 编辑:程序博客网 时间:2024/06/07 12:07
G.729A编码器
主要函数:
1. 初始化预处理Init_Pre_Process();
2. 初始化编码Init_Coder_ld8a();
3. 清空存放编码参数区域Set_zero(prm, PRM_SIZE);
4. 预处理(140HZ高通滤波,除2定标) Pre_Process(new_speech, L_FRAME);
5. 主要编码程序,返回分析参数 Coder_ld8a(prm);
6. 将编码器参数向量转换成串行比特的向量(实现16:1的压缩) prm2bits_ld8k( prm, serial);
int main(int argc, char *argv[] )
{
FILE *f_speech; /* File of speech data */
FILE *f_serial; /* File of serial bits for transmission */
extern Word16 *new_speech; /* Pointer to new speech data */
Word16 prm[PRM_SIZE]; /* Analysis parameters. */
unsigned char serial[SERIAL_SIZE]; /* Output bitstream buffer */
Word16 frame; /* frame counter */
/*--------------------------------------------------------------------------*
* Open speech file and result file (output serial bit stream) *
*--------------------------------------------------------------------------*/
if ( (f_speech = fopen(argv[1], "rb")) == NULL) {//读二进制文件
printf("%s - Error opening file %s !!\n", argv[0], argv[1]);
exit(0);
}
printf(" Input speech file : %s\n", argv[1]);
if ( (f_serial = fopen(argv[2], "wb")) == NULL) {
printf("%s - Error opening file %s !!\n", argv[0], argv[2]);
exit(0);
}
printf(" Output bitstream file: %s\n", argv[2]);
/*--------------------------------------------------------------------------*
* Initialization of the coder. *
*--------------------------------------------------------------------------*/
//初始化编码器
Init_Pre_Process();
Init_Coder_ld8a();
Set_zero(prm, PRM_SIZE);
/* Loop for each "L_FRAME" speech data. */
frame =0;
//从f_speech文件位置,读L_FRAME(80)个元素,每个元素sizeof(Word16)个字节,存于new_speech
while( fread(new_speech, sizeof(Word16), L_FRAME, f_speech) == L_FRAME)
{
printf("Frame =%d\r", frame++);
Pre_Process(new_speech, L_FRAME);//预处理(HP滤波,定标)
Coder_ld8a(prm);//主要编码程序,返回分析参数
prm2bits_ld8k( prm, serial);//将编码器参数向量转换成串行比特的向量
fwrite(serial, 1, SERIAL_SIZE, f_serial);
}
return (0);
}
- G.729A--编码--主函数
- G.729A--编码--Coder_ld8a
- G.729A--编码--预处理 Pre_process( )
- G.729A--编码--计算加权合成语音信号wsp[]
- G.711编码实现函数
- G.711 G.729编码IP速率
- [整理]语音编码G.711, G.729
- [整理]语音编码G.711, G.729
- G.729A--编码--LP(线性预测)分析之LPC(线性预测系数)的计算
- VB 函数参考一(A-G)
- Oracle 11G函数整理(编码解码函数)
- 语音编码标准(G.711 G.723 G.726 G.729 iLBC)
- 语音编码标准(G.711 G.723 G.726 G.729 iLBC)
- 语音编码标准(G.711 G.723 G.726 G.729 iLBC)
- 语音编码标准(G.711 G.723 G.726 G.729 iLBC)
- 语音编码标准(G.711 G.723 G.726 G.729 iLBC) .
- 语音编码标准(G.711 G.723 G.726 G.729 iLBC)
- 语音编码标准(G.711 G.723 G.726 G.729 iLBC)
- ORACLE_基础二十三(User-Managed Recovery)
- OpenGL--位图
- DPM(Defomable Parts Model) 源码分析-训练(三)
- 第一篇 为什么要写这个博客
- Android学习笔记之布局
- G.729A--编码--主函数
- boost::bind参数例子使用
- HDU 1081 To The Max
- 终于还是换到了这个新博客
- git 创建 .gitignore 文件 建立项目过滤规则
- SqlServer 更改复制代理配置文件参数及两种冲突策略设置
- Java源码分析之LinkedList
- 数据结构实验之栈四:括号匹配
- Could not create pool connection. The DBMS driver exception was: Io 异常: Broken pipe