summaryrefslogtreecommitdiffstats
path: root/third_party/aom/aom_dsp/mips/intrapred_msa.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/aom/aom_dsp/mips/intrapred_msa.c')
-rw-r--r--third_party/aom/aom_dsp/mips/intrapred_msa.c190
1 files changed, 0 insertions, 190 deletions
diff --git a/third_party/aom/aom_dsp/mips/intrapred_msa.c b/third_party/aom/aom_dsp/mips/intrapred_msa.c
index e8eaec7a9..bcb9c9df9 100644
--- a/third_party/aom/aom_dsp/mips/intrapred_msa.c
+++ b/third_party/aom/aom_dsp/mips/intrapred_msa.c
@@ -382,176 +382,6 @@ static void intra_predict_128dc_32x32_msa(uint8_t *dst, int32_t dst_stride) {
}
}
-static void intra_predict_tm_4x4_msa(const uint8_t *src_top_ptr,
- const uint8_t *src_left, uint8_t *dst,
- int32_t dst_stride) {
- uint32_t val;
- uint8_t top_left = src_top_ptr[-1];
- v16i8 src_left0, src_left1, src_left2, src_left3, tmp0, tmp1, src_top = { 0 };
- v16u8 src0, src1, src2, src3;
- v8u16 src_top_left, vec0, vec1, vec2, vec3;
-
- src_top_left = (v8u16)__msa_fill_h(top_left);
- val = LW(src_top_ptr);
- src_top = (v16i8)__msa_insert_w((v4i32)src_top, 0, val);
-
- src_left0 = __msa_fill_b(src_left[0]);
- src_left1 = __msa_fill_b(src_left[1]);
- src_left2 = __msa_fill_b(src_left[2]);
- src_left3 = __msa_fill_b(src_left[3]);
-
- ILVR_B4_UB(src_left0, src_top, src_left1, src_top, src_left2, src_top,
- src_left3, src_top, src0, src1, src2, src3);
- HADD_UB4_UH(src0, src1, src2, src3, vec0, vec1, vec2, vec3);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, vec0, vec1);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, vec2, vec3);
- SAT_UH4_UH(vec0, vec1, vec2, vec3, 7);
- PCKEV_B2_SB(vec1, vec0, vec3, vec2, tmp0, tmp1);
- ST4x4_UB(tmp0, tmp1, 0, 2, 0, 2, dst, dst_stride);
-}
-
-static void intra_predict_tm_8x8_msa(const uint8_t *src_top_ptr,
- const uint8_t *src_left, uint8_t *dst,
- int32_t dst_stride) {
- uint64_t val;
- uint8_t top_left = src_top_ptr[-1];
- uint32_t loop_cnt;
- v16i8 src_left0, src_left1, src_left2, src_left3, tmp0, tmp1, src_top = { 0 };
- v8u16 src_top_left, vec0, vec1, vec2, vec3;
- v16u8 src0, src1, src2, src3;
-
- val = LD(src_top_ptr);
- src_top = (v16i8)__msa_insert_d((v2i64)src_top, 0, val);
- src_top_left = (v8u16)__msa_fill_h(top_left);
-
- for (loop_cnt = 2; loop_cnt--;) {
- src_left0 = __msa_fill_b(src_left[0]);
- src_left1 = __msa_fill_b(src_left[1]);
- src_left2 = __msa_fill_b(src_left[2]);
- src_left3 = __msa_fill_b(src_left[3]);
- src_left += 4;
-
- ILVR_B4_UB(src_left0, src_top, src_left1, src_top, src_left2, src_top,
- src_left3, src_top, src0, src1, src2, src3);
- HADD_UB4_UH(src0, src1, src2, src3, vec0, vec1, vec2, vec3);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, vec0, vec1);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, vec2, vec3);
- SAT_UH4_UH(vec0, vec1, vec2, vec3, 7);
- PCKEV_B2_SB(vec1, vec0, vec3, vec2, tmp0, tmp1);
- ST8x4_UB(tmp0, tmp1, dst, dst_stride);
- dst += (4 * dst_stride);
- }
-}
-
-static void intra_predict_tm_16x16_msa(const uint8_t *src_top_ptr,
- const uint8_t *src_left, uint8_t *dst,
- int32_t dst_stride) {
- uint8_t top_left = src_top_ptr[-1];
- uint32_t loop_cnt;
- v16i8 src_top, src_left0, src_left1, src_left2, src_left3;
- v8u16 src_top_left, res_r, res_l;
-
- src_top = LD_SB(src_top_ptr);
- src_top_left = (v8u16)__msa_fill_h(top_left);
-
- for (loop_cnt = 4; loop_cnt--;) {
- src_left0 = __msa_fill_b(src_left[0]);
- src_left1 = __msa_fill_b(src_left[1]);
- src_left2 = __msa_fill_b(src_left[2]);
- src_left3 = __msa_fill_b(src_left[3]);
- src_left += 4;
-
- ILVRL_B2_UH(src_left0, src_top, res_r, res_l);
- HADD_UB2_UH(res_r, res_l, res_r, res_l);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r, res_l);
-
- SAT_UH2_UH(res_r, res_l, 7);
- PCKEV_ST_SB(res_r, res_l, dst);
- dst += dst_stride;
-
- ILVRL_B2_UH(src_left1, src_top, res_r, res_l);
- HADD_UB2_UH(res_r, res_l, res_r, res_l);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r, res_l);
- SAT_UH2_UH(res_r, res_l, 7);
- PCKEV_ST_SB(res_r, res_l, dst);
- dst += dst_stride;
-
- ILVRL_B2_UH(src_left2, src_top, res_r, res_l);
- HADD_UB2_UH(res_r, res_l, res_r, res_l);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r, res_l);
- SAT_UH2_UH(res_r, res_l, 7);
- PCKEV_ST_SB(res_r, res_l, dst);
- dst += dst_stride;
-
- ILVRL_B2_UH(src_left3, src_top, res_r, res_l);
- HADD_UB2_UH(res_r, res_l, res_r, res_l);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r, res_l);
- SAT_UH2_UH(res_r, res_l, 7);
- PCKEV_ST_SB(res_r, res_l, dst);
- dst += dst_stride;
- }
-}
-
-static void intra_predict_tm_32x32_msa(const uint8_t *src_top,
- const uint8_t *src_left, uint8_t *dst,
- int32_t dst_stride) {
- uint8_t top_left = src_top[-1];
- uint32_t loop_cnt;
- v16i8 src_top0, src_top1, src_left0, src_left1, src_left2, src_left3;
- v8u16 src_top_left, res_r0, res_r1, res_l0, res_l1;
-
- LD_SB2(src_top, 16, src_top0, src_top1);
- src_top_left = (v8u16)__msa_fill_h(top_left);
-
- for (loop_cnt = 8; loop_cnt--;) {
- src_left0 = __msa_fill_b(src_left[0]);
- src_left1 = __msa_fill_b(src_left[1]);
- src_left2 = __msa_fill_b(src_left[2]);
- src_left3 = __msa_fill_b(src_left[3]);
- src_left += 4;
-
- ILVR_B2_UH(src_left0, src_top0, src_left0, src_top1, res_r0, res_r1);
- ILVL_B2_UH(src_left0, src_top0, src_left0, src_top1, res_l0, res_l1);
- HADD_UB4_UH(res_r0, res_l0, res_r1, res_l1, res_r0, res_l0, res_r1, res_l1);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r0, res_l0);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r1, res_l1);
- SAT_UH4_UH(res_r0, res_l0, res_r1, res_l1, 7);
- PCKEV_ST_SB(res_r0, res_l0, dst);
- PCKEV_ST_SB(res_r1, res_l1, dst + 16);
- dst += dst_stride;
-
- ILVR_B2_UH(src_left1, src_top0, src_left1, src_top1, res_r0, res_r1);
- ILVL_B2_UH(src_left1, src_top0, src_left1, src_top1, res_l0, res_l1);
- HADD_UB4_UH(res_r0, res_l0, res_r1, res_l1, res_r0, res_l0, res_r1, res_l1);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r0, res_l0);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r1, res_l1);
- SAT_UH4_UH(res_r0, res_l0, res_r1, res_l1, 7);
- PCKEV_ST_SB(res_r0, res_l0, dst);
- PCKEV_ST_SB(res_r1, res_l1, dst + 16);
- dst += dst_stride;
-
- ILVR_B2_UH(src_left2, src_top0, src_left2, src_top1, res_r0, res_r1);
- ILVL_B2_UH(src_left2, src_top0, src_left2, src_top1, res_l0, res_l1);
- HADD_UB4_UH(res_r0, res_l0, res_r1, res_l1, res_r0, res_l0, res_r1, res_l1);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r0, res_l0);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r1, res_l1);
- SAT_UH4_UH(res_r0, res_l0, res_r1, res_l1, 7);
- PCKEV_ST_SB(res_r0, res_l0, dst);
- PCKEV_ST_SB(res_r1, res_l1, dst + 16);
- dst += dst_stride;
-
- ILVR_B2_UH(src_left3, src_top0, src_left3, src_top1, res_r0, res_r1);
- ILVL_B2_UH(src_left3, src_top0, src_left3, src_top1, res_l0, res_l1);
- HADD_UB4_UH(res_r0, res_l0, res_r1, res_l1, res_r0, res_l0, res_r1, res_l1);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r0, res_l0);
- IPRED_SUBS_UH2_UH(src_top_left, src_top_left, res_r1, res_l1);
- SAT_UH4_UH(res_r0, res_l0, res_r1, res_l1, 7);
- PCKEV_ST_SB(res_r0, res_l0, dst);
- PCKEV_ST_SB(res_r1, res_l1, dst + 16);
- dst += dst_stride;
- }
-}
-
void aom_v_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
const uint8_t *above, const uint8_t *left) {
(void)left;
@@ -717,23 +547,3 @@ void aom_dc_128_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
intra_predict_128dc_32x32_msa(dst, y_stride);
}
-
-void aom_tm_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride,
- const uint8_t *above, const uint8_t *left) {
- intra_predict_tm_4x4_msa(above, left, dst, y_stride);
-}
-
-void aom_tm_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride,
- const uint8_t *above, const uint8_t *left) {
- intra_predict_tm_8x8_msa(above, left, dst, y_stride);
-}
-
-void aom_tm_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride,
- const uint8_t *above, const uint8_t *left) {
- intra_predict_tm_16x16_msa(above, left, dst, y_stride);
-}
-
-void aom_tm_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride,
- const uint8_t *above, const uint8_t *left) {
- intra_predict_tm_32x32_msa(above, left, dst, y_stride);
-}