25#ifndef _SFFT2_H_INCLUDED_
26#define _SFFT2_H_INCLUDED_
80 #define FFT_SPEC_NUM_BUFFERS 2
81 #define FFT_SPEC_NUM_TABLES 2
82 #define FFT_SPEC_NUM_SHIFTS 8
83 #define FFT_SPEC_NUM_AMPLITUDES 8
92 nm32sc* buffer[FFT_SPEC_NUM_BUFFERS];
93 void* fftTable[FFT_SPEC_NUM_TABLES];
95 int shift[FFT_SPEC_NUM_SHIFTS];
96 int amp[FFT_SPEC_NUM_AMPLITUDES];
123 #define NMPP_OPTIMIZE_DISABLE 1
124 #define NMPP_NORMALIZE_DISABLE 2
125 #define NMPP_FFT_6BIT 4
126 #define NMPP_FFT_7BIT 0
128 #define NMPP_ERROR -1
132 #define nmppsFFT16HiFwd nmppsFFT16Fwd242
133 #define nmppsFFT16HiFwdRaw nmppsFFT16Fwd242Raw
135 int nmppsFFT16HiFwdInit(
NmppsFFTSpec* spec,
void* buffer0,
void* buffer1,
void* fftTable0,
void* fftTable1);
136 int nmppsFFT16HiFwdInitAlloc(
NmppsFFTSpec* spec,
const void* src,
const void* dst,
int settings);
143 int nmppsFFT32FwdInitAlloc(
NmppsFFTSpec* spec,
int settings);
151 int nmppsFFT64FwdInitAlloc(
NmppsFFTSpec* spec,
int settings);
156 int nmppsFFT256FwdOptimize(
void* src,
void* dst, fseq64* allocOrder) ;
157 int nmppsFFT256FwdInitAlloc(
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
158 int nmppsFFT256FwdInitAllocCustom(
NmppsFFTSpec** specFFT, Malloc32Func* allocate, Free32Func* free,
int settings);
161 int nmppsFFT256InvOptimize (
const void* src,
const void* dst, fseq64* allocOrder) ;
162 int nmppsFFT256InvInitAlloc (
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
163 int nmppsFFT256InvInitAllocCustom(
NmppsFFTSpec** specFFT, Malloc32Func* allocate, Free32Func* free,
int settings);
167 int nmppsFFT512FwdOptimize (
const void* src,
const void* dst, fseq64* allocOrder) ;
168 int nmppsFFT512FwdInitAlloc (
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
169 int nmppsFFT512FwdInitAllocCustom(
NmppsFFTSpec** specFFT, Malloc32Func* allocate, Free32Func* free,
int settings);
173 int nmppsFFT512InvOptimize (
const void* src,
const void* dst, fseq64* allocOrder) ;
174 int nmppsFFT512InvInitAlloc (
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
175 int nmppsFFT512InvInitAllocCustom(
NmppsFFTSpec** specFFT, Malloc32Func* allocate, Free32Func* free,
int settings);
178 int nmppsFFT1024FwdOptimize (
const void* src,
const void* dst, fseq64* allocOrder) ;
179 int nmppsFFT1024FwdInitAlloc (
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
180 int nmppsFFT1024FwdInitAllocCustom(
NmppsFFTSpec** specFFT, Malloc32Func* allocate, Free32Func* free,
int settings);
183 int nmppsFFT1024InvOptimize (
const void* src,
const void* dst, fseq64* allocOrder) ;
184 int nmppsFFT1024InvInitAlloc (
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
185 int nmppsFFT1024InvInitAllocCustom(
NmppsFFTSpec** specFFT, Malloc32Func* allocate, Free32Func* free,
int settings);
188 void nmppsFFT2048FwdInit (
NmppsFFTSpec* specFFT,
void* datbuf0,
void* datbuf1,
void* tblbuf0,
void* tblbuf1,
int settings );
193 int nmppsFFT2048FwdOptimize (
const void* src,
const void* dst, fseq64* allocOrder) ;
194 int nmppsFFT2048FwdInitAlloc (
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
195 int nmppsFFT2048FwdInitAlloc4888(
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
196 int nmppsFFT2048FwdInitAllocCustom(
NmppsFFTSpec** specFFT, Malloc32Func* allocate, Free32Func* free,
int settings);
202 int nmppsFFT2048InvInitAlloc (
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
203 int nmppsFFT2048InvInitSinCos (
NmppsFFTSpec* spec,
int settings);
211 #define nmppsFFT8192Fwd nmppsFFT8192Fwd28888
212 #define nmppsFFT8192FwdRaw nmppsFFT8192Fwd28888Raw
213 #define nmppsFFT8192FwdInit nmppsFFT8192Fwd28888Init
214 #define nmppsFFT8192FwdInitAlloc nmppsFFT8192Fwd28888InitAlloc
216 #define nmppsFFT8192Inv nmppsFFT8192Inv28888
217 #define nmppsFFT8192InvRaw nmppsFFT8192Inv28888Raw
218 #define nmppsFFT8192InvInit nmppsFFT8192Inv28888Init
219 #define nmppsFFT8192InvInitAlloc nmppsFFT8192Inv28888InitAlloc
221 #define FFT2048_TBL0_SIZE64 2048
222 #define FFT2048_TBL1_SIZE64 2048
223 #define FFT2048_TBL2_SIZE64 (4*4*2+4*8*8+32*8*8+256*8*8)/8
224 #define FFT2048_TBL3_SIZE64 (4*4*2+4*8*8+32*8*8+256*8*8)/8
226 #define FFT8192_TBL0_SIZE64 9344/8
227 #define FFT8192_TBL1_SIZE64 65536/8
228 #define FFT8192_TBL2_SIZE64 9344/8
229 #define FFT8192_TBL3_SIZE64 65536/8
236 int nmppsFFT8192Fwd28888InitAlloc(
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
237 int nmppsFFT8192Fwd28888InitSinCos(
NmppsFFTSpec* spec,
int settings);
238 int nmppsDFT8192FwdRef_f (
const nm32sc* src,
nm32sc* dst);
239 int nmppsFFT8192Fwd28888Ref_f (
const nm32sc* src,
nm32sc* dst);
240 int nmppsDFT8192Fwd_i (
const nm32sc* src,
nm32sc* dst,
int bits);
246 int nmppsFFT8192Inv28888InitAlloc(
NmppsFFTSpec** spec,
const void* src,
const void* dst,
int settings);
247 int nmppsFFT8192Inv28888InitSinCos(
NmppsFFTSpec* spec,
int settings);
248 int nmppsDFT8192InvRef_f (
const nm32sc* src,
nm32sc* dst);
249 int nmppsFFT8192Inv28888Ref_f (
const nm32sc* src,
nm32sc* dst);
250 int nmppsDFT8192Inv_i (
const nm32sc* src,
nm32sc* dst,
int bits);
269void nmppsDFT512Fwd_RefFloat(
const nm32sc* src,
nm32sc* dst);
270void nmppsFFT512Fwd_RefFloat(
const nm32sc* src,
nm32sc* dst);
271void nmppsDFT512Inv_RefFloat(
const nm32sc* src,
nm32sc* dst);
274void nmppsDFT2048Fwd_RefFloat(
const nm32sc* src,
nm32sc* dst);
275void nmppsDFT2048Inv_RefFloat(
const nm32sc* src,
nm32sc* dst);
276void nmppsFFT2048Fwd4888_RefFloat(
const nm32sc* src,
nm32sc* dst);
277void nmppsFFT2048Inv4888_RefFloat(
const nm32sc* src,
nm32sc* dst);
278void nmppsFFT2048Fwd4888_RefInt(
const nm32sc* src,
nm32sc* dst);
279void nmppsFFT2048Inv4888_RefInt(
const nm32sc* src,
nm32sc* dst);
long long nm64s
Definition: nmtype.h:375
Definition: nmtype.h:1301