auto import from //depot/cupcake/@135843
[android/platform/external/neven.git] / Embedded / common / src / b_APIEm / Types.h
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