#include "libavutil/common.h"#include "libavutil/x86_cpu.h"#include "libavcodec/dsputil.h"Go to the source code of this file.
| Defines | |
| #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 | X8(x) x,x,x,x,x,x,x,x | 
| #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 | 
| #define | S(s) AV_TOSTRING(s) | 
| #define | FDCT_COL(cpu, mm, mov) | 
| #define | FDCT_ROW_SSE2_H1(i, t) | 
| #define | FDCT_ROW_SSE2_H2(i, t) | 
| #define | FDCT_ROW_SSE2(i) | 
| Functions | |
| static av_always_inline void | fdct_row_sse2 (const int16_t *in, int16_t *out) | 
| static av_always_inline void | fdct_row_mmx2 (const int16_t *in, int16_t *out, const int16_t *table) | 
| static av_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 | |
| static const int16_t | fdct_tg_all_16 [24] | 
| static const int16_t | ocos_4_16 [8] | 
| static const int16_t | fdct_one_corr [8] = { X8(1) } | 
| static const int32_t | fdct_r_row [2] = {RND_FRW_ROW, RND_FRW_ROW } | 
| static const int16_t | tab_frw_01234567 [] | 
| #define BITS_FRW_ACC 3 | 
Definition at line 48 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 | 
| #define C2 29692 | 
| #define C2 27969 | 
| #define C2 25172 | 
| #define C2 21407 | 
| #define C2 25172 | 
| #define C2 27969 | 
| #define C2 29692 | 
| #define C2 21407 | 
| #define C3 26722 | 
| #define C3 25172 | 
| #define C3 22654 | 
| #define C3 19266 | 
| #define C3 22654 | 
| #define C3 25172 | 
| #define C3 26722 | 
| #define C3 19266 | 
| #define C4 22725 | 
| #define C4 21407 | 
| #define C4 19266 | 
| #define C4 16384 | 
| #define C4 19266 | 
| #define C4 21407 | 
| #define C4 22725 | 
| #define C4 16384 | 
| #define C5 17855 | 
| #define C5 16819 | 
| #define C5 15137 | 
| #define C5 12873 | 
| #define C5 15137 | 
| #define C5 16819 | 
| #define C5 17855 | 
| #define C5 12873 | 
| #define C6 12299 | 
| #define C6 11585 | 
| #define C6 10426 | 
| #define C6 8867 | 
| #define C6 10426 | 
| #define C6 11585 | 
| #define C6 12299 | 
| #define C6 8867 | 
| #define C7 6270 | 
| #define C7 5906 | 
| #define C7 5315 | 
| #define C7 4520 | 
| #define C7 5315 | 
| #define C7 5906 | 
| #define C7 6270 | 
| #define C7 4520 | 
| #define FDCT_COL | ( | cpu, | |||
| mm, | |||||
| mov | ) | 
Definition at line 289 of file fdct_mmx.c.
| #define FDCT_ROW_SSE2 | ( | i | ) | 
Value:
"movq %%xmm2, %%xmm1 \n\t" \ "pshuflw $27, %%xmm0, %%xmm0 \n\t" \ "paddsw %%xmm0, %%xmm1 \n\t" \ "psubsw %%xmm0, %%xmm2 \n\t" \ "punpckldq %%xmm2, %%xmm1 \n\t" \ "pshufd $78, %%xmm1, %%xmm2 \n\t" \ "pmaddwd %%xmm2, %%xmm3 \n\t" \ "pmaddwd %%xmm1, %%xmm7 \n\t" \ "pmaddwd %%xmm5, %%xmm2 \n\t" \ "pmaddwd %%xmm4, %%xmm1 \n\t" \ "paddd %%xmm7, %%xmm3 \n\t" \ "paddd %%xmm2, %%xmm1 \n\t" \ "paddd %%xmm6, %%xmm3 \n\t" \ "paddd %%xmm6, %%xmm1 \n\t" \ "psrad %3, %%xmm3 \n\t" \ "psrad %3, %%xmm1 \n\t" \ "packssdw %%xmm3, %%xmm1 \n\t" \ "movdqa %%xmm1, " #i "(%4) \n\t"
Referenced by fdct_row_sse2().
| #define FDCT_ROW_SSE2_H1 | ( | i, | |||
| t | ) | 
Value:
"movq " #i "(%0), %%xmm2 \n\t" \ "movq " #i "+8(%0), %%xmm0 \n\t" \ "movdqa " #t "+32(%1), %%xmm3 \n\t" \ "movdqa " #t "+48(%1), %%xmm7 \n\t" \ "movdqa " #t "(%1), %%xmm4 \n\t" \ "movdqa " #t "+16(%1), %%xmm5 \n\t"
Referenced by fdct_row_sse2().
| #define FDCT_ROW_SSE2_H2 | ( | i, | |||
| t | ) | 
Value:
"movq " #i "(%0), %%xmm2 \n\t" \ "movq " #i "+8(%0), %%xmm0 \n\t" \ "movdqa " #t "+32(%1), %%xmm3 \n\t" \ "movdqa " #t "+48(%1), %%xmm7 \n\t"
Referenced by fdct_row_sse2().
| #define RND_FRW_ROW (1 << (SHIFT_FRW_ROW-1)) | 
Definition at line 51 of file fdct_mmx.c.
| #define S | ( | s | ) | AV_TOSTRING(s) | 
Definition at line 287 of file fdct_mmx.c.
| #define SHIFT_FRW_COL BITS_FRW_ACC | 
Definition at line 49 of file fdct_mmx.c.
| #define SHIFT_FRW_ROW (BITS_FRW_ACC + 17 - 3) | 
Definition at line 50 of file fdct_mmx.c.
Referenced by fdct_row_mmx(), fdct_row_mmx2(), and fdct_row_sse2().
| #define TABLE_SSE2 | 
| #define X8 | ( | x | ) | x,x,x,x,x,x,x,x | 
Definition at line 54 of file fdct_mmx.c.
| static av_always_inline void fdct_row_mmx | ( | const int16_t * | in, | |
| int16_t * | out, | |||
| const int16_t * | table | |||
| ) |  [static] | 
| static av_always_inline void fdct_row_mmx2 | ( | const int16_t * | in, | |
| int16_t * | out, | |||
| const int16_t * | table | |||
| ) |  [static] | 
| static av_always_inline void fdct_row_sse2 | ( | const int16_t * | in, | |
| int16_t * | out | |||
| ) |  [static] | 
| void ff_fdct_mmx | ( | int16_t * | block | ) | 
Definition at line 538 of file fdct_mmx.c.
| void ff_fdct_mmx2 | ( | int16_t * | block | ) | 
Definition at line 556 of file fdct_mmx.c.
| void ff_fdct_sse2 | ( | int16_t * | block | ) | 
Definition at line 574 of file fdct_mmx.c.
| const int16_t fdct_one_corr[8] = { X8(1) }  [static] | 
Definition at line 67 of file fdct_mmx.c.
| const int32_t fdct_r_row[2] = {RND_FRW_ROW, RND_FRW_ROW }  [static] | 
| static { ... } fdct_r_row_sse2 | 
| const int16_t fdct_tg_all_16[24]  [static] | 
| const int16_t ocos_4_16[8]  [static] | 
| const int16_t tab_frw_01234567[]  [static] | 
| static { ... } tab_frw_01234567_sse2 | 
 1.5.8
 1.5.8