1 /* 2 * Copyright (C) 2008 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 #ifndef bpi_TYPES_EM_H 18 #define bpi_TYPES_EM_H 19 20 /** 21 * This file contains gerenral purpose types. 22 */ 23 24 /* ---- includes ----------------------------------------------------------- */ 25 26 /* ---- related objects --------------------------------------------------- */ 27 28 /* ---- typedefs ----------------------------------------------------------- */ 29 30 /** Type of module */ 31 enum bpi_ModuleType 32 { 33 bpi_UNDEFINED, 34 bpi_OLD_FACE_FINDER_REMOVED, 35 bpi_FACE_FINDER, 36 bpi_LANDMARKER, 37 bpi_CONVERTER, 38 bpi_IDENTIFIER 39 }; 40 41 /** List of object identifiers 42 * This list is is synchronized with enum list epi_ObjectId 43 * Not all types are neccessarily in use in the embedded realm 44 * values in round braces ( e.g. (32) ) denote the size in bits of the associated data type 45 * 46 * Object formats: 47 * ASCII String: 0-terminates string of characters 48 * 49 * Image: <(32) type><(32) width><(32) height><(8) byte1><(8) byte2>.... 50 * type: 0: gray image - pixels are bytes starting at upper left corner 51 * 1: rgb color images - prixels are 3-byte rgb groups starting at upper left corner 52 * 2: jpeg compressed image (<(32) type><(32) width><(32) height> precede jpeg data) 53 * 54 * Cue: SDK compatible template (bpi_IdCueHdr + subsequent data) 55 * 56 * The type values never change. Type numbers can be taken for granted. 57 */ 58 enum bpi_ObjectId 59 { 60 bpi_ID_FILE, /** (ASCII String) file name (of image) */ 61 bpi_ID_BOUNDING_BOX, /** bounding box (coordinates of original image) */ 62 bpi_ID_GRAPH, /** ground truth graph */ 63 bpi_ID_FILE_LIST, /** list of filenames */ 64 bpi_ID_GRAPH_LIST, /** list of egp_SpatialGraph (multiple ground truth graphs per image) */ 65 bpi_ID_GROUP, /** generic group element (used in the embedded domain to identify an object set) */ 66 bpi_ID_IMAGE = 256, /** (Image) downscaled byte image */ 67 bpi_ID_IMAGE_FRAME, /** bounding box surrounding original image */ 68 bpi_ID_IMAGE_ID, /** (32)-integer id number of person por object in image */ 69 bpi_ID_SIGNATURE_NAME = 512, /** (ASCII String) name of gallery element (=signature) */ 70 bpi_ID_CONFIDENCE, /** general purpose confidence value */ 71 bpi_ID_CUE, /** (Cue) general purpose cue */ 72 bpi_ID_PCA_MAT, /** eigenvector matrix obtained from PCA analysis */ 73 bpi_ID_PCA_AVG, /** PCA average vector */ 74 bpi_ID_PCA_EVL, /** PCA eigen values */ 75 bpi_ID_COMMENT /** (ASCII String) comment or description of data */ 76 // never modify this list alone (!) - modification must be initiated in Kernel/API 77 }; 78 79 /* ---- constants ---------------------------------------------------------- */ 80 81 /* ---- external functions ------------------------------------------------- */ 82 83 #endif /* bpi_TYPES_EM_H */ 84 85