[DESCRIPTION] 针对MT657X和MT6589平台上 Color shading 严重的问题,在MT6582之后的chip上导入了TSF 功能。主要用来改善Color shading问题。 [SOLUTION] 1:如何进入工程模式。在拨号界面输入” *#*#3646633#*#* ”(默认密码)。如果客户有修改进入工程模式输入正确的密码。进入工程模式。选择ISO100, Pure Raw, Capture size 。 ![]() 如果是AF项目,拍摄RawData 时指定AF的Step。 参考如下操作进行: (1)AF页面选取Through Focus Dump选项。 ![]() (2) 在Through Focus Dump选项中选择子选项Manual configure。 ![]() (3) Start position和End position填入指定的Step (找模组厂确认一下这个项目使用的远景3M左右的Step 为 A ,近景10cm左右的Step为B, 则指定的Step为C=(B+A)/2。或者可以使用fullScan自行测试A和B的数值,再计算出C的数值。下面的例子是A为200,B为900,则 指定位置为550 Step拍摄PureRawData) (使用CCT Gen色温的Previewshading时,请使用MF方式指定550Step做高色温Preview的Calibration)。 ![]() (4) 选择Start Preview拍照。 ![]() 2:提供TSF调试需要的RawData案。 按照第一步的要求进入工程模式, 加上毛玻璃拍摄D65, DNP, CWF, TL84, Alight这五个光源下的PureRawData。为了排除A light的 Banding影响,需要加上ND Filter。 为了使做出来的shading Cover度更高,建议同时提供如下这些色温下加上毛玻璃后的PureRawData。 Sun (加上毛玻璃正对着正午太阳) Sky(加上毛玻璃正对着没有白云的蓝天) DF光源(5500K色温) Horizon光源 D50光源(5000K色温) D75光源(7500K色温) 假设A light 抓取到的 RawData 命名是Capture04000150ISOAuto__2592x1944_10_0.raw,则重命名为如下格式: g-A__2592x1944_10_0.raw 蓝色字体 根据不同光源来命名。比如 CWF, D65, DNP 光源下的PureRawData被依次重新命名为: g-CWF__2592x1944_10_0.raw, gD65__2592x1944_10_0.raw , g-DNP__2592x1944_10_0.raw, 其它光源下的相类似。 3:提供GoldSimple和LimitSimple的PureRawData。 Golden Simple和Limit Simple的挑选,请参考FAQ11709。 Gold Simple参考上面的命名为g-CWF__2592x1944_10_0.raw或GoldenCWF__2592x1944_10_0.raw。 Limit Simple模组请命名为 UnitCWF__2592x1944_10_0.raw或u-CWF__2592x1944_10_0.raw。如果该模组有烧录OTP,请提交CR时同步告知。 4:将上面重新命名后的RawData通过CR提供给贵司对应的Tuning Owner,做TSF的Calibration或者提供给Sensor FAE 直接去我司的lab做TSF的Calibration。生成生成camera_tsf_data.h和camera_tsf_para.h 件。 5:通过CR提供PureRawData的同时,请在CR上同步告知 Sensor 是那一颗?目前使用的OB值是多少? 6:根据Hal目录下对应Sensor使用的camera_info_XXXX.h 文件参考如下命名格式 #define INCLUDE_FILENAME_TSF_PARA "camera_tsf_para_XXXX.h" #define INCLUDE_FILENAME_TSF_DATA "camera_tsf_data_XXXX.h" 将camera_tsf_data.h 和camera_tsf_para.h 文件 ReName 成该sensor 对应的TSF 文件。 7:对于95之前的Chip,请确认camera_tuning_para_XXXX.cpp 档案中有无增加如下TSF的相关文件导入? const CAMERA_TSF_TBL_STRUCT CAMERA_TSF_DEFAULT_VALUE = { #include INCLUDE_FILENAME_TSF_PARA #include INCLUDE_FILENAME_TSF_DATA }; impGetDefaultData(CAMERA_DATA_TYPE_ENUM const CameraDataType, VOID*const pDataBuf, UINT32 const size) const { UINT32 dataSize[CAMERA_DATA_TYPE_NUM] = {sizeof(NVRAM_CAMERA_ISP_PARAM_STRUCT), sizeof(NVRAM_CAMERA_3A_STRUCT), sizeof(NVRAM_CAMERA_SHADING_STRUCT), sizeof(NVRAM_LENS_PARA_STRUCT), sizeof(AE_PLINETABLE_T), 0, sizeof(CAMERA_TSF_TBL_STRUCT)}; if (CameraDataType > CAMERA_DATA_TSF_TABLE || NULL == pDataBuf || (size <dataSize[CameraDataType])) { return 1; } switch(CameraDataType) { case CAMERA_NVRAM_DATA_ISP: memcpy(pDataBuf,&CAMERA_ISP_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_ISP_PARAM_STRUCT)); break; case CAMERA_NVRAM_DATA_3A: memcpy(pDataBuf,&CAMERA_3A_NVRAM_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_3A_STRUCT)); break; case CAMERA_NVRAM_DATA_SHADING: memcpy(pDataBuf,&CAMERA_SHADING_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_SHADING_STRUCT)); break; case CAMERA_DATA_AE_PLINETABLE: memcpy(pDataBuf,&g_PlineTableMapping,sizeof(AE_PLINETABLE_T)); break; case CAMERA_DATA_TSF_TABLE: memcpy(pDataBuf,&CAMERA_TSF_DEFAULT_VALUE,sizeof(CAMERA_TSF_TBL_STRUCT)); break; default: break; } return 0;[/code]95 之后的平台已默认添加导入TSF相关文件代码块 [code]const CAMERA_TSF_TBL_STRUCT CAMERA_TSF_DEFAULT_VALUE = { { 1, // isTsfEn 2, // tsfCtIdx {20, 2000, -110, -110, 512, 512, 512, 0} // rAWBInput[8] }, #include INCLUDE_FILENAME_TSF_PARA #include INCLUDE_FILENAME_TSF_DATA }; typedef NSFeature::RAWSensorInfo<SENSOR_ID> SensorInfoSingleton_T; namespace NSFeature { template <> UINT32 SensorInfoSingleton_T:: impGetDefaultData(CAMERA_DATA_TYPE_ENUM const CameraDataType, VOID*const pDataBuf, UINT32 const size) const { UINT32 dataSize[CAMERA_DATA_TYPE_NUM] = {sizeof(NVRAM_CAMERA_ISP_PARAM_STRUCT), sizeof(NVRAM_CAMERA_3A_STRUCT), sizeof(NVRAM_CAMERA_SHADING_STRUCT), sizeof(NVRAM_LENS_PARA_STRUCT), sizeof(AE_PLINETABLE_T), 0, sizeof(CAMERA_TSF_TBL_STRUCT), 0, sizeof(NVRAM_CAMERA_FEATURE_STRUCT) }; if (CameraDataType > CAMERA_NVRAM_DATA_FEATURE || NULL == pDataBuf || (size < dataSize[CameraDataType])) { return 1; } switch(CameraDataType) { case CAMERA_NVRAM_DATA_ISP: memcpy(pDataBuf,&CAMERA_ISP_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_ISP_PARAM_ST RUCT)); break; case CAMERA_NVRAM_DATA_3A: memcpy(pDataBuf,&CAMERA_3A_NVRAM_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_3A_STRU CT)); break; case CAMERA_NVRAM_DATA_SHADING: memcpy(pDataBuf,&CAMERA_SHADING_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_SHADING_ STRUCT)); break; case CAMERA_DATA_AE_PLINETABLE: memcpy(pDataBuf,&g_PlineTableMapping,sizeof(AE_PLINETABLE_T)); break; case CAMERA_DATA_TSF_TABLE: memcpy(pDataBuf,&CAMERA_TSF_DEFAULT_VALUE,sizeof(CAMERA_TSF_TBL_STRUCT)); break; case CAMERA_NVRAM_DATA_FEATURE: memcpy(pDataBuf,&CAMERA_FEATURE_DEFAULT_VALUE,sizeof(NVRAM_CAMERA_FEATURE_ STRUCT)); break; default: return 1; } return 0; }}; // NSFeature 8:开启TSF功能。 MT6595之前的平台(如MT6582、MT6592等) 修改文件 mediatek\custom\[$platform,$project]\hal\camera\camera\tsf_tuning_custom.c pp中的isEnableTSF函数,返回值修改成MTRUE。如下: MBOOL isEnableTSF(void) { return MTRUE; } MT6595之后的平台(如MT6595、MT6752_MT6732等) 修改文件Tuning文件 camera_tuning_para_XXXX.cpp,把isTsfEn改成1 const CAMERA_TSF_TBL_STRUCT CAMERA_TSF_DEFAULT_VALUE = { { 1, // isTsfEn 2, // tsfCtIdx {20, 2000, -110, -110, 512, 512, 512, 0} // rAWBInput[8] }, #include INCLUDE_FILENAME_TSF_PARA #include INCLUDE_FILENAME_TSF_DATA }; 待整合参数后,确认参数有无生效 ?请参考 FAQ11142 。 不同chip , TSF 的进阶客制化?请参考FAQ11301 。 Camera加载慢问题分析 [FAQ15082]Camera加载慢问题分析 Camera加载慢问题分析 A开机加载慢 Description:开机进入camera工厂模式很慢 ,或者是开机加载camera很慢 正常情况下search sensor耗时不会很久,大概200多ms的样子,从 mainlog.boot. 可以通过搜索关键字: impsearch, 来查看search时间。 01-01 00:08:56.379 232 232 D ImgSensorDrv: [impSearchSensor]SENSOR search start 01-01 00:08:56.640 232 232 D ImgSensorDrv: [impSearchSensor]SENSOR search end: 0x3 /[0x3087][1]/[0xffffff][255]/[0x5648][0] 出现异常的时候, mainlog.boot的搜索时间会很久,例如: 01-01 08:11:22.761 263 263 D ImgSensorDrv: [impSearchSensor]SENSOR search start 01-01 08:11:35.176 263 263 D ImgSensorDrv: [impSearchSensor]SENSOR search end: 0x3 /[0x841][0]/[0xffffff][255]/[0x2508][1] 对应到kernellog.boot往往会打印出 Line 14320: 01-01 00:11:24.988 <3>[ 11.732933]<2> (0)[263:mediase |
TSF ( 改善Color Shading的问题 )功能的调试和开启
最新推荐文章于 2022-08-06 11:33:47 发布