Canon 80D

Started by ariznaf, June 02, 2016, 09:27:03 AM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

davicorn

Hi! What is the state of this?

I am a engineer and would love to help bring MagicLantern to the 80D. How can I help? :)

a1ex

Boots in QEMU, but not on the actual camera (caching issues). Details on reply #40.

Greg

80D File I/O stubs :

NSTUB(0xFE482A00 + 1, FIO_CloseFile)           // Thumb
NSTUB(0xFE4834CC + 1, FIO_FindClose)           // Thumb
NSTUB(0xFE48344A + 1, FIO_FindNextEx)          // Thumb
NSTUB(0xFE482880 + 1, FIO_ReadFile)            // Thumb
NSTUB(0xFE4828F0 + 1, FIO_SeekSkipFile)        // Thumb
NSTUB(0xFE482992 + 1, FIO_WriteFile)           // Thumb
NSTUB(0xFE482FEE + 1, _FIO_CreateDirectory)    // Thumb
NSTUB(0xFE4827AA + 1, _FIO_CreateFile)         // Thumb
NSTUB(0xFE4833B6 + 1, _FIO_FindFirstEx)        // Thumb
NSTUB(0xFE482AEC + 1, _FIO_GetFileSize)        // Thumb
NSTUB(0xFE482734 + 1, _FIO_Open)               // Thumb
NSTUB(0xFE482814 + 1, _FIO_RemoveFile)         // Thumb

Marsu42

Quote from: eduperez on September 01, 2016, 02:53:18 PM
If you are thinking about buying a new camera and you positively need ML, do not buy one not supported now with hopes that it will be supported in the future; it may never be supported, and you will be stuck to an unsupported camera.

... or something in between. As ML mostly relies on fw hooks or accessible variables, and there's no telling what Canon cooked up again, it's not certain what ML features will work or won't work ever. Combining the expanded dynamic range of the 80d with dual_iso would be a dream and beat Sonikon, but notice the "but".

So if you need something specific even a general "Look at qemu, ML will run on camera xyz sooner or later" announcement isn't enough to go ahead and purchase it.

a1ex

Quote from: Marsu42 on October 04, 2016, 12:06:47 PM
Combining the expanded dynamic range of the 80d with dual_iso would be a dream and beat Sonikon, but notice the "but".

Even if dual iso will work (which we don't know yet), the gain will be small, probably about 0.5 stops at 100/1600. From DxO data, I expect the 80D sensor at ISO 100 to be nearly as good as the 70D at say 100/800, without the resolution loss.

Quote from: Marsu42 on October 04, 2016, 12:06:47 PM
it's not certain what ML features will work or won't work ever

That's very true.

The 80D hardware is promising (1GB RAM, faster card speeds), the firmware looks more or less familiar (the usual strings are present), but there's no way to tell what exactly will work, what will never work, and what will work only with significant research effort.

In any case, the 80D is most likely to say Hello World*) first, for the following reasons:
- I know how to start Canon firmware (same for 750D/760D, but this step doesn't work on 7D2/5D4)
- good testers available (with programming skills, likely to become developers)

*) The Hello World message should printed over Canon's GUI screen (in other words, by code running alongside Canon's firmware). The display tests you have seen recently are all standalone code (similar to the Linux port, if you want), so they are of limited use. They are proof we can run code on the camera, and this codebase provides a way to debug things with a little more than just LED blinks.

Marsu42

Quote from: a1ex on October 04, 2016, 01:00:42 PMEven if dual iso will work (which we don't know yet), the gain will be small, probably about 0.5 stops at 100/1600. From DxO data, I expect the 80D sensor at ISO 100 to be nearly as good as the 70D at say 100/800, without the resolution loss.

Ugh!? How so? I understand the dr gain of the 80d is achieved by eliminating low-iso read noise, so higher iso values are just as they used to be - but still, an overlap should get us more than 0.5ev? https://www.dxomark.com/Cameras/Canon/EOS-80D---Measurements

And if dual_iso on 80d isn't really something to look forward to, it means even a ml'ed Canon doesn't reach recent Sonikon at all: https://www.dxomark.com/Cameras/Compare/Side-by-side/Canon-EOS-80D-versus-Nikon-D7200-versus-Canon-EOS-70D___1076_1020_895

Greg

8MPx

ISO 100
80D -> 13.17EV
D7200 -> 14.59EV

ISO 100 + ISO 6400
80D -> 14.4EV
D7200 ->  15.22EV


24MPx

ISO 100
80D -> 12.33EV
D7200 -> 13.79EV

ISO 100 + ISO 6400
80D -> 13.37EV
D7200 ->  14.42EV


Loss of detail for 1EV more does not make sense.

eduperez

Quote from: Marsu42 on October 04, 2016, 11:59:24 PM
Ugh!? How so? I understand the dr gain of the 80d is achieved by eliminating low-iso read noise, so higher iso values are just as they used to be - but still, an overlap should get us more than 0.5ev? https://www.dxomark.com/Cameras/Canon/EOS-80D---Measurements

And if dual_iso on 80d isn't really something to look forward to, it means even a ml'ed Canon doesn't reach recent Sonikon at all: https://www.dxomark.com/Cameras/Compare/Side-by-side/Canon-EOS-80D-versus-Nikon-D7200-versus-Canon-EOS-70D___1076_1020_895

Have a look at https://www.dpreview.com/reviews/canon-eos-80d-review/12 and https://www.dpreview.com/reviews/canon-eos-80d-review/13. In a 80D, there is little difference between raising the ISO and correcting the exposure in post processing, and dual-ISO's advantage is based precisely in that difference. With that camera, in most situations you can just take the shot at ISO 100 and then raise the shadows during post-processing.

Marsu42

Quote from: eduperez on October 05, 2016, 07:40:33 AM
With that camera, in most situations you can just take the shot at ISO 100 and then raise the shadows during post-processing.

Riiiight, so I understand with dual_iso the camera would basically capture the same information at both iso levels, minus the dynamic range that is clipped at higher iso values of every other scanline?

Quote from: Greg on October 05, 2016, 01:36:18 AMLoss of detail for 1EV more does not make sense.

I'd tend to disagree there, 1ev is double or half the light which is a lot. And it can be exactly the dynamic range that is clipped from the bright sky or detail drowned in deep shadows (like the eye of an animal, even though the rest of the scene is brighter). That's the hassle with digital photography - missing data is missing data, but a little data can be still recovered and worked with. Plus the afaik dual_iso's "loss of detail" only affects the semi-over/underexposed areas, so by definition with the 80d's little ev gain it would be little to worry about?

Anyway, I guess either the current dual_iso code works with the 80d or it doesn't b/c Canon has done some radical changes ... though knowing Canon, it's more likely everything is the same as before but the marketing brochure got a face-lift :->

a1ex

Quote from: Marsu42 on October 05, 2016, 12:53:39 PM
I'd tend to disagree there, 1ev is double or half the light which is a lot.

Yes, but that comes at the cost of 4EV of aliased highlights at 100/1600, or 6EV at 100/6400.

And I somehow doubt the shadows at ISO 100/1600 will actually look cleaner than at ISO 100, because of the half resolution (which, in theory, reduces the DR by 0.5 stops and also affects the noise structure). So, without seeing the images, I'd say the tradeoff may not worth the extra effort.

If we have a bracketed image set, one at ISO 100 and another at ISO 1600, we can simulate a dual ISO image (lookup fake_dual_iso.exe) and see exactly if there is any extra shadow detail or not, compared to ISO 100.

Quote
Anyway, I guess either the current dual_iso code works with the 80d or it doesn't b/c Canon has done some radical changes ...

The CMOS registers are still used (strings are present), the implementation appears to have changed (strings look different), but ADTG strings are no longer there. Interesting that 5D4 contains ADTG strings on the AE processor, but none of them is present on the main procesor.

Some interesting strings from 80D, not present on earlier cameras (not even on 750D/760D):

RegisterSendCMOSGainCBR
( pCmosGain[0] & CMOS_ADDR_MASK ) == CMOS_REG_R_GAIN9
( pCmosGain[1] & CMOS_ADDR_MASK ) == CMOS_REG_R_GAIN10
( pCmosGain[2] & CMOS_ADDR_MASK ) == CMOS_REG_R_GAIN11
( pCmosGain[3] & CMOS_ADDR_MASK ) == CMOS_REG_R_GAIN12
(R_GAIN9_Param & CMOS_ADDR_MASK ) == CMOS_REG_R_GAIN9
(R_GAIN10_Param & CMOS_ADDR_MASK ) == CMOS_REG_R_GAIN10
(R_GAIN11_Param & CMOS_ADDR_MASK ) == CMOS_REG_R_GAIN11
(R_GAIN12_Param & CMOS_ADDR_MASK ) == CMOS_REG_R_GAIN12


Some strings from 750D/760D, not present in 80D:

( *pwRegister & 0xF000 ) == CMOS_VSKIP_START_ADDRESS
( *pwRegister & 0xF000 ) == CMOS_VSKIP_END_ADDRESS
( *pwRegister & 0xF000 ) == CMOS_HSKIP_ADDRESS
( *pwRegister & 0xF000 ) == CMOS_SAF_RESET_ADDRESS
[REG] @@@@@@@@@@@@ Start ADTGDMA[CS:%lx:%lx]size:%d


So, dual iso will probably work, maybe not out of the box, and there appears to be some potential for tweaking the gains.

However, at this point, it's just speculation. As in...

Quote from: Walter Schulz on October 02, 2016, 06:24:00 PM
www.magiclanternrumours.com

:)

Marsu42

Quote from: a1ex link=topic=17360.msg172969#msg172969
date=1475668950
Yes, but that comes at the cost of 4EV of aliased highlights at 100/1600

Well, looking at my personal photography the highlights are usually in the sky so I couldn't care less about aliasing there, it's just important that it isn't blown. ymmv.

QuoteAnd I somehow doubt the shadows at ISO 100/1600 will actually look cleaner than at ISO 100, because of the half resolution

That's probably true, and my experience with current dual_iso, too. But again, for it it's about *any* recognizable data other than plain noise being there. For example viewers won't look at the deep black fur parts of an animal in detail, but it is disturbing if some black parts look either clipped or like pushed plain shadow noise. ymmv if you don't shoot moving black buffaloes in bright back lighting at noon :-)

Quote(which, in theory, reduces the DR by 0.5 stops and also affects the noise structure).

You can translate the loss of resolution into dynamic range? That sound kind of strange, or is this some mathematic wizardry about noise?

QuoteIf we have a bracketed image set, one at ISO 100 and another at ISO 1600, we can simulate a dual ISO image (lookup fake_dual_iso.exe) and see exactly if there is any extra shadow detail or not, compared to ISO 100.

Well, but you'd have to do this with actual 80d shots, right? If any 80d owner reads this, please do go ahead and shoot a grey patch @iso 100/1600 and run it through fake_dual_iso and let's compare with a pushed and bracketed-hdr shot.

QuoteInteresting that 5D4 contains ADTG strings on the AE processor, but none of them is present on the main processor.

Which means 5d4 users are screwed, but there's hope for 80d and 760d, right?

That would serve 'em right, b/c remembering the discussion about the 1d, a camera in the price range of the 5d4 isn't exactly covered by "poor enthusiasts adding features to their budget and midrange cameras" :-o ...

... if some other camera should be covered by ml, it'd be the 1d4 which should be about what the 7d1 tech is ... but the 1d4 is really cheap by now. But don't let Canon hear :-p

Marsu42

An off-dev-topic question to you 80d owners: The spec say that all af pts except the center one are only f5.6-precise.

I have some fast lenses, say a 50/1.8. Does this in *reality* mean that such a lens is completely unusable except with the center pt when wider open (like f2.5), or are the outer pts better than advertised, or is the af pt expansion so good it makes up for the lack of precision? That's b/c even with the 60d's center point (f2.8-precise) the af performance of this lens is dubious at best.

Thanks for actual experiences with this camera, I'm still not sure if I should get it or stick with an older and cheaper one that runs ml right now and can recover the lack of dr with dual_iso.

Mr.Click

No you´re wrong. All AF points work as cross sensors even with a slow f5,6 lens , but only the mid Sensor works as a dual cross Sensor with a fast lens ( f 0..-f 2,8)
The Mid AF Sensor even works at f8 . With Special lenses & Converters even 27 AF Sensors work at f8.

Please excuse my worse English ;-)
Canon
EOS 80D/ EOS M+ML /  EOS 50E/ EF-M 18-55 3,5-5,6 IS STM / EF-S 10-18 4,5-5,6 IS STM / A 24 1,4 DG HSM / EF 35 2,0 IS USM / EX 50 1,4 HSM / EF-S 55-250 4.5,6 IS STM , Speedlight 430 EX II

Marsu42

Quote from: Mr.Click on October 07, 2016, 08:07:55 PM
No you´re wrong. All AF points work as cross sensors even with a slow f5,6 lens , but only the mid Sensor works as a dual cross Sensor with a fast lens ( f 0..-f 2,8)
The Mid AF Sensor even works at f8 . With Special lenses & Converters even 27 AF Sensors work at f8.

I didn't ask about if it's cross or not, but how the *precision* of the f5.6 points with a lens faster than f5.6 is (like the mentioned 50mm prime). This is a real question, b/c the specs don't tell the whole story - the outer cross points a) could work quite well even with a fast lens, or b) could be totally worthless making the 80d a one-point-center-only camera with fast lenses. I have tested the 80d in a store, but only with the kit lens, that's why I'm asking other actual 80d users.

Btw the new motor-operated mirror makes me worry. With the older spring-operated mirror I got 330k shutter cycles out of my 60d, but I very much doubt a 80d will live that long if a motor is involved. Another case of "planned obsolescence"? Atm I'm rather thinking about getting a sturdy 7d1 with full magic lantern support right now :-o

My other general 80d comment of the day: Canon again put a lot of work into withholding features as the most useful af mode is missing ... "af pt expansion" is only on 7d2 and 5d3. So for precise af, it's one-point only with the 80d b/c the 9-point mode covers a much too large area :-\

QuotePlease excuse my worse English ;-)

Always a pleasure to exchange bad English with another German :-p

Mr.Click

Ah you are German too  :D
You are still thinking wrong.  The outer AFCross  Sensors don´t work worser with a brighter lens. They work the same with a f 1,2 lens as they work with a f 5,6 lens. ( Same as most other EOS DSLR´s like 70D, 60D, 7D, 50D etc)
That only means that the lens doesnt´t have to be darker than f 5,6 . With a f 8 lens they probably stop working.
Only the Mid AF Sensor works with f8 Lenses and works as a Dual Cross Sensor with better light sensitivity when you mount f 2,8 glass or brighter.
With some rare lens combinations you even get 27 Af Points working at f8.
But all AF Sensors work very good with bright lenses( f 1-f 2,8) and also with dark lenses.(3,2- 5,6) No Problem.
Surprisingly the 80DAF works more accurate at all than it´s predecessors. I nearly have no AF misses since I have the 80D.
Hope you understand now. ( einfach umgekehrt denken, die Canon Beschreibung ist so geschrieben das man es schnell falsch versteht)
Canon
EOS 80D/ EOS M+ML /  EOS 50E/ EF-M 18-55 3,5-5,6 IS STM / EF-S 10-18 4,5-5,6 IS STM / A 24 1,4 DG HSM / EF 35 2,0 IS USM / EX 50 1,4 HSM / EF-S 55-250 4.5,6 IS STM , Speedlight 430 EX II

ccs86

Take it to PMs guys.

Marsu42

Quote from: ccs86 on October 10, 2016, 04:08:08 AM
Take it to PMs guys.

And you're using the forum to tell us to pm instead of sending us a pm yourself, Mr. spare-time mod? :-)

Anyway, this tech discussion is an important preliminary for supporting ML on the 80d as it details features found in this model vs. previous or other current d6 models, thus outlining the fw changes to be expected while looking for stubs.

ariznaf

I am glad to know that there are experienced devs working in the port.

It is a ver y interesting camera, a step ahead previos models, with a very good focusing engine.

The day we could see the hello world message in it will be a great day.

With ML the camera will be a dream.

May be that ml could take advantages of the focusing system and put it a step further, closer to high end models.

Thanks for your grant work.

If I can help please tell me how, may be I have to wait to the alpha release to help in testing.

jfkingsley

Hey all,

I've recently picked up an 80D, and also have a fair bit of experience working with low-level C, although admittedly less in terms of reverse-engineering embedded systems like this. I'd be very interested in lending a hand here if possible. I realise #40 is currently what we're up to, so if we're at a temporary waiting game so be it, but if not i'd be interested in gaining some pointers on where to start poking.

Jon.

a1ex

Sounds good. Have you got it working in QEMU?

LesterL

I own an 80D and have done some tests with low-iso dynamic range. I made a picture profile that expands the dynamic range in video and I've been very impressed by the clean results in the shadows. It looks very similar to the 13-stops that come off of the BMPCC. I think this camera would be amazing in RAW video, as the stills captured with this camera can be pushed a lot and still look clean. Plenty of youtube videos showing this.

I'm open for helping with the testing of a ML firmware. Also, if anyone would like the Custom Picture profile I created, I'd be glad to share it for use in the meantime. Just PM me.

Thanks to everyone working on this.

LesterL

Some promising numbers from memory tests done with the 80D. Around 81MB/s possible sustained write speed. Which is really quite impressive.
Checkout the results from various cards.
http://www.cameramemoryspeed.com/canon-80d/sd-card-comparison/

With the recent progress in 10 and 12-bit raw recording options on the 5D III this could make for an impressive showing from the 80D down the road. If those can even be ported over to the 80D. We shall see.

DeafEyeJedi

Interesting findings @LesterL and I'll be sending you a PM re: CP Profile. Thanks for sharing!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

dinissilva

Hey guys! Awesome progress! I was helping when we started testing the firmware! And now I'm back! Anythink i can help, please say it!

julienpierb

Hey folks!
I just acquired a 80D two days ago and, I must say, that I already adore this camera.
I would be most interested in helping ML as best as I can.
I don't have coding knowledge, but I have a healthy amount of free time and I am a daily shooter.
If you need someone to test, I am most interested in doing so and answering as many questions.