FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Typedefs | Functions
jrevdct.c File Reference

Independent JPEG Group's LLM idct. More...

#include "libavutil/common.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

#define EIGHT_BIT_SAMPLES

Definition at line 70 of file jrevdct.c.

#define DCTSIZE   8

Definition at line 947 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

#define DCTSIZE2   64

Definition at line 73 of file jrevdct.c.

#define GLOBAL

Definition at line 75 of file jrevdct.c.

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

Definition at line 77 of file jrevdct.c.

#define CONST_BITS   13

Definition at line 81 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

#define PASS1_BITS   2

Definition at line 129 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

#define ONE   ((int32_t) 1)

Definition at line 134 of file jrevdct.c.

#define CONST_SCALE   (ONE << CONST_BITS)

Definition at line 136 of file jrevdct.c.

Referenced by ff_j_rev_dct().

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

Definition at line 145 of file jrevdct.c.

Referenced by idct32().

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

Definition at line 152 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

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

Definition at line 175 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

#define FIX_0_211164243   1730

Definition at line 183 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_0_275899380   2260

Definition at line 184 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_0_298631336   2446

Definition at line 185 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_0_390180644   3196

Definition at line 186 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_0_509795579   4176

Definition at line 187 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_0_541196100   4433

Definition at line 188 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

#define FIX_0_601344887   4926

Definition at line 189 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_0_765366865   6270

Definition at line 190 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

#define FIX_0_785694958   6436

Definition at line 191 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_0_899976223   7373

Definition at line 192 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_1_061594337   8697

Definition at line 193 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_1_111140466   9102

Definition at line 194 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_1_175875602   9633

Definition at line 195 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_1_306562965   10703

Definition at line 196 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

#define FIX_1_387039845   11363

Definition at line 197 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_1_451774981   11893

Definition at line 198 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_1_501321110   12299

Definition at line 199 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_1_662939225   13623

Definition at line 200 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_1_847759065   15137

Definition at line 201 of file jrevdct.c.

Referenced by ff_j_rev_dct(), and ff_j_rev_dct4().

#define FIX_1_961570560   16069

Definition at line 202 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_2_053119869   16819

Definition at line 203 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_2_172734803   17799

Definition at line 204 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_2_562915447   20995

Definition at line 205 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define FIX_3_072711026   25172

Definition at line 206 of file jrevdct.c.

Referenced by ff_j_rev_dct().

#define DCTSIZE   4

Definition at line 947 of file jrevdct.c.

#define DCTSTRIDE   8

Definition at line 948 of file jrevdct.c.

Referenced by ff_j_rev_dct2(), and ff_j_rev_dct4().

Typedef Documentation

typedef int16_t DCTBLOCK[DCTSIZE2]

Definition at line 79 of file jrevdct.c.

Function Documentation

void ff_j_rev_dct ( DCTBLOCK  data)

Definition at line 212 of file jrevdct.c.

Referenced by ff_jref_idct_add(), and ff_jref_idct_put().

void ff_j_rev_dct4 ( DCTBLOCK  data)

Definition at line 950 of file jrevdct.c.

void ff_j_rev_dct2 ( DCTBLOCK  data)

Definition at line 1137 of file jrevdct.c.

void ff_j_rev_dct1 ( DCTBLOCK  data)

Definition at line 1152 of file jrevdct.c.

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

Definition at line 1159 of file jrevdct.c.

Referenced by ff_idctdsp_init().

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

Definition at line 1165 of file jrevdct.c.

Referenced by ff_idctdsp_init().