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);
}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 五星好评之后忘记截图了怎么办 评价后忘了截图怎么办 好评率太低不能买东西了怎么办 淘宝评价被删了怎么办 淘宝店铺有流量没有成交怎么办 淘宝好评被删了怎么办 淘宝评论被系统删除怎么办 淘宝被商家删除评价怎么办 淘宝评价管理商家删除了怎么办 淘宝商家删除评价我该怎么办 我的评价隐藏了怎么办 淘宝把评论删了怎么办 淘宝虚假交易被删除评价怎么办 淘宝好评评错了怎么办 被淘宝骗了好评怎么办 美团好评被删了怎么办 卖家收到好评内容是差评怎么办 淘宝收货电话写错了怎么办 淘宝评价写错了怎么办 饿了么商家差评怎么办 淘宝不给补差价怎么办 淘宝顾客给差评怎么办 淘宝买家账号体检违规怎么办 买家淘宝账户体检中心违规怎么办 淘宝卖家电话骚扰该怎么办 手机欠费销户了怎么办 想下载好多个淘宝怎么办 送快递不记得路怎么办 淘宝物流弄丢了怎么办 邮政快递碰上难缠客户怎么办 举证工伤对方不签收怎么办 快递员收件的钱怎么办 锐捷网卡是空的怎么办 mac系统excel太慢怎么办 二手车交易发票丢了怎么办 转转上买二手电脑被骗了怎么办 如果电脑买贵了怎么办 电脑配置低玩lol卡怎么办 电视打开显示无信号怎么办 电脑卡怎么办换个驱动 刚开始开淘宝店没人买怎么办