• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef CAMERA_IFC_H
2 #define CAMERA_IFC_H
3 
4 #define FEATURE_CAMERA_V7
5 #define FEATURE_NATIVELINUX
6 #define FEATURE_CAMERA_ENCODE_PROPERTIES
7 
8 typedef enum {
9     QDSP_MODULE_KERNEL,
10     QDSP_MODULE_AFETASK,
11     QDSP_MODULE_AUDPLAY0TASK,
12     QDSP_MODULE_AUDPLAY1TASK,
13     QDSP_MODULE_AUDPPTASK,
14     QDSP_MODULE_VIDEOTASK,
15     QDSP_MODULE_VIDEO_AAC_VOC,
16     QDSP_MODULE_PCM_DEC,
17     QDSP_MODULE_AUDIO_DEC_MP3,
18     QDSP_MODULE_AUDIO_DEC_AAC,
19     QDSP_MODULE_AUDIO_DEC_WMA,
20     QDSP_MODULE_HOSTPCM,
21     QDSP_MODULE_DTMF,
22     QDSP_MODULE_AUDRECTASK,
23     QDSP_MODULE_AUDPREPROCTASK,
24     QDSP_MODULE_SBC_ENC,
25     QDSP_MODULE_VOC,
26     QDSP_MODULE_VOC_PCM,
27     QDSP_MODULE_VOCENCTASK,
28     QDSP_MODULE_VOCDECTASK,
29     QDSP_MODULE_VOICEPROCTASK,
30     QDSP_MODULE_VIDEOENCTASK,
31     QDSP_MODULE_VFETASK,
32     QDSP_MODULE_WAV_ENC,
33     QDSP_MODULE_AACLC_ENC,
34     QDSP_MODULE_VIDEO_AMR,
35     QDSP_MODULE_VOC_AMR,
36     QDSP_MODULE_VOC_EVRC,
37     QDSP_MODULE_VOC_13K,
38     QDSP_MODULE_VOC_FGV,
39     QDSP_MODULE_DIAGTASK,
40     QDSP_MODULE_JPEGTASK,
41     QDSP_MODULE_LPMTASK,
42     QDSP_MODULE_QCAMTASK,
43     QDSP_MODULE_MODMATHTASK,
44     QDSP_MODULE_AUDPLAY2TASK,
45     QDSP_MODULE_AUDPLAY3TASK,
46     QDSP_MODULE_AUDPLAY4TASK,
47     QDSP_MODULE_GRAPHICSTASK,
48     QDSP_MODULE_MIDI,
49     QDSP_MODULE_GAUDIO,
50     QDSP_MODULE_VDEC_LP_MODE,
51     QDSP_MODULE_MAX,
52 
53     /* DO NOT USE: Force this enum to be a 32bit type to improve speed */
54     QDSP_MODULE_32BIT_DUMMY = 0x10000
55 } qdsp_module_type;
56 
57 typedef enum
58 {
59     CAMERA_SUCCESS = 0,
60     CAMERA_INVALID_STATE,
61     CAMERA_INVALID_PARM,
62     CAMERA_INVALID_FORMAT,
63     CAMERA_NO_SENSOR,
64     CAMERA_NO_MEMORY,
65     CAMERA_NOT_SUPPORTED,
66     CAMERA_FAILED,
67     CAMERA_INVALID_STAND_ALONE_FORMAT,
68     CAMERA_MALLOC_FAILED_STAND_ALONE,
69     CAMERA_RET_CODE_MAX
70 } camera_ret_code_type;
71 
72 typedef enum
73 {
74     /* YCbCr, each pixel is two bytes. Two pixels form a unit.
75      * MSB is Y, LSB is CB for the first pixel and CR for the second pixel. */
76     CAMERA_YCBCR,
77 #ifdef FEATURE_CAMERA_V7
78     CAMERA_YCBCR_4_2_0,
79     CAMERA_YCBCR_4_2_2,
80     CAMERA_H1V1,
81     CAMERA_H2V1,
82     CAMERA_H1V2,
83     CAMERA_H2V2,
84     CAMERA_BAYER_8BIT,
85     CAMERA_BAYER_10BIT,
86 #endif /* FEATURE_CAMERA_V7 */
87     /* RGB565, each pixel is two bytes.
88      * MS 5-bit is red, the next 6-bit is green. LS 5-bit is blue. */
89     CAMERA_RGB565,
90     /* RGB666, each pixel is four bytes.
91      * MS 14 bits are zeros, the next 6-bit is red, then 6-bit of green.
92      * LS 5-bit is blue. */
93     CAMERA_RGB666,
94     /* RGB444, each pixel is 2 bytes. The MS 4 bits are zeros, the next
95      * 4 bits are red, the next 4 bits are green. The LS 4 bits are blue. */
96     CAMERA_RGB444,
97     /* Bayer, each pixel is 1 bytes. 2x2 pixels form a unit.
98      * First line: first byte is blue, second byte is green.
99      * Second line: first byte is green, second byte is red. */
100     CAMERA_BAYER_BGGR,
101     /* Bayer, each pixel is 1 bytes. 2x2 pixels form a unit.
102      * First line: first byte is green, second byte is blue.
103      * Second line: first byte is red, second byte is green. */
104     CAMERA_BAYER_GBRG,
105     /* Bayer, each pixel is 1 bytes. 2x2 pixels form a unit.
106      * First line: first byte is green, second byte is red.
107      * Second line: first byte is blue, second byte is green. */
108     CAMERA_BAYER_GRBG,
109     /* Bayer, each pixel is 1 bytes. 2x2 pixels form a unit.
110      * First line: first byte is red, second byte is green.
111      * Second line: first byte is green, second byte is blue. */
112     CAMERA_BAYER_RGGB,
113     /* RGB888, each pixel is 3 bytes. R is 8 bits, G is 8 bits,
114      * B is 8 bits*/
115     CAMERA_RGB888
116 } camera_format_type;
117 
118 typedef struct
119 {
120     /* Format of the frame */
121     camera_format_type format;
122 
123     /* For pre-V7, Width and height of the picture.
124      * For V7:
125      *   Snapshot:     thumbnail dimension
126      *   Raw Snapshot: not applicable
127      *   Preview:      not applicable
128      */
129     uint16_t dx;
130     uint16_t dy;
131     /* For pre_V7: For BAYER format, RAW data before scaling.
132      * For V7:
133      *   Snapshot:     Main image dimension
134      *   Raw snapshot: raw image dimension
135      *   Preview:      preview image dimension
136      */
137     uint16_t captured_dx;
138     uint16_t captured_dy;
139     /* it indicates the degree of clockwise rotation that should be
140      * applied to obtain the exact view of the captured image. */
141     uint16_t rotation;
142 
143 #ifdef FEATURE_CAMERA_V7
144     /* Preview:      not applicable
145      * Raw shapshot: not applicable
146      * Snapshot:     thumbnail image buffer
147      */
148     uint8_t *thumbnail_image;
149 #endif /* FEATURE_CAMERA_V7 */
150 
151     /* For pre-V7:
152      *   Image buffer ptr
153      * For V7:
154      *   Preview: preview image buffer ptr
155      *   Raw snapshot: Raw image buffer ptr
156      *   Shapshot:     Main image buffer ptr
157      */
158     uint8_t  *buffer;
159 
160 #ifdef FEATURE_NATIVELINUX
161     uint8_t   *Y_Addr;
162     uint8_t   *CbCr_Addr;
163     uint32_t *buf_Virt_Addr;
164     uint32_t header_size;
165 
166     /*
167      * For JPEG encoding
168      */
169     uint32_t buffer_phy_addr;
170     uint32_t thumbnail_phy_addr;
171 
172     uint32_t pmem_id;
173 #endif
174 } camera_frame_type;
175 
176 typedef enum
177 {
178     CAMERA_DEVICE_MEM,
179     CAMERA_DEVICE_EFS,
180     CAMERA_DEVICE_MAX
181 } camera_device_type;
182 
183 typedef enum
184 {
185     CAMERA_RAW,
186     CAMERA_JPEG,
187     CAMERA_PNG,
188     CAMERA_YCBCR_ENCODE,
189     CAMERA_ENCODE_TYPE_MAX
190 } camera_encode_type;
191 
192 typedef struct {
193     uint32_t  buf_len;/* Length of each buffer */
194     uint32_t  used_len;
195     uint8_t   *buffer;
196 } camera_encode_mem_type;
197 
198 #define MAX_JPEG_ENCODE_BUF_NUM 1
199 #define MAX_JPEG_ENCODE_BUF_LEN (1024*16)
200 
201 typedef struct {
202     camera_device_type     device;
203 #ifndef FEATURE_CAMERA_ENCODE_PROPERTIES
204     int32_t                quality;
205     camera_encode_type     format;
206 #endif /* nFEATURE_CAMERA_ENCODE_PROPERTIES */
207     int32_t                encBuf_num;
208     camera_encode_mem_type encBuf[MAX_JPEG_ENCODE_BUF_NUM];
209 } camera_handle_mem_type;
210 
211 typedef union
212 {
213     camera_device_type      device;
214     camera_handle_mem_type  mem;
215 } camera_handle_type;
216 
217 typedef enum
218 {
219     CAMERA_RSP_CB_SUCCESS,    /* Function is accepted         */
220     CAMERA_EXIT_CB_DONE,      /* Function is executed         */
221     CAMERA_EXIT_CB_FAILED,    /* Execution failed or rejected */
222     CAMERA_EXIT_CB_DSP_IDLE,  /* DSP is in idle state         */
223     CAMERA_EXIT_CB_DSP_ABORT, /* Abort due to DSP failure     */
224     CAMERA_EXIT_CB_ABORT,     /* Function aborted             */
225     CAMERA_EXIT_CB_ERROR,     /* Failed due to resource       */
226     CAMERA_EVT_CB_FRAME,      /* Preview or video frame ready */
227     CAMERA_EVT_CB_PICTURE,    /* Picture frame ready for multi-shot */
228     CAMERA_STATUS_CB,         /* Status updated               */
229     CAMERA_EXIT_CB_FILE_SIZE_EXCEEDED, /* Specified file size not achieved,
230                                           encoded file written & returned anyway */
231     CAMERA_EXIT_CB_BUFFER,    /* A buffer is returned         */
232     CAMERA_EVT_CB_SNAPSHOT_DONE,/*  Snapshot updated               */
233     CAMERA_CB_MAX
234 } camera_cb_type;
235 
236 typedef enum
237 {
238     CAMERA_FUNC_START,
239     CAMERA_FUNC_STOP,
240     CAMERA_FUNC_SET_DIMENSIONS,
241     CAMERA_FUNC_START_PREVIEW,
242     CAMERA_FUNC_TAKE_PICTURE,
243     CAMERA_FUNC_ENCODE_PICTURE,
244     CAMERA_FUNC_COLOR_CONVERT,
245     CAMERA_FUNC_START_RECORD,
246     CAMERA_FUNC_START_FOCUS,
247     CAMERA_FUNC_SET_OVERLAY,
248     CAMERA_FUNC_CLR_OVERLAY,
249     CAMERA_FUNC_SET_ICON_ARRAY,
250     CAMERA_FUNC_CLR_ICON_ARRAY,
251     CAMERA_FUNC_SET_POSITION,
252     CAMERA_FUNC_SET_EXIF_TAG,
253     CAMERA_FUNC_SET_PARM,
254 #ifdef FEATURE_QVPHONE
255     CAMERA_FUNC_ENABLE_QVP,
256     CAMERA_FUNC_DISABLE_QVP,
257     CAMERA_FUNC_START_QVP_ENCODE,
258     CAMERA_FUNC_STOP_QVP_ENCODE,
259     CAMERA_FUNC_QVP_RESET,
260 #endif /* FEATURE_QVPHONE */
261     CAMERA_FUNC_RELEASE_ENCODE_BUFFER,
262     CAMERA_FUNC_MAX,
263 
264     /*==========================================================================
265      * The followings are for internal use only
266      ==========================================================================*/
267 #ifdef FEATURE_CAMERA_MULTI_SENSOR
268     CAMERA_FUNC_SELECT_SENSOR,
269 #endif /* FEATURE_CAMERA_MULTI_SENSOR */
270     CAMERA_FUNC_STOP_PREVIEW,
271     CAMERA_FUNC_RELEASE_PICTURE,
272     CAMERA_FUNC_PAUSE_RECORD,
273     CAMERA_FUNC_RESUME_RECORD,
274     CAMERA_FUNC_STOP_RECORD,
275     CAMERA_FUNC_STOP_FOCUS,
276     CAMERA_FUNC_ENABLE_FRAME_CALLBACK,
277     CAMERA_FUNC_DISABLE_FRAME_CALLBACK,
278     CAMERA_FUNC_RELEASE_FRAME,
279 #ifdef FEATURE_VIDEO_ENCODE
280     CAMERA_FUNC_VIDEO_ENGINE_CB,
281     CAMERA_FUNC_VIDEO_HANDSHAKE,
282 #endif /* FEATURE_VIDEO_ENCODE */
283     CAMERA_FUNC_BLT,
284     CAMERA_FUNC_GET_INFO,
285     CAMERA_FUNC_GET_PARM,
286     CAMERA_FUNC_SET_REFLECT,
287 #ifdef FEATURE_CAMERA_V7
288     CAMERA_FUNC_INIT_RECORD,
289     CAMERA_FUNC_OFFLINE_SNAPSHOT,
290 #endif /* FEATURE_CAMERA_V7 */
291     CAMERA_FUNC_TAKE_MULTIPLE_PICTURES,
292     CAMERA_FUNC_PRVW_HISTOGRAM,
293     CAMERA_FUNC_SET_ZOOM,
294     CAMERA_FUNC_MAX1,
295 
296 } camera_func_type;
297 
298 typedef void (*camera_cb_f_type)(camera_cb_type cb,
299                                  const void *client_data,
300                                  camera_func_type func,
301                                  int32_t parm4);
302 
303 typedef struct {
304     int32_t                  quality;
305     camera_encode_type     format;
306     int32_t                  file_size;
307 } camera_encode_properties_type;
308 
309 typedef enum
310 {
311     /* read only operation states: camera_state_type */
312     CAMERA_PARM_STATE,
313     /* read only active command in execution: camera_func_type */
314     CAMERA_PARM_ACTIVE_CMD,
315     /* zoom */
316     CAMERA_PARM_ZOOM,
317     /* This affects only when encoding. It has to be set only in
318      * preview mode */
319     CAMERA_PARM_ENCODE_ROTATION, /* 0, 90, 180, 270 degrees */
320     /* Sensor can be rotated from forward direction to reversed direction or
321      * vise versa. When in normal position, line 1 is on the top. When in
322      * reverse position, line 1 is now at the bottom, not on the top, so the image
323      * need to be reversed, 0 = normal, 1 = reverse */
324     CAMERA_PARM_SENSOR_POSITION, /* use camera_sp_type */
325     /* contrast */
326     CAMERA_PARM_CONTRAST,
327     /* brightness */
328     CAMERA_PARM_BRIGHTNESS,
329     /* sharpness */
330     CAMERA_PARM_SHARPNESS,
331     CAMERA_PARM_EXPOSURE,        /* use camera_exposure_type */
332     CAMERA_PARM_WB,              /* use camera_wb_type */
333     CAMERA_PARM_EFFECT,          /* use camera_effect_type */
334     CAMERA_PARM_AUDIO_FMT,       /* use video_fmt_stream_audio_type */
335     CAMERA_PARM_FPS,             /* frames per second, unsigned integer number */
336     CAMERA_PARM_FLASH,           /* Flash control, see camera_flash_type */
337     CAMERA_PARM_RED_EYE_REDUCTION, /* boolean */
338     CAMERA_PARM_NIGHTSHOT_MODE,  /* Night shot mode, snapshot at reduced FPS */
339     CAMERA_PARM_REFLECT,         /* Use camera_reflect_type */
340     CAMERA_PARM_PREVIEW_MODE,    /* Use camera_preview_mode_type */
341     CAMERA_PARM_ANTIBANDING,     /* Use camera_anti_banding_type */
342 ///  CAMERA_PARM_THUMBNAIL_WIDTH, /* Width of thumbnail */
343 ///  CAMERA_PARM_THUMBNAIL_HEIGHT, /* Height of thumbnail */
344 ///  CAMERA_PARM_THUMBNAIL_QUALITY, /* Quality of thumbnail */
345     CAMERA_PARM_FOCUS_STEP,
346     CAMERA_PARM_FOCUS_RECT, /* Suresh Gara & Saikumar*/
347     CAMERA_PARM_AF_MODE,
348 #ifdef FEATURE_CAMERA_V7
349     /* Name change to CAMERA_PARM_EXPOSURE_METERING, remove this later */
350     CAMERA_PARM_AUTO_EXPOSURE_MODE, /* Use camera_auto_exposure_mode_type */
351 #endif /* FEATURE_CAMERA_V7 */
352 #ifdef FEATURE_CAMERA_INCALL
353     CAMERA_PARM_INCALL,          /* In call and vocoder type */
354 #endif /* FEATURE_CAMERA_INCALL */
355 #ifdef FEATURE_VIDEO_ENCODE_FADING
356     CAMERA_PARM_FADING,
357 #endif /* FEATURE_VIDEO_ENCODE_FADING */
358     CAMERA_PARM_ISO,
359 #ifdef FEATURE_CAMERA_V7
360     /* Use to control the exposure compensation */
361     CAMERA_PARM_EXPOSURE_COMPENSATION,
362     CAMERA_PARM_PREVIEW_FPS,
363     CAMERA_PARM_EXPOSURE_METERING,
364     CAMERA_PARM_APERTURE,
365     CAMERA_PARM_SHUTTER_SPEED,
366     CAMERA_PARM_FLASH_STATE,
367 #endif /* FEATURE_CAMERA_V7 */
368     CAMERA_PARM_HUE,
369     CAMERA_PARM_SATURATION,
370     CAMERA_PARM_LUMA_ADAPTATION,
371 #ifdef FEATURE_VIDENC_TRANSITION_EFFECTS
372     CAMERA_PARM_TRANSITION,
373     CAMERA_PARM_TRANSITION_ALPHA,
374     CAMERA_PARM_TRANSITION_CURTAIN,
375     CAMERA_PARM_TRANSITION_OFF,
376 #endif /* FEATURE_VIDENC_TRANSITION_EFFECTS */
377 #ifdef FEATURE_CAMERA_V770
378     CAMERA_PARM_FRAME_TIMESTAMP,
379     CAMERA_PARM_STROBE_FLASH,
380 #endif //FEATURE_CAMERA_V770
381     CAMERA_PARM_HISTOGRAM,
382 #ifdef FEATURE_CAMERA_BESTSHOT_MODE
383     CAMERA_PARM_BESTSHOT_MODE,
384 #endif /* FEATURE_CAMERA_BESTSHOT_MODE */
385 #ifdef FEATURE_VIDEO_ENCODE
386     CAMERA_PARM_SPACE_LIMIT,
387 #ifdef FEATURE_CAMCORDER_DIS
388     CAMERA_PARM_DIS,
389 #endif /* FEATURE_CAMCORDER_DIS */
390 #endif
391 #ifdef FEATURE_CAMERA_V7
392     CAMERA_PARM_FPS_LIST,
393 #endif
394   CAMERA_PARM_MAX
395 } camera_parm_type;
396 
397 typedef struct
398 {
399     uint32_t timestamp;  /* seconds since 1/6/1980          */
400     double   latitude;   /* degrees, WGS ellipsoid */
401     double   longitude;  /* degrees                */
402     int16_t  altitude;   /* meters                          */
403 } camera_position_type;
404 
405 typedef enum
406 {
407     CAMERA_AUTO_FOCUS,
408   CAMERA_MANUAL_FOCUS
409 } camera_focus_e_type;
410 
411 typedef enum
412 {
413     JPEGENC_DSP_FAIL,
414     JPEGENC_DSP_SUCCESS,
415     JPEGENC_DSP_BAD_CMD,
416     JPEGENC_IMG_DONE,
417     JPEGENC_IMG_ABORT,
418     JPEGENC_IMG_FAIL,
419     JPEGENC_FILE_SIZE_FAIL,
420     JPEGENC_FILLED_BUFFER
421 } JPEGENC_msgType;
422 
423 typedef enum
424 {
425 #ifdef FEATURE_EFS
426     JPEGENC_EFS,
427 #endif /* FEATURE_EFS */
428     JPEGENC_MEM
429 } JPEGENC_outputType;
430 
431 typedef struct
432 {
433     int32_t               clientId;
434     /* Client ID */
435     JPEGENC_msgType     status;
436     uint32_t             dcBitCnt;
437     /* bit count for DC, used by filesize control */
438     uint32_t              header_size;
439     /* Actual size of JPEG header */
440     JPEGENC_outputType  mode;
441     /*camera_encode_mem_type*/ void *outPtr;
442     /* These two are valid only when    */
443     uint32_t              size;
444     /*  output mode is JPEGENC_MEM      */
445 } JPEGENC_CBrtnType;
446 
447 /* White balancing type, used for CAMERA_PARM_WHITE_BALANCING */
448 typedef enum
449 {
450     CAMERA_WB_MIN_MINUS_1,
451     CAMERA_WB_AUTO = 1,  /* This list must match aeecamera.h */
452     CAMERA_WB_CUSTOM,
453     CAMERA_WB_INCANDESCENT,
454     CAMERA_WB_FLUORESCENT,
455     CAMERA_WB_DAYLIGHT,
456     CAMERA_WB_CLOUDY_DAYLIGHT,
457     CAMERA_WB_TWILIGHT,
458     CAMERA_WB_SHADE,
459     CAMERA_WB_MAX_PLUS_1
460 } camera_wb_type;
461 
462 
463 /* Effect type, used for CAMERA_PARM_EFFECT */
464 typedef enum
465 {
466     CAMERA_EFFECT_MIN_MINUS_1,
467     CAMERA_EFFECT_OFF = 1,  /* This list must match aeecamera.h */
468     CAMERA_EFFECT_MONO,
469     CAMERA_EFFECT_NEGATIVE,
470     CAMERA_EFFECT_SOLARIZE,
471     CAMERA_EFFECT_PASTEL,
472     CAMERA_EFFECT_MOSAIC,
473     CAMERA_EFFECT_RESIZE,
474     CAMERA_EFFECT_SEPIA,
475     CAMERA_EFFECT_POSTERIZE,
476     CAMERA_EFFECT_WHITEBOARD,
477     CAMERA_EFFECT_BLACKBOARD,
478     CAMERA_EFFECT_AQUA,
479     CAMERA_EFFECT_MAX_PLUS_1
480 } camera_effect_type;
481 
482 /* Brightness type, used for CAMERA_PARM_BRIGHTNESS */
483 typedef enum
484 {
485     CAMERA_BRIGHTNESS_MIN = 0,
486     CAMERA_BRIGHTNESS_0 = 0,
487     CAMERA_BRIGHTNESS_1 = 1,
488     CAMERA_BRIGHTNESS_2 = 2,
489     CAMERA_BRIGHTNESS_3 = 3,
490     CAMERA_BRIGHTNESS_4 = 4,
491     CAMERA_BRIGHTNESS_5 = 5,
492     CAMERA_BRIGHTNESS_DEFAULT = 5,
493     CAMERA_BRIGHTNESS_6 = 6,
494     CAMERA_BRIGHTNESS_7 = 7,
495     CAMERA_BRIGHTNESS_8 = 8,
496     CAMERA_BRIGHTNESS_9 = 9,
497     CAMERA_BRIGHTNESS_10 = 10,
498     CAMERA_BRIGHTNESS_MAX = 10
499 } camera_brightness_type;
500 
501 typedef enum
502 {
503     CAMERA_ANTIBANDING_OFF,
504     CAMERA_ANTIBANDING_60HZ,
505     CAMERA_ANTIBANDING_50HZ,
506     CAMERA_ANTIBANDING_AUTO,
507     CAMERA_MAX_ANTIBANDING,
508 } camera_antibanding_type;
509 
510 /* Enum Type for different ISO Mode supported */
511 typedef enum
512 {
513   CAMERA_ISO_AUTO = 0,
514   CAMERA_ISO_HIGH,
515   CAMERA_ISO_DEBLUR,
516   CAMERA_ISO_100,
517   CAMERA_ISO_200,
518   CAMERA_ISO_400,
519   CAMERA_ISO_800,
520   CAMERA_ISO_MAX
521 } camera_iso_mode_type;
522 
523 typedef enum
524 {
525     CAMERA_PREVIEW_MODE_SNAPSHOT,
526     CAMERA_PREVIEW_MODE_MOVIE,
527     CAMERA_MAX_PREVIEW_MODE
528 } camera_preview_mode_type;
529 
530 
531 typedef enum
532 {
533     CAMERA_ERROR_NO_MEMORY,
534     CAMERA_ERROR_EFS_FAIL,                /* Low-level operation failed */
535     CAMERA_ERROR_EFS_FILE_OPEN,           /* File already opened */
536     CAMERA_ERROR_EFS_FILE_NOT_OPEN,       /* File not opened */
537     CAMERA_ERROR_EFS_FILE_ALREADY_EXISTS, /* File already exists */
538     CAMERA_ERROR_EFS_NONEXISTENT_DIR,     /* User directory doesn't exist */
539     CAMERA_ERROR_EFS_NONEXISTENT_FILE,    /* User directory doesn't exist */
540     CAMERA_ERROR_EFS_BAD_FILE_NAME,       /* Client specified invalid file/directory name*/
541     CAMERA_ERROR_EFS_BAD_FILE_HANDLE,     /* Client specified invalid file/directory name*/
542     CAMERA_ERROR_EFS_SPACE_EXHAUSTED,     /* Out of file system space */
543     CAMERA_ERROR_EFS_OPEN_TABLE_FULL,     /* Out of open-file table slots                */
544     CAMERA_ERROR_EFS_OTHER_ERROR,         /* Other error                                 */
545     CAMERA_ERROR_CONFIG,
546     CAMERA_ERROR_EXIF_ENCODE,
547     CAMERA_ERROR_VIDEO_ENGINE,
548     CAMERA_ERROR_IPL,
549     CAMERA_ERROR_INVALID_FORMAT,
550     CAMERA_ERROR_MAX
551 } camera_error_type;
552 
553 #endif//CAMERA_IFC_H
554