Developer

API Reference

Camera Control Parameters

Brew Release
Brew MP 1.0.2
See Also
None.
Description
These parameters(CAM_PARM_XXX) allow setting/getting of camera parameters. They are used in ICAMERA_SetParm() and ICAMERA_GetParm() APIs.
Members
  • Set:  Sets the media data before encoding. This is done in Ready mode before calling
          ICAMERA_RecordSnapshot() or ICAMERA_RecordMovie()
          p1 = AEEMediaData *
          p2 = MIME string (NULL terminated)
  • Get:  Gets the current media data.
          p1 = AEEMediaData *
          p2 = Pointer to MIME string (const char **)
  • Note: String p2 should be copied and should not be freed.
    
    CAM_PARM_VIDEO_ENCODE CAM_PARM_AUDIO_ENCODE
  • Set:  Sets the active video/audio encode type for encoding. This is done in Ready mode before calling
          ICAMERA_RecordSnapshot() or ICAMERA_RecordMovie()
          p1 = uint32, CAM_ENCODE_XXX or AEECLSID of the media format
          p2 = Extra info regarding the encoding like sub formats.
  • Get:  Gets the current active encode type.
          p1 = Pointer to uint32, active encode
  • Set:  Sets the size of the picture to be recorded. This is done in Ready mode before calling
          ICAMERA_RecordSnapshot() or ICAMERA_RecordMovie().
          p1 = AEESize *
  • Get:  Gets the current picture size.
          p1 = AEESize *
    
    CAM_PARM_DISPLAY_SIZE
  • Set:  Sets the frame display size for preview and movie modes.
          p1 = AEESize *
  • Get:  Gets the current frame display size.
          p1 = AEESize *
    
    CAM_PARM_DEFER_ENCODE
  • Set:  This parm enables/disables deferring of the frame (snapshot) encoding done by ICAMERA_RecordSnapshot() API. 
          This value will not be used for multishot operations. 
          p1 = boolean. TRUE => Defer enabled.
  • Get:  Gets the current value
          p1 = boolean *
    
    CAM_PARM_MODE
  • Get:  Gets the camera mode.
          p1 = Pointer to CAM_MODE_XXX
          p2 = Pointer to
  • Get:  Checks if specified parm is supported.
          p1[in] = ParmID
          p2[out] = Pointer to
  • Get:  Checks if camera records movie.
          p1[out] = Pointer to
  • Get:  Retrieves the maxium resolution of the camera measured in pixels. 
          p1[out] = AEESize *
    
    CAM_PARM_VIDEO_ENCODE_LIST CAM_PARM_AUDIO_ENCODE_LIST
  • Get:  Retrieves the list of supported video/audio encoding formats.
  • Output: p1 = Pointer to NULL-terminated list of AEECLSID (AEECLSID **)
  • Note: The list should be copied and should not be freed.
    
    CAM_PARM_SIZE_LIST
  • Get:  Retrieves the list of discrete sizes (for snapshots or movies) supported or continuos ranges
          (e.g. any size from 10x10 to 100x150) for specified mode.
  • Input: p1 = *p1 is equal to CAM_MODE_PREVIEW or CAM_MODE_MOVIE
  • Output: p1 = Pointer to invalid-size (0, 0) terminated list of AEESize (p1 of type AEESize **)
                       If NULL, indicates that any value is supported.
                  p2 = Pointer to boolean, when TRUE indicates the passed list
                       is a paired list (i.e. multiple of 2) of ranges, terminated by paired invalid-sizes ( (0, 0), (0, 0) )
  • Note: The list should be copied and should not be freed.
    
    CAM_PARM_DISPLAY_SIZE_LIST
  • Get:  Retrieves the list of discrete display sizes (for preview or movie mode) supported
          or continuos range (e.g. any size from 10x10 to 100x150) for specified mode.
  • Input: p1 = *p1 is equal to CAM_MODE_PREVIEW or CAM_MODE_MOVIE
  • Output: p1 = Pointer to invalid-size (0, 0) terminated list of AEESize (p1 of type AEESize **)
                       If NULL, indicates that any value is supported.
                  p2 = Pointer to boolean, when TRUE indicates the passed list
                       is a paired list (i.e. multiple of 2) of ranges, terminated by paired invalid-sizes ( (0, 0), (0, 0) )
  • Note: The list should be copied and should not be freed.
    
    CAM_PARM_FPS_LIST
  • Get:  Retrieves the list of supported discrete frames per second(FPS) or continuos range
          (e.g. any size between 5 to 30) for specified mode.
  • Input: p1 = CAM_MODE_PREVIEW/CAM_MODE_MOVIE (*p1 must contain this value)
  • Output: p1 = Pointer to zero terminated list of uint32 values (p1 of type uint32 **).
                       See format in CAM_PARM_FPS documentation.
                       If NULL, indicates that any value is supported.
                  p2 = Pointer to boolean, when TRUE indicates the passed list
                       is an paired list (i.e. multiple of 2) of ranges, terminated by a invalid range (0, 0).
  • Note: The list should be copied and should not be freed.
          Sometimes this can only be retrieved when the camera is running.  
    
    CAM_PARM_OVERLAY
  • Set:  Sets the overlay image that will be part of the recorded picture. This operation is done
          any camera mode.
          p1 = IBitmap *
  • Note: You can add overlays on top of another image by calling this function repeatedly with
                different images. To clear ALL overlays, call this function with p1 = 0, p2 = NULL.
  • Get:  Gets the current overlay info.
          p1 = IBitmap *
    
    CAM_PARM_GPSINFO
  • Set: Sets AEEGPSInfo to be encoded in the image. This has to be set for each recording.
         p1 = AEEGPSInfo *
    
    CAM_PARM_EXIF_IFDTAG
  • Set: Set Exchangeable Image File Format (EXIF 2.2+) tags to be encoded in the image.
         This has to be set for each recording.
         p1 = CameraExifTagInfo *
    
  • IFD:
       CAM_EXIF_IFD_DEFAULT              BREW uses the most appropriate IFD
       CAM_EXIF_IFD_ZERO                 0th IFD
       CAM_EXIF_IFD_FIRST                1st IFD
       CAM_EXIF_IFD_EXIF                 EXIF IFD
       CAM_EXIF_IFD_GPSINFO              GPSInfo IFD
       CAM_EXIF_IFD_INTEROP              Interoperability IFD
    
    Tag Data
  • Tags:
       0th IFD TagIDs
       CAM_EXIF_TAG_ImageDescription
  • Info: This parameter specifies if camera services layer is in a mode that renders frames directly
          on the device LCD, bypassing IBitmap/IDisplay mechanism and device bitmap. This allows
          super-fast blts and enables higher FPS for preview/movie modes. When this is enabled
          CAM_STATUS_FRAME events will not occur.  If the parameter is not implemented,
          then assume that this mode is not supported and CAM_STATUS_FRAME and the IBitmap/IDisplay
          mechanism will be supported.
    
    The position of the image on the screen will be determined by the AEESize value that was configured when enabling CAM_PARM_LCD_DIRECT_ACCESS. The width and height of the image will be determined by the configured CAM_PARM_DISPLAY_SIZE.
  • Set:  Puts the camera in LCD direct-access mode.
          p1 = boolean. TRUE/FALSE => Enable/Disable LCD direct-access mode.
          p2 = AEESize *, where cx and cy denote the start frame position
  • Get:  Lets app know if camera is in LCD direct-access mode.
          p1 = Pointer to the boolean value.
          p2 = AEESize *, where cx and cy denote the start frame position
    
    CAM_PARM_PREVIEW_TYPE
  • Set:  Indicates if preview is being done for snapshot or movie. This parameter helps optimize device
          camera resources/performance and should be set before starting the preview.
          This is an optional parameter.
          p1 = CAM_PREVIEW_XXX
    
  • CAM_PREVIEW_SNAPSHOT:    For snapshot images
  • CAM_PREVIEW_MOVIE:       For movies
    
  • Get:  Gets the current value.
          p1 = Pointer to current value
    
    CAM_PARM_THUMBNAIL_INFO
  • Info : The properties of the thumbnail image saved as part of the encoded picture.
           The properties are thumbnail height, width and quality.
  • Set:  Sets the thumbnail properties.
          Value must be > 0.
          p1 = CameraThumbnailInfo *
  • Get:  Gets the current properties in use for the thumbnail image.
          p1 = CameraThumbnailInfo *
    
    CAM_PARM_SENSOR_INFO
  • Info: Gives information about the camera sensor.
  • Set:  Set is not allowed.
  • Get:  Gets the sensor information.
          p1 = CameraSensorInfo *
    
    CAM_PARM_PREVIEW_FPS
  • Info: Allows user to enable auto FPS control by setting min and max FPS for previewing.
  • Set:  Set min and max FPS. If min is specified, then auto FPS control is enabled and
          preview frames are generated in the specified range, min to max. If min FPS is zero, then
          FPS is fixed at max.
          p1 = AEEFixedPointMinMax *
  • Get:  Gets the current value and supported FPS info
          p1 = AEEFixedPointMinMax *
    
    CAM_PARM_FRAME_TIMESTAMP
  • Set:  Enables encoding of timestamp (or counter) into each video frame during movie encoding.
          This should be called before starting the movie recording.      
          p1 = boolean, TRUE/FALSE=>Enable/Disable
  • Get:  Gets the current value.
          p1 = Pointer to boolean value
    
    CAM_PARM_QUALITY
  • Set:  Sets the quality of the picture to be recorded. This is done in Ready mode before calling
          ICAMERA_RecordSnapshot() or ICAMERA_RecordMovie().
          p1 = int32 value
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_FPS
  • Set:  Sets the frames per second of the camera preview and movie modes. This is done in Ready
          mode before calling ICAMERA_Preview() or ICAMERA_RecordMovie().
          p1 = uint32 value.
          dwFPS
  • Get:  Gets the current FPS.
          p1 = Pointer to FPS value
    
    CAM_PARM_CONTRAST
  • Set:  Sets the contrast of the picture to be recorded. This operation is done in any of the
          camera modes.
          p1 = int32 value
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_BRIGHTNESS
  • Set:  Sets the brightness of the picture to be recorded. This operation is done in any of the
          camera modes.
          p1 = int32 value
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_SHARPNESS
  • Set:  Sets the sharpness of the picture to be recorded. Sharpness, typically, specifies the
          number of adjacent pixels to be used, by camera sensor, to compose the each pixel.
          This operation is done in any of the camera modes.
          p1 = int32 value
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_ZOOM
  • Set:  Sets the zoom level of the picture to be recorded. This operation is done in any of the
          camera modes.
          p1 = int32 value
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_ROTATE_PREVIEW
  • Set:  Sets the rotation angle of the picture to be previewed. This operation is done only in preview modes.
          It affects preview mode only.
          p1 = int32 value
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_ROTATE_ENCODE
  • Set:  Sets the rotation angle of the picture to be recorded and encoded. This operation is
          done in snapshot or movie mode. It affects snapshot/movie modes only.
          p1 = int32 value
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_EXPOSURE
  • Info: Exposure is the amount of light on the subject. For example when recording a backlit subject
          or a subject in snow, increase the exposure, and when recording a subject with extremely bright
          illumination such as spotlight, decrease the exposure.
          Following exposure modes are defined to automatically adjust the exposure based on the
  • scene:
          C
  • CAM_EXPOSURE_DAY:          For subjects under day light
  • CAM_EXPOSURE_NIGHT:        For subjects in dark environments
  • CAM_EXPOSURE_LANDSCAPE:    For distant subjects
  • CAM_EXPOSURE_STRONG_LIGHT: For subjects in strong or reflected light
  • CAM_EXPOSURE_SPOTLIGHT:    For subjects in spotlight
  • CAM_EXPOSURE_PORTRAIT:     For subjects behind an obstacle
  • CAM_EXPOSURE_MOVING:       For moving subjects
          Not all of these exposure types may be supported, even if CAM_PARM_EXPOSURE is supported.
  • Set:  Sets the exposure. This operation is done in any of the camera modes.
          p1 = CAM_EXPOSURE_XXX
  • Get:  Gets the current value.
          p1 = Pointer to current value
    
    CAM_PARM_WHITE_BALANCE
  • Info: White Balance adjustment is adjusting the perception of light by the camera. For example,
          the image looks blue under sunlight, and looks red under mercury lamps. Human eyes can resolve
          these problems but camera cannot resolve without making adjustments.
          Following white balance modes are supported.
  • CAM_WB_AUTO:         Auto
  • CAM_WB_CUSTOM:       Custom value provided by user
  • CAM_WB_INCANDESCENT: For subjects under incandescent lighting
  • CAM_WB_TWILIGHT:     For subjects under low light or dark conditions
  • CAM_WB_FLUORESCENT:  For subjects under fluorescent lighting
  • CAM_WB_DAYLIGHT:     For subjects under sunlight, strong or varying light conditions or under sodium/mercury lamps
  • CAM_WB_CLOUDY_DAYLIGHT: For subjects under cloudy daylight conditions
  • CAM_WB_SHADE:        For subjects under shade
          Not all of these white balance types may be supported, even if CAM_PARM_WHITE_BALANCE is supported.
  • Set:  Sets the white balance. This operation is done in any of the camera modes.
          p1 = CAM_WB_XXX
  • Get:  Gets the current value.
  • Input: p1 = CAM_WB_CUSTOM or any
  • Output:p1 = Pointer to current value
                 p2 = AEEParmInfo *, if p1 (as input) is CAM_WB_CUSTOM
    
    CAM_PARM_EFFECT
  • Info: Effect parameter allows you process the image to obtain special effects.
          Following effect types are
  • CAM_EFFECT_OFF:      No special effect
  • CAM_EFFECT_MONO:     Black and white
  • CAM_EFFECT_NEGATIVE: Color and brightness reversed
  • CAM_EFFECT_SOLARIZE: Light intensity emphasized
  • CAM_EFFECT_PASTEL:   Contrast emphasized
  • CAM_EFFECT_MOSAIC:   Mosaic
  • CAM_EFFECT_RESIZE:   Stretch along x or y. Aspect ratio not preserved.
  • CAM_EFFECT_SEPIA:    Sepia effect
  • CAM_EFFECT_POSTERIZE: Posterize effect by reducing the number of colors used in the image
  • CAM_EFFECT_WHITEBOARD:Whiteboard effect with a predominantly "white" background
  • CAM_EFFECT_BLACKBOARD:Blackboard effect with a predominantly "black" background
  • CAM_EFFECT_AQUA:      Aqua. "Underwater" effect with ocean blue tint
          Not all of these effects may be supported, even if CAM_PARM_EFFECT is supported.
  • Set:  Sets the camera effect mode.
          This operation is done in any of the camera modes.
          p1 = CAM_EFFECT_XXX
          p2 = Destination AEESize *, if p1 is CAM_EFFECT_RESIZE
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEESize *, if p1 is CAM_EFFECT_RESIZE
    
    CAM_PARM_FLASH
  • Info: THIS PARAMETER IS DEPRECATED. Please Use CAM_PARM_FLASH_CTL.
          Allows flash control.
          Following flash control options are
  • CAM_FLASH_AUTO:   Auto
  • CAM_FLASH_OFF:    Off
  • CAM_FLASH_LOW:    Low intensity
  • CAM_FLASH_MEDIUM: Medium intensity
  • CAM_FLASH_HIGH:   High intensity
  • CAM_FLASH_CUSTOM: Custom value provided by user
          Not all of these flash types may be supported, even if CAM_PARM_FLASH is supported.
  • Set:  Sets the flash control mode. This operation is done in any of the camera modes.
          p1 = CAM_FLASH_XXX
          p2 = uint32 value for CAM_FLASH_CUSTOM
  • Get:  Gets the current value.
  • Input: p1 = CAM_FLASH_CUSTOM or any
  • Output:p1 = Pointer to current value
                 p2 = AEEParmInfo *, if p1 (as input) is CAM_FLASH_CUSTOM
    
    CAM_PARM_RED_EYE_REDUCTION
  • Info: Enables/Disables red-eye reduction capability.
  • Set:  Sets red-eye enable/disable parameter
          p1 =
  • Get:  Gets the current value.
  • Input: p1 = boolean *
    
    CAM_PARM_REFLECT
  • Info: Allows user to set image reflection type.
  • Set:  Sets reflection type.
          p1 = Reflection type. Please see the following
  • 0:   Reflection disabled
                   1  to (CAM_REFLECT_MAX -
  • 90:  Reflection on right of frame (mirror reflection)
  • 180: Reflection on top of frame
  • 270: Reflection on left of frame (mirror reflection)
  • 360: Reflection on bottom of frame (water reflection)
    
  • CAM_REFLECT_DISABLE:           Reflection is disabled
  • CAM_REFLECT_MIRROR:            Mirror reflection
  • CAM_REFLECT_WATER:             Water reflection
  • CAM_REFLECT_MAX:               Max pre-defined reflection
          Not all of these reflect types may be supported, even if CAM_PARM_REFLECT is supported.
    
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *, if #3 (see above) is supported
    
    CAM_PARM_FILE_SIZE
  • Set:  Sets the max target file size of the encoded file.
          This typically applies to JPEG format.
          p1 = int32 value in units kilobytes. If zero, CAM_PARM_QUALITY will be used for encoding.
  • Get:  Gets the current value and can set the pointer to AEEParmInfo if non-null
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_NIGHTSHOT_MODE
  • Set:  Enables/Disables the nightshot mode of the camera.
          p1 = TRUE/FALSE
          if
  • FALSE : Disables the nightshot mode.
  • Get:  Gets the current value of the nightshot mode.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_ANTIBANDING
  • Info: Allows fluorescent light antibanding control. Following antibanding options are
  • Set:  Sets the antibanding mode. This operation is done in any of the camera modes.
          p1 = CAM_ANTIBANDING_XXX
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_FOCUS
  • Set:  Sets the camera focus to a specified mode.  This can only be called when 
          the camera's mode is either CAM_MODE_PREVIEW or CAM_MODE_MOVIE.
          p1 = CAM_FOCUS_XXX
          p2 = int32 focus info.
               For CAM_FOCUS_MANUAL, contains the focus value.
    
  • CAM_FOCUS_AUTO:    Auto focus
  • CAM_FOCUS_MANUAL:  Manual focus. Specify value
          Not all of these focus types may be supported, even if CAM_PARM_FOCUS is supported.
    
  • Get:  Gets the current value and can set the pointer to AEEParmInfo if non-null
          p1 = Pointer to CAM_FOCUS_XXX
          p2 = AEEParmInfo *
    
    Sometimes this can only be used when the camera is running.
    CAM_PARM_FOCUS_RECT
  • Set:  Sets the camera focus rectangle within which the sensor will focus.
          p1 = AEERect *
  • Get:  Gets the camera focus rectangle and associated focus rect information.
          p1 = Current AEERect *
          p2= CameraFocusRectInfo *
          Sometimes this can only be used when the camera is running.
    
    CAM_PARM_BITRATE
  • Set:  Sets the encoding bit rate of the video clip to be recorded. This is done in Ready mode
          before calling ICAMERA_RecordMovie().
          p1 = int32 value
  • Get:  Gets the current value.
          p1 = Pointer to current value
          p2 = AEEParmInfo *
    
    CAM_PARM_FADE
  • Set:  Sets the fading for movie recording mode
          p1 = CAM_FADE_XXX
    
    Fading
  • CAM_FADE_IN:   Fade In at start of movie recording
  • CAM_FADE_OUT: Fade Out at end of movie recording
  • CAM_FADE_IN_OUT: Fade In at start of movie recording, Fade Out
               at end of movie recording
  • CAM_FADE_OFF : No fading in Movie Recording
          Not all of these fading types may be supported, even if CAM_PARM_FADE is supported.
    
    CAM_PARM_EXPOSURE_METERING
  • Info: This is an exposure control parameter. The metering mode enables camera to calculate
          the optimal EV (exposure value) for that mode by measuring the amount of light on the scene.
  • NOTE: After this parameter is set, CAM_EXPOSURE_AUTO will use the new value.
          Following metering modes are may be
  • CAM_EXPOSURE_METERING_CENTER_WEIGHTED: Center weighted exposure
  • CAM_EXPOSURE_METERING_SPOT           : Spot metering
  • CAM_EXPOSURE_METERING_MATRIX         : Average exposure over the frame
          Not all of these exposure metering types may be supported, even if CAM_PARM_EXPOSURE_METERING is supported.
    
  • Set:  Sets the specified metering mode.
          p1 = CAM_EXPOSURE_METERING_XXX.
  • Get:  Gets the current value
          p1 = Pointer to current value
    
    CAM_PARM_EXPOSURE_COMP
  • Info: This is an exposure control parameter. This parameter refines and compensates the metering mode to
          correctly expose the image. Typical values range from -2 EV to +2 EV or -5 EV to +5EV.
  • NOTE: After this parameter is set, CAM_EXPOSURE_AUTO will use the new value.
  • Set:  Set EV compensation
          p1 = AEEFixedPointParm *
  • Get:  Gets the current value and supported exposure compensation
          p1 = AEEFixedPointParm *
          p2 = AEEFixedPointParmInfo *
    
    CAM_PARM_ISO
  • Info: This is an exposure control parameter. This parameter controls the sensor's level of
          sensitivity to light. As the sensitivity is increased, less light is needed and the sensor output 
          is amplified (along with noise). Typical ISO values are 0(Auto), 25, 50, 100, 200, 400, 800, 1600, 3200.
          A value of 100 represents normal sensitivity.
  • NOTE: After this parameter is set, CAM_EXPOSURE_AUTO will use the new value.
  • Set:  Set ISO
          p1 = uint32
          Two special ISO values are
  • CAM_ISO_AUTO         : Auto ISO selection
  • CAM_ISO_AUTO_DEBLUR  : Auto ISO selection with deblur (hand-jitter reduction)
          Not all of these iso types may be supported, even if CAM_PARM_ISO is supported.
  • Get:  Gets the current value and supported ISO info
          p1 = uint32 *
          p2 = AEEParmInfo *
    
    CAM_PARM_APERTURE
  • Info: This is an exposure control parameter. Reserved for future use.
    
    CAM_PARM_SHUTTER_SPEED
  • Info: This is an exposure control parameter. Reserved for future use.
    
    CAM_PARM_DEBLUR
  • Info: THIS PARAMETER IS DEPRECATED. Please Use CAM_ISO_AUTO_DEBLUR.
  • Info: Control the hand jitter blurring by maximum up to n shots for de-blurring processing.
    The more shots, the longer processing time.
    Additional
  • Set: Enables and sets the number of shots to be processed for deblur.
         p1 = uint32.
  • Get: Gets the current value.
         p1 = uint32 *. Pointer to current value
         p2 = AEEParmInfo *
    
    CAM_PARM_LUMA_ADAPTATION
  • Info: Enable/Disable the luma adaptation in the high dynamic range in preview. When the parameter
    is set to enabled, luma adaptation creates a non-linear tone reproduction curve which also
    automatically varies according to the image's luminance distribution. The variable adjustment keeps
    the contrast of the image while showing both shadow and bright details in the original image.
  • Set:  Enable/Disable luma adaptation.
          p1 = boolean. TRUE => Enabled.
  • Get:  Gets the current value
          p1 = boolean *
    
    CAM_PARM_FLASH_CTL
  • Info: Allows flash control. User specifies the flash
  • CAM_FLASH_AUTO:   Auto
  • CAM_FLASH_OFF:    Off
  • CAM_FLASH_LOW:    Low intensity
  • CAM_FLASH_MEDIUM: Medium intensity
  • CAM_FLASH_HIGH:   High intensity
  • CAM_FLASH_CUSTOM: Custom value (p2) provided by user
          Not all of these flash types may be supported, even if CAM_PARM_FLASH_CTL is supported.
  • Set:  Sets the flash type and level. This operation is done in any of the camera modes.
          p1 = (CAM_FLASHTYPE_XXX | CAM_FLASH_XXX)
          p2 = uint32 value for CAM_FLASH_CUSTOM
  • Get:  Gets the current value.
  • Input: p1 = CAM_FLASHTYPE_XXX Or (CAM_FLASHTYPE_XXX| CAM_FLASH_CUSTOM)
  • Output:p1 = Pointer to current value
                 p2 = AEEParmInfo *, if p1 (as input) contains CAM_FLASH_CUSTOM
    
    CAM_PARM_AF_INFO
  • Set:  Sets the camera auto focus parameters
          p1 = CAM_AF_MODE_XXX. Following AF modes are defined
  • CAM_AF_MODE_NORMAL:Normal mode
  • CAM_AF_MODE_MACRO: Enable macro mode
  • CAM_AF_MODE_FULL_RANGE: Enable full range auto focus
          p2 = CAM_AF_METER_XXX. Following AF metering values are defined
  • CAM_AF_METER_CENTER_SPOT:    Focus based on center spot metered
  • CAM_AF_METER_CENTER_WEIGHTED:Focus based on center weighted metered
  • CAM_AF_METER_AVERAGE:        Focus based on average metered
          Not all of these af types may be supported, even if CAM_PARM_AF_INFO is supported.
  • Get:  Gets the auto focus parameters
          p1 = Pointer to CAM_AF_MODE_XXX
          p2 = Pointer to CAM_AF_METER_XXX
    
    CAM_PARM_MULTISHOT_ENCODE
  • Set: Sets the encoding for Multishot done by ICAMERA_EncodeByIndex() 
         This function results in {CAM_CMD_ENCODESNAPSHOT, CAM_STATUS_DONE} callback
         after the snapshot is encoded. 
         p1 = int32, index of the raw frame
    
    CAM_PARM_MULTISHOT_FRAME
  • Any: The raw frame captured by the camera
         p1 = int32, index of the frame
         p2 = IBitmap frame pointer.
    
    CAM_PARM_IS_MULTISHOT
  • Get: Checks if Multi Snapshot recording is supported or not.
         p1[out] = Pointer to
  • Set:  Enables selected best shot mode effect in taking pictures.
          This should be called before taking the picture.      
          p1 = int32 value for best shot mode CAM_BESTSHOT_XXX
          Following best shot modes are
  • CAM_BESTSHOT_OFF            : Turn off bestshot mode
  • CAM_BESTSHOT_LANDSCAPE      : Landscape/scenery
  • CAM_BESTSHOT_SNOW           : Snow
  • CAM_BESTSHOT_BEACH          : Beach
  • CAM_BESTSHOT_SUNSET         : Sunset
  • CAM_BESTSHOT_NIGHT          : Night
  • CAM_BESTSHOT_PORTRAIT       : Portrait
  • CAM_BESTSHOT_BACKLIGHT      : Backlight
  • CAM_BESTSHOT_SPORTS         : Sports
  • CAM_BESTSHOT_ANTISHAKE      : Antishake
  • CAM_BESTSHOT_FLOWERS        : Flowers
  • CAM_BESTSHOT_CANDLE_LIGHT   : Candle light
          Not all of these bestshot types may be supported, even if CAM_PARM_BESTSHOT is supported.
    
  • Get:  Gets the current value.
          p1 = int32, current best shot mode
    
Definition
#define CAM_PARM_MEDIA_DATA         (CAM_PARM_BASE)         // [Set/Get] Destination media data
#define CAM_PARM_VIDEO_ENCODE       (CAM_PARM_BASE + 1)     // [Set/Get] Video/image encoding type
#define CAM_PARM_AUDIO_ENCODE       (CAM_PARM_BASE + 2)     // [Set/Get] Audio encoding type
#define CAM_PARM_SIZE               (CAM_PARM_BASE + 3)     // [Set/Get] Size of image to be encoded
#define CAM_PARM_DISPLAY_SIZE       (CAM_PARM_BASE + 4)     // [Set/Get] Size of image to be displayed
#define CAM_PARM_DEFER_ENCODE       (CAM_PARM_BASE + 5)     // [Set/Get] Defer encoding

#define CAM_PARM_MODE               (CAM_PARM_BASE + 6)     // [Get] Camera mode
#define CAM_PARM_IS_SUPPORT         (CAM_PARM_BASE + 7)     // [Get] Checks if specific parm is supported
#define CAM_PARM_IS_MOVIE           (CAM_PARM_BASE + 8)     // [Get] Checks if movie recording is supported
#define CAM_PARM_PIXEL_COUNT        (CAM_PARM_BASE + 9)     // [Get] Max resolution of the camera in pixels
#define CAM_PARM_VIDEO_ENCODE_LIST  (CAM_PARM_BASE + 10)    // [Get] List of video encoding types supported
#define CAM_PARM_AUDIO_ENCODE_LIST  (CAM_PARM_BASE + 11)    // [Get] List of audio encoding types supported
#define CAM_PARM_SIZE_LIST          (CAM_PARM_BASE + 12)    // [Get] List of image sizes supported
#define CAM_PARM_DISPLAY_SIZE_LIST  (CAM_PARM_BASE + 13)    // [Get] List of display sizes supported
#define CAM_PARM_FPS_LIST           (CAM_PARM_BASE + 14)    // [Get] List of FPS supported

#define CAM_PARM_OVERLAY            (CAM_PARM_BASE + 15)    // [Set] Overlay image to be encoded or clear overlays
#define CAM_PARM_GPSINFO            (CAM_PARM_BASE + 16)    // [Set] GPS info to be encoded
#define CAM_PARM_EXIF_IFDTAG        (CAM_PARM_BASE + 17)    // [Set] Set Exchangeable Image File Format (EXIF 2.2+) tags

#define CAM_PARM_LCD_DIRECT_ACCESS  (CAM_PARM_BASE + 18)    // [Set/Get] Camera services layer renders frames directly on LCD
#define CAM_PARM_PREVIEW_TYPE       (CAM_PARM_BASE + 19)    // [Set/Get] Hint if preview is for snapshot or movie
#define CAM_PARM_THUMBNAIL_INFO     (CAM_PARM_BASE + 20)    // [Set/Get] Thumbnail info
#define CAM_PARM_SENSOR_INFO        (CAM_PARM_BASE + 21)    // [Get] Sensor info
#define CAM_PARM_PREVIEW_FPS        (CAM_PARM_BASE + 22)    // [Set/Get] FPS control in preview mode
#define CAM_PARM_FRAME_TIMESTAMP   (CAM_PARM_BASE + 23)     // [Set/Get] Enable encoding of time stamp in movie frames
                                                            // (CAM_PARM_BASE + 24) is Reserved.
#define CAM_PARM_MULTISHOT_ENCODE   (CAM_PARM_BASE + 25)    // [Set] The encoding for Multi SnapShot.
#define CAM_PARM_MULTISHOT_FRAME    (CAM_PARM_BASE + 26)    // [Any] The raw frame captured by camera.
#define CAM_PARM_IS_MULTISHOT       (CAM_PARM_BASE + 27)    // [Get] Checks if Multi Snapshot recording is supported.

#define CAM_PARM_CTL_BASE           (CAM_PARM_BASE + 0x100)
#define CAM_PARM_QUALITY            (CAM_PARM_CTL_BASE)     // [Set/Get] Quality
#define CAM_PARM_FPS                (CAM_PARM_CTL_BASE + 1) // [Set/Get] Frames per second
#define CAM_PARM_CONTRAST           (CAM_PARM_CTL_BASE + 2) // [Set/Get] Contrast
#define CAM_PARM_BRIGHTNESS         (CAM_PARM_CTL_BASE + 3) // [Set/Get] Brightness
#define CAM_PARM_SHARPNESS          (CAM_PARM_CTL_BASE + 4) // [Set/Get] Sharpness
#define CAM_PARM_ZOOM               (CAM_PARM_CTL_BASE + 5) // [Set/Get] Digital Zoom
#define CAM_PARM_ROTATE_PREVIEW     (CAM_PARM_CTL_BASE + 6) // [Set/Get] Rotate: affects preview only
#define CAM_PARM_ROTATE_ENCODE      (CAM_PARM_CTL_BASE + 7) // [Set/Get] Rotate while encoding: affects snapshot and movie modes. Preview is not rotated.
#define CAM_PARM_EXPOSURE           (CAM_PARM_CTL_BASE + 8) // [Set/Get] Exposure
#define CAM_PARM_WHITE_BALANCE      (CAM_PARM_CTL_BASE + 9) // [Set/Get] White balance
#define CAM_PARM_EFFECT             (CAM_PARM_CTL_BASE + 10)// [Set/Get] Effect
#define CAM_PARM_FLASH              (CAM_PARM_CTL_BASE + 11)// [Set/Get] Flash control. Deprecated.
#define CAM_PARM_RED_EYE_REDUCTION  (CAM_PARM_CTL_BASE + 12)// [Set/Get] Red-Eye reduction control
#define CAM_PARM_REFLECT            (CAM_PARM_CTL_BASE + 13)// [Set/Get] Reflection
#define CAM_PARM_FILE_SIZE          (CAM_PARM_CTL_BASE + 14)// [Set/Get] JPEG file size encoding target
#define CAM_PARM_NIGHTSHOT_MODE     (CAM_PARM_CTL_BASE + 15)// [Set/Get] Nightshot mode enable/disable
#define CAM_PARM_ANTIBANDING        (CAM_PARM_CTL_BASE + 16)// [Set/Get] Enable fluorescent light anti-banding
#define CAM_PARM_FOCUS              (CAM_PARM_CTL_BASE + 17)// [Set/Get] Set the focus
#define CAM_PARM_FOCUS_RECT         (CAM_PARM_CTL_BASE + 18)// [Set/Get] Set the focus rectangle
#define CAM_PARM_BITRATE            (CAM_PARM_CTL_BASE + 19)// [Set/Get] Set the encoding bit rate for video
#define CAM_PARM_QCOM_RESERVED_BEGIN (CAM_PARM_CTL_BASE + 20)     // Reserved parameter ID's begin
#define CAM_PARM_FADE               CAM_PARM_QCOM_RESERVED_BEGIN //[Set] Set the fading for movie recording mode
#define CAM_PARM_QCOM_RESERVED_END  (CAM_PARM_QCOM_RESERVED_BEGIN + 100) // Reserved parameter ID's end
#define CAM_PARM_EXPOSURE_METERING  (CAM_PARM_CTL_BASE + 121)// [Set/Get] Set exposure metering
#define CAM_PARM_EXPOSURE_COMP      (CAM_PARM_CTL_BASE + 122)// [Set/Get] Set exposure compensation
#define CAM_PARM_ISO                (CAM_PARM_CTL_BASE + 123)// [Set/Get] Set sensor sensitivity
#define CAM_PARM_APERTURE           (CAM_PARM_CTL_BASE + 124)// [Set/Get] Set aperture
#define CAM_PARM_SHUTTER_SPEED      (CAM_PARM_CTL_BASE + 125)// [Set/Get] Set shutter speed
#define CAM_PARM_DEBLUR             (CAM_PARM_CTL_BASE + 126)// [Set/Get] Hand jitter reduction. Deprecated.
#define CAM_PARM_LUMA_ADAPTATION    (CAM_PARM_CTL_BASE + 127)// [Set/Get] Luma Adaptation
#define CAM_PARM_FLASH_CTL          (CAM_PARM_CTL_BASE + 128)// [Set/Get] Flash control
#define CAM_PARM_AF_INFO            (CAM_PARM_CTL_BASE + 129) // [Set/Get] Set the auto focus info
#define CAM_PARM_BESTSHOT           (CAM_PARM_CTL_BASE + 130)// [Set/Get] Best shot mode
Comment
Use of these parameters are synchronous or asynchronous depending on the input values.
  • Follow