FFmpeg
|
#include "libavcodec/vp9dsp.h"
#include "libavutil/loongarch/loongson_intrinsics.h"
#include "vp9dsp_loongarch.h"
#include "libavutil/attributes.h"
Go to the source code of this file.
Macros | |
#define | VP9_DCT_CONST_BITS 14 |
#define | ALLOC_ALIGNED(align) __attribute__ ((aligned(align))) |
#define | ROUND_POWER_OF_TWO(value, n) (((value) + (1 << ((n) - 1))) >> (n)) |
#define | VP9_DOTP_CONST_PAIR(reg0, reg1, cnst0, cnst1, out0, out1) |
#define | VP9_SET_COSPI_PAIR(c0_h, c1_h) |
#define | VP9_ADDBLK_ST8x4_UB(dst, dst_stride, in0, in1, in2, in3) |
#define | VP9_UNPCK_UB_SH(in, out_h, out_l) |
#define | VP9_ILVLTRANS4x8_H(in0, in1, in2, in3, in4, in5, in6, in7, out0, out1, out2, out3, out4, out5, out6, out7) |
#define | VP9_MADD(inp0, inp1, inp2, inp3, cst0, cst1, cst2, cst3, out0, out1, out2, out3) |
#define | VP9_SET_CONST_PAIR(mask_h, idx1_h, idx2_h) |
#define | VP9_IDCT8x8_1D(in0, in1, in2, in3, in4, in5, in6, in7, out0, out1, out2, out3, out4, out5, out6, out7) |
#define | SUB(a, b) __lsx_vsub_h(a, b) |
Functions | |
static av_always_inline void | vp9_idct8x8_1_add_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct8x8_12_colcol_addblk_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct8x8_colcol_addblk_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct16_1d_columns_addblk_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct16_1d_columns_lsx (int16_t *input, int16_t *output) |
static void | vp9_idct16x16_1_add_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct16x16_10_colcol_addblk_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct16x16_colcol_addblk_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct_butterfly_transpose_store (int16_t *tmp_buf, int16_t *tmp_eve_buf, int16_t *tmp_odd_buf, int16_t *dst) |
static void | vp9_idct8x32_column_even_process_store (int16_t *tmp_buf, int16_t *tmp_eve_buf) |
static void | vp9_idct8x32_column_odd_process_store (int16_t *tmp_buf, int16_t *tmp_odd_buf) |
static void | vp9_idct8x32_column_butterfly_addblk (int16_t *tmp_eve_buf, int16_t *tmp_odd_buf, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct8x32_1d_columns_addblk_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct8x32_1d_columns_lsx (int16_t *input, int16_t *output, int16_t *tmp_buf) |
static void | vp9_idct32x32_1_add_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct32x32_34_colcol_addblk_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
static void | vp9_idct32x32_colcol_addblk_lsx (int16_t *input, uint8_t *dst, int32_t dst_stride) |
void | ff_idct_idct_8x8_add_lsx (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob) |
void | ff_idct_idct_16x16_add_lsx (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob) |
void | ff_idct_idct_32x32_add_lsx (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob) |
#define VP9_DCT_CONST_BITS 14 |
Definition at line 27 of file vp9_idct_lsx.c.
#define ALLOC_ALIGNED | ( | align | ) | __attribute__ ((aligned(align))) |
Definition at line 28 of file vp9_idct_lsx.c.
Definition at line 29 of file vp9_idct_lsx.c.
#define VP9_DOTP_CONST_PAIR | ( | reg0, | |
reg1, | |||
cnst0, | |||
cnst1, | |||
out0, | |||
out1 | |||
) |
Definition at line 68 of file vp9_idct_lsx.c.
#define VP9_SET_COSPI_PAIR | ( | c0_h, | |
c1_h | |||
) |
Definition at line 90 of file vp9_idct_lsx.c.
#define VP9_ADDBLK_ST8x4_UB | ( | dst, | |
dst_stride, | |||
in0, | |||
in1, | |||
in2, | |||
in3 | |||
) |
Definition at line 101 of file vp9_idct_lsx.c.
#define VP9_UNPCK_UB_SH | ( | in, | |
out_h, | |||
out_l | |||
) |
Definition at line 125 of file vp9_idct_lsx.c.
#define VP9_ILVLTRANS4x8_H | ( | in0, | |
in1, | |||
in2, | |||
in3, | |||
in4, | |||
in5, | |||
in6, | |||
in7, | |||
out0, | |||
out1, | |||
out2, | |||
out3, | |||
out4, | |||
out5, | |||
out6, | |||
out7 | |||
) |
Definition at line 132 of file vp9_idct_lsx.c.
#define VP9_MADD | ( | inp0, | |
inp1, | |||
inp2, | |||
inp3, | |||
cst0, | |||
cst1, | |||
cst2, | |||
cst3, | |||
out0, | |||
out1, | |||
out2, | |||
out3 | |||
) |
Definition at line 158 of file vp9_idct_lsx.c.
#define VP9_SET_CONST_PAIR | ( | mask_h, | |
idx1_h, | |||
idx2_h | |||
) |
Definition at line 183 of file vp9_idct_lsx.c.
#define VP9_IDCT8x8_1D | ( | in0, | |
in1, | |||
in2, | |||
in3, | |||
in4, | |||
in5, | |||
in6, | |||
in7, | |||
out0, | |||
out1, | |||
out2, | |||
out3, | |||
out4, | |||
out5, | |||
out6, | |||
out7 | |||
) |
Definition at line 194 of file vp9_idct_lsx.c.
|
static |
Definition at line 232 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_8x8_add_lsx().
|
static |
Definition at line 250 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_8x8_add_lsx().
|
static |
Definition at line 333 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_8x8_add_lsx().
|
static |
Definition at line 372 of file vp9_idct_lsx.c.
Referenced by vp9_idct16x16_10_colcol_addblk_lsx(), and vp9_idct16x16_colcol_addblk_lsx().
|
static |
Definition at line 498 of file vp9_idct_lsx.c.
Referenced by vp9_idct16x16_10_colcol_addblk_lsx(), and vp9_idct16x16_colcol_addblk_lsx().
|
static |
Definition at line 637 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_16x16_add_lsx().
|
static |
Definition at line 680 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_16x16_add_lsx().
|
static |
Definition at line 715 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_16x16_add_lsx().
|
static |
Definition at line 736 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_1d_columns_lsx().
|
static |
Definition at line 879 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_1d_columns_addblk_lsx(), and vp9_idct8x32_1d_columns_lsx().
|
static |
Definition at line 994 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_1d_columns_addblk_lsx(), and vp9_idct8x32_1d_columns_lsx().
|
static |
Definition at line 1152 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_1d_columns_addblk_lsx().
|
static |
Definition at line 1246 of file vp9_idct_lsx.c.
Referenced by vp9_idct32x32_34_colcol_addblk_lsx(), and vp9_idct32x32_colcol_addblk_lsx().
|
static |
Definition at line 1258 of file vp9_idct_lsx.c.
Referenced by vp9_idct32x32_34_colcol_addblk_lsx(), and vp9_idct32x32_colcol_addblk_lsx().
|
static |
Definition at line 1270 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_32x32_add_lsx().
|
static |
Definition at line 1313 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_32x32_add_lsx().
|
static |
Definition at line 1347 of file vp9_idct_lsx.c.
Referenced by ff_idct_idct_32x32_add_lsx().
void ff_idct_idct_8x8_add_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int16_t * | block, | ||
int | eob | ||
) |
Definition at line 1370 of file vp9_idct_lsx.c.
void ff_idct_idct_16x16_add_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int16_t * | block, | ||
int | eob | ||
) |
Definition at line 1384 of file vp9_idct_lsx.c.
void ff_idct_idct_32x32_add_lsx | ( | uint8_t * | dst, |
ptrdiff_t | stride, | ||
int16_t * | block, | ||
int | eob | ||
) |
Definition at line 1399 of file vp9_idct_lsx.c.
const int32_t cospi_1_64 = 16364 |
Definition at line 31 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_2_64 = 16305 |
Definition at line 32 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), and vp9_idct8x32_column_even_process_store().
const int32_t cospi_3_64 = 16207 |
Definition at line 33 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_4_64 = 16069 |
Definition at line 34 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), vp9_idct8x32_column_even_process_store(), vp9_idct8x32_column_odd_process_store(), and vp9_idct8x8_12_colcol_addblk_lsx().
const int32_t cospi_5_64 = 15893 |
Definition at line 35 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_6_64 = 15679 |
Definition at line 36 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), and vp9_idct8x32_column_even_process_store().
const int32_t cospi_7_64 = 15426 |
Definition at line 37 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_8_64 = 15137 |
Definition at line 38 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), vp9_idct8x32_column_even_process_store(), vp9_idct8x32_column_odd_process_store(), and vp9_idct8x8_12_colcol_addblk_lsx().
const int32_t cospi_9_64 = 14811 |
Definition at line 39 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_10_64 = 14449 |
Definition at line 40 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), and vp9_idct8x32_column_even_process_store().
const int32_t cospi_11_64 = 14053 |
Definition at line 41 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_12_64 = 13623 |
Definition at line 42 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), vp9_idct8x32_column_even_process_store(), vp9_idct8x32_column_odd_process_store(), and vp9_idct8x8_12_colcol_addblk_lsx().
const int32_t cospi_13_64 = 13160 |
Definition at line 43 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_14_64 = 12665 |
Definition at line 44 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), and vp9_idct8x32_column_even_process_store().
const int32_t cospi_15_64 = 12140 |
Definition at line 45 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_16_64 = 11585 |
Definition at line 46 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), vp9_idct16x16_1_add_lsx(), vp9_idct32x32_1_add_lsx(), vp9_idct8x32_column_even_process_store(), vp9_idct8x32_column_odd_process_store(), vp9_idct8x8_12_colcol_addblk_lsx(), and vp9_idct8x8_1_add_lsx().
const int32_t cospi_17_64 = 11003 |
Definition at line 47 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_18_64 = 10394 |
Definition at line 48 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), and vp9_idct8x32_column_even_process_store().
const int32_t cospi_19_64 = 9760 |
Definition at line 49 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_20_64 = 9102 |
Definition at line 50 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), vp9_idct8x32_column_even_process_store(), vp9_idct8x32_column_odd_process_store(), and vp9_idct8x8_12_colcol_addblk_lsx().
const int32_t cospi_21_64 = 8423 |
Definition at line 51 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_22_64 = 7723 |
Definition at line 52 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), and vp9_idct8x32_column_even_process_store().
const int32_t cospi_23_64 = 7005 |
Definition at line 53 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_24_64 = 6270 |
Definition at line 54 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), vp9_idct8x32_column_even_process_store(), vp9_idct8x32_column_odd_process_store(), and vp9_idct8x8_12_colcol_addblk_lsx().
const int32_t cospi_25_64 = 5520 |
Definition at line 55 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_26_64 = 4756 |
Definition at line 56 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), and vp9_idct8x32_column_even_process_store().
const int32_t cospi_27_64 = 3981 |
Definition at line 57 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_28_64 = 3196 |
Definition at line 58 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), vp9_idct8x32_column_even_process_store(), vp9_idct8x32_column_odd_process_store(), and vp9_idct8x8_12_colcol_addblk_lsx().
const int32_t cospi_29_64 = 2404 |
Definition at line 59 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t cospi_30_64 = 1606 |
Definition at line 60 of file vp9_idct_lsx.c.
Referenced by vp9_idct16_1d_columns_addblk_lsx(), vp9_idct16_1d_columns_lsx(), and vp9_idct8x32_column_even_process_store().
const int32_t cospi_31_64 = 804 |
Definition at line 61 of file vp9_idct_lsx.c.
Referenced by vp9_idct8x32_column_odd_process_store().
const int32_t sinpi_1_9 = 5283 |
Definition at line 63 of file vp9_idct_lsx.c.
const int32_t sinpi_2_9 = 9929 |
Definition at line 64 of file vp9_idct_lsx.c.
const int32_t sinpi_3_9 = 13377 |
Definition at line 65 of file vp9_idct_lsx.c.
const int32_t sinpi_4_9 = 15212 |
Definition at line 66 of file vp9_idct_lsx.c.