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

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 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 |
Referenced by __attribute__(), idct4col(), idct4col_add(), and imdct36().
| #define C2 29692 |
| #define C2 27969 |
| #define C2 25172 |
| #define C2 21407 |
| #define C2 25172 |
| #define C2 27969 |
| #define C2 29692 |
| #define C2 21407 |
Referenced by __attribute__(), idct4col(), idct4col_add(), and imdct36().
| #define C3 26722 |
| #define C3 25172 |
| #define C3 22654 |
| #define C3 19266 |
| #define C3 22654 |
| #define C3 25172 |
| #define C3 26722 |
| #define C3 19266 |
Referenced by __attribute__(), idct4col_add(), imdct12(), and imdct36().
| #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 |
| static const int16_t fdct_tg_all_16 [] ATTR_ALIGN | ( | 8 | ) | [static] |
| static always_inline void fdct_col | ( | const int16_t * | in, | |
| int16_t * | out, | |||
| int | offset | |||
| ) | [static] |
Definition at line 271 of file fdct_mmx.c.
References fdct_one_corr, fdct_tg_all_16, movq_m2r, movq_r2m, movq_r2r, paddsw_m2r, paddsw_r2r, pmulhw_m2r, pmulhw_r2r, por_m2r, psllw_i2r, psubsw_m2r, psubsw_r2r, and SHIFT_FRW_COL.
Referenced by ff_fdct_mmx(), ff_fdct_mmx2(), and ff_fdct_sse2().
| static always_inline void fdct_row_mmx | ( | const int16_t * | in, | |
| int16_t * | out, | |||
| const int16_t * | table | |||
| ) | [static] |
Definition at line 456 of file fdct_mmx.c.
References fdct_r_row, movd_m2r, movq_m2r, movq_r2m, movq_r2r, packssdw_r2r, paddd_r2r, paddsw_r2r, pmaddwd_m2r, pmaddwd_r2r, psrad_i2r, psrlq_i2r, psubsw_r2r, punpckhdq_r2r, punpckldq_r2r, punpcklwd_m2r, punpcklwd_r2r, and SHIFT_FRW_ROW.
Referenced by ff_fdct_mmx().
| static always_inline void fdct_row_mmx2 | ( | const int16_t * | in, | |
| int16_t * | out, | |||
| const int16_t * | table | |||
| ) | [static] |
Definition at line 413 of file fdct_mmx.c.
References fdct_r_row, movq_m2r, movq_r2m, movq_r2r, packssdw_r2r, paddd_r2r, paddsw_r2r, pmaddwd_m2r, pmaddwd_r2r, pshufw_m2r, psrad_i2r, psubsw_r2r, punpckhdq_r2r, punpckldq_r2r, and SHIFT_FRW_ROW.
Referenced by ff_fdct_mmx2().
| static always_inline void fdct_row_sse2 | ( | const int16_t * | in, | |
| int16_t * | out | |||
| ) | [static] |
| 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.

| 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.

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

| struct { ... } ATTR_ALIGN |
Definition at line 50 of file fdct_mmx.c.
1.5.5