Author Topic: CMOS/ADTG/Digic register investigation on ISO  (Read 583574 times)

Levas

  • Contributor
  • Hero Member
  • *****
  • Posts: 1486
  • 6d - Nightly build user
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #850 on: August 15, 2014, 09:47:12 PM »
ah, some unforseen problem... nog getting a minimum of 24fps...

Greg

  • Contributor
  • Hero Member
  • *****
  • Posts: 591
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #851 on: August 15, 2014, 09:52:08 PM »
On the other cameras should be 30FPS, 500D has a limit in full HD.

Levas

  • Contributor
  • Hero Member
  • *****
  • Posts: 1486
  • 6d - Nightly build user
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #852 on: August 15, 2014, 09:54:57 PM »
That reminds me, the 500d is limited to 20 FPS, as factory default, isn't it ?

Greg

  • Contributor
  • Hero Member
  • *****
  • Posts: 591
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #853 on: August 15, 2014, 09:59:46 PM »
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 591
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #854 on: August 16, 2014, 05:16:37 PM »

Levas

  • Contributor
  • Hero Member
  • *****
  • Posts: 1486
  • 6d - Nightly build user
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #855 on: August 16, 2014, 08:41:09 PM »
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

  • New to the forum
  • *
  • Posts: 2
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #856 on: September 02, 2014, 02:34:59 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #857 on: September 02, 2014, 04:05:05 PM »
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

  • Freshman
  • **
  • Posts: 67
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #858 on: September 23, 2014, 09:34:29 AM »
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

  • Administrator
  • Hero Member
  • *****
  • Posts: 12353
  • Emergencies only
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #859 on: September 23, 2014, 09:39:58 AM »
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.

itsskin

  • Freshman
  • **
  • Posts: 67
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #860 on: September 23, 2014, 09:46:35 AM »
Great! Thank you!

Audionut

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3583
  • Blunt and to the point
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #861 on: October 31, 2014, 12:28:52 PM »
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

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3583
  • Blunt and to the point
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #862 on: November 04, 2014, 10:39:47 PM »
Moved my off-topic discussion regarding lenses over here.

Dynamic range and Equivalence discussion moved here.

Audionut

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3583
  • Blunt and to the point
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #863 on: April 07, 2015, 06:13:29 AM »
Is there a reason why the 7D never got included?

Found the easy stubs
Code: [Select]
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

  • New to the forum
  • *
  • Posts: 44
  • 50D in future
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #864 on: April 10, 2015, 11:56:24 AM »
work on 50D ? Who can make this module ? I think 66 ISO it's best)
50D | Helios-44M 2/58 | last build raw_video_10bit_12bit_LVState-wip.2018Feb04.50D109

dmilligan

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #865 on: April 10, 2015, 01:04:32 PM »
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.

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

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3583
  • Blunt and to the point
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #866 on: April 10, 2015, 08:01:03 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

  • Administrator
  • Hero Member
  • *****
  • Posts: 12353
  • Emergencies only
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #867 on: April 14, 2015, 07:51:46 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?

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:
Code: [Select]
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

  • Administrator
  • Hero Member
  • *****
  • Posts: 12353
  • Emergencies only
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #868 on: April 18, 2015, 12:08:04 AM »
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 591
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #869 on: April 20, 2015, 02:55:46 PM »
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

  • Contributor
  • Hero Member
  • *****
  • Posts: 6226
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #870 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.

Audionut

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3583
  • Blunt and to the point
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #871 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.

DeafEyeJedi

  • Hero Member
  • *****
  • Posts: 3366
  • 5D3 | M1 | 7D | 70D | SL1 | M2 | 50D
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #872 on: April 25, 2015, 08:15:49 AM »
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...

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

  • New to the forum
  • *
  • Posts: 34
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #873 on: June 18, 2015, 09:35:59 PM »
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

  • Developer
  • Hero Member
  • *****
  • Posts: 3218
  • 60Da / 1100D / EOSM
Re: CMOS/ADTG/Digic register investigation on ISO
« Reply #874 on: June 19, 2015, 02:09:22 AM »
Nope. Read the OP.