我目前有自己的FFT代码原型是
void doFFT(short* data, int nSamples);
参数data
的大小为2*nSamples
。输出返回到同一个变量中。
我想用libffmpeg替换我的FFT代码。我在https://ffmpeg.org/doxygen/trunk/fft-test_8c-source.html处查看了FFT的测试样本。但是,我不清楚如何正确使用它。我想知道是否有人可以分享一些伪代码或指出我正确的方向。
答案 0 :(得分:1)
在FFmpeg的on2avc解码器中查看例如this代码,在循环中调用permute / calc(并且每次调用init / end)。每次FFT迭代都在2 ^ nbits样本上,其中nbits是FFT的大小。如果你想在n_samples上大于nbits的n_samples进行FFT,你通常会在2 ^ nbits样本上进行FFT迭代,直到你对所有样本完成FFT。重叠等取决于你,可能取决于原始代码的作用。