|
Packit |
971217 |
|
|
Packit |
971217 |
<html>
|
|
Packit |
971217 |
<head>
|
|
Packit |
971217 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit |
971217 |
<title>GstFFTS16: GStreamer Base Plugins 1.0 Library Reference Manual</title>
|
|
Packit |
971217 |
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
|
|
Packit |
971217 |
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
|
|
Packit |
971217 |
<link rel="up" href="gstreamer-ffft.html" title="FFT Library">
|
|
Packit |
971217 |
<link rel="prev" href="gst-plugins-base-libs-GstFFT.html" title="GstFFT">
|
|
Packit |
971217 |
<link rel="next" href="gst-plugins-base-libs-GstFFTS32.html" title="GstFFTS32">
|
|
Packit |
971217 |
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
|
Packit |
971217 |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit |
971217 |
</head>
|
|
Packit |
971217 |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Top |
|
|
Packit |
971217 |
Description
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
GstFFTS16
|
|
Packit |
971217 |
GstFFTS16 — FFT functions for signed 16 bit integer samples
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Functions
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
GstFFTS16 *
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_new ()
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
void
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_fft ()
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
void
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_inverse_fft ()
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
void
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_window ()
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
void
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_free ()
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Types and Values
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
GstFFTS16
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
struct
|
|
Packit |
971217 |
GstFFTS16Complex
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Includes
|
|
Packit |
971217 |
#include <gst/fft/gstffts16.h>
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Description
|
|
Packit |
971217 |
GstFFTS16 provides a FFT implementation and related functions for
|
|
Packit |
971217 |
signed 16 bit integer samples. To use this call gst_fft_s16_new() for
|
|
Packit |
971217 |
allocating a GstFFTS16 instance with the appropriate parameters and
|
|
Packit |
971217 |
then call gst_fft_s16_fft() or gst_fft_s16_inverse_fft() to perform the
|
|
Packit |
971217 |
FFT or inverse FFT on a buffer of samples.
|
|
Packit |
971217 |
After use free the GstFFTS16 instance with gst_fft_s16_free() .
|
|
Packit |
971217 |
For the best performance use gst_fft_next_fast_length() to get a
|
|
Packit |
971217 |
number that is entirely a product of 2, 3 and 5 and use this as the
|
|
Packit |
971217 |
len
|
|
Packit |
971217 |
parameter for gst_fft_s16_new() .
|
|
Packit |
971217 |
The len
|
|
Packit |
971217 |
parameter specifies the number of samples in the time domain that
|
|
Packit |
971217 |
will be processed or generated. The number of samples in the frequency domain
|
|
Packit |
971217 |
is len
|
|
Packit |
971217 |
/2 + 1. To get n samples in the frequency domain use 2*n - 2 as len
|
|
Packit |
971217 |
.
|
|
Packit |
971217 |
Before performing the FFT on time domain data it usually makes sense
|
|
Packit |
971217 |
to apply a window function to it. For this gst_fft_s16_window() can comfortably
|
|
Packit |
971217 |
be used.
|
|
Packit |
971217 |
Be aware, that you can't simply run gst_fft_s16_inverse_fft() on the
|
|
Packit |
971217 |
resulting frequency data of gst_fft_s16_fft() to get the original data back.
|
|
Packit |
971217 |
The relation between them is iFFT (FFT (x)) = x / nfft where nfft is the
|
|
Packit |
971217 |
length of the FFT. This also has to be taken into account when calculation
|
|
Packit |
971217 |
the magnitude of the frequency data.
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Functions
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_new ()
|
|
Packit |
971217 |
GstFFTS16 *
|
|
Packit |
971217 |
gst_fft_s16_new (gint len ,
|
|
Packit |
971217 |
gboolean inverse );
|
|
Packit |
971217 |
This returns a new GstFFTS16 instance with the given parameters. It makes
|
|
Packit |
971217 |
sense to keep one instance for several calls for speed reasons.
|
|
Packit |
971217 |
len
|
|
Packit |
971217 |
must be even and to get the best performance a product of
|
|
Packit |
971217 |
2, 3 and 5. To get the next number with this characteristics use
|
|
Packit |
971217 |
gst_fft_next_fast_length() .
|
|
Packit |
971217 |
[skip]
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Parameters
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
len
|
|
Packit |
971217 |
Length of the FFT in the time domain
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
inverse
|
|
Packit |
971217 |
TRUE if the GstFFTS16 instance should be used for the inverse FFT
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Returns
|
|
Packit |
971217 |
a new GstFFTS16 instance.
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_fft ()
|
|
Packit |
971217 |
void
|
|
Packit |
971217 |
gst_fft_s16_fft (GstFFTS16 *self ,
|
|
Packit |
971217 |
const gint16 *timedata ,
|
|
Packit |
971217 |
GstFFTS16Complex *freqdata );
|
|
Packit |
971217 |
This performs the FFT on timedata
|
|
Packit |
971217 |
and puts the result in freqdata
|
|
Packit |
971217 |
.
|
|
Packit |
971217 |
timedata
|
|
Packit |
971217 |
must have as many samples as specified with the len
|
|
Packit |
971217 |
parameter while
|
|
Packit |
971217 |
allocating the GstFFTS16 instance with gst_fft_s16_new() .
|
|
Packit |
971217 |
freqdata
|
|
Packit |
971217 |
must be large enough to hold len
|
|
Packit |
971217 |
/2 + 1 GstFFTS16Complex frequency
|
|
Packit |
971217 |
domain samples.
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Parameters
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
self
|
|
Packit |
971217 |
GstFFTS16 instance for this call
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
timedata
|
|
Packit |
971217 |
Buffer of the samples in the time domain
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
freqdata
|
|
Packit |
971217 |
Target buffer for the samples in the frequency domain
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_inverse_fft ()
|
|
Packit |
971217 |
void
|
|
Packit |
971217 |
gst_fft_s16_inverse_fft (GstFFTS16 *self ,
|
|
Packit |
971217 |
const GstFFTS16Complex *freqdata ,
|
|
Packit |
971217 |
gint16 *timedata );
|
|
Packit |
971217 |
This performs the inverse FFT on freqdata
|
|
Packit |
971217 |
and puts the result in timedata
|
|
Packit |
971217 |
.
|
|
Packit |
971217 |
freqdata
|
|
Packit |
971217 |
must have len
|
|
Packit |
971217 |
/2 + 1 samples, where len
|
|
Packit |
971217 |
is the parameter specified
|
|
Packit |
971217 |
while allocating the GstFFTS16 instance with gst_fft_s16_new() .
|
|
Packit |
971217 |
timedata
|
|
Packit |
971217 |
must be large enough to hold len
|
|
Packit |
971217 |
time domain samples.
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Parameters
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
self
|
|
Packit |
971217 |
GstFFTS16 instance for this call
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
freqdata
|
|
Packit |
971217 |
Buffer of the samples in the frequency domain
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
timedata
|
|
Packit |
971217 |
Target buffer for the samples in the time domain
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_window ()
|
|
Packit |
971217 |
void
|
|
Packit |
971217 |
gst_fft_s16_window (GstFFTS16 *self ,
|
|
Packit |
971217 |
gint16 *timedata ,
|
|
Packit |
971217 |
GstFFTWindow window );
|
|
Packit |
971217 |
This calls the window function window
|
|
Packit |
971217 |
on the timedata
|
|
Packit |
971217 |
sample buffer.
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Parameters
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
self
|
|
Packit |
971217 |
GstFFTS16 instance for this call
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
timedata
|
|
Packit |
971217 |
Time domain samples
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
window
|
|
Packit |
971217 |
Window function to apply
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gst_fft_s16_free ()
|
|
Packit |
971217 |
void
|
|
Packit |
971217 |
gst_fft_s16_free (GstFFTS16 *self );
|
|
Packit |
971217 |
This frees the memory allocated for self
|
|
Packit |
971217 |
.
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Parameters
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
self
|
|
Packit |
971217 |
GstFFTS16 instance for this call
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Types and Values
|
|
Packit |
971217 |
|
|
Packit |
971217 |
GstFFTS16
|
|
Packit |
971217 |
typedef struct _GstFFTS16 GstFFTS16;
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
struct GstFFTS16Complex
|
|
Packit |
971217 |
struct GstFFTS16Complex {
|
|
Packit |
971217 |
gint16 r;
|
|
Packit |
971217 |
gint16 i;
|
|
Packit |
971217 |
};
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Data type for complex numbers composed of
|
|
Packit |
971217 |
signed 16 bit integers.
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Members
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gint16 r ;
|
|
Packit |
971217 |
Real part
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
gint16 i ;
|
|
Packit |
971217 |
Imaginary part
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
|
|
Packit |
971217 |
Generated by GTK-Doc V1.27
|
|
Packit |
971217 |
</body>
|
|
Packit |
971217 |
</html>
|