FFmpeg  4.0
Macros | Functions
jfdctint_template.c File Reference

Independent JPEG Group's slow & accurate dct. More...

#include "libavutil/common.h"
#include "dct.h"
#include "bit_depth_template.c"

Go to the source code of this file.

Macros

#define DCTSIZE   8
 
#define BITS_IN_JSAMPLE   BIT_DEPTH
 
#define GLOBAL(x)   x
 
#define RIGHT_SHIFT(x, n)   ((x) >> (n))
 
#define MULTIPLY16C16(var, const)   ((var)*(const))
 
#define DESCALE(x, n)   RIGHT_SHIFT((x) + (1 << ((n) - 1)), n)
 
#define CONST_BITS   13
 
#define PASS1_BITS   1 /* lose a little precision to avoid overflow */
 
#define OUT_SHIFT   (PASS1_BITS + 1)
 
#define FIX_0_298631336   ((int32_t) 2446) /* FIX(0.298631336) */
 
#define FIX_0_390180644   ((int32_t) 3196) /* FIX(0.390180644) */
 
#define FIX_0_541196100   ((int32_t) 4433) /* FIX(0.541196100) */
 
#define FIX_0_765366865   ((int32_t) 6270) /* FIX(0.765366865) */
 
#define FIX_0_899976223   ((int32_t) 7373) /* FIX(0.899976223) */
 
#define FIX_1_175875602   ((int32_t) 9633) /* FIX(1.175875602) */
 
#define FIX_1_501321110   ((int32_t) 12299) /* FIX(1.501321110) */
 
#define FIX_1_847759065   ((int32_t) 15137) /* FIX(1.847759065) */
 
#define FIX_1_961570560   ((int32_t) 16069) /* FIX(1.961570560) */
 
#define FIX_2_053119869   ((int32_t) 16819) /* FIX(2.053119869) */
 
#define FIX_2_562915447   ((int32_t) 20995) /* FIX(2.562915447) */
 
#define FIX_3_072711026   ((int32_t) 25172) /* FIX(3.072711026) */
 
#define MULTIPLY(var, const)   ((var) * (const))
 

Functions

static av_always_inline void FUNC() row_fdct (int16_t *data)
 
FUNC() ff_jpeg_fdct_islow (int16_t *data)
 
FUNC() ff_fdct248_islow (int16_t *data)
 

Detailed Description

Independent JPEG Group's slow & accurate dct.

Definition in file jfdctint_template.c.

Macro Definition Documentation

◆ DCTSIZE

#define DCTSIZE   8

Definition at line 67 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), ff_jpeg_fdct_islow(), and row_fdct().

◆ BITS_IN_JSAMPLE

#define BITS_IN_JSAMPLE   BIT_DEPTH

Definition at line 68 of file jfdctint_template.c.

◆ GLOBAL

#define GLOBAL (   x)    x

Definition at line 69 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ RIGHT_SHIFT

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

Definition at line 70 of file jfdctint_template.c.

◆ MULTIPLY16C16

#define MULTIPLY16C16 (   var,
  const 
)    ((var)*(const))

Definition at line 71 of file jfdctint_template.c.

◆ DESCALE

#define DESCALE (   x,
  n 
)    RIGHT_SHIFT((x) + (1 << ((n) - 1)), n)

Definition at line 72 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), ff_jpeg_fdct_islow(), and row_fdct().

◆ CONST_BITS

#define CONST_BITS   13

Definition at line 127 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), ff_jpeg_fdct_islow(), and row_fdct().

◆ PASS1_BITS

#define PASS1_BITS   1 /* lose a little precision to avoid overflow */

Definition at line 128 of file jfdctint_template.c.

Referenced by row_fdct().

◆ OUT_SHIFT

#define OUT_SHIFT   (PASS1_BITS + 1)

Definition at line 129 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), and ff_jpeg_fdct_islow().

◆ FIX_0_298631336

#define FIX_0_298631336   ((int32_t) 2446) /* FIX(0.298631336) */

Definition at line 140 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_0_390180644

#define FIX_0_390180644   ((int32_t) 3196) /* FIX(0.390180644) */

Definition at line 141 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_0_541196100

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

Definition at line 142 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_0_765366865

#define FIX_0_765366865   ((int32_t) 6270) /* FIX(0.765366865) */

Definition at line 143 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_0_899976223

#define FIX_0_899976223   ((int32_t) 7373) /* FIX(0.899976223) */

Definition at line 144 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_1_175875602

#define FIX_1_175875602   ((int32_t) 9633) /* FIX(1.175875602) */

Definition at line 145 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_1_501321110

#define FIX_1_501321110   ((int32_t) 12299) /* FIX(1.501321110) */

Definition at line 146 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_1_847759065

#define FIX_1_847759065   ((int32_t) 15137) /* FIX(1.847759065) */

Definition at line 147 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_1_961570560

#define FIX_1_961570560   ((int32_t) 16069) /* FIX(1.961570560) */

Definition at line 148 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_2_053119869

#define FIX_2_053119869   ((int32_t) 16819) /* FIX(2.053119869) */

Definition at line 149 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_2_562915447

#define FIX_2_562915447   ((int32_t) 20995) /* FIX(2.562915447) */

Definition at line 150 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ FIX_3_072711026

#define FIX_3_072711026   ((int32_t) 25172) /* FIX(3.072711026) */

Definition at line 151 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

◆ MULTIPLY

#define MULTIPLY (   var,
  const 
)    ((var) * (const))

Definition at line 178 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), ff_jpeg_fdct_islow(), and row_fdct().

Function Documentation

◆ row_fdct()

static av_always_inline void FUNC() row_fdct ( int16_t *  data)
static

Definition at line 182 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), and ff_jpeg_fdct_islow().

◆ ff_jpeg_fdct_islow()

FUNC() ff_jpeg_fdct_islow ( int16_t *  data)

Definition at line 260 of file jfdctint_template.c.

◆ ff_fdct248_islow()

FUNC() ff_fdct248_islow ( int16_t *  data)

Definition at line 342 of file jfdctint_template.c.