summaryrefslogtreecommitdiff
path: root/vpx_dsp/x86/highbd_convolve_avx2.c
diff options
context:
space:
mode:
authorJohann <johann.koenig@duck.com>2018-12-21 11:50:30 -0800
committerJohann <johann.koenig@duck.com>2018-12-21 11:50:30 -0800
commit90f095468931b1245c2675618d4f660a72d79b37 (patch)
tree140a6f057648e402fe38df431fd96f5f6cd7b01f /vpx_dsp/x86/highbd_convolve_avx2.c
parent1cb039529d4c1b535093c759850835fae794d424 (diff)
downloadlibvpx-90f095468931b1245c2675618d4f660a72d79b37.tar
libvpx-90f095468931b1245c2675618d4f660a72d79b37.tar.gz
libvpx-90f095468931b1245c2675618d4f660a72d79b37.tar.bz2
libvpx-90f095468931b1245c2675618d4f660a72d79b37.zip
convolve avx2: resolve missing declarations
BUG=webm:1584 Change-Id: I5990c0100af83d13f7a4800147473bc997f5e5d1
Diffstat (limited to 'vpx_dsp/x86/highbd_convolve_avx2.c')
-rw-r--r--vpx_dsp/x86/highbd_convolve_avx2.c40
1 files changed, 21 insertions, 19 deletions
diff --git a/vpx_dsp/x86/highbd_convolve_avx2.c b/vpx_dsp/x86/highbd_convolve_avx2.c
index 0ffa7f2d4..aef067ea7 100644
--- a/vpx_dsp/x86/highbd_convolve_avx2.c
+++ b/vpx_dsp/x86/highbd_convolve_avx2.c
@@ -1010,10 +1010,9 @@ static void vpx_highbd_filter_block1d4_h4_avx2(
}
}
-void vpx_highbd_filter_block1d8_h4_avx2(const uint16_t *src_ptr,
- ptrdiff_t src_stride, uint16_t *dst_ptr,
- ptrdiff_t dst_stride, uint32_t height,
- const int16_t *kernel, int bd) {
+static void vpx_highbd_filter_block1d8_h4_avx2(
+ const uint16_t *src_ptr, ptrdiff_t src_stride, uint16_t *dst_ptr,
+ ptrdiff_t dst_stride, uint32_t height, const int16_t *kernel, int bd) {
// We will extract the middle four elements of the kernel into two registers
// in the form
// ... k[3] k[2] k[3] k[2]
@@ -1253,10 +1252,9 @@ static void vpx_highbd_filter_block1d8_v2_avg_avx2(
} while (height > 0);
}
-void vpx_highbd_filter_block1d4_v4_avx2(const uint16_t *src_ptr,
- ptrdiff_t src_stride, uint16_t *dst_ptr,
- ptrdiff_t dst_stride, uint32_t height,
- const int16_t *kernel, int bd) {
+static void vpx_highbd_filter_block1d4_v4_avx2(
+ const uint16_t *src_ptr, ptrdiff_t src_stride, uint16_t *dst_ptr,
+ ptrdiff_t dst_stride, uint32_t height, const int16_t *kernel, int bd) {
// We will load two rows of pixels and rearrange them into the form
// ... s[1,0] s[0,0] s[0,0] s[-1,0]
// so that we can call multiply and add with the kernel partial output. Then
@@ -1343,10 +1341,9 @@ void vpx_highbd_filter_block1d4_v4_avx2(const uint16_t *src_ptr,
}
}
-void vpx_highbd_filter_block1d8_v4_avx2(const uint16_t *src_ptr,
- ptrdiff_t src_stride, uint16_t *dst_ptr,
- ptrdiff_t dst_stride, uint32_t height,
- const int16_t *kernel, int bd) {
+static void vpx_highbd_filter_block1d8_v4_avx2(
+ const uint16_t *src_ptr, ptrdiff_t src_stride, uint16_t *dst_ptr,
+ ptrdiff_t dst_stride, uint32_t height, const int16_t *kernel, int bd) {
// We will load two rows of pixels and rearrange them into the form
// ... s[1,0] s[0,0] s[0,0] s[-1,0]
// so that we can call multiply and add with the kernel partial output. Then
@@ -1443,20 +1440,21 @@ void vpx_highbd_filter_block1d8_v4_avx2(const uint16_t *src_ptr,
}
}
-void vpx_highbd_filter_block1d16_v4_avx2(const uint16_t *src_ptr,
- ptrdiff_t src_stride,
- uint16_t *dst_ptr,
- ptrdiff_t dst_stride, uint32_t height,
- const int16_t *kernel, int bd) {
+static void vpx_highbd_filter_block1d16_v4_avx2(
+ const uint16_t *src_ptr, ptrdiff_t src_stride, uint16_t *dst_ptr,
+ ptrdiff_t dst_stride, uint32_t height, const int16_t *kernel, int bd) {
vpx_highbd_filter_block1d8_v4_avx2(src_ptr, src_stride, dst_ptr, dst_stride,
height, kernel, bd);
vpx_highbd_filter_block1d8_v4_avx2(src_ptr + 8, src_stride, dst_ptr + 8,
dst_stride, height, kernel, bd);
}
+// From vpx_dsp/x86/vpx_high_subpixel_8t_sse2.asm.
highbd_filter8_1dfunction vpx_highbd_filter_block1d4_h8_sse2;
-highbd_filter8_1dfunction vpx_highbd_filter_block1d4_h2_sse2;
highbd_filter8_1dfunction vpx_highbd_filter_block1d4_v8_sse2;
+
+// From vpx_dsp/x86/vpx_high_subpixel_bilinear_sse2.asm.
+highbd_filter8_1dfunction vpx_highbd_filter_block1d4_h2_sse2;
highbd_filter8_1dfunction vpx_highbd_filter_block1d4_v2_sse2;
#define vpx_highbd_filter_block1d4_h8_avx2 vpx_highbd_filter_block1d4_h8_sse2
@@ -1464,6 +1462,7 @@ highbd_filter8_1dfunction vpx_highbd_filter_block1d4_v2_sse2;
#define vpx_highbd_filter_block1d4_v8_avx2 vpx_highbd_filter_block1d4_v8_sse2
#define vpx_highbd_filter_block1d4_v2_avx2 vpx_highbd_filter_block1d4_v2_sse2
+// Use the [vh]8 version because there is no [vh]4 implementation.
#define vpx_highbd_filter_block1d16_v4_avg_avx2 \
vpx_highbd_filter_block1d16_v8_avg_avx2
#define vpx_highbd_filter_block1d16_h4_avg_avx2 \
@@ -1481,9 +1480,12 @@ HIGH_FUN_CONV_1D(horiz, x0_q4, x_step_q4, h, src, , avx2);
HIGH_FUN_CONV_1D(vert, y0_q4, y_step_q4, v, src - src_stride * 3, , avx2);
HIGH_FUN_CONV_2D(, avx2);
+// From vpx_dsp/x86/vpx_high_subpixel_8t_sse2.asm.
highbd_filter8_1dfunction vpx_highbd_filter_block1d4_h8_avg_sse2;
-highbd_filter8_1dfunction vpx_highbd_filter_block1d4_h2_avg_sse2;
highbd_filter8_1dfunction vpx_highbd_filter_block1d4_v8_avg_sse2;
+
+// From vpx_dsp/x86/vpx_high_subpixel_bilinear_sse2.asm.
+highbd_filter8_1dfunction vpx_highbd_filter_block1d4_h2_avg_sse2;
highbd_filter8_1dfunction vpx_highbd_filter_block1d4_v2_avg_sse2;
#define vpx_highbd_filter_block1d4_h8_avg_avx2 \