blob: ea2e294cf2cb44cb6b2efa72976c009efc3a57fb [file] [log] [blame]
The Android Open Source Project30957f52008-10-21 07:00:00 -07001/*
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