AN2931的采用的是单声道的IMA标准的ADPCM。
我在做测试,把一个16bit,2声道PCM数组记录编码压缩,然后紧接着再解码解压,发现出来的数据不对,验证不过去。这里我只做了一个通道采样值的一次编码和解码。
u8 data[10000]={0x34,0x12,……};
u8 tmp1=0;
int16 tmp2=0;
tmp1=ADPCM_Encode((data[addr+1]<<8)|data[addr+0]);
tmp2=ADPCM_Decode(tmp1&0x0F);
为何解压出来的tmp2的数值不等于0x1234
|