> AE AF mode State 枚举值

1.3 AWB mode State 枚举值

> > > acc20a88ca7fbf57b1e0f73ccf821a3d.jpeg > AWB mode State 枚举值

二、MTK 闪光灯拍照log分析

2.1 log关键字

connect call|AppMgr-configureStreams|AppMgr-ResCbHelper::performCallback\] requestNo:0|Frame timer \[# 1/|convertCallbackParcelToHidl\] requestNo:0|evaluateCaptureSetting|capture req#|setduty|setonoff|setFlashO|takePicture|onShutterButtonClick|submitRequest.*control.captureIntent:2|submitRequest.*requestNo:0|MTK_CONTROL_AF_TRIGGER|MTK_CONTROL_AE_PRECAPTURE_TRIGGER|Backup|Precapture Trigger|AEPrecaptureStart|endPrecapture|doCapAE|CaptureNode.*queue|CaptureProcessor.*onEnque|CaptureProcessor.*onContinue|CaptureProcessor.*notifyRelease|Open with FUSE

2.2 MTK Camera log 分析

2.2.1 闪光灯第一次打闪:预闪
> > > 852a67b590772576d861f9aa7baed189.jpeg > 预闪备份2A
2.2.2 闪光灯第二次打闪:主闪
> > > ab1991c20560e3c36680245960a561e5.jpeg > 主闪存图
2.2.3 MTK camera 闪光灯拍照 log

MTK 相机on 状态下,闪光灯拍照走预闪,主闪流程。

  1. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="1"> class="hljs-ln-code"> class="hljs-ln-line">// 相机调用
  2. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="2"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:30.671910 1001 26533 I CameraService: CameraService::connect call (PID 26709 "com.mediatek.camera", camera ID 0) and Camera API version 2
  3. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="3"> class="hljs-ln-code"> class="hljs-ln-line"> //预览、拍照、缩略图尺寸
  4. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="4"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:30.852660 4720 5025 D mtkcam-AppStreamMgr: [AppMgr-configureStreams] 0 1920x1080 OUT ImgFormat:0x11(NV21) BufPlanes(strides/sizeInBytes):[ 1920/2073600 1920/1062720 ] startOffset:0 bufStep:0 t:0/r:0 maxBuffers:12 d/s:0x00000000(UNKNOWN) s0:d0:App:YCrCb_420_SP:0|HW_TEXTURE AllocImgFormat:0x11(NV21) AllocBufPlanes(strides/sizeInBytes):[ 1920/2073600 1920/1062720 ] Real:0x11(YCrCb_420_SP) Request:0x22(IMPLEMENTATION_DEFINED) Override:0x11(YCrCb_420_SP) Hal-Client-usage:0x100(0|HW_TEXTURE) Hal-usage:0x20033(0|SW_READ_OFTEN|SW_WRITE_OFTEN|HW_CAMERA_WRITE) HalStream::(consumer/producer)Usage:0/0x20033 0xb400007a43dcde50 phy:-1
  5. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="5"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:30.852684 4720 5025 D mtkcam-AppStreamMgr: [AppMgr-configureStreams] 0x1 4080x2296 OUT ImgFormat:0x2300(JPEG) BufPlanes(strides/sizeInBytes):[ 14461181/14461184 ] startOffset:0 bufStep:0 t:0/r:0 maxBuffers:11 d/s:0x08c20000(V0_JFIF|STANDARD_BT601_625|TRANSFER_SMPTE_170M|RANGE_FULL) s1:d0:App:BLOB:0|SW_READ_OFTEN AllocImgFormat:0x21(BLOB) AllocBufPlanes(strides/sizeInBytes):[ 14461181/14461184 ] Real:0x21(BLOB) Request:0x21(BLOB) Override:0x21(BLOB) Hal-Client-usage:0x3(0|SW_READ_OFTEN) Hal-usage:0x20033(0|SW_READ_OFTEN|SW_WRITE_OFTEN|HW_CAMERA_WRITE) HalStream::(consumer/producer)Usage:0/0x20033 0xb400007a43dce8d0 phy:-1
  6. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="6"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:30.852710 4720 5025 D mtkcam-AppStreamMgr: [AppMgr-configureStreams] 0x2 160x96 OUT ImgFormat:0x11(NV21) BufPlanes(strides/sizeInBytes):[ 192/18432 192/9504 ] startOffset:0 bufStep:0 t:0/r:0 maxBuffers:12 d/s:0x08c20000(V0_JFIF|STANDARD_BT601_625|TRANSFER_SMPTE_170M|RANGE_FULL) s2:d0:App:YCrCb_420_SP:0|SW_READ_OFTEN AllocImgFormat:0x11(NV21) AllocBufPlanes(strides/sizeInBytes):[ 192/18432 192/9504 ] Real:0x11(YCrCb_420_SP) Request:0x23(YCbCr_420_888) Override:0x23(YCbCr_420_888) Hal-Client-usage:0x3(0|SW_READ_OFTEN) Hal-usage:0x20033(0|SW_READ_OFTEN|SW_WRITE_OFTEN|HW_CAMERA_WRITE) HalStream::(consumer/producer)Usage:0/0x20033 0xb400007a43d9f310 phy:-1
  7. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="7"> class="hljs-ln-code"> class="hljs-ln-line"> //第一帧请求 requestNo:0 第一帧 control.captureIntent:1 行为为预览
  8. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="8"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:31.076045 4720 5025 I mtkcam-PipelineModelSession: [submitRequest] <4Cell/0> requestNo:0 { repeating:0 control.aeTargetFpsRange:10,30 control.captureIntent:1 control.enableZsl:0 control.processRawEn:0 control.mode:1 control.sceneMode:0 control.videoStabilizationMode:0 edge.mode:1 }
  9. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="9"> class="hljs-ln-code"> class="hljs-ln-line"> //第一帧出图
  10. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="10"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:31.232717 4720 26780 D MtkCam/StreamingPipe/Timer: [print]Frame timer [# 1/ 0][t 47][io 0][tof 0/ 0][d 0/ 0][mss 0/ 0/ 0/ 0][a 47/ 24/ 22][tun 0/ 0][msf 0/ 0][vnr 0/ 0/ 0][am 0][b 0/ 0][tpi( 0/ 0)/( 0/ 0)/( 0/ 0)][vmdp_A 0/ 0 vmdp_B 0/ 0][h 3/ 0/ 0][e 0][r 0/ 0][w_A 0/ 0/ 0/ 0 w_B 0/ 0/ 0/ 0][x 0][disp 0/ 0][async 0/ 0][p2sm 0/ 0/ 0][fps0.00/0.00/ 10/ 30]
  11. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="11"> class="hljs-ln-code"> class="hljs-ln-line"> //第一帧callback image && meta
  12. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="12"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:31.234330 4720 26736 D mtkcam-AppStreamMgr: [0-CallbackHandler::convertCallbackParcelToHidl] requestNo:0 o:image#:1
  13. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="13"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:31.234601 4720 26735 D mtkcam-AppStreamMgr: [0:AppMgr-ResCbHelper::performCallback] requestNo:0 o:image#:1
  14. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="14"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:31.234619 4720 26735 D mtkcam-AppStreamMgr: [0:AppMgr-ResCbHelper::performCallback] requestNo:0
  15. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="15"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:31.320917 4720 26736 D mtkcam-AppStreamMgr: [0-CallbackHandler::convertCallbackParcelToHidl] requestNo:0 o:meta#:4
  16. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="16"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:31.321192 4720 26735 D mtkcam-AppStreamMgr: [0:AppMgr-ResCbHelper::performCallback] requestNo:0 o:meta#:1
  17. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="17"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:31.321293 4720 26735 D mtkcam-AppStreamMgr: [0:AppMgr-ResCbHelper::performCallback] requestNo:0
  18. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="18"> class="hljs-ln-code"> class="hljs-ln-line"> //预闪 AE AF tag MTK_CONTROL_AE_PRECAPTURE_TRIGGER
  19. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="19"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.500835 4720 5014 D Hal3Av3 : [parseMeta] MTK_CONTROL_AE_PRECAPTURE_TRIGGER(0 -> 1)
  20. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="20"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.500874 4720 5014 D Hal3Av3 : [parseMeta] MTK_CONTROL_AF_TRIGGER(0 -> 1)
  21. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="21"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.500897 4720 5014 D Hal3Av3 : [parseMeta] MTK_CONTROL_AF_TRIGGER_ID(1)
  22. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="22"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.540439 4720 26740 D Hal3Av3 : [setNormal] Precapture Trigger @ i4MagicNum(62)
  23. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="23"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.540502 4720 26740 W TaskMgr : [sendEvent] AEPrecaptureStart, fgLampflashCond(1)
  24. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="24"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.541150 4720 25786 D Hal3Av3 : [parseMeta] MTK_CONTROL_AE_PRECAPTURE_TRIGGER(1 -> 0)
  25. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="25"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.541199 4720 25786 D Hal3Av3 : [parseMeta] MTK_CONTROL_AF_TRIGGER(1 -> 0)
  26. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="26"> class="hljs-ln-code"> class="hljs-ln-line"> // 2A backup doBackupAE AWB
  27. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="27"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.546911 4720 26740 D ae_mgr : [doBackupAE()+] i4SensorDev:1
  28. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="28"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.546930 4720 26740 D ae_mgr : [doBackupAE()-] i4SensorDev:1 m_rAESettingBackup.EvSetting:39998/5904/4100 (ISO:144) m_rAESettingBackup.u4Index/F:111/335 (IndexBase:3)Pre-flash:0
  29. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="29"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.565240 4720 26740 D awb_mgr : [backup] AWB(908,512,765)
  30. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="30"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.581089 4720 26740 D ae_mgr : [doBackupAE()+] i4SensorDev:1
  31. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="31"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.581107 4720 26740 D ae_mgr : [doBackupAE()-] i4SensorDev:1 m_rAESettingBackup.EvSetting:39998/5904/4100 (ISO:144) m_rAESettingBackup.u4Index/F:111/335 (IndexBase:3)Pre-flash:0
  32. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="32"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.602423 4720 26740 D awb_mgr : [backup] AWB(908,512,765)
  33. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="33"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.605946 4720 26740 D Hal3ARaw: [doBackup2A]
  34. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="34"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.605960 4720 26740 D ae_mgr : [doBackupAE()+] i4SensorDev:1
  35. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="35"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.605974 4720 26740 D ae_mgr : [doBackupAE()-] i4SensorDev:1 m_rAESettingBackup.EvSetting:39998/5904/4100 (ISO:144) m_rAESettingBackup.u4Index/F:111/335 (IndexBase:3)Pre-flash:1
  36. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="36"> class="hljs-ln-code"> class="hljs-ln-line"> //预闪 flash on type:1:后摄 enable:1 开启闪光灯 scenario:3:预闪 duty(0).
  37. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="37"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.606962 4720 26847 I FlashHal: [CAT][flash] setOnOff(): type:1 enable:1 scenario:3
  38. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="38"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.606982 4720 26847 I FlashHal: setFlashOn(): duty(0), timeout(0), lt duty(0), lt timeout(0).
  39. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="39"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.607010 4720 26847 I StrobeDrvFlashlight: setDuty(): duty(0).
  40. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="40"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.607125 4720 26847 I StrobeDrvFlashlight: setOnOff(): enable(1).
  41. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="41"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.613575 4720 26847 I StrobeDrvFlashlight: setOnOff(): on time(148789707).
  42. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="42"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.632018 4720 26740 D awb_mgr : [backup] AWB(908,512,765)
  43. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="43"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:33.651878 26709 26746 I CamAp_FocusCaptureRequestConfigure: [onCaptureStarted] ae precapture triggered
  44. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="44"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.264236 4720 26740 D ae_mgr : [doRestoreAE()] i4SensorDev:1 m_rAESettingBackup.EvSetting:39998/6016/4100 (ISO:147) m_rAESettingBackup.u4Index/F:111/335 (IndexBase: 3) bIsRestorePreflash:1
  45. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="45"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.265317 4720 26740 D ae_mgr : [doRestoreAE] backup FD information at AFAE state (for main flash)
  46. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="46"> class="hljs-ln-code"> class="hljs-ln-line"> //预闪 flash off
  47. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="47"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.288120 4720 26847 I FlashHal: [CAT][flash] setOnOff(): type:1 enable:0 scenario:3
  48. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="48"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.288137 4720 26847 I FlashHal: setFlashOff().
  49. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="49"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.288156 4720 26847 I StrobeDrvFlashlight: setOnOff(): enable(0).
  50. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="50"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.289802 4720 26847 I StrobeDrvFlashlight: setOnOff(): off time(148790388).
  51. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="51"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.386669 4720 26740 I FlashMgrM: endPrecapture().
  52. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="52"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.386770 4720 26740 I FlashMgrM: endPrecapture().
  53. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="53"> class="hljs-ln-code"> class="hljs-ln-line"> //开始拍照
  54. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="54"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.538837 26709 26746 I CamAp_PhotoMode: onShutterButtonClick, is storage ready : true,isDeviceReady = true
  55. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="55"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.540462 26709 26746 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@8fee002
  56. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="56"> class="hljs-ln-code"> class="hljs-ln-line"> //拍照请求帧 control.captureIntent:2
  57. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="57"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.589042 4720 25786 I mtkcam-PipelineModelSession: [submitRequest] <4Cell/0> requestNo:88 { repeating:0 control.aeTargetFpsRange:10,30 control.captureIntent:2 control.enableZsl:1 control.processRawEn:0 control.mode:1 control.sceneMode:0 control.videoStabilizationMode:0 edge.mode:2 }
  58. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="58"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.589203 4720 25786 I mtkcam-FeatureSettingPolicy: [evaluateCaptureSetting] (0xb4000079e3e13630) capture req#:88
  59. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="59"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.589717 4720 25786 D mtkcam-FeatureSettingPolicy: [evaluateCaptureSetting] openId(0), sensorId(0), subsensorId(-1), sub sensor nums 0
  60. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="60"> class="hljs-ln-code"> class="hljs-ln-line"> //拍照决策 MTK_CAMERA_SCENARIO_CAPTURE_NORMAL MTK_FEATURE_COMBINATION_SINGLE frames count
  61. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="61"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.589850 4720 25786 D mtkcam-FeatureSettingPolicy: [evaluateCaptureSetting] find scenario:MTK_CAMERA_SCENARIO_CAPTURE_NORMAL for (openId:0, scenario:1)
  62. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="62"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.605578 4720 25786 I mtkcam-FeatureSettingPolicy: [evaluateCaptureSetting] trigger feature:NO_FEATURE_NORMAL(0), feature combination:MTK_FEATURE_COMBINATION_SINGLE(0x20000000300f0) for req#88
  63. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="63"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.605586 4720 25786 D mtkcam-FeatureSettingPolicy: [evaluateCaptureSetting] capture request frames count(mainFrame:1, subFrames:0, preDummyFrames:2, postDummyFrames:3)
  64. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="64"> class="hljs-ln-code"> class="hljs-ln-line"> //主闪开启 scenario:4 主闪 duty(1).
  65. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="65"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.738555 4720 26740 I FlashHal: [CAT][flash] setOnOff(): type:1 enable:1 scenario:4
  66. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="66"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.738580 4720 26740 E FlashHal: FLASH_HAL_SCENARIO_MAIN_FLASH dutyLt=-1,duty=1 (setOnOff){#610:vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/isp_6s/../common/flash_mgr/flash_hal.cpp}
  67. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="67"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.738602 4720 26740 I FlashHal: setFlashOn(): duty(1), timeout(0), lt duty(-1), lt timeout(0).
  68. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="68"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.738627 4720 26740 I StrobeDrvFlashlight: setDuty(): duty(1).
  69. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="69"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.738738 4720 26740 I StrobeDrvFlashlight: setOnOff(): enable(1).
  70. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="70"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.743919 4720 26740 I StrobeDrvFlashlight: setOnOff(): on time(148790839).
  71. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="71"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.744568 4720 26740 D ae_mgr : [doBackupAE()+] i4SensorDev:1
  72. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="72"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.744582 4720 26740 D ae_mgr : [doBackupAE()-] i4SensorDev:1 m_rAESettingBackup.EvSetting:39998/5904/4100 (ISO:144) m_rAESettingBackup.u4Index/F:111/335 (IndexBase:3)Pre-flash:0
  73. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="73"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.763537 4720 26740 D ae_mgr : [doCapAE()] i4SensorDev:1 CamMode:5 TargetMode:0 minISO:25 bIsSyncAE:0
  74. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="74"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.763652 4720 26740 D ae_mgr : [prepareAlgoFrameInfo] send backup FD information to algo at POSTCAP state (during main flash)
  75. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="75"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.764276 4720 26740 D ae_mgr : [doCapAE():monitor] SensorDev:1 Mag:88 CWVY:450 AEStable:1 AlgoAPAELock/AlgoAFAELock:0/0 Index/F:111/335 Algo:39998/5904/4100(144) Real:20004/1632/4156(40) EV/BV/BVWOStrobe:68/18/18 SkipCount:0 hdr LE(39998/3643/4112/89) ME(39998/3643/4112/89) SE(39998/3643/4112/89) VSE(39998/3643/4112/89) R(100)
  76. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="76"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.836886 4720 26740 D ae_mgr : [doRestoreAE()] i4SensorDev:1 m_rAESettingBackup.EvSetting:39998/6016/4100 (ISO:147) m_rAESettingBackup.u4Index/F:111/335 (IndexBase: 3) bIsRestorePreflash:0
  77. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="77"> class="hljs-ln-code"> class="hljs-ln-line"> // 主闪关闭 enable:0 setFlashOff
  78. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="78"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.863356 4720 26763 I FlashHal: [CAT][flash] setOnOff(): type:1 enable:0 scenario:4
  79. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="79"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.863367 4720 26763 E FlashHal: FLASH_HAL_SCENARIO_MAIN_FLASH dutyLt=-1,duty=1 (setOnOff){#610:vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/isp_6s/../common/flash_mgr/flash_hal.cpp}
  80. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="80"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.863374 4720 26763 I FlashHal: setFlashOff().
  81. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="81"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.863382 4720 26763 I StrobeDrvFlashlight: setOnOff(): enable(0).
  82. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="82"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.863939 4720 26763 I StrobeDrvFlashlight: setOnOff(): off time(148790964).
  83. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="83"> class="hljs-ln-code"> class="hljs-ln-line"> // P2 capture 处理
  84. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="84"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.883859 4720 26765 I MtkCam/P2/CaptureNode: [queue] P2C cam 0: (0xb400007883da59b0) R/F Num: 88/90
  85. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="85"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.884348 4720 26792 D MtkCam/P2/CaptureProcessor: [onEnque] P2C cam 0: isZoom 0, isVsdof 0, isMultiCam 0, isHidlIsp 0
  86. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="86"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.885773 4720 26792 D MtkCam/P2/CaptureProcessor: [onEnque]P2 frame number(90) main sensorId(0) sub sensor(-1) isPhyStream(0) isPhyControl(0)
  87. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="87"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.885797 4720 26792 I MtkCam/P2/CaptureProcessor: [onEnque] P2C cam 0 MWFrame:#90 MWReq:#88, frame 90 : Index/Count:-1/0 Feature:0x20000000300f0
  88. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="88"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.885813 4720 26792 I MtkCam/P2/CaptureProcessor: [onEnque] P2C cam 0 MWFrame:#90 MWReq:#88, frame 90 : Index/Count:-1/0 isEarlyNotificationTrigger:1, isCshot:0, SS_CapHint:0
  89. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="89"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.885845 4720 26792 D MtkCam/P2/CaptureProcessor: [onEnque] P2C cam 0 MWFrame:#90 MWReq:#88, frame 90 : [SS] iShootingMode (0)
  90. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="90"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.885893 4720 26792 D MtkCam/P2/CaptureProcessor: [onEnque] P2C cam 0 MWFrame:#90 MWReq:#88, frame 90 : [SS] use out_jpeg size as validSize(2296,4080)
  91. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="91"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.885906 4720 26792 D MtkCam/P2/CaptureProcessor: [onEnque] P2C cam 0 MWFrame:#90 MWReq:#88, frame 90 : [SS] Update SEC_ANDROID_SCALER_VALID_IMAGE_REGION (0,0)(2296x4080)
  92. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="92"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.885917 4720 26792 I MtkCam/P2/CaptureProcessor: [onEnque] P2C cam 0 MWFrame:#90 MWReq:#88, frame 90 : enqued request to captureFeaturePipe, R/F Num:88/90
  93. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="93"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.895019 4720 26791 I MtkCam/P2/CaptureProcessor: [onContinue] P2C cam 0 MWFrame:#90 MWReq:#88, frame 90-0 : (0xb400007993dd3470) notify next capture, request count:1, R/F Num:88/90
  94. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="94"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.926198 4720 26896 I MtkCam/P2/CaptureProcessor: [notifyRelease] P2C cam 0: notify release, R/F Num:88/90
  95. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="95"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:34.926335 4720 26896 I MtkCam/P2/CaptureProcessor: [notifyRelease] P2C cam 0: notify release, R/F Num:88/90
  96. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="96"> class="hljs-ln-code"> class="hljs-ln-line"> //保存图片
  97. class="hljs-ln-numbers"> class="hljs-ln-line hljs-ln-n" data-line-number="97"> class="hljs-ln-code"> class="hljs-ln-line"> 02-10 11:20:35.025687 2150 2164 D MediaProvider: Open with FUSE. FilePath: /storage/emulated/0/DCIM/Camera/IMG_20250210_112034_998.jpg. Uid: 10100. Media Capabilities Uid: 0. ShouldRedact: false. ShouldTranscode: false
class="hide-preCode-box"> class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}" onclick="hljs.signin(event)">

2.3 腾讯水印相机闪光灯拍照

腾讯水印相机 拍照流程几乎跟MTK camera 流程一致,走预闪,主闪流程。
scenario:3 预闪
scenario:4 主闪

2.3.1 水印相机下发预闪Tag,进行预闪,主闪
> > > bd17afb0acc3176a6a56e38bf3db378c.jpeg > 腾讯水印相机预闪,主闪
2.3.2 主闪存图处理
> > > 908277d0e7cc4a190c757c410e18f5b8.jpeg > 腾讯水印相机主闪存图

2.4 美图秀秀,美颜相机、B612 闪光灯拍照

美图秀秀、美颜相机、B612等相机 拍照与视频录制统一一个button(点击拍照,长按录制视频),app 下发的flash on 场景为scenario:1 视频手电筒 scenario;

> > > 8182413c957e030884e498b0265c5e2c.jpeg > 美图秀秀 拍照 视频统一 > >
> 410dca5bb0054370ec756918fcb4760d.jpeg > 美颜相机 点击拍照,长按录制视频 > >
> bf6088a09189afce9197d96688f802e5.jpeg > B612点击拍照,长按录制视频

参考文献:

【腾讯文档】Android Framework 知识库
https://docs.qq.com/doc/DSXBmSG9VbEROUXF5

至此,本篇已结束。转载网络的文章,小编觉得很优秀,欢迎点击阅读原文,支持原创作者,如有侵权,恳请联系小编删除,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

dfadf145e0dec1629172335a70eca970.jpeg

点个在看,为大佬点赞!

data-report-view="{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://blog.csdn.net/wjky2014/article/details/145602931","extend1":"pc","ab":"new"}">>
注:本文转载自blog.csdn.net的PlutoZuo的文章"https://blog.csdn.net/PlutoZuo/article/details/133639460"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!