FFmpeg
|
FFT and MDCT tests. More...
#include "config.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libavutil/cpu.h"
#include "libavutil/lfg.h"
#include "libavutil/log.h"
#include "libavutil/mathematics.h"
#include "libavutil/time.h"
#include "libavcodec/avfft.h"
#include "libavcodec/dct.h"
#include "libavcodec/rdft.h"
#include "compat/getopt.c"
#include "libavcodec/fft.h"
Go to the source code of this file.
Macros | |
#define | AVFFT 0 |
#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 int | fft_ref_init (int nbits, int inverse) |
static void | fft_ref (FFTComplex *tabr, FFTComplex *tab, int nbits) |
static FFTSample | frandom (AVLFG *prng) |
static int | check_diff (FFTSample *tab1, FFTSample *tab2, int n, double scale) |
static void | fft_init (FFTContext **s, int nbits, int inverse) |
static void | mdct_init (FFTContext **s, int nbits, int inverse, double scale) |
static void | mdct_calc (FFTContext *s, FFTSample *output, const FFTSample *input) |
static void | imdct_calc (struct FFTContext *s, FFTSample *output, const FFTSample *input) |
static void | fft_permute (FFTContext *s, FFTComplex *z) |
static void | fft_calc (FFTContext *s, FFTComplex *z) |
static void | mdct_end (FFTContext *s) |
static void | fft_end (FFTContext *s) |
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.c.
#define CMAC | ( | pre, | |
pim, | |||
are, | |||
aim, | |||
bre, | |||
bim | |||
) |
#define RANGE 16384 |
Definition at line 76 of file fft.c.
Referenced by check_diff(), and frandom().
#define REF_SCALE | ( | x, | |
bits | |||
) | ((x) / (1 << (bits))) |
#define FMT "%6d" |
Definition at line 78 of file fft.c.
Referenced by check_diff().
enum tf_transform |
|
static |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
float re |
Definition at line 82 of file fft.c.
Referenced by add_noise(), add_wave(), add_wave0(), cfhd_decode(), complex_divide(), complex_multiply(), decode_422_bitstream(), decode_ac_coeffs(), decode_alpha_block(), decode_bgr_1(), decode_block(), decode_block_intra(), decode_block_progressive(), decode_block_refinement(), decode_dc_coeffs(), decode_dct_block(), decode_gray_bitstream(), decode_plane_bitstream(), decode_spectrum_and_dequant(), decode_vlc_codeword(), dv_decode_ac(), fast_convolute_nonlinear(), ff_imdct_half_c(), ff_mdct_calc_c(), ff_mdct_calcw_c(), ff_mpeg1_decode_block_intra(), ff_msmpeg4_decode_block(), fft15_c(), fft4(), fft8(), filter_frame(), get_bits(), get_bits_le(), get_input(), get_interleaved_se_golomb(), get_interleaved_ue_golomb(), get_level_prefix(), get_output(), get_sbits(), get_se_golomb(), get_ue_golomb(), get_ue_golomb_31(), get_ur_golomb(), get_ur_golomb_jpegls(), get_vlc2(), get_xbits(), get_xbits_le(), h261_decode_block(), h263_decode_block(), headphone_fast_convolute(), imc_imdct256(), mdct15(), mdec_decode_block_intra(), mpeg1_decode_block_inter(), 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(), postrotate_c(), rgb_from_cqt(), show_bits(), skip_bits(), sofalizer_fast_convolute(), webp_get_vlc(), and yuv_from_cqt().
float im |
Definition at line 82 of file fft.c.
Referenced by add_noise(), add_wave(), add_wave0(), complex_divide(), complex_multiply(), fast_convolute_nonlinear(), ff_imdct_half_c(), ff_mdct_calc_c(), ff_mdct_calcw_c(), fft15_c(), fft4(), fft8(), filter_frame(), get_input(), headphone_fast_convolute(), huf_build_dec_table(), huf_uncompress(), huf_unpack_enc_table(), imc_imdct256(), mdct15(), postrotate_c(), rgb_from_cqt(), sofalizer_fast_convolute(), and yuv_from_cqt().
struct { ... } * exptab |
Referenced by fft_ref(), fft_ref_init(), and main().