Canon 5D Mark IV

Started by SiSS, August 11, 2016, 11:11:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Almost got a plain 1080p30 DNG (man, this camera is really stubborn):

1080p.DNG (valid data in the top half only)

Vertical resolution (including black bars) should have been 1288. Active area: 2256 x 1266 (vertical size might differ a bit).
Now to figure out how to get valid data in the second half (i.e. where the EDMAC transfer starts and how to change its size...)

FIR to get raw data for the above: LVRV25D4.FIR. To be tested in other video modes, too.

Happy pixel peeping.


WOW.. @a1ex amazing work.  Now time to get a 5D4  8) so I can help. 


Output is read from sensore width or cropped?


Congrats a1ex once again!
I would like to ask you what do you think will be the benefit from this dual pixel technology to ML implementations. As far as I know except double raw file size which maybe means something like bigger buffer sizes (=faster bursts?), what it offers is this almost useless parallax effect for micro focus adjustment. Do you think there will potentially be other benefits like higher dynamic range, or resolving alias issues? DPRsplit app guys claim that they extract two cr2 and because subpixels capture half the light (!) this initial bracketing offers 1EV gain in DR. Do you think that is feasible?

again, thanks for the extra perspective you give to canon products.


Answered this one 2 years ago (page 4 on this thread) and also linked to it a few posts above.

The EDMAC transfers appear to be forwarded to a secondary CPU (Omar, the counterpart of Eeko on D5). That's probably where image size has to be adjusted to get a full Bayer dump from LiveView.

In other words... back to the drawing board.


Quote from: goldenchild9to5 on September 14, 2018, 12:49:26 AM
WOW.. @a1ex amazing work.  Now time to get a 5D4  8) so I can help.

Indeed. I would like to help as well. Having this on the 5DIV would extend the benefits of magic lantern for a long time.


I've ported some of the 5D4 stubs from 1.0.4 to 1.1.2 but I won't have a chance to look at it further for another week or so. If anyone wants to carry on in the meantime my changes are here:
EOS R5 1.1.0 | Canon 16-35mm f4.0L | Tamron SP 24-70mm f/2.8 Di VC USD G2 | Canon 70-200mm f2.8L IS II | Canon 100-400mm f4.5-5.6L II | Canon 800mm f5.6L | Canon 100mm f2.8L macro | Sigma 14mm f/1.8 DG HSM Art | Yongnuo YN600EX-RT II


Hello, I'm new here, I'm very excited I hope you can develop a dump of raw video data directly with USB 3.0 to an SSD 530 mb / s to break the limits of the 5d mark III and be able to record more economically than the cfast and a lot of speed until you can get to dualrawvideo 7k.
Thank you.


Trying to interpret a bunch of logs from myown, kichetof and chris_overseas, covering LiveView configuration in all view modes. WIP, some logs were incomplete. Take with a grain of salt; interpretation is subject to change.

Open the image in new window, ideally on a large monitor.

Preliminary conclusions:
- rolling shutter in 1080p: 2.42 us for every 2 lines; 15.3 ms per frame, assuming 1266 lines (in all 1080p modes)
   -> please cross-check with measurements from other sources and let me know if it's within the ballpark or not
- 1080p60 apparently pushed to limit...


nice job! thank you a1ex !


Wow!!! A1ex awesome  :o :o :o This is the best thing I've seen today. I can see Magic Lantern working on 5D MKIV soon


I wouldn't be so optimistic. There is a very easy coding tutorial following task posted one month ago, but other 5D4 users don't seem to be very enthusiastic about helping.

Quote from: a1ex on September 07, 2018, 09:31:08 AM
Easy coding task: update from 1.0.4 to 1.1.2.

Quote from: a1ex on September 10, 2018, 09:48:46 PM
So... it looks like we need to update all our stubs to 1.1.2 - who's going to help? I've started by updating the emulation - it goes as far as the 80D, including file I/O on the virtual SD card.

I'm not interested in porting ML alone; I'm just exploring stuff in my spare time, hoping to motivate others to jump in. Same for all other recent models.


Hi A1ex,

I believe I have the original firmware on my 5d4 (never updated). I am not sure if what I am reading is that we need to update our firmware to test? What do you need from us to help out? I'm fairly new to this other than a basic load ML version on my prior camera (5d mkii), so I might need a little guidance, but I'm willing to help out.


Testing is already well covered; I'm interested in finding other 5D4 users who can help with coding and reverse engineering.

Guidance can be found by... clicking on the links.

Quote from: Audionut on July 31, 2018, 05:17:18 AM
Read, read, read.  When you're tired of reading, have a break, then read some more.


I'm not a programmer and know nothing about programming but this is definitely a big achievement. I downloaded the DNG file and the upper half looks amazing and it's only a matter of time before Magic Lantern starts working on the 5D MKIV

Walter Schulz

Quote from: Wintel on October 10, 2018, 10:29:52 AMand it's only a matter of time before Magic Lantern starts working on the 5D MKIV

Again: No, it's not. ML code doesn't grow on trees.

Or you are talking about "matter of time" in a very extended time frame. Sun entering red giant phase, proton decay and such things.
Given enough time it is not excluded to find ML code growing on a tree. Only trouble: Finding that one.



Quote from: a1ex on October 09, 2018, 12:53:17 PM
hoping to motivate others to jump in.

People seem to underestimate this.  Every contribution to the project, helps.  No matter how large or small that contribution is.

Quote from: Walter Schulz on October 10, 2018, 10:42:41 AM
proton decay

Nail > head.
QuoteThere is currently no experimental evidence that proton decay occurs.


Updated the graph from #358 with:

- readout resolution, guessed from 0xD0006800/6804 (very likely wrong in 4K)
- 1080p30: confirmed previous guesswork (new log from myown)
- 720p120: apparently running at 60 FPS during standby (need to capture some logs while recording);
                  vertical resolution is lower, horizontal is the same as in 1080p; not sure how many of these pixels are active

The easy coding task of updating to 1.1.2 is still delegated to you, the 5D4 users. It's pretty much just pattern matching; you may even use a robot if you prefer. Can be debugged in QEMU.

Edit October 17:

- 4K resolution (same for all frame rates):
  - 4260x2212 (full readout, including black bars; multipliers H:3 V:2)
  - 4104x2166 (active area; vertical size may be different)

- 720p120:
  - vertically squeezed by 3/5, just like all other EOS models
  - 728 valid lines in the half-DNG, unlike 612 in 1080p (why?!)

- Photo mode configuration:
  - timer B: 2278 (from VSizeSetting Time and InitializeHead)
  - timer A: 3778 or 2194 or 1746 from InitializeHead:
     - 3778: LiveView configured at 1724x4548; guessed multipliers H:4 V:1; guessed readout size: 6896x4548; CR2 full size from dcraw: 6880x4544; 5.8 FPS?
     - 2194: LiveView configured at 1724x2273; guessed multipliers H:4 V:2; guessed readout size: 6896x4546; 10.0 FPS?
     - 1746: same as with 2194; 12.57 FPS?! 380 Mp/s?! [take with a grain of salt; not confirmed experimentally]

D0006008:  ec10ec1   8910891   6d106d1   8910891
D000600C:  ec10ec1   8910891   6d106d1   8910891
D0006010:      ec1       891       6d1       891
D0006014:      8e4       8e4       8e4       8e4
D0006800:    30002     10002     20002     20002
D0006804: 11c706be   8e206be   8e306be   8e306be

Speculation about video modes not yet covered by logs (x5 and 720p120), from LvHeadControl:

               x5?       4K      1080p    720p120    720p60
D0006008:   6e706e7   5a305a3   4b904b9   3830383   4b904b9
D000600C:   6e706e7   5a305a3   4b904b9   3830383   4b904b9
D0006010:       6e7       5a3       4b9       383       4b9
D0006800:     10002     10002     20002     20002     20002
D0006804:   2ec06d6   453058e   2860472   18a0242   1ce0472
Readout: 3496x1494? 4260x2212 2272x1288 2304x784?! 2272x920

D0007888:  3000113   3000128   3000139   300015c    3000139
D000788C:  60004ed   60004d8   60004c7   60004a4    60004c7
D0007890:  9000713   9000728   9000739   900075c    9000739
D0007894:      aed       ad8       ac7       aa4        ac7
D0007898:      1b4       162       11b        8f        11b

Timer B is variable, not configured in LvHeadControl, that's why it wasn't included.

See the related 80D notes for some more background info.

Some more half-DNGs (dumps from kichetof, made with LVRV25D4.FIR):

- 1080p25.DNG (same at all frame rates, including 60p)
- 720p60.DNG (vertical squeeze 3/5, 120 FPS in Canon menu, but captured during standby; in this case, LiveView runs at 60 FPS)
- 4K30.DNG (same at all frame rates)

DNG size is slightly different from readout size; the above raw data was not from the earliest stage in the image processing pipeline.


Updated LiveView chart with 720p120 and x5 modes, thanks kichetof and myown. Still missing logs 4K25 and 720p100, but no surprises expected in these modes (see 1080p25 vs others).

Also got some DNGs from 720p120 and x5. The former appears to be dual pixel, the latter appears to be regular, although both of them were saved with the same code (i.e. requesting regular raw data).

- 720p120-daf.DNG (mystery: why DAF?)
- x5.DNG  (active width: 3174)

Updated dual pixel notes: 5D4-lv-daf-raw.html (15MB)

To confirm the numbers from the above chart, I've got a test for you: let's measure the rolling shutter. You don't need any custom firmware, or any particular firmware version; you just need a flickering light with stable frequency, ideally between 100 and 500 Hz. An Arduino board with a LED will do the trick; blinking code available in the linked thread. This test will give a rough approximation of how far the resolution and frame rate can be pushed. The figures from EOS R, some of them matching the above chart, were encouraging.


i want to take part on this, where can i get the source code? (im not that good with coding but im good at learn something)


You guys are doing amazing work. I'm sure you don't hear the praises as much as you do the complaints and demands, so I just want to say that you've helped make my shooting better for years and I can't express how much I appreciate it. I do hope you come out with ML for the Mark IV, the 5Ds being sort of the flagship quality video DSLRs for so long now. I wish Canon would look at what you guys are doing, take note, and include some of these features in their DSLRs from the start. They could easily be the front-runners in all the DSLR video head-to-heads, but they seem to drop the ball every time. I would be happy with just custom frame overlays, focus assist, and auto restarting. If there were some way to add h.264 to the 4K shooting, that would be awesome, but I'm not expecting it.

Does the ML team have a Go Fund Me or some other donation option? I'd like to give some money towards the Mark IV development.

Thanks again for all your hard work!

Walter Schulz


What about a Magic Lantern development patreon?


What you are doing is truly remarkable, a1ex.

I am a 60D Magic lantern user, and now it's time to upgrade to full frame.
Would you advise me, please. Since I am focusing on video.
Should I buy the M-IV and wait for Magic lantern, buy M-III, move to Mirrorless or wait for the next big thing?

Do you know if the C-log upgrade for Mark IV will make it a different version than the regular one?