FFmpeg
Macros | Functions
jfdctfst.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include "libavutil/common.h"
#include "dct.h"

Go to the source code of this file.

Macros

#define DCTSIZE   8
 
#define GLOBAL(x)   x
 
#define RIGHT_SHIFT(x, n)   ((x) >> (n))
 
#define CONST_BITS   8
 
#define FIX_0_382683433   ((int32_t) 98) /* FIX(0.382683433) */
 
#define FIX_0_541196100   ((int32_t) 139) /* FIX(0.541196100) */
 
#define FIX_0_707106781   ((int32_t) 181) /* FIX(0.707106781) */
 
#define FIX_1_306562965   ((int32_t) 334) /* FIX(1.306562965) */
 
#define DESCALE(x, n)   RIGHT_SHIFT(x, n)
 
#define MULTIPLY(var, const)   ((int16_t) DESCALE((var) * (const), CONST_BITS))
 

Functions

static av_always_inline void row_fdct (int16_t *data)
 
 ff_fdct_ifast (int16_t *data)
 
 ff_fdct_ifast248 (int16_t *data)
 

Detailed Description

Independent JPEG Group's fast AAN dct.

Definition in file jfdctfst.c.

Macro Definition Documentation

◆ DCTSIZE

#define DCTSIZE   8

Definition at line 74 of file jfdctfst.c.

◆ GLOBAL

#define GLOBAL (   x)    x

Definition at line 75 of file jfdctfst.c.

◆ RIGHT_SHIFT

#define RIGHT_SHIFT (   x,
 
)    ((x) >> (n))

Definition at line 76 of file jfdctfst.c.

◆ CONST_BITS

#define CONST_BITS   8

Definition at line 105 of file jfdctfst.c.

◆ FIX_0_382683433

#define FIX_0_382683433   ((int32_t) 98) /* FIX(0.382683433) */

Definition at line 116 of file jfdctfst.c.

◆ FIX_0_541196100

#define FIX_0_541196100   ((int32_t) 139) /* FIX(0.541196100) */

Definition at line 117 of file jfdctfst.c.

◆ FIX_0_707106781

#define FIX_0_707106781   ((int32_t) 181) /* FIX(0.707106781) */

Definition at line 118 of file jfdctfst.c.

◆ FIX_1_306562965

#define FIX_1_306562965   ((int32_t) 334) /* FIX(1.306562965) */

Definition at line 119 of file jfdctfst.c.

◆ DESCALE

#define DESCALE (   x,
 
)    RIGHT_SHIFT(x, n)

Definition at line 135 of file jfdctfst.c.

◆ MULTIPLY

#define MULTIPLY (   var,
  const 
)    ((int16_t) DESCALE((var) * (const), CONST_BITS))

Definition at line 143 of file jfdctfst.c.

Function Documentation

◆ row_fdct()

static av_always_inline void row_fdct ( int16_t *  data)
static

Definition at line 145 of file jfdctfst.c.

Referenced by ff_fdct_ifast(), and ff_fdct_ifast248().

◆ ff_fdct_ifast()

ff_fdct_ifast ( int16_t *  data)

◆ ff_fdct_ifast248()

ff_fdct_ifast248 ( int16_t *  data)

Definition at line 274 of file jfdctfst.c.

Referenced by ff_fdctdsp_init().