6 #include "cuda/cuda_error_check.cuh"
8 #if CV_MAJOR_VERSION == 2
9 #include <opencv2/gpu/gpu.hpp>
12 #include "opencv2/opencv.hpp"
17 #include <cuda_runtime.h>
19 class cuFFT : public Fft
22 void init(unsigned width, unsigned height, unsigned num_of_feats, unsigned num_of_scales, bool big_batch_mode) override;
23 void set_window(const cv::Mat &window) override;
24 ComplexMat forward(const cv::Mat &input) override;
25 ComplexMat forward_raw(float *input, bool all_scales) override;
26 ComplexMat forward_window(const std::vector<cv::Mat> &input) override;
27 cv::Mat inverse(const ComplexMat &input) override;
28 float* inverse_raw(const ComplexMat &input) override;
32 unsigned m_width, m_height, m_num_of_feats, m_num_of_scales;
33 bool m_big_batch_mode;
34 cufftHandle plan_f, plan_f_all_scales, plan_fw, plan_fw_all_scales, plan_i_features,
35 plan_i_features_all_scales, plan_i_1ch, plan_i_1ch_all_scales;
36 float *data_f = nullptr, *data_f_all_scales = nullptr, *data_fw = nullptr, *data_fw_d = nullptr, *data_fw_all_scales = nullptr, *data_fw_all_scales_d = nullptr, *data_i_features = nullptr, *data_i_features_d = nullptr, *data_i_features_all_scales = nullptr, *data_i_features_all_scales_d = nullptr, *data_i_1ch = nullptr, *data_i_1ch_d = nullptr, *data_i_1ch_all_scales = nullptr, *data_i_1ch_all_scales_d = nullptr;