1b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian/* 2b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * Copyright (c) 2013 The WebM project authors. All Rights Reserved. 3b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * 4b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * Use of this source code is governed by a BSD-style license 5b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * that can be found in the LICENSE file in the root of the source 6b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * tree. An additional intellectual property rights grant can be found 7b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * in the file PATENTS. All contributing project authors may 8b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian * be found in the AUTHORS file in the root of the source tree. 9b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian */ 10b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 11b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#include "./vp9_rtcd.h" 12b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 13b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp9_lpf_horizontal_8_dual_neon(uint8_t *s, int p /* pitch */, 14b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *blimit0, 15b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *limit0, 16b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *thresh0, 17b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *blimit1, 18b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *limit1, 19b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *thresh1) { 20b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian vp9_lpf_horizontal_8(s, p, blimit0, limit0, thresh0, 1); 21b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian vp9_lpf_horizontal_8(s + 8, p, blimit1, limit1, thresh1, 1); 22b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} 23b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 24b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp9_lpf_vertical_4_dual_neon(uint8_t *s, int p, 25b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *blimit0, 26b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *limit0, 27b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *thresh0, 28b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *blimit1, 29b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *limit1, 30b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *thresh1) { 31b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian vp9_lpf_vertical_4_neon(s, p, blimit0, limit0, thresh0, 1); 32b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian vp9_lpf_vertical_4_neon(s + 8 * p, p, blimit1, limit1, thresh1, 1); 33b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} 34b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 35b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp9_lpf_vertical_8_dual_neon(uint8_t *s, int p, 36b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *blimit0, 37b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *limit0, 38b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *thresh0, 39b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *blimit1, 40b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *limit1, 41b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *thresh1) { 42b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian vp9_lpf_vertical_8_neon(s, p, blimit0, limit0, thresh0, 1); 43b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian vp9_lpf_vertical_8_neon(s + 8 * p, p, blimit1, limit1, thresh1, 1); 44b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} 45b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 46b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp9_lpf_vertical_16_dual_neon(uint8_t *s, int p, 47b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *blimit, 48b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *limit, 49b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian const uint8_t *thresh) { 50b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian vp9_lpf_vertical_16_neon(s, p, blimit, limit, thresh); 51b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian vp9_lpf_vertical_16_neon(s + 8 * p, p, blimit, limit, thresh); 52b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} 53