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
8typedef 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
57typedef 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
72typedef 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
118typedef 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
176typedef enum
177{
178    CAMERA_DEVICE_MEM,
179    CAMERA_DEVICE_EFS,
180    CAMERA_DEVICE_MAX
181} camera_device_type;
182
183typedef 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
192typedef 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
201typedef 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
211typedef union
212{
213    camera_device_type      device;
214    camera_handle_mem_type  mem;
215} camera_handle_type;
216
217typedef 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
236typedef 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
298typedef void (*camera_cb_f_type)(camera_cb_type cb,
299                                 const void *client_data,
300                                 camera_func_type func,
301                                 int32_t parm4);
302
303typedef struct {
304    int32_t                  quality;
305    camera_encode_type     format;
306    int32_t                  file_size;
307} camera_encode_properties_type;
308
309typedef 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
397typedef 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
405typedef enum
406{
407    CAMERA_AUTO_FOCUS,
408  CAMERA_MANUAL_FOCUS
409} camera_focus_e_type;
410
411typedef 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
423typedef enum
424{
425#ifdef FEATURE_EFS
426    JPEGENC_EFS,
427#endif /* FEATURE_EFS */
428    JPEGENC_MEM
429} JPEGENC_outputType;
430
431typedef 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 */
448typedef 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 */
464typedef 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 */
483typedef 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
501typedef 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 */
511typedef 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
523typedef enum
524{
525    CAMERA_PREVIEW_MODE_SNAPSHOT,
526    CAMERA_PREVIEW_MODE_MOVIE,
527    CAMERA_MAX_PREVIEW_MODE
528} camera_preview_mode_type;
529
530
531typedef 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