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 */
31enum 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 */
58enum 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