0
私は、ffmpegs fftユーティリティをreal fft(rdft)というオーディオサンプルに使用しようとしています。リアルfftエラー - ffmpeg
しかし、私はSIGSEGVエラーがあります。コードは非常に簡単です。
static void fft(float* data){
RDFTContext * ctx = av_rdft_init(Globals::WindowSizePower, DFT_R2C)
av_rdft_calc(ctx, data);
av_rdft_end(ctx);
av_free(ctx);
}
定義された定数である
static const int WindowSize = 1024;
static const int WindowSizePower = 10;
誰かが私が間違っているのを教えすることはできますか?私はこのffmpegユーティリティが使われているインターネット上の例を見つけようとしましたが、見つけられませんでした。
EDIT:
これは、入力データが適切に割り当てられている
void fftInit(float* correction){
m_fft_data = new float[Globals::WindowSize]();
memcpy(m_fft_data, correction, sizeof(float)*Globals::WindowSize);
for(int i = 0; i < Globals::WindowSize; ++i){
m_fft_data[i] *= m_data[i];
}
FFMPEGFFT::fft(m_fft_data);
}
この関数を呼び出す機能です。私はこの部分に来る前に抽出されたデータをテストしました。
セミコロンがありません。コピーエラーです。しかし、後でav_rdft_calc関数にエラーが発生する... – Steva
@Steva: 'data'は正しく割り当てられていますか? 'fft'関数の呼び出し方法を教えてください。 – DaBler
もちろん、私は質問を編集しました。データが適切に割り当てられているので、まずそれをテストしました。 – Steva