FFmpeg  4.0
Macros | Typedefs | Functions | Variables
faandct.c File Reference

Floating point AAN DCT
More...

#include "faandct.h"
#include "libavutil/internal.h"
#include "libavutil/libm.h"

Go to the source code of this file.

Macros

#define B0   1.000000000000000000000000000000000000
 
#define B1   0.720959822006947913789091890943021267
 
#define B2   0.765366864730179543456919968060797734
 
#define B3   0.850430094767256448766702844371412325
 
#define B4   1.000000000000000000000000000000000000
 
#define B5   1.272758580572833938461007018281767032
 
#define B6   1.847759065022573512256366378793576574
 
#define B7   3.624509785411551372409941227504289587
 
#define A1   M_SQRT1_2
 
#define A2   0.54119610014619698435
 
#define A5   0.38268343236508977170
 
#define A4   1.30656296487637652774
 

Typedefs

typedef float FLOAT
 

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

◆ B0

#define B0   1.000000000000000000000000000000000000

◆ B1

#define B1   0.720959822006947913789091890943021267

◆ B2

#define B2   0.765366864730179543456919968060797734

Definition at line 42 of file faandct.c.

Referenced by derive_spatial_merge_candidates(), and ff_hevc_luma_mv_mvp_mode().

◆ B3

#define B3   0.850430094767256448766702844371412325

Definition at line 43 of file faandct.c.

◆ B4

#define B4   1.000000000000000000000000000000000000

Definition at line 44 of file faandct.c.

◆ B5

#define B5   1.272758580572833938461007018281767032

Definition at line 45 of file faandct.c.

◆ B6

#define B6   1.847759065022573512256366378793576574

Definition at line 46 of file faandct.c.

◆ B7

#define B7   3.624509785411551372409941227504289587

Definition at line 47 of file faandct.c.

◆ A1

#define A1   M_SQRT1_2

Definition at line 49 of file faandct.c.

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

◆ A2

#define A2   0.54119610014619698435

Definition at line 50 of file faandct.c.

Referenced by ff_faandct(), and row_fdct().

◆ A5

#define A5   0.38268343236508977170

Definition at line 51 of file faandct.c.

Referenced by ff_faandct(), and row_fdct().

◆ A4

#define A4   1.30656296487637652774

Definition at line 52 of file faandct.c.

Referenced by ff_faandct(), and row_fdct().

Typedef Documentation

◆ FLOAT

typedef float FLOAT

Definition at line 32 of file faandct.c.

Function Documentation

◆ row_fdct()

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

Definition at line 65 of file faandct.c.

Referenced by ff_faandct(), and ff_faandct248().

◆ ff_faandct()

void ff_faandct ( int16_t *  data)

Definition at line 114 of file faandct.c.

Referenced by ff_convert_matrix(), and ff_fdctdsp_init().

◆ ff_faandct248()

void ff_faandct248 ( int16_t *  data)

Definition at line 168 of file faandct.c.

Referenced by ff_fdctdsp_init().

Variable Documentation

◆ postscale

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 54 of file faandct.c.

Referenced by ff_faandct(), and ff_faandct248().