gst_plugins_base/gst-libs/gst/fft/gstfftf64.c
branchRCL_3
changeset 30 7e817e7e631c
parent 29 567bb019e3e3
equal deleted inserted replaced
29:567bb019e3e3 30:7e817e7e631c
    18  */
    18  */
    19 
    19 
    20 #include <glib.h>
    20 #include <glib.h>
    21 #include <math.h>
    21 #include <math.h>
    22 
    22 
    23 #include "_kiss_fft_guts_f64.h"
       
    24 #include "kiss_fftr_f64.h"
    23 #include "kiss_fftr_f64.h"
    25 #include "gstfft.h"
    24 #include "gstfft.h"
    26 #include "gstfftf64.h"
    25 #include "gstfftf64.h"
    27 
    26 
    28 /**
    27 /**
    77 
    76 
    78 GstFFTF64 *
    77 GstFFTF64 *
    79 gst_fft_f64_new (gint len, gboolean inverse)
    78 gst_fft_f64_new (gint len, gboolean inverse)
    80 {
    79 {
    81   GstFFTF64 *self;
    80   GstFFTF64 *self;
    82   gsize subsize = 0, memneeded;
       
    83 
    81 
    84   g_return_val_if_fail (len > 0, NULL);
    82   g_return_val_if_fail (len > 0, NULL);
    85   g_return_val_if_fail (len % 2 == 0, NULL);
    83   g_return_val_if_fail (len % 2 == 0, NULL);
    86 
    84 
    87   kiss_fftr_f64_alloc (len, (inverse) ? 1 : 0, NULL, &subsize);
    85   self = g_new (GstFFTF64, 1);
    88   memneeded = ALIGN_STRUCT (sizeof (GstFFTF64)) + subsize;
    86 
    89 
    87   self->cfg = kiss_fftr_f64_alloc (len, (inverse) ? 1 : 0, NULL, NULL);
    90   self = (GstFFTF64 *) g_malloc0 (memneeded);
       
    91 
       
    92   self->cfg = (((guint8 *) self) + ALIGN_STRUCT (sizeof (GstFFTF64)));
       
    93   self->cfg = kiss_fftr_f64_alloc (len, (inverse) ? 1 : 0, self->cfg, &subsize);
       
    94   g_assert (self->cfg);
    88   g_assert (self->cfg);
    95 
    89 
    96   self->inverse = inverse;
    90   self->inverse = inverse;
    97   self->len = len;
    91   self->len = len;
    98 
    92 
   172 #endif
   166 #endif
   173 
   167 
   174 void
   168 void
   175 gst_fft_f64_free (GstFFTF64 * self)
   169 gst_fft_f64_free (GstFFTF64 * self)
   176 {
   170 {
       
   171   kiss_fftr_f64_free (self->cfg);
   177   g_free (self);
   172   g_free (self);
   178 }
   173 }
   179 
   174 
   180 /**
   175 /**
   181  * gst_fft_f64_window:
   176  * gst_fft_f64_window: