My Project
|
00001 /* 00002 Copyright (c) 2012, Broadcom Europe Ltd 00003 All rights reserved. 00004 00005 Redistribution and use in source and binary forms, with or without 00006 modification, are permitted provided that the following conditions are met: 00007 * Redistributions of source code must retain the above copyright 00008 notice, this list of conditions and the following disclaimer. 00009 * Redistributions in binary form must reproduce the above copyright 00010 notice, this list of conditions and the following disclaimer in the 00011 documentation and/or other materials provided with the distribution. 00012 * Neither the name of the copyright holder nor the 00013 names of its contributors may be used to endorse or promote products 00014 derived from this software without specific prior written permission. 00015 00016 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 00017 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00018 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00019 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY 00020 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00021 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00022 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00023 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00024 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00025 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00026 */ 00027 00028 /*============================================================================= 00029 Copyright (c) 2011 Broadcom Europe Limited. 00030 All rights reserved. 00031 =============================================================================*/ 00036 #ifndef MMAL_PARAMETERS_CAMERA_H 00037 #define MMAL_PARAMETERS_CAMERA_H 00038 00039 #include "mmal_parameters_common.h" 00040 00041 /************************************************* 00042 * ALWAYS ADD NEW ENUMS AT THE END OF THIS LIST! * 00043 ************************************************/ 00044 00048 enum { 00049 /* 0 */ 00050 MMAL_PARAMETER_THUMBNAIL_CONFIGURATION 00051 = MMAL_PARAMETER_GROUP_CAMERA, 00052 MMAL_PARAMETER_CAPTURE_QUALITY, 00053 MMAL_PARAMETER_ROTATION, 00054 MMAL_PARAMETER_EXIF_DISABLE, 00055 MMAL_PARAMETER_EXIF, 00056 MMAL_PARAMETER_AWB_MODE, 00057 MMAL_PARAMETER_IMAGE_EFFECT, 00058 MMAL_PARAMETER_COLOUR_EFFECT, 00059 MMAL_PARAMETER_FLICKER_AVOID, 00060 MMAL_PARAMETER_FLASH, 00061 MMAL_PARAMETER_REDEYE, 00062 MMAL_PARAMETER_FOCUS, 00063 MMAL_PARAMETER_FOCAL_LENGTHS, 00064 MMAL_PARAMETER_EXPOSURE_COMP, 00065 MMAL_PARAMETER_ZOOM, 00066 MMAL_PARAMETER_MIRROR, 00068 /* 0x10 */ 00069 MMAL_PARAMETER_CAMERA_NUM, 00070 MMAL_PARAMETER_CAPTURE, 00071 MMAL_PARAMETER_EXPOSURE_MODE, 00072 MMAL_PARAMETER_EXP_METERING_MODE, 00073 MMAL_PARAMETER_FOCUS_STATUS, 00074 MMAL_PARAMETER_CAMERA_CONFIG, 00075 MMAL_PARAMETER_CAPTURE_STATUS, 00076 MMAL_PARAMETER_FACE_TRACK, 00077 MMAL_PARAMETER_DRAW_BOX_FACES_AND_FOCUS, 00078 MMAL_PARAMETER_JPEG_Q_FACTOR, 00079 MMAL_PARAMETER_FRAME_RATE, 00080 MMAL_PARAMETER_USE_STC, 00081 MMAL_PARAMETER_CAMERA_INFO, 00082 MMAL_PARAMETER_VIDEO_STABILISATION, 00083 MMAL_PARAMETER_FACE_TRACK_RESULTS, 00084 MMAL_PARAMETER_ENABLE_RAW_CAPTURE, 00086 /* 0x20 */ 00087 MMAL_PARAMETER_DPF_FILE, 00088 MMAL_PARAMETER_ENABLE_DPF_FILE, 00089 MMAL_PARAMETER_DPF_FAIL_IS_FATAL, 00090 MMAL_PARAMETER_CAPTURE_MODE, 00091 MMAL_PARAMETER_FOCUS_REGIONS, 00092 MMAL_PARAMETER_INPUT_CROP, 00093 MMAL_PARAMETER_SENSOR_INFORMATION, 00094 MMAL_PARAMETER_FLASH_SELECT, 00095 MMAL_PARAMETER_FIELD_OF_VIEW, 00096 MMAL_PARAMETER_HIGH_DYNAMIC_RANGE, 00097 MMAL_PARAMETER_DYNAMIC_RANGE_COMPRESSION, 00098 MMAL_PARAMETER_ALGORITHM_CONTROL, 00099 MMAL_PARAMETER_SHARPNESS, 00100 MMAL_PARAMETER_CONTRAST, 00101 MMAL_PARAMETER_BRIGHTNESS, 00102 MMAL_PARAMETER_SATURATION, 00104 /* 0x30 */ 00105 MMAL_PARAMETER_ISO, 00106 MMAL_PARAMETER_ANTISHAKE, 00107 MMAL_PARAMETER_IMAGE_EFFECT_PARAMETERS, 00108 MMAL_PARAMETER_CAMERA_BURST_CAPTURE, 00109 MMAL_PARAMETER_CAMERA_MIN_ISO, 00110 MMAL_PARAMETER_CAMERA_USE_CASE, 00111 MMAL_PARAMETER_CAPTURE_STATS_PASS, 00112 MMAL_PARAMETER_CAMERA_CUSTOM_SENSOR_CONFIG, 00113 MMAL_PARAMETER_ENABLE_REGISTER_FILE, 00114 MMAL_PARAMETER_REGISTER_FAIL_IS_FATAL, 00115 MMAL_PARAMETER_CONFIGFILE_REGISTERS, 00116 MMAL_PARAMETER_CONFIGFILE_CHUNK_REGISTERS, 00117 MMAL_PARAMETER_JPEG_ATTACH_LOG, 00118 MMAL_PARAMETER_ZERO_SHUTTER_LAG, 00119 MMAL_PARAMETER_FPS_RANGE, 00120 MMAL_PARAMETER_CAPTURE_EXPOSURE_COMP, 00122 /* 0x40 */ 00123 MMAL_PARAMETER_SW_SHARPEN_DISABLE, 00124 MMAL_PARAMETER_FLASH_REQUIRED, 00125 MMAL_PARAMETER_SW_SATURATION_DISABLE, 00126 }; 00127 00129 typedef struct MMAL_PARAMETER_THUMBNAIL_CONFIG_T 00130 { 00131 MMAL_PARAMETER_HEADER_T hdr; 00132 00133 uint32_t enable; 00134 uint32_t width; 00135 uint32_t height; 00136 uint32_t quality; 00137 } MMAL_PARAMETER_THUMBNAIL_CONFIG_T; 00138 00140 typedef struct MMAL_PARAMETER_EXIF_T 00141 { 00142 MMAL_PARAMETER_HEADER_T hdr; 00143 00144 uint32_t keylen; 00145 uint32_t value_offset; 00146 uint32_t valuelen; 00147 uint8_t data[1]; 00148 } MMAL_PARAMETER_EXIF_T; 00149 00151 typedef enum 00152 { 00153 MMAL_PARAM_EXPOSUREMODE_OFF, 00154 MMAL_PARAM_EXPOSUREMODE_AUTO, 00155 MMAL_PARAM_EXPOSUREMODE_NIGHT, 00156 MMAL_PARAM_EXPOSUREMODE_NIGHTPREVIEW, 00157 MMAL_PARAM_EXPOSUREMODE_BACKLIGHT, 00158 MMAL_PARAM_EXPOSUREMODE_SPOTLIGHT, 00159 MMAL_PARAM_EXPOSUREMODE_SPORTS, 00160 MMAL_PARAM_EXPOSUREMODE_SNOW, 00161 MMAL_PARAM_EXPOSUREMODE_BEACH, 00162 MMAL_PARAM_EXPOSUREMODE_VERYLONG, 00163 MMAL_PARAM_EXPOSUREMODE_FIXEDFPS, 00164 MMAL_PARAM_EXPOSUREMODE_ANTISHAKE, 00165 MMAL_PARAM_EXPOSUREMODE_FIREWORKS, 00166 MMAL_PARAM_EXPOSUREMODE_MAX = 0x7fffffff 00167 } MMAL_PARAM_EXPOSUREMODE_T; 00168 00169 typedef struct MMAL_PARAMETER_EXPOSUREMODE_T 00170 { 00171 MMAL_PARAMETER_HEADER_T hdr; 00172 00173 MMAL_PARAM_EXPOSUREMODE_T value; 00174 } MMAL_PARAMETER_EXPOSUREMODE_T; 00175 00176 typedef enum 00177 { 00178 MMAL_PARAM_EXPOSUREMETERINGMODE_AVERAGE, 00179 MMAL_PARAM_EXPOSUREMETERINGMODE_SPOT, 00180 MMAL_PARAM_EXPOSUREMETERINGMODE_BACKLIT, 00181 MMAL_PARAM_EXPOSUREMETERINGMODE_MATRIX, 00182 MMAL_PARAM_EXPOSUREMETERINGMODE_MAX = 0x7fffffff 00183 } MMAL_PARAM_EXPOSUREMETERINGMODE_T; 00184 00185 typedef struct MMAL_PARAMETER_EXPOSUREMETERINGMODE_T 00186 { 00187 MMAL_PARAMETER_HEADER_T hdr; 00188 00189 MMAL_PARAM_EXPOSUREMETERINGMODE_T value; 00190 } MMAL_PARAMETER_EXPOSUREMETERINGMODE_T; 00191 00193 typedef enum MMAL_PARAM_AWBMODE_T 00194 { 00195 MMAL_PARAM_AWBMODE_OFF, 00196 MMAL_PARAM_AWBMODE_AUTO, 00197 MMAL_PARAM_AWBMODE_SUNLIGHT, 00198 MMAL_PARAM_AWBMODE_CLOUDY, 00199 MMAL_PARAM_AWBMODE_SHADE, 00200 MMAL_PARAM_AWBMODE_TUNGSTEN, 00201 MMAL_PARAM_AWBMODE_FLUORESCENT, 00202 MMAL_PARAM_AWBMODE_INCANDESCENT, 00203 MMAL_PARAM_AWBMODE_FLASH, 00204 MMAL_PARAM_AWBMODE_HORIZON, 00205 MMAL_PARAM_AWBMODE_MAX = 0x7fffffff 00206 } MMAL_PARAM_AWBMODE_T; 00207 00209 typedef struct MMAL_PARAMETER_AWBMODE_T 00210 { 00211 MMAL_PARAMETER_HEADER_T hdr; 00212 00213 MMAL_PARAM_AWBMODE_T value; 00214 } MMAL_PARAMETER_AWBMODE_T; 00215 00217 typedef enum MMAL_PARAM_IMAGEFX_T 00218 { 00219 MMAL_PARAM_IMAGEFX_NONE, 00220 MMAL_PARAM_IMAGEFX_NEGATIVE, 00221 MMAL_PARAM_IMAGEFX_SOLARIZE, 00222 MMAL_PARAM_IMAGEFX_POSTERIZE, 00223 MMAL_PARAM_IMAGEFX_WHITEBOARD, 00224 MMAL_PARAM_IMAGEFX_BLACKBOARD, 00225 MMAL_PARAM_IMAGEFX_SKETCH, 00226 MMAL_PARAM_IMAGEFX_DENOISE, 00227 MMAL_PARAM_IMAGEFX_EMBOSS, 00228 MMAL_PARAM_IMAGEFX_OILPAINT, 00229 MMAL_PARAM_IMAGEFX_HATCH, 00230 MMAL_PARAM_IMAGEFX_GPEN, 00231 MMAL_PARAM_IMAGEFX_PASTEL, 00232 MMAL_PARAM_IMAGEFX_WATERCOLOUR, 00233 MMAL_PARAM_IMAGEFX_FILM, 00234 MMAL_PARAM_IMAGEFX_BLUR, 00235 MMAL_PARAM_IMAGEFX_SATURATION, 00236 MMAL_PARAM_IMAGEFX_COLOURSWAP, 00237 MMAL_PARAM_IMAGEFX_WASHEDOUT, 00238 MMAL_PARAM_IMAGEFX_POSTERISE, 00239 MMAL_PARAM_IMAGEFX_COLOURPOINT, 00240 MMAL_PARAM_IMAGEFX_COLOURBALANCE, 00241 MMAL_PARAM_IMAGEFX_CARTOON, 00242 MMAL_PARAM_IMAGEFX_MAX = 0x7fffffff 00243 } MMAL_PARAM_IMAGEFX_T; 00244 00245 typedef struct MMAL_PARAMETER_IMAGEFX_T 00246 { 00247 MMAL_PARAMETER_HEADER_T hdr; 00248 00249 MMAL_PARAM_IMAGEFX_T value; 00250 } MMAL_PARAMETER_IMAGEFX_T; 00251 00252 #define MMAL_MAX_IMAGEFX_PARAMETERS 5 /* Image effects library currently uses a maximum of 5 parameters per effect */ 00253 00254 typedef struct MMAL_PARAMETER_IMAGEFX_PARAMETERS_T 00255 { 00256 MMAL_PARAMETER_HEADER_T hdr; 00257 00258 MMAL_PARAM_IMAGEFX_T effect; 00259 uint32_t num_effect_params; 00260 uint32_t effect_parameter[MMAL_MAX_IMAGEFX_PARAMETERS]; 00261 } MMAL_PARAMETER_IMAGEFX_PARAMETERS_T; 00262 00264 typedef struct MMAL_PARAMETER_COLOURFX_T 00265 { 00266 MMAL_PARAMETER_HEADER_T hdr; 00267 00268 int32_t enable; 00269 uint32_t u; 00270 uint32_t v; 00271 } MMAL_PARAMETER_COLOURFX_T; 00272 00273 typedef enum MMAL_CAMERA_STC_MODE_T 00274 { 00275 MMAL_PARAM_STC_MODE_OFF, 00276 MMAL_PARAM_STC_MODE_RAW, 00277 MMAL_PARAM_STC_MODE_COOKED, 00278 MMAL_PARAM_STC_MODE_MAX = 0x7fffffff 00279 } MMAL_CAMERA_STC_MODE_T; 00280 00281 typedef struct MMAL_PARAMETER_CAMERA_STC_MODE_T 00282 { 00283 MMAL_PARAMETER_HEADER_T hdr; 00284 MMAL_CAMERA_STC_MODE_T value; 00285 } MMAL_PARAMETER_CAMERA_STC_MODE_T; 00286 00287 typedef enum MMAL_PARAM_FLICKERAVOID_T 00288 { 00289 MMAL_PARAM_FLICKERAVOID_OFF, 00290 MMAL_PARAM_FLICKERAVOID_AUTO, 00291 MMAL_PARAM_FLICKERAVOID_50HZ, 00292 MMAL_PARAM_FLICKERAVOID_60HZ, 00293 MMAL_PARAM_FLICKERAVOID_MAX = 0x7FFFFFFF 00294 } MMAL_PARAM_FLICKERAVOID_T; 00295 00296 typedef struct MMAL_PARAMETER_FLICKERAVOID_T 00297 { 00298 MMAL_PARAMETER_HEADER_T hdr; 00299 00300 MMAL_PARAM_FLICKERAVOID_T value; 00301 } MMAL_PARAMETER_FLICKERAVOID_T; 00302 00303 typedef enum MMAL_PARAM_FLASH_T 00304 { 00305 MMAL_PARAM_FLASH_OFF, 00306 MMAL_PARAM_FLASH_AUTO, 00307 MMAL_PARAM_FLASH_ON, 00308 MMAL_PARAM_FLASH_REDEYE, 00309 MMAL_PARAM_FLASH_FILLIN, 00310 MMAL_PARAM_FLASH_TORCH, 00311 MMAL_PARAM_FLASH_MAX = 0x7FFFFFFF 00312 } MMAL_PARAM_FLASH_T; 00313 00314 typedef struct MMAL_PARAMETER_FLASH_T 00315 { 00316 MMAL_PARAMETER_HEADER_T hdr; 00317 00318 MMAL_PARAM_FLASH_T value; 00319 } MMAL_PARAMETER_FLASH_T; 00320 00321 typedef enum MMAL_PARAM_REDEYE_T 00322 { 00323 MMAL_PARAM_REDEYE_OFF, 00324 MMAL_PARAM_REDEYE_ON, 00325 MMAL_PARAM_REDEYE_SIMPLE, 00326 MMAL_PARAM_REDEYE_MAX = 0x7FFFFFFF 00327 } MMAL_PARAM_REDEYE_T; 00328 00329 typedef struct MMAL_PARAMETER_REDEYE_T 00330 { 00331 MMAL_PARAMETER_HEADER_T hdr; 00332 00333 MMAL_PARAM_REDEYE_T value; 00334 } MMAL_PARAMETER_REDEYE_T; 00335 00336 typedef enum MMAL_PARAM_FOCUS_T 00337 { 00338 MMAL_PARAM_FOCUS_AUTO, 00339 MMAL_PARAM_FOCUS_AUTO_NEAR, 00340 MMAL_PARAM_FOCUS_AUTO_MACRO, 00341 MMAL_PARAM_FOCUS_CAF, 00342 MMAL_PARAM_FOCUS_CAF_NEAR, 00343 MMAL_PARAM_FOCUS_FIXED_INFINITY, 00344 MMAL_PARAM_FOCUS_FIXED_HYPERFOCAL, 00345 MMAL_PARAM_FOCUS_FIXED_NEAR, 00346 MMAL_PARAM_FOCUS_FIXED_MACRO, 00347 MMAL_PARAM_FOCUS_EDOF, 00348 MMAL_PARAM_FOCUS_CAF_MACRO, 00349 MMAL_PARAM_FOCUS_CAF_FAST, 00350 MMAL_PARAM_FOCUS_CAF_NEAR_FAST, 00351 MMAL_PARAM_FOCUS_CAF_MACRO_FAST, 00352 MMAL_PARAM_FOCUS_FIXED_CURRENT, 00353 MMAL_PARAM_FOCUS_MAX = 0x7FFFFFFF 00354 } MMAL_PARAM_FOCUS_T; 00355 00356 typedef struct MMAL_PARAMETER_FOCUS_T 00357 { 00358 MMAL_PARAMETER_HEADER_T hdr; 00359 00360 MMAL_PARAM_FOCUS_T value; 00361 } MMAL_PARAMETER_FOCUS_T; 00362 00363 typedef enum MMAL_PARAM_CAPTURE_STATUS_T 00364 { 00365 MMAL_PARAM_CAPTURE_STATUS_NOT_CAPTURING, 00366 MMAL_PARAM_CAPTURE_STATUS_CAPTURE_STARTED, 00367 MMAL_PARAM_CAPTURE_STATUS_CAPTURE_ENDED, 00368 00369 MMAL_PARAM_CAPTURE_STATUS_MAX = 0x7FFFFFFF 00370 } MMAL_PARAM_CAPTURE_STATUS_T; 00371 00372 typedef struct MMAL_PARAMETER_CAPTURE_STATUS_T 00373 { 00374 MMAL_PARAMETER_HEADER_T hdr; 00375 00376 MMAL_PARAM_CAPTURE_STATUS_T status; 00377 } MMAL_PARAMETER_CAPTURE_STATUS_T; 00378 00379 typedef enum MMAL_PARAM_FOCUS_STATUS_T 00380 { 00381 MMAL_PARAM_FOCUS_STATUS_OFF, 00382 MMAL_PARAM_FOCUS_STATUS_REQUEST, 00383 MMAL_PARAM_FOCUS_STATUS_REACHED, 00384 MMAL_PARAM_FOCUS_STATUS_UNABLE_TO_REACH, 00385 MMAL_PARAM_FOCUS_STATUS_LOST, 00386 MMAL_PARAM_FOCUS_STATUS_CAF_MOVING, 00387 MMAL_PARAM_FOCUS_STATUS_CAF_SUCCESS, 00388 MMAL_PARAM_FOCUS_STATUS_CAF_FAILED, 00389 MMAL_PARAM_FOCUS_STATUS_MANUAL_MOVING, 00390 MMAL_PARAM_FOCUS_STATUS_MANUAL_REACHED, 00391 MMAL_PARAM_FOCUS_STATUS_CAF_WATCHING, 00392 MMAL_PARAM_FOCUS_STATUS_CAF_SCENE_CHANGED, 00393 00394 MMAL_PARAM_FOCUS_STATUS_MAX = 0x7FFFFFFF 00395 } MMAL_PARAM_FOCUS_STATUS_T; 00396 00397 typedef struct MMAL_PARAMETER_FOCUS_STATUS_T 00398 { 00399 MMAL_PARAMETER_HEADER_T hdr; 00400 00401 MMAL_PARAM_FOCUS_STATUS_T status; 00402 } MMAL_PARAMETER_FOCUS_STATUS_T; 00403 00404 typedef enum MMAL_PARAM_FACE_TRACK_MODE_T 00405 { 00406 MMAL_PARAM_FACE_DETECT_NONE, 00407 MMAL_PARAM_FACE_DETECT_ON, 00408 MMAL_PARAM_FACE_DETECT_MAX = 0x7FFFFFFF 00409 } MMAL_PARAM_FACE_TRACK_MODE_T; 00410 00411 typedef struct MMAL_PARAMETER_FACE_TRACK_T /* face tracking control */ 00412 { 00413 MMAL_PARAMETER_HEADER_T hdr; 00414 MMAL_PARAM_FACE_TRACK_MODE_T mode; 00415 uint32_t maxRegions; 00416 uint32_t frames; 00417 uint32_t quality; 00418 } MMAL_PARAMETER_FACE_TRACK_T; 00419 00420 typedef struct MMAL_PARAMETER_FACE_TRACK_FACE_T /* face tracking face information */ 00421 { 00422 int32_t face_id; 00423 int32_t score; 00424 MMAL_RECT_T face_rect; 00426 MMAL_RECT_T eye_rect[2]; 00427 MMAL_RECT_T mouth_rect; 00428 } MMAL_PARAMETER_FACE_TRACK_FACE_T; 00429 00430 typedef struct MMAL_PARAMETER_FACE_TRACK_RESULTS_T /* face tracking results */ 00431 { 00432 MMAL_PARAMETER_HEADER_T hdr; 00433 00434 uint32_t num_faces; 00435 uint32_t frame_width; 00436 uint32_t frame_height; 00438 MMAL_PARAMETER_FACE_TRACK_FACE_T faces[1]; 00439 } MMAL_PARAMETER_FACE_TRACK_RESULTS_T; 00440 00441 typedef enum MMAL_PARAMETER_CAMERA_CONFIG_TIMESTAMP_MODE_T 00442 { 00443 MMAL_PARAM_TIMESTAMP_MODE_ZERO, 00444 MMAL_PARAM_TIMESTAMP_MODE_RAW_STC, 00445 MMAL_PARAM_TIMESTAMP_MODE_RESET_STC, 00448 MMAL_PARAM_TIMESTAMP_MODE_MAX = 0x7FFFFFFF 00449 } MMAL_PARAMETER_CAMERA_CONFIG_TIMESTAMP_MODE_T; 00450 00451 typedef struct MMAL_PARAMETER_CAMERA_CONFIG_T 00452 { 00453 MMAL_PARAMETER_HEADER_T hdr; 00454 00455 /* Parameters for setting up the image pools */ 00456 uint32_t max_stills_w; 00457 uint32_t max_stills_h; 00458 uint32_t stills_yuv422; 00459 uint32_t one_shot_stills; 00461 uint32_t max_preview_video_w; 00462 uint32_t max_preview_video_h; 00463 uint32_t num_preview_video_frames; 00464 00465 uint32_t stills_capture_circular_buffer_height; 00467 uint32_t fast_preview_resume; 00473 MMAL_PARAMETER_CAMERA_CONFIG_TIMESTAMP_MODE_T use_stc_timestamp; 00478 } MMAL_PARAMETER_CAMERA_CONFIG_T; 00479 00480 #define MMAL_PARAMETER_CAMERA_INFO_MAX_CAMERAS 4 00481 #define MMAL_PARAMETER_CAMERA_INFO_MAX_FLASHES 2 00482 00483 typedef struct MMAL_PARAMETER_CAMERA_INFO_CAMERA_T 00484 { 00485 uint32_t port_id; 00486 uint32_t max_width; 00487 uint32_t max_height; 00488 MMAL_BOOL_T lens_present; 00489 } MMAL_PARAMETER_CAMERA_INFO_CAMERA_T; 00490 00491 typedef enum MMAL_PARAMETER_CAMERA_INFO_FLASH_TYPE_T 00492 { 00493 MMAL_PARAMETER_CAMERA_INFO_FLASH_TYPE_XENON = 0, /* Make values explicit */ 00494 MMAL_PARAMETER_CAMERA_INFO_FLASH_TYPE_LED = 1, /* to ensure they match */ 00495 MMAL_PARAMETER_CAMERA_INFO_FLASH_TYPE_OTHER = 2, /* values in config ini */ 00496 MMAL_PARAMETER_CAMERA_INFO_FLASH_TYPE_MAX = 0x7FFFFFFF 00497 } MMAL_PARAMETER_CAMERA_INFO_FLASH_TYPE_T; 00498 00499 typedef struct MMAL_PARAMETER_CAMERA_INFO_FLASH_T 00500 { 00501 MMAL_PARAMETER_CAMERA_INFO_FLASH_TYPE_T flash_type; 00502 } MMAL_PARAMETER_CAMERA_INFO_FLASH_T; 00503 00504 typedef struct MMAL_PARAMETER_CAMERA_INFO_T 00505 { 00506 MMAL_PARAMETER_HEADER_T hdr; 00507 uint32_t num_cameras; 00508 uint32_t num_flashes; 00509 MMAL_PARAMETER_CAMERA_INFO_CAMERA_T cameras[MMAL_PARAMETER_CAMERA_INFO_MAX_CAMERAS]; 00510 MMAL_PARAMETER_CAMERA_INFO_FLASH_T flashes[MMAL_PARAMETER_CAMERA_INFO_MAX_FLASHES]; 00511 } MMAL_PARAMETER_CAMERA_INFO_T; 00512 00513 typedef enum MMAL_PARAMETER_CAPTUREMODE_MODE_T 00514 { 00515 MMAL_PARAM_CAPTUREMODE_WAIT_FOR_END, 00516 MMAL_PARAM_CAPTUREMODE_WAIT_FOR_END_AND_HOLD, 00517 MMAL_PARAM_CAPTUREMODE_RESUME_VF_IMMEDIATELY, 00520 } MMAL_PARAMETER_CAPTUREMODE_MODE_T; 00521 00523 typedef struct MMAL_PARAMETER_CAPTUREMODE_T 00524 { 00525 MMAL_PARAMETER_HEADER_T hdr; 00526 MMAL_PARAMETER_CAPTUREMODE_MODE_T mode; 00527 } MMAL_PARAMETER_CAPTUREMODE_T; 00528 00529 typedef enum MMAL_PARAMETER_FOCUS_REGION_TYPE_T 00530 { 00531 MMAL_PARAMETER_FOCUS_REGION_TYPE_NORMAL, 00532 MMAL_PARAMETER_FOCUS_REGION_TYPE_FACE, 00533 MMAL_PARAMETER_FOCUS_REGION_TYPE_MAX 00534 } MMAL_PARAMETER_FOCUS_REGION_TYPE_T; 00535 00536 typedef struct MMAL_PARAMETER_FOCUS_REGION_T 00537 { 00538 MMAL_RECT_T rect; 00539 uint32_t weight; 00540 uint32_t mask; 00541 MMAL_PARAMETER_FOCUS_REGION_TYPE_T type; 00542 } MMAL_PARAMETER_FOCUS_REGION_T; 00543 00544 typedef struct MMAL_PARAMETER_FOCUS_REGIONS_T 00545 { 00546 MMAL_PARAMETER_HEADER_T hdr; 00547 uint32_t num_regions; 00548 MMAL_BOOL_T lock_to_faces; 00549 MMAL_PARAMETER_FOCUS_REGION_T regions[1]; 00550 } MMAL_PARAMETER_FOCUS_REGIONS_T; 00551 00552 typedef struct MMAL_PARAMETER_INPUT_CROP_T 00553 { 00554 MMAL_PARAMETER_HEADER_T hdr; 00555 MMAL_RECT_T rect; 00556 } MMAL_PARAMETER_INPUT_CROP_T; 00557 00558 typedef struct MMAL_PARAMETER_SENSOR_INFORMATION_T 00559 { 00560 MMAL_PARAMETER_HEADER_T hdr; 00561 MMAL_RATIONAL_T f_number; 00562 MMAL_RATIONAL_T focal_length; 00563 uint32_t model_id; 00564 uint32_t manufacturer_id; 00565 uint32_t revision; 00566 } MMAL_PARAMETER_SENSOR_INFORMATION_T; 00567 00568 typedef struct MMAL_PARAMETER_FLASH_SELECT_T 00569 { 00570 MMAL_PARAMETER_HEADER_T hdr; 00571 MMAL_PARAMETER_CAMERA_INFO_FLASH_TYPE_T flash_type; 00572 } MMAL_PARAMETER_FLASH_SELECT_T; 00573 00574 typedef struct MMAL_PARAMETER_FIELD_OF_VIEW_T 00575 { 00576 MMAL_PARAMETER_HEADER_T hdr; 00577 MMAL_RATIONAL_T fov_h; 00578 MMAL_RATIONAL_T fov_v; 00579 } MMAL_PARAMETER_FIELD_OF_VIEW_T; 00580 00581 typedef enum MMAL_PARAMETER_DRC_STRENGTH_T 00582 { 00583 MMAL_PARAMETER_DRC_STRENGTH_OFF, 00584 MMAL_PARAMETER_DRC_STRENGTH_LOW, 00585 MMAL_PARAMETER_DRC_STRENGTH_MEDIUM, 00586 MMAL_PARAMETER_DRC_STRENGTH_HIGH, 00587 MMAL_PARAMETER_DRC_STRENGTH_MAX = 0x7fffffff 00588 } MMAL_PARAMETER_DRC_STRENGTH_T; 00589 00590 typedef struct MMAL_PARAMETER_DRC_T 00591 { 00592 MMAL_PARAMETER_HEADER_T hdr; 00593 MMAL_PARAMETER_DRC_STRENGTH_T strength; 00594 } MMAL_PARAMETER_DRC_T; 00595 00596 typedef enum MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_T 00597 { 00598 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_FACETRACKING, 00599 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_REDEYE_REDUCTION, 00600 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_VIDEO_STABILISATION, 00601 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_WRITE_RAW, 00602 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_VIDEO_DENOISE, 00603 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_STILLS_DENOISE, 00604 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_TEMPORAL_DENOISE, 00605 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_ANTISHAKE, 00606 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_IMAGE_EFFECTS, 00607 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_DYNAMIC_RANGE_COMPRESSION, 00608 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_FACE_RECOGNITION, 00609 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_FACE_BEAUTIFICATION, 00610 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_SCENE_DETECTION, 00611 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_HIGH_DYNAMIC_RANGE, 00612 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_MAX = 0x7fffffff 00613 } MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_T; 00614 00615 typedef struct MMAL_PARAMETER_ALGORITHM_CONTROL_T 00616 { 00617 MMAL_PARAMETER_HEADER_T hdr; 00618 MMAL_PARAMETER_ALGORITHM_CONTROL_ALGORITHMS_T algorithm; 00619 MMAL_BOOL_T enabled; 00620 } MMAL_PARAMETER_ALGORITHM_CONTROL_T; 00621 00622 00623 typedef enum MMAL_PARAM_CAMERA_USE_CASE_T 00624 { 00625 MMAL_PARAM_CAMERA_USE_CASE_UNKNOWN, 00626 MMAL_PARAM_CAMERA_USE_CASE_STILLS_CAPTURE, 00627 MMAL_PARAM_CAMERA_USE_CASE_VIDEO_CAPTURE, 00629 MMAL_PARAM_CAMERA_USE_CASE_MAX = 0x7fffffff 00630 } MMAL_PARAM_CAMERA_USE_CASE_T; 00631 00632 typedef struct MMAL_PARAMETER_CAMERA_USE_CASE_T 00633 { 00634 MMAL_PARAMETER_HEADER_T hdr; 00635 00636 MMAL_PARAM_CAMERA_USE_CASE_T use_case; 00637 } MMAL_PARAMETER_CAMERA_USE_CASE_T; 00638 00639 typedef struct MMAL_PARAMETER_FPS_RANGE_T 00640 { 00641 MMAL_PARAMETER_HEADER_T hdr; 00642 00643 MMAL_RATIONAL_T fps_low; 00644 MMAL_RATIONAL_T fps_high; 00645 } MMAL_PARAMETER_FPS_RANGE_T; 00646 00647 typedef struct MMAL_PARAMETER_ZEROSHUTTERLAG_T 00648 { 00649 MMAL_PARAMETER_HEADER_T hdr; 00650 00651 MMAL_BOOL_T zero_shutter_lag_mode; 00652 MMAL_BOOL_T concurrent_capture; 00655 } MMAL_PARAMETER_ZEROSHUTTERLAG_T; 00656 00657 #endif /* MMAL_PARAMETERS_CAMERA_H */