X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=gst-plugins-base-subtitles0.10%2Fgst-libs%2Fgst%2Ffft%2Fgstfftf32.h;fp=gst-plugins-base-subtitles0.10%2Fgst-libs%2Fgst%2Ffft%2Fgstfftf32.h;h=3b56b483948c6d8e178a59219d9f39fc382de307;hb=57ba96e291a055f69dbfd4ae9f1ae2390e36986e;hp=0000000000000000000000000000000000000000;hpb=be2c98fb83895d10ac44af7b9a9c3e00ca54bf49;p=mafwsubrenderer diff --git a/gst-plugins-base-subtitles0.10/gst-libs/gst/fft/gstfftf32.h b/gst-plugins-base-subtitles0.10/gst-libs/gst/fft/gstfftf32.h new file mode 100644 index 0000000..3b56b48 --- /dev/null +++ b/gst-plugins-base-subtitles0.10/gst-libs/gst/fft/gstfftf32.h @@ -0,0 +1,75 @@ +/* GStreamer + * Copyright (C) <2007> Sebastian Dröge + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GST_FFT_F32_H__ +#define __GST_FFT_F32_H__ + +#include +#include + +#include "gstfft.h" + +typedef struct _GstFFTF32 GstFFTF32; +typedef struct _GstFFTF32Complex GstFFTF32Complex; + +/* FIXME 0.11: Move the struct definition to the sources, + * there's no reason to have it public. + */ +/** + * GstFFTF32: + * + * Instance structure for #GstFFTF32. + * + */ +struct _GstFFTF32 { + /* */ + void * cfg; + gboolean inverse; + gint len; + gpointer _padding[GST_PADDING]; +}; + +/* Copy of kiss_fft_f32_cpx for documentation reasons, + * do NOT change! */ + +/** + * GstFFTF32Complex: + * @r: Real part + * @i: Imaginary part + * + * Data type for complex numbers composed of + * 32 bit float. + * + */ +struct _GstFFTF32Complex +{ + gfloat r; + gfloat i; +}; + +/* Functions */ + +GstFFTF32 * gst_fft_f32_new (gint len, gboolean inverse); +void gst_fft_f32_fft (GstFFTF32 *self, const gfloat *timedata, GstFFTF32Complex *freqdata); +void gst_fft_f32_inverse_fft (GstFFTF32 *self, const GstFFTF32Complex *freqdata, gfloat *timedata); +void gst_fft_f32_free (GstFFTF32 *self); + +void gst_fft_f32_window (GstFFTF32 *self, gfloat *timedata, GstFFTWindow window); + +#endif /* __GST_FFT_F32_H__ */