FFmpeg
Macros | Functions
simple_idct.c File Reference

simpleidct in C. More...

#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "mathops.h"
#include "simple_idct.h"
#include "simple_idct_template.c"

Macros

#define IN_IDCT_DEPTH   16
 
#define BIT_DEPTH   8
 
#define BIT_DEPTH   10
 
#define EXTRA_SHIFT   2
 
#define BIT_DEPTH   12
 
#define IN_IDCT_DEPTH   32
 
#define BIT_DEPTH   10
 
#define CN_SHIFT   12
 
#define C_FIX(x)   ((int)((x) * (1 << CN_SHIFT) + 0.5))
 
#define C1   C_FIX(0.6532814824)
 
#define C2   C_FIX(0.2705980501)
 
#define C_SHIFT   (4+1+12)
 
#define BF(k)
 
#define CN_SHIFT   12
 
#define C_FIX(x)   ((int)((x) * M_SQRT2 * (1 << CN_SHIFT) + 0.5))
 
#define C1   C_FIX(0.6532814824)
 
#define C2   C_FIX(0.2705980501)
 
#define C3   C_FIX(0.5)
 
#define C_SHIFT   (4+1+12)
 
#define RN_SHIFT   15
 
#define R_FIX(x)   ((int)((x) * M_SQRT2 * (1 << RN_SHIFT) + 0.5))
 
#define R1   R_FIX(0.6532814824)
 
#define R2   R_FIX(0.2705980501)
 
#define R3   R_FIX(0.5)
 
#define R_SHIFT   11
 

Functions

void ff_simple_idct248_put (uint8_t *dest, ptrdiff_t line_size, int16_t *block)
 
void ff_simple_idct84_add (uint8_t *dest, ptrdiff_t line_size, int16_t *block)
 
void ff_simple_idct48_add (uint8_t *dest, ptrdiff_t line_size, int16_t *block)
 
void ff_simple_idct44_add (uint8_t *dest, ptrdiff_t line_size, int16_t *block)
 
void ff_prores_idct (int16_t *block, const int16_t *qmat)
 Special version of ff_simple_idct_int16_10bit() which does dequantization and scales by a factor of 2 more between the two IDCTs to account for larger scale of input coefficients.
 

Detailed Description

simpleidct in C.

Macro Definition Documentation

§ BF

#define BF (   k)
Value:
{\
int a0, a1;\
a0 = ptr[k];\
a1 = ptr[8 + k];\
ptr[k] = a0 + a1;\
ptr[8 + k] = a0 - a1;\
}