CMOS/ADTG/Digic register investigation on ISO

Started by a1ex, January 10, 2014, 12:11:01 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Levas

ah, some unforseen problem... nog getting a minimum of 24fps...

Greg

On the other cameras should be 30FPS, 500D has a limit in full HD.

Levas

That reminds me, the 500d is limited to 20 FPS, as factory default, isn't it ?

Greg

Yes 500D without ML in 1080p has 20FPS. With ML can go to 21FPS.

1080p crop trick, the camera think that it is still 1080p (not crop mode). So you can not go over 21FPS.

Greg


Levas

Maybe you should try some different values for ADTG2-1000 registers, maybe 5 isn't good either ?
I got weird vertical interlacing with the value 6, 5 seems good for me, but I didn't check that much, I shall record some video to see if a value of 5 for 6d is good or not.

And I don't really get where the value in the ADTG-1000 register stands for, have no idea what the value exactly does...

Edit: The value is set to zero in photo mode.

Ronnie Chan

Does this work on actual image?or it is just playing with graph?
I tried to install the module on my 5dmark3 but it appears to be fail to load.
Some please advice,I am eager to finds out.

dmilligan

Please read the OP

Quote
Where's the download link?!??!?!!??!!!!!!!!!!!!!!!!!!?!?!?!?!?!


Take it easy, the current state is research. As in, "If we knew what it was we were doing, it would not be called research, would it?"

Quote
requires a custom ML build with CONFIG_GDB=y

itsskin

CONFIG_GDB=y is put to makefile.user, right?
I'm compiling silentpics branch with this line, but loading iso_regs gives me an error. Please help to find out what I'm doing wrong.
Thx!

a1ex

Try merging the fullres-silent-pic branch with the iso-research branch.

If you don't want to merge, compile the fullres-silent-pics branch as usual, with CONFIG_GDB=y, then compile only the extra modules from iso-research.


Audionut

My test scene looks like this.   Underexposure zebras are set to 0.


I ETTR the second brightest object (which is angled for a good gradient) and gives a good response near the highlights.  Which produces results like so.



Some further detail about this test setup is back here.


My results for 6D photo mode and no aperture gain.
https://www.dropbox.com/sh/rrn7chasohg36hk/AAD7fngMRzvGNfrz6IzOgX3pa?dl=0

Audionut

Moved my off-topic discussion regarding lenses over here.

Dynamic range and Equivalence discussion moved here.

Audionut

Is there a reason why the 7D never got included?

Found the easy stubs
ENG_DRV_OUT_FUNC = 0xFF1F675C;  // from stubs
ENGIO_WRITE_FUNC = 0xFF1F6B20;  // from stubs


But I guess I have to do some stub checking for CMOS_WRITE_FUNC and ADTG_WRITE_FUNC, unless someone wants to use his automatic stub tool.   :)

CITY-U1001

work on 50D ? Who can make this module ? I think 66 ISO it's best)
50D | EFS 18-55 | last build crop_rec-3744x1080_24fps_50D-eXperimental.4.57pm.2020May06.50D109.zip

dmilligan

Quote from: Audionut on April 07, 2015, 06:13:29 AM
Is there a reason why the 7D never got included?
The whole dual processor thing I think. All the interesting stuff happens on the master. ML can only debug on the slave.

Quote from: CITY-U1001 on April 10, 2015, 11:56:24 AM
work on 50D ? Who can make this module ? I think 66 ISO it's best)
What module? There are several different modules associated with this thread and they are all for reverse engineering and research purposes. They also require compiling ML in 'debug mode' (Config_GDB=y). This is something you must do yourself.

Audionut

Quote from: dmilligan on April 10, 2015, 01:04:32 PM
The whole dual processor thing I think. All the interesting stuff happens on the master. ML can only debug on the slave.

Yes, that sounds familiar.  Thanks for the memory jog.

a1ex

Quote from: Greg on August 13, 2014, 03:16:45 PM
500D
                          1080p        crop-mode(5x)      1080p-trick-crop
ADTG2[105f]N    0x0             0x38f                       0x38f //shutter blanking for 5x/10x zoom
ADTG2[1061]     0x67f          0x0                          0x0    //shutter blanking for 1080/720p mode?
CMOS[4]            0xc0d          0xc85                      0xc85
CMOS[5]            0x400         0x609                      0x689
ADTG2[100c]     0x2              0x4                          0x0  //vertical skipping lines, not needed?
ADTG2[1000]     0x6             0x5                          0x5 //vertical skipping, horizontal binning?

Quote from: Levas on August 14, 2014, 12:26:12 PM
To get 1:1 crop / 3x zoom preview in live view on 6d, these registers need to be changed to the following values:
CMOS[6]                   d0       (=Changing the "d" moves horizontal position on the sensor)
CMOS[7]               206       (Vertical centering the image on the screen)
ADTG2-800c             0         (vertical lines to skip)
ADTG2-8000             5       (Don't know what it does, if it is 6(as in 1080p25mode) you get some vertical interlaced looking footage... so must be 5)

For 5D3, a configuration that appears to work is:

CMOS[1]                 0xB8B           vertical position and size
CMOS[2]                 0x10E           horizontal position and downsizing factor
CMOS[6]                 0x170           ISO related? pink highlights without it
ADTG2[0x8000]           0x5             it's 5 in zoom mode and 6 in 1080p
ADTG4[0x8000]           0x5             same
ADTG2[0x8806]           0x6088          without this, you get some weird artifacts
                                        note: ADTG4[0x8806] should not be changed (default 0x6048)


How to apply it:
- compile ML for adtg_gui (see first post)
- load adtg_gui and enable it in Debug menu
- go to movie mode 1080p, 24 or 25 fps
- go to play mode and back
- configure the registers in adtg_gui submenu (latest adtg_gui has a preset for crop mode registers)
- go to play mode and back (again)

Minor bug: it has a few black lines at the top.

a1ex

Updated adtg_gui: it now works even at 60fps*, and you no longer need CONFIG_GDB to run it (just compile ML from iso-research normally).

https://bitbucket.org/hudson/magic-lantern/commits/14776f860522

* if you also log DIGIC registers, those are not fast enough for 60fps.

Greg

So it should work on all cameras, just find only registers.
On old cameras we need read shutter table and overwrite ADTG2[105f]N (if it's possible).

At 5D3 probably image is ok.
On the other cameras will be extended. Native (raw) 1080p mode -> H264 (1920x1080).

Danne

Hi! Is the changes to register settings reverted to default on restart or do I have to manually reset reg changes?
Got the adtg_gui loaded and planning on trying the 3d crop mode settings.

Audionut

They are all reverted to default on power off.  Also registers that have not been manually changed, will also change with camera settings.  So if you manually change some register, in essence you lock the register to that value.  If changing from photo mode to movie mode normally changes that register, this will not happen.

DeafEyeJedi

Quote from: Danne on April 24, 2015, 04:07:19 PM
Hi! Is the changes to register settings reverted to default on restart or do I have to manually reset reg changes?
Got the adtg_gui loaded and planning on trying the 3d crop mode settings.
Great question as I was just thinking the same earlier...

Quote from: Audionut on April 25, 2015, 03:01:01 AM
They are all reverted to default on power off.  Also registers that have not been manually changed, will also change with camera settings.  So if you manually change some register, in essence you lock the register to that value.  If changing from photo mode to movie mode normally changes that register, this will not happen.
valuable info to know... Thanks @Audionut!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

kidfob

I'd like to use this in combination with dual ISO.

Is there a nightly build version of this so I dont have to attempt to try to build this myself?

Thanks

dmilligan