Defines | Functions

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)
 DECLARE_ALIGNED (8, static const int32_t, rounder0)[]
 DECLARE_ALIGNED (8, static const int32_t, rounder4)[]
 DECLARE_ALIGNED (8, static const int32_t, rounder1)[]
 DECLARE_ALIGNED (8, static const int32_t, rounder7)[]
 DECLARE_ALIGNED (8, static const int32_t, rounder2)[]
 DECLARE_ALIGNED (8, static const int32_t, rounder6)[]
 DECLARE_ALIGNED (8, static const int32_t, rounder3)[]
 DECLARE_ALIGNED (8, static const int32_t, rounder5)[]

Define Documentation

#define C4   23170
#define COL_SHIFT   6

Definition at line 30 of file idct_mmx.c.

Referenced by idct_col().

#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().

#define ROW_SHIFT   11
#define T1   13036

Referenced by ff_jpegls_quantize().

#define T2   27146
#define T3   43790

Referenced by ff_jpegls_quantize().


Function Documentation

DECLARE_ALIGNED ( ,
static const   int32_t,
rounder0   
)
DECLARE_ALIGNED ( ,
static const   int32_t,
rounder4   
)
DECLARE_ALIGNED ( ,
static const   int32_t,
rounder3   
)
DECLARE_ALIGNED ( ,
static const   int32_t,
rounder6   
)
DECLARE_ALIGNED ( ,
static const   int32_t,
rounder5   
)
DECLARE_ALIGNED ( ,
static const   int32_t,
rounder1   
)
DECLARE_ALIGNED ( ,
static const   int32_t,
rounder7   
)
DECLARE_ALIGNED ( ,
static const   int32_t,
rounder2   
)
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.