Canon 5D Mark IV

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

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Dmytro_ua

Quote from: nodymoha on December 01, 2018, 04:35:52 AM
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?

If you want to start using ML now - buy 5d3.
If you can wait for some uncertain time (maybe a year or never) - then eos R is better choice, than 5d4 in my opinion.
5d3 1.2.3 | Canon 16-35 4.0L | Canon 50 1.4 | Canon 100mm 2.8 macro
Ronin-S | Feelworld F6 PLUS

zerocool22

I know you guys request time instead of money. But could it help if we start a fundraiser to hire extra coders? Not sure what profile is needed for this and if they need a 5D IV body in order to work efficiently. Not sure if you are a freelancer Alex? Or any of the other coders that helped in the past. I know there are no promises or if it is possible. But maybe we could just hire you guys so guys could also work on this during daytime. Again not sure how much money we are talking here. But I guess we could get a decent amount togheter worldwide.


Walter Schulz

Do the math:
Porting ML for a new cam takes several hundred hours. (Estimated)
Then it needs to be maintained. Long term = years to come. New builds have to be tested. New firmware has to be ported, again. Some lesser time consumed by this but still work to do.

You may find a developer with
- experience in C and assembler for embedded devices (preferable ARM architecture)
- willing to do reverse engineering without that much support tools (no documentation or support by manufacturer, besides QEMU no emulator available, ...)
- and willing to put hundreds of hours work into it and able to maintain it.

There is a problem measuring the effort, though. You don't want to pay for hours but for results, i suppose. Easy for something you can see as a single product (=final build), not that easy for ML with its rolling release model (kind of) and more difficult to put a price tag on maintaining it.


I'm not going to discuss if dropping out from your bread&butter job is a good idea or not.

BTW: a1ex asked for 5D4 owners to take a risk doing some testing. Response was underwhelming:
Quote from: a1ex on November 28, 2018, 08:16:22 PM
5D4... no volunteer yet willing to assume this risk.


myown

Naaa at least one is trying to perform some test :)
But also testing needs some time...looking forward for the sensor readout speed with a Arduino and LED.

I hope i can perform the tests this weekend ;)


zerocool22

No dropping out of your bread and butter job is not a good idea. Not sure if Alex is a freelancer. So after his current gig ends we could hire him, to work on it though. (if hes a freelancer, I dont know). If 450 people invest 20$, you already got 9000$.

If you need more 5D IV testers, let me know, then I can try to gather some more users on other forums.

domasa

Add Magic Lantern to Kickstarter or something else?

Target: buy other Canon camera for testing.

Walter Schulz

Remarks:
We had forum based fundings in the past without involving crowdfunding sites. No rewards offered of course.
There were requests for specific items by devs.

You may want to consider if the services you may want to offer do have a "customer".

zerocool22

A1ex do you own a 5D IV? If not would it help if we buy one for you (as used prices are really cheap nowadays)?

Dmytro_ua

Quote from: zerocool22 on December 05, 2018, 11:19:46 AM
A1ex do you own a 5D IV? If not would it help if we buy one for you (as used prices are really cheap nowadays)?

Isn't it more interesting to invest in developing ML for EOS R? It is mostly the same as 5d4, but with more interesting photo and video features, like: eye tracking, rotated screen, separate video and photo settings, new processor, focus peaking, etc. And due to a new RF mount (fully backward compatible with EF) - more future proof modern camera..
5d3 1.2.3 | Canon 16-35 4.0L | Canon 50 1.4 | Canon 100mm 2.8 macro
Ronin-S | Feelworld F6 PLUS

zerocool22

Quote from: Dmytro_ua on December 05, 2018, 12:45:39 PM
Isn't it more interesting to invest in developing ML for EOS R? It is mostly the same as 5d4, but with more interesting photo and video features, like: eye tracking, rotated screen, separate video and photo settings, new processor, focus peaking, etc. And due to a new RF mount (fully backward compatible with EF) - more future proof modern camera..
No, the dynamic range of the 5D IV is better. Which is for me the most important aspect to upgrade my 5D III (and 60FPS full hd RAW would be great as well). Most users of magic lantern, dont use autofocus anyway. They use it for more filmic stituations like commercials or shortfilms,  where you have time to create your shots and not your everyday event shooting type gigs.

a1ex

Quote from: zerocool22 on December 05, 2018, 11:19:46 AM
A1ex do you own a 5D IV? If not would it help if we buy one for you (as used prices are really cheap nowadays)?

I don't, my latest camera is the 5D3.

However, as mentioned here and in other threads, my main issue is not lack of hardware. I can barely find time to actually take pictures, and I have plenty of unfinished work with the equipment I've already got. Given this, a camera upgrade doesn't make much sense for me, even if it comes for free, sorry. It would be yet another "brick" to take care of.

Quote from: zerocool22 on December 05, 2018, 08:33:37 AM
If you need more 5D IV testers, let me know, then I can try to gather some more users on other forums.

I'm not exactly looking for "more" of them; there are already at least 3 very good ones, who were active lately. The bottleneck is on my side (i.e. providing test code for them to run, and interpreting the results). That's where enabling the boot flag can - in theory - help: it would allow others to start experimenting with the code and sharing findings on their own. That would be the biggest time saver.

Why "in theory"? Any of you can already start experimenting with the code, just not on real hardware. Yes, it does require time and knowledge. I've tried to share the latter, but can't help much with the former.

Quote from: dfort on December 16, 2017, 07:56:17 PM
You mean this?

./run_canon_fw.sh 5D4,firmware=boot=1
...
[EOS] loading './5D4/ROM1.BIN' to 0xFC000000-0xFDFFFFFF
[MPU] FIXME: no MPU spells for 5D4.
[MPU] FIXME: no MPU button codes for 5D4.
Start address: 0xFC000008
Setting BOOTDISK flag to FFFFFFFF
...
BootLoad
CF Detect High
SLOT_A LOAD OK.
Open file for read : AUTOEXEC.BIN
File size : 0xCAA0
Now jump to AUTOEXEC.BIN!!
...


Ta Da!



This particular test (enabling the boot flag) is a little more risky than all the others, because it will modify the ROM. So far all other models were OK (including 5DS, 7D2, 80D, 750D, 760D and also a 200D tested privately), but obviously that's not a guarantee. Of course, if anything goes wrong, I'll do my best to recover it, but that's not a guarantee either.

It would be unreasonable to force this test on somebody not prepared to take this risk, so I'm just waiting for a volunteer to come up. Whether that would happen today or in 5 years, for me it's the same. I've got plenty of other stuff to explore, either way.

Quote from: Dmytro_ua on December 05, 2018, 12:45:39 PM
Isn't it more interesting to invest in developing ML for EOS R?

Look over here.

I'm investigating all these new models, with the goal of providing a starting point for other developers. So far, this goal was completed for 80D, but it doesn't look like they are making good use of it (unfortunately). I'm almost there with 5D4 (boot flag is the only thing missing), 200D/800D/77D/6D2 & M50 (all scheduled for holidays), and 7D2/5DS (need to sit down and debug them). The 750D/760D already have FIR files for enabling the boot flag, only some stubs missing to reach the same stage as 80D; these are straightforward, so they were intentionally left as an exercise for other users/developers. EOS R has to wait.

I'm not talking about a full ML port; I'm only considering a proof of concept that would allow anyone with basic coding skills to get started. For example, 80D owners are already able to hardcode an intervalometer like this:

for (int i = 0; i < 10; i++)
{
     call("Release");
     msleep(10000);
}


And, as you could see in the previous posts, saving raw Bayer data from LiveView is also straightforward.

Parrott65

Just a general question from someone who has never used "RAW" before....If you are able to get the 5DM4 to ultimately shoot 4K in RAW, does that mean it will be able to be recorded onto an external recorder or only on the CF and SD cards? As you know, it currently won't let you record 4K onto an external recorder. So, I was wondering if this would change that.

rinski

Hello, I think that the 5d4 is the successor of the 5d3 and it would be a pity if the firmware it deserves was not developed, with a simultaneous recording distributed as a minimum cf + sd of 130 mb / s 3.8k of 10 or 12 bits of recording continues, and dumped to ssd with output 3.0 to 500 mb / s for the dual rawvideo 7k which is much more economical than the sdxc II and cfast 2.0.

cboillot

Hi all,

Well, I'm new on this forum and I first want to thank you a lot for all the wonderful job you're doing. ML is...Magic.
I'm currently owning a 6D but will upgrade to a 5D soon, mark iii or iv.
Just wondering about your thoughts on the mark iv. There is obvisouly more Dynamic range comparing to the mark iii but apart from this, what can justify this very costly update ? As there is no CF Fast, we will still be very limited for 4K (and higher) record.
Or am I missing something ?

KelvinK

Quote from: cboillot on December 09, 2018, 07:47:49 PM
Hi all,

Well, I'm new on this forum and I first want to thank you a lot for all the wonderful job you're doing. ML is...Magic.
I'm currently owning a 6D but will upgrade to a 5D soon, mark iii or iv.
Just wondering about your thoughts on the mark iv. There is obvisouly more Dynamic range comparing to the mark iii but apart from this, what can justify this very costly update ? As there is no CF Fast, we will still be very limited for 4K (and higher) record.
Or am I missing something ?

Depends on what are you going to do. There's no ML for IV atm, so you can shot with it as is. III has ML so you can shot in RAW and get that DR. If you don't need AF in video, III with ML RAW has much better image quality. But for future obviously, IV with ML RAW will knockout any camera with $6000 and lower.
6D - 5D - NEX - M50!

rinski

In 2013 there was some attempt of magic latern to record in a ssd mercury owc with a cf card when the 5d3, only had port of usb 2.0, the direct recording like for example of an ssd t5 samsung of 530 mb / s could be interned with the usb 3.0 output?

zerocool22

Quote from: a1ex on December 05, 2018, 01:46:48 PM
This particular test (enabling the boot flag) is a little more risky than all the others, because it will modify the ROM. So far all other models were OK (including 5DS, 7D2, 80D, 750D, 760D and also a 200D tested privately), but obviously that's not a guarantee. Of course, if anything goes wrong, I'll do my best to recover it, but that's not a guarantee either.
Ok greats lets get this going.  How can I perform this test? Exactly? What dump should I download? Install it on a CF/SD card, plug it in a 5D IV, boot it? And thats it? Or are there some extra steps?

Thanks a lot!

a1ex

If you click the quoted link, you'll see some details about this process, including how to try and review it in QEMU. To try it on the camera, I need to prepare a custom FIR; this being a somewhat risky process, I'm not going to make it available for everyone without testing.

This step will let you compile current ML code from source and run it as "autoexec.bin", rather than FIR. Expect outcomes similar to previous FIRs, i.e. the proof of concept code (e.g. logging, saving the raw data necessary for DNG frames in LiveView, possibly taking still pictures and so on).

One thing I forgot to mention: I'm only prepared to run this test on firmware 1.0.4. For latest version, the following task is still open:

Quote from: a1ex on October 09, 2018, 12:53:17 PM
There is a very easy coding tutorial following task [...]

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

Maybe some of you can find some time to look into it during the holidays, as I've got plenty of other stuff to catch up with.

zerocool22

Quote from: a1ex on December 11, 2018, 04:44:15 PM
If you click the quoted link, you'll see some details about this process, including how to try and review it in QEMU. To try it on the camera, I need to prepare a custom FIR; this being a somewhat risky process, I'm not going to make it available for everyone without testing.

This step will let you compile current ML code from source and run it as "autoexec.bin", rather than FIR. Expect outcomes similar to previous FIRs, i.e. the proof of concept code (e.g. logging, saving the raw data necessary for DNG frames in LiveView, possibly taking still pictures and so on).

One thing I forgot to mention: I'm only prepared to run this test on firmware 1.0.4. For latest version, the following task is still open:


Maybe some of you can find some time to look into it during the holidays, as I've got plenty of other stuff to catch up with.

Yeah I dont have acces to QEMU. But I am trying to find a 5D IV with 1.0.4 on it where I can run this test on.

a1ex


rinski

Blackmagic raw códec free , option, 112 mb/s + 79 mb /s CF+sd ?

Walter Schulz

Features that are NOT possible - please don't request them
QuoteCustom codecs
Codecs are not implemented on the general-purpose ARM processor. We can only use what Canon has already included in hardware (H.264, JPEG, LJ92) and fine-tuned their parameters (such as the H.264 bit rate).

The lossless compression used for raw video is the same "codec" Canon uses for CR2. The same processing path (codenamed JPCORE) might be able to handle (M)JPEG. However, we cannot implement additional codecs (such as H.265, JPEG2000 or ProRes). Even if these might be able to run on Canon's image processing hardware, we simply don't know where to start.

a1ex

Quote from: a1ex on November 28, 2018, 08:16:22 PM
5D4... no volunteer yet willing to assume this risk.

Quote from: wadehome on December 30, 2018, 10:06:44 AM
I don't have time to scrub through 500 forums to get the answer right now, but I shoot 5Div and M50, have crazy good insurance, and NEED less crop, less rolling shutter, focus peaking, and every MagicLantern godsend. I can take the risk. Gimme this responsibility pls.

Quote from: a1ex on December 30, 2018, 11:09:53 AM
OK, I'll bite. Do you happen to also run firmware 1.0.4 on the 5D4? Otherwise it may take a little longer.

=>



8)




Enabling the boot flag

Please find the FIR to enable the boot flag on the 5D Mark IV:

BOOTF5D4.FIR (works on any*) firmware version; source code).

This will modify your camera.

*) The boot flag enabling procedure is firmware-agnostic (it runs from bootloader, so it's compatible with any Canon firmware version). However, what you can do afterwards may be affected by Canon firmware version; read on.

To disable the boot flag: see these notes.


Warranty

If it breaks, you get to keep both pieces. Sorry.


What to do with it?

After enabling the boot flag on your camera, you may run:

a) with any firmware version:

- the portable display test (copy autoexec.bin and make your card bootable - EosCard/MacBoot/make_bootable.sh)
- the portable ROM dumper (you must format the card to a very small size, or dd this 256MB image - howto - solved!)
- anything compiled from the recovery branch, platform/portable.000 (it runs from bootloader context); check Makefile.user.default for options.

b) with firmware 1.0.4 only:

(if in doubt, upgrade to this one, as there are some different flavors of 1.0.4 out there)

- the digic6-dumper branch (see minimal-d6.c for initial experiments, including code for saving LiveView RAW dumps)

- example code to get started - a simple intervalometer (not tested, previous attempts did not work on this model, but worked on 80D, 200D, M50 etc):

    /* this goes into dump_task in minimal-d6.c (digic6-dumper branch) */
    for (int i = 0; i < 10; i++)
    {
        call("Release");
        msleep(10000);
    }


- simple FPS override (not tested):

    msleep(10000);   /* expecting user to start the camera in LiveView */
    MEM(0xD0006008) = 0x0FFF0FFF;   /* Timer A: default: 0x4b904b9 in 1080p, 0x5a305a3 in 4K */
    /* resulting frame rate, e.g. for 1080p25: 25 * (0x4B9+1) / (0xFFF+1) = 7.385 FPS */
    /* also try higher values, such as 0x1FFF1FFF, 0x2FFF2FFF etc, or do the math for desired frame rate */
    /* you might also have to change 0xd000600c (default 0x4b904b9 in 1080p) and 0xd0006010 (default 0x4b9 in 1080p) */


TODO

- [extremely easy] find out whether photo capture works (this didn't work from FIR; just try the intervalometer sample code)
- [extremely easy] play around with FPS and resolution overriding registers; document what works and what not
- [easy, important] update the codebase to 1.1.2 (easy coding tutorial following task, still open, can be debugged in QEMU)
- [easy] log various things in Canon firmware (such as photo capture, entering LiveView); the digic6-dumper branch has logging enabled by default.
- [moderate, important] figure out how to print things on the screen (look up 5DS experiments, posts from Ant123 and read the CHDK threads on this topic)
- [moderate?] fix the emulator to run these things properly
- [moderate?] port io_trace to ARMv7 (can be debugged in QEMU)
- [moderate] try to understand the communication between the two cores (main and AE)
- [hard] understand the Omar secondary core (it appears to handle the image capture pipeline)

Happy New Year!

goldenchild9to5

WOW.. @a1ex closing the year strong  :)  Happy New Years Team Magic Lantern. 

wadehome

If someone can put together the code for the intervalometer and the FPS override, I can test it out on my 5Div!