00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "dsp/dsptypes.h"
00024
00025 #ifndef DSPOP_H
00026 #define DSPOP_H
00027
00028
00029
00030
00031
00032
00033
00035 typedef void * dsp_t;
00037 typedef void * dsp_iircas_t;
00039 typedef void * dsp_decfft_t;
00041 typedef void * dsp_decfir_t;
00043 typedef void * dsp_deciir_t;
00045 typedef void * dsp_decrec_t;
00047 typedef void * dsp_intfft_t;
00049 typedef void * dsp_intfir_t;
00051 typedef void * dsp_intiir_t;
00053 typedef void * dsp_intrec_t;
00055 typedef void * dsp_filter_t;
00057 typedef void * dsp_flip_t;
00059 typedef void * dsp_rebuf_t;
00060
00061
00062 #ifdef __cplusplus
00063 extern "C"
00064 {
00065 #endif
00066
00067
00068
00075 void dsp_init (void);
00076
00078 signed long dsp_roundf (float);
00079 signed long dsp_round (double);
00080
00082 void dsp_addf (float *, float, long);
00083 void dsp_add (double *, double, long);
00084 void dsp_caddf (stpSCplx, stSCplx, long);
00085 void dsp_cadd (stpDCplx, stDCplx, long);
00086 void dsp_add2f (float *, const float *, long);
00087 void dsp_add2 (double *, const double *, long);
00088 void dsp_cadd2f (stpSCplx, const stpSCplx, long);
00089 void dsp_cadd2 (stpDCplx, const stpDCplx, long);
00090 void dsp_add3f (float *, const float *, const float *, long);
00091 void dsp_add3 (double *, const double *, const double *, long);
00092 void dsp_cadd3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00093 void dsp_cadd3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00094
00096 void dsp_subf (float *, float, long);
00097 void dsp_sub (double *, double, long);
00098 void dsp_csubf (stpSCplx, stSCplx, long);
00099 void dsp_csub (stpDCplx, stDCplx, long);
00100 void dsp_sub2f (float *, const float *, long);
00101 void dsp_sub2 (double *, const double *, long);
00102 void dsp_csub2f (stpSCplx, const stpSCplx, long);
00103 void dsp_csub2 (stpDCplx, const stpDCplx, long);
00104 void dsp_sub3f (float *, const float *, const float *, long);
00105 void dsp_sub3 (double *, const double *, const double *, long);
00106 void dsp_csub3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00107 void dsp_csub3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00108
00110 void dsp_mulf (float *, float, long);
00111 void dsp_mul (double *, double, long);
00112 void dsp_chmulf (stpSCplx, float, long);
00113 void dsp_chmul (stpDCplx, double, long);
00114 void dsp_cmulf (stpSCplx, stSCplx, long);
00115 void dsp_cmul (stpDCplx, stDCplx, long);
00116 void dsp_mulf_nip (float *, const float *, float, long);
00117 void dsp_mul_nip (double *, const double *, double, long);
00118 void dsp_mul2f (float *, const float *, long);
00119 void dsp_mul2 (double *, const double *, long);
00120 void dsp_chmul2f (stpSCplx, const float *, long);
00121 void dsp_chmul2 (stpDCplx, const double *, long);
00122 void dsp_cmul2f (stpSCplx, const stpSCplx, long);
00123 void dsp_cmul2 (stpDCplx, const stpDCplx, long);
00124 void dsp_mul3f (float *, const float *, const float *, long);
00125 void dsp_mul3 (double *, const double *, const double *, long);
00126 void dsp_cmul3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00127 void dsp_cmul3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00128 void dsp_ccmulf (stpSCplx, const stpSCplx, long);
00129 void dsp_ccmul (stpDCplx, const stpDCplx, long);
00130 void dsp_ccmulf_nip (stpSCplx, const stpSCplx, const stpSCplx, long);
00131 void dsp_ccmul_nip (stpDCplx, const stpDCplx, const stpDCplx, long);
00132
00134 void dsp_divf (float *, float, long);
00135 void dsp_div (double *, double, long);
00136 void dsp_cdivf (stpSCplx, stSCplx, long);
00137 void dsp_cdiv (stpDCplx, stDCplx, long);
00138 void dsp_div2f (float *, const float *, long);
00139 void dsp_div2 (double *, const double *, long);
00140 void dsp_cdiv2f (stpSCplx, const stpSCplx, long);
00141 void dsp_cdiv2 (stpDCplx, const stpDCplx, long);
00142 void dsp_div3f (float *, const float *, const float *, long);
00143 void dsp_div3 (double *, const double *, const double *, long);
00144 void dsp_cdiv3f (stpSCplx, const stpSCplx, const stpSCplx, long);
00145 void dsp_cdiv3 (stpDCplx, const stpDCplx, const stpDCplx, long);
00146
00148 void dsp_div1xf (float *, long);
00149 void dsp_div1x (double *, long);
00150 void dsp_div1xf_nip (float *, const float *, long);
00151 void dsp_div1x_nip (double *, const double *, long);
00152
00154 void dsp_muladdf (float *, float, float, long);
00155 void dsp_muladd (double *, double, double, long);
00156 void dsp_muladdf_nip (float *, const float *, float, float, long);
00157 void dsp_muladd_nip (double *, const double *, double, double, long);
00158
00160 void dsp_absf (float *, long);
00161 void dsp_abs (double *, long);
00162 void dsp_absf_nip (float *, const float *, long);
00163 void dsp_abs_nip (double *, const double *, long);
00164
00166 void dsp_sqrtf (float *, long);
00167 void dsp_sqrt (double *, long);
00168 void dsp_sqrtf_nip (float *, const float *, long);
00169 void dsp_sqrt_nip (double *, const double *, long);
00170
00172 void dsp_zerof (float *, long);
00173 void dsp_zero (double *, long);
00174 void dsp_czerof (stpSCplx, long);
00175 void dsp_czero (stpDCplx, long);
00176
00178 void dsp_setf (float *, float, long);
00179 void dsp_set (double *, double, long);
00180 void dsp_csetf (stpSCplx, stSCplx, long);
00181 void dsp_cset (stpDCplx, stDCplx, long);
00182 void dsp_set2f (float *, float, long, long, long);
00183 void dsp_set2 (double *, double, long, long, long);
00184 void dsp_cset2f (stpSCplx, stSCplx, long, long, long);
00185 void dsp_cset2 (stpDCplx, stDCplx, long, long, long);
00186
00188 void dsp_clipf (float *, float, long);
00189 void dsp_clip (double *, double, long);
00190 void dsp_clipf_nip (float *, const float *, float, long);
00191 void dsp_clip_nip (double *, const double *, double, long);
00192 void dsp_clip2f (float *, float, float, long);
00193 void dsp_clip2 (double *, double, double, long);
00194 void dsp_clip2f_nip (float *, const float *, float, float, long);
00195 void dsp_clip2_nip (double *, const double *, double, double, long);
00196
00198 void dsp_clipzerof (float *, long);
00199 void dsp_clipzero (double *, long);
00200 void dsp_clipzerof_nip (float *, const float *, long);
00201 void dsp_clipzero_nip (double *, const double *, long);
00202
00204 void dsp_copyf (float *, const float *, long);
00205 void dsp_copy (double *, const double *, long);
00206
00207
00208
00210 float dsp_convolvef (const float *, const float *, long);
00211 double dsp_convolve (const double *, const double *, long);
00212 void dsp_convolve2f (float *, const float *, const float *, long);
00213 void dsp_convolve2 (double *, const double *, const double *, long);
00214
00216 float dsp_correlatef (const float *, const float *, long);
00217 double dsp_correlate (const double *, const double *, long);
00218 void dsp_correlate2f (float *, const float *, const float *, long);
00219 void dsp_correlate2 (double *, const double *, const double *, long);
00220
00222 float dsp_autocorrf (const float *, long);
00223 double dsp_autocorr (const double *, long);
00224 void dsp_autocorr2f (float *, const float *, long);
00225 void dsp_autocorr2 (double *, const double *, long);
00226
00228 float dsp_dotproductf (const float *, const float *, long);
00229 double dsp_dotproduct (const double *, const double *, long);
00230
00232 void dsp_minmaxf (float *, float *, const float *, long);
00233 void dsp_minmax (double *, double *, const double *, long);
00234
00236 float dsp_meanf (const float *, long);
00237 double dsp_mean (const double *, long);
00238
00240 float dsp_meadianf (const float *, long);
00241 double dsp_median (const double *, long);
00242
00244 void dsp_negatef (float *, long);
00245 void dsp_negate (double *, long);
00246 void dsp_negatef_nip (float *, const float *, long);
00247 void dsp_negate_nip (double *, const double *, long);
00248
00250 void dsp_normalizef (float *, long);
00251 void dsp_normalize (double *, long);
00252 void dsp_normalizef_nip (float *, const float *, long);
00253 void dsp_normalize_nip (double *, const double *, long);
00254
00256 float dsp_productf (const float *, long);
00257 double dsp_product (const double *, long);
00258
00260 void dsp_reversef (float *, long);
00261 void dsp_reverse (double *, long);
00262 void dsp_reversef_nip (float *, const float *, long);
00263 void dsp_reverse_nip (double *, const double *, long);
00264
00266 void dsp_scalef (float *, long);
00267 void dsp_scale (double *, long);
00268 void dsp_scalef_nip (float *, const float *, long);
00269 void dsp_scale_nip (double *, const double *, long);
00271 void dsp_scale01f (float *, long);
00272 void dsp_scale01 (double *, long);
00273 void dsp_scale01f_nip (float *, const float *, long);
00274 void dsp_Scale01_nip (double *, const double *, long);
00275
00277 void dsp_sortf (float *, long);
00278 void dsp_sort (double *, long);
00279 void dsp_sortl (long *, long);
00280
00282 void dsp_stddevf (float *, float *, const float *, long);
00283 void dsp_stddev (double *, double *, const double *, long);
00284
00286 float dsp_sumf (const float *, long);
00287 double dsp_sum (const double *, long);
00288
00290 void dsp_squaref (float *, long);
00291 void dsp_square (double *, long);
00292 void dsp_squaref_nip (float *, const float *, long);
00293 void dsp_square_nip (double *, const double *, long);
00294
00296 void dsp_convertu8f (float *, const unsigned char *, long);
00297 void dsp_convertu8 (double *, const unsigned char *, long);
00298 void dsp_converts16f (float *, const signed short *, long, int);
00299 void dsp_converts16 (double *, const signed short *, long, int);
00300 void dsp_converts32f (float *, const signed int *, long, int);
00301 void dsp_converts32 (double *, const signed int *, long, int);
00302 void dsp_convertd64f (float *, const double *, long);
00303 void dsp_convertf32 (double *, const float *, long);
00304
00305 void dsp_convertf32c (unsigned char *, const float *, long);
00306 void dsp_convertd64c (unsigned char *, const double *, long);
00307 void dsp_convertf32s (signed short *, const float *, long, int);
00308 void dsp_convertd64s (signed short *, const double *, long, int);
00309 void dsp_convertf32i (signed int *, const float *, long, int);
00310 void dsp_convertd64i (signed int *, const double *, long, int);
00311
00313 void dsp_cart2polarf (float *, float *, const float *, const float *,
00314 long);
00315 void dsp_cart2polar (double *, double *, const double *, const double *,
00316 long);
00317 void dsp_cart2polar2f (float *, float *, const stpSCplx, long);
00318 void dsp_cart2polar2 (double *, double *, const stpDCplx, long);
00319 void dsp_cart2polar3f (stpSPolar, const stpSCplx, long);
00320 void dsp_cart2polar3 (stpDPolar, const stpDCplx, long);
00321 void dsp_cart2polar4f (utpSCoord, long);
00322 void dsp_cart2polar4 (utpDCoord, long);
00323
00325 void dsp_polar2cartf (float *, float *, const float *, const float *,
00326 long);
00327 void dsp_polar2cart (double *, double *, const double *, const double *,
00328 long);
00329 void dsp_polar2cart2f (stpSCplx, const float *, const float *, long);
00330 void dsp_polar2cart2 (stpDCplx, const double *, const double *, long);
00331 void dsp_polar2cart3f (stpSCplx, const stpSPolar, long);
00332 void dsp_polar2cart3 (stpDCplx, const stpDPolar, long);
00333 void dsp_polar2cart4f (utpSCoord, long);
00334 void dsp_polar2cart4 (utpDCoord, long);
00335
00337 float dsp_crosscorrf (const float *, const float *, long);
00338 double dsp_crosscorr (const double *, const double *, long);
00340 float dsp_crosscorr2f (const float *, const float *, long, long);
00341 double dsp_crosscorr2 (const double *, const double *, long, long);
00342 void dsp_crosscorr3f (float *, const float *, const float *, long,
00343 const long *, long);
00344 void dsp_crosscorr3 (double *, const double *, const double *, long,
00345 const long *, long);
00346
00348 float dsp_energyf (const float *, long);
00349 double dsp_energy (const double *, long);
00350
00352 void dsp_magnitudef (float *, const stpSCplx, long);
00353 void dsp_magnitude (double *, const stpDCplx, long);
00354
00356 void dsp_powerf (float *, const stpSCplx, long);
00357 void dsp_power (double *, const stpDCplx, long);
00358
00360 void dsp_phasef (float *, const stpSCplx, long);
00361 void dsp_phase (double *, const stpDCplx, long);
00362
00364 void dsp_powerphasef (float *, float *, const stpSCplx, long);
00365 void dsp_powerphase (double *, double *, const stpDCplx, long);
00366
00368 void dsp_decimatef (float *, const float *, long, long);
00369 void dsp_decimate (double *, const double *, long, long);
00371 void dsp_decimateavgf (float *, const float *, long, long);
00372 void dsp_decimateavg (double *, const double *, long, long);
00373
00375 void dsp_interpolatef (float *, const float *, long, long);
00376 void dsp_interpolate (double *, const double *, long, long);
00378 void dsp_interpolateavgf (float *, const float *, long, long);
00379 void dsp_interpolateavg (double *, const double *, long, long);
00380
00382 void dsp_resamplef (float *, long, const float *, long);
00383 void dsp_resample (double *, long, const double *, long);
00385 void dsp_resampleavgf (float *, long, const float *, long);
00386 void dsp_resampleavg (double *, long, const double *, long);
00387
00389 float dsp_rmsf (const float *, long);
00390 double dsp_rms (const double *, long);
00391
00393 float dsp_variancef (float *, float *, const float *, long);
00394 double dsp_variance (double *, double *, const double *, long);
00395
00397 float dsp_peaklevelf (const float *fpSrc, long);
00398 double dsp_peaklevel (const double *dpSrc, long);
00399
00401 void dsp_mixf (float *, const float *, long);
00402 void dsp_mix (double *, const double *, long);
00403 void dsp_mix2f (float *, const float *, const float *, long);
00404 void dsp_mix2 (double *, const double *, const double *, long);
00405 void dsp_mixnf (float *, const float *, long, long);
00406 void dsp_mixn (double *, const double *, long, long);
00407
00409 void dsp_extractf (float *, const float *, long, long, long);
00410 void dsp_extract (double *, const double *, long, long, long);
00411
00413 void dsp_packf (float *, const float *, long, long, long);
00414 void dsp_pack (double *, const double *, long, long, long);
00415
00417 void dsp_fftw_convertf2cf (stpSCplx, const float *, long);
00418 void dsp_fftw_convertf2cd (stpDCplx, const float *, long);
00419 void dsp_fftw_convertd2cf (stpSCplx, const double *, long);
00420 void dsp_fftw_convertd2cd (stpDCplx, const double *, long);
00421 void dsp_fftw_convertcf2f (float *, const stpSCplx, long);
00422 void dsp_fftw_convertcd2f (float *, const stpDCplx, long);
00423 void dsp_fftw_convertcf2d (double *, const stpSCplx, long);
00424 void dsp_fftw_convertcd2d (double *, const stpDCplx, long);
00425
00431 dsp_t dsp_new (void);
00437 void dsp_delete (dsp_t);
00438
00440 void dsp_win_bartlettf (dsp_t, float *, long);
00441 void dsp_win_bartlett (dsp_t, double *, long);
00443 void dsp_win_blackmanf (dsp_t, float *, long, float);
00444 void dsp_win_blackman (dsp_t, double *, long, double);
00446 void dsp_win_blackman_harrisf (dsp_t, float *, long);
00447 void dsp_win_blackman_harris (dsp_t, double *, long);
00449 void dsp_win_cos_taperedf (dsp_t, float *, long);
00450 void dsp_win_cos_tapered (dsp_t, double *, long);
00452 void dsp_win_exact_blackmanf (dsp_t, float *, long);
00453 void dsp_win_exact_blackman (dsp_t, double *, long);
00455 void dsp_win_expf (dsp_t, float *, float, long);
00456 void dsp_win_exp (dsp_t, double *, double, long);
00458 void dsp_win_flat_topf (dsp_t, float *, long);
00459 void dsp_win_flat_top (dsp_t, double *, long);
00461 void dsp_win_generic_cosf (dsp_t, float *, long, const float *, long);
00462 void dsp_win_generic_cos (dsp_t, double *, long, const double *, long);
00464 void dsp_win_hammingf (dsp_t, float *, long);
00465 void dsp_win_hamming (dsp_t, double *, long);
00467 void dsp_win_hanningf (dsp_t, float *, long);
00468 void dsp_win_hanning (dsp_t, double *, long);
00470 void dsp_win_kaiserf (dsp_t, float *, float, long);
00471 void dsp_win_kaiser (dsp_t, double *, double, long);
00473 void dsp_win_kaiser_besself (dsp_t, float *, float, long);
00474 void dsp_win_kaiser_bessel (dsp_t, double *, double, long);
00476 void dsp_win_tukeyf (dsp_t, float *, long);
00477 void dsp_win_tukey (dsp_t, double *, long);
00479 void dsp_win_dolph_chebyshevf (dsp_t, float *, float, long);
00480 void dsp_win_dolph_chebyshev (dsp_t, double *, double, long);
00481
00483 long dsp_rebufferf (dsp_t, float *, const float *, long, long);
00484 long dsp_rebuffer (dsp_t, double *, const double *, long, long);
00485
00487 float dsp_deg2radf (dsp_t, float);
00488 double dsp_deg2rad (dsp_t, double);
00490 float dsp_rad2degf (dsp_t, float);
00491 double dsp_rad2deg (dsp_t, double);
00492
00494 void dsp_fir_allocatef (dsp_t, const float *, long);
00495 void dsp_fir_allocate (dsp_t, const double *, long);
00497 void dsp_fir_free (dsp_t);
00499 void dsp_fir_filterf (dsp_t, float *, long);
00500 void dsp_fir_filter (dsp_t, double *, long);
00501 void dsp_fir_filterf_nip (dsp_t, float *, const float *, long);
00502 void dsp_fir_filter_nip (dsp_t, double *, const double *, long);
00504 void dsp_fir_filterf_fst (dsp_t, float *, float *, long);
00505 void dsp_fir_filter_fst (dsp_t, double *, double *, long);
00506
00508 void dsp_iir_initf (dsp_t, const float *);
00509 void dsp_iir_init (dsp_t, const double *);
00511 void dsp_iir_filterf (dsp_t, float *, long);
00512 void dsp_iir_filter (dsp_t, double *, long);
00513 void dsp_iir_filterf_nip (dsp_t, float *, const float *, long);
00514 void dsp_iir_filter_nip (dsp_t, double *, const double *, long);
00516 void dsp_iir_clear (dsp_t);
00517
00519 void dsp_fft_init (dsp_t, long, int);
00521 void dsp_fft_uninit (dsp_t);
00523 void dsp_fftf (dsp_t, stpSCplx, float *);
00524 void dsp_fft (dsp_t, stpDCplx, double *);
00526 void dsp_fftf_nip (dsp_t, stpSCplx, const float *);
00527 void dsp_fft_nip (dsp_t, stpDCplx, const double *);
00528 void dsp_cfftf_nip (dsp_t, stpSCplx, const stpSCplx);
00529 void dsp_cfft_nip (dsp_t, stpDCplx, const stpDCplx);
00531 void dsp_ifftf_nip (dsp_t, float *, const stpSCplx);
00532 void dsp_ifft_nip (dsp_t, double *, const stpDCplx);
00533 void dsp_cifftf_nip (dsp_t, stpSCplx, const stpSCplx);
00534 void dsp_cifft_nip (dsp_t, stpDCplx, const stpDCplx);
00535
00537 void dsp_dct_init (dsp_t, long);
00539 void dsp_dct_uninit (dsp_t);
00541 void dsp_dctf (dsp_t, float *);
00542 void dsp_dct (dsp_t, double *);
00544 void dsp_dctf_nip (dsp_t, float *, const float *);
00545 void dsp_dct_nip (dsp_t, double *, const double *);
00547 void dsp_idctf (dsp_t, float *);
00548 void dsp_idct (dsp_t, double *);
00550 void dsp_idctf_nip (dsp_t, float *, const float *);
00551 void dsp_idct_nip (dsp_t, double *, const double *);
00552
00553
00554
00555
00561 dsp_iircas_t dsp_iir_cas_new (void);
00567 void dsp_iir_cas_delete (dsp_iircas_t);
00569 int dsp_iir_cas_initf (dsp_iircas_t, const float[][5], long);
00570 int dsp_iir_cas_init (dsp_iircas_t, const double[][5], long);
00571 void dsp_iir_cas_uninit (dsp_iircas_t);
00572 void dsp_iir_cas_processf (dsp_iircas_t, float *, long);
00573 void dsp_iir_cas_process (dsp_iircas_t, double *, long);
00574 void dsp_iir_cas_processf_nip (dsp_iircas_t, float *, const float *, long);
00575 void dsp_iir_cas_process_nip (dsp_iircas_t, double *, const double *, long);
00576 void dsp_iir_cas_clear (dsp_iircas_t);
00577
00578
00579
00585 dsp_decfft_t dsp_dec_fft_new (void);
00591 void dsp_dec_fft_delete (dsp_decfft_t);
00593 int dsp_dec_fft_initf (dsp_decfft_t, long, long, int);
00594 int dsp_dec_fft_init (dsp_decfft_t, long, long, int);
00596 void dsp_dec_fft_uninit (dsp_decfft_t);
00598 void dsp_dec_fft_putf (dsp_decfft_t, const float *, long);
00599 void dsp_dec_fft_put (dsp_decfft_t, const double *, long);
00601 int dsp_dec_fft_getf (dsp_decfft_t, float *, long);
00602 int dsp_dec_fft_get (dsp_decfft_t, double *, long);
00603
00604
00605
00611 dsp_decfir_t dsp_dec_fir_new (void);
00617 void dsp_dec_fir_delete (dsp_decfir_t);
00619 int dsp_dec_fir_initf (dsp_decfir_t, long, int);
00620 int dsp_dec_fir_init (dsp_decfir_t, long, int);
00622 void dsp_dec_fir_uninit (dsp_decfir_t);
00624 void dsp_dec_fir_putf (dsp_decfir_t, const float *, long);
00625 void dsp_dec_fir_put (dsp_decfir_t, const double *, long);
00627 int dsp_dec_fir_getf (dsp_decfir_t, float *, long);
00628 int dsp_dec_fir_get (dsp_decfir_t, double *, long);
00629
00630
00631
00637 dsp_deciir_t dsp_dec_iir_new (void);
00643 void dsp_dec_iir_delete (dsp_deciir_t);
00645 int dsp_dec_iir_initf (dsp_deciir_t, long, int);
00646 int dsp_dec_iir_init (dsp_deciir_t, long, int);
00648 void dsp_dec_iir_uninit (dsp_deciir_t);
00650 void dsp_dec_iir_putf (dsp_deciir_t, const float *, long);
00651 void dsp_dec_iir_put (dsp_deciir_t, const double *, long);
00653 int dsp_dec_iir_getf (dsp_deciir_t, float *, long);
00654 int dsp_dec_iir_get (dsp_deciir_t, double *, long);
00655
00656
00657
00663 dsp_decrec_t dsp_dec_rec_new (void);
00669 void dsp_dec_rec_delete (dsp_decrec_t);
00671 int dsp_dec_rec_initf (dsp_decrec_t, long, long, float, int);
00672 int dsp_dec_rec_init (dsp_decrec_t, long, long, double, int);
00674 void dsp_dec_rec_uninit (dsp_decrec_t);
00676 void dsp_dec_rec_putf (dsp_decrec_t, const float *, long);
00677 void dsp_dec_rec_put (dsp_decrec_t, const double *, long);
00679 int dsp_dec_rec_getf (dsp_decrec_t, float *, long);
00680 int dsp_dec_rec_get (dsp_decrec_t, double *, long);
00681
00682
00683
00689 dsp_intfft_t dsp_int_fft_new (void);
00695 void dsp_int_fft_delete (dsp_intfft_t);
00697 int dsp_int_fft_initf (dsp_intfft_t, long, long, int);
00698 int dsp_int_fft_init (dsp_intfft_t, long, long, int);
00700 void dsp_int_fft_uninit (dsp_intfft_t);
00702 void dsp_int_fft_putf (dsp_intfft_t, const float *, long);
00703 void dsp_int_fft_put (dsp_intfft_t, const double *, long);
00705 int dsp_int_fft_getf (dsp_intfft_t, float *, long);
00706 int dsp_int_fft_get (dsp_intfft_t, double *, long);
00707
00708
00709
00715 dsp_intfir_t dsp_int_fir_new (void);
00721 void dsp_int_fir_delete (dsp_intfir_t);
00723 int dsp_int_fir_initf (dsp_intfir_t, long, int);
00724 int dsp_int_fir_init (dsp_intfir_t, long, int);
00726 void dsp_int_fir_uninit (dsp_intfir_t);
00728 void dsp_int_fir_putf (dsp_intfir_t, const float *, long);
00729 void dsp_int_fir_put (dsp_intfir_t, const double *, long);
00731 int dsp_int_fir_getf (dsp_intfir_t, float *, long);
00732 int dsp_int_fir_get (dsp_intfir_t, double *, long);
00733
00734
00735
00741 dsp_intiir_t dsp_int_iir_new (void);
00747 void dsp_int_iir_delete (dsp_intiir_t);
00749 int dsp_int_iir_initf (dsp_intiir_t, long, int);
00750 int dsp_int_iir_init (dsp_intiir_t, long, int);
00752 void dsp_int_iir_uninit (dsp_intiir_t);
00754 void dsp_int_iir_putf (dsp_intiir_t, const float *, long);
00755 void dsp_int_iir_put (dsp_intiir_t, const double *, long);
00757 int dsp_int_iir_getf (dsp_intiir_t, float *, long);
00758 int dsp_int_iir_get (dsp_intiir_t, double *, long);
00759
00760
00761
00767 dsp_intrec_t dsp_int_rec_new (void);
00773 void dsp_int_rec_delete (dsp_intrec_t);
00775 int dsp_int_rec_initf (dsp_intrec_t, long, long, float, int);
00776 int dsp_int_rec_init (dsp_intrec_t, long, long, double, int);
00778 void dsp_int_rec_uninit (dsp_intrec_t);
00780 void dsp_int_rec_putf (dsp_intrec_t, const float *, long);
00781 void dsp_int_rec_put (dsp_intrec_t, const double *, long);
00783 int dsp_int_rec_getf (dsp_intrec_t, float *, long);
00784 int dsp_int_rec_get (dsp_intrec_t, double *, long);
00785
00786
00787
00793 dsp_filter_t dsp_filter_new (void);
00799 void dsp_filter_delete (dsp_filter_t);
00801 int dsp_filter_initf (dsp_filter_t, long);
00802 int dsp_filter_init (dsp_filter_t, long);
00803 int dsp_filter_init2f (dsp_filter_t, long, const float *, float, float);
00804 int dsp_filter_init2 (dsp_filter_t, long, const double *, double, double);
00806 int dsp_filter_init_lpf (dsp_filter_t, float, float, float, float);
00807 int dsp_filter_init_lp (dsp_filter_t, double, double, double, double);
00809 int dsp_filter_init_hpf (dsp_filter_t, float, float, float, float);
00810 int dsp_filter_init_hp (dsp_filter_t, double, double, double, double);
00812 void dsp_filter_set_coeffsf (dsp_filter_t, const float *);
00813 void dsp_filter_set_ceoffs (dsp_filter_t, const double *);
00814 void dsp_filter_set_ccoeffsf (dsp_filter_t, const stpSCplx, int);
00815 void dsp_filter_set_ccoeffs (dsp_filter_t, const stpDCplx, int);
00817 void dsp_filter_get_coeffsf (dsp_filter_t, float *);
00818 void dsp_filter_get_coeffs (dsp_filter_t, double *);
00819 void dsp_filter_get_ccoeffsf (dsp_filter_t, stpSCplx);
00820 void dsp_filter_get_ccoeffs (dsp_filter_t, stpDCplx);
00822 void dsp_filter_putf (dsp_filter_t, const float *, long);
00823 void dsp_filter_put (dsp_filter_t, const double *, long);
00824 void dsp_filter_put2f (dsp_filter_t, const float *, long, const stpSCplx);
00825 void dsp_filter_put2 (dsp_filter_t, const double *, long, const stpDCplx);
00827 void dsp_filter_getf (dsp_filter_t, float *, long);
00828 void dsp_filter_get (dsp_filter_t, double *, long);
00830 void dsp_filter_design_lpf (dsp_filter_t, float *, int);
00831 void dsp_filter_design_lp (dsp_filter_t, double *, int);
00832 void dsp_filter_design_lp2f (dsp_filter_t, float *, float, int);
00833 void dsp_filter_design_lp2 (dsp_filter_t, double *, double, int);
00835 void dsp_filter_design_hpf (dsp_filter_t, float *);
00836 void dsp_filter_design_hp (dsp_filter_t, double *);
00837 void dsp_filter_design_hp2f (dsp_filter_t, float *, float);
00838 void dsp_filter_design_hp2 (dsp_filter_t, double *, double);
00840 void dsp_filter_design_bpf (dsp_filter_t, float *, float *);
00841 void dsp_filter_design_bp (dsp_filter_t, double *, double *);
00842 void dsp_filter_design_bp2f (dsp_filter_t, float *, float *, float);
00843 void dsp_filter_design_bp2 (dsp_filter_t, double *, double *, double);
00845 void dsp_filter_design_brf (dsp_filter_t, float *, float *);
00846 void dsp_filter_design_br (dsp_filter_t, double *, double *);
00847 void dsp_filter_design_br2f (dsp_filter_t, float *, float *, float);
00848 void dsp_filter_design_br2 (dsp_filter_t, double *, double *, double);
00849
00850
00851
00852
00858 dsp_flip_t dsp_flip_new (void);
00864 void dsp_flip_delete (dsp_flip_t);
00866 void dsp_flip_initf (dsp_flip_t, long);
00867 void dsp_flip_init (dsp_flip_t, long);
00869 void dsp_flip_uninit (dsp_flip_t);
00871 void dsp_flip_putf (dsp_flip_t, const float *, long);
00872 void dsp_flip_put (dsp_flip_t, const double *, long);
00874 void dsp_flip_getf (dsp_flip_t, float *, long);
00875 void dsp_flip_get (dsp_flip_t, double *, long);
00877 void dsp_flip_clear (dsp_flip_t);
00878
00879
00880
00881
00887 dsp_rebuf_t dsp_rebuf_new (void);
00893 void dsp_rebuf_delete (dsp_rebuf_t);
00895 void dsp_rebuf_putf (dsp_rebuf_t, const float *, long);
00896 void dsp_rebuf_put (dsp_rebuf_t, const double *, long);
00898 int dsp_rebuf_getf (dsp_rebuf_t, float *, long);
00899 int dsp_rebuf_get (dsp_rebuf_t, double *, long);
00901 long dsp_rebuf_size (dsp_rebuf_t);
00903 void dsp_rebuf_clear (dsp_rebuf_t);
00905 void dsp_rebuf_copy (dsp_rebuf_t, dsp_rebuf_t);
00906
00907 #ifdef __cplusplus
00908 }
00909 #endif
00910
00911 #endif