its test_edge_enhancement fail的处理

## 1. 先看拍的图片是否正常. 排查全黑,只拍了边角的问题. 若是, 调整拍摄角度就可以了
## 2. 排除1后, 要查EE 在mode0, 1, 2, 3开启状态. 默认0 关闭, 其他开启.
2.0 先从test_edge_enhancement_stderr.txt 看是哪组ee fail, 如下demo 看是ee 2 时fail, 即MTK_EDGE_MODE_HIGH_QUALITY mode.
File "C:\ITS\data\CameraITS\tests\scene3\test_edge_enhancement.py", line 116, in main
assert(sharpness_regular[2] > sharpness_regular[0])

2.1 在alps-mp-p0-mp3/xref/vendor/mediatek/proprietary/hardware/mtkcam/aaa/source/$ISPVERSION$/isp_tuning/paramctrl/paramctrl_per_frame.cpp

这个函数.

2.2 开启m_bDebugEnable 设置为1, 确保上面的log有打印; // 0: enable, 1: disable后抓log 排查fail时是否走到了

 

2.3 <可选项> 在如下3174打log确认是否有走到这段code.


 

2.4 从对应mail log找到上述mode2和mode0 过程. 结合上述2.2 2.3 的code分析推测<若您在2.3 3173 打log了, 那就不用推测了>,正常应该是mode0 走到2.3的code, 但mode2 不该走到2.3的code.

若不符合上述预期, 请为贵司tuning/ flow的人是否有修改哪里导致ee的开关非mtk mode的flow.
@mode0
35699 01-02 12:41:51.883675 31562 31639 I mtkcam-PipelineModelSession: [submitRequest] <4Cell/1> requestNo:274 { repeating:0 control.aeTargetFpsRange:5,30 control.captureIntent:6 control.enableZsl:0 control.mode:0 control.sceneMode:0 control.videoStabilizationMode:0 edge.mode:0 }
36183 01-02 12:41:51.899728 31562 1902 D paramctrl_per_frame: [prepareHw_PerFrame_EE] fgRPGEnable(1), level 0 mode 0

@mode1

181393 01-02 12:42:14.711005 31562 31562 I mtkcam-PipelineModelSession: [submitRequest] <4Cell/1> requestNo:550 { repeating:0 control.aeTargetFpsRange:5,30 control.captureIntent:6 control.enableZsl:0 control.mode:0 control.sceneMode:0 control.videoStabilizationMode:0 edge.mode:1 }
182020 01-02 12:42:14.727738 31562 2870 D paramctrl_per_frame: [prepareHw_PerFrame_EE] fgRPGEnable(1), level 0 mode 1

@mode2

208454 01-02 12:42:18.424990 31562 31639 I mtkcam-PipelineModelSession: [submitRequest] <4Cell/1> requestNo:560 { repeating:0 control.aeTargetFpsRange:5,30 control.captureIntent:6 control.enableZsl:0 control.mode:0 control.sceneMode:0 control.videoStabilizationMode:0 edge.mode:2 }
213352 01-02 12:42:18.685493 31562 3203 D paramctrl_per_frame: [prepareHw_PerFrame_EE] fgRPGEnable(0), level 1 mode 2

@mode3

26010 01-02 12:42:48.827038 31562 31667 I mtkcam-PipelineModelSession: [submitRequest] <4Cell/1> requestNo:959 { repeating:0 control.aeTargetFpsRange:5,30 control.captureIntent:6 control.enableZsl:0 control.mode:0 control.sceneMode:0 control.videoStabilizationMode:0 edge.mode:3 }
26642 01-02 12:42:48.844840 31562 4315 D paramctrl_per_frame: [prepareHw_PerFrame_EE] fgRPGEnable(1), level 0 mode 3

256050 01-02 12:43:03.746830 4896 4896 I ItsTestHost: FAIL scene3/test_edge_enhancement [95.9s]

2.4 若符合2.4 正常预期. mode0 关闭. mode2 开启. 比如上述2.3的log中就是正常的.

则请贵司tuning人员把edge 拉大可以解决一般问题了.
2.5 2.4节还有些detail 补充.比较复杂的case. 若2.4 执行后还不行再看这里.
2.5.1 有些客户把RNR NR1 ANR这些参数在 mode0 mode2 下, 走的isp 参数差异太多.比如说下面2.5.3 的demo, mode0 走camera_isp_regs_preview_s5k3p9sp04pd1901mipiraw.h, 里面的RNR NR1 ANR 对比mode2的camera_isp_regs_capture_s5k3p9sp04pd1901mipiraw.h调的太弱, 导致即使mode2 对应的index EE调的再强, ee nr是反比关系, 导致整体its计算的ee也不达标.
当然也有便捷的adb快速验证是否是某些NR导致的问题, 具体关闭方法需要根据paramctrl_per_frame.cpp 中对应module的adb cmd 关闭. 不同平台具体有哪些module 影响NR需要关闭测试的, 请结合具体平台的paramctrl_per_frame.cpp ,然后咨询贵司tuning专家确认.  这里以NR1的关闭code 做说明, ANR也类似.

 

2.5.2 还有就是要区分正确的p2 参数走哪一组. 怎么看, 参考2.5.3 的demo.
2.5.3 DEMO如下.

Mode2 时, 这里下拍照的request, 说明要抓R 196 这张.

114778 01-01 10:29:00.682226 11605 12185 I mtkcam-PipelineModelSession: [submitRequest] <4Cell/1> requestNo:196 { repeating:0 control.aeTargetFpsRange:5,30 control.captureIntent:6 control.enableZsl:0 control.mode:0 control.sceneMode:0 control.videoStabilizationMode:0 edge.mode:2 }

 

R193 吐出了, 丢.

115525 01-01 10:29:00.711225 11605 12767 D HwIRQ3A : [wait] VSIrq

116125 01-01 10:29:00.727478 11605 13382 D MtkCam/P1NodeImp: [hardwareOps_deque] [Cam::1] mpCamIO->deque ---

116235 01-01 10:29:00.729816 11605 13382 I MtkCam/P1NodeImp: [releaseAction] [Cam::1 R60 S60 E60 D58 O57 #1] [P1::DEQ][Num Q:58 M:58 F:56 R:193 @58][Type:1 Out:x15 Rec:x0 Raw:1 Cap:0 Exe:3 Flush:x0] job(0/1) IMG(pure) RRZ0(0-0-2320x1744)(0-0-640x496)(640x496) T-ns(EXP: 9998000)(Src:1)(SOF: m_848142482000 b_848142468000)(SS: 848132470000) Q(SensorTs:848134970000) [MetaInAPP_0](0x80000000)<N:x0><U:xc> [MetaInHAL_1](0x10000000d)<N:x0><U:xc> [MetaOutAPP_2](0x100000015)<W:x2><U:xc> [MetaOutHAL_3](0x10000000f)<W:x2><U:xc> [ImgOutIMG_4](0x100000001)<W:x2><U:xc> [ImgOutRRZ_6](0x100000002)<W:x2><U:xc> [ImgOutLCS_7](0x100000003)<W:x2><U:xc> [MetaCnt] In(66,6) Out(105,33) Aaa(102,19) Aaa-Isp(102,19) [ApplyRelease] [Last-Frame-Num(55_10:29:00.696226@13382) 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 ... ]

 

 

R194 丢.

 

117376 01-01 10:29:00.761251 11605 13382 D MtkCam/P1NodeImp: [hardwareOps_deque] [Cam::1] mpCamIO->deque ---

117476 01-01 10:29:00.763610 11605 13382 I MtkCam/P1NodeImp: [releaseAction] [Cam::1 R61 S61 E61 D59 O58 #1] [P1::DEQ][Num Q:59 M:59 F:57 R:194 @59][Type:1 Out:x15 Rec:x0 Raw:1 Cap:0 Exe:3 Flush:x0] job(0/1) IMG(pure) RRZ0(0-0-2320x1744)(0-0-640x496)(640x496) T-ns(EXP: 9998000)(Src:1)(SOF: m_848176265000 b_848176251000)(SS: 848166253000) Q(SensorTs:848168753000) [MetaInAPP_0](0x80000000)<N:x0><U:xc> [MetaInHAL_1](0x10000000d)<N:x0><U:xc> [MetaOutAPP_2](0x100000015)<W:x2><U:xc> [MetaOutHAL_3](0x10000000f)<W:x2><U:xc> [ImgOutIMG_4](0x100000001)<W:x2><U:xc> [ImgOutRRZ_6](0x100000002)<W:x2><U:xc> [ImgOutLCS_7](0x100000003)<W:x2><U:xc> [MetaCnt] In(66,6) Out(105,33) Aaa(102,19) Aaa-Isp(102,19) [ApplyRelease] [Last-Frame-Num(56_10:29:00.730042@13382) 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 ... ]

 

R195 丢.

117954 01-01 10:29:00.778768 11605 12767 D HwIRQ3A : [wait] VSIrq

118187 01-01 10:29:00.781682 11605 12767 D paramctrl_validate: eIspProfile = 0, eSensorMode = 0, eIdx_Scene = 0, eIdx_ISO = 1 , eIdx_Zoom = 0, eIdx_Zoom_U = 0, eIdx_Zoom_L = 0

118189 01-01 10:29:00.781707 11605 12767 D isp_tuning_idx: [IndexMgr][dump] DBS:1, OBC:0, BPC:1, NR1:1, PDC:1,    RNR:1, UDM:1, ANR:1, ANR2:1, CCR:1, HFG:1, EE:1, MFB:0, MIX3:0

118545 01-01 10:29:00.795013 11605 13382 D MtkCam/P1NodeImp: [hardwareOps_deque] [Cam::1] mpCamIO->deque ---

118648 01-01 10:29:00.797543 11605 13382 I MtkCam/P1NodeImp: [releaseAction] [Cam::1 R62 S62 E62 D60 O59 #1] [P1::DEQ][Num Q:60 M:60 F:58 R:195 @60][Type:1 Out:x15 Rec:x0 Raw:1 Cap:0 Exe:3 Flush:x0] job(0/1) IMG(pure) RRZ0(0-0-2320x1744)(0-0-640x496)(640x496) T-ns(EXP: 9998000)(Src:1)(SOF: m_848210049000 b_848210035000)(SS: 848200037000) Q(SensorTs:848202537000) [MetaInAPP_0](0x80000000)<N:x0><U:xc> [MetaInHAL_1](0x10000000d)<N:x0><U:xc> [MetaOutAPP_2](0x100000015)<W:x2><U:xc> [MetaOutHAL_3](0x10000000f)<W:x2><U:xc> [ImgOutIMG_4](0x100000001)<W:x2><U:xc> [ImgOutRRZ_6](0x100000002)<W:x2><U:xc> [ImgOutLCS_7](0x100000003)<W:x2><U:xc> [MetaCnt] In(66,6) Out(103,33) Aaa(100,19) Aaa-Isp(100,19) [ApplyRelease] [Last-Frame-Num(57_10:29:00.763817@13382) 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 ... ]

 

R196 拿出.

 

注意这里P1 P2的isp 参数是独立不一样的.

=è P2 的RISPCamINFO 参数, RNR用401, EE 用401, NR1用401

118786 01-01 10:29:00.804198 11605 13443 D paramctrl_validate: [validatePerFrameP2] i4FrameID = 60

118789 01-01 10:29:00.804251 11605 13443 D paramctrl_validate: [BEFORE][evaluate_nvram_index], eIspProfile(2)

118791 01-01 10:29:00.804263 11605 13443 D isp_tuning_idx: [IndexMgr][dump] DBS:401, OBC:80, BPC:401, NR1:401, PDC:401,    RNR:401, UDM:401, ANR:401, ANR2:401, CCR:1, HFG:401, EE:401, MFB:0, MIX3:0

119081 01-01 10:29:00.807536 11605 13443 D paramctrl_validate: getISPIndex_byISOIdx[AFTER][evaluate_nvram_index] ISO idx(0)

119082 01-01 10:29:00.807546 11605 13443 D isp_tuning_idx: [IndexMgr][dump] DBS:400, OBC:80, BPC:400, NR1:400, PDC:400,    RNR:400, UDM:400, ANR:400, ANR2:400, CCR:0, HFG:400, EE:400, MFB:0, MIX3:0

 

  • P1的mISPINFO 参数

119136 01-01 10:29:00.812553 11605 12767 D HwIRQ3A : [wait] VSIrq

119360 01-01 10:29:00.815259 11605 12767 D paramctrl_validate: [validatePerFrame] i4FrameID(63), keep(0)

119362 01-01 10:29:00.815275 11605 12767 D paramctrl_validate: [validatePerFrame](ParamChangeCount, fgForce)=(0, 1)

119365 01-01 10:29:00.815301 11605 12767 D paramctrl_validate: eIspProfile = 0, eSensorMode = 0, eIdx_Scene = 0, eIdx_ISO = 1 , eIdx_Zoom = 0, eIdx_Zoom_U = 0, eIdx_Zoom_L = 0

119366 01-01 10:29:00.815316 11605 12767 D paramctrl_validate: [BEFORE][evaluate_nvram_index]

119367 01-01 10:29:00.815325 11605 12767 D isp_tuning_idx: [IndexMgr][dump] DBS:1, OBC:0, BPC:1, NR1:1, PDC:1,    RNR:1, UDM:1, ANR:1, ANR2:1, CCR:1, HFG:1, EE:1, MFB:0, MIX3:0

119799 01-01 10:29:00.828970 11605 13382 D MtkCam/P1NodeImp: [hardwareOps_deque] [Cam::1] mpCamIO->deque ---

119902 01-01 10:29:00.831672 11605 13382 I MtkCam/P1NodeImp: [releaseAction] [Cam::1 R63 S63 E63 D61 O60 #1] [P1::DEQ][Num Q:61 M:61 F:59 R:196 @61][Type:1 Out:x15 Rec:x0 Raw:1 Cap:0 Exe:3 Flush:x0] job(0/1) IMG(pure) RRZ0(0-0-2320x1744)(0-0-640x496)(640x496) T-ns(EXP: 9998000)(Src:1)(SOF: m_848243832000 b_848243818000)(SS: 848233820000) Q(SensorTs:848236320000) [MetaInAPP_0](0x80000000)<N:x0><U:xc> [MetaInHAL_1](0x10000000d)<N:x0><U:xc> [MetaOutAPP_2](0x100000015)<W:x2><U:xc> [MetaOutHAL_3](0x10000000f)<W:x2><U:xc> [ImgOutIMG_4](0x100000001)<W:x2><U:xc> [ImgOutRRZ_6](0x100000002)<W:x2><U:xc> [ImgOutLCS_7](0x100000003)<W:x2><U:xc> [MetaCnt] In(66,6) Out(103,33) Aaa(100,19) Aaa-Isp(100,19) [ApplyRelease] [Last-Frame-Num(58_10:29:00.797746@13382) 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 ... ]

 

 

Mode0 , pass2 用的参数是: DBS:1, OBC:0, BPC:1, NR1:1, PDC:1,    RNR:1, UDM:1, ANR:1, ANR2:1, CCR:1, HFG:1, EE:1, MFB:0, MIX3:0

149779 01-01 10:28:45.721479 11605 12185 I mtkcam-PipelineModelSession: [submitRequest] <4Cell/1> requestNo:1 { repeating:0 control.aeTargetFpsRange:5,30 control.captureIntent:6 control.enableZsl:0 control.mode:0 control.sceneMode:0 control.videoStabilizationMode:0 edge.mode:0 }

153319 01-01 10:28:45.939149 11605 13029 I MtkCam/P1NodeImp: [releaseAction] [Cam::1 R4 S4 E4 D2 O1 #1] [P1::DEQ][Num Q:2 M:2 F:0 R:1 @2][Type:1 Out:x85 Rec:x0 Raw:1 Cap:0 Exe:3 Flush:x0] job(0/1) IMG(pure) RRZ0(0-0-2320x1744)(0-0-640x496)(640x496) T-ns(EXP: 9998000)(Src:1)(SOF: m_833349056000 b_833349036000)(SS: 833339038000) Q(SensorTs:833341538000) [MetaInAPP_0](0x80000000)<N:x0><U:xc> [MetaInHAL_1](0x10000000d)<N:x0><U:xc> [MetaOutAPP_2](0x100000015)<W:x2><U:xc> [MetaOutHAL_3](0x10000000f)<W:x2><U:xc> [ImgOutRRZ_6](0x100000002)<W:x2><U:xc> [ImgOutLCS_7](0x100000003)<W:x2><U:xc> [MetaCnt] In(66,8) Out(103,35) Aaa(100,21) Aaa-Isp(100,21) [ApplyRelease] [Last-Frame-Num(-1_08:00:00.000000@00000) ... ]

153390 01-01 10:28:45.944503 11605 13080 D paramctrl_validate: [validatePerFrameP2] i4FrameID = 2

153406 01-01 10:28:45.945084 11605 13080 D isp_tuning_idx: [IndexMgr][dump] DBS:1, OBC:0, BPC:1, NR1:1, PDC:1,    RNR:1, UDM:1, ANR:1, ANR2:1, CCR:1, HFG:1, EE:1, MFB:0, MIX3:0

 

 

对比Mode0 mode2 的参数看:

影响edge效果的参数:UDM, NR1, RNR, EE都不一样. 故要把这些参数都对比调整. 比如说把mode2的EE加强, NR1, RNR减弱.UDM里面的NR EE RNR也做同样的修改.

 

而客户的diff看, EE没有动, 但RNR, ANR, UDM都有修改.

故后面有这种问题,可以要求客户把所有的RNR, ANR, UDM, NR1 都用一样的值.或者关闭. 单纯把EE mode2 那组index 调的比mode0 的强, 这样应该可以测试pass.

 

 

<--CTG_SUPPORT_MAIL_END-->

===================================================================

====================================================================

tips:edge mode enum:

作者: RESSRC

个人资源站

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据