FFmpeg
Loading...
Searching...
No Matches
jfdctint_template.c File Reference

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

#include "libavutil/common.h"
#include "fdctdsp.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)
 
#define RIGHT_SHIFT(x, n)
 
#define MULTIPLY16C16(var, const)
 
#define DESCALE(x, 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   FIX(0.298631336)
 
#define FIX_0_390180644   FIX(0.390180644)
 
#define FIX_0_541196100   FIX(0.541196100)
 
#define FIX_0_765366865   FIX(0.765366865)
 
#define FIX_0_899976223   FIX(0.899976223)
 
#define FIX_1_175875602   FIX(1.175875602)
 
#define FIX_1_501321110   FIX(1.501321110)
 
#define FIX_1_847759065   FIX(1.847759065)
 
#define FIX_1_961570560   FIX(1.961570560)
 
#define FIX_2_053119869   FIX(2.053119869)
 
#define FIX_2_562915447   FIX(2.562915447)
 
#define FIX_3_072711026   FIX(3.072711026)
 
#define MULTIPLY(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.

◆ BITS_IN_JSAMPLE

#define BITS_IN_JSAMPLE   BIT_DEPTH

Definition at line 68 of file jfdctint_template.c.

◆ GLOBAL

#define GLOBAL ( x)
Value:
x

Definition at line 69 of file jfdctint_template.c.

◆ RIGHT_SHIFT

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

Definition at line 70 of file jfdctint_template.c.

◆ MULTIPLY16C16

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

Definition at line 71 of file jfdctint_template.c.

◆ DESCALE

#define DESCALE ( x,
n )
Value:
RIGHT_SHIFT((int)(x) + (1 << ((n) - 1)), n)
#define RIGHT_SHIFT(x, n)
Definition jfdctfst.c:75

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.

◆ PASS1_BITS

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

Definition at line 128 of file jfdctint_template.c.

Referenced by ff_j_rev_dct(), ff_j_rev_dct4(), and row_fdct().

◆ OUT_SHIFT

#define OUT_SHIFT   (PASS1_BITS + 1)

Definition at line 129 of file jfdctint_template.c.

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

◆ FIX_0_298631336

#define FIX_0_298631336   FIX(0.298631336)

Definition at line 153 of file jfdctint_template.c.

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

◆ FIX_0_390180644

#define FIX_0_390180644   FIX(0.390180644)

Definition at line 154 of file jfdctint_template.c.

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

◆ FIX_0_541196100

#define FIX_0_541196100   FIX(0.541196100)

Definition at line 155 of file jfdctint_template.c.

◆ FIX_0_765366865

#define FIX_0_765366865   FIX(0.765366865)

◆ FIX_0_899976223

#define FIX_0_899976223   FIX(0.899976223)

Definition at line 157 of file jfdctint_template.c.

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

◆ FIX_1_175875602

#define FIX_1_175875602   FIX(1.175875602)

Definition at line 158 of file jfdctint_template.c.

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

◆ FIX_1_501321110

#define FIX_1_501321110   FIX(1.501321110)

Definition at line 159 of file jfdctint_template.c.

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

◆ FIX_1_847759065

#define FIX_1_847759065   FIX(1.847759065)

Definition at line 160 of file jfdctint_template.c.

◆ FIX_1_961570560

#define FIX_1_961570560   FIX(1.961570560)

Definition at line 161 of file jfdctint_template.c.

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

◆ FIX_2_053119869

#define FIX_2_053119869   FIX(2.053119869)

Definition at line 162 of file jfdctint_template.c.

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

◆ FIX_2_562915447

#define FIX_2_562915447   FIX(2.562915447)

Definition at line 163 of file jfdctint_template.c.

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

◆ FIX_3_072711026

#define FIX_3_072711026   FIX(3.072711026)

Definition at line 164 of file jfdctint_template.c.

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

◆ MULTIPLY

#define MULTIPLY ( var,
const )
Value:
(int)((var) * (unsigned)(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.

◆ ff_jpeg_fdct_islow()

FUNC ff_jpeg_fdct_islow ( int16_t * data)

Definition at line 260 of file jfdctint_template.c.

Referenced by ff_jpeg_fdct_islow().

◆ ff_fdct248_islow()

FUNC ff_fdct248_islow ( int16_t * data)

Definition at line 342 of file jfdctint_template.c.

Referenced by ff_fdct248_islow().