[DESCRIPTION]
For a serious problem with Color shading on the mt657x and MT6589 platforms, the TSF feature was imported on chip after MT6582. Mainly used to improve color shading problems.
[Solution]
1: How to enter the engineering mode. In the dial-up interface, enter "*#* #3646633 #*#*" (the default password). Enter the correct password if the customer has modified entry into the project mode. Enter the project mode. Choose ISO100, Pure Raw, Capture size.
If it is an AF project, specify the step for AF when shooting rawdata.
Refer to the following operation:
(1) AF page Select the through Focus dump option.
(2) Select the Sub-option manual configure in the through Focus dump option.
(3) Start position and end position fill in the specified step (find the Module factory to confirm that the project uses a vision of about 3M of step A, close-up of about 10cm of step is B, then the designated step is c= (b+a)/2. Alternatively, you can use Fullscan to test the values of A and B, and then calculate the value of C. The following example is a for 200,b of 900, then the specified position is 550 step shooting purerawdata) (when using the CCT Gen temperature previewshading, Use MF To specify 550Step for high color temperature preview calibration).
(4) Select Start Preview to take a photo.
2: Provide the RawData case for TSF debugging.
In accordance with the requirements of the first step into the engineering mode, plus the frosted glass shot D65, DNP, CWF, TL84, alight these five light source under the Purerawdata. To eliminate the banding effect of a light, you need to add ND Filter.
In order to make the shading cover degree higher, it is recommended to provide the following color temperature under the addition of glass after the purerawdata.
Sun (plus frosted glass facing the midday sun)
Sky (plus the frosted glass is facing the blue sky without white clouds)
DF Light Source (5500K color temperature)
Horizon Light Source
D50 light source (5000K color temperature)
D75 light source (7500K color temperature)
Assuming that a light grabs the rawdata named Capture04000150isoauto__2592x1944_10_0.raw, rename it to the following format:
G-a__2592x1944_10_0.raw Blue fonts are named according to different light sources. For example, CWF, D65, DNP light under the Purerawdata is renamed in turn: G-cwf__2592x1944_10_0.raw, Gd65__2592x1944_10_0.raw, G-dnp__2592x1944_10_0. Raw, similar to other light sources.
3: Provide goldsimple and limitsimple of the purerawdata.
For the selection of Golden simple and limit simple, please refer to FAQ11709.
The Gold simple reference above is named G-cwf__2592x1944_10_0.raw or Goldencwf__2592x1944_10_0.raw. The Limit simple module should be named Unitcwf__2592x1944_10_0.raw or U-cwf__2592x1944_10_0.raw. If the module has a burn OTP, please synchronize the notification when submitting the CR.
4: The above renamed RawData through the CR provided to your corresponding tuning Owner, do TSF calibration or provide to sensor FAE directly to our lab to do TSF calibration. Generates CAMERA_TSF_DATA.H and CAMERA_TSF_PARA.H components.
5: While providing purerawdata through CR, please synchronize with the CR to tell the Sensor is that one? What is the OB value currently used?
6: Refer to the following naming format according to the camera_info_xxxx.h file used by the corresponding sensor in the HAL directory
#define Include_filename_tsf_para "Camera_tsf_para_xxxx.h"
#define INCLUDE_FILENAME_TSF_DATA "Camera_tsf_data_xxxx.h"
ReName the camera_tsf_data.h and camera_tsf_para.h files into the corresponding TSF file for that sensor.
7: For Chip prior to 95, please confirm that the Camera_tuning_para_xxxx.cpp file has been imported with the following TSF files added below?
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; [The platform after/CODE]95 has been added by default to import the TSF-related file code block
[Code]const camera_tsf_tbl_struct camera_tsf_default_value =
{ {
1,//Istsfen
2,//TSFCTIDX
{rawbinput[8, -110, -110, 0}///////----------
},
#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: Turn on the TSF feature.
Platforms prior to MT6595 (e.g. MT6582, MT6592, etc.)
Modify a file
mediatek\custom\[$platform, $project]\hal\camera\camera\tsf_tuning_custom.c
isenabletsf function in PP, the return value is modified to mtrue. As follows:
Mbool isenabletsf (void)
{
return mtrue;
}
Platforms after MT6595 (e.g. MT6595, mt6752_mt6732, etc.)
Modify file Tuning file Camera_tuning_para_xxxx.cpp, change Istsfen to 1.
Const CAMERA_TSF_TBL_STRUCT Camera_tsf_default_value =
{ {
1,//Istsfen
2,//TSFCTIDX
{rawbinput[8, -110, -110, 0}///////----------
},
#include Include_filename_tsf_para
#include include_filename_tsf_data
};
After the integration parameters, confirm the parameters are not effective? Please refer to FAQ11142.
Different chip, TSF's advanced custom? Please refer to FAQ11301.
Slow problem analysis of camera loading
[FAQ15082] Slow problem analysis of camera loading
Slow problem analysis of camera loading
A boot load slow
Description: Booting into camera Factory mode is slow, or the boot load camera is slow
Under normal circumstances, search sensor will take a long time, probably more than 200 Ms Look, from Mainlog.boot.
You can check the search time by searching for the keyword: impsearch.
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]
When an exception occurs,
mainlog.boot can be searched for a long time, for example:
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]
Correspondence to the Kernellog.boot tends to print out
Line 14320:01-01 00:11:24.988 <3>[11.732933]<2> (0) [263:mediase
This information (TSF (improved color shading) function debugging and opening) reproduced in a cattle net
Materials need to download themselves, you can go to the forum to download
TSF (Improve color shading problem) function debugging and opening