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