Logo Search packages:      
Sourcecode: blender version File versions  Download package

simple_idct.c File Reference


Detailed Description

simpleidct in C.

Definition in file simple_idct.c.

#include "avcodec.h"
#include "dsputil.h"
#include "simple_idct.h"

Go to the source code of this file.

Defines

#define BF(k)
#define C1   C_FIX(0.6532814824)
#define C1   C_FIX(0.6532814824)
#define C2   C_FIX(0.2705980501)
#define C2   C_FIX(0.2705980501)
#define C3   C_FIX(0.5)
#define C_FIX(x)   ((int)((x) * 1.414213562 * (1 << CN_SHIFT) + 0.5))
#define C_FIX(x)   ((int)((x) * (1 << CN_SHIFT) + 0.5))
#define C_SHIFT   (4+1+12)
#define C_SHIFT   (4+1+12)
#define CN_SHIFT   12
#define CN_SHIFT   12
#define COL_SHIFT   20
#define MAC16(rt, ra, rb)   rt += (ra) * (rb)
#define MUL16(rt, ra, rb)   rt = (ra) * (rb)
#define R1   R_FIX(0.6532814824)
#define R2   R_FIX(0.2705980501)
#define R3   R_FIX(0.5)
#define R_FIX(x)   ((int)((x) * 1.414213562 * (1 << RN_SHIFT) + 0.5))
#define R_SHIFT   11
#define RN_SHIFT   15
#define ROW_SHIFT   11
#define W1   22725
#define W2   21407
#define W3   19266
#define W4   16383
#define W5   12873
#define W6   8867
#define W7   4520

Functions

static void idct4col (uint8_t *dest, int line_size, const DCTELEM *col)
static void idct4col_add (uint8_t *dest, int line_size, const DCTELEM *col)
static void idct4row (DCTELEM *row)
static void idctRowCondDC (DCTELEM *row)
static void idctSparseCol (DCTELEM *col)
static void idctSparseColAdd (uint8_t *dest, int line_size, DCTELEM *col)
static void idctSparseColPut (uint8_t *dest, int line_size, DCTELEM *col)
void simple_idct (DCTELEM *block)
void simple_idct248_put (uint8_t *dest, int line_size, DCTELEM *block)
void simple_idct48_add (uint8_t *dest, int line_size, DCTELEM *block)
void simple_idct84_add (uint8_t *dest, int line_size, DCTELEM *block)
void simple_idct_add (uint8_t *dest, int line_size, DCTELEM *block)
void simple_idct_put (uint8_t *dest, int line_size, DCTELEM *block)


Generated by  Doxygen 1.6.0   Back to index