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