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 * @file 23*a97c2a1fSXin Li * icv.h 24*a97c2a1fSXin Li * 25*a97c2a1fSXin Li * @brief 26*a97c2a1fSXin Li * This header files contains all the common definitions 27*a97c2a1fSXin Li * 28*a97c2a1fSXin Li * @author 29*a97c2a1fSXin Li * Ittiam 30*a97c2a1fSXin Li * 31*a97c2a1fSXin Li * @par List of Functions: 32*a97c2a1fSXin Li * 33*a97c2a1fSXin Li * @remarks 34*a97c2a1fSXin Li * None 35*a97c2a1fSXin Li * 36*a97c2a1fSXin Li ******************************************************************************* 37*a97c2a1fSXin Li */ 38*a97c2a1fSXin Li #ifndef __ICV_H__ 39*a97c2a1fSXin Li #define __ICV_H__ 40*a97c2a1fSXin Li 41*a97c2a1fSXin Li /** Color formats */ 42*a97c2a1fSXin Li typedef enum 43*a97c2a1fSXin Li { 44*a97c2a1fSXin Li /** Dummy candidate */ 45*a97c2a1fSXin Li ICV_COLOR_NA = 0x7FFFFFFF, 46*a97c2a1fSXin Li 47*a97c2a1fSXin Li /** YUV 420 Planar */ 48*a97c2a1fSXin Li ICV_YUV420P = 0, 49*a97c2a1fSXin Li 50*a97c2a1fSXin Li /** YUV 420 Semi Planar UV*/ 51*a97c2a1fSXin Li ICV_YUV420SP_UV, 52*a97c2a1fSXin Li 53*a97c2a1fSXin Li /** YUV 420 Semi Planar VU*/ 54*a97c2a1fSXin Li ICV_YUV420SP_VU, 55*a97c2a1fSXin Li 56*a97c2a1fSXin Li }ICV_COLOR_FMT_T; 57*a97c2a1fSXin Li 58*a97c2a1fSXin Li /** Architecture Enumeration */ 59*a97c2a1fSXin Li typedef enum 60*a97c2a1fSXin Li { 61*a97c2a1fSXin Li ICV_ARCH_NA = 0x7FFFFFFF, 62*a97c2a1fSXin Li ICV_ARM_NONEON = 0x0, 63*a97c2a1fSXin Li ICV_ARM_NEONINTR, 64*a97c2a1fSXin Li ICV_ARM_A9Q, 65*a97c2a1fSXin Li ICV_ARM_A9A, 66*a97c2a1fSXin Li ICV_ARM_A9, 67*a97c2a1fSXin Li ICV_ARM_A7, 68*a97c2a1fSXin Li ICV_ARM_A5, 69*a97c2a1fSXin Li ICV_ARM_A15, 70*a97c2a1fSXin Li ICV_ARMV8_GENERIC = 0x100, 71*a97c2a1fSXin Li ICV_ARM_A53, 72*a97c2a1fSXin Li ICV_ARM_A57, 73*a97c2a1fSXin Li ICV_X86_GENERIC = 0x1000, 74*a97c2a1fSXin Li ICV_X86_SSSE3, 75*a97c2a1fSXin Li ICV_X86_SSE42, 76*a97c2a1fSXin Li ICV_X86_AVX, 77*a97c2a1fSXin Li ICV_X86_AVX2, 78*a97c2a1fSXin Li ICV_MIPS_GENERIC = 0x2000, 79*a97c2a1fSXin Li ICV_MIPS_32, 80*a97c2a1fSXin Li ICV_RISCV_GENERIC = 0x3000, 81*a97c2a1fSXin Li }ICV_ARCH_T; 82*a97c2a1fSXin Li 83*a97c2a1fSXin Li /** SOC Enumeration */ 84*a97c2a1fSXin Li typedef enum 85*a97c2a1fSXin Li { 86*a97c2a1fSXin Li ICV_SOC_NA = 0x7FFFFFFF, 87*a97c2a1fSXin Li ICV_SOC_GENERIC = 0x0, 88*a97c2a1fSXin Li }ICV_SOC_T; 89*a97c2a1fSXin Li 90*a97c2a1fSXin Li 91*a97c2a1fSXin Li /** Max Color components */ 92*a97c2a1fSXin Li #define MAX_COMPONENTS 4 93*a97c2a1fSXin Li 94*a97c2a1fSXin Li /** Structure to define a picture */ 95*a97c2a1fSXin Li typedef struct 96*a97c2a1fSXin Li { 97*a97c2a1fSXin Li /** Buffer address */ 98*a97c2a1fSXin Li UWORD8 *apu1_buf[MAX_COMPONENTS]; 99*a97c2a1fSXin Li 100*a97c2a1fSXin Li /** Width */ 101*a97c2a1fSXin Li WORD32 ai4_wd[MAX_COMPONENTS]; 102*a97c2a1fSXin Li 103*a97c2a1fSXin Li /** Height */ 104*a97c2a1fSXin Li WORD32 ai4_ht[MAX_COMPONENTS]; 105*a97c2a1fSXin Li 106*a97c2a1fSXin Li /** Stride */ 107*a97c2a1fSXin Li WORD32 ai4_strd[MAX_COMPONENTS]; 108*a97c2a1fSXin Li 109*a97c2a1fSXin Li /** Color Format */ 110*a97c2a1fSXin Li ICV_COLOR_FMT_T e_color_fmt; 111*a97c2a1fSXin Li 112*a97c2a1fSXin Li }icv_pic_t; 113*a97c2a1fSXin Li 114*a97c2a1fSXin Li 115*a97c2a1fSXin Li #endif /* __ICV_H__ */ 116