FFmpeg
|
#include "avassert.h"
#include "intmath.h"
#include "cpu.h"
#include "mem.h"
#include "qsort.h"
#include "bprint.h"
#include "tx_priv.h"
Go to the source code of this file.
Data Structures | |
struct | FFTXLenDecomp |
struct | TXCodeletMatch |
Macros | |
#define | TYPE_IS(type, x) |
Functions | |
static av_always_inline int | mulinv (int n, int m) |
int | ff_tx_gen_pfa_input_map (AVTXContext *s, FFTXCodeletOptions *opts, int d1, int d2) |
int | ff_tx_gen_compound_mapping (AVTXContext *s, FFTXCodeletOptions *opts, int inv, int n, int m) |
static int | split_radix_permutation (int i, int len, int inv) |
int | ff_tx_gen_ptwo_revtab (AVTXContext *s, FFTXCodeletOptions *opts) |
int | ff_tx_gen_inplace_map (AVTXContext *s, int len) |
static void | parity_revtab_generator (int *revtab, int n, int inv, int offset, int is_dual, int dual_high, int len, int basis, int dual_stride, int inv_lookup) |
int | ff_tx_gen_split_radix_parity_revtab (AVTXContext *s, int len, int inv, FFTXCodeletOptions *opts, int basis, int dual_stride) |
static void | reset_ctx (AVTXContext *s, int free_sub) |
void | ff_tx_clear_ctx (AVTXContext *s) |
av_cold void | av_tx_uninit (AVTXContext **ctx) |
Frees a context and sets *ctx to NULL, does nothing when *ctx == NULL. More... | |
static av_cold int | ff_tx_null_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale) |
static void | ff_tx_null (AVTXContext *s, void *_out, void *_in, ptrdiff_t stride) |
static int | get_codelet_prio (const FFTXCodelet *cd, int cpu_flags, int len) |
static int | cmp_decomp (FFTXLenDecomp *a, FFTXLenDecomp *b) |
int | ff_tx_decompose_length (int dst[TX_MAX_DECOMPOSITIONS], enum AVTXType type, int len, int inv) |
int | ff_tx_gen_default_map (AVTXContext *s, FFTXCodeletOptions *opts) |
static void | print_flags (AVBPrint *bp, uint64_t f) |
static void | print_type (AVBPrint *bp, enum AVTXType type) |
static void | print_cd_info (const FFTXCodelet *cd, int prio, int len, int print_prio, int log_level) |
static void | print_tx_structure (AVTXContext *s, int depth) |
static int | cmp_matches (TXCodeletMatch *a, TXCodeletMatch *b) |
static int | check_cd_factors (const FFTXCodelet *cd, int len) |
av_cold int | ff_tx_init_subtx (AVTXContext *s, enum AVTXType type, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale) |
av_cold int | av_tx_init (AVTXContext **ctx, av_tx_fn *tx, enum AVTXType type, int inv, int len, const void *scale, uint64_t flags) |
Initialize a transform context with the given configuration (i)MDCTs with an odd length are currently not supported. More... | |
Variables | |
static const FFTXCodelet | ff_tx_null_def |
static const FFTXCodelet *const | ff_tx_null_list [] |
static const FFTXCodelet *const *const | codelet_list [] |
static const int | codelet_list_num = FF_ARRAY_ELEMS(codelet_list) |
static const int | cpu_slow_mask |
static const int | cpu_slow_penalties [][2] |
#define TYPE_IS | ( | type, | |
x | |||
) |
|
static |
Definition at line 34 of file tx.c.
Referenced by ff_tx_gen_compound_mapping().
int ff_tx_gen_pfa_input_map | ( | AVTXContext * | s, |
FFTXCodeletOptions * | opts, | ||
int | d1, | ||
int | d2 | ||
) |
Definition at line 44 of file tx.c.
Referenced by factor_init(), and ff_tx_fft_factor_init().
int ff_tx_gen_compound_mapping | ( | AVTXContext * | s, |
FFTXCodeletOptions * | opts, | ||
int | inv, | ||
int | n, | ||
int | m | ||
) |
Definition at line 75 of file tx.c.
Referenced by ff_tx_fft_pfa_init(), ff_tx_mdct_pfa_init(), and fft_pfa_init().
|
inlinestatic |
Definition at line 125 of file tx.c.
Referenced by ff_tx_gen_ptwo_revtab(), and parity_revtab_generator().
int ff_tx_gen_ptwo_revtab | ( | AVTXContext * | s, |
FFTXCodeletOptions * | opts | ||
) |
Definition at line 136 of file tx.c.
Referenced by ff_tx_fft_sr_codelet_init(), and neon_init().
int ff_tx_gen_inplace_map | ( | AVTXContext * | s, |
int | len | ||
) |
Definition at line 156 of file tx.c.
Referenced by ff_tx_fft_init().
|
static |
Definition at line 198 of file tx.c.
Referenced by ff_tx_gen_split_radix_parity_revtab().
int ff_tx_gen_split_radix_parity_revtab | ( | AVTXContext * | s, |
int | len, | ||
int | inv, | ||
FFTXCodeletOptions * | opts, | ||
int | basis, | ||
int | dual_stride | ||
) |
Definition at line 241 of file tx.c.
Referenced by neon_init().
|
static |
Definition at line 264 of file tx.c.
Referenced by av_tx_uninit(), ff_tx_clear_ctx(), and ff_tx_init_subtx().
void ff_tx_clear_ctx | ( | AVTXContext * | s | ) |
Definition at line 290 of file tx.c.
Referenced by ff_tx_fft_pfa_init().
av_cold void av_tx_uninit | ( | AVTXContext ** | ctx | ) |
Frees a context and sets *ctx to NULL, does nothing when *ctx == NULL.
Definition at line 295 of file tx.c.
Referenced by aac_encode_end(), ac3_decode_end(), atrac1_decode_end(), atrac3_decode_close(), atrac3p_decode_close(), atrac9_decode_close(), av_dct_end(), av_dct_init(), av_fft_end(), av_mdct_end(), av_mdct_init(), av_rdft_end(), av_rdft_init(), checkasm_check_synth_filter(), common_uninit(), config_input(), config_output(), cook_decode_close(), decode_close(), decode_end(), dolby_e_close(), encode_close(), encode_end(), ff_aac_sbr_ctx_close(), ff_ac3_encode_close(), ff_celt_free(), ff_dca_core_close(), ff_dca_lbr_close(), ff_opus_psy_end(), ff_opus_psy_init(), ff_twinvq_decode_close(), ff_wma_end(), fir_to_phase(), free_tx_refs(), imc_decode_close(), init_sample_rate(), load_data(), on2avc_decode_close(), opus_encode_end(), qdm2_decode_close(), qdmc_decode_close(), siren_close(), stream_component_close(), uninit(), uninit_segment(), video_audio_display(), vorbis_encode_close(), vorbis_free(), wmavoice_decode_end(), and yae_release_buffers().
|
static |
|
static |
|
static |
Definition at line 367 of file tx.c.
Referenced by ff_tx_decompose_length(), and ff_tx_init_subtx().
|
static |
Definition at line 407 of file tx.c.
Referenced by ff_tx_decompose_length().
int ff_tx_decompose_length | ( | int | dst[TX_MAX_DECOMPOSITIONS], |
enum AVTXType | type, | ||
int | len, | ||
int | inv | ||
) |
Definition at line 412 of file tx.c.
Referenced by ff_tx_fft_pfa_init().
int ff_tx_gen_default_map | ( | AVTXContext * | s, |
FFTXCodeletOptions * | opts | ||
) |
Definition at line 525 of file tx.c.
Referenced by factor_init(), and ff_tx_fft_factor_init().
|
static |
Definition at line 545 of file tx.c.
Referenced by ff_tx_init_subtx(), and print_cd_info().
|
static |
Definition at line 575 of file tx.c.
Referenced by ff_tx_init_subtx(), and print_cd_info().
|
static |
Definition at line 597 of file tx.c.
Referenced by ff_tx_init_subtx(), and print_tx_structure().
|
static |
Definition at line 651 of file tx.c.
Referenced by av_tx_init().
|
static |
Definition at line 670 of file tx.c.
Referenced by ff_tx_init_subtx().
|
inlinestatic |
Definition at line 676 of file tx.c.
Referenced by ff_tx_init_subtx().
av_cold int ff_tx_init_subtx | ( | AVTXContext * | s, |
enum AVTXType | type, | ||
uint64_t | flags, | ||
FFTXCodeletOptions * | opts, | ||
int | len, | ||
int | inv, | ||
const void * | scale | ||
) |
Definition at line 712 of file tx.c.
Referenced by av_tx_init(), ff_tx_dct_init(), ff_tx_fft_init(), ff_tx_fft_pfa_init(), ff_tx_mdct_init(), ff_tx_mdct_inv_full_init(), ff_tx_mdct_pfa_init(), ff_tx_rdft_init(), fft_pfa_init(), and m_inv_init().
av_cold int av_tx_init | ( | AVTXContext ** | ctx, |
av_tx_fn * | tx, | ||
enum AVTXType | type, | ||
int | inv, | ||
int | len, | ||
const void * | scale, | ||
uint64_t | flags | ||
) |
Initialize a transform context with the given configuration (i)MDCTs with an odd length are currently not supported.
ctx | the context to allocate, will be NULL on error |
tx | pointer to the transform function pointer to set |
type | type the type of transform |
inv | whether to do an inverse or a forward transform |
len | the size of the transform in samples |
scale | pointer to the value to scale the output if supported by type |
flags | a bitmask of AVTXFlags or 0 |
Definition at line 903 of file tx.c.
Referenced by ac3_decode_init(), ac3_fixed_mdct_init(), ac3_float_mdct_init(), atrac1_decode_init(), atrac3_decode_init(), atrac3p_decode_init(), atrac9_decode_init(), av_dct_init(), av_fft_init(), av_mdct_init(), av_rdft_init(), checkasm_check_synth_filter(), config_eq_output(), config_input(), config_output(), config_props(), convert_coeffs(), de_tx_init(), decode_init(), dolby_e_init(), dsp_init(), encode_init(), equ_init(), ff_aac_sbr_ctx_alloc_init(), ff_celt_init(), ff_dca_core_init(), ff_opus_psy_init(), fir_to_phase(), imc_decode_init(), init_cook_mlt(), init_dsp(), init_mdct_win(), init_sample_rate(), init_segment(), load_data(), on2avc_decode_init(), opus_encode_init(), qdm2_decode_init(), qdmc_decode_init(), siren_init(), video_audio_display(), vorbis_parse_id_hdr(), wma_decode_init(), wmavoice_decode_init(), and yae_reset().
|
static |
|
static |
|
static |
Definition at line 340 of file tx.c.
Referenced by ff_tx_decompose_length(), and ff_tx_init_subtx().
|
static |
Definition at line 352 of file tx.c.
Referenced by ff_tx_decompose_length(), and ff_tx_init_subtx().
|
static |
Definition at line 354 of file tx.c.
Referenced by ff_tx_decompose_length(), and ff_tx_init_subtx().
|
static |
Definition at line 358 of file tx.c.
Referenced by get_codelet_prio().