This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62A7: AWB issues with AM62

Part Number: AM62A7


Hi TI experts

At present, we are conducting AWB calibration on AM62A, but we have encountered a very interesting issue.

Before calibration, AWB worked normally, but when the AE target was high, the AWB effect was poor.

After calibration, AWB operates abnormally. Switching to manual AWB mode, even if the gain value is the same as before calibration, the results will not be the same.

Do you have any advice to solve this problem? 

                                                    Before calibration                                                                                          After calibration

The computer on the left is the real-time display images(AWB is not working).

best regards

qiang

  • Hi qiang,

    We are not aware of any similar issues.

    On am62a, we have tested AWB on IMX390 and IMX219.
    Both have AWB gains in ISP I suppose.

    What is your sensor/AWB set up?

    Before calibration, AWB worked normally, but when the AE target was high, the AWB effect was poor.

    Could you please explain in more deitais?

  • Hello, Gang Hua

    Due to the sensor not supporting pre-gain, we implemented AWB on the ISP.

    The following are the XML files before and after calibration:

                        before calibration         after calibration

                             

    <?xml version="1.0" encoding="utf-8"?>
    <AWB_DCC_XML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <!--this is comment-->
      <dcc_name>AWB_DCC_xml</dcc_name>
      <dcc_header>
        <camera_module_id>    5805</camera_module_id>
        <dcc_descriptor_id>  40</dcc_descriptor_id>
        <algorithm_vendor_id>   1</algorithm_vendor_id>
        <tunning_tool_version>       0</tunning_tool_version>
      </dcc_header>
      <!--=======================================================================-->
         <typedef>
    
    	     <dcc_awb_ref_gray_data_t type="struct">
    			<num_of_ref_1	type="uint8"> </num_of_ref_1>
    			<num_of_ref_2	type="uint8"> </num_of_ref_2>
    			<num_of_gray    type="uint8"> </num_of_gray>
    			<radius         type="uint16"> </radius>
    			<color_temp_1	type="uint16[]"> </color_temp_1>
    			<wbReferenceCb  type="int16[][4]"> </wbReferenceCb>
    			<wbReferenceCr  type="int16[][4]"> </wbReferenceCr>
    			<ref_gray_R_1	type="uint16[][4]"> </ref_gray_R_1>
    			<ref_gray_G_1	type="uint16[][4]"> </ref_gray_G_1>
    			<ref_gray_B_1	type="uint16[][4]"> </ref_gray_B_1>
    			<ref_index_2	type="uint8[]"> </ref_index_2>
    			<color_temp_2	type="uint16[]"> </color_temp_2>
    			<referencesCb_2 type="int16[][4]"> </referencesCb_2>
    			<referencesCr_2 type="int16[][4]"> </referencesCr_2>
    			<ref_gray_R_2	type="uint16[][4]"> </ref_gray_R_2>
    			<ref_gray_G_2	type="uint16[][4]"> </ref_gray_G_2>
    			<ref_gray_B_2	type="uint16[][4]"> </ref_gray_B_2>
            </dcc_awb_ref_gray_data_t>
    
            <dcc_awb_calc_data_t type="struct">
                <awb_basic_ref	            type="dcc_awb_ref_gray_data_t">	 </awb_basic_ref>
    			<img_ref    	            type="uint16[]">		 </img_ref>
                <luma_awb_min	            type="int32">				</luma_awb_min>
                <luma_awb_max	            type="int32">				</luma_awb_max>
    		    <low_color_temp_thresh	    type="uint16">				</low_color_temp_thresh>
                <apply_rgb_adjust	        type="uint8">				</apply_rgb_adjust>
                <R_adjust	                type="int16">				</R_adjust>
                <B_adjust	                type="int16">				</B_adjust>
                <SB_1	                    type="uint16">              </SB_1>
                <SB_2	                    type="uint16">				</SB_2>
                <SB_low_bound	            type="uint16">				</SB_low_bound>
                <default_T_H	            type="uint16">				</default_T_H>
                <default_T_MH               type="uint16">				</default_T_MH>
                <default_T_ML               type="uint16">				</default_T_ML>
                <default_T_L                type="uint16">				</default_T_L>
                <default_T_H_index          type="uint8">				</default_T_H_index>
                <default_T_MH_index         type="uint8">				</default_T_MH_index>
                <default_T_ML_index         type="uint8">				</default_T_ML_index>
                <default_T_L_index	        type="uint8">				</default_T_L_index>
                <best_gray_index_default    type="uint8">				</best_gray_index_default>
                <flash_ref	                type="dcc_awb_ref_gray_data_t[4]">	 </flash_ref>
    			<skin_img_ref    	        type="uint16[]">		 </skin_img_ref>
    		</dcc_awb_calc_data_t>
    
            <dcc_ti2_color_gain_scalers_t type="struct">
                <dgain  type="uint16">  </dgain>
                <gainGr type="uint16">  </gainGr>
                <gainR  type="uint16">  </gainR>
                <gainGb type="uint16">  </gainGb>
                <gainB  type="uint16">  </gainB>
            </dcc_ti2_color_gain_scalers_t>
    
            <dcc_awb_ti2_data_t type="struct">
                <wbModeData type="dcc_ti2_color_gain_scalers_t[]">      </wbModeData>
            </dcc_awb_ti2_data_t>
    
            <dcc_awb_supp2_alg3_t       type="struct">
                <use_calib              type="uint16">              </use_calib>
    			<blue_index             type="uint16">              </blue_index>
                <red_index              type="uint16">              </red_index>
                <green1_index           type="uint16">              </green1_index>
                <green2_index           type="uint16">              </green2_index>
                <enable_opt             type="uint8">               </enable_opt>
                <max_Cr                 type="int16">               </max_Cr>
                <max_Cb                 type="int16">               </max_Cb>
                <awb_speed              type="uint16">               </awb_speed>
                <awb_calc_data          type="dcc_awb_calc_data_t">     </awb_calc_data>
                <awb_data               type="dcc_awb_ti2_data_t">      </awb_data>
            </dcc_awb_supp2_alg3_t>
    
        </typedef>
      <!--=======================================================================-->
      <!--=======================================================================-->
        <system_parameters>
          <awb_alg_dcc_tuning type="dcc_awb_supp2_alg3_t" main="general">
    
     {
    	1,                                   /*use_calib*/
        3,                                   /*blue_index*/
        0,                                   /*red_index */
        1,                                   /* green1_index*/
        2,                                   /* green2_index*/
        1,                                   /* opt_data */
        200,                                   /* max_cr */
        200,                                   /* max_cb */
        6,                                   /* awb_speed */
    
        	{                           /* ti2_default_awb_calc_data */
    		{ //awb_ref
    			1,		// num_of_ref_1
    			1,		// num_of_ref_2
    			1,		// num_of_gray
    			50,		// radius
    
           // color_temp_1[num_of_ref_1]
             {3800},
    
    			   // wbReferenceCb[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0,},
       },
    
       // wbReferenceCr[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0,},
    
       },
    
       // ref_gray_R_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0,},
       },
    
       // ref_gray_G_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0,},
       },
    
       // ref_gray_B_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0,},
       },
    
       // ref_index_2[num_of_ref_2]
           {0},
    
       // color_temp_2[num_of_ref_2]
             {3800},
    
       // referencesCb_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0,},
       },
    
       // referencesCr_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0,},
       },
    
       // ref_gray_R_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0,},
       },
    
       // ref_gray_G_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0,},
       },
    
       // ref_gray_B_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0,},
       },
    
    	},
       // img_ref[NUM_OF_REF_2*1120]
       {
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
     	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
     	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
     	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
     	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
     	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
    	0,0,0,0,
      
       },
    
    		// AWB tuning parameters
    		5,	// luma_awb_min
    		250,	// luma_awb_max
    
    		3250,	// low_color_temp_thresh
    		0,	// apply_rgb_adjust
    		0,	// R_adjust()
    		0,	// B_adjust()
    
    		45,	// SB_1
    		55,	// SB_2
    		0,	    // SB_low_bound
    
    		3800,     // default_T_Hh
    		3800,     // default_T_MH
    		3800,     // default_T_ML
    		3800,     // default_T_L
    
    		0,		// default_T_Hh_index
    		0,		// default_T_MH_index
    		0,		// default_T_ML_index
    		0,		// default_T_L_index
    
    		1,     // best_gray_index_default
    
    
    		{ //started tuning for flash
    			{ //flash[0]
    			1,			// num_of_ref_1
    			1,			// num_of_ref_2
    			1,		// num_of_gray
    			50,		// radius
    
           // color_temp_1[num_of_ref_1]
             {3800},
    
    			   // wbReferenceCb[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // wbReferenceCr[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_R_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_G_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_B_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_index_2[num_of_ref_2]
       {0},
    
       // color_temp_2[num_of_ref_2]
       {3800},
    
       // referencesCb_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // referencesCr_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_R_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_G_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_B_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       },
    			{ //flash[1]
    			1,			// num_of_ref_1
    			1,			// num_of_ref_2
    			1,		// num_of_gray
    			50,		// radius
    
           // color_temp_1[num_of_ref_1]
             {3800},
    
    			   // wbReferenceCb[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // wbReferenceCr[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_R_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_G_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_B_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_index_2[num_of_ref_2]
       {0},
    
       // color_temp_2[num_of_ref_2]
       {3800},
    
    
       // referencesCb_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // referencesCr_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_R_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_G_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_B_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       },
    			{ //flash[2]
    			1,			// num_of_ref_1
    			1,			// num_of_ref_2
    			1,		// num_of_gray
    			50,		// radius
    
           // color_temp_1[num_of_ref_1]
             {3800},
    
    			   // wbReferenceCb[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // wbReferenceCr[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_R_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_G_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_B_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_index_2[num_of_ref_2]
       {0},
    
       // color_temp_2[num_of_ref_2]
       {3800},
    
       // referencesCb_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // referencesCr_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_R_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_G_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_B_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       },
    			{ //flash[3]
    			1,			// num_of_ref_1
    			1,			// num_of_ref_2
    			1,		// num_of_gray
    			50,		// radius
    
           // color_temp_1[num_of_ref_1]
             {3800},
    
    			   // wbReferenceCb[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // wbReferenceCr[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_R_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_G_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_B_1[num_of_ref_1][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_index_2[num_of_ref_2]
       {0},
    
       // color_temp_2[num_of_ref_2]
       {3800},
    
       // referencesCb_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // referencesCr_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_R_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_G_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       // ref_gray_B_2[num_of_ref_2][num_of_gray]
       {
           {0,0,0,0},
       },
    
       },
    		},//end of tuning data for flsh
    		{
    
    // skin histogram:
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    0, 0, 0, 0,
    
    		},//end of skin histogram data
    
    	}, //end of awb_calc_data
    
    
    	{
    		//User modes dcc_ti2_color_gain_scalers_t[]
    NULL,
    	},
    }
         </awb_alg_dcc_tuning>
      </system_parameters>
    
      <!--=====================================================================-->
    </AWB_DCC_XML>
    
                         asamplesensor_awb_alg_ti3_tuning.xml

    Could you please take a look at which configurations may have caused the problem.

  • Hi, Gang, 

    The sensor we use is OX05B RGB-Ir sensor, the AWB calibriation steps are as follows:

    1) bring up the camera in RGB mode, and change AWB to manual mode;

    2) save raw images of 24-color chart under different color temperature light;

    3) using DCC tool's PCID plugin to process the raw images to RGGB pattern;

    4) use the proccessed raw images to do AWB calibriation;

    5) export xml files of AWB plugin and PCID plugin;

    6) generate bin files from xmls;

    7) replace the bin files, and use gstreamer to capture streams.

    After the above steps, we found the AWB result is poor, so we switch to manual mode to enter proper WB gains, but it results in greenish image output. (the proper WB gains work fine with the bin file before AWB calibriation)

    Best regards, 

    Jianxiong Hua

  • Hi Jianxiong,

    Your calibration process looks correct to me and the xml file is good in most places.
    However, it seems that you have specified a 0.7 gamma value in tuning tool while doing AWB calibration.

    Is your X5B output image 10-bit linear?
    In that case, you shall set the gamma value to 1.0 (100) in tuning tool.