ref: 52f318d4a498270826ada5378cd193cc30aa2a9c
parent: c1d523d86080b1972ce17e290dae2acb06f990e6
author: Johann <johannkoenig@google.com>
date: Tue Jan 8 05:24:21 EST 2019
vp8 arm loopfilter: resolve missing declarations BUG=webm:1584 Change-Id: I3270e6efe79fe9728e8d11f4c352deefc3cea00b
--- a/vp8/common/arm/loopfilter_arm.c
+++ b/vp8/common/arm/loopfilter_arm.c
@@ -8,27 +8,11 @@
* be found in the AUTHORS file in the root of the source tree.
*/
-#include "vpx_config.h"
-#include "vp8_rtcd.h"
+#include "./vpx_config.h"
+#include "./vp8_rtcd.h"
+#include "vp8/common/arm/loopfilter_arm.h"
#include "vp8/common/loopfilter.h"
#include "vp8/common/onyxc_int.h"
-
-typedef void loopfilter_y_neon(unsigned char *src, int pitch,
- unsigned char blimit, unsigned char limit,
- unsigned char thresh);
-typedef void loopfilter_uv_neon(unsigned char *u, int pitch,
- unsigned char blimit, unsigned char limit,
- unsigned char thresh, unsigned char *v);
-
-extern loopfilter_y_neon vp8_loop_filter_horizontal_edge_y_neon;
-extern loopfilter_y_neon vp8_loop_filter_vertical_edge_y_neon;
-extern loopfilter_uv_neon vp8_loop_filter_horizontal_edge_uv_neon;
-extern loopfilter_uv_neon vp8_loop_filter_vertical_edge_uv_neon;
-
-extern loopfilter_y_neon vp8_mbloop_filter_horizontal_edge_y_neon;
-extern loopfilter_y_neon vp8_mbloop_filter_vertical_edge_y_neon;
-extern loopfilter_uv_neon vp8_mbloop_filter_horizontal_edge_uv_neon;
-extern loopfilter_uv_neon vp8_mbloop_filter_vertical_edge_uv_neon;
/* NEON loopfilter functions */
/* Horizontal MB filtering */
--- /dev/null
+++ b/vp8/common/arm/loopfilter_arm.h
@@ -1,0 +1,31 @@
+/*
+ * Copyright (c) 2019 The WebM project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#ifndef VPX_VP8_COMMON_ARM_LOOPFILTER_ARM_H_
+#define VPX_VP8_COMMON_ARM_LOOPFILTER_ARM_H_
+
+typedef void loopfilter_y_neon(unsigned char *src, int pitch,
+ unsigned char blimit, unsigned char limit,
+ unsigned char thresh);
+typedef void loopfilter_uv_neon(unsigned char *u, int pitch,
+ unsigned char blimit, unsigned char limit,
+ unsigned char thresh, unsigned char *v);
+
+loopfilter_y_neon vp8_loop_filter_horizontal_edge_y_neon;
+loopfilter_y_neon vp8_loop_filter_vertical_edge_y_neon;
+loopfilter_uv_neon vp8_loop_filter_horizontal_edge_uv_neon;
+loopfilter_uv_neon vp8_loop_filter_vertical_edge_uv_neon;
+
+loopfilter_y_neon vp8_mbloop_filter_horizontal_edge_y_neon;
+loopfilter_y_neon vp8_mbloop_filter_vertical_edge_y_neon;
+loopfilter_uv_neon vp8_mbloop_filter_horizontal_edge_uv_neon;
+loopfilter_uv_neon vp8_mbloop_filter_vertical_edge_uv_neon;
+
+#endif // VPX_VP8_COMMON_ARM_LOOPFILTER_ARM_H_
--- a/vp8/common/arm/neon/mbloopfilter_neon.c
+++ b/vp8/common/arm/neon/mbloopfilter_neon.c
@@ -9,7 +9,9 @@
*/
#include <arm_neon.h>
+
#include "./vpx_config.h"
+#include "vp8/common/arm/loopfilter_arm.h"
static INLINE void vp8_mbloop_filter_neon(uint8x16_t qblimit, // mblimit
uint8x16_t qlimit, // limit
--- a/vp8/common/arm/neon/vp8_loopfilter_neon.c
+++ b/vp8/common/arm/neon/vp8_loopfilter_neon.c
@@ -9,7 +9,9 @@
*/
#include <arm_neon.h>
+
#include "./vpx_config.h"
+#include "vp8/common/arm/loopfilter_arm.h"
#include "vpx_ports/arm.h"
static INLINE void vp8_loop_filter_neon(uint8x16_t qblimit, // flimit
--- a/vp8/vp8_common.mk
+++ b/vp8/vp8_common.mk
@@ -126,6 +126,7 @@
# common (neon intrinsics)
VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/loopfilter_arm.c
+VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/loopfilter_arm.h
VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/bilinearpredict_neon.c
VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/copymem_neon.c
VP8_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/dc_only_idct_add_neon.c