summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2023-03-08 23:05:08 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2023-03-08 23:05:08 +0000
commit79b1347a51f4bff21db42bd6b3f6052e5b95ad4d (patch)
treee2e13fe69bb4d4645a314cfb7cf3939ca60078c7
parent7a47294675fad12bd136c6850bdf3b44d0e3ab12 (diff)
parenta47967700d5d6fe4172c7fa48ad95b3e4ba39982 (diff)
downloadlibvpx-79b1347a51f4bff21db42bd6b3f6052e5b95ad4d.tar
libvpx-79b1347a51f4bff21db42bd6b3f6052e5b95ad4d.tar.gz
libvpx-79b1347a51f4bff21db42bd6b3f6052e5b95ad4d.tar.bz2
libvpx-79b1347a51f4bff21db42bd6b3f6052e5b95ad4d.zip
Merge "disable vpx_highbd_*_sub_pixel_avg_variance4x{4,8}_neon" into main
-rw-r--r--test/variance_test.cc14
-rw-r--r--vpx_dsp/arm/highbd_subpel_variance_neon.c21
-rw-r--r--vpx_dsp/vpx_dsp_rtcd_defs.pl24
3 files changed, 43 insertions, 16 deletions
diff --git a/test/variance_test.cc b/test/variance_test.cc
index 144c2d290..8af26969c 100644
--- a/test/variance_test.cc
+++ b/test/variance_test.cc
@@ -1687,12 +1687,14 @@ INSTANTIATE_TEST_SUITE_P(
SubpelAvgVarianceParams(3, 2,
&vpx_highbd_12_sub_pixel_avg_variance8x4_neon,
12),
+ /*TODO(https://crbug.com/webm/1796): enable after heap overflow is
+ fixed.
SubpelAvgVarianceParams(2, 3,
&vpx_highbd_12_sub_pixel_avg_variance4x8_neon,
12),
SubpelAvgVarianceParams(2, 2,
&vpx_highbd_12_sub_pixel_avg_variance4x4_neon,
- 12),
+ 12),*/
SubpelAvgVarianceParams(6, 6,
&vpx_highbd_10_sub_pixel_avg_variance64x64_neon,
10),
@@ -1726,12 +1728,14 @@ INSTANTIATE_TEST_SUITE_P(
SubpelAvgVarianceParams(3, 2,
&vpx_highbd_10_sub_pixel_avg_variance8x4_neon,
10),
+ /*TODO(https://crbug.com/webm/1796): enable after heap overflow is
+ fixed.
SubpelAvgVarianceParams(2, 3,
&vpx_highbd_10_sub_pixel_avg_variance4x8_neon,
10),
SubpelAvgVarianceParams(2, 2,
&vpx_highbd_10_sub_pixel_avg_variance4x4_neon,
- 10),
+ 10),*/
SubpelAvgVarianceParams(6, 6,
&vpx_highbd_8_sub_pixel_avg_variance64x64_neon,
8),
@@ -1764,13 +1768,15 @@ INSTANTIATE_TEST_SUITE_P(
8),
SubpelAvgVarianceParams(3, 2,
&vpx_highbd_8_sub_pixel_avg_variance8x4_neon,
- 8),
+ 8)
+ /*TODO(https://crbug.com/webm/1796): enable after heap overflow is
+ fixed.
SubpelAvgVarianceParams(2, 3,
&vpx_highbd_8_sub_pixel_avg_variance4x8_neon,
8),
SubpelAvgVarianceParams(2, 2,
&vpx_highbd_8_sub_pixel_avg_variance4x4_neon,
- 8)));
+ 8)*/));
#endif // CONFIG_VP9_HIGHBITDEPTH
#endif // HAVE_NEON
diff --git a/vpx_dsp/arm/highbd_subpel_variance_neon.c b/vpx_dsp/arm/highbd_subpel_variance_neon.c
index c081d520a..b2fe9921c 100644
--- a/vpx_dsp/arm/highbd_subpel_variance_neon.c
+++ b/vpx_dsp/arm/highbd_subpel_variance_neon.c
@@ -37,6 +37,8 @@
// 15-bit.)
// Process a block exactly 4 wide and a multiple of 2 high.
+// TODO(https://crbug.com/webm/1796): enable after heap overflow is fixed.
+#if 0
static void highbd_var_filter_block2d_bil_w4(const uint16_t *src_ptr,
uint16_t *dst_ptr, int src_stride,
int pixel_step, int dst_height,
@@ -60,6 +62,7 @@ static void highbd_var_filter_block2d_bil_w4(const uint16_t *src_ptr,
i -= 2;
} while (i != 0);
}
+#endif // 0
// Process a block which is a multiple of 8 and any height.
static void highbd_var_filter_block2d_bil_large(const uint16_t *src_ptr,
@@ -295,6 +298,8 @@ HBD_SPECIALIZED_SUBPEL_VARIANCE_WXH_NEON(12, 64, 64, 1)
// Combine bilinear filter with vpx_highbd_comp_avg_pred for blocks having
// width 4.
+// TODO(https://crbug.com/webm/1796): enable after heap overflow is fixed.
+#if 0
static void highbd_avg_pred_var_filter_block2d_bil_w4(
const uint16_t *src_ptr, uint16_t *dst_ptr, int src_stride, int pixel_step,
int dst_height, int filter_offset, const uint16_t *second_pred) {
@@ -319,6 +324,7 @@ static void highbd_avg_pred_var_filter_block2d_bil_w4(
i -= 2;
} while (i != 0);
}
+#endif // 0
// Combine bilinear filter with vpx_highbd_comp_avg_pred for large blocks.
static void highbd_avg_pred_var_filter_block2d_bil_large(
@@ -540,8 +546,9 @@ static void highbd_avg_pred(const uint16_t *src_ptr, uint16_t *dst_ptr,
// padding.
// 8-bit
-HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(8, 4, 4, 2)
-HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(8, 4, 8, 2)
+// TODO(https://crbug.com/webm/1796): enable after heap overflow is fixed.
+// HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(8, 4, 4, 2)
+// HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(8, 4, 8, 2)
HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(8, 8, 4, 1)
HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(8, 8, 8, 1)
@@ -559,8 +566,9 @@ HBD_SPECIALIZED_SUBPEL_AVG_VARIANCE_WXH_NEON(8, 64, 32, 1)
HBD_SPECIALIZED_SUBPEL_AVG_VARIANCE_WXH_NEON(8, 64, 64, 1)
// 10-bit
-HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(10, 4, 4, 2)
-HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(10, 4, 8, 2)
+// TODO(https://crbug.com/webm/1796): enable after heap overflow is fixed.
+// HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(10, 4, 4, 2)
+// HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(10, 4, 8, 2)
HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(10, 8, 4, 1)
HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(10, 8, 8, 1)
@@ -578,8 +586,9 @@ HBD_SPECIALIZED_SUBPEL_AVG_VARIANCE_WXH_NEON(10, 64, 32, 1)
HBD_SPECIALIZED_SUBPEL_AVG_VARIANCE_WXH_NEON(10, 64, 64, 1)
// 12-bit
-HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(12, 4, 4, 2)
-HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(12, 4, 8, 2)
+// TODO(https://crbug.com/webm/1796): enable after heap overflow is fixed.
+// HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(12, 4, 4, 2)
+// HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(12, 4, 8, 2)
HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(12, 8, 4, 1)
HBD_SUBPEL_AVG_VARIANCE_WXH_NEON(12, 8, 8, 1)
diff --git a/vpx_dsp/vpx_dsp_rtcd_defs.pl b/vpx_dsp/vpx_dsp_rtcd_defs.pl
index ad4649974..62f4789c2 100644
--- a/vpx_dsp/vpx_dsp_rtcd_defs.pl
+++ b/vpx_dsp/vpx_dsp_rtcd_defs.pl
@@ -1569,9 +1569,13 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") {
specialize qw/vpx_highbd_12_sub_pixel_avg_variance8x4 sse2 neon/;
add_proto qw/uint32_t vpx_highbd_12_sub_pixel_avg_variance4x8/, "const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
- specialize qw/vpx_highbd_12_sub_pixel_avg_variance4x8 neon/;
+ # TODO(https://crbug.com/webm/1796): enable neon after heap overflow is
+ # fixed.
+ # specialize qw/vpx_highbd_12_sub_pixel_avg_variance4x8 neon/;
add_proto qw/uint32_t vpx_highbd_12_sub_pixel_avg_variance4x4/, "const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
- specialize qw/vpx_highbd_12_sub_pixel_avg_variance4x4 neon/;
+ # TODO(https://crbug.com/webm/1796): enable neon after heap overflow is
+ # fixed.
+ # specialize qw/vpx_highbd_12_sub_pixel_avg_variance4x4 neon/;
add_proto qw/uint32_t vpx_highbd_10_sub_pixel_avg_variance64x64/, "const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
specialize qw/vpx_highbd_10_sub_pixel_avg_variance64x64 sse2 neon/;
@@ -1607,9 +1611,13 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") {
specialize qw/vpx_highbd_10_sub_pixel_avg_variance8x4 sse2 neon/;
add_proto qw/uint32_t vpx_highbd_10_sub_pixel_avg_variance4x8/, "const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
- specialize qw/vpx_highbd_10_sub_pixel_avg_variance4x8 neon/;
+ # TODO(https://crbug.com/webm/1796): enable neon after heap overflow is
+ # fixed.
+ # specialize qw/vpx_highbd_10_sub_pixel_avg_variance4x8 neon/;
add_proto qw/uint32_t vpx_highbd_10_sub_pixel_avg_variance4x4/, "const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
- specialize qw/vpx_highbd_10_sub_pixel_avg_variance4x4 neon/;
+ # TODO(https://crbug.com/webm/1796): enable neon after heap overflow is
+ # fixed.
+ # specialize qw/vpx_highbd_10_sub_pixel_avg_variance4x4 neon/;
add_proto qw/uint32_t vpx_highbd_8_sub_pixel_avg_variance64x64/, "const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
specialize qw/vpx_highbd_8_sub_pixel_avg_variance64x64 sse2 neon/;
@@ -1645,9 +1653,13 @@ if (vpx_config("CONFIG_VP9_HIGHBITDEPTH") eq "yes") {
specialize qw/vpx_highbd_8_sub_pixel_avg_variance8x4 sse2 neon/;
add_proto qw/uint32_t vpx_highbd_8_sub_pixel_avg_variance4x8/, "const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
- specialize qw/vpx_highbd_8_sub_pixel_avg_variance4x8 neon/;
+ # TODO(https://crbug.com/webm/1796): enable neon after heap overflow is
+ # fixed.
+ # specialize qw/vpx_highbd_8_sub_pixel_avg_variance4x8 neon/;
add_proto qw/uint32_t vpx_highbd_8_sub_pixel_avg_variance4x4/, "const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred";
- specialize qw/vpx_highbd_8_sub_pixel_avg_variance4x4 neon/;
+ # TODO(https://crbug.com/webm/1796): enable neon after heap overflow is
+ # fixed.
+ # specialize qw/vpx_highbd_8_sub_pixel_avg_variance4x4 neon/;
} # CONFIG_VP9_HIGHBITDEPTH