libavcodec/simple_idct.c File Reference

simpleidct in C. More...

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

Go to the source code of this file.

Defines

#define W1   22725
#define W2   21407
#define W3   19266
#define W4   16383
#define W5   12873
#define W6   8867
#define W7   4520
#define ROW_SHIFT   11
#define COL_SHIFT   20
#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) * 1.414213562 * (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) * 1.414213562 * (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

static void idctRowCondDC (DCTELEM *row)
static void idctSparseColPut (uint8_t *dest, int line_size, DCTELEM *col)
static void idctSparseColAdd (uint8_t *dest, int line_size, DCTELEM *col)
static void idctSparseCol (DCTELEM *col)
void ff_simple_idct_put (uint8_t *dest, int line_size, DCTELEM *block)
void ff_simple_idct_add (uint8_t *dest, int line_size, DCTELEM *block)
void ff_simple_idct (DCTELEM *block)
static void idct4col_put (uint8_t *dest, int line_size, const DCTELEM *col)
void ff_simple_idct248_put (uint8_t *dest, int line_size, DCTELEM *block)
static void idct4col_add (uint8_t *dest, int line_size, const DCTELEM *col)
static void idct4row (DCTELEM *row)
void ff_simple_idct84_add (uint8_t *dest, int line_size, DCTELEM *block)
void ff_simple_idct48_add (uint8_t *dest, int line_size, DCTELEM *block)
void ff_simple_idct44_add (uint8_t *dest, int line_size, DCTELEM *block)


Detailed Description

simpleidct in C.

Definition in file simple_idct.c.


Define Documentation

#define BF (  ) 

Value:

{\
    int a0, a1;\
    a0 = ptr[k];\
    a1 = ptr[8 + k];\
    ptr[k] = a0 + a1;\
    ptr[8 + k] = a0 - a1;\
}

Definition at line 434 of file simple_idct.c.

#define C1   C_FIX(0.6532814824)

Definition at line 488 of file simple_idct.c.

#define C1   C_FIX(0.6532814824)

Definition at line 488 of file simple_idct.c.

#define C2   C_FIX(0.2705980501)

Definition at line 489 of file simple_idct.c.

#define C2   C_FIX(0.2705980501)

Definition at line 489 of file simple_idct.c.

#define C3   C_FIX(0.5)

Definition at line 490 of file simple_idct.c.

#define C_FIX (  )     ((int)((x) * 1.414213562 * (1 << CN_SHIFT) + 0.5))

Definition at line 487 of file simple_idct.c.

#define C_FIX (  )     ((int)((x) * (1 << CN_SHIFT) + 0.5))

Definition at line 487 of file simple_idct.c.

#define C_SHIFT   (4+1+12)

Definition at line 491 of file simple_idct.c.

#define C_SHIFT   (4+1+12)

Definition at line 491 of file simple_idct.c.

Referenced by idct4col_add(), and idct4col_put().

#define CN_SHIFT   12

Definition at line 486 of file simple_idct.c.

#define CN_SHIFT   12

Definition at line 486 of file simple_idct.c.

Referenced by idct4col_put().

#define COL_SHIFT   20

Definition at line 56 of file simple_idct.c.

#define R1   R_FIX(0.6532814824)

Definition at line 516 of file simple_idct.c.

Referenced by altivec_uyvy_rgb32(), altivec_yuv2packedX(), idct4row(), and transform().

#define R2   R_FIX(0.2705980501)

Definition at line 517 of file simple_idct.c.

Referenced by idct4row(), transform(), and wv_unpack_stereo().

#define R3   R_FIX(0.5)

Definition at line 518 of file simple_idct.c.

Referenced by idct4row(), and transform().

#define R_FIX (  )     ((int)((x) * 1.414213562 * (1 << RN_SHIFT) + 0.5))

Definition at line 515 of file simple_idct.c.

#define R_SHIFT   11

Definition at line 519 of file simple_idct.c.

Referenced by idct4row().

#define RN_SHIFT   15

Definition at line 514 of file simple_idct.c.

#define ROW_SHIFT   11

Definition at line 55 of file simple_idct.c.

#define W1   22725

Definition at line 48 of file simple_idct.c.

#define W2   21407

Definition at line 49 of file simple_idct.c.

#define W3   19266

Definition at line 50 of file simple_idct.c.

#define W4   16383

Definition at line 51 of file simple_idct.c.

#define W5   12873

Definition at line 52 of file simple_idct.c.

#define W6   8867

Definition at line 53 of file simple_idct.c.

#define W7   4520

Definition at line 54 of file simple_idct.c.


Function Documentation

void ff_simple_idct ( DCTELEM block  ) 

Definition at line 391 of file simple_idct.c.

Referenced by decode_sequence_header(), dsputil_init(), and quant_psnr8x8_c().

void ff_simple_idct248_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 449 of file simple_idct.c.

Referenced by dvvideo_init(), and main().

void ff_simple_idct44_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 569 of file simple_idct.c.

Referenced by decode_sequence_header().

void ff_simple_idct48_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 554 of file simple_idct.c.

Referenced by decode_sequence_header(), and wmv2_add_block().

void ff_simple_idct84_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 539 of file simple_idct.c.

Referenced by decode_sequence_header(), and wmv2_add_block().

void ff_simple_idct_add ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 381 of file simple_idct.c.

Referenced by dsputil_init().

void ff_simple_idct_put ( uint8_t *  dest,
int  line_size,
DCTELEM block 
)

Definition at line 371 of file simple_idct.c.

Referenced by dsputil_init().

static void idct4col_add ( uint8_t *  dest,
int  line_size,
const DCTELEM col 
) [inline, static]

Definition at line 492 of file simple_idct.c.

Referenced by ff_simple_idct44_add(), and ff_simple_idct84_add().

static void idct4col_put ( uint8_t *  dest,
int  line_size,
const DCTELEM col 
) [inline, static]

Definition at line 412 of file simple_idct.c.

Referenced by ff_simple_idct248_put().

static void idct4row ( DCTELEM row  )  [inline, static]

Definition at line 520 of file simple_idct.c.

Referenced by ff_simple_idct44_add(), and ff_simple_idct48_add().

static void idctRowCondDC ( DCTELEM row  )  [inline, static]

static void idctSparseCol ( DCTELEM col  )  [inline, static]

Definition at line 308 of file simple_idct.c.

Referenced by ff_simple_idct().

static void idctSparseColAdd ( uint8_t *  dest,
int  line_size,
DCTELEM col 
) [inline, static]

Definition at line 236 of file simple_idct.c.

Referenced by ff_simple_idct48_add(), and ff_simple_idct_add().

static void idctSparseColPut ( uint8_t *  dest,
int  line_size,
DCTELEM col 
) [inline, static]

Definition at line 164 of file simple_idct.c.

Referenced by ff_simple_idct_put().


Generated on Fri Oct 26 02:35:44 2012 for FFmpeg by  doxygen 1.5.8