目前我对输入数据进行了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
请帮助
答案 0 :(得分:1)
'kiss_fft_scalar'的difault值是float。 但它可以是短型或浮动型。
http://www.reproducibility.org/RSF/book/rsf/manual/manual_html/node11.html
答案 1 :(得分: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* !!!