Blame docs/libs/html/gst-plugins-base-libs-GstFFTF32.html

Packit Service 4387a0
Packit Service 4387a0
<html>
Packit Service 4387a0
<head>
Packit Service 4387a0
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit Service 4387a0
<title>GstFFTF32: GStreamer Base Plugins 1.0 Library Reference Manual</title>
Packit Service 4387a0
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
Packit Service 4387a0
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
Packit Service 4387a0
<link rel="up" href="gstreamer-ffft.html" title="FFT Library">
Packit Service 4387a0
<link rel="prev" href="gst-plugins-base-libs-GstFFTS32.html" title="GstFFTS32">
Packit Service 4387a0
<link rel="next" href="gst-plugins-base-libs-GstFFTF64.html" title="GstFFTF64">
Packit Service 4387a0
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
Packit Service 4387a0
<link rel="stylesheet" href="style.css" type="text/css">
Packit Service 4387a0
</head>
Packit Service 4387a0
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Top  | 
Packit Service 4387a0
                  Description
Packit Service 4387a0
Packit Service 4387a0
Home
Packit Service 4387a0
Up
Packit Service 4387a0
Prev
Packit Service 4387a0
Next
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

GstFFTF32

Packit Service 4387a0

GstFFTF32 — FFT functions for 32 bit float samples

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Functions

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
GstFFTF32 *
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
gst_fft_f32_new ()
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
void
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
gst_fft_f32_fft ()
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
void
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
gst_fft_f32_inverse_fft ()
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
void
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
gst_fft_f32_window ()
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
void
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
gst_fft_f32_free ()
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Types and Values

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
 
Packit Service 4387a0
GstFFTF32
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
struct
Packit Service 4387a0
GstFFTF32Complex
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Includes

Packit Service 4387a0
#include <gst/fft/fft.h>
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Description

Packit Service 4387a0

GstFFTF32 provides a FFT implementation and related functions for

Packit Service 4387a0
32 bit float samples. To use this call gst_fft_f32_new() for
Packit Service 4387a0
allocating a GstFFTF32 instance with the appropriate parameters and
Packit Service 4387a0
then call gst_fft_f32_fft() or gst_fft_f32_inverse_fft() to perform the
Packit Service 4387a0
FFT or inverse FFT on a buffer of samples.

Packit Service 4387a0

After use free the GstFFTF32 instance with gst_fft_f32_free().

Packit Service 4387a0

For the best performance use gst_fft_next_fast_length() to get a

Packit Service 4387a0
number that is entirely a product of 2, 3 and 5 and use this as the
Packit Service 4387a0
len
Packit Service 4387a0
 parameter for gst_fft_f32_new().

Packit Service 4387a0

The len

Packit Service 4387a0
 parameter specifies the number of samples in the time domain that
Packit Service 4387a0
will be processed or generated. The number of samples in the frequency domain
Packit Service 4387a0
is len
Packit Service 4387a0
/2 + 1. To get n samples in the frequency domain use 2*n - 2 as len
Packit Service 4387a0
.

Packit Service 4387a0

Before performing the FFT on time domain data it usually makes sense

Packit Service 4387a0
to apply a window function to it. For this gst_fft_f32_window() can comfortably
Packit Service 4387a0
be used.

Packit Service 4387a0

Be aware, that you can't simply run gst_fft_f32_inverse_fft() on the

Packit Service 4387a0
resulting frequency data of gst_fft_f32_fft() to get the original data back.
Packit Service 4387a0
The relation between them is iFFT (FFT (x)) = x * nfft where nfft is the
Packit Service 4387a0
length of the FFT. This also has to be taken into account when calculation
Packit Service 4387a0
the magnitude of the frequency data.

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Functions

Packit Service 4387a0
Packit Service 4387a0

gst_fft_f32_new ()

Packit Service 4387a0
GstFFTF32 *
Packit Service 4387a0
gst_fft_f32_new (gint len,
Packit Service 4387a0
                 gboolean inverse);
Packit Service 4387a0

This returns a new GstFFTF32 instance with the given parameters. It makes

Packit Service 4387a0
sense to keep one instance for several calls for speed reasons.

Packit Service 4387a0

len

Packit Service 4387a0
 must be even and to get the best performance a product of
Packit Service 4387a0
2, 3 and 5. To get the next number with this characteristics use
Packit Service 4387a0
gst_fft_next_fast_length().

Packit Service 4387a0

[skip]

Packit Service 4387a0
Packit Service 4387a0

Parameters

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

len

Packit Service 4387a0

Length of the FFT in the time domain

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

inverse

Packit Service 4387a0

TRUE if the GstFFTF32 instance should be used for the inverse FFT

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Returns

Packit Service 4387a0

a new GstFFTF32 instance.

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Packit Service 4387a0
Packit Service 4387a0

gst_fft_f32_fft ()

Packit Service 4387a0
void
Packit Service 4387a0
gst_fft_f32_fft (GstFFTF32 *self,
Packit Service 4387a0
                 const gfloat *timedata,
Packit Service 4387a0
                 GstFFTF32Complex *freqdata);
Packit Service 4387a0

This performs the FFT on timedata

Packit Service 4387a0
 and puts the result in freqdata
Packit Service 4387a0
.

Packit Service 4387a0

timedata

Packit Service 4387a0
 must have as many samples as specified with the len
Packit Service 4387a0
 parameter while
Packit Service 4387a0
allocating the GstFFTF32 instance with gst_fft_f32_new().

Packit Service 4387a0

freqdata

Packit Service 4387a0
 must be large enough to hold len
Packit Service 4387a0
/2 + 1 GstFFTF32Complex frequency
Packit Service 4387a0
domain samples.

Packit Service 4387a0
Packit Service 4387a0

Parameters

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

self

Packit Service 4387a0

GstFFTF32 instance for this call

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

timedata

Packit Service 4387a0

Buffer of the samples in the time domain

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

freqdata

Packit Service 4387a0

Target buffer for the samples in the frequency domain

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Packit Service 4387a0
Packit Service 4387a0

gst_fft_f32_inverse_fft ()

Packit Service 4387a0
void
Packit Service 4387a0
gst_fft_f32_inverse_fft (GstFFTF32 *self,
Packit Service 4387a0
                         const GstFFTF32Complex *freqdata,
Packit Service 4387a0
                         gfloat *timedata);
Packit Service 4387a0

This performs the inverse FFT on freqdata

Packit Service 4387a0
 and puts the result in timedata
Packit Service 4387a0
.

Packit Service 4387a0

freqdata

Packit Service 4387a0
 must have len
Packit Service 4387a0
/2 + 1 samples, where len
Packit Service 4387a0
 is the parameter specified
Packit Service 4387a0
while allocating the GstFFTF32 instance with gst_fft_f32_new().

Packit Service 4387a0

timedata

Packit Service 4387a0
 must be large enough to hold len
Packit Service 4387a0
 time domain samples.

Packit Service 4387a0
Packit Service 4387a0

Parameters

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

self

Packit Service 4387a0

GstFFTF32 instance for this call

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

freqdata

Packit Service 4387a0

Buffer of the samples in the frequency domain

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

timedata

Packit Service 4387a0

Target buffer for the samples in the time domain

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Packit Service 4387a0
Packit Service 4387a0

gst_fft_f32_window ()

Packit Service 4387a0
void
Packit Service 4387a0
gst_fft_f32_window (GstFFTF32 *self,
Packit Service 4387a0
                    gfloat *timedata,
Packit Service 4387a0
                    GstFFTWindow window);
Packit Service 4387a0

This calls the window function window

Packit Service 4387a0
 on the timedata
Packit Service 4387a0
 sample buffer.

Packit Service 4387a0
Packit Service 4387a0

Parameters

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

self

Packit Service 4387a0

GstFFTF32 instance for this call

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

timedata

Packit Service 4387a0

Time domain samples

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

window

Packit Service 4387a0

Window function to apply

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Packit Service 4387a0
Packit Service 4387a0

gst_fft_f32_free ()

Packit Service 4387a0
void
Packit Service 4387a0
gst_fft_f32_free (GstFFTF32 *self);
Packit Service 4387a0

This frees the memory allocated for self

Packit Service 4387a0
.

Packit Service 4387a0
Packit Service 4387a0

Parameters

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

self

Packit Service 4387a0

GstFFTF32 instance for this call

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Types and Values

Packit Service 4387a0
Packit Service 4387a0

GstFFTF32

Packit Service 4387a0
typedef struct _GstFFTF32 GstFFTF32;
Packit Service 4387a0
Packit Service 4387a0

Packit Service 4387a0
Packit Service 4387a0

struct GstFFTF32Complex

Packit Service 4387a0
struct GstFFTF32Complex {
Packit Service 4387a0
  gfloat r;
Packit Service 4387a0
  gfloat i;
Packit Service 4387a0
};
Packit Service 4387a0
Packit Service 4387a0

Data type for complex numbers composed of

Packit Service 4387a0
32 bit float.

Packit Service 4387a0
Packit Service 4387a0

Members

Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

gfloat r;

Packit Service 4387a0

Real part

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

gfloat i;

Packit Service 4387a0

Imaginary part

Packit Service 4387a0
 
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0
Packit Service 4387a0

Generated by GTK-Doc V1.28
Packit Service 4387a0
</body>
Packit Service 4387a0
</html>