faandct.c File Reference

Floating point AAN DCT
More...

#include "faandct.h"
#include "libavutil/internal.h"
#include "libavutil/libm.h"
Include dependency graph for faandct.c:

Go to the source code of this file.

Macros

#define FLOAT   float
 
#define B0   1.00000000000000000000
 
#define B1   0.72095982200694791383
 
#define B2   0.76536686473017954350
 
#define B3   0.85043009476725644878
 
#define B4   1.00000000000000000000
 
#define B5   1.27275858057283393842
 
#define B6   1.84775906502257351242
 
#define B7   3.62450978541155137218
 
#define A1   0.70710678118654752438
 
#define A2   0.54119610014619698435
 
#define A5   0.38268343236508977170
 
#define A4   1.30656296487637652774
 

Functions

static av_always_inline void row_fdct (FLOAT temp[64], int16_t *data)
 
void ff_faandct (int16_t *data)
 
void ff_faandct248 (int16_t *data)
 

Variables

static const FLOAT postscale [64]
 

Detailed Description

Floating point AAN DCT
Author
Michael Niedermayer micha.nosp@m.elni.nosp@m.@gmx..nosp@m.at

Definition in file faandct.c.

Macro Definition Documentation

#define A1   0.70710678118654752438

Definition at line 50 of file faandct.c.

Referenced by ff_faandct(), ff_faandct248(), and row_fdct().

#define A2   0.54119610014619698435

Definition at line 51 of file faandct.c.

Referenced by ff_faandct(), and row_fdct().

#define A4   1.30656296487637652774

Definition at line 53 of file faandct.c.

Referenced by ff_faandct(), and row_fdct().

#define A5   0.38268343236508977170

Definition at line 52 of file faandct.c.

Referenced by ff_faandct(), and row_fdct().

#define B0   1.00000000000000000000

Definition at line 40 of file faandct.c.

Referenced by altivec_uyvy_rgb32(), and ff_yuv2packedX_altivec().

#define B1   0.72095982200694791383

Definition at line 41 of file faandct.c.

Referenced by altivec_uyvy_rgb32(), and ff_yuv2packedX_altivec().

#define B2   0.76536686473017954350

Definition at line 42 of file faandct.c.

#define B3   0.85043009476725644878

Definition at line 43 of file faandct.c.

#define B4   1.00000000000000000000

Definition at line 44 of file faandct.c.

#define B5   1.27275858057283393842

Definition at line 45 of file faandct.c.

#define B6   1.84775906502257351242

Definition at line 46 of file faandct.c.

#define B7   3.62450978541155137218

Definition at line 47 of file faandct.c.

#define FLOAT   float

Definition at line 32 of file faandct.c.

Referenced by ff_faandct(), ff_faandct248(), and row_fdct().

Function Documentation

void ff_faandct ( int16_t *  data)

Definition at line 121 of file faandct.c.

Referenced by ff_convert_matrix(), and ff_dsputil_init().

void ff_faandct248 ( int16_t *  data)

Definition at line 181 of file faandct.c.

Referenced by ff_dsputil_init().

static av_always_inline void row_fdct ( FLOAT  temp[64],
int16_t *  data 
)
static

Definition at line 66 of file faandct.c.

Referenced by ff_faandct(), and ff_faandct248().

Variable Documentation

const FLOAT postscale[64]
static
Initial value:
={
B0*B0, B0*B1, B0*B2, B0*B3, B0*B4, B0*B5, B0*B6, B0*B7,
B1*B0, B1*B1, B1*B2, B1*B3, B1*B4, B1*B5, B1*B6, B1*B7,
B2*B0, B2*B1, B2*B2, B2*B3, B2*B4, B2*B5, B2*B6, B2*B7,
B3*B0, B3*B1, B3*B2, B3*B3, B3*B4, B3*B5, B3*B6, B3*B7,
B4*B0, B4*B1, B4*B2, B4*B3, B4*B4, B4*B5, B4*B6, B4*B7,
B5*B0, B5*B1, B5*B2, B5*B3, B5*B4, B5*B5, B5*B6, B5*B7,
B6*B0, B6*B1, B6*B2, B6*B3, B6*B4, B6*B5, B6*B6, B6*B7,
B7*B0, B7*B1, B7*B2, B7*B3, B7*B4, B7*B5, B7*B6, B7*B7,
}
#define B7
Definition: faandct.c:47
#define B1
Definition: faandct.c:41
#define B4
Definition: faandct.c:44
#define B2
Definition: faandct.c:42
#define B5
Definition: faandct.c:45
#define B6
Definition: faandct.c:46
#define B3
Definition: faandct.c:43
#define B0
Definition: faandct.c:40

Definition at line 55 of file faandct.c.

Referenced by ff_faandct(), and ff_faandct248().