Auto Dissable ETTR outside M mode

Started by RenatoPhoto, September 29, 2013, 09:23:21 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

a1ex

1) I've tried it and it works.

2) Did you try to press record with ETTR enabled? I bet you didn't.

RenatoPhoto

I am very happy to be able to use and help with ML. 
I have done what I can to make it better and that makes me happy! 
A good clean discussion (like this one) I enjoy and is very constructive and makes me happy.
;D ;D ;D
I will keep looking at the code when time allows, and will share any findings.
Thanks for your insight and help.  Hope your new module moves forward.
http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

RenatoPhoto

Quote from: a1ex on October 06, 2013, 09:12:20 PM
1) I've tried it and it works.

2) Did you try to press record with ETTR enabled? I bet you didn't.
Thanks for your test.
Regarding issue 1)
In Tv mode, there are some situation that the ETTR will change the exposure and produce bad results.
I found a test where I get the same results showing the problem:
Set ETTR on with Always ON. Camera in Tv mode
Find a window with bright exposure outside and dark inside (daytime)
Aim the camera outside
Take a shot.  In this case my exposure is OK, and the second exposure is OK too.  Very little influence from ETTR.
Now simply aim at the inside part (darker) and still have some of the bright window in the frame (40% of the frame has the bright window).
First shot is a bit overexposed of the inside and outside is overexposed.  not too bad...
Second shot has the outside properly exposed but the inside is underexposed.  Without ETTR this shot would have the outside would be overexposed and the inside properly exposed. 
If you shoot again then the inside becomes properly exposed and the outside overexposed.
If you shoot again then the opposite.
Each time I get the message ETTR: next ISO 0 1/320 (was iso 0 320)
Sometimes it just stays in the underexposed shot even if I move the camera to aim only inside so there is no bright window in view.

Regarding the issue 2)
You are right.   Thanks, I did not press the record button because the exposure was fluctuating.  Once press it stops metering.
But...
But if you are in TV or AV then the video gets recorded with fluctuation in the ISO, so I am looking to disable ETTR in video mode when I am in Tv or AV mode.

http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

a1ex

1) yes, this is because Canon meter is center-weighted and ETTR is not.

2) Right, that was a bug, will fix. But once I'll move post deflicker to a PC tool, it will also work on raw videos, so ETTR will make sense for video too.

RenatoPhoto

1.  I am glad it is not just me making some stupid mistake.  ETTR and TV can produce bad results.

2. For now can it be set to stop changing ISO once the rec button is pressed in TV and AV modes?  Or is there an easy hack I can add or delete a line in my ETTR module to accomplish this?
http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

a1ex


RenatoPhoto

http://www.pululahuahostal.com  |  EF 300 f/4, EF 100-400 L, EF 180 L, EF-S 10-22, Samyang 14mm, Sigma 28mm EX DG, Sigma 8mm 1:3.5 EX DG, EF 50mm 1:1.8 II, EF 1.4X II, Kenko C-AF 2X

Audionut

Quote from: RenatoPhoto on October 06, 2013, 11:11:51 PM
1.  I am glad it is not just me making some stupid mistake.  ETTR and TV can produce bad results.

With the Canon exposure meter being center (focus point in evaluative) weighted, any slight changes to framing can cause the exposure settings to change (in Auto/Semi-Auto modes).
Move the frame (focus point in evaluative) to outside and the exposure calculation will apply more weight to that outside scene in it's exposure decision.  The same applies if you then move the frame/focus point to the inside, where the exposure will now have weight on the inside.

AETTR in semi-auto modes adjusts Exposure Compensation.

You must give AETTR enough time to settle on the correct settings.  If you expose for the outside where it's probably going to use +-0EC or maybe even a positive EC if enough of the outside is in the frame, when you move to the inside, this same positive EC value will overexpose the outside part of the frame (in your inside shot) by a large margin.
As we all should know with overexposure, AETTR does not know exactly how far the scene has been overexposed (1 stop, 3 stops, 14 stops, it doesn't know it only guesses, see lines 289-295*code box below), so it will probably take 2 or 3 tries before it gets it right.

            /* scene changed? measurements from previous shot not confirmed or vary too much?
             *
             * we'll use a heuristic: for 1% of blown out image, go back 1EV, for 100% go back 13EV */
            float overexposed = raw_hist_get_overexposure_percentage(GRAY_PROJECTION_AVERAGE_RGB | GRAY_PROJECTION_DARK_ONLY) / 100.0;
            //~ bmp_printf(FONT_MED, 0, 80, "overexposure area: %d/100%%\n", (int)(overexposed * 100));
            //~ bmp_printf(FONT_MED, 0, 120, "fail info: (%d %d %d %d) (%d %d %d)", raw_values[0], raw_values[1], raw_values[2], raw_values[3], (int)(diff_from_lower_percentiles[0] * 100), (int)(diff_from_lower_percentiles[1] * 100), (int)(diff_from_lower_percentiles[2] * 100));
            float corr = - log2f(1 + overexposed*overexposed);


Where AETTR has settled on the inside shot with the outside window in frame, there will now be a large negative EC value.  If you need to ask why this is the case, I suggest you read up on the Canon exposure modes and how EC effects exposure.

A large negative EC value is going to be incorrect on almost all scenes expect those with massive DR, and where you are exposing for the shadows and compensating for the highlights.

Move the frame back to the outside and Canon is going to meter for it, but, with the large negative EC value still applied it's going to take a shot for AETTR to realize.  The benefit being that it's going to be underexposed so it should only take AETTR one capture to settle itself.

In summary, AETTR+Av/TV works as expected.

Audionut

Observe these 3 shots in Av mode + AETTR.

ISO 100 - f/3.5 - 1/1600s - EC -2EV - Focus point center


Moving the focus point to the bottom right
ISO 100 - f/3.5 - 1/200s - EC -2EV


AETTR corrected
ISO 100 - f/3.5 - 1/1600s - EC -5EV


The second shot has blown highlights because the Canon meter is now metering (weighting) the shadows and this is the first shot with new exposure settings (changed by the Canon metering in semi-auto) so AETTR doesn't know that something has changed.

The first and last shots have the same end result exposure settings (highlight correct), with different EC setting.
The last shot required -5EV of Exposure Compensation because the Canon meter was metering (weighting) the shadows, and AETTR applied this -5EV of EC to a different set of base exposure settings (compared to the focus point center shot) based on those Canon meter readings.

Metadata has been saved with the above shots