#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 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 | ||||
) |
{ 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 | ||||
) |
{ 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 |
Definition at line 29 of file idct_mmx.c.
Referenced by mmx_row(), mmx_row_mid(), mmx_row_tail(), mmxext_row(), mmxext_row_mid(), and mmxext_row_tail().
#define T1 13036 |
Referenced by ff_jpegls_quantize().
#define T2 27146 |
Referenced by ff_jpegls_quantize(), and sha256_transform().
#define T3 43790 |
Referenced by ff_jpegls_quantize().
DECLARE_ALIGNED | ( | 8 | , | |
static const | int32_t, | |||
rounder0 | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static const | int32_t, | |||
rounder4 | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static const | int32_t, | |||
rounder3 | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static const | int32_t, | |||
rounder6 | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static const | int32_t, | |||
rounder5 | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static const | int32_t, | |||
rounder1 | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
static const | int32_t, | |||
rounder7 | ||||
) |
DECLARE_ALIGNED | ( | 8 | , | |
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.