#include "libavutil/common.h"
#include "libavcodec/dsputil.h"
#include "libavutil/x86_cpu.h"
#include "dsputil_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 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 591 of file idct_mmx.c.
#define mmx_table | ( | c1, | |||
c2, | |||||
c3, | |||||
c4, | |||||
c5, | |||||
c6, | |||||
c7 | ) |
#define mmxext_table | ( | c1, | |||
c2, | |||||
c3, | |||||
c4, | |||||
c5, | |||||
c6, | |||||
c7 | ) |
#define round | ( | bias | ) | ((int)(((bias)+0.5) * (1<<ROW_SHIFT))) |
Definition at line 32 of file idct_mmx.c.
Referenced by atrac3_decode_frame(), dequant(), normalize_double(), and vp8_init().
#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 |
Referenced by ff_jpegls_quantize(), idct_col(), and sha256_transform().
#define T2 27146 |
Referenced by ff_jpegls_quantize(), idct_col(), and sha256_transform().
#define T3 43790 |
Referenced by ff_jpegls_quantize(), and idct_col().
void ff_mmx_idct | ( | int16_t *const | block | ) |
Definition at line 629 of file idct_mmx.c.
void ff_mmxext_idct | ( | int16_t *const | block | ) |
Definition at line 626 of file idct_mmx.c.
static void idct_col | ( | int16_t *const | col, | |
const int | offset | |||
) | [inline, static] |
Definition at line 418 of file idct_mmx.c.
static void mmx_row | ( | const int16_t *const | table, | |
const int32_t *const | rounder | |||
) | [inline, static] |
Definition at line 236 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 213 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 306 of file idct_mmx.c.
static void mmx_row_tail | ( | int16_t *const | row, | |
const int | store | |||
) | [inline, static] |
Definition at line 279 of file idct_mmx.c.
static void mmxext_row | ( | const int16_t *const | table, | |
const int32_t *const | rounder | |||
) | [inline, static] |
Definition at line 107 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 170 of file idct_mmx.c.
static void mmxext_row_tail | ( | int16_t *const | row, | |
const int | store | |||
) | [inline, static] |
Definition at line 149 of file idct_mmx.c.
const int32_t rounder0[] [static] |
const int32_t rounder1[] [static] |
const int32_t rounder2[] [static] |
const int32_t rounder3[] [static] |
Definition at line 574 of file idct_mmx.c.
const int32_t rounder5[] [static] |
const int32_t rounder6[] [static] |
const int32_t rounder7[] [static] |