120 int8_t
ref[2][40], int16_t
mv[2][40][2],
121 int bidir,
int edges,
int step,
122 int mask_mv0,
int mask_mv1,
int field)
125 v16i8 ref_0, ref_1, ref_2, ref_3;
127 v8i16 tmp_2, tmp_3, tmp_4, tmp_5, tmp_6;
128 v16i8 cnst_0, cnst_1, cnst_2;
130 v16i8 one = __msa_fill_b(0xff);
132 cnst_0 = (v16i8)__msa_fill_h(0x206);
133 cnst_1 = (v16i8)__msa_fill_h(0x103);
134 cnst_2 = (v16i8)__msa_fill_h(0x101);
136 cnst_0 = __msa_fill_b(0x6);
137 cnst_1 = __msa_fill_b(0x3);
138 cnst_2 = __msa_fill_b(0x1);
146 LD_SB2((int8_t*)bS, 16, tmp_0, tmp_1);
147 tmp_2 = (v8i16)__msa_ilvl_d((v2i64)tmp_0, (v2i64)tmp_0);
148 tmp_3 = (v8i16)__msa_ilvl_d((v2i64)tmp_1, (v2i64)tmp_1);
150 tmp_0 = (v16i8)__msa_ilvr_d((v2i64)tmp_3, (v2i64)tmp_2);
151 tmp_1 = (v16i8)__msa_ilvr_d((v2i64)tmp_5, (v2i64)tmp_4);
152 ST_SB2(tmp_0, tmp_1, (int8_t*)bS, 16);
void ff_h264_loop_filter_strength_msa(int16_t bS[2][4][4], uint8_t nnz[40], int8_t ref[2][40], int16_t mv[2][40][2], int bidir, int edges, int step, int mask_mv0, int mask_mv1, int field)