My Project
/home/jvcleave/Desktop/RASPBERRY_PI/userland/interface/mmal/mmal_parameters_camera.h
Go to the documentation of this file.
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 */
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines