Canon EOS R5 / R6

Started by SiSS, February 15, 2020, 01:53:06 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

NoHinAmhherst

oh man, that sucks. Is it because it requires a completely new build and it's a challenge or is there no demand for one?

Walter Schulz


NoHinAmhherst

Will it be prioritized for r5?

Also, I'd like to thank you for helping so many on these forums over the years. You immediately answered my questions back in April 2019 and got me hooked on Magic Lantern in the first place!

Walter Schulz

Quote from: NoHinAmhherst on August 10, 2021, 05:15:20 PM
Will it be prioritized for r5?

Wrong concept. ML project has no timeline, no project plan, no schedule. If someone has time and skills and a camera to work on it is completely up to this person.

NoHinAmhherst

So there is no effort to do it for those cameras so I should never expect it -- no forum about the effort or place to collaborate or get updates. But maybe it will happen on any timeline imaginable if someone with the skills and interest takes it on. Got it.

Levas

Happen to have a R5 here and I noticed something which I haven't seen mentioned anywhere else around.

When recording in raw(internal 12 bit), selecting the Canon Log3 option does have influence on your raw data.
Side to side comparison in DaVinci Resolve, canon log 3 activated, and canon log settings to off, shows that activating Canon Log 3 means that the camera is actually recording at an ISO value of 3 stops lower.

Please test yourself.
Record something in 8K raw at iso 800 and with canon log 3 activated. (use fixed value for shutter time and aperture)
Now record the same in 8K raw at iso 100 without canon log 3 activated. (with same aperture and shutter speed ofcourse )

Now load both files in DaVinci resolve, go to the raw tab in color mode, and set both to:
Decode quality -> Full res - Canon
Decode using -> clip
Colorspace -> canon cinema gamut
Gamma -> canon log2
iso -> 800 (both files to 800 to match iso 100 recording to iso 800 recording)

Now look at the parade waveform, it's identical, max highlight data, noise in the shadows etc.

Now when recording in raw, and having canon log 3 activated, the lowest iso you can choose is iso 800, which makes senses, because in the background, it actually records 3 stops lower in iso 100, to save the highlights.
Also, when comparing footage recorded in iso 12800 with log 3, it's the same as normal non log raw at iso 1600. Same highlights, same shadows, same noise.

So when recording in raw, maybe better to not have canon log settings activated  :P
All of the above applies for internal raw recording.

Levas

The above means, that in canon log 3, shadow data is pushed in post by three stops.
This is a lot and is the reason for shadow noise in log footage.

For non raw recording, and also for the R6:
If you're recording a low dynamic range scene (8 stops or lower), it could mean that you might be better of with exposing to the right and not use canon log 3.
This way, you could have cleaner shadows I guess (not sure, not tested it  :P)

IDA_ML

Quote from: Levas on January 29, 2022, 03:56:35 PM
The above means, that in canon log 3, shadow data is pushed in post by three stops.
This is a lot and is the reason for shadow noise in log footage.

For non raw recording, and also for the R6:
If you're recording a low dynamic range scene (8 stops or lower), it could mean that you might be better of with exposing to the right and not use canon log 3.
This way, you could have cleaner shadows I guess (not sure, not tested it  :P)

Thanks a lot, Levas, for this important experiment.  I was kind of suspecting that Log 3 in R5 and R6 works as you described but never had the opportunity to get hold of one of these cameras to test.  I am glad you did it.  Now it may turn out that the good old 5D3 with its Dual ISO and carefully exposing to the right may provide cleaner shadows results than the R5/R6 with the Log 3 profile.  I have been playing around a lot with the high-resolution anamorphic modes on the 5D3 and the 700D and got very clean shadows results on both of them.  This is also confirmed with the latest results by 70MM13 who gets extremely clean footage in dark high-contrast scenes with his 5D3 even without Dual ISO.  As a bonus, we also get this organic and naturally looking RAW footage provided by ML. 

I was wondering if you made any comparative experiments with your 6D vs. R5/R6.  No wonder if we get to see some interesting surprises here.

Levas

Quote from: IDA_ML on February 01, 2022, 07:56:06 AM
I was wondering if you made any comparative experiments with your 6D vs. R5/R6.  No wonder if we get to see some interesting surprises here.

Not yet, want to do some tests outside, but the weather is not that inspiring last few weeks   :P (clouds/wind/rain)

I'm very curious about comparing the 6d in dual iso mode (for photos), the R5 has more dynamic range at iso 100, but 6d has dual iso.
And maybe some other things to compare, ML raw 14 bit video on 6d vs canon 12 bit video on R5.


NoHinAmhherst


kitor



That took countless hours spent in qemu.

And then 60 hours extra debugging on physical camera why it crashes.

Turns out that new bootloader (introduced around I think 850D) erases whole destination buffer if autoexec.bin is loaded.
It just happens that before that, the same RAM regions are initialized for coprocessors like EF comm (SHIRAHAMA) and EIS (KUSATSU).
And DryOS was very unhappy if booted in that state, crashing immediately in different places.

So far - R5 has total 5GB of DDR4 RAM - 2x 512MB and 2x 2GB.
How this is mapped - it is unknown. smemShowFix is gone. Looks like whole old Resource Manager is gone and replaced with RscMgr2.
Drawing routines also had to be adjusted, as while interface still seems to be 720x480, buffer is 2048x1080 (it was 960x540 in the past).
I saw some differences in FIO routines.

Bootloader says it has 1 gig of RAM. My theory so far is that 2x512MB are used by main ARM core and 2x2GB by peripherals - and those are memory mapped into ICU where needed (as there's about 1GB of address space left).

Very rough and unpolished code is on my branch: https://github.com/kitor/magiclantern_simplified/tree/R5
Too many Canon cameras.
If you have a dead R, RP, 250D mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

names_are_hard

Good work!

To clarify, there is a memory region that on some cams, Canon code zeros out if autoexec.bin is selected to run.  On R5, some parts of that region hold data that must be involved with early device setup for peripherals / co-processors.  During a normal boot, the zeroing doesn't happen and everything is okay.  Presumably, when Canon does whatever tests they run using *their* autoexec.bin, they don't try to transfer control back to the cam to finish the normal boot, so everything is okay.  It's only when autoexec.bin gets used, *and* you transfer control back to Canon, that the conflict triggers problems; presumably something is reading the zeros and needs real data instead.

Slightly earlier cams zeroed a region but it was small enough it didn't conflict.  Or, at least, not as badly.  We need to fully confirm this by checking code in other Digic 6, 7, 8 cams.  Perhaps we're lucky and kitor has found the cause of some problems on those cams, too.

Levas

Quote from: kitor on April 12, 2022, 10:22:29 PM


Great, can't wait to have raw video on this camera  ;D

(Sorry for the stupid joke, had to make it  :P)

Curious if the R5/R6 still have the CMOS registers used for controlling iso.
Want to know which is the highest CMOS iso and from which point it's only amplified gain.
From tests I guess it's either iso 1600 or 3200 which is highest sensor iso.

And ofcourse if dual iso still exist, two separate iso settings.


kitor

Quote from: Levas on April 13, 2022, 08:32:00 PM
Great, can't wait to have raw video on this camera  ;D

To be honest I was sad I got it after April 1, as it would make a great headline for April Fools.

As for CMOS registers I'm not sure if we even still have those on D78.
We are still in "too early" stages , trying to solve instability issues on much basic level (eg. Digic 8 random crashes related to LiveView, probably due to how we draw ML interface).

For sure script to detect timings can't get anything from EOS R. A ton of things is getting offloaded into secondary cores.
If will be nice to have anyone of the "old guild" with deeper hardware understanding to have a look at D6/7/8 models (even if this means poking around ROMs and not real hardware). Unfortunately Alex is gone for almost a year now.
Too many Canon cameras.
If you have a dead R, RP, 250D mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

nothuman1

Is it possible to transfer firmware from upper models or hack/activate at least only raw-video in R6?
they all have the same processor and memory-card support with R5/R3, and this is only a software limitation ...
I don't need the super abilities of cameras above R6, but I need RAW-video..

+ R6's is lower MP, making pixel size bigger and do it less noisy for video.
I dream that RAW video becomes possible on R6...
How many chance to it we have now in % ?

Walter Schulz

Quote from: nothuman1 on April 14, 2022, 01:24:53 PM
Is it possible to transfer firmware from upper models or hack/activate at least only raw-video in R6?


https://wiki.magiclantern.fm/faq#troll_questions

kitor

Angry Walter, that's an achievement!

QuoteIs it possible to transfer firmware from upper models or hack/activate at least only raw-video in R6?

Yes? No? Maybe? Even if, it will be illegal and bring whole project into a legal trouble, so feel free to experiment on your own. You won't get any definitive answer or help here.
Too many Canon cameras.
If you have a dead R, RP, 250D mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

Levas

Quote from: kitor on April 14, 2022, 08:59:19 AM
will be nice to have anyone of the "old guild" with deeper hardware understanding to have a look at D6/7/8 models (even if this means poking around ROMs and not real hardware). Unfortunately Alex is gone for almost a year now.

Always amazed me how far magic lantern has come with digic 5.
With the whole raw video development.
This whole thing about A timer, B timer, shutterblanking, capturing the raw stream and write it to sd.

I wonder how somebody can figure such things out, with reversed engineering. Alex must have broad knowledge about digital image capture.

What kind of people become good at reversed engineering, must be some work related thing. Or are there people out there who figure this out as hobby?
There must be some basic knowledge about firmware and product development I guess.

@Kitor, how did you learn how to get 'hello world' on various cameras?
Has the knowledge you need for that overlap with your work ?

kitor

Quote@Kitor, how did you learn how to get 'hello world' on various cameras?
Has the knowledge you need for that overlap with your work ?

It just happened that I was at the right time in the right place (Discord) just when the digic6+ task context struct got finally cracked.

No, my actual work background is devops-ish, I work as continuous integration/delivery engineer (and now architect). In fact, before I joined the efforts I had about 8 years gap since the last time I touched C/C++.
One of my hobbies is old computers (I have quite a big collection) and I watched a lot of videos about 8 bit computer internals or how each generation of consoles was hacked. I guess I had the general idea of what is going on, so it was easier to jump in.

Digic 6 - 8 bootloaders (except latest iterations on 850D, R5/R6) are very similar. This is mostly just stubs hunting, and for hello world you don't need that much of them.

R5/R6 was a little harder. 850D already had "the new/improved" stage 1 bootloader, but due to a different memory layout @Names had no issues there.
Even with that, the Digic 6 - X boot code implementation is common with just some minor differences in stubs/constants required on per generation basis.

When @Lorenzo got his R6, I took that as an opportunity to dig a bit more into QEMU (well, that took a few days of work), so we had "working" builds there. But those were not booting on real hardware. Thus it was known that there has be a catch. That is what ended up into around 60 hours of debugging on real hardware - my R5 so far crashed more times that it made photos ;)
Too many Canon cameras.
If you have a dead R, RP, 250D mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

Levas

Interesting, so most of the knowledge is based around hobby and not that much career/work related.

Grew up with the commodore 64 and amiga 500. But all we did back then was playing games   :P
No programming. Although later on I did a lot in microsoft quickbasic as a hobby. Even made a working tetris game in quickbasic.

With photography as a hobby( and Canon shooter) I found out about the Magic Lantern site in the 5d2 area. Read a lot on the forum. Later on when crop recording was introduced by alex I could help by changing the values in the already written crop_rec module.
Just changing numbers in the code and test it on camera, that's about as far as my programming knowledge goes  :P

Would be cool to dive some more into this, but not sure what knowledge would be most helpfull.
Maybe setup a working qemu build or better understanding about the Magic lantern source code  ???

names_are_hard

It is not too hard to learn, if you have some programming background.  We can answer a lot of questions on Discord (it's easier there because it's faster).  C is the primary language.

I've done some work to make building ML and building Qemu considerably easier.

anDyIII

Hi guys, I'm back.
after many years of shooting any kind of project with MLV on myy 5DIII, I added to my set other brends cameras and now I added the the R5.

I see you guys are altready working on this model. You're awesome!

Since this camera is already quite complete out of the box (IMO), I think a lighter and non invasive version of ML would suite this camera perfectly, with just the most needed features in favour of stability.

If I'd have to suggest something to help, my priorities would be:
- 30 mins recording time limit removal (maybe only on lower resolutions or via HDMI to preserve the camera from overheatng?)
- Canon Raw recording through USB port for USB SSDs (Jus a routing from CFexpress to USb or even a dual recording). I know this camera has a USB 3.2 Gen 2 (10 GBit/sec) and Canon states the minimum CFexpress specs, even for 8K raw, are CFexpress 1.0 [400MB/sec. or higher] so on paper the USB controller could handle it.
- A way to record 4K 120fps in raw, even for a limited time. I think this could not be done with the same raw format from Canon, right?

In case you need it I'm available for testing.


Thanks.
5D Mark III
www.facebook.com/groups/magiclanternitalia/
www.andreacasanova.eu

kitor

I don't want to shatter your dreams, but forget about it.

I can agree that it is mostly complete out of the box. From the list you provided, maybe 30 minutes limit can be removed the same way as on previous generations.
Other things - unlikely to happen.

Please bear in mind that Digic X is another generation of unknown hardware - but this time capable of doing raw natively. And as I stated before, a fundamental part of OS (Resource Manager) got completely replaced, which will break a lot of things. Not to mention that RAW is R5/R3 domain only - we don't touch R3 and as of R5 goes I am the only dev here with R5. And with a lot less time to invest lately due to "away from keyboard" stuff :)

Quote- Canon Raw recording through USB port for USB SSDs (Jus a routing from CFexpress to USb or even a dual recording).
Impossible. CFExpress is just DMA over PCI Express, USB - even if camera had USB host functionality (and to my knowledge it doesn't) handling overhead and lack of implementation would be most likely too much to achieve it without a significant effort - if possible at all.

From the glimpses of new File I/O I saw - it seems that file I/O is hardware accelerated now (probably DMA using what is called IBus - Image Bus?).

Yes, I know Magic Lantern is famous for crossing items out of "troll questions" list, but if comparing against "well supported" generations, Digic 6 and newer models are in "early 2011" state of things, or worse.
Too many Canon cameras.
If you have a dead R, RP, 250D mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.

kitor


https://twitter.com/_kitor/status/1533767862531268608

WIP PR open: https://github.com/reticulatedpines/magiclantern_simplified/pull/62

This already has some challenges to be solved. At this state none of the features work (ok, I lied, it can display connected lens info :) )
Too many Canon cameras.
If you have a dead R, RP, 250D mainboard (e.g. after camera repair) and want to donate for experiments, I'll cover shipping costs.