Quote (EWAVR) Наверное, все-таки ISO=2^((Sv+168)/96) ? Да, скобки не проставил просто, дальше у меня вроди правильно всё. Quote (EWAVR) и Sv=log2(0.297*ISO), что полностью соотвествует Вашей первой формуле Да, формуле соответствует, коэффициент другой. В том и вопрос - оно соответствует формуле из Wiki, а Canon использует коэффициент 0.32 в рассчётах вместо 0.297 (там от нецелых чисел уйти можно - ISO=100*(2^(Sv/96))/32 ). Соответственно и значения в PropertyCase лежат преобразованные с помощью этого коэффициента. Попробую детальней проверить - в прошивках всех камер есть именованные функции CalculatePow2FromApex() и CalculateLog2ToApex(), сравню результаты с тем что считает CHDK. К примеру для A630, ISO80: PropertyCase(72) = 449 По моей формуле: ISO=100*2^(449/96)/32=100*2^4,6770833/32=79.9 Формула из CHDK: ISO=2^((449+168)/96)=2^(617/96)=86.048 Как бы не очень результат получается... Да и вообще как я посмотрел самому считать дело неблагодарное, особенно с soft fp Лучше вышеупомянутые функции из прошивки использовать - там всё к таблицам сведено и целочисленным операциям за редким исключением.
Сообщение отредактировал cppasm - Четверг, 18.03.10, 00:21 |