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