преобразование неподписанного короткого в подписанное короткое для аудиосэмплов PCM - PullRequest
0 голосов
/ 14 марта 2012

Я хочу использовать аудио кодек (Speex) для сжатия;кодек принимает аудиосэмплы типа short (2 байта со знаком) в качестве входных данных, диапазон: от -2 ^ 15 до 2 ^ 15 -1.

Моя проблема в том, что у меня есть выборки типа unsigned short (2 байта)без знака), диапазон: от 0 до 2 ^ 16 -1.Итак, что я должен сделать, чтобы применить speex к моим неподписанным образцам?

Предлагается решение вычесть 2 ^ 15-1 из каждого неподписанного короткого, чтобы получить его как короткое со знаком, мой вопрос: этометод безопасно хранить образцы, имеющие значение для алгоритмов обработки speex?

1 Ответ

0 голосов
/ 12 октября 2012

Чтобы преобразовать неподписанное короткое в подписанное, вам нужно вычесть 2 ^ 15 или добавить 2 ^ 15-1 и сохранить результат в целых числах.

...