android camera系统3A模式及其状态转换(二)

来源:互联网 发布:罗技连点编程 编辑:程序博客网 时间:2024/06/05 19:57

5.        AF state machines

 

mode = AF_MODE_OFF or AF_MODE_EDOF   StateTransformation causeNew stateNotesINACTIVE  AF is disabledmode = AF_MODE_AUTO or AF_MODE_MACRO   StateTransformation causeNew stateNotesINACTIVEAF_TRIGGERACTIVE_SCANStart AF sweep      Lens now movingACTIVE_SCANAF sweep doneFOCUSED_LOCKEDIf AF successful Lens now lockedACTIVE_SCANAF sweep doneNOT_FOCUSED_LOCKEDIf AF successful      Lens now lockedACTIVE_SCANAF_CANCELINACTIVECancel/reset AF      Lens now lockedFOCUSED_LOCKEDAF_CANCELINACTIVECancel/reset AFFOCUSED_LOCKEDAF_TRIGGERACTIVE_SCANStart new sweep      Lens now movingNOT_FOCUSED_LOCKEDAF_CANCELINACTIVECancel/reset AFNOT_FOCUSED_LOCKEDAF_TRIGGERACTIVE_SCANStart new sweep      Lens now movingAll statesmode changeINACTIVE mode = AF_MODE_CONTINUOUS_VIDEO   StateTransformation causeNew stateNotesINACTIVEHAL initiates new scanPASSIVE_SCANStart AF sweep      Lens now movingINACTIVEAF_TRIGGERNOT_FOCUSED_LOCKEDAF state query       Lens now lockedPASSIVE_SCANHAL completes current scanPASSIVE_FOCUSEDEnd AF scan      Lens now lockedPASSIVE_SCANAF_TRIGGERFOCUSED_LOCKEDImmediate transformation      if focus is good      Lens now lockedPASSIVE_SCANAF_TRIGGERNOT_FOCUSED_LOCKEDImmediate transformation      if focus is bad      Lens now lockedPASSIVE_SCANAF_CANCELINACTIVEReset lens position      Lens now lockedPASSIVE_FOCUSEDHAL initiates new scanPASSIVE_SCANStart AF scan      Lens now movingPASSIVE_FOCUSEDAF_TRIGGERFOCUSED_LOCKEDImmediate transformation      if focus is good      Lens now lockedPASSIVE_FOCUSEDAF_TRIGGERNOT_FOCUSED_LOCKEDImmediate transformation      if focus is bad      Lens now lockedFOCUSED_LOCKEDAF_TRIGGERFOCUSED_LOCKEDNo effectFOCUSED_LOCKEDAF_CANCELINACTIVERestart AF scanNOT_FOCUSED_LOCKEDAF_TRIGGERNOT_FOCUSED_LOCKEDNo effectNOT_FOCUSED_LOCKEDAF_CANCELINACTIVERestart AF scanmode = AF_MODE_CONTINUOUS_PICTURE   StateTransformation causeNew stateNotesINACTIVEHAL initiates new scanPASSIVE_SCANStart AF scan      Lens now movingINACTIVEAF_TRIGGERNOT_FOCUSED_LOCKEDAF state query      Lens now lockedPASSIVE_SCANHAL completes current scanPASSIVE_FOCUSEDEnd AF scan      Lens now lockedPASSIVE_SCANAF_TRIGGERFOCUSED_LOCKEDEventual transformation once focus good      Lens now lockedPASSIVE_SCANAF_TRIGGERNOT_FOCUSED_LOCKEDEventual transformation if cannot focus      Lens now lockedPASSIVE_SCANAF_CANCELINACTIVEReset lens position      Lens now lockedPASSIVE_FOCUSEDHAL initiates new scanPASSIVE_SCANStart AF scan      Lens now movingPASSIVE_FOCUSEDAF_TRIGGERFOCUSED_LOCKEDImmediate transformation if focus is good      Lens now lockedPASSIVE_FOCUSEDAF_TRIGGERNOT_FOCUSED_LOCKEDImmediate transformation if focus is bad      Lens now lockedFOCUSED_LOCKEDAF_TRIGGERFOCUSED_LOCKEDNo effectFOCUSED_LOCKEDAF_CANCELINACTIVERestart AF scanNOT_FOCUSED_LOCKEDAF_TRIGGERNOT_FOCUSED_LOCKEDNo effectNOT_FOCUSED_LOCKEDAF_CANCELINACTIVERestart AF scan

6.        AE and AWB state machines

AEAWB的状态机基本上是完全相同的。AE有额外的FLASH_REQUIREDPRECAPTURE状态。所以下面行中涉及这两个状态时,AWB状态机忽略之。

  

mode = AE_MODE_OFF / AWB mode not AUTO   StateTransformation causeNew stateNotesINACTIVE  AE/AWB disabledmode = AE_MODE_ON_* / AWB_MODE_AUTO   StateTransformation causeNew stateNotesINACTIVEHAL initiates AE/AWB scanSEARCHING INACTIVEAE/AWB_LOCK onLOCKEDValues lockedSEARCHINGHAL finishes AE/AWB scanCONVERGEDGood values, not changingSEARCHINGHAL finishes AE scanFLASH_REQUIREDConverged but too dark without flashSEARCHINGAE/AWB_LOCK onLOCKEDValues lockedCONVERGEDHAL initiates AE/AWB scanSEARCHINGValues lockedCONVERGEDAE/AWB_LOCK onLOCKEDValues lockedFLASH_REQUIREDHAL initiates AE/AWB scanSEARCHINGValues lockedFLASH_REQUIREDAE/AWB_LOCK onLOCKEDValues lockedLOCKEDAE/AWB_LOCK offSEARCHINGValues not good after unlockLOCKEDAE/AWB_LOCK offCONVERGEDValues good after unlockLOCKEDAE_LOCK offFLASH_REQUIREDExposure good, but too darkAll AE statesPRECAPTURE_STARTPRECAPTUREStart precapture sequencePRECAPTURESequence done, AE_LOCK offCONVERGEDReady for high-quality capturePRECAPTURESequence done, AE_LOCK onLOCKEDReady for high-quality capture

7.        Enabling manual control

 

在配置3A模块中所涉及的一些控制,允许application直接控制。

对于每个请求,HAL层负责3A控制的模块会检查3A控制字段的状态。如果有3A事例使能,这些事例可能会重置该事例相关的控制变量,重置的值会放置于此次捕获的结果元数据中。例如,如果在一个请求中自动曝光使能,HAL层会重置这个请求中的曝光值,增益和帧周期字段(和潜在的闪光灯字段,依赖于AE模式)。相关控制如下:

Control nameUnitNotesandroid.control.modeenum: OFF, AUTO, USE_SCENE_MODEHigh-level 3A control. When set to OFF, all 3A control by the HAL is disabled. The application must set the fields for capture parameters itself.      When set to AUTO, the individual algorithm controls in android.control.* are in effect, such as android.control.afMode.      When set to USE_SCENE_MODE, the individual controls in android.control.* are mostly disabled, and the HAL implements one of the scene mode settings (such as ACTION, SUNSET, or PARTY) as it wishes.android.control.afModeenumOFF means manual control of lens focusing through android.lens.focusDistance.android.control.aeModeenumOFF means manual control of exposure/gain/frame duration through android.sensor.exposureTime / .sensitivity / .frameDurationandroid.control.awbModeenumOFF means manual control of white balance.

 (全文完)

https://source.android.com/devices/camera/camera3_3Amodes.html#af-state

0 0
原创粉丝点击