0
실제 fft (rdft)라는 오디오 샘플에 ffmpegs fft 유틸리티를 사용하려고합니다.Real 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