I don't know in what direction the development of the official version of the CHDK will go, and I wouldn't like to follow every little change too much. I had a problem with CHDK 1.5 on SX100, RAW won't switch with Alt + ERASE. I only have two SX100IS and SX10IS cameras and I don't know what will happen on the other models. Don't take it at least for now that I would like to include it in the official version. The design is quite complicated and it is quite difficult.
An alternate configuration system was implemented because I didn't want to mess with the current system for backwards compatibility. Generally, after installing the official version of CHDK, if you then just overwrite the binary files from the compiled fork, everything should continue to work, but based on the features of version 1.4.1 with additional features.
In Auto ETTR, i.e. in AutoISO2, as well as in waveform or false colors, I use YUV411 from the display buffer. I mean more about how the number of overexposed pixels translates into automatic compensation, i.e. -0.33EV, -0.67EV, -1.00EV, -1.33EV, -1.67EV and -2.00EV. The code snippet I mean. Visualization threshold settings and percentage of pixels in AutoISO2 settings are taken.
int calculate_ev_auto(int range, int threshold, int yover, int ev_bias)
{
if ((threshold < 3) || (yover == 0))
{
return 0;
}
int i, j;
int levels[4][2];
levels[0][0] = 0;
levels[0][1] = 0;
int partial_threshold = threshold / 3;
int partial_ev = yover % 4;
for (i = 1; i < 4; i++)
{
levels[i][0] = i * partial_threshold;
levels[i][1] = i + partial_ev;
}
if (range > levels[3][0])
{
return clip192((levels[3][1] << 5) + ev_bias);
}
for (j = 2; j >= 0; j--)
{
if ((range <= levels[j+1][0]) && (range > levels[j][0]))
{
return clip192((levels[j][1] << 5) + ev_bias);
}
}
return 0;
}
Too early for extensions to the official CHDK version, this is quite a complex matter. I would not like someone to have problems with the fact that the camera turns off due to my possible mistakes.