0

現在、入力データにkissFFTを使用しています..

std::vector& samples2 に入力データがあり、KissFFT で必要な形式に変換したい..

これを変換するために次のコードを使用しています。

しかし、最後に私は差分値を取得しています助けてください..

ここに私のコードがあります

 ShortBuffer *pBuffer1 = pData->AsShortBufferN();

    std::vector<short> input(pBuffer1->GetPointer(),
            pBuffer1->GetPointer() + BUFFER_SIZE);

    kiss_fft_scalar* samples = (kiss_fft_scalar*) &input[0]; // Here my input data  is change 

助けてください

4

2 に答える 2

0

kiss_fft_scalarの型は、float、short、int32、または __m128 のいずれかです。FIXED_POINT と USE_SIMD の同じプリプロセッサ定義に依存します。kiss_fft_scalarの型が短いことを確認してください。

コンパイラが役に立ちます - Cキャストを使用しないでください:

 kiss_fft_scalar* samples = &input[0];  // type of &input[0] must be kiss_fft_scalar* !!!
于 2013-06-05T05:18:25.073 に答える