FFmpeg
Macros | Functions | Variables
vp9_idct_msa.c File Reference
#include <string.h>
#include "libavcodec/vp9dsp.h"
#include "libavutil/mips/generic_macros_msa.h"
#include "vp9dsp_mips.h"

Go to the source code of this file.

Macros

#define VP9_DCT_CONST_BITS   14
 
#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_DOT_ADD_SUB_SRARI_PCK(in0, in1, in2, in3, in4, in5, in6, in7, dst0, dst1, dst2, dst3)
 
#define VP9_DOT_SHIFT_RIGHT_PCK_H(in0, in1, in2)
 
#define VP9_ADST8(in0, in1, in2, in3, in4, in5, in6, in7, out0, out1, out2, out3, out4, out5, out6, out7)
 
#define VP9_MADD_SHORT(m0, m1, c0, c1, res0, res1)
 
#define VP9_MADD_BF(inp0, inp1, inp2, inp3, cst0, cst1, cst2, cst3, out0, out1, out2, out3)
 
#define VP9_SET_COSPI_PAIR(c0_h, c1_h)
 
#define VP9_ADDBLK_ST8x4_UB(dst, dst_stride, in0, in1, in2, in3)
 
#define VP9_IDCT4x4(in0, in1, in2, in3, out0, out1, out2, out3)
 
#define VP9_IADST4x4(in0, in1, in2, in3, out0, out1, out2, out3)
 
#define TRANSPOSE4X8_SH_SH(in0, in1, in2, in3, in4, in5, in6, in7, out0, out1, out2, out3, out4, out5, out6, out7)
 
#define VP9_SET_CONST_PAIR(mask_h, idx1_h, idx2_h)
 
#define VP9_MADD(inp0, inp1, inp2, inp3, cst0, cst1, cst2, cst3, out0, out1, out2, out3)
 
#define VP9_IDCT8x8_1D(in0, in1, in2, in3, in4, in5, in6, in7, out0, out1, out2, out3, out4, out5, out6, out7)
 
#define VP9_IADST8x8_1D(in0, in1, in2, in3, in4, in5, in6, in7, out0, out1, out2, out3, out4, out5, out6, out7)
 
#define VP9_IADST8x16_1D(r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, out0, out1, out2, out3, out4, out5, out6, out7, out8, out9, out10, out11, out12, out13, out14, out15)
 

Functions

static void vp9_idct4x4_1_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct4x4_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_iadst4x4_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_iadst_idct_4x4_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride, int32_t eob)
 
static void vp9_idct_iadst_4x4_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride, int32_t eob)
 
static void vp9_idct8x8_1_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct8x8_12_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct8x8_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_iadst8x8_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_iadst_idct_8x8_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride, int32_t eob)
 
static void vp9_idct_iadst_8x8_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride, int32_t eob)
 
static void vp9_idct16_1d_columns_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct16_1d_columns_msa (int16_t *input, int16_t *output)
 
static void vp9_idct16x16_1_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct16x16_10_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct16x16_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_iadst16_1d_columns_msa (int16_t *input, int16_t *output)
 
static void vp9_iadst16_1d_columns_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_iadst16x16_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_iadst_idct_16x16_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride, int32_t eob)
 
static void vp9_idct_iadst_16x16_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride, int32_t eob)
 
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_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct8x32_1d_columns_msa (int16_t *input, int16_t *output, int16_t *tmp_buf)
 
static void vp9_idct32x32_1_add_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct32x32_34_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
static void vp9_idct32x32_colcol_addblk_msa (int16_t *input, uint8_t *dst, int32_t dst_stride)
 
void ff_idct_idct_4x4_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_idct_idct_8x8_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_idct_idct_16x16_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_idct_idct_32x32_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_iadst_iadst_4x4_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_iadst_iadst_8x8_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_iadst_iadst_16x16_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_idct_iadst_4x4_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_idct_iadst_8x8_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_idct_iadst_16x16_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_iadst_idct_4x4_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_iadst_idct_8x8_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 
void ff_iadst_idct_16x16_add_msa (uint8_t *dst, ptrdiff_t stride, int16_t *block, int eob)
 

Variables

static const int32_t cospi_1_64 = 16364
 
static const int32_t cospi_2_64 = 16305
 
static const int32_t cospi_3_64 = 16207
 
static const int32_t cospi_4_64 = 16069
 
static const int32_t cospi_5_64 = 15893
 
static const int32_t cospi_6_64 = 15679
 
static const int32_t cospi_7_64 = 15426
 
static const int32_t cospi_8_64 = 15137
 
static const int32_t cospi_9_64 = 14811
 
static const int32_t cospi_10_64 = 14449
 
static const int32_t cospi_11_64 = 14053
 
static const int32_t cospi_12_64 = 13623
 
static const int32_t cospi_13_64 = 13160
 
static const int32_t cospi_14_64 = 12665
 
static const int32_t cospi_15_64 = 12140
 
static const int32_t cospi_16_64 = 11585
 
static const int32_t cospi_17_64 = 11003
 
static const int32_t cospi_18_64 = 10394
 
static const int32_t cospi_19_64 = 9760
 
static const int32_t cospi_20_64 = 9102
 
static const int32_t cospi_21_64 = 8423
 
static const int32_t cospi_22_64 = 7723
 
static const int32_t cospi_23_64 = 7005
 
static const int32_t cospi_24_64 = 6270
 
static const int32_t cospi_25_64 = 5520
 
static const int32_t cospi_26_64 = 4756
 
static const int32_t cospi_27_64 = 3981
 
static const int32_t cospi_28_64 = 3196
 
static const int32_t cospi_29_64 = 2404
 
static const int32_t cospi_30_64 = 1606
 
static const int32_t cospi_31_64 = 804
 
static const int32_t sinpi_1_9 = 5283
 
static const int32_t sinpi_2_9 = 9929
 
static const int32_t sinpi_3_9 = 13377
 
static const int32_t sinpi_4_9 = 15212
 

Macro Definition Documentation

◆ VP9_DCT_CONST_BITS

#define VP9_DCT_CONST_BITS   14

Definition at line 26 of file vp9_idct_msa.c.

◆ ROUND_POWER_OF_TWO

#define ROUND_POWER_OF_TWO (   value,
 
)    (((value) + (1 << ((n) - 1))) >> (n))

Definition at line 27 of file vp9_idct_msa.c.

◆ VP9_DOTP_CONST_PAIR

#define VP9_DOTP_CONST_PAIR (   reg0,
  reg1,
  cnst0,
  cnst1,
  out0,
  out1 
)
Value:
{ \
v8i16 k0_m = __msa_fill_h(cnst0); \
v4i32 s0_m, s1_m, s2_m, s3_m; \
\
s0_m = (v4i32) __msa_fill_h(cnst1); \
k0_m = __msa_ilvev_h((v8i16) s0_m, k0_m); \
ILVRL_H2_SW((-reg1), reg0, s1_m, s0_m); \
ILVRL_H2_SW(reg0, reg1, s3_m, s2_m); \
DOTP_SH2_SW(s1_m, s0_m, k0_m, k0_m, s1_m, s0_m); \
SRARI_W2_SW(s1_m, s0_m, VP9_DCT_CONST_BITS); \
out0 = __msa_pckev_h((v8i16) s0_m, (v8i16) s1_m); \
DOTP_SH2_SW(s3_m, s2_m, k0_m, k0_m, s1_m, s0_m); \
SRARI_W2_SW(s1_m, s0_m, VP9_DCT_CONST_BITS); \
out1 = __msa_pckev_h((v8i16) s0_m, (v8i16) s1_m); \
}

Definition at line 67 of file vp9_idct_msa.c.

◆ VP9_DOT_ADD_SUB_SRARI_PCK

#define VP9_DOT_ADD_SUB_SRARI_PCK (   in0,
  in1,
  in2,
  in3,
  in4,
  in5,
  in6,
  in7,
  dst0,
  dst1,
  dst2,
  dst3 
)
Value:
{ \
v4i32 tp0_m, tp1_m, tp2_m, tp3_m, tp4_m; \
v4i32 tp5_m, tp6_m, tp7_m, tp8_m, tp9_m; \
DOTP_SH4_SW(in0, in1, in0, in1, in4, in4, in5, in5, \
tp0_m, tp2_m, tp3_m, tp4_m); \
DOTP_SH4_SW(in2, in3, in2, in3, in6, in6, in7, in7, \
tp5_m, tp6_m, tp7_m, tp8_m); \
BUTTERFLY_4(tp0_m, tp3_m, tp7_m, tp5_m, tp1_m, tp9_m, tp7_m, tp5_m); \
BUTTERFLY_4(tp2_m, tp4_m, tp8_m, tp6_m, tp3_m, tp0_m, tp4_m, tp2_m); \
SRARI_W4_SW(tp1_m, tp9_m, tp7_m, tp5_m, VP9_DCT_CONST_BITS); \
SRARI_W4_SW(tp3_m, tp0_m, tp4_m, tp2_m, VP9_DCT_CONST_BITS); \
PCKEV_H4_SH(tp1_m, tp3_m, tp9_m, tp0_m, tp7_m, tp4_m, tp5_m, tp2_m, \
dst0, dst1, dst2, dst3); \
}

Definition at line 86 of file vp9_idct_msa.c.

◆ VP9_DOT_SHIFT_RIGHT_PCK_H

#define VP9_DOT_SHIFT_RIGHT_PCK_H (   in0,
  in1,
  in2 
)
Value:
( { \
v8i16 dst_m; \
v4i32 tp0_m, tp1_m; \
DOTP_SH2_SW(in0, in1, in2, in2, tp1_m, tp0_m); \
SRARI_W2_SW(tp1_m, tp0_m, VP9_DCT_CONST_BITS); \
dst_m = __msa_pckev_h((v8i16) tp1_m, (v8i16) tp0_m); \
\
dst_m; \
} )

Definition at line 104 of file vp9_idct_msa.c.

◆ VP9_ADST8

#define VP9_ADST8 (   in0,
  in1,
  in2,
  in3,
  in4,
  in5,
  in6,
  in7,
  out0,
  out1,
  out2,
  out3,
  out4,
  out5,
  out6,
  out7 
)

Definition at line 116 of file vp9_idct_msa.c.

◆ VP9_MADD_SHORT

#define VP9_MADD_SHORT (   m0,
  m1,
  c0,
  c1,
  res0,
  res1 
)
Value:
{ \
v4i32 madd0_m, madd1_m, madd2_m, madd3_m; \
v8i16 madd_s0_m, madd_s1_m; \
ILVRL_H2_SH(m1, m0, madd_s0_m, madd_s1_m); \
DOTP_SH4_SW(madd_s0_m, madd_s1_m, madd_s0_m, madd_s1_m, \
c0, c0, c1, c1, madd0_m, madd1_m, madd2_m, madd3_m); \
SRARI_W4_SW(madd0_m, madd1_m, madd2_m, madd3_m, VP9_DCT_CONST_BITS); \
PCKEV_H2_SH(madd1_m, madd0_m, madd3_m, madd2_m, res0, res1); \
}

Definition at line 184 of file vp9_idct_msa.c.

◆ VP9_MADD_BF

#define VP9_MADD_BF (   inp0,
  inp1,
  inp2,
  inp3,
  cst0,
  cst1,
  cst2,
  cst3,
  out0,
  out1,
  out2,
  out3 
)
Value:
{ \
v8i16 madd_s0_m, madd_s1_m, madd_s2_m, madd_s3_m; \
v4i32 tmp0_m, tmp1_m, tmp2_m, tmp3_m, m4_m, m5_m; \
ILVRL_H2_SH(inp1, inp0, madd_s0_m, madd_s1_m); \
ILVRL_H2_SH(inp3, inp2, madd_s2_m, madd_s3_m); \
DOTP_SH4_SW(madd_s0_m, madd_s1_m, madd_s2_m, madd_s3_m, \
cst0, cst0, cst2, cst2, tmp0_m, tmp1_m, tmp2_m, tmp3_m); \
BUTTERFLY_4(tmp0_m, tmp1_m, tmp3_m, tmp2_m, \
m4_m, m5_m, tmp3_m, tmp2_m); \
SRARI_W4_SW(m4_m, m5_m, tmp2_m, tmp3_m, VP9_DCT_CONST_BITS); \
PCKEV_H2_SH(m5_m, m4_m, tmp3_m, tmp2_m, out0, out1); \
DOTP_SH4_SW(madd_s0_m, madd_s1_m, madd_s2_m, madd_s3_m, \
cst1, cst1, cst3, cst3, tmp0_m, tmp1_m, tmp2_m, tmp3_m); \
BUTTERFLY_4(tmp0_m, tmp1_m, tmp3_m, tmp2_m, \
m4_m, m5_m, tmp3_m, tmp2_m); \
SRARI_W4_SW(m4_m, m5_m, tmp2_m, tmp3_m, VP9_DCT_CONST_BITS); \
PCKEV_H2_SH(m5_m, m4_m, tmp3_m, tmp2_m, out2, out3); \
}

Definition at line 196 of file vp9_idct_msa.c.

◆ VP9_SET_COSPI_PAIR

#define VP9_SET_COSPI_PAIR (   c0_h,
  c1_h 
)
Value:
( { \
v8i16 out0_m, r0_m, r1_m; \
\
r0_m = __msa_fill_h(c0_h); \
r1_m = __msa_fill_h(c1_h); \
out0_m = __msa_ilvev_h(r1_m, r0_m); \
\
out0_m; \
} )

Definition at line 218 of file vp9_idct_msa.c.

◆ VP9_ADDBLK_ST8x4_UB

#define VP9_ADDBLK_ST8x4_UB (   dst,
  dst_stride,
  in0,
  in1,
  in2,
  in3 
)
Value:
{ \
uint8_t *dst_m = (uint8_t *) (dst); \
v16u8 dst0_m, dst1_m, dst2_m, dst3_m; \
v16i8 tmp0_m, tmp1_m; \
v16i8 zero_m = { 0 }; \
v8i16 res0_m, res1_m, res2_m, res3_m; \
LD_UB4(dst_m, dst_stride, dst0_m, dst1_m, dst2_m, dst3_m); \
ILVR_B4_SH(zero_m, dst0_m, zero_m, dst1_m, zero_m, dst2_m, \
zero_m, dst3_m, res0_m, res1_m, res2_m, res3_m); \
ADD4(res0_m, in0, res1_m, in1, res2_m, in2, res3_m, in3, \
res0_m, res1_m, res2_m, res3_m); \
CLIP_SH4_0_255(res0_m, res1_m, res2_m, res3_m); \
PCKEV_B2_SB(res1_m, res0_m, res3_m, res2_m, tmp0_m, tmp1_m); \
ST_D4(tmp0_m, tmp1_m, 0, 1, 0, 1, dst_m, dst_stride); \
}

Definition at line 229 of file vp9_idct_msa.c.

◆ VP9_IDCT4x4

#define VP9_IDCT4x4 (   in0,
  in1,
  in2,
  in3,
  out0,
  out1,
  out2,
  out3 
)
Value:
{ \
v8i16 c0_m, c1_m, c2_m, c3_m; \
v8i16 step0_m, step1_m; \
v4i32 tmp0_m, tmp1_m, tmp2_m, tmp3_m; \
v16i8 zeros = { 0 }; \
\
step0_m = __msa_ilvr_h(in2, in0); \
DOTP_SH2_SW(step0_m, step0_m, c0_m, c1_m, tmp0_m, tmp1_m); \
\
step1_m = __msa_ilvr_h(in3, in1); \
DOTP_SH2_SW(step1_m, step1_m, c2_m, c3_m, tmp2_m, tmp3_m); \
SRARI_W4_SW(tmp0_m, tmp1_m, tmp2_m, tmp3_m, VP9_DCT_CONST_BITS); \
PCKEV_H2_SW(tmp1_m, tmp0_m, tmp3_m, tmp2_m, tmp0_m, tmp2_m); \
SLDI_B2_SW(zeros, tmp0_m, zeros, tmp2_m, 8, tmp1_m, tmp3_m); \
BUTTERFLY_4((v8i16) tmp0_m, (v8i16) tmp1_m, \
(v8i16) tmp2_m, (v8i16) tmp3_m, \
out0, out1, out2, out3); \
}

Definition at line 247 of file vp9_idct_msa.c.

◆ VP9_IADST4x4

#define VP9_IADST4x4 (   in0,
  in1,
  in2,
  in3,
  out0,
  out1,
  out2,
  out3 
)

Definition at line 272 of file vp9_idct_msa.c.

◆ TRANSPOSE4X8_SH_SH

#define TRANSPOSE4X8_SH_SH (   in0,
  in1,
  in2,
  in3,
  in4,
  in5,
  in6,
  in7,
  out0,
  out1,
  out2,
  out3,
  out4,
  out5,
  out6,
  out7 
)
Value:
{ \
v8i16 tmp0_m, tmp1_m, tmp2_m, tmp3_m; \
v8i16 tmp0_n, tmp1_n, tmp2_n, tmp3_n; \
v8i16 zero_m = { 0 }; \
ILVR_H4_SH(in1, in0, in3, in2, in5, in4, in7, in6, \
tmp0_n, tmp1_n, tmp2_n, tmp3_n); \
ILVRL_W2_SH(tmp1_n, tmp0_n, tmp0_m, tmp2_m); \
ILVRL_W2_SH(tmp3_n, tmp2_n, tmp1_m, tmp3_m); \
\
out0 = (v8i16) __msa_ilvr_d((v2i64) tmp1_m, (v2i64) tmp0_m); \
out1 = (v8i16) __msa_ilvl_d((v2i64) tmp1_m, (v2i64) tmp0_m); \
out2 = (v8i16) __msa_ilvr_d((v2i64) tmp3_m, (v2i64) tmp2_m); \
out3 = (v8i16) __msa_ilvl_d((v2i64) tmp3_m, (v2i64) tmp2_m); \
\
out4 = zero_m; \
out5 = zero_m; \
out6 = zero_m; \
out7 = zero_m; \
}

Definition at line 323 of file vp9_idct_msa.c.

◆ VP9_SET_CONST_PAIR

#define VP9_SET_CONST_PAIR (   mask_h,
  idx1_h,
  idx2_h 
)
Value:
( { \
v8i16 c0_m, c1_m; \
SPLATI_H2_SH(mask_h, idx1_h, idx2_h, c0_m, c1_m); \
c0_m = __msa_ilvev_h(c1_m, c0_m); \
\
c0_m; \
} )

Definition at line 449 of file vp9_idct_msa.c.

◆ VP9_MADD

#define VP9_MADD (   inp0,
  inp1,
  inp2,
  inp3,
  cst0,
  cst1,
  cst2,
  cst3,
  out0,
  out1,
  out2,
  out3 
)
Value:
{ \
v8i16 madd_s0_m, madd_s1_m, madd_s2_m, madd_s3_m; \
v4i32 tmp0_m, tmp1_m, tmp2_m, tmp3_m; \
ILVRL_H2_SH(inp1, inp0, madd_s1_m, madd_s0_m); \
ILVRL_H2_SH(inp3, inp2, madd_s3_m, madd_s2_m); \
DOTP_SH4_SW(madd_s1_m, madd_s0_m, madd_s1_m, madd_s0_m, \
cst0, cst0, cst1, cst1, tmp0_m, tmp1_m, tmp2_m, tmp3_m); \
SRARI_W4_SW(tmp0_m, tmp1_m, tmp2_m, tmp3_m, VP9_DCT_CONST_BITS); \
PCKEV_H2_SH(tmp1_m, tmp0_m, tmp3_m, tmp2_m, out0, out1); \
DOTP_SH4_SW(madd_s3_m, madd_s2_m, madd_s3_m, madd_s2_m, \
cst2, cst2, cst3, cst3, tmp0_m, tmp1_m, tmp2_m, tmp3_m); \
SRARI_W4_SW(tmp0_m, tmp1_m, tmp2_m, tmp3_m, VP9_DCT_CONST_BITS); \
PCKEV_H2_SH(tmp1_m, tmp0_m, tmp3_m, tmp2_m, out2, out3); \
}

Definition at line 460 of file vp9_idct_msa.c.

◆ VP9_IDCT8x8_1D

#define VP9_IDCT8x8_1D (   in0,
  in1,
  in2,
  in3,
  in4,
  in5,
  in6,
  in7,
  out0,
  out1,
  out2,
  out3,
  out4,
  out5,
  out6,
  out7 
)

Definition at line 479 of file vp9_idct_msa.c.

◆ VP9_IADST8x8_1D

#define VP9_IADST8x8_1D (   in0,
  in1,
  in2,
  in3,
  in4,
  in5,
  in6,
  in7,
  out0,
  out1,
  out2,
  out3,
  out4,
  out5,
  out6,
  out7 
)

Definition at line 513 of file vp9_idct_msa.c.

◆ VP9_IADST8x16_1D

#define VP9_IADST8x16_1D (   r0,
  r1,
  r2,
  r3,
  r4,
  r5,
  r6,
  r7,
  r8,
  r9,
  r10,
  r11,
  r12,
  r13,
  r14,
  r15,
  out0,
  out1,
  out2,
  out3,
  out4,
  out5,
  out6,
  out7,
  out8,
  out9,
  out10,
  out11,
  out12,
  out13,
  out14,
  out15 
)

Definition at line 889 of file vp9_idct_msa.c.

Function Documentation

◆ vp9_idct4x4_1_add_msa()

static void vp9_idct4x4_1_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 346 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_4x4_add_msa().

◆ vp9_idct4x4_colcol_addblk_msa()

static void vp9_idct4x4_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 361 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_4x4_add_msa().

◆ vp9_iadst4x4_colcol_addblk_msa()

static void vp9_iadst4x4_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 383 of file vp9_idct_msa.c.

Referenced by ff_iadst_iadst_4x4_add_msa().

◆ vp9_iadst_idct_4x4_add_msa()

static void vp9_iadst_idct_4x4_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  eob 
)
static

Definition at line 405 of file vp9_idct_msa.c.

Referenced by ff_iadst_idct_4x4_add_msa().

◆ vp9_idct_iadst_4x4_add_msa()

static void vp9_idct_iadst_4x4_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  eob 
)
static

Definition at line 427 of file vp9_idct_msa.c.

Referenced by ff_idct_iadst_4x4_add_msa().

◆ vp9_idct8x8_1_add_msa()

static void vp9_idct8x8_1_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 599 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_8x8_add_msa().

◆ vp9_idct8x8_12_colcol_addblk_msa()

static void vp9_idct8x8_12_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 617 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_8x8_add_msa().

◆ vp9_idct8x8_colcol_addblk_msa()

static void vp9_idct8x8_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 681 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_8x8_add_msa().

◆ vp9_iadst8x8_colcol_addblk_msa()

static void vp9_iadst8x8_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 708 of file vp9_idct_msa.c.

Referenced by ff_iadst_iadst_8x8_add_msa().

◆ vp9_iadst_idct_8x8_add_msa()

static void vp9_iadst_idct_8x8_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  eob 
)
static

Definition at line 834 of file vp9_idct_msa.c.

Referenced by ff_iadst_idct_8x8_add_msa().

◆ vp9_idct_iadst_8x8_add_msa()

static void vp9_idct_iadst_8x8_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  eob 
)
static

Definition at line 861 of file vp9_idct_msa.c.

Referenced by ff_idct_iadst_8x8_add_msa().

◆ vp9_idct16_1d_columns_addblk_msa()

static void vp9_idct16_1d_columns_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

◆ vp9_idct16_1d_columns_msa()

static void vp9_idct16_1d_columns_msa ( int16_t *  input,
int16_t *  output 
)
static

◆ vp9_idct16x16_1_add_msa()

static void vp9_idct16x16_1_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 1171 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_16x16_add_msa().

◆ vp9_idct16x16_10_colcol_addblk_msa()

static void vp9_idct16x16_10_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 1204 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_16x16_add_msa().

◆ vp9_idct16x16_colcol_addblk_msa()

static void vp9_idct16x16_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 1244 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_16x16_add_msa().

◆ vp9_iadst16_1d_columns_msa()

static void vp9_iadst16_1d_columns_msa ( int16_t *  input,
int16_t *  output 
)
static

◆ vp9_iadst16_1d_columns_addblk_msa()

static void vp9_iadst16_1d_columns_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

◆ vp9_iadst16x16_colcol_addblk_msa()

static void vp9_iadst16x16_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 1465 of file vp9_idct_msa.c.

Referenced by ff_iadst_iadst_16x16_add_msa().

◆ vp9_iadst_idct_16x16_add_msa()

static void vp9_iadst_idct_16x16_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  eob 
)
static

Definition at line 1486 of file vp9_idct_msa.c.

Referenced by ff_iadst_idct_16x16_add_msa().

◆ vp9_idct_iadst_16x16_add_msa()

static void vp9_idct_iadst_16x16_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride,
int32_t  eob 
)
static

Definition at line 1507 of file vp9_idct_msa.c.

Referenced by ff_idct_iadst_16x16_add_msa().

◆ vp9_idct_butterfly_transpose_store()

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

Definition at line 1528 of file vp9_idct_msa.c.

Referenced by vp9_idct8x32_1d_columns_msa().

◆ vp9_idct8x32_column_even_process_store()

static void vp9_idct8x32_column_even_process_store ( int16_t *  tmp_buf,
int16_t *  tmp_eve_buf 
)
static

◆ vp9_idct8x32_column_odd_process_store()

static void vp9_idct8x32_column_odd_process_store ( int16_t *  tmp_buf,
int16_t *  tmp_odd_buf 
)
static

◆ vp9_idct8x32_column_butterfly_addblk()

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

Definition at line 1845 of file vp9_idct_msa.c.

Referenced by vp9_idct8x32_1d_columns_addblk_msa().

◆ vp9_idct8x32_1d_columns_addblk_msa()

static void vp9_idct8x32_1d_columns_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

◆ vp9_idct8x32_1d_columns_msa()

static void vp9_idct8x32_1d_columns_msa ( int16_t *  input,
int16_t *  output,
int16_t *  tmp_buf 
)
static

◆ vp9_idct32x32_1_add_msa()

static void vp9_idct32x32_1_add_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 1957 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_32x32_add_msa().

◆ vp9_idct32x32_34_colcol_addblk_msa()

static void vp9_idct32x32_34_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 1995 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_32x32_add_msa().

◆ vp9_idct32x32_colcol_addblk_msa()

static void vp9_idct32x32_colcol_addblk_msa ( int16_t *  input,
uint8_t *  dst,
int32_t  dst_stride 
)
static

Definition at line 2042 of file vp9_idct_msa.c.

Referenced by ff_idct_idct_32x32_add_msa().

◆ ff_idct_idct_4x4_add_msa()

void ff_idct_idct_4x4_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2065 of file vp9_idct_msa.c.

◆ ff_idct_idct_8x8_add_msa()

void ff_idct_idct_8x8_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2076 of file vp9_idct_msa.c.

◆ ff_idct_idct_16x16_add_msa()

void ff_idct_idct_16x16_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2090 of file vp9_idct_msa.c.

◆ ff_idct_idct_32x32_add_msa()

void ff_idct_idct_32x32_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2105 of file vp9_idct_msa.c.

◆ ff_iadst_iadst_4x4_add_msa()

void ff_iadst_iadst_4x4_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2119 of file vp9_idct_msa.c.

◆ ff_iadst_iadst_8x8_add_msa()

void ff_iadst_iadst_8x8_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2125 of file vp9_idct_msa.c.

◆ ff_iadst_iadst_16x16_add_msa()

void ff_iadst_iadst_16x16_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2131 of file vp9_idct_msa.c.

◆ ff_idct_iadst_4x4_add_msa()

void ff_idct_iadst_4x4_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2137 of file vp9_idct_msa.c.

◆ ff_idct_iadst_8x8_add_msa()

void ff_idct_iadst_8x8_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2143 of file vp9_idct_msa.c.

◆ ff_idct_iadst_16x16_add_msa()

void ff_idct_iadst_16x16_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2149 of file vp9_idct_msa.c.

◆ ff_iadst_idct_4x4_add_msa()

void ff_iadst_idct_4x4_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2155 of file vp9_idct_msa.c.

◆ ff_iadst_idct_8x8_add_msa()

void ff_iadst_idct_8x8_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2161 of file vp9_idct_msa.c.

◆ ff_iadst_idct_16x16_add_msa()

void ff_iadst_idct_16x16_add_msa ( uint8_t *  dst,
ptrdiff_t  stride,
int16_t *  block,
int  eob 
)

Definition at line 2167 of file vp9_idct_msa.c.

Variable Documentation

◆ cospi_1_64

const int32_t cospi_1_64 = 16364
static

◆ cospi_2_64

const int32_t cospi_2_64 = 16305
static

◆ cospi_3_64

const int32_t cospi_3_64 = 16207
static

◆ cospi_4_64

const int32_t cospi_4_64 = 16069
static

◆ cospi_5_64

const int32_t cospi_5_64 = 15893
static

◆ cospi_6_64

const int32_t cospi_6_64 = 15679
static

◆ cospi_7_64

const int32_t cospi_7_64 = 15426
static

◆ cospi_8_64

const int32_t cospi_8_64 = 15137
static

◆ cospi_9_64

const int32_t cospi_9_64 = 14811
static

◆ cospi_10_64

const int32_t cospi_10_64 = 14449
static

◆ cospi_11_64

const int32_t cospi_11_64 = 14053
static

◆ cospi_12_64

const int32_t cospi_12_64 = 13623
static

◆ cospi_13_64

const int32_t cospi_13_64 = 13160
static

◆ cospi_14_64

const int32_t cospi_14_64 = 12665
static

◆ cospi_15_64

const int32_t cospi_15_64 = 12140
static

◆ cospi_16_64

const int32_t cospi_16_64 = 11585
static

◆ cospi_17_64

const int32_t cospi_17_64 = 11003
static

◆ cospi_18_64

const int32_t cospi_18_64 = 10394
static

◆ cospi_19_64

const int32_t cospi_19_64 = 9760
static

◆ cospi_20_64

const int32_t cospi_20_64 = 9102
static

◆ cospi_21_64

const int32_t cospi_21_64 = 8423
static

◆ cospi_22_64

const int32_t cospi_22_64 = 7723
static

◆ cospi_23_64

const int32_t cospi_23_64 = 7005
static

◆ cospi_24_64

const int32_t cospi_24_64 = 6270
static

◆ cospi_25_64

const int32_t cospi_25_64 = 5520
static

◆ cospi_26_64

const int32_t cospi_26_64 = 4756
static

◆ cospi_27_64

const int32_t cospi_27_64 = 3981
static

◆ cospi_28_64

const int32_t cospi_28_64 = 3196
static

◆ cospi_29_64

const int32_t cospi_29_64 = 2404
static

◆ cospi_30_64

const int32_t cospi_30_64 = 1606
static

◆ cospi_31_64

const int32_t cospi_31_64 = 804
static

◆ sinpi_1_9

const int32_t sinpi_1_9 = 5283
static

Definition at line 62 of file vp9_idct_msa.c.

◆ sinpi_2_9

const int32_t sinpi_2_9 = 9929
static

Definition at line 63 of file vp9_idct_msa.c.

◆ sinpi_3_9

const int32_t sinpi_3_9 = 13377
static

Definition at line 64 of file vp9_idct_msa.c.

◆ sinpi_4_9

const int32_t sinpi_4_9 = 15212
static

Definition at line 65 of file vp9_idct_msa.c.

PCKEV_H2_SW
#define PCKEV_H2_SW(...)
Definition: generic_macros_msa.h:1760
c1
static const uint64_t c1
Definition: murmur3.c:52
VP9_DCT_CONST_BITS
#define VP9_DCT_CONST_BITS
Definition: vp9_idct_msa.c:26
cospi_8_64
static const int32_t cospi_8_64
Definition: vp9_idct_msa.c:36
VP9_SET_COSPI_PAIR
#define VP9_SET_COSPI_PAIR(c0_h, c1_h)
Definition: vp9_idct_msa.c:218
ILVRL_H2_SH
#define ILVRL_H2_SH(...)
Definition: generic_macros_msa.h:1508
LD_UB4
#define LD_UB4(...)
Definition: generic_macros_msa.h:296
SPLATI_H2_SH
#define SPLATI_H2_SH(...)
Definition: generic_macros_msa.h:1656
ILVRL_H2_SW
#define ILVRL_H2_SW(...)
Definition: generic_macros_msa.h:1509
DOTP_SH4_SW
#define DOTP_SH4_SW(...)
Definition: generic_macros_msa.h:812
cospi_16_64
static const int32_t cospi_16_64
Definition: vp9_idct_msa.c:44
cospi_24_64
static const int32_t cospi_24_64
Definition: vp9_idct_msa.c:52
DOTP_SH2_SW
#define DOTP_SH2_SW(...)
Definition: generic_macros_msa.h:803
ILVR_H4_SH
#define ILVR_H4_SH(...)
Definition: generic_macros_msa.h:1408