FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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

#define DCTSIZE   8

Definition at line 67 of file jfdctint_template.c.

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

#define BITS_IN_JSAMPLE   BIT_DEPTH

Definition at line 68 of file jfdctint_template.c.

#define GLOBAL (   x)    x

Definition at line 69 of file jfdctint_template.c.

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

Definition at line 70 of file jfdctint_template.c.

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

Definition at line 71 of file jfdctint_template.c.

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

Definition at line 74 of file jfdctint_template.c.

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

#define CONST_BITS   13

Definition at line 132 of file jfdctint_template.c.

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

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

Definition at line 133 of file jfdctint_template.c.

Referenced by row_fdct().

#define OUT_SHIFT   (PASS1_BITS + 1)

Definition at line 134 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), and ff_jpeg_fdct_islow().

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

Definition at line 145 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 146 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 147 of file jfdctint_template.c.

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

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

Definition at line 148 of file jfdctint_template.c.

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

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

Definition at line 149 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 150 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 151 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 152 of file jfdctint_template.c.

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

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

Definition at line 153 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 154 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 155 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 156 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow(), and row_fdct().

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

Definition at line 183 of file jfdctint_template.c.

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

Function Documentation

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

Definition at line 187 of file jfdctint_template.c.

Referenced by ff_fdct248_islow(), and ff_jpeg_fdct_islow().

FUNC() ff_jpeg_fdct_islow ( int16_t *  data)

Definition at line 265 of file jfdctint_template.c.

FUNC() ff_fdct248_islow ( int16_t *  data)

Definition at line 347 of file jfdctint_template.c.