These functions cause test failures when running the entire suite.
BUG=webm:1522
Change-Id: I2c1dc4923e9f149464f365ef63dc59621cfabf5a
#endif // HAVE_MSA
#if HAVE_VSX
+// TODO(crbug.com/webm/1522): Fix test failures.
+#if 0
INTRA_PRED_TEST(VSX, TestIntraPred4, NULL, NULL, NULL, NULL, NULL,
vpx_h_predictor_4x4_vsx, NULL, NULL, NULL, NULL, NULL, NULL,
vpx_tm_predictor_4x4_vsx)
NULL, vpx_h_predictor_8x8_vsx, vpx_d45_predictor_8x8_vsx, NULL,
NULL, NULL, NULL, vpx_d63_predictor_8x8_vsx,
vpx_tm_predictor_8x8_vsx)
+#endif
INTRA_PRED_TEST(VSX, TestIntraPred16, vpx_dc_predictor_16x16_vsx,
vpx_dc_left_predictor_16x16_vsx, vpx_dc_top_predictor_16x16_vsx,
8)));
#endif // HAVE_MSA
-#if HAVE_VSX
-INSTANTIATE_TEST_CASE_P(
- VSX, VP9IntraPredTest,
- ::testing::Values(
+// TODO(crbug.com/webm/1522): Fix test failures.
+#if 0
IntraPredParam(&vpx_d45_predictor_8x8_vsx, &vpx_d45_predictor_8x8_c, 8,
8),
- IntraPredParam(&vpx_d45_predictor_16x16_vsx, &vpx_d45_predictor_16x16_c,
- 16, 8),
- IntraPredParam(&vpx_d45_predictor_32x32_vsx, &vpx_d45_predictor_32x32_c,
- 32, 8),
IntraPredParam(&vpx_d63_predictor_8x8_vsx, &vpx_d63_predictor_8x8_c, 8,
8),
- IntraPredParam(&vpx_d63_predictor_16x16_vsx, &vpx_d63_predictor_16x16_c,
- 16, 8),
- IntraPredParam(&vpx_d63_predictor_32x32_vsx, &vpx_d63_predictor_32x32_c,
- 32, 8),
- IntraPredParam(&vpx_dc_128_predictor_16x16_vsx,
- &vpx_dc_128_predictor_16x16_c, 16, 8),
- IntraPredParam(&vpx_dc_128_predictor_32x32_vsx,
- &vpx_dc_128_predictor_32x32_c, 32, 8),
- IntraPredParam(&vpx_dc_left_predictor_16x16_vsx,
- &vpx_dc_left_predictor_16x16_c, 16, 8),
- IntraPredParam(&vpx_dc_left_predictor_32x32_vsx,
- &vpx_dc_left_predictor_32x32_c, 32, 8),
IntraPredParam(&vpx_dc_predictor_8x8_vsx, &vpx_dc_predictor_8x8_c, 8,
8),
- IntraPredParam(&vpx_dc_predictor_16x16_vsx, &vpx_dc_predictor_16x16_c,
- 16, 8),
- IntraPredParam(&vpx_dc_predictor_32x32_vsx, &vpx_dc_predictor_32x32_c,
- 32, 8),
- IntraPredParam(&vpx_dc_top_predictor_16x16_vsx,
- &vpx_dc_top_predictor_16x16_c, 16, 8),
- IntraPredParam(&vpx_dc_top_predictor_32x32_vsx,
- &vpx_dc_top_predictor_32x32_c, 32, 8),
IntraPredParam(&vpx_h_predictor_4x4_vsx, &vpx_h_predictor_4x4_c, 4, 8),
IntraPredParam(&vpx_h_predictor_8x8_vsx, &vpx_h_predictor_8x8_c, 8, 8),
- IntraPredParam(&vpx_h_predictor_16x16_vsx, &vpx_h_predictor_16x16_c, 16,
- 8),
- IntraPredParam(&vpx_h_predictor_32x32_vsx, &vpx_h_predictor_32x32_c, 32,
- 8),
IntraPredParam(&vpx_tm_predictor_4x4_vsx, &vpx_tm_predictor_4x4_c, 4,
8),
IntraPredParam(&vpx_tm_predictor_8x8_vsx, &vpx_tm_predictor_8x8_c, 8,
8),
- IntraPredParam(&vpx_tm_predictor_16x16_vsx, &vpx_tm_predictor_16x16_c,
- 16, 8),
- IntraPredParam(&vpx_tm_predictor_32x32_vsx, &vpx_tm_predictor_32x32_c,
- 32, 8),
- IntraPredParam(&vpx_v_predictor_16x16_vsx, &vpx_v_predictor_16x16_c, 16,
- 8),
- IntraPredParam(&vpx_v_predictor_32x32_vsx, &vpx_v_predictor_32x32_c, 32,
- 8)));
+#endif
+
+#if HAVE_VSX
+INSTANTIATE_TEST_CASE_P(
+ VSX, VP9IntraPredTest,
+ ::testing::Values(IntraPredParam(&vpx_d45_predictor_16x16_vsx,
+ &vpx_d45_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_d45_predictor_32x32_vsx,
+ &vpx_d45_predictor_32x32_c, 32, 8),
+ IntraPredParam(&vpx_d63_predictor_16x16_vsx,
+ &vpx_d63_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_d63_predictor_32x32_vsx,
+ &vpx_d63_predictor_32x32_c, 32, 8),
+ IntraPredParam(&vpx_dc_128_predictor_16x16_vsx,
+ &vpx_dc_128_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_dc_128_predictor_32x32_vsx,
+ &vpx_dc_128_predictor_32x32_c, 32, 8),
+ IntraPredParam(&vpx_dc_left_predictor_16x16_vsx,
+ &vpx_dc_left_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_dc_left_predictor_32x32_vsx,
+ &vpx_dc_left_predictor_32x32_c, 32, 8),
+ IntraPredParam(&vpx_dc_predictor_16x16_vsx,
+ &vpx_dc_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_dc_predictor_32x32_vsx,
+ &vpx_dc_predictor_32x32_c, 32, 8),
+ IntraPredParam(&vpx_dc_top_predictor_16x16_vsx,
+ &vpx_dc_top_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_dc_top_predictor_32x32_vsx,
+ &vpx_dc_top_predictor_32x32_c, 32, 8),
+ IntraPredParam(&vpx_h_predictor_16x16_vsx,
+ &vpx_h_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_h_predictor_32x32_vsx,
+ &vpx_h_predictor_32x32_c, 32, 8),
+ IntraPredParam(&vpx_tm_predictor_16x16_vsx,
+ &vpx_tm_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_tm_predictor_32x32_vsx,
+ &vpx_tm_predictor_32x32_c, 32, 8),
+ IntraPredParam(&vpx_v_predictor_16x16_vsx,
+ &vpx_v_predictor_16x16_c, 16, 8),
+ IntraPredParam(&vpx_v_predictor_32x32_vsx,
+ &vpx_v_predictor_32x32_c, 32, 8)));
#endif // HAVE_VSX
#if CONFIG_VP9_HIGHBITDEPTH
}
}
+// TODO(crbug.com/webm/1522): Fix test failures.
+#if 0
static const uint32x4_t mask4 = { 0, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF };
void vpx_h_predictor_4x4_vsx(uint8_t *dst, ptrdiff_t stride,
dst += stride;
vec_vsx_st(xxpermdi(v7, vec_vsx_ld(0, dst), 1), 0, dst);
}
+#endif
void vpx_h_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
H_PREDICTOR_32(v15_1);
}
+// TODO(crbug.com/webm/1522): Fix test failures.
+#if 0
void vpx_tm_predictor_4x4_vsx(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
const int16x8_t tl = unpack_to_s16_h(vec_splat(vec_vsx_ld(-1, above), 0));
val = vec_sub(vec_add(vec_splat(l, 7), a), tl);
vec_vsx_st(vec_packsu(val, tmp), 0, dst);
}
+#endif
static void tm_predictor_16x8(uint8_t *dst, const ptrdiff_t stride, int16x8_t l,
int16x8_t ah, int16x8_t al, int16x8_t tl) {
dc_fill_predictor_32x32(dst, stride, avg32(above));
}
+// TODO(crbug.com/webm/1522): Fix test failures.
+#if 0
static uint8x16_t dc_avg8(const uint8_t *above, const uint8_t *left) {
const uint8x16_t a0 = vec_vsx_ld(0, above);
const uint8x16_t l0 = vec_vsx_ld(0, left);
return vec_splat(vec_pack(vec_pack(avg, vec_splat_u32(0)), vec_splat_u16(0)),
3);
}
+#endif
static uint8x16_t dc_avg16(const uint8_t *above, const uint8_t *left) {
const uint8x16_t a0 = vec_vsx_ld(0, above);
3);
}
+// TODO(crbug.com/webm/1522): Fix test failures.
+#if 0
void vpx_dc_predictor_8x8_vsx(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
dc_fill_predictor_8x8(dst, stride, dc_avg8(above, left));
}
+#endif
void vpx_dc_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
static const uint8x16_t sl1 = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8,
0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x10 };
+// TODO(crbug.com/webm/1522): Fix test failures.
+#if 0
void vpx_d45_predictor_8x8_vsx(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
const uint8x16_t af = vec_vsx_ld(0, above);
row = vec_perm(row, above_right, sl1);
}
}
+#endif
void vpx_d45_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
}
}
+// TODO(crbug.com/webm/1522): Fix test failures.
+#if 0
void vpx_d63_predictor_8x8_vsx(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
const uint8x16_t af = vec_vsx_ld(0, above);
row1 = vec_perm(row1, above_right, sl1);
}
}
+#endif
void vpx_d63_predictor_16x16_vsx(uint8_t *dst, ptrdiff_t stride,
const uint8_t *above, const uint8_t *left) {
add_proto qw/void vpx_d63e_predictor_4x4/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
add_proto qw/void vpx_h_predictor_4x4/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
-specialize qw/vpx_h_predictor_4x4 neon dspr2 msa sse2 vsx/;
+# TODO(crbug.com/webm/1522): Re-enable vsx implementation.
+specialize qw/vpx_h_predictor_4x4 neon dspr2 msa sse2/;
add_proto qw/void vpx_he_predictor_4x4/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
add_proto qw/void vpx_ve_predictor_4x4/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
add_proto qw/void vpx_tm_predictor_4x4/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
-specialize qw/vpx_tm_predictor_4x4 neon dspr2 msa sse2 vsx/;
+# TODO(crbug.com/webm/1522): Re-enable vsx implementation.
+specialize qw/vpx_tm_predictor_4x4 neon dspr2 msa sse2/;
add_proto qw/void vpx_dc_predictor_4x4/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
specialize qw/vpx_dc_predictor_4x4 dspr2 msa neon sse2/;
specialize qw/vpx_d207_predictor_8x8 ssse3/;
add_proto qw/void vpx_d45_predictor_8x8/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
-specialize qw/vpx_d45_predictor_8x8 neon sse2 vsx/;
+# TODO(crbug.com/webm/1522): Re-enable vsx implementation.
+specialize qw/vpx_d45_predictor_8x8 neon sse2/;
add_proto qw/void vpx_d63_predictor_8x8/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
-specialize qw/vpx_d63_predictor_8x8 ssse3 vsx/;
+# TODO(crbug.com/webm/1522): Re-enable vsx implementation.
+specialize qw/vpx_d63_predictor_8x8 ssse3/;
add_proto qw/void vpx_h_predictor_8x8/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
-specialize qw/vpx_h_predictor_8x8 neon dspr2 msa sse2 vsx/;
+# TODO(crbug.com/webm/1522): Re-enable vsx implementation.
+specialize qw/vpx_h_predictor_8x8 neon dspr2 msa sse2/;
add_proto qw/void vpx_d117_predictor_8x8/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
specialize qw/vpx_v_predictor_8x8 neon msa sse2/;
add_proto qw/void vpx_tm_predictor_8x8/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
-specialize qw/vpx_tm_predictor_8x8 neon dspr2 msa sse2 vsx/;
+# TODO(crbug.com/webm/1522): Re-enable vsx implementation.
+specialize qw/vpx_tm_predictor_8x8 neon dspr2 msa sse2/;
add_proto qw/void vpx_dc_predictor_8x8/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
-specialize qw/vpx_dc_predictor_8x8 dspr2 neon msa sse2 vsx/;
+# TODO(crbug.com/webm/1522): Re-enable vsx implementation.
+specialize qw/vpx_dc_predictor_8x8 dspr2 neon msa sse2/;
add_proto qw/void vpx_dc_top_predictor_8x8/, "uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left";
specialize qw/vpx_dc_top_predictor_8x8 neon msa sse2/;