1*09537850SAkhilesh Sanikop /* 2*09537850SAkhilesh Sanikop * Copyright 2019 The libgav1 Authors 3*09537850SAkhilesh Sanikop * 4*09537850SAkhilesh Sanikop * Licensed under the Apache License, Version 2.0 (the "License"); 5*09537850SAkhilesh Sanikop * you may not use this file except in compliance with the License. 6*09537850SAkhilesh Sanikop * You may obtain a copy of the License at 7*09537850SAkhilesh Sanikop * 8*09537850SAkhilesh Sanikop * http://www.apache.org/licenses/LICENSE-2.0 9*09537850SAkhilesh Sanikop * 10*09537850SAkhilesh Sanikop * Unless required by applicable law or agreed to in writing, software 11*09537850SAkhilesh Sanikop * distributed under the License is distributed on an "AS IS" BASIS, 12*09537850SAkhilesh Sanikop * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*09537850SAkhilesh Sanikop * See the License for the specific language governing permissions and 14*09537850SAkhilesh Sanikop * limitations under the License. 15*09537850SAkhilesh Sanikop */ 16*09537850SAkhilesh Sanikop 17*09537850SAkhilesh Sanikop #ifndef LIBGAV1_SRC_DSP_ARM_CONVOLVE_NEON_H_ 18*09537850SAkhilesh Sanikop #define LIBGAV1_SRC_DSP_ARM_CONVOLVE_NEON_H_ 19*09537850SAkhilesh Sanikop 20*09537850SAkhilesh Sanikop #include "src/dsp/dsp.h" 21*09537850SAkhilesh Sanikop #include "src/utils/cpu.h" 22*09537850SAkhilesh Sanikop 23*09537850SAkhilesh Sanikop namespace libgav1 { 24*09537850SAkhilesh Sanikop namespace dsp { 25*09537850SAkhilesh Sanikop 26*09537850SAkhilesh Sanikop // Initializes Dsp::convolve. This function is not thread-safe. 27*09537850SAkhilesh Sanikop void ConvolveInit_NEON(); 28*09537850SAkhilesh Sanikop void ConvolveInit10bpp_NEON(); 29*09537850SAkhilesh Sanikop 30*09537850SAkhilesh Sanikop } // namespace dsp 31*09537850SAkhilesh Sanikop } // namespace libgav1 32*09537850SAkhilesh Sanikop 33*09537850SAkhilesh Sanikop #if LIBGAV1_ENABLE_NEON 34*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveHorizontal LIBGAV1_CPU_NEON 35*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveVertical LIBGAV1_CPU_NEON 36*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_Convolve2D LIBGAV1_CPU_NEON 37*09537850SAkhilesh Sanikop 38*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveCompoundCopy LIBGAV1_CPU_NEON 39*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveCompoundHorizontal LIBGAV1_CPU_NEON 40*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveCompoundVertical LIBGAV1_CPU_NEON 41*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveCompound2D LIBGAV1_CPU_NEON 42*09537850SAkhilesh Sanikop 43*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveIntraBlockCopyHorizontal LIBGAV1_CPU_NEON 44*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveIntraBlockCopyVertical LIBGAV1_CPU_NEON 45*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveIntraBlockCopy2D LIBGAV1_CPU_NEON 46*09537850SAkhilesh Sanikop 47*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveScale2D LIBGAV1_CPU_NEON 48*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp8bpp_ConvolveCompoundScale2D LIBGAV1_CPU_NEON 49*09537850SAkhilesh Sanikop 50*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveHorizontal LIBGAV1_CPU_NEON 51*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveVertical LIBGAV1_CPU_NEON 52*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_Convolve2D LIBGAV1_CPU_NEON 53*09537850SAkhilesh Sanikop 54*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveCompoundCopy LIBGAV1_CPU_NEON 55*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveCompoundHorizontal LIBGAV1_CPU_NEON 56*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveCompoundVertical LIBGAV1_CPU_NEON 57*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveCompound2D LIBGAV1_CPU_NEON 58*09537850SAkhilesh Sanikop 59*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveIntraBlockCopyHorizontal LIBGAV1_CPU_NEON 60*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveIntraBlockCopyVertical LIBGAV1_CPU_NEON 61*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveIntraBlockCopy2D LIBGAV1_CPU_NEON 62*09537850SAkhilesh Sanikop 63*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveScale2D LIBGAV1_CPU_NEON 64*09537850SAkhilesh Sanikop #define LIBGAV1_Dsp10bpp_ConvolveCompoundScale2D LIBGAV1_CPU_NEON 65*09537850SAkhilesh Sanikop #endif // LIBGAV1_ENABLE_NEON 66*09537850SAkhilesh Sanikop 67*09537850SAkhilesh Sanikop #endif // LIBGAV1_SRC_DSP_ARM_CONVOLVE_NEON_H_ 68