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.

olofen

...still setting my hope for the Canon Mk IV becoming the beast it really is set forth by the energy of Magic Lantern! 👍
(you just have to lure it out of its cave....)
EOS 5D Mark III 1.2.3
Mac OS High Sierra

Sapporo


extremelypoorfilmaker

Hello everyone!

I was browsing the web and I cam across this rather unusual bit of information.

On this link:

http://vfxcamdb.com/category/camera/canon/

Under the Canon 5D4 voice, they claim it can produce: 14-bit DNG (Magic Lantern RAW)

Do they know something we don't? :D As far as I know, magic lantern it's not coming to the 5D4 anytime soon

Walter Schulz

Welcome to "How to identify a less reliable web service (101)".

extremelypoorfilmaker

 :D

I hope it made somebody else smile apart for myself.

cheshirecat

Quote from: extremelypoorfilmaker on February 15, 2018, 01:56:01 PM
On this link:
http://vfxcamdb.com/category/camera/canon/
Under the Canon 5D4 voice, they claim it can produce: 14-bit DNG (Magic Lantern RAW)

Looking at that page I only see 14-bit DNG (Magic Lantern RAW) under the listing for the 5D3, not the 5D4

Walter Schulz


extremelypoorfilmaker

Quote from: cheshirecat on February 28, 2018, 07:03:35 PM
Looking at that page I only see 14-bit DNG (Magic Lantern RAW) under the listing for the 5D3, not the 5D4

I actually sent them an E-mail about it, and they changed it ^__^

Thanks walter for the webarchive

Deny

So how does one contribute to the 5D4 ML port? I own one and consider myself a reasonable hacker/programmer, regardless of programming language. Is there anyone who's taken the resposibility for the port and who can break down the necessary tasks and distribute them among old and new devs? I've read the topic and from what I've understood Digic 6 and Digic 6+ are pretty much uncharted territory, is there any info at all on how to get started on Thumb2? I own a linux box that I can use to run Capstone, will that work? More importantly, I'd really like a smaller, simpler task to get started if anyone is willing to take the time to give me one and point me into the right direction (meaning the necesssary resources to get the job done).

Now please don't bite my head off for this, but I really can't afford to brick my 5D4, I'm not rich and these things cost a lot more here than in the US, so chances are if I screw it up I won't be able to buy another one, ever. So tips for minimizing the risk of such a disaster happening to my camera would be greatly appreciated.

a1ex

Quote from: Deny on March 13, 2018, 04:36:08 AM
I've read the topic and from what I've understood Digic 6 and Digic 6+ are pretty much uncharted territory, is there any info at all on how to get started on Thumb2?

Is this not clear enough, or too hard to find?

(for some reason, it requires a few page reloads in Firefox, but loads out of the box in Chrome - bitbucket issue?)

Quote
More importantly, I'd really like a smaller, simpler task to get started

- re-read the thread
- read other DIGIC 6 threads
- read DIGIC 6 threads from CHDK
- find other posts on DIGIC 6, e.g. on the reverse engineering area
- find the latest post related to DIGIC 6 (hint: it was yesterday)
- find recent commits related to DIGIC 6
- find the previous work done for this camera (stubs, emulation, RE notes) and verify it
- run your firmware in QEMU
- pick something that doesn't work and try to fix it

Now the interesting (and difficult) ones (mostly valid for all other D6 models):
- port io_trace to ARMv7 (can be debugged in QEMU)
- port the 80D, 750D and 5Ds findings (boot process, serial flash dumper, boot flag enabler, LED blinker, etc) - mostly DONE
- fix the emulation so it can save files to the virtual card (likely easy, maybe time-consuming) DONE (september 10)
- try to understand the communication between the two cores (main and AE)
- find a way to jump to main firmware (depends on previous step) DONE (september 7)
- get debug logs and RAM dumps from the camera*) DONE (september 7)
- find out how the display works (best done by somebody who has a DIGIC 6 camera in their hands; look up 5DS experiments, posts from Ant123 and read the CHDK threads on this topic)

*) This requires the boot flag enabled, and the ability to jump to main firmware on real hardware (non-issues in the emulator); if you get it working in QEMU, I'll take care of these.

QuoteI really can't afford to brick my 5D4

At this stage, you can't. There's nothing that lets you run user code on the camera; currently, all the analysis is done in the emulator. The only code you can run right now on your camera is the ROM dumper (which does not modify it). If you want to run your own code on the physical camera, you will either need the boot flag enabled, or ask us to sign the binary for you.

The code that enables the boot flag is easy to adapt from 80D/750D/7D2/5DS (where it was confirmed to work), but given the unusual dual-core configuration and the price of the camera, it's a little more risky to try. I'd wait until the communication between the two cores will be understood (that is, until we'll be able to emulate the dual-core boot process in QEMU). I'm working on that, but not full-time.

Quote[...] break down the necessary tasks and distribute them among old and new devs?

There's no such thing here. Anyone (old or new) is free to work on anything they are interested in, whenever they feel like (there are no commitments; this is just a hobby project). There's plenty of low-hanging fruit, but it all starts with reading the previous work (on DIGIC 6 for this particular thread) and running it on your machine. The development tools should work on all major operating systems (with minor rough edges).

Search keyword: easy coding task

kwstas

Hi all, congrats to all developers and a1ex of course for the ML miracle.
I was just wondering by reading the mkIV specs if there is some short of possibility that dual pixel technology through ML turns to a true dual iso capability.
I know that we are far away for this specific-feuture discussion, but just out of curiosity.
Keep on porting guys!

a1ex

That depends on how the readout process works for the dual pixel image (whether the ISO can be reconfigured for each sub-image); I don't know much about it at this stage, except that on previous models, ISO is applied at the very end, during readout. There is a small spatial difference between the two sub-frames in out-of-focus areas, as discussed earlier in this thread, but probably not a show stopper.

sebasantos

Quote from: a1ex on May 20, 2018, 12:48:25 PM
That depends on how the readout process works for the dual pixel image (whether the ISO can be reconfigured for each sub-image); I don't know much about it at this stage, except that on previous models, ISO is applied at the very end, during readout. There is a small spatial difference between the two sub-frames in out-of-focus areas, as discussed earlier in this thread, but probably not a show stopper.

Maybe I am terrible wrong, but I think it is not necessary to implements dual iso in this camera. It's almost iso invariant, and the dual pixel raw technology gives you the 1 stop difference in one frame (well, is not one frame after you separate the dual pixel frame) that put this camera even slightly above the best DR cameras.

Blizen

Is the Canon 5d Mark iv portable to ML? I remember checking in back at 2017, any progress on this at the moment?
Thanks for all the work, cannot wait, want it so badly.


a1ex

Last night, chris_overseas sat down with me to run a couple of tests.

- jumping to Canon's main firmware finally works (this fixed it)
- loading ML alongside main firmware works, too (startup code nearly identical to 80D's)
- 80D logging experiments worked out of the box, too
- managed to get some LiveView RAW dumps, but they have many artifacts and appear to be resized (1824x774 in 1080p60, 2360x886 in 4K30, 1824x992 in photo mode)

Logs:
DEBUGMSG.LOG (plain startup + MPU messages)
DEBUGMSG_4K30.LOG (includes some ENGIO messages)
DEBUGMSG_1080p60.LOG (includes some ENGIO messages)

FPS timers:
4k30: A=0x5A3, B=0x482/483
1080p60: A=0x4B9, B=0x2B0/2B1
50MHz clock (5D2/3 have 24, 80D has 27, most APS-C D5 models have 32).

Source code: digic6-dumper branch (includes previous work from chris_overseas and cheshirecat).
Binaries: on request, firmware 1.0.4 for now (logging experiments, (V)RAM dumpers, simple intervalometer, you name it).

Easy coding task: update from 1.0.4 to 1.1.2. Most of my RE notes were for 1.0.4, so I've used that for now.

If anyone is willing to take the risk of enabling the boot flag, I can do that as well. There is a slight chance things might go wrong, but so far there were no issues on other DIGIC 6 models (tested 80D, 750D, 760D, 5DS and 7D2), and no volunteers tested the same code on DIGIC 7 yet.

Other volunteers welcome to run further tests on 1.0.4, as Chris already updated his firmware to 1.1.2. Just send me a PM.

goldenchild9to5


Levas

Quote from: a1ex on September 07, 2018, 09:31:08 AM
FPS timers:
4k30: A=0x5A3, B=0x482/483
1080p60: A=0x4B9, B=0x2B0/2B1
50MHz clock (5D2/3 have 24, 80D has 27, most APS-C D5 models have 32).

50Mhz   :D
That's what I want in my 6d  ;)

But looking at the values of A and B timers...
Looks like the 5d has multiple row readout for the B timer, B timer is half the value you would expect here, right ? Nice  :D
And A timer has also weird values, 5d3 has 8 column readout, 6d has 4 column readout, but not sure here, but it looks like 5dIV does 3 column readout in 4k and 2 column readout in 1080p for A timer ?

Not sure if my thinking is right, little late over here  ???

a1ex

Yes, it appears to read out 2 lines per timer B increment, just like the 80D.

As for timer A... this is exactly the reason I've asked for more testers on 1.0.4 - to run some more experiments to clear this mystery, and also to find out what's up with the resized raw. Two testers contacted me, but they were both running 1.1.2, and apparently downgrading is not straightforward: this camera has the same issue as 5D3 1.3.x...

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.


chris_overseas

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've started on this but my time is quite limited over the next week so it may take me a little while to get it done.
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

KelvinK

Sorry for spamming, but this is absolutely gorgeous news. Just canceled pre-order for BMPCC4K.
6D - 5D - NEX - M50!

myown

Don't hold your breath ;-)


I still have the FW 1.0.1 on my 5D IV -> this means i could perform some tests right?

a1ex


jackmoro


a1ex

As long as you can downgrade to 1.0.4, it helps. Otherwise, it doesn't. Unable to tell without trying.