Magic Lantern Firmware Wiki

[work in progress]

Topic: what are the best ISOs in Canon DSLR, in movie mode?

Many people believe that 160, 320, 640 and so on (the so-called native ISOs) are the best choice. Not everybody agrees though. So, let's break it down.

Reading through the 'net, I've noticed two theories:

Theory 1: Multiples of ISO 160 are native, and all others are digitally pushed. Advocates: [1]...

Theory 2: Multiples of 160 are digitally pulled by 1/3-stop (from 200, 400 etc), so they have 1/3-stop less dynamic range. Advocates: [2]...

My theory: the answer is somewhere in the middle.


Magic Lantern can alter the amount of digital ISO gain (either push or pull). In the image processing pipeline, this happens before the raw data above some preset level (let's call this white level) is clipped.

Push/pull? Digital gain? What's that?

Well... it's just darkening or brightening the image digitally. If you push by 1 EV, you brighten the image so that you get the same look (well, a bit noisier) as if you increase the exposure by 1 EV in the camera.

To do this, you need to:

  • either have access to raw data (and multiply raw data by 2 before developing it - for 1 EV);
  • or, in 8-bit space, know the response curve (and shift the image by 1 EV along that curve).

Some facts

  • ISO 160 has more highlight detail than ISO 200 (all other parameters being equal). Trivial to check. This invalidates theory #2.
  • ISO 160, ISO 200 and ISO 250 are identical in RAW. Proof: try it yourself with dcraw. This means that all of them are obtained by different digital processing of the same RAW data. In all 3 cases, the analog circuitry is configured at the same parameters. Some (or all) of these ISOs are either pushed or pulled digitally.
  • At all ISOs, white is 255. This might suggest that ISO 200 may be digitally pushed from 160. Not true, see below.
  • ISO 160x have a harsher highlight rolloff than ISO 100x. Proof: [response curve plots]. This is probably to mask the digital pull effect.
  • Canon's ISO 160 has less highlight details that ML's ISO 200 digitally pulled by 1/3 EV (more exactly, 3/8 EV). Midtones and highlights are identical. Proof: [comparison images].

Iso640 Canon.jpg Iso640 ML.jpg

What I believe

  • Full-stop ISOs are done by throwing away a small amount of useful highlight data. Proof: from first two facts.
  • The true ISOs is somewhere in-between 160x and 200x, close to DxOMark measurements. Proof: by pulling (with ML) from ISO 200 you get more details (fact 1), so true ISO is less than 200; by pulling 3/8 EV from ISO 200 (to get 160 equivalent), white may come out just a bit under 255 (easy to check with ML spotmeter), so true ISO is higher than 160.
  • Conclusion: ISO 200 is digitally pushed, and ISO 160 is digitally pulled.

Questions & Answers

OK, so, from all this mess, let's try to answer some questions.

Are ISO 160 multiples the best to use?

NO. They have harsh highlight rolloff and intentionally clipped details in highlights. I have no idea why.

Are ISO 100 multiples the best to use?

NO. While they do have smooth highlight rolloff, they are digitally pushed by a small amount (the exact value depends on picture style and other settings). What does this mean: a small amount of raw data, which actually has the best SNR possible, is simply thrown away.

Then, what is the best ISO?

To the best of my knowledge, the best ISOs are the ones available in recent Magic Lantern versions (April 2012 or later), obtained from ISO 100 multiples adjusted with a small amount of negative digital gain:

  • ISO 85, 175, 350, 700, 1400, 2800 - best for Neutral -4 and other low-contrast styles.
  • ISO 80, 160, 320, 640, 1250, 2500 - good for a wide range of situations.
  • ISO 70, 140, 280, 560, 1100, 2200 - best for high-contrast styles.

To enable them, set DIGIC ISO gain (in ISO submenu) at -0.2/-0.3/-0.5 EV and dial your ISO from ML menu or shortcut keys.

What should I use for high-contrast scenes? Should I try Highlight Tone Priority (HTP)?

YES. Strongly recommended for high-contrast scenes. Combine it with a slight negative DIGIC ISO gain.

Why? Because of its place in the image processing pipeline. HTP is applied before 8-bit conversion and picture styles. So, when Flaat12 can no longer get any more shadow detail, HTP does the trick.

Keep in mind that ISO 200 with HTP is actually ISO 100 with shadows and midtones lifted. In movie mode, it has 1 extra stop of dynamic range (if you expose to the right, you get 1 extra stop of shadow detail).

What about noise? Negative gain in ML will reduce it.

[proof: screenshot].

If HTP and negative gain are not enough, try HDR video.

200px|HDR video example

What about low-contrast scenes?

Low-contrast scene: a scene with a lot of unused "space" in the histogram. [histogram screenshot]

  1. Choose a high-contrast picture style.
  2. Expose to the right. This will maximize SNR => minimal noise.
  3. Center the histogram (or adjust the brightness as close to the final look as possible) with a strong negative digital ISO gain.

Is ISO 6400 digitally pushed?

YES. It's digitally pushed by 1 stop from ISO 3200. Guillermo Luijk arrived to the same conclusion.

But this does not mean you should not use it. The reason is the 8-bit codec. Same for higher ISOs.

Avoid it in photo mode.

How far ISO can go?

  • Recommended range: ISO 70-1400 (pulled from 100-1600).
  • If you don't care about highlights, or know how to recover them, try ISO 50 or 25.
  • For absolute darkness, you can select ISO up to 819200. No, it's not usable. Better try to lower FPS first (you can now go all the way down to 0.2 FPS).

Pink highlights: I've set DIGIC ISO gain at -1EV or lower, and now I'm getting strange colors. What's that?

You are getting something similar to the output of dcraw -H1. This is data above the white level, which is normally clipped by Canon JPEG engine. It may contain roughly 1 extra stop of correct luma data, but with incorrect colors. If you can guess the colors, or if your highlights are white, you have the recipe of roughly 1 extra stop of dynamic range (or less noise) in movie mode.

This happens due to the internal workings of white balance. WB is performed by multiplying the raw R, G and B channels with some constants. The values for Canon 350D, which are very close to the ones used in current Canon DSLRs, are [3]:

  • Default (D65 lamp): multipliers 2.395443 1.000000 1.253807
  • Tungsten: multipliers 1.392498 1.000000 2.375114
  • Daylight: multipliers 2.132483 1.000000 1.480864
  • Fluorescent: multipliers 1.783446 1.000000 1.997113
  • Shade: multipliers 2.531894 1.000000 1.223749
  • Flash: multipliers 2.429833 1.000000 1.284593
  • Cloudy: multipliers 2.336605 1.000000 1.334642

So, for white highlights, worst case of extra DR is 1 EV under Fluorescent lighting, and best case is 1.34 EV under Shade. Caveat: you need to know how to postprocess.

Note: ML digital ISO pulling happens before Canon clips the raw data to white.


Contrary to popular wisdom, Magic Lantern can improve image quality, not just offer visual tools for proper exposure.

My advice:

  • Use ISOs lower than 100 (not normally available in Canon firmware). These should be the cleanest.
  • Dial ISOs from ML menu/keys. ISO 160 from ML is better than ISO 160 from Canon controls.
  • Don't be afraid of higher iso (for night scenes) or Highlight Tone Priority (for high-contrast scenes).
  • To reduce noise, expose to the right and use negative digital ISO gain (pull).

Practical advice

How to set ISO in MOVIE mode

  • Golden rule 1. Do not underexpose.
  • Rule 2. Do not overexpose.
  • Rule 3. Use a little negative digital gain.

How to set ISO in PHOTO mode

  • Golden rule 1. Shoot RAW.
  • Rule 2. Use full-stop ISO, at most 1600.
  • Rule 3. Do not overexpose.
  • Rule 4. Do not underexpose.

Further reading