libavcodec/x86/idct_mmx.c File Reference

#include "libavutil/common.h"
#include "libavcodec/dsputil.h"
#include "dsputil_mmx.h"
#include "mmx.h"

Go to the source code of this file.

Defines

#define ROW_SHIFT   11
#define COL_SHIFT   6
#define round(bias)   ((int)(((bias)+0.5) * (1<<ROW_SHIFT)))
#define rounder(bias)   {round (bias), round (bias)}
#define mmxext_table(c1, c2, c3, c4, c5, c6, c7)
#define mmx_table(c1, c2, c3, c4, c5, c6, c7)
#define T1   13036
#define T2   27146
#define T3   43790
#define C4   23170
#define declare_idct(idct, table, idct_row_head, idct_row, idct_row_tail, idct_row_mid)

Functions

static void mmxext_row_head (int16_t *const row, const int offset, const int16_t *const table)
static void mmxext_row (const int16_t *const table, const int32_t *const rounder)
static void mmxext_row_tail (int16_t *const row, const int store)
static void mmxext_row_mid (int16_t *const row, const int store, const int offset, const int16_t *const table)
static void mmx_row_head (int16_t *const row, const int offset, const int16_t *const table)
static void mmx_row (const int16_t *const table, const int32_t *const rounder)
static void mmx_row_tail (int16_t *const row, const int store)
static void mmx_row_mid (int16_t *const row, const int store, const int offset, const int16_t *const table)
static void idct_col (int16_t *const col, const int offset)
void ff_mmxext_idct (int16_t *const block)
void ff_mmx_idct (int16_t *const block)

Variables

static const int32_t rounder0 []
static const int32_t rounder4 [] = rounder (0)
static const int32_t rounder1 []
static const int32_t rounder7 []
static const int32_t rounder2 []
static const int32_t rounder6 []
static const int32_t rounder3 []
static const int32_t rounder5 []


Define Documentation

#define C4   23170

#define COL_SHIFT   6

Definition at line 30 of file idct_mmx.c.

#define declare_idct ( idct,
table,
idct_row_head,
idct_row,
idct_row_tail,
idct_row_mid   ) 

Definition at line 562 of file idct_mmx.c.

#define mmx_table ( c1,
c2,
c3,
c4,
c5,
c6,
c7   ) 

Value:

{  c4,  c2,  c4,  c6,   \
                                           c4,  c6, -c4, -c2,   \
                                           c1,  c3,  c3, -c7,   \
                                           c5,  c7, -c1, -c5,   \
                                           c4, -c6,  c4, -c2,   \
                                          -c4,  c2,  c4, -c6,   \
                                           c5, -c1,  c7, -c5,   \
                                           c7,  c3,  c3, -c1 }

Definition at line 193 of file idct_mmx.c.

#define mmxext_table ( c1,
c2,
c3,
c4,
c5,
c6,
c7   ) 

Value:

{  c4,  c2, -c4, -c2,   \
                                                   c4,  c6,  c4,  c6,   \
                                                   c1,  c3, -c1, -c5,   \
                                                   c5,  c7,  c3, -c7,   \
                                                   c4, -c6,  c4, -c6,   \
                                                  -c4,  c2,  c4, -c2,   \
                                                   c5, -c1,  c3, -c1,   \
                                                   c7,  c3,  c7, -c5 }

Definition at line 78 of file idct_mmx.c.

#define round ( bias   )     ((int)(((bias)+0.5) * (1<<ROW_SHIFT)))

Definition at line 32 of file idct_mmx.c.

Referenced by atrac3_decode_frame(), and dequant().

#define rounder ( bias   )     {round (bias), round (bias)}

Definition at line 33 of file idct_mmx.c.

Referenced by ff_simple_idct_add_vis(), and ff_simple_idct_put_vis().

#define ROW_SHIFT   11

Definition at line 29 of file idct_mmx.c.

#define T1   13036

#define T2   27146

#define T3   43790

Referenced by ff_jpegls_quantize(), and idct_col().


Function Documentation

void ff_mmx_idct ( int16_t *const   block  ) 

Definition at line 600 of file idct_mmx.c.

void ff_mmxext_idct ( int16_t *const   block  ) 

Definition at line 597 of file idct_mmx.c.

static void idct_col ( int16_t *const   col,
const int  offset 
) [inline, static]

Definition at line 394 of file idct_mmx.c.

static void mmx_row ( const int16_t *const   table,
const int32_t *const   rounder 
) [inline, static]

Definition at line 222 of file idct_mmx.c.

static void mmx_row_head ( int16_t *const   row,
const int  offset,
const int16_t *const   table 
) [inline, static]

Definition at line 202 of file idct_mmx.c.

static void mmx_row_mid ( int16_t *const   row,
const int  store,
const int  offset,
const int16_t *const   table 
) [inline, static]

Definition at line 286 of file idct_mmx.c.

static void mmx_row_tail ( int16_t *const   row,
const int  store 
) [inline, static]

Definition at line 262 of file idct_mmx.c.

static void mmxext_row ( const int16_t *const   table,
const int32_t *const   rounder 
) [inline, static]

Definition at line 104 of file idct_mmx.c.

static void mmxext_row_head ( int16_t *const   row,
const int  offset,
const int16_t *const   table 
) [inline, static]

Definition at line 87 of file idct_mmx.c.

static void mmxext_row_mid ( int16_t *const   row,
const int  store,
const int  offset,
const int16_t *const   table 
) [inline, static]

Definition at line 162 of file idct_mmx.c.

static void mmxext_row_tail ( int16_t *const   row,
const int  store 
) [inline, static]

Definition at line 144 of file idct_mmx.c.


Variable Documentation

const int32_t rounder0[] [static]

Initial value:

    rounder ((1 << (COL_SHIFT - 1)) - 0.5)

Definition at line 543 of file idct_mmx.c.

const int32_t rounder1[] [static]

Initial value:

    rounder (1.25683487303)

Definition at line 546 of file idct_mmx.c.

const int32_t rounder2[] [static]

Initial value:

    rounder (0.60355339059)

Definition at line 550 of file idct_mmx.c.

const int32_t rounder3[] [static]

Initial value:

    rounder (0.087788325588)

Definition at line 554 of file idct_mmx.c.

const int32_t rounder4[] = rounder (0) [static]

Definition at line 545 of file idct_mmx.c.

const int32_t rounder5[] [static]

Initial value:

    rounder (-0.441341716183)

Definition at line 556 of file idct_mmx.c.

const int32_t rounder6[] [static]

Initial value:

    rounder (-0.25)

Definition at line 552 of file idct_mmx.c.

const int32_t rounder7[] [static]

Initial value:

    rounder (-0.25)

Definition at line 548 of file idct_mmx.c.


Generated on Fri Oct 26 02:36:54 2012 for FFmpeg by  doxygen 1.5.8