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.

TDA4VM: Color correction 没有正确调用参数

Part Number: TDA4VM

Tool/software:

我根据色温划分了五个区间:

0-2200,

2201-3000,

3001-4000,

4001-6500,

6500-20000。

然后在单独更改TL84色温时,发现修改3001-4000k的参数效果没有发生改变,只有修改0-2200区间的参数才会有变化,随后又在各种色温下都尝试了,发现所有色温场景都只调用region0,class0 0-2200k的参数,其他参数不生效,请帮忙排查一下是什么原因导致的

  • <?xml version="1.0" encoding="utf-8"?>
    <cfg_rgb2rgb_xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    	<!--this is comment-->
    	<dcc_name>cfg_rgb2rgb</dcc_name>
    	<dcc_header>
    		<camera_module_id>    316 </camera_module_id>
    		<dcc_descriptor_id>   10 </dcc_descriptor_id>
    		<algorithm_vendor_id>  1 </algorithm_vendor_id>
    		<tunning_tool_version> 0 </tunning_tool_version>
    	</dcc_header>
    	<!--=======================================================================-->
    	<typedef>
    		<cfg_rgb2rgb type="struct">
    			<!-- [RR] [GR] [BR] [CR]
    			     [RG] [GG] [BG] [CG]
    			     [RB] [GB] [BB] [CB] -->
    			<!-- Blending + Chroma values (S12Q8 format) -->
    			<ccm type="int16[3][4]"> </ccm> <!-- ipipe rgb2rgb matrix: S12Q8 -->
    			<!-- [OR] [OG] [OB] -->
    			<!-- Blending offset value for R,G,B - (S13) -->
    			<offset type="int16[3]"> </offset> <!-- ipipe rgb2rgb1 offset: S13 -->
    		</cfg_rgb2rgb>
    	</typedef>
    	<!--=======================================================================-->
    	
    	<use_case val="1023">
    		<n-space>
    		
    			<region0 class="0">
    				<colortemperature val="2" min="0" max="2200">  </colortemperature>
    				<exposure val="1" min="0" max="10000000">  </exposure>
    				<gain val="0" min="0" max="1024">  </gain>
    			</region0>
    		
    			<region1 class="1">
    				<colortemperature val="2" min="2201" max="3000">  </colortemperature>
    				<exposure val="1" min="0" max="10000000">  </exposure>
    				<gain val="0" min="0" max="1024">  </gain>
    			</region1>
    		
    			<region2 class="2">
    				<colortemperature val="2" min="3001" max="4000">  </colortemperature>
    				<exposure val="1" min="0" max="10000000">  </exposure>
    				<gain val="0" min="0" max="1024">  </gain>
    			</region2>
    		
    			<region3 class="3">
    				<colortemperature val="2" min="4001" max="6500">  </colortemperature>
    				<exposure val="1" min="0" max="10000000">  </exposure>
    				<gain val="0" min="0" max="1024">  </gain>
    			</region3>
    		
    			<region4 class="4">
    				<colortemperature val="2" min="6501" max="20000">  </colortemperature>
    				<exposure val="1" min="0" max="10000000">  </exposure>
    				<gain val="0" min="0" max="1024">  </gain>
    			</region4>
    		
    		</n-space>
    	
    		<parameter_package>
    			<rgb2rgb type="cfg_rgb2rgb">
    			{
    				{
    					{256, 0, 0, 0},
    					{0, 256, 0, 0},
    					{0, 0, 256, 0}
    				},
    				{0, 0, 0}
    			}
    			</rgb2rgb>
    		</parameter_package>
    		
    		<parameter_package>
    			<rgb2rgb type="cfg_rgb2rgb">
    			{
    				{
    					{374, -223, 105, 0},
    					{-186, 432, 10, 0},
    					{-14, -551, 821, 0}
    				},
    				{0, 0, 0}
    			}
    			</rgb2rgb>
    		</parameter_package>
    		
    		<parameter_package>
    			<rgb2rgb type="cfg_rgb2rgb">
    			{
    				{
    					{333, -150, 73, 0},
    					{-80, 301, 35, 0},
    					{-9, -173, 438, 0}
    				},
    				{0, 0, 0}
    			}
    			</rgb2rgb>
    		</parameter_package>
    		
    		<parameter_package>
    			<rgb2rgb type="cfg_rgb2rgb">
    			{
    				{
    					{364, -183, 75, 0},
    					{-89, 292, 53, 0},
    					{-16, -150, 422, 0}
    				},
    				{0, 0, 0}
    			}
    			</rgb2rgb>
    		</parameter_package>
    		
    		<parameter_package>
    			<rgb2rgb type="cfg_rgb2rgb">
    			{
    				{
    					{362, -170, 64, 0},
    					{-43, 302, -3, 0},
    					{3, -136, 389, 0}
    				},
    				{0, 0, 0}
    			}
    			</rgb2rgb>
    		</parameter_package>
    		  
    	
    	</use_case>
    	<!--=====================================================================-->
    </cfg_rgb2rgb_xml> 
    
    这是校准生成的XML

  • Hi,

    Can you please post the question in English? 

    Regards,

    Brijesh

  • I divided the range into five sections based on the color temperature:
    0 - 2200
    2201 - 3000
    3001 - 4000
    4001 - 6500
    6500 - 20000.
    Then, when changing the TL84 color temperature scene separately, it was found that the effect of modifying the parameters within the range of 3001-4000k did not change. Only modifying the parameters within the range of 0-2200 would result in a change. Subsequently, various color temperatures were tested again, and it was discovered that all color temperature scenes only called the parameters of region 0, class 0, and 0-2200k. Other parameters were not effective. Please help investigate what caused this issue.

  • Hi,

    I have reassigned this thread to our ISP expert. 

    Regards,

    Brijesh

  • Hi qiuming,

    when changing the TL84 color temperature scene separately, it was found that the effect of modifying the parameters within the range of 3001-4000k did not change.

    Could you please check what happened around this piece of code in the link below?

    https://git.ti.com/cgit/processor-sdk/imaging/tree/kernels/hwa/vpac_viss/vx_vpac_viss_target_dcc.c?h=main#n808

    If you get correct color temperature as input, CCM should be interpolated in the function below.

    https://git.ti.com/cgit/processor-sdk/imaging/tree/algos/dcc/src/parse_data.c?h=main#n1205

  • BTW, which TDA4x SDK and version are you using?

  • Could you please check what happened around this piece of code in the link below?

    https://git.ti.com/cgit/processor-sdk/imaging/tree/kernels/hwa/vpac_viss/vx_vpac_viss_target_dcc.c?h=main#n808

    This piece of code is exactly the same as the one you showed.

    I couldn't find the file named "parse_data.c".

  • The SDK I am using is ti-processor-sdk-rtos-j721e-evm-08_04_00_06.

  • Hi quiming,

    This piece of code is exactly the same as the one you showed.

    You would need to check what happened at run-time in that area.

  • The SDK I am using is ti-processor-sdk-rtos-j721e-evm-08_04_00_06.

    This is unfortunately a very old SDK version.

    DCC code is probably not included in that SDK version.
    It is not clear to me if you would be able to port current DCC code back to SDK 8.4.

  • I'm unable to transfer the existing code to version 8.4.

  • I'm unable to transfer the existing code to version 8.4.

    That is expected since both dcc and tivox kernel are updated after 8.4.