将无符号短路转换为音频PCM样本的有符号短路

时间:2012-03-14 03:26:32

标签: codec pcm short sample speex

我想使用音频编解码器(Speex)进行压缩;编解码器将类型为短(2字节有符号)的音频样本作为输入,范围:-2 ^ 15到2 ^ 15 -1。

我的问题是我有无符号短类型(2字节无符号)的样本,范围:0到2 ^ 16 -1。那么,为了在我的未签名样本上应用speex,我该怎么办?

有一个建议的解决方案是从每个无符号短路中减去2 ^ 15-1以得到它作为带符号的短路,我的问题是:这种方法对于保持样本对于speex的处理算法有意义是否安全?

1 个答案:

答案 0 :(得分:0)

要将unsigned short转换为signed,您需要减去2 ^ 15或添加2 ^ 15-1并将结果存储在int中。