hvirtual/quicktime/ffmpeg/libavcodec/i386/fdct_mmx.c File Reference

#include "../common.h"
#include "../dsputil.h"
#include "mmx.h"

Include dependency graph for fdct_mmx.c:

Go to the source code of this file.

Defines

#define ATTR_ALIGN(align)   __attribute__ ((__aligned__ (align)))
#define BITS_FRW_ACC   3
#define SHIFT_FRW_COL   BITS_FRW_ACC
#define SHIFT_FRW_ROW   (BITS_FRW_ACC + 17 - 3)
#define RND_FRW_ROW   (1 << (SHIFT_FRW_ROW-1))
#define TABLE_SSE2
#define C1   22725
#define C2   21407
#define C3   19266
#define C4   16384
#define C5   12873
#define C6   8867
#define C7   4520
#define C1   31521
#define C2   29692
#define C3   26722
#define C4   22725
#define C5   17855
#define C6   12299
#define C7   6270
#define C1   29692
#define C2   27969
#define C3   25172
#define C4   21407
#define C5   16819
#define C6   11585
#define C7   5906
#define C1   26722
#define C2   25172
#define C3   22654
#define C4   19266
#define C5   15137
#define C6   10426
#define C7   5315
#define C1   22725
#define C2   21407
#define C3   19266
#define C4   16384
#define C5   12873
#define C6   8867
#define C7   4520
#define C1   26722
#define C2   25172
#define C3   22654
#define C4   19266
#define C5   15137
#define C6   10426
#define C7   5315
#define C1   29692
#define C2   27969
#define C3   25172
#define C4   21407
#define C5   16819
#define C6   11585
#define C7   5906
#define C1   31521
#define C2   29692
#define C3   26722
#define C4   22725
#define C5   17855
#define C6   12299
#define C7   6270

Functions

static const int16_t
fdct_tg_all_16[] 
ATTR_ALIGN (8)
static always_inline void fdct_col (const int16_t *in, int16_t *out, int offset)
static always_inline void fdct_row_sse2 (const int16_t *in, int16_t *out)
static always_inline void fdct_row_mmx2 (const int16_t *in, int16_t *out, const int16_t *table)
static always_inline void fdct_row_mmx (const int16_t *in, int16_t *out, const int16_t *table)
void ff_fdct_mmx (int16_t *block)
void ff_fdct_mmx2 (int16_t *block)
void ff_fdct_sse2 (int16_t *block)

Variables

struct {
const int32_t fdct_r_row_sse2[4] ATTR_ALIGN (16)
ATTR_ALIGN


Define Documentation

#define ATTR_ALIGN ( align   )     __attribute__ ((__aligned__ (align)))

Definition at line 20 of file fdct_mmx.c.

#define BITS_FRW_ACC   3

Definition at line 33 of file fdct_mmx.c.

#define C1   31521

#define C1   29692

#define C1   26722

#define C1   22725

#define C1   26722

#define C1   29692

#define C1   31521

#define C1   22725

#define C2   29692

#define C2   27969

#define C2   25172

#define C2   21407

#define C2   25172

#define C2   27969

#define C2   29692

#define C2   21407

#define C3   26722

#define C3   25172

#define C3   22654

#define C3   19266

#define C3   22654

#define C3   25172

#define C3   26722

#define C3   19266

#define C4   22725

#define C4   21407

#define C4   19266

#define C4   16384

#define C4   19266

#define C4   21407

#define C4   22725

#define C4   16384

Referenced by __attribute__(), idct_col(), and imdct36().

#define C5   17855

#define C5   16819

#define C5   15137

#define C5   12873

#define C5   15137

#define C5   16819

#define C5   17855

#define C5   12873

Referenced by __attribute__(), and imdct36().

#define C6   12299

#define C6   11585

#define C6   10426

#define C6   8867

#define C6   10426

#define C6   11585

#define C6   12299

#define C6   8867

Referenced by __attribute__().

#define C7   6270

#define C7   5906

#define C7   5315

#define C7   4520

#define C7   5315

#define C7   5906

#define C7   6270

#define C7   4520

Referenced by __attribute__(), and imdct36().

#define RND_FRW_ROW   (1 << (SHIFT_FRW_ROW-1))

Definition at line 36 of file fdct_mmx.c.

#define SHIFT_FRW_COL   BITS_FRW_ACC

Definition at line 34 of file fdct_mmx.c.

#define SHIFT_FRW_ROW   (BITS_FRW_ACC + 17 - 3)

Definition at line 35 of file fdct_mmx.c.

#define TABLE_SSE2

Value:

C4,  C4,  C1,  C3, -C6, -C2, -C1, -C5, \
                   C4,  C4,  C5,  C7,  C2,  C6,  C3, -C7, \
                  -C4,  C4,  C7,  C3,  C6, -C2,  C7, -C5, \
                   C4, -C4,  C5, -C1,  C2, -C6,  C3, -C1,


Function Documentation

static const int16_t fdct_tg_all_16 [] ATTR_ALIGN (  )  [static]

static always_inline void fdct_col ( const int16_t *  in,
int16_t *  out,
int  offset 
) [static]

static always_inline void fdct_row_mmx ( const int16_t *  in,
int16_t *  out,
const int16_t *  table 
) [static]

static always_inline void fdct_row_mmx2 ( const int16_t *  in,
int16_t *  out,
const int16_t *  table 
) [static]

static always_inline void fdct_row_sse2 ( const int16_t *  in,
int16_t *  out 
) [static]

Definition at line 351 of file fdct_mmx.c.

References SHIFT_FRW_ROW.

Referenced by ff_fdct_sse2().

void ff_fdct_mmx ( int16_t *  block  ) 

Definition at line 504 of file fdct_mmx.c.

References ATTR_ALIGN, fdct_col(), fdct_row_mmx(), and tab_frw_01234567.

Here is the call graph for this function:

void ff_fdct_mmx2 ( int16_t *  block  ) 

Definition at line 527 of file fdct_mmx.c.

References ATTR_ALIGN, fdct_col(), fdct_row_mmx2(), and tab_frw_01234567.

Here is the call graph for this function:

void ff_fdct_sse2 ( int16_t *  block  ) 

Definition at line 550 of file fdct_mmx.c.

References ATTR_ALIGN, fdct_col(), and fdct_row_sse2().

Here is the call graph for this function:


Variable Documentation

struct { ... } ATTR_ALIGN

Definition at line 50 of file fdct_mmx.c.


Generated on Mon Apr 28 14:04:35 2008 for Cinelerra by  doxygen 1.5.5