FFmpeg
Macros | Typedefs | Functions
jrevdct.c File Reference
#include <stddef.h>
#include <stdint.h>
#include "libavutil/intreadwrite.h"
#include "dct.h"
#include "idctdsp.h"

Go to the source code of this file.

Macros

#define EIGHT_BIT_SAMPLES
 
#define DCTSIZE   8
 
#define DCTSIZE2   64
 
#define GLOBAL
 
#define RIGHT_SHIFT(x, n)   ((x) >> (n))
 
#define CONST_BITS   13
 
#define PASS1_BITS   2
 
#define ONE   ((int32_t) 1)
 
#define CONST_SCALE   (ONE << CONST_BITS)
 
#define FIX(x)   ((int32_t) ((x) * CONST_SCALE + 0.5))
 
#define DESCALE(x, n)   RIGHT_SHIFT((x) + (ONE << ((n)-1)), n)
 
#define MULTIPLY(var, const)   ((var) * (const))
 
#define FIX_0_211164243   1730
 
#define FIX_0_275899380   2260
 
#define FIX_0_298631336   2446
 
#define FIX_0_390180644   3196
 
#define FIX_0_509795579   4176
 
#define FIX_0_541196100   4433
 
#define FIX_0_601344887   4926
 
#define FIX_0_765366865   6270
 
#define FIX_0_785694958   6436
 
#define FIX_0_899976223   7373
 
#define FIX_1_061594337   8697
 
#define FIX_1_111140466   9102
 
#define FIX_1_175875602   9633
 
#define FIX_1_306562965   10703
 
#define FIX_1_387039845   11363
 
#define FIX_1_451774981   11893
 
#define FIX_1_501321110   12299
 
#define FIX_1_662939225   13623
 
#define FIX_1_847759065   15137
 
#define FIX_1_961570560   16069
 
#define FIX_2_053119869   16819
 
#define FIX_2_172734803   17799
 
#define FIX_2_562915447   20995
 
#define FIX_3_072711026   25172
 
#define DCTSIZE   4
 
#define DCTSTRIDE   8
 

Typedefs

typedef int16_t DCTBLOCK[DCTSIZE2]
 

Functions

void ff_j_rev_dct (DCTBLOCK data)
 
void ff_j_rev_dct4 (DCTBLOCK data)
 
void ff_j_rev_dct2 (DCTBLOCK data)
 
void ff_j_rev_dct1 (DCTBLOCK data)
 
void ff_jref_idct_put (uint8_t *dest, ptrdiff_t line_size, int16_t *block)
 
void ff_jref_idct_add (uint8_t *dest, ptrdiff_t line_size, int16_t *block)
 

Detailed Description

Independent JPEG Group's LLM idct.

Definition in file jrevdct.c.

Macro Definition Documentation

◆ EIGHT_BIT_SAMPLES

#define EIGHT_BIT_SAMPLES

Definition at line 73 of file jrevdct.c.

◆ DCTSIZE [1/2]

#define DCTSIZE   8

Definition at line 950 of file jrevdct.c.

◆ DCTSIZE2

#define DCTSIZE2   64

Definition at line 76 of file jrevdct.c.

◆ GLOBAL

#define GLOBAL

Definition at line 78 of file jrevdct.c.

◆ RIGHT_SHIFT

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

Definition at line 80 of file jrevdct.c.

◆ CONST_BITS

#define CONST_BITS   13

Definition at line 84 of file jrevdct.c.

◆ PASS1_BITS

#define PASS1_BITS   2

Definition at line 132 of file jrevdct.c.

◆ ONE

#define ONE   ((int32_t) 1)

Definition at line 137 of file jrevdct.c.

◆ CONST_SCALE

#define CONST_SCALE   (ONE << CONST_BITS)

Definition at line 139 of file jrevdct.c.

◆ FIX

#define FIX (   x)    ((int32_t) ((x) * CONST_SCALE + 0.5))

Definition at line 148 of file jrevdct.c.

◆ DESCALE

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

Definition at line 155 of file jrevdct.c.

◆ MULTIPLY

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

Definition at line 178 of file jrevdct.c.

◆ FIX_0_211164243

#define FIX_0_211164243   1730

Definition at line 186 of file jrevdct.c.

◆ FIX_0_275899380

#define FIX_0_275899380   2260

Definition at line 187 of file jrevdct.c.

◆ FIX_0_298631336

#define FIX_0_298631336   2446

Definition at line 188 of file jrevdct.c.

◆ FIX_0_390180644

#define FIX_0_390180644   3196

Definition at line 189 of file jrevdct.c.

◆ FIX_0_509795579

#define FIX_0_509795579   4176

Definition at line 190 of file jrevdct.c.

◆ FIX_0_541196100

#define FIX_0_541196100   4433

Definition at line 191 of file jrevdct.c.

◆ FIX_0_601344887

#define FIX_0_601344887   4926

Definition at line 192 of file jrevdct.c.

◆ FIX_0_765366865

#define FIX_0_765366865   6270

Definition at line 193 of file jrevdct.c.

◆ FIX_0_785694958

#define FIX_0_785694958   6436

Definition at line 194 of file jrevdct.c.

◆ FIX_0_899976223

#define FIX_0_899976223   7373

Definition at line 195 of file jrevdct.c.

◆ FIX_1_061594337

#define FIX_1_061594337   8697

Definition at line 196 of file jrevdct.c.

◆ FIX_1_111140466

#define FIX_1_111140466   9102

Definition at line 197 of file jrevdct.c.

◆ FIX_1_175875602

#define FIX_1_175875602   9633

Definition at line 198 of file jrevdct.c.

◆ FIX_1_306562965

#define FIX_1_306562965   10703

Definition at line 199 of file jrevdct.c.

◆ FIX_1_387039845

#define FIX_1_387039845   11363

Definition at line 200 of file jrevdct.c.

◆ FIX_1_451774981

#define FIX_1_451774981   11893

Definition at line 201 of file jrevdct.c.

◆ FIX_1_501321110

#define FIX_1_501321110   12299

Definition at line 202 of file jrevdct.c.

◆ FIX_1_662939225

#define FIX_1_662939225   13623

Definition at line 203 of file jrevdct.c.

◆ FIX_1_847759065

#define FIX_1_847759065   15137

Definition at line 204 of file jrevdct.c.

◆ FIX_1_961570560

#define FIX_1_961570560   16069

Definition at line 205 of file jrevdct.c.

◆ FIX_2_053119869

#define FIX_2_053119869   16819

Definition at line 206 of file jrevdct.c.

◆ FIX_2_172734803

#define FIX_2_172734803   17799

Definition at line 207 of file jrevdct.c.

◆ FIX_2_562915447

#define FIX_2_562915447   20995

Definition at line 208 of file jrevdct.c.

◆ FIX_3_072711026

#define FIX_3_072711026   25172

Definition at line 209 of file jrevdct.c.

◆ DCTSIZE [2/2]

#define DCTSIZE   4

Definition at line 950 of file jrevdct.c.

◆ DCTSTRIDE

#define DCTSTRIDE   8

Definition at line 951 of file jrevdct.c.

Typedef Documentation

◆ DCTBLOCK

typedef int16_t DCTBLOCK[DCTSIZE2]

Definition at line 82 of file jrevdct.c.

Function Documentation

◆ ff_j_rev_dct()

void ff_j_rev_dct ( DCTBLOCK  data)

Definition at line 215 of file jrevdct.c.

Referenced by ff_jref_idct_add(), and ff_jref_idct_put().

◆ ff_j_rev_dct4()

void ff_j_rev_dct4 ( DCTBLOCK  data)

Definition at line 953 of file jrevdct.c.

◆ ff_j_rev_dct2()

void ff_j_rev_dct2 ( DCTBLOCK  data)

Definition at line 1140 of file jrevdct.c.

◆ ff_j_rev_dct1()

void ff_j_rev_dct1 ( DCTBLOCK  data)

Definition at line 1155 of file jrevdct.c.

◆ ff_jref_idct_put()

void ff_jref_idct_put ( uint8_t *  dest,
ptrdiff_t  line_size,
int16_t *  block 
)

Definition at line 1162 of file jrevdct.c.

Referenced by ff_idctdsp_init().

◆ ff_jref_idct_add()

void ff_jref_idct_add ( uint8_t *  dest,
ptrdiff_t  line_size,
int16_t *  block 
)

Definition at line 1168 of file jrevdct.c.

Referenced by ff_idctdsp_init().