FFT and MDCT tests. More...
#include "libavutil/mathematics.h"
#include "libavutil/lfg.h"
#include "libavutil/log.h"
#include "fft.h"
#include <math.h>
#include <unistd.h>
#include <sys/time.h>
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Defines | |
#define | MUL16(a, b) ((a) * (b)) |
#define | CMAC(pre, pim, are, aim, bre, bim) |
#define | RANGE 16384 |
#define | REF_SCALE(x, bits) ((x) / (1<<(bits))) |
#define | FMT "%6d" |
Enumerations | |
enum | tf_transform { TRANSFORM_FFT, TRANSFORM_MDCT, TRANSFORM_RDFT, TRANSFORM_DCT } |
Functions | |
static void | fft_ref_init (int nbits, int inverse) |
static void | fft_ref (FFTComplex *tabr, FFTComplex *tab, int nbits) |
static void | imdct_ref (FFTSample *out, FFTSample *in, int nbits) |
static void | mdct_ref (FFTSample *output, FFTSample *input, int nbits) |
static FFTSample | frandom (AVLFG *prng) |
static int64_t | gettime (void) |
static int | check_diff (FFTSample *tab1, FFTSample *tab2, int n, double scale) |
static void | help (void) |
int | main (int argc, char **argv) |
Variables | |
struct { | |
float re | |
float im | |
} | exptab |
FFT and MDCT tests.
Definition in file fft-test.c.
#define CMAC | ( | pre, | |
pim, | |||
are, | |||
aim, | |||
bre, | |||
bim | |||
) |
#define FMT "%6d" |
Definition at line 57 of file fft-test.c.
Referenced by check_diff().
#define MUL16 | ( | a, | |
b | |||
) | ((a) * (b)) |
Definition at line 42 of file fft-test.c.
#define RANGE 16384 |
Definition at line 55 of file fft-test.c.
Referenced by check_diff(), and frandom().
Definition at line 56 of file fft-test.c.
Referenced by fft_ref(), imdct_ref(), and mdct_ref().
enum tf_transform |
Definition at line 231 of file fft-test.c.
Definition at line 195 of file fft-test.c.
Referenced by main().
static void fft_ref | ( | FFTComplex * | tabr, |
FFTComplex * | tab, | ||
int | nbits | ||
) | [static] |
Definition at line 83 of file fft-test.c.
Referenced by main().
static void fft_ref_init | ( | int | nbits, |
int | inverse | ||
) | [static] |
Definition at line 64 of file fft-test.c.
Referenced by main().
Definition at line 183 of file fft-test.c.
Referenced by main().
static int64_t gettime | ( | void | ) | [static] |
Definition at line 188 of file fft-test.c.
Referenced by main().
static void help | ( | void | ) | [static] |
Definition at line 217 of file fft-test.c.
Referenced by main().
Definition at line 112 of file fft-test.c.
Referenced by main().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 238 of file fft-test.c.
Definition at line 130 of file fft-test.c.
Referenced by main().
struct { ... } * exptab |
Referenced by fft_ref(), fft_ref_init(), and main().
float im |
Definition at line 61 of file fft-test.c.
Referenced by ff_fft_calc_3dn2(), ff_imdct_half_c(), ff_mdct_calc_c(), ff_mdct_calcw_c(), fft4(), fft8(), and imc_imdct256().
float re |
Definition at line 61 of file fft-test.c.
Referenced by decode_ac_coeffs(), decode_block(), decode_block_intra(), decode_block_progressive(), decode_block_refinement(), decode_dc_coeffs(), decode_spectrum_and_dequant(), decode_vlc_codeword(), dirac_get_se_golomb(), dv_decode_ac(), ff_fft_calc_3dn2(), ff_imdct_half_c(), ff_mdct_calc_c(), ff_mdct_calcw_c(), ff_msmpeg4_decode_block(), fft4(), fft8(), get_bits(), get_level_prefix(), get_sbits(), get_se_golomb(), get_ue_golomb(), get_ue_golomb_31(), get_ur_golomb(), get_ur_golomb_jpegls(), get_vlc2(), get_xbits(), imc_imdct256(), mdec_decode_block_intra(), mpeg1_decode_block_inter(), mpeg1_decode_block_intra(), mpeg1_fast_decode_block_inter(), mpeg2_decode_block_intra(), mpeg2_decode_block_non_intra(), mpeg2_fast_decode_block_intra(), mpeg2_fast_decode_block_non_intra(), mpeg4_decode_block(), show_bits(), skip_bits(), svq3_get_se_golomb(), and svq3_get_ue_golomb().