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_CDEF_H_ 18*09537850SAkhilesh Sanikop #define LIBGAV1_SRC_DSP_CDEF_H_ 19*09537850SAkhilesh Sanikop 20*09537850SAkhilesh Sanikop // Pull in LIBGAV1_DspXXX defines representing the implementation status 21*09537850SAkhilesh Sanikop // of each function. The resulting value of each can be used by each module to 22*09537850SAkhilesh Sanikop // determine whether an implementation is needed at compile time. 23*09537850SAkhilesh Sanikop // IWYU pragma: begin_exports 24*09537850SAkhilesh Sanikop 25*09537850SAkhilesh Sanikop // ARM: 26*09537850SAkhilesh Sanikop #include "src/dsp/arm/cdef_neon.h" 27*09537850SAkhilesh Sanikop 28*09537850SAkhilesh Sanikop // x86: 29*09537850SAkhilesh Sanikop // Note includes should be sorted in logical order avx2/avx/sse4, etc. 30*09537850SAkhilesh Sanikop // The order of includes is important as each tests for a superior version 31*09537850SAkhilesh Sanikop // before setting the base. 32*09537850SAkhilesh Sanikop // clang-format off 33*09537850SAkhilesh Sanikop #include "src/dsp/x86/cdef_avx2.h" 34*09537850SAkhilesh Sanikop #include "src/dsp/x86/cdef_sse4.h" 35*09537850SAkhilesh Sanikop // clang-format on 36*09537850SAkhilesh Sanikop // IWYU pragma: end_exports 37*09537850SAkhilesh Sanikop 38*09537850SAkhilesh Sanikop namespace libgav1 { 39*09537850SAkhilesh Sanikop namespace dsp { 40*09537850SAkhilesh Sanikop 41*09537850SAkhilesh Sanikop enum { 42*09537850SAkhilesh Sanikop kCdefSecondaryTap0 = 2, 43*09537850SAkhilesh Sanikop kCdefSecondaryTap1 = 1, 44*09537850SAkhilesh Sanikop }; 45*09537850SAkhilesh Sanikop 46*09537850SAkhilesh Sanikop // Initializes Dsp::cdef_direction and Dsp::cdef_filters. This function is not 47*09537850SAkhilesh Sanikop // thread-safe. 48*09537850SAkhilesh Sanikop void CdefInit_C(); 49*09537850SAkhilesh Sanikop 50*09537850SAkhilesh Sanikop } // namespace dsp 51*09537850SAkhilesh Sanikop } // namespace libgav1 52*09537850SAkhilesh Sanikop 53*09537850SAkhilesh Sanikop #endif // LIBGAV1_SRC_DSP_CDEF_H_ 54