From 35c1ed84a158354c37e329bad0e236b156836ac7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 23 May 2023 14:59:26 -0700
Subject: [PATCH] subpel_variance_neon: Provide prototypes for missing
 functions

Fixes build with clang-15
aom_dsp/arm/subpel_variance_neon.c:121:10: error: call to undeclared function 'aom_variance8x8_neon'; ISO C99 and later do not support implicit function dec
larations [-Wimplicit-function-declaration]
|   return aom_variance8x8_neon(temp2, 8, dst, dst_stride, sse);
|          ^

Upstream-Status: Pending

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 aom_dsp/arm/subpel_variance_neon.c | 76 ++++++++++++++++++++++++++++++
 1 file changed, 76 insertions(+)

diff --git a/aom_dsp/arm/subpel_variance_neon.c b/aom_dsp/arm/subpel_variance_neon.c
index a05886066c4..ea6bada224d 100644
--- a/aom_dsp/arm/subpel_variance_neon.c
+++ b/aom_dsp/arm/subpel_variance_neon.c
@@ -20,6 +20,82 @@
 #include "aom_dsp/variance.h"
 #include "aom_dsp/arm/mem_neon.h"
 
+extern unsigned int aom_variance8x8_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance16x16_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance16x32_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance16x64_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance32x8_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance32x16_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance32x32_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance32x64_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance32x128_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance64x8_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance64x16_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance64x32_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance64x64_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance64x128_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance128x8_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance128x16_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance128x32_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance128x64_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
+extern unsigned int aom_variance128x128_neon(const uint8_t *a, int a_stride,
+                                         const uint8_t *b, int b_stride,
+                                         unsigned int *sse);
+
 static void var_filter_block2d_bil_w4(const uint8_t *src_ptr, uint8_t *dst_ptr,
                                       int src_stride, int pixel_step,
                                       int dst_height, int filter_offset) {
-- 
2.40.1

