2012-03-14 13 views
0

圧縮用にオーディオコーデック(Speex)を使用したい。コーデックは、タイプshort(2バイトの符号付き)のオーディオサンプルを入力として取り込み、範囲:-2^15〜2^15 -1とします。オーディオPCMサンプルの符号なしshortを符号付きshortに変換する

私の問題は、タイプがunsigned short(2バイトの符号なし)、範囲:0〜2^16 -1のサンプルがあることです。だから、私の署名されていないサンプルにspeexを適用するためにはどうしたらよいですか?

署名されたshortとして取得するために、各unsigned shortから2^15-1を減算する提案された解決策があります。私の質問:このメソッドは、speexの処理アルゴリズムにとって意味のあるサンプルを保つのに安全ですか?

答えて

0

unsigned shortをsignedに変換するには、2^15を減算するか、2^15-1を加算してintに結果を格納する必要があります。

関連する問題