madmeasureHDR Dynamic Optimizer V4.0.2
Hello there

New version of the tool in V4.0.2
Download:
http://projectiondream.com/download/madmeasurehdrdynamicoptimizer/
New:
1)
First the PRESET 3 now is using "0" for no compression limit by default also with the FALL algo.
Why? Because, I have now introduced the 0-100nits protection with the BT2390 Knee set at 100nits within the FALL algo. (first improvement)
This should please
@Manni01
What it also does is improve the dynamic target nits up to 150 target nits (second improvement).
Before:
- below the "no compression limit of 150nits", we were doing: Target Nits= Peak Nits
- above the " no compression limit of 150 nits", we were doing:
Code:
Target Nits(i)= Math.Min(2 * arrHL(i), dblMinTarget + Math.Max(1, 2 * dblTuning / 50) * arrSKYFALL(i))
which meant that any frame with a peak higher than 150 nits, had a target nits higher than 150 as well. If the FALL was high, then it would add up to those 150, and you would end up most of the time with a pretty higher target nits like ~200nits even if the peak itself was also only 200nits.
Anyway, now we only have Target= Peak Nits for any frames with a peak lower than 100nits.
For frames with a peak higher than 100nit, we calculate what the Bt2390 target nits needs to be to protect the 0-100nits from compression.
And we use the Min between 150 and the calculated BT2390TargetMin (target to protected 0-100nits) instead.
Also the FALL is not added if BT2390TargetMin=100nits but is fully added by the time BT2390TargetMin reaches 150 nits (which is for about 250 peak nits as can be seen in the table below). In between the additionnal FALL part is scaled.
And the new "FALL algo" formula becomes:
Code:
Target Nits (i)=
Math.Min(2 * arrHL(i), Math.Min(150, arrBT2390TargetMin(i)) +
Math.Min(1, ((Math.Max(100, arrBT2390TargetMin(i)) - 100) / (150 - 100)) ^ 2) * Math.Max(1, 2 * dblTuning / 50) * arrSKYFALL(i))
What it really does, is while protecting 0-100nits fully, it allows you to enjoy much lower target nits and a brighter picture for any frames with a peak smaller than ~350nits, with the major benefit being for any frames being below ~200nits compared to the old approach with a fixed offset of 150nits (no compression limit) and where we always added the FALL part of the equation.
As a reminder, here a table showing how high the target nits needs to be depending on the frame peak to protect the 0-100nits range from compression:
If anybody prefer to use the good old FALL algo, then he can choose 150nits instead of the 0 for the no compression limit.
But I like the new FALL algo with BT2390 100nits Knee calculation better (and this also helps
@SirMaster test scene)
2) A new Target nits experimental algo just for fun that we could call BT2390Knee Algo:
It's a hidden algo hidden in the FALL algo if you select a "No compression limit" value of 1.
What it does it set the target nits in such a way that the BT2390 Knee is equal to the current frame FALL (at least with 100% dynamic tuning).
It worked well in my testing.
3)
Improvement of the "Smart Max Speed" algo.
I looked at the issue with visible brightness change reported by
@SirMaster but also at some other movies where I had spotted such behaviour myself.
In turns ou that:
a) in all case, it was for low target nits changing between 50nits and 150+nits. The new FALL algo helps a lot in that matter.
b) the crossing point of the "rolling average" within each chapter was NOT using (in most cases) a 1min rolling average value but the FULL chapter average instead (but it should have...)
This meant that the crossing point value was not representative of the LOCAL situation.
I have changed the mechanism a now, at all crossing point, we should have the 1min rolling avg target nits instead (if reachable) as I wanted initially.
Combination of a) and b) solved
@SirMaster issues and the one I have looked at.
And as I said before, the "Chapter FALL merge" of 500% could be lowered and could be the value of the "Smart max Speed" of 5 (0,5%) if any other brightness change would be visible.
But let's wait for feedback before changing those.
Enjoy,
Flo
edit: I made the second part of the new FALL algo improvement which replaces 150 with the Knee only active for people with a real nits