1.高通最终的亮度是由luma决定。牵扯到ev算法的luma是如下的:
aec_process_apply_multi_luma_target: lux_adjusted_target(50.000000), hist_offset(0.000000), adrc_gains(1.000000, 1.000000), ec_offset(0.000000), EV_multiplier(4.000000), brightness_modifier(0.000000), target(200.000000
如上log,
最终的targe_luma = lux_adjusted_target* EV_multiplier,
2.EV_multiplier的值怎么来的。
先来看下效果参数中的修改
/* AEC EV Table */
{
5, /* Steps Per EV */ step是5
-3, /* Minimal Allowed EV Value */ 最小的ev
3, /* Maximum Allowed EV Value */ 最大的ev
/* EV Table */
{
0.250000f,0.27420624f,0.30075626f,0.32987698f,0.36181731f,0.39685026f, 0.43527528f, 0.4774208f, 0.52364706f, 0.57434918f,
0.62996052f, 0.69095644f, 0.75785828f, 0.8312379f , 0.91172249f,1.000000f, 1.09682498f, 1.20302504f, 1.31950791f, 1.44726924f,
1.58740105f, 1.74110113f, 1.90968321f, 2.09458825f, 2.29739671f,2.5198421f, 2.76382576f, 3.03143313f, 3.32495158f, 3.64688995f,
4.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f
},
/* Bracketing Table */
{
0.250000f,0.27420624f,0.30075626f,0.32987698f,0.36181731f,0.39685026f, 0.43527528f, 0.4774208f, 0.52364706f, 0.57434918f,
0.62996052f, 0.69095644f, 0.75785828f, 0.8312379f , 0.91172249f,1.000000f, 1.09682498f, 1.20302504f, 1.31950791f, 1.44726924f,
1.58740105f, 1.74110113f, 1.90968321f, 2.09458825f, 2.29739671f,2.5198421f, 2.76382576f, 3.03143313f, 3.32495158f, 3.64688995f,
4.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f,
0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f
},
},
从上面的步长,以及ev可以算出来需要的ev table的个数是31个,至于下面数组里面的值可以任性点的写
给apk上报的能力是在aec_module的里面配置的,里面的要和上面的匹配起来
3.那效果参数的值怎么转换成EV_multiplier呢?
EV_multiplier = 2^n
其中n就是table的数据