1*a97c2a1fSXin Li /****************************************************************************** 2*a97c2a1fSXin Li * 3*a97c2a1fSXin Li * Copyright (C) 2015 The Android Open Source Project 4*a97c2a1fSXin Li * 5*a97c2a1fSXin Li * Licensed under the Apache License, Version 2.0 (the "License"); 6*a97c2a1fSXin Li * you may not use this file except in compliance with the License. 7*a97c2a1fSXin Li * You may obtain a copy of the License at: 8*a97c2a1fSXin Li * 9*a97c2a1fSXin Li * http://www.apache.org/licenses/LICENSE-2.0 10*a97c2a1fSXin Li * 11*a97c2a1fSXin Li * Unless required by applicable law or agreed to in writing, software 12*a97c2a1fSXin Li * distributed under the License is distributed on an "AS IS" BASIS, 13*a97c2a1fSXin Li * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14*a97c2a1fSXin Li * See the License for the specific language governing permissions and 15*a97c2a1fSXin Li * limitations under the License. 16*a97c2a1fSXin Li * 17*a97c2a1fSXin Li ***************************************************************************** 18*a97c2a1fSXin Li * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore 19*a97c2a1fSXin Li */ 20*a97c2a1fSXin Li 21*a97c2a1fSXin Li /** 22*a97c2a1fSXin Li ******************************************************************************* 23*a97c2a1fSXin Li * @file 24*a97c2a1fSXin Li * impeg2d_function_selector.h 25*a97c2a1fSXin Li * 26*a97c2a1fSXin Li * @brief 27*a97c2a1fSXin Li * Structure definitions used in the decoder 28*a97c2a1fSXin Li * 29*a97c2a1fSXin Li * @author 30*a97c2a1fSXin Li * Harish 31*a97c2a1fSXin Li * 32*a97c2a1fSXin Li * @par List of Functions: 33*a97c2a1fSXin Li * 34*a97c2a1fSXin Li * @remarks 35*a97c2a1fSXin Li * None 36*a97c2a1fSXin Li * 37*a97c2a1fSXin Li ******************************************************************************* 38*a97c2a1fSXin Li */ 39*a97c2a1fSXin Li 40*a97c2a1fSXin Li #ifndef _IMPEG2D_FUNCTION_SELECTOR_H_ 41*a97c2a1fSXin Li #define _IMPEG2D_FUNCTION_SELECTOR_H_ 42*a97c2a1fSXin Li 43*a97c2a1fSXin Li #define D_ARCH_NA 1 44*a97c2a1fSXin Li #define D_ARCH_ARM_NONEON 2 45*a97c2a1fSXin Li #define D_ARCH_ARM_A9Q 3 46*a97c2a1fSXin Li #define D_ARCH_ARM_A9A 4 47*a97c2a1fSXin Li #define D_ARCH_ARM_A9 5 48*a97c2a1fSXin Li #define D_ARCH_ARM_A7 6 49*a97c2a1fSXin Li #define D_ARCH_ARM_A5 7 50*a97c2a1fSXin Li #define D_ARCH_ARM_A15 8 51*a97c2a1fSXin Li #define D_ARCH_ARM_NEONINTR 9 52*a97c2a1fSXin Li #define D_ARCH_ARMV8_GENERIC 10 53*a97c2a1fSXin Li #define D_ARCH_X86_GENERIC 11 54*a97c2a1fSXin Li #define D_ARCH_X86_SSSE3 12 55*a97c2a1fSXin Li #define D_ARCH_X86_SSE42 13 56*a97c2a1fSXin Li #define D_ARCH_X86_AVX2 14 57*a97c2a1fSXin Li #define D_ARCH_MIPS_GENERIC 15 58*a97c2a1fSXin Li #define D_ARCH_MIPS_32 16 59*a97c2a1fSXin Li 60*a97c2a1fSXin Li void impeg2d_init_arch(void *ps_codec); 61*a97c2a1fSXin Li 62*a97c2a1fSXin Li void impeg2d_init_function_ptr(void *ps_codec); 63*a97c2a1fSXin Li 64*a97c2a1fSXin Li void impeg2d_init_function_ptr_generic(void *ps_codec); 65*a97c2a1fSXin Li void impeg2d_init_function_ptr_ssse3(void *ps_codec); 66*a97c2a1fSXin Li void impeg2d_init_function_ptr_sse42(void *ps_codec); 67*a97c2a1fSXin Li 68*a97c2a1fSXin Li #ifndef DISABLE_AVX2 69*a97c2a1fSXin Li void impeg2d_init_function_ptr_avx2(void *ps_codec); 70*a97c2a1fSXin Li #endif 71*a97c2a1fSXin Li 72*a97c2a1fSXin Li void impeg2d_init_function_ptr_a9q(void *ps_codec); 73*a97c2a1fSXin Li void impeg2d_init_function_ptr_av8(void *ps_codec); 74*a97c2a1fSXin Li 75*a97c2a1fSXin Li #endif /* _IMPEG2D_FUNCTION_SELECTOR_H_ */ 76