我想使用音频编解码器(Speex)进行压缩;编解码器将类型为短(2字节有符号)的音频样本作为输入,范围:-2 ^ 15到2 ^ 15 -1。
我的问题是我有无符号短类型(2字节无符号)的样本,范围:0到2 ^ 16 -1。那么,为了在我的未签名样本上应用speex,我该怎么办?
有一个建议的解决方案是从每个无符号短路中减去2 ^ 15-1以得到它作为带符号的短路,我的问题是:这种方法对于保持样本对于speex的处理算法有意义是否安全?
答案 0 :(得分:0)
要将unsigned short转换为signed,您需要减去2 ^ 15或添加2 ^ 15-1并将结果存储在int中。