📄 g726.c
字号:
#include "stdio.h"
#include "memory.h"
#include "g72x.h"
extern void g726_Encode(unsigned char *speech,char *bitstream)
{
g726_state state_ptr;
short temp[480];
int i;
//char c;
g726_init_state(&state_ptr);
/*for(i=0;i<480;i++)
{
c=*(speech+i*2);
*(speech+i*2)=*(speech+i*2+1);
*(speech+i*2+1)=c;
}*/
memcpy(temp,speech,960);
for(i=0;i<120;i++)
{
*(bitstream+i)=(((char)(g726_16_encoder(temp[i*4],AUDIO_ENCODING_LINEAR,&state_ptr)))<<6)|(((char)(g726_16_encoder(temp[i*4+1],AUDIO_ENCODING_LINEAR,&state_ptr)))<<4)|(((char)(g726_16_encoder(temp[i*4+2],AUDIO_ENCODING_LINEAR,&state_ptr)))<<2)|(((char)(g726_16_encoder(temp[i*4+3],AUDIO_ENCODING_LINEAR,&state_ptr))));
}
}
extern void g726_Decode(char *Adpcm,short *pcm)
{
/* g726_state state_ptr;
int i;
int in;
short temp;
g726_init_state(&state_ptr);*/
g726_state state_ptr;
g726_init_state(&state_ptr);
int in;
int i;
short temp;
for(i=0;i<512;i++)
{
in=(int)((*(Adpcm+i))&(char)0x0f);
temp=g726_32_decoder(in,AUDIO_ENCODING_LINEAR,&state_ptr);
*(pcm+2*i)=temp;
in=(int)(((*(Adpcm+i))&(char)0x0f0)>>4);
temp=g726_32_decoder(in,AUDIO_ENCODING_LINEAR,&state_ptr);
*(pcm+2*i+1)=temp;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -