Home | History | Annotate | Download | only in libcamera2

Lines Matching refs:flash

677     // mapping flash UI mode from aeMode
680 ctl_info->flash.i_flashMode = request_shot->shot.ctl.aa.aeMode;
682 ctl_info->flash.i_flashMode = request_shot->shot.ctl.aa.aeMode;
1048 // flash
1049 m_ctlInfo.flash.i_flashMode = AA_AEMODE_ON;
1050 m_ctlInfo.flash.m_afFlashDoneFlg= false;
1051 m_ctlInfo.flash.m_flashEnableFlg = false;
1052 m_ctlInfo.flash.m_flashFrameCount = 0;
1053 m_ctlInfo.flash.m_flashCnt = 0;
1054 m_ctlInfo.flash.m_flashTimeOut = 0;
1055 m_ctlInfo.flash.m_flashDecisionResult = false;
1056 m_ctlInfo.flash.m_flashTorchMode = false;
1057 m_ctlInfo.flash.m_precaptureState = 0;
1058 m_ctlInfo.flash.m_precaptureTriggerId = 0;
2878 // Flash
2879 switch (m_ctlInfo.flash.m_flashCnt) {
2881 ALOGV("(%s): [Flash] Flash ON for Capture (%d)", __FUNCTION__, shot_ext->shot.ctl.request.frameCount);
2883 if (m_ctlInfo.flash.m_precaptureTriggerId > 0) {
2884 if (m_ctlInfo.flash.m_flashTimeOut == 0) {
2885 if (m_ctlInfo.flash.i_flashMode == AA_AEMODE_ON_ALWAYS_FLASH) {
2887 m_ctlInfo.flash.m_flashTimeOut = 5;
2890 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_ON_WAIT;
2892 m_ctlInfo.flash.m_flashTimeOut--;
2895 if (m_ctlInfo.flash.i_flashMode == AA_AEMODE_ON_ALWAYS_FLASH) {
2897 m_ctlInfo.flash.m_flashTimeOut = 5;
2900 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_ON_WAIT;
2906 if (!m_ctlInfo.flash.m_afFlashDoneFlg)
2908 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_AE_AWB_LOCK;
2911 ALOGV("(%s): [Flash] IS_FLASH_AF_AUTO_AE_AWB_LOCK (%d)", __FUNCTION__, shot_ext->shot.ctl.request.frameCount);
2915 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AE_AWB_LOCK_WAIT;
2923 ALOGV("(%s): [Flash] IS_FLASH_AF_AUTO DONE (%d)", __FUNCTION__, shot_ext->shot.ctl.request.frameCount);
2927 ALOGV("(%s): [Flash] IS_FLASH_AF_AUTO Clear (%d)", __FUNCTION__, shot_ext->shot.ctl.request.frameCount);
2929 m_ctlInfo.flash.m_flashEnableFlg = false;
2932 ALOGV("(%s): [Flash] IS_FLASH_CAPTURE (%d)", __FUNCTION__, shot_ext->shot.ctl.request.frameCount);
2933 m_ctlInfo.flash.m_flashTimeOut = FLASH_STABLE_WAIT_TIMEOUT;
2937 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_CAPTURE_WAIT; // auto transition
2944 ALOGV("(%s): [Flash] Flash Capture (%d)!!!!!", __FUNCTION__, (FLASH_STABLE_WAIT_TIMEOUT -m_ctlInfo.flash.m_flashTimeOut));
2947 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_CAPTURE_END; // auto transition
2950 ALOGV("(%s): [Flash] Flash Capture END (%d)", __FUNCTION__, shot_ext->shot.ctl.request.frameCount);
2954 m_ctlInfo.flash.m_flashEnableFlg = false;
2955 m_ctlInfo.flash.m_flashCnt = 0;
2956 m_ctlInfo.flash.m_afFlashDoneFlg= false;
2961 ALOGE("(%s): [Flash] flash state error!! (%d)", __FUNCTION__, m_ctlInfo.flash.m_flashCnt);
2967 // Flash
2968 switch (m_ctlInfo.flash.m_flashCnt) {
2970 if (m_ctlInfo.flash.m_flashDecisionResult) {
2971 if (shot_ext->shot.dm.flash.flashMode == CAM2_FLASH_MODE_OFF) {
2972 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_DONE;
2973 ALOGV("(%s): [Flash] Lis : AUTO -> OFF (%d)", __FUNCTION__, shot_ext->shot.dm.flash.flashMode);
2975 ALOGV("(%s): [Flash] Waiting : AUTO -> OFF", __FUNCTION__);
2978 //If flash isn't activated at flash auto mode, skip flash auto control
2979 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_DONE;
2980 ALOGV("(%s): [Flash] Skip : AUTO -> OFF", __FUNCTION__);
2988 // Flash
2989 switch (m_ctlInfo.flash.m_flashCnt) {
2991 if (shot_ext->shot.dm.flash.decision > 0) {
2993 ALOGV("(%s): [Flash] IS_FLASH_ON, decision - %d", __FUNCTION__, shot_ext->shot.dm.flash.decision);
2994 if (shot_ext->shot.dm.flash.decision == 2)
2995 m_ctlInfo.flash.m_flashDecisionResult = false;
2997 m_ctlInfo.flash.m_flashDecisionResult = true;
2998 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_ON_DONE;
3000 if (m_ctlInfo.flash.m_flashTimeOut == 0) {
3001 ALOGV("(%s): [Flash] Timeout IS_FLASH_ON, decision is false setting", __FUNCTION__);
3002 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_ON_DONE;
3003 m_ctlInfo.flash.m_flashDecisionResult = false;
3005 m_ctlInfo.flash.m_flashTimeOut--;
3011 ALOGV("(%s): [Flash] FLASH_AUTO_AE_AWB_LOCK_WAIT - %d", __FUNCTION__, shot_ext->shot.dm.aa.awbMode);
3012 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_WAIT;
3014 ALOGV("(%s): [Flash] Waiting : AA_AWBMODE_LOCKED", __FUNCTION__);
3018 flash.m_flashDecisionResult) {
3019 if (shot_ext->shot.dm.flash.firingStable) {
3020 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_CAPTURE_JPEG;
3022 if (m_ctlInfo.flash.m_flashTimeOut == 0) {
3023 ALOGE("(%s): [Flash] Wait firingStable time-out!!", __FUNCTION__);
3024 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_CAPTURE_JPEG;
3026 ALOGV("(%s): [Flash] Wait firingStable - %d", __FUNCTION__, m_ctlInfo.flash.m_flashTimeOut);
3027 m_ctlInfo.flash.m_flashTimeOut--;
3031 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_CAPTURE_JPEG;
3039 switch (m_ctlInfo.flash.i_flashMode) {
3041 // At flash off mode, capture can be done as zsl capture
3045 // At flash auto mode, main flash have to be done if pre-flash was done.
3046 if (m_ctlInfo.flash.m_flashDecisionResult && m_ctlInfo.flash.m_afFlashDoneFlg)
3146 } else if (m_ctlInfo.flash.m_flashCnt >= IS_FLASH_STATE_CAPTURE) {
3147 matchedFrameCnt = m_ctlInfo.flash.m_flashFrameCount;
3203 if (m_IsAfModeUpdateRequired && (m_ctlInfo.flash.m_precaptureTriggerId == 0)) {
3220 // reset flash result
3221 if (m_ctlInfo.flash.m_afFlashDoneFlg) {
3222 m_ctlInfo.flash.m_flashEnableFlg = false;
3223 m_ctlInfo.flash.m_afFlashDoneFlg = false;
3224 m_ctlInfo.flash.m_flashDecisionResult = false;
3225 m_ctlInfo.flash.m_flashCnt = 0;
3247 if (m_ctlInfo.flash.m_flashEnableFlg && m_ctlInfo.flash.m_afFlashDoneFlg) {
3248 // flash case
3249 if (m_ctlInfo.flash.m_flashCnt == IS_FLASH_STATE_ON_DONE) {
3251 // Flash is enabled and start AF
3258 // non-flash case
3353 // Flash mode
3354 // Keep and Skip request_scc = 1 at flash enable mode to operate flash sequence
3355 if ((m_ctlInfo.flash.i_flashMode >= AA_AEMODE_ON_AUTO_FLASH)
3358 if (!m_ctlInfo.flash.m_flashDecisionResult) {
3359 m_ctlInfo.flash.m_flashEnableFlg = false;
3360 m_ctlInfo.flash.m_afFlashDoneFlg = false;
3361 m_ctlInfo.flash.m_flashCnt = 0;
3362 } else if ((m_ctlInfo.flash.m_flashCnt == IS_FLASH_STATE_AUTO_DONE) ||
3363 (m_ctlInfo.flash.m_flashCnt == IS_FLASH_STATE_AUTO_OFF)) {
3364 ALOGD("(%s): [Flash] Flash capture start : skip request scc 1#####", __FUNCTION__);
3366 m_ctlInfo.flash.m_flashFrameCount = matchedFrameCnt;
3367 m_ctlInfo.flash.m_flashEnableFlg = true;
3368 m_ctlInfo.flash.m_afFlashDoneFlg = false;
3369 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_CAPTURE;
3370 } else if (m_ctlInfo.flash.m_flashCnt < IS_FLASH_STATE_AUTO_DONE) {
3371 ALOGE("(%s): [Flash] Flash capture Error- wrong state !!!!!! (%d)", __FUNCTION__, m_ctlInfo.flash.m_flashCnt);
3373 m_ctlInfo.flash.m_flashEnableFlg = false;
3374 m_ctlInfo.flash.m_afFlashDoneFlg= false;
3375 m_ctlInfo.flash.m_flashCnt = 0;
3378 m_ctlInfo.flash.m_flashDecisionResult = false;
3381 if (shot_ext->shot.ctl.flash.flashMode == CAM2_FLASH_MODE_TORCH) {
3382 if (m_ctlInfo.flash.m_flashTorchMode == false) {
3383 m_ctlInfo.flash.m_flashTorchMode = true;
3386 if (m_ctlInfo.flash.m_flashTorchMode == true) {
3387 shot_ext->shot.ctl.flash.flashMode = CAM2_FLASH_MODE_OFF;
3388 shot_ext->shot.ctl.flash.firingPower = 0;
3389 m_ctlInfo.flash.m_flashTorchMode = false;
3391 shot_ext->shot.ctl.flash.flashMode = CAM2_FLASH_MODE_NOP;
3401 m_ctlInfo.flash.m_flashDecisionResult = false;
3405 m_ctlInfo.flash.m_flashEnableFlg = false;
3408 if (m_ctlInfo.flash.m_flashEnableFlg) {
3445 if (m_ctlInfo.flash.m_flashEnableFlg)
3494 if (matchedFrameCnt != -1 && m_nightCaptureCnt == 0 && (m_ctlInfo.flash.m_flashCnt < IS_FLASH_STATE_CAPTURE)) {
3506 if (m_ctlInfo.flash.m_flashCnt < IS_FLASH_STATE_CAPTURE)
3556 shot_ext->shot.ctl.flash.flashMode = CAM2_FLASH_MODE_OFF;
4773 m_ctlInfo.flash.m_precaptureTriggerId = id;
4775 if ((m_ctlInfo.flash.i_flashMode >= AA_AEMODE_ON_AUTO_FLASH) && (m_cameraId == 0)) {
4776 // flash is required
4777 switch (m_ctlInfo.flash.m_flashCnt) {
4780 // Flash capture sequence, AF flash was executed before
4783 // Full flash sequence
4784 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_ON;
4785 m_ctlInfo.flash.m_flashEnableFlg = true;
4786 m_ctlInfo.flash.m_flashTimeOut = 0;
4789 // Skip pre-capture in case of non-flash.
4790 ALOGV("[PreCap] Flash OFF mode ");
4791 m_ctlInfo.flash.m_flashEnableFlg = false;
4792 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_NONE;
4794 ALOGV("[PreCap] OnPrecaptureMeteringTriggerStart (ID %d) (flag : %d) (cnt : %d)", id, m_ctlInfo.flash.m_flashEnableFlg, m_ctlInfo.flash.m_flashCnt);
4807 // If flash is enable, Flash operation is executed before triggering AF
4808 if ((m_ctlInfo.flash.i_flashMode >= AA_AEMODE_ON_AUTO_FLASH)
4809 && (m_ctlInfo.flash.m_flashEnableFlg == false)
4811 ALOGV("[Flash] AF Flash start with Mode (%d)", m_afMode);
4812 m_ctlInfo.flash.m_flashEnableFlg = true;
4813 m_ctlInfo.flash
4814 m_ctlInfo.flash.m_flashDecisionResult = false;
4815 m_ctlInfo.flash.m_afFlashDoneFlg = true;
4886 // If flash is enable, Flash operation is executed before triggering AF
4887 if ((m_ctlInfo.flash.i_flashMode >= AA_AEMODE_ON_AUTO_FLASH)
4888 && (m_ctlInfo.flash.m_flashEnableFlg == false)
4890 ALOGV("[AF Flash] AF Flash start with Mode (%d) state (%d) id (%d)", m_afMode, m_afState, id);
4891 m_ctlInfo.flash.m_flashEnableFlg = true;
4892 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_ON;
4893 m_ctlInfo.flash.m_flashDecisionResult = false;
4894 m_ctlInfo.flash.m_afFlashDoneFlg = true;
4975 if (m_ctlInfo.flash.m_precaptureTriggerId > 0) {
4980 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
4981 ALOGV("(%s) ANDROID_CONTROL_AE_STATE_PRECAPTURE (%d)", __FUNCTION__, m_ctlInfo.flash.m_flashCnt);
4984 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
4992 if (m_ctlInfo.flash.m_precaptureTriggerId > 0) {
4993 if (m_ctlInfo.flash.m_flashEnableFlg) {
4994 // flash case
4995 switch (m_ctlInfo.flash.m_flashCnt) {
5002 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
5003 ALOGV("(%s) ANDROID_CONTROL_AE_STATE_CONVERGED (%d)", __FUNCTION__, m_ctlInfo.flash.m_flashCnt);
5006 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
5007 m_ctlInfo.flash.m_precaptureTriggerId = 0;
5011 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
5012 ALOGV("(%s) ANDROID_CONTROL_AE_STATE_PRECAPTURE (%d)", __FUNCTION__, m_ctlInfo.flash.m_flashCnt);
5015 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
5023 ALOGV("(%s) INVALID flash state count. (%d)", __FUNCTION__, (int)m_ctlInfo.flash.m_flashCnt);
5024 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_DONE;
5027 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
5030 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
5031 m_ctlInfo.flash.m_precaptureTriggerId = 0;
5035 // non-flash case
5039 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
5040 ALOGV("(%s) ANDROID_CONTROL_AE_STATE_CONVERGED (%d)", __FUNCTION__, m_ctlInfo.flash.m_flashCnt);
5043 m_ctlInfo.flash.m_precaptureTriggerId, 0, m_callbackCookie);
5044 m_ctlInfo.flash.m_precaptureTriggerId = 0;
5114 // If Flash mode is enable, after AF execute pre-capture metering
5115 if (m_ctlInfo.flash.m_flashEnableFlg && m_ctlInfo.flash.m_afFlashDoneFlg) {
5116 switch (m_ctlInfo.flash.m_flashCnt) {
5118 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_AE_AWB_LOCK;
5122 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_OFF;
5135 // If Flash mode is enable, after AF execute pre-capture metering
5136 if (m_ctlInfo.flash.m_flashEnableFlg && m_ctlInfo.flash.m_afFlashDoneFlg) {
5137 switch (m_ctlInfo.flash.m_flashCnt) {
5139 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_AE_AWB_LOCK;
5143 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_OFF;
5299 //Skip notification in case of flash, wait the end of flash on
5300 if (m_ctlInfo.flash.m_flashEnableFlg && m_ctlInfo.flash.m_afFlashDoneFlg) {
5301 if (m_ctlInfo.flash.m_flashCnt < IS_FLASH_STATE_ON_DONE)
5312 // If Flash mode is enable, after AF execute pre-capture metering
5313 if (m_ctlInfo.flash.m_flashEnableFlg && m_ctlInfo.flash.m_afFlashDoneFlg) {
5314 switch (m_ctlInfo.flash.m_flashCnt) {
5316 ALOGV("[AF Flash] AUTO start with Mode (%d) state (%d) noti (%d)", m_afMode, m_afState, (int)noti);
5317 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_AE_AWB_LOCK;
5321 ALOGV("[AF Flash] AUTO end with Mode (%d) state (%d) noti (%d)", m_afMode, m_afState, (int)noti);
5322 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_OFF;
5337 // If Flash mode is enable, after AF execute pre-capture metering
5338 if (m_ctlInfo.flash.m_flashEnableFlg && m_ctlInfo.flash.m_afFlashDoneFlg) {
5339 switch (m_ctlInfo.flash.m_flashCnt) {
5341 ALOGV("[AF Flash] AUTO start with Mode (%d) state (%d) noti (%d)", m_afMode, m_afState, (int)noti);
5342 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_AE_AWB_LOCK;
5346 ALOGV("[AF Flash] AUTO end with Mode (%d) state (%d) noti (%d)", m_afMode, m_afState, (int)noti);
5347 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_OFF;
5580 if (m_ctlInfo.flash.m_flashEnableFlg && m_ctlInfo.flash.m_afFlashDoneFlg) {
5581 m_ctlInfo.flash.m_flashCnt = IS_FLASH_STATE_AUTO_OFF;
5853 //3 Flash
5854 if (m_ctlInfo.flash.m_flashDecisionResult)
5855 exifInfo->flash = 1;
5857 exifInfo->flash = EXIF_DEF_FLASH;