1.默认的tuning参数类型
高通3A及ISP pipeline模块中默认的tuning参数类型分为两种:int(整数型)和float(浮点型)。其中float类型一般情况为小数点后6位,如图:
int类型准确的说是“UInt”。"Uint" 通常指的是 "unsigned integer",即无符号整数。在计算机科学和编程中,整数可以分为有符号整数(signed integer)和无符号整数(unsigned integer)。有符号整数可以表示正数、负数和零,而无符号整数只能表示非负数(包括零)。
无符号整数(Uint)在内存中以二进制形式存储,并且没有符号位来表示正负。它们通常用于表示不需要负数的情况,例如计数器、索引、位操作等。无符号整数的取值范围比有符号整数大,因为它不需要一个位来表示符号。如图:
以上这两种数据类型可以满足99%的项目及场景参数的调优需求。
2.更改默认参数类型
特殊情况,当int类型不能满足数据调优的需求时,需要对tuning参数类型做修改。
例如,高通ISP的gamma模块默认的参数类型是int,现在需要引入一条特定的gamma曲线,这条曲线经过定制和换算,需要float类型保证精度。如果直接导入,chromatix调试工具会报错导致加载出错,并且加载显示的依然是int参数。
Gamma默认参数类型
导入浮点型参数工具报错,需要将gamma模块的数据类型从“int”改成“float”。
3.修改方法
C7工具加载的tuning xml文件的数据类型是在chi的\api\chromatix\XSD\isp\ 中定义的,如果想加载修改类型后的数据,要先将XSD中的定义修改,定义与导入的参数类型前后匹配。
找到对应的gamma.xsd文件:
将数据类型改成“float”,因为引入的新gamma曲线超过了1023,所以将range也做了修改。
修改后保存文件,重新加载工程,可以正常打开,查看数据,数据type和range已经修改成功。
4.总结:
① tuning参数默认的type和range 99%的情况下不需要修改;
② 特殊情况,需要充分的评估和验证再考虑修改,必要时寻求CE的支持。