Added gst-plugins-base-subtitles0.10-0.10.34 for Meego Harmattan 1.2
[mafwsubrenderer] / gst-plugins-base-subtitles0.10 / gst-libs / gst / fft / gstffts16.h
1 /* GStreamer
2  * Copyright (C) <2007> Sebastian Dröge <slomo@circular-chaos.org>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 #ifndef __GST_FFT_S16_H__
21 #define __GST_FFT_S16_H__
22
23 #include <glib.h>
24 #include <gst/gst.h>
25
26 #include "gstfft.h"
27
28 typedef struct _GstFFTS16 GstFFTS16;
29 typedef struct _GstFFTS16Complex GstFFTS16Complex;
30
31 /* FIXME 0.11: Move the struct definition to the sources,
32  *             there's no reason to have it public.
33  */
34 /**
35  * GstFFTS16:
36  *
37  * Instance structure for #GstFFTS16.
38  *
39  */
40 struct _GstFFTS16 {
41   /* <private> */
42   void *cfg;
43   gboolean inverse;
44   gint len;
45   gpointer _padding[GST_PADDING];
46 };
47
48 /* Copy of kiss_fft_s16_cpx for documentation reasons,
49  * do NOT change! */
50
51 /**
52  * GstFFTS16Complex:
53  * @r: Real part
54  * @i: Imaginary part
55  *
56  * Data type for complex numbers composed of
57  * signed 16 bit integers.
58  *
59  */
60 struct _GstFFTS16Complex
61 {
62   gint16 r;
63   gint16 i;
64 };
65
66 /* Functions */
67
68 GstFFTS16 * gst_fft_s16_new (gint len, gboolean inverse);
69 void gst_fft_s16_fft (GstFFTS16 *self, const gint16 *timedata, GstFFTS16Complex *freqdata);
70 void gst_fft_s16_inverse_fft (GstFFTS16 *self, const GstFFTS16Complex *freqdata, gint16 *timedata);
71 void gst_fft_s16_free (GstFFTS16 *self);
72
73 void gst_fft_s16_window (GstFFTS16 *self, gint16 *timedata, GstFFTWindow window);
74 #endif /* __GST_FFT_S16_H__ */