FFmpeg
Data Structures | Macros | Functions | Variables
tx_template.c File Reference
#include "mem.h"

Go to the source code of this file.

Data Structures

struct  FFTabInitData
 

Macros

#define TABLE_DEF(name, size)   DECLARE_ALIGNED(32, TXSample, TX_TAB(ff_tx_tab_ ##name))[size]
 
#define SR_POW2_TABLES
 
#define SR_TABLE(len)   TABLE_DEF(len, len/4 + 1);
 
#define SR_TABLE(len)
 
#define SR_TABLE(len)   TX_TAB(ff_tx_init_tab_ ##len),
 
#define SR_TABLE(len)   AV_ONCE_INIT,
 
#define DECL_FFT5(NAME, D0, D1, D2, D3, D4)
 
#define DECL_FACTOR_S(n)
 
#define DECL_FACTOR_F(n)
 
#define BUTTERFLIES(a0, a1, a2, a3)
 
#define TRANSFORM(a0, a1, a2, a3, wre, wim)
 
#define DECL_SR_CODELET_DEF(n)
 
#define DECL_SR_CODELET(n, n2, n4)
 
#define DECL_COMP_IMDCT(N)
 
#define DECL_COMP_MDCT(N)
 
#define DECL_RDFT(n, inv)
 
#define DECL_RDFT_HALF(n, mode, mod2)
 

Functions

SR_POW2_TABLES TABLE_DEF (53, 12)
 
 TABLE_DEF (7, 6)
 
 TABLE_DEF (9, 8)
 
static av_cold void TX_TAB() ff_tx_init_tab_53 (void)
 
static av_cold void TX_TAB() ff_tx_init_tab_7 (void)
 
static av_cold void TX_TAB() ff_tx_init_tab_9 (void)
 
av_cold void TX_TAB() ff_tx_init_tabs (int len)
 
static av_always_inline void fft3 (TXComplex *out, TXComplex *in, ptrdiff_t stride)
 
static av_always_inline void fft7 (TXComplex *out, TXComplex *in, ptrdiff_t stride)
 
static av_always_inline void fft9 (TXComplex *out, TXComplex *in, ptrdiff_t stride)
 
static av_always_inline void fft15 (TXComplex *out, TXComplex *in, ptrdiff_t stride)
 
static av_cold int TX_NAME() ff_tx_fft_factor_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_fft_sr_combine (TXComplex *z, const TXSample *cos, int len)
 
static av_cold int TX_NAME() ff_tx_fft_sr_codelet_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_fft2_ns (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_fft4_ns (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_fft8_ns (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_fft16_ns (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static av_cold int TX_NAME() ff_tx_fft_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static av_cold int TX_NAME() ff_tx_fft_inplace_small_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_fft (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_fft_inplace (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static const FFTXCodelet TX_NAME (ff_tx_fft_def)
 
static const FFTXCodelet TX_NAME (ff_tx_fft_inplace_small_def)
 
static const FFTXCodelet TX_NAME (ff_tx_fft_inplace_def)
 
static av_cold int TX_NAME() ff_tx_fft_init_naive_small (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_fft_naive (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_fft_naive_small (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static const FFTXCodelet TX_NAME (ff_tx_fft_naive_small_def)
 
static const FFTXCodelet TX_NAME (ff_tx_fft_naive_def)
 
static av_cold int TX_NAME() ff_tx_fft_pfa_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_fft_pfa (AVTXContext *s, void *_out, void *_in, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_fft_pfa_ns (AVTXContext *s, void *_out, void *_in, ptrdiff_t stride)
 
static const FFTXCodelet TX_NAME (ff_tx_fft_pfa_def)
 
static const FFTXCodelet TX_NAME (ff_tx_fft_pfa_ns_def)
 
static av_cold int TX_NAME() ff_tx_mdct_naive_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_mdct_naive_fwd (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_mdct_naive_inv (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static const FFTXCodelet TX_NAME (ff_tx_mdct_naive_fwd_def)
 
static const FFTXCodelet TX_NAME (ff_tx_mdct_naive_inv_def)
 
static av_cold int TX_NAME() ff_tx_mdct_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_mdct_fwd (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_mdct_inv (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static const FFTXCodelet TX_NAME (ff_tx_mdct_fwd_def)
 
static const FFTXCodelet TX_NAME (ff_tx_mdct_inv_def)
 
static av_cold int TX_NAME() ff_tx_mdct_inv_full_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_mdct_inv_full (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static const FFTXCodelet TX_NAME (ff_tx_mdct_inv_full_def)
 
static av_cold int TX_NAME() ff_tx_mdct_pfa_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static av_cold int TX_NAME() ff_tx_rdft_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static av_cold int TX_NAME() ff_tx_dct_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_dctII (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_dctIII (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static const FFTXCodelet TX_NAME (ff_tx_dctII_def)
 
static const FFTXCodelet TX_NAME (ff_tx_dctIII_def)
 
static av_cold int TX_NAME() ff_tx_dcstI_init (AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
 
static void TX_NAME() ff_tx_dctI (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static void TX_NAME() ff_tx_dstI (AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
 
static const FFTXCodelet TX_NAME (ff_tx_dctI_def)
 
static const FFTXCodelet TX_NAME (ff_tx_dstI_def)
 
int TX_TAB() ff_tx_mdct_gen_exp (AVTXContext *s, int *pre_tab)
 
const FFTXCodelet *const TX_NAME (ff_tx_codelet_list)[]
 

Variables

static SR_POW2_TABLES void(*const sr_tabs_init_funcs [])(void)
 
static AVOnce sr_tabs_init_once []
 
static const FFTabInitData nptwo_tabs_init_data []
 
static AVOnce nptwo_tabs_init_once []
 

Macro Definition Documentation

◆ TABLE_DEF

#define TABLE_DEF (   name,
  size 
)    DECLARE_ALIGNED(32, TXSample, TX_TAB(ff_tx_tab_ ##name))[size]

Definition at line 29 of file tx_template.c.

◆ SR_POW2_TABLES

#define SR_POW2_TABLES
Value:
SR_TABLE(8) \
SR_TABLE(16) \
SR_TABLE(32) \
SR_TABLE(64) \
SR_TABLE(128) \
SR_TABLE(256) \
SR_TABLE(512) \
SR_TABLE(1024) \
SR_TABLE(2048) \
SR_TABLE(4096) \
SR_TABLE(8192) \
SR_TABLE(16384) \
SR_TABLE(32768) \
SR_TABLE(65536) \
SR_TABLE(131072) \
SR_TABLE(262144) \
SR_TABLE(524288) \
SR_TABLE(1048576) \
SR_TABLE(2097152) \

Definition at line 32 of file tx_template.c.

◆ SR_TABLE [1/4]

#define SR_TABLE (   len)    TABLE_DEF(len, len/4 + 1);

Definition at line 69 of file tx_template.c.

◆ SR_TABLE [2/4]

#define SR_TABLE (   len)
Value:
static av_cold void TX_TAB(ff_tx_init_tab_ ##len)(void) \
{ \
double freq = 2*M_PI/len; \
TXSample *tab = TX_TAB(ff_tx_tab_ ##len); \
for (int i = 0; i < len/4; i++) \
*tab++ = RESCALE(cos(i*freq)); \
\
*tab = 0; \
}

Definition at line 69 of file tx_template.c.

◆ SR_TABLE [3/4]

#define SR_TABLE (   len)    TX_TAB(ff_tx_init_tab_ ##len),

Definition at line 69 of file tx_template.c.

◆ SR_TABLE [4/4]

#define SR_TABLE (   len)    AV_ONCE_INIT,

Definition at line 69 of file tx_template.c.

◆ DECL_FFT5

#define DECL_FFT5 (   NAME,
  D0,
  D1,
  D2,
  D3,
  D4 
)

Definition at line 215 of file tx_template.c.

◆ DECL_FACTOR_S

#define DECL_FACTOR_S (   n)
Value:
static void TX_NAME(ff_tx_fft##n)(AVTXContext *s, void *dst, \
void *src, ptrdiff_t stride) \
{ \
fft##n((TXComplex *)dst, (TXComplex *)src, stride / sizeof(TXComplex)); \
} \
static const FFTXCodelet TX_NAME(ff_tx_fft##n##_ns_def) = { \
.name = TX_NAME_STR("fft" #n "_ns"), \
.function = TX_NAME(ff_tx_fft##n), \
.type = TX_TYPE(FFT), \
AV_TX_UNALIGNED | FF_TX_PRESHUFFLE, \
.factors[0] = n, \
.nb_factors = 1, \
.min_len = n, \
.max_len = n, \
.prio = FF_TX_PRIO_BASE, \
};

Definition at line 500 of file tx_template.c.

◆ DECL_FACTOR_F

#define DECL_FACTOR_F (   n)
Value:
static const FFTXCodelet TX_NAME(ff_tx_fft##n##_fwd_def) = { \
.name = TX_NAME_STR("fft" #n "_fwd"), \
.function = TX_NAME(ff_tx_fft##n), \
.type = TX_TYPE(FFT), \
AV_TX_UNALIGNED | FF_TX_FORWARD_ONLY, \
.factors[0] = n, \
.nb_factors = 1, \
.min_len = n, \
.max_len = n, \
.prio = FF_TX_PRIO_BASE, \
};

Definition at line 521 of file tx_template.c.

◆ BUTTERFLIES

#define BUTTERFLIES (   a0,
  a1,
  a2,
  a3 
)
Value:
do { \
r0=a0.re; \
i0=a0.im; \
r1=a1.re; \
i1=a1.im; \
BF(t3, t5, t5, t1); \
BF(a2.re, a0.re, r0, t5); \
BF(a3.im, a1.im, i1, t3); \
BF(t4, t6, t2, t6); \
BF(a3.re, a1.re, r1, t4); \
BF(a2.im, a0.im, i0, t6); \
} while (0)

Definition at line 544 of file tx_template.c.

◆ TRANSFORM

#define TRANSFORM (   a0,
  a1,
  a2,
  a3,
  wre,
  wim 
)
Value:
do { \
CMUL(t1, t2, a2.re, a2.im, wre, -wim); \
CMUL(t5, t6, a3.re, a3.im, wre, wim); \
BUTTERFLIES(a0, a1, a2, a3); \
} while (0)

Definition at line 558 of file tx_template.c.

◆ DECL_SR_CODELET_DEF

#define DECL_SR_CODELET_DEF (   n)
Value:
static const FFTXCodelet TX_NAME(ff_tx_fft##n##_ns_def) = { \
.name = TX_NAME_STR("fft" #n "_ns"), \
.function = TX_NAME(ff_tx_fft##n##_ns), \
.type = TX_TYPE(FFT), \
AV_TX_UNALIGNED | FF_TX_PRESHUFFLE, \
.factors[0] = 2, \
.nb_factors = 1, \
.min_len = n, \
.max_len = n, \
.prio = FF_TX_PRIO_BASE, \
};

Definition at line 603 of file tx_template.c.

◆ DECL_SR_CODELET

#define DECL_SR_CODELET (   n,
  n2,
  n4 
)
Value:
static void TX_NAME(ff_tx_fft##n##_ns)(AVTXContext *s, void *_dst, \
void *_src, ptrdiff_t stride) \
{ \
TXComplex *src = _src; \
TXComplex *dst = _dst; \
const TXSample *cos = TX_TAB(ff_tx_tab_##n); \
TX_NAME(ff_tx_fft##n2##_ns)(s, dst, src, stride); \
TX_NAME(ff_tx_fft##n4##_ns)(s, dst + n4*2, src + n4*2, stride); \
TX_NAME(ff_tx_fft##n4##_ns)(s, dst + n4*3, src + n4*3, stride); \
TX_NAME(ff_tx_fft_sr_combine)(dst, cos, n4 >> 1); \
} \

Definition at line 619 of file tx_template.c.

◆ DECL_COMP_IMDCT

#define DECL_COMP_IMDCT (   N)

Definition at line 1479 of file tx_template.c.

◆ DECL_COMP_MDCT

#define DECL_COMP_MDCT (   N)

Definition at line 1541 of file tx_template.c.

◆ DECL_RDFT

#define DECL_RDFT (   n,
  inv 
)

Definition at line 1663 of file tx_template.c.

◆ DECL_RDFT_HALF

#define DECL_RDFT_HALF (   n,
  mode,
  mod2 
)

Definition at line 1732 of file tx_template.c.

Function Documentation

◆ TABLE_DEF() [1/3]

SR_POW2_TABLES TABLE_DEF ( 53  ,
12   
)

◆ TABLE_DEF() [2/3]

TABLE_DEF ( ,
 
)

◆ TABLE_DEF() [3/3]

TABLE_DEF ( ,
 
)

◆ ff_tx_init_tab_53()

static av_cold void TX_TAB() ff_tx_init_tab_53 ( void  )
static

Definition at line 95 of file tx_template.c.

◆ ff_tx_init_tab_7()

static av_cold void TX_TAB() ff_tx_init_tab_7 ( void  )
static

Definition at line 114 of file tx_template.c.

◆ ff_tx_init_tab_9()

static av_cold void TX_TAB() ff_tx_init_tab_9 ( void  )
static

Definition at line 124 of file tx_template.c.

◆ ff_tx_init_tabs()

av_cold void TX_TAB() ff_tx_init_tabs ( int  len)

◆ fft3()

static av_always_inline void fft3 ( TXComplex out,
TXComplex in,
ptrdiff_t  stride 
)
static

Definition at line 177 of file tx_template.c.

Referenced by fft15().

◆ fft7()

static av_always_inline void fft7 ( TXComplex out,
TXComplex in,
ptrdiff_t  stride 
)
static

Definition at line 256 of file tx_template.c.

◆ fft9()

static av_always_inline void fft9 ( TXComplex out,
TXComplex in,
ptrdiff_t  stride 
)
static

Definition at line 344 of file tx_template.c.

◆ fft15()

static av_always_inline void fft15 ( TXComplex out,
TXComplex in,
ptrdiff_t  stride 
)
static

Definition at line 469 of file tx_template.c.

◆ ff_tx_fft_factor_init()

static av_cold int TX_NAME() ff_tx_fft_factor_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 482 of file tx_template.c.

◆ ff_tx_fft_sr_combine()

static void TX_NAME() ff_tx_fft_sr_combine ( TXComplex z,
const TXSample *  cos,
int  len 
)
inlinestatic

Definition at line 566 of file tx_template.c.

◆ ff_tx_fft_sr_codelet_init()

static av_cold int TX_NAME() ff_tx_fft_sr_codelet_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 592 of file tx_template.c.

◆ ff_tx_fft2_ns()

static void TX_NAME() ff_tx_fft2_ns ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 635 of file tx_template.c.

◆ ff_tx_fft4_ns()

static void TX_NAME() ff_tx_fft4_ns ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 647 of file tx_template.c.

Referenced by ff_tx_fft16_ns(), and ff_tx_fft8_ns().

◆ ff_tx_fft8_ns()

static void TX_NAME() ff_tx_fft8_ns ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 664 of file tx_template.c.

Referenced by ff_tx_fft16_ns().

◆ ff_tx_fft16_ns()

static void TX_NAME() ff_tx_fft16_ns ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 683 of file tx_template.c.

◆ ff_tx_fft_init()

static av_cold int TX_NAME() ff_tx_fft_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 732 of file tx_template.c.

Referenced by ff_tx_fft_inplace_small_init().

◆ ff_tx_fft_inplace_small_init()

static av_cold int TX_NAME() ff_tx_fft_inplace_small_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 758 of file tx_template.c.

◆ ff_tx_fft()

static void TX_NAME() ff_tx_fft ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 771 of file tx_template.c.

◆ ff_tx_fft_inplace()

static void TX_NAME() ff_tx_fft_inplace ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 788 of file tx_template.c.

◆ TX_NAME() [1/17]

static const FFTXCodelet TX_NAME ( ff_tx_fft_def  )
static

◆ TX_NAME() [2/17]

static const FFTXCodelet TX_NAME ( ff_tx_fft_inplace_small_def  )
static

◆ TX_NAME() [3/17]

static const FFTXCodelet TX_NAME ( ff_tx_fft_inplace_def  )
static

◆ ff_tx_fft_init_naive_small()

static av_cold int TX_NAME() ff_tx_fft_init_naive_small ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 854 of file tx_template.c.

◆ ff_tx_fft_naive()

static void TX_NAME() ff_tx_fft_naive ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 879 of file tx_template.c.

◆ ff_tx_fft_naive_small()

static void TX_NAME() ff_tx_fft_naive_small ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 906 of file tx_template.c.

◆ TX_NAME() [4/17]

static const FFTXCodelet TX_NAME ( ff_tx_fft_naive_small_def  )
static

◆ TX_NAME() [5/17]

static const FFTXCodelet TX_NAME ( ff_tx_fft_naive_def  )
static

◆ ff_tx_fft_pfa_init()

static av_cold int TX_NAME() ff_tx_fft_pfa_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 956 of file tx_template.c.

◆ ff_tx_fft_pfa()

static void TX_NAME() ff_tx_fft_pfa ( AVTXContext s,
void *  _out,
void *  _in,
ptrdiff_t  stride 
)
static

Definition at line 1066 of file tx_template.c.

◆ ff_tx_fft_pfa_ns()

static void TX_NAME() ff_tx_fft_pfa_ns ( AVTXContext s,
void *  _out,
void *  _in,
ptrdiff_t  stride 
)
static

Definition at line 1090 of file tx_template.c.

◆ TX_NAME() [6/17]

static const FFTXCodelet TX_NAME ( ff_tx_fft_pfa_def  )
static

◆ TX_NAME() [7/17]

static const FFTXCodelet TX_NAME ( ff_tx_fft_pfa_ns_def  )
static

◆ ff_tx_mdct_naive_init()

static av_cold int TX_NAME() ff_tx_mdct_naive_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 1140 of file tx_template.c.

◆ ff_tx_mdct_naive_fwd()

static void TX_NAME() ff_tx_mdct_naive_fwd ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 1152 of file tx_template.c.

◆ ff_tx_mdct_naive_inv()

static void TX_NAME() ff_tx_mdct_naive_inv ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 1173 of file tx_template.c.

◆ TX_NAME() [8/17]

static const FFTXCodelet TX_NAME ( ff_tx_mdct_naive_fwd_def  )
static

◆ TX_NAME() [9/17]

static const FFTXCodelet TX_NAME ( ff_tx_mdct_naive_inv_def  )
static

◆ ff_tx_mdct_init()

static av_cold int TX_NAME() ff_tx_mdct_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 1231 of file tx_template.c.

◆ ff_tx_mdct_fwd()

static void TX_NAME() ff_tx_mdct_fwd ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 1281 of file tx_template.c.

◆ ff_tx_mdct_inv()

static void TX_NAME() ff_tx_mdct_inv ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 1320 of file tx_template.c.

◆ TX_NAME() [10/17]

static const FFTXCodelet TX_NAME ( ff_tx_mdct_fwd_def  )
static

◆ TX_NAME() [11/17]

static const FFTXCodelet TX_NAME ( ff_tx_mdct_inv_def  )
static

◆ ff_tx_mdct_inv_full_init()

static av_cold int TX_NAME() ff_tx_mdct_inv_full_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 1380 of file tx_template.c.

◆ ff_tx_mdct_inv_full()

static void TX_NAME() ff_tx_mdct_inv_full ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 1400 of file tx_template.c.

◆ TX_NAME() [12/17]

static const FFTXCodelet TX_NAME ( ff_tx_mdct_inv_full_def  )
static

◆ ff_tx_mdct_pfa_init()

static av_cold int TX_NAME() ff_tx_mdct_pfa_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 1433 of file tx_template.c.

◆ ff_tx_rdft_init()

static av_cold int TX_NAME() ff_tx_rdft_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 1609 of file tx_template.c.

◆ ff_tx_dct_init()

static av_cold int TX_NAME() ff_tx_dct_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 1838 of file tx_template.c.

◆ ff_tx_dctII()

static void TX_NAME() ff_tx_dctII ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 1881 of file tx_template.c.

◆ ff_tx_dctIII()

static void TX_NAME() ff_tx_dctIII ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 1941 of file tx_template.c.

◆ TX_NAME() [13/17]

static const FFTXCodelet TX_NAME ( ff_tx_dctII_def  )
static

◆ TX_NAME() [14/17]

static const FFTXCodelet TX_NAME ( ff_tx_dctIII_def  )
static

◆ ff_tx_dcstI_init()

static av_cold int TX_NAME() ff_tx_dcstI_init ( AVTXContext s,
const FFTXCodelet cd,
uint64_t  flags,
FFTXCodeletOptions opts,
int  len,
int  inv,
const void *  scale 
)
static

Definition at line 2012 of file tx_template.c.

◆ ff_tx_dctI()

static void TX_NAME() ff_tx_dctI ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 2044 of file tx_template.c.

◆ ff_tx_dstI()

static void TX_NAME() ff_tx_dstI ( AVTXContext s,
void *  _dst,
void *  _src,
ptrdiff_t  stride 
)
static

Definition at line 2062 of file tx_template.c.

◆ TX_NAME() [15/17]

static const FFTXCodelet TX_NAME ( ff_tx_dctI_def  )
static

◆ TX_NAME() [16/17]

static const FFTXCodelet TX_NAME ( ff_tx_dstI_def  )
static

◆ ff_tx_mdct_gen_exp()

int TX_TAB() ff_tx_mdct_gen_exp ( AVTXContext s,
int *  pre_tab 
)

Definition at line 2113 of file tx_template.c.

Referenced by ff_tx_mdct_init(), and ff_tx_mdct_pfa_init().

◆ TX_NAME() [17/17]

const FFTXCodelet* const TX_NAME ( ff_tx_codelet_list  )

Variable Documentation

◆ sr_tabs_init_funcs

SR_POW2_TABLES void(*const sr_tabs_init_funcs[])(void)
static
Initial value:
= {
#define SR_TABLE(len)
}

Definition at line 83 of file tx_template.c.

Referenced by ff_tx_init_tabs().

◆ sr_tabs_init_once

AVOnce sr_tabs_init_once[]
static
Initial value:
= {
#define SR_TABLE(len)
}

Definition at line 89 of file tx_template.c.

Referenced by ff_tx_init_tabs().

◆ nptwo_tabs_init_data

const FFTabInitData nptwo_tabs_init_data[]
static
Initial value:
= {
{ TX_TAB(ff_tx_init_tab_53), { 15, 5, 3 } },
{ TX_TAB(ff_tx_init_tab_9), { 9 } },
{ TX_TAB(ff_tx_init_tab_7), { 7 } },
}

Definition at line 136 of file tx_template.c.

Referenced by ff_tx_init_tabs().

◆ nptwo_tabs_init_once

AVOnce nptwo_tabs_init_once[]
static
Initial value:

Definition at line 142 of file tx_template.c.

Referenced by ff_tx_init_tabs().

_dst
uint8_t * _dst
Definition: dsp.h:52
ff_tx_fft_sr_combine
static void TX_NAME() ff_tx_fft_sr_combine(TXComplex *z, const TXSample *cos, int len)
Definition: tx_template.c:566
TX_TYPE
#define TX_TYPE
Definition: afir_template.c:48
AVTXContext
Definition: tx_priv.h:235
ff_tx_fft
static void TX_NAME() ff_tx_fft(AVTXContext *s, void *_dst, void *_src, ptrdiff_t stride)
Definition: tx_template.c:771
SR_POW2_TABLES
#define SR_POW2_TABLES
Definition: tx_template.c:32
FF_TX_CPU_FLAGS_ALL
#define FF_TX_CPU_FLAGS_ALL
Definition: tx_priv.h:230
_src
uint8_t ptrdiff_t const uint8_t * _src
Definition: dsp.h:52
SR_TABLE
#define SR_TABLE(len)
Definition: tx_template.c:69
DECL_SR_CODELET_DEF
#define DECL_SR_CODELET_DEF(n)
Definition: tx_template.c:603
tab
static const struct twinvq_data tab
Definition: twinvq_data.h:10345
TX_NAME
static const FFTXCodelet TX_NAME(ff_tx_fft_def)
a2
static double a2(void *priv, double x, double y)
Definition: vf_xfade.c:2030
FFTXCodelet::type
enum AVTXType type
Definition: tx_priv.h:202
av_cold
#define av_cold
Definition: attributes.h:90
s
#define s(width, name)
Definition: cbs_vp9.c:198
ff_tx_fft_factor_init
static av_cold int TX_NAME() ff_tx_fft_factor_init(AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
Definition: tx_template.c:482
FF_TX_FORWARD_ONLY
#define FF_TX_FORWARD_ONLY
Definition: tx_priv.h:158
FFTXCodelet::cpu_flags
int cpu_flags
Definition: tx_priv.h:227
DECL_FACTOR_S
#define DECL_FACTOR_S(n)
Definition: tx_template.c:500
AV_ONCE_INIT
#define AV_ONCE_INIT
Definition: thread.h:203
a3
static double a3(void *priv, double x, double y)
Definition: vf_xfade.c:2031
AV_TX_INPLACE
@ AV_TX_INPLACE
Allows for in-place transformations, where input == output.
Definition: tx.h:161
FF_TX_OUT_OF_PLACE
#define FF_TX_OUT_OF_PLACE
Definition: tx_priv.h:154
FF_TX_PRESHUFFLE
#define FF_TX_PRESHUFFLE
Definition: tx_priv.h:156
ff_tx_fft_sr_codelet_init
static av_cold int TX_NAME() ff_tx_fft_sr_codelet_init(AVTXContext *s, const FFTXCodelet *cd, uint64_t flags, FFTXCodeletOptions *opts, int len, int inv, const void *scale)
Definition: tx_template.c:592
ff_tx_init_tab_53
static av_cold void TX_TAB() ff_tx_init_tab_53(void)
Definition: tx_template.c:95
FF_TX_PRIO_BASE
@ FF_TX_PRIO_BASE
Definition: tx_priv.h:162
dst
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition: dsp.h:83
for
for(k=2;k<=8;++k)
Definition: h264pred_template.c:425
a0
static double a0(void *priv, double x, double y)
Definition: vf_xfade.c:2028
M_PI
#define M_PI
Definition: mathematics.h:67
TXComplex
void TXComplex
Definition: tx_priv.h:65
i
#define i(width, name, range_min, range_max)
Definition: cbs_h2645.c:256
len
int len
Definition: vorbis_enc_data.h:426
stride
#define stride
Definition: h264pred_template.c:537
ff_tx_init_tab_7
static av_cold void TX_TAB() ff_tx_init_tab_7(void)
Definition: tx_template.c:114
ff_tx_init_tab_9
static av_cold void TX_TAB() ff_tx_init_tab_9(void)
Definition: tx_template.c:124
FFTXCodelet
Definition: tx_priv.h:199
FFTXCodelet::name
const char * name
Definition: tx_priv.h:200
a1
static double a1(void *priv, double x, double y)
Definition: vf_xfade.c:2029
src
#define src
Definition: vp8dsp.c:248