FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
dct32.c File Reference
#include "dct32.h"
#include "mathops.h"

Go to the source code of this file.

Macros

#define dct32   ff_dct32_fixed
 
#define FIXHR(a)   ((int)((a) * (1LL<<32) + 0.5))
 
#define MULH3(x, y, s)   MULH((s)*(x), y)
 
#define INTFLOAT   int
 
#define COS0_0   FIXHR(0.50060299823519630134/2)
 
#define COS0_1   FIXHR(0.50547095989754365998/2)
 
#define COS0_2   FIXHR(0.51544730992262454697/2)
 
#define COS0_3   FIXHR(0.53104259108978417447/2)
 
#define COS0_4   FIXHR(0.55310389603444452782/2)
 
#define COS0_5   FIXHR(0.58293496820613387367/2)
 
#define COS0_6   FIXHR(0.62250412303566481615/2)
 
#define COS0_7   FIXHR(0.67480834145500574602/2)
 
#define COS0_8   FIXHR(0.74453627100229844977/2)
 
#define COS0_9   FIXHR(0.83934964541552703873/2)
 
#define COS0_10   FIXHR(0.97256823786196069369/2)
 
#define COS0_11   FIXHR(1.16943993343288495515/4)
 
#define COS0_12   FIXHR(1.48416461631416627724/4)
 
#define COS0_13   FIXHR(2.05778100995341155085/8)
 
#define COS0_14   FIXHR(3.40760841846871878570/8)
 
#define COS0_15   FIXHR(10.19000812354805681150/32)
 
#define COS1_0   FIXHR(0.50241928618815570551/2)
 
#define COS1_1   FIXHR(0.52249861493968888062/2)
 
#define COS1_2   FIXHR(0.56694403481635770368/2)
 
#define COS1_3   FIXHR(0.64682178335999012954/2)
 
#define COS1_4   FIXHR(0.78815462345125022473/2)
 
#define COS1_5   FIXHR(1.06067768599034747134/4)
 
#define COS1_6   FIXHR(1.72244709823833392782/4)
 
#define COS1_7   FIXHR(5.10114861868916385802/16)
 
#define COS2_0   FIXHR(0.50979557910415916894/2)
 
#define COS2_1   FIXHR(0.60134488693504528054/2)
 
#define COS2_2   FIXHR(0.89997622313641570463/2)
 
#define COS2_3   FIXHR(2.56291544774150617881/8)
 
#define COS3_0   FIXHR(0.54119610014619698439/2)
 
#define COS3_1   FIXHR(1.30656296487637652785/4)
 
#define COS4_0   FIXHR(0.70710678118654752439/2)
 
#define BF(a, b, c, s)
 
#define BF0(a, b, c, s)
 
#define BF1(a, b, c, d)
 
#define BF2(a, b, c, d)
 
#define ADD(a, b)   val##a += val##b
 

Functions

void dct32 (INTFLOAT *out, const INTFLOAT *tab)
 

Macro Definition Documentation

#define dct32   ff_dct32_fixed

Definition at line 31 of file dct32.c.

#define FIXHR (   a)    ((int)((a) * (1LL<<32) + 0.5))

Definition at line 32 of file dct32.c.

#define MULH3 (   x,
  y,
  s 
)    MULH((s)*(x), y)

Definition at line 33 of file dct32.c.

#define INTFLOAT   int
#define COS0_0   FIXHR(0.50060299823519630134/2)

Definition at line 42 of file dct32.c.

Referenced by dct32().

#define COS0_1   FIXHR(0.50547095989754365998/2)

Definition at line 43 of file dct32.c.

Referenced by dct32().

#define COS0_2   FIXHR(0.51544730992262454697/2)

Definition at line 44 of file dct32.c.

Referenced by dct32().

#define COS0_3   FIXHR(0.53104259108978417447/2)

Definition at line 45 of file dct32.c.

Referenced by dct32().

#define COS0_4   FIXHR(0.55310389603444452782/2)

Definition at line 46 of file dct32.c.

Referenced by dct32().

#define COS0_5   FIXHR(0.58293496820613387367/2)

Definition at line 47 of file dct32.c.

Referenced by dct32().

#define COS0_6   FIXHR(0.62250412303566481615/2)

Definition at line 48 of file dct32.c.

Referenced by dct32().

#define COS0_7   FIXHR(0.67480834145500574602/2)

Definition at line 49 of file dct32.c.

Referenced by dct32().

#define COS0_8   FIXHR(0.74453627100229844977/2)

Definition at line 50 of file dct32.c.

Referenced by dct32().

#define COS0_9   FIXHR(0.83934964541552703873/2)

Definition at line 51 of file dct32.c.

Referenced by dct32().

#define COS0_10   FIXHR(0.97256823786196069369/2)

Definition at line 52 of file dct32.c.

Referenced by dct32().

#define COS0_11   FIXHR(1.16943993343288495515/4)

Definition at line 53 of file dct32.c.

Referenced by dct32().

#define COS0_12   FIXHR(1.48416461631416627724/4)

Definition at line 54 of file dct32.c.

Referenced by dct32().

#define COS0_13   FIXHR(2.05778100995341155085/8)

Definition at line 55 of file dct32.c.

Referenced by dct32().

#define COS0_14   FIXHR(3.40760841846871878570/8)

Definition at line 56 of file dct32.c.

Referenced by dct32().

#define COS0_15   FIXHR(10.19000812354805681150/32)

Definition at line 57 of file dct32.c.

Referenced by dct32().

#define COS1_0   FIXHR(0.50241928618815570551/2)

Definition at line 59 of file dct32.c.

Referenced by dct32().

#define COS1_1   FIXHR(0.52249861493968888062/2)

Definition at line 60 of file dct32.c.

Referenced by dct32().

#define COS1_2   FIXHR(0.56694403481635770368/2)

Definition at line 61 of file dct32.c.

Referenced by dct32().

#define COS1_3   FIXHR(0.64682178335999012954/2)

Definition at line 62 of file dct32.c.

Referenced by dct32().

#define COS1_4   FIXHR(0.78815462345125022473/2)

Definition at line 63 of file dct32.c.

Referenced by dct32().

#define COS1_5   FIXHR(1.06067768599034747134/4)

Definition at line 64 of file dct32.c.

Referenced by dct32().

#define COS1_6   FIXHR(1.72244709823833392782/4)

Definition at line 65 of file dct32.c.

Referenced by dct32().

#define COS1_7   FIXHR(5.10114861868916385802/16)

Definition at line 66 of file dct32.c.

Referenced by dct32().

#define COS2_0   FIXHR(0.50979557910415916894/2)

Definition at line 68 of file dct32.c.

Referenced by dct32().

#define COS2_1   FIXHR(0.60134488693504528054/2)

Definition at line 69 of file dct32.c.

Referenced by dct32().

#define COS2_2   FIXHR(0.89997622313641570463/2)

Definition at line 70 of file dct32.c.

Referenced by dct32().

#define COS2_3   FIXHR(2.56291544774150617881/8)

Definition at line 71 of file dct32.c.

Referenced by dct32().

#define COS3_0   FIXHR(0.54119610014619698439/2)

Definition at line 73 of file dct32.c.

Referenced by dct32().

#define COS3_1   FIXHR(1.30656296487637652785/4)

Definition at line 74 of file dct32.c.

Referenced by dct32().

#define COS4_0   FIXHR(0.70710678118654752439/2)

Definition at line 76 of file dct32.c.

#define BF (   a,
  b,
  c,
  s 
)
Value:
{\
tmp0 = val##a + val##b;\
tmp1 = val##a - val##b;\
val##a = tmp0;\
val##b = MULH3(tmp1, c, 1<<(s));\
}

Definition at line 79 of file dct32.c.

Referenced by dct32(), fft4(), and fft8().

#define BF0 (   a,
  b,
  c,
  s 
)
Value:
{\
tmp0 = tab[a] + tab[b];\
tmp1 = tab[a] - tab[b];\
val##a = tmp0;\
val##b = MULH3(tmp1, c, 1<<(s));\
}

Definition at line 87 of file dct32.c.

Referenced by dct32().

#define BF1 (   a,
  b,
  c,
 
)
Value:
{\
BF(a, b, COS4_0, 1);\
BF(c, d,-COS4_0, 1);\
val##c += val##d;\
}

Definition at line 95 of file dct32.c.

Referenced by dct32().

#define BF2 (   a,
  b,
  c,
 
)
Value:
{\
BF(a, b, COS4_0, 1);\
BF(c, d,-COS4_0, 1);\
val##c += val##d;\
val##a += val##c;\
val##c += val##b;\
val##b += val##d;\
}

Definition at line 102 of file dct32.c.

Referenced by dct32().

#define ADD (   a,
  b 
)    val##a += val##b

Definition at line 112 of file dct32.c.

Referenced by dct32(), and ff_idct_add_altivec().

Function Documentation

void dct32 ( INTFLOAT out,
const INTFLOAT tab 
)

Definition at line 115 of file dct32.c.

Referenced by ff_mpa_synth_filter_TMPL().