Author Topic: Pixel binning patterns in LiveView  (Read 22835 times)

theBilalFakhouri

  • Contributor
  • Senior
  • *****
  • Posts: 332
Re: Pixel binning patterns in LiveView
« Reply #100 on: March 06, 2019, 01:45:13 PM »
Something I don't understand very well, How does Binning pixels happen? For example in 5D3 it is binning the whole pixels in the sensor to 1920x1280 in video mode so it uses the whole pixels , should this mean that the camera do 5760x3840 @ 24 FPS ? But downscaled to 1920x1080?

How this process works if it reads the whole pixels? And we know the sensor speed is slow . . Short question:
What the difference between Full-Res LiveView in 1x1 sampling (It uses all the pixels in the sensor without Binning) and the Binned 3x3 mode (it uses all pixels too, but with Binning and it can do it in much higher frame rate 30 FPS compared to 7.4 FPS).

What is the pipeline here for each mode?

@a1ex  Can you explain?   :D
700D 1.1.5 | no more ISOless LV err 8

a1ex

  • Administrator
  • Hero Member
  • *****
  • Posts: 12240
  • Maintenance mode
Re: Pixel binning patterns in LiveView
« Reply #101 on: March 06, 2019, 02:29:37 PM »
First post. TLDR - pixel binning happens in analog domain. It's not done digitally.

Pixel readout clocks (FPS timer A and B) are applied after binning.

Pixel binning mode will affect timer A limit on some models, but not by much (it won't change the order of magnitude). IIRC it doesn't happen on 700D, but need to double-check. It does happen on 5D3, e.g. in 3x3 it accepts 398, but in 5x3 it can't go lower than 410.

ArcziPL

  • Contributor
  • Member
  • *****
  • Posts: 131
Re: Pixel binning patterns in LiveView
« Reply #102 on: March 10, 2019, 11:48:03 PM »
Register            5D3                   5D2                   6D                   EOS M / 700D         60D                   500D                   1100D
8183 / 1183   0x38 (56 dec)   0x3c (60 dec)   0x35 (53 dec)        0x21 (33 dec)       0x25 (37 dec)   0x1c6 (454 dec)   0x1c7 (455 dec)
8184 / 1184   0x2d (45 dec)   0x3a (58 dec)   0x3b (59 dec)       0x7b (123 dec)        0x21 (33 dec)   0x1c0 (448 dec)   0x1c0 (448 dec)
                     
Resolution         5760 x 3840   5616 x 3744   5472 x 3648         5184 x 3456         5184 x 3456         4752 x 3168         4272 x 2848
 
The register values of the fullframe camera's are close to each other, as is their resolution.
EOS M / 700D are just weird  :P small 8183 value, big 8184 value.
And both 500D and 1100D have really hit values, why ?
Where is the logic  :-\
Isn't it typical for Canon cams to combine several fields (of arbitrary bitlenght) in one register, like it usually on every microcontroller is? Then you shouldn't analyze the whole register value but the value of each bit or field inside. If the whole is "big" or "small" would mean nothing, as the bits at different positions would have different meaning. But then it would be nice to find out what is the organization of the fields in a reg. Not trivial.

I don't know a big extent of the ML code but so far only seen a combination of two 16-bit words in one 32-bit reg. Anywhere are smaller fields used? Several 8-bit or even smaller, down to 1-bit fields?

Levas, already tried the values from 5D3 on your 6D? :)
70D.112 | M50.102 | M.202

Levas

  • Contributor
  • Hero Member
  • *****
  • Posts: 1472
  • 6d - Nightly build user
Re: Pixel binning patterns in LiveView
« Reply #103 on: March 11, 2019, 10:14:16 AM »
Levas, already tried the values from 5D3 on your 6D? :)
First thing I tested  :D

Didn't work, did some more testing at the time, there seems to be some headroom in it, changing the registers by one or two values didn't do much, when changing enough, you get either part of your frame bright and another part stays normal or the whole frame becomes bright. When going to 5x zoom you'll see bright and dark columns.
Couldn't find any logic in it.

ArcziPL

  • Contributor
  • Member
  • *****
  • Posts: 131
Re: Pixel binning patterns in LiveView
« Reply #104 on: March 11, 2019, 02:38:37 PM »
changing the registers by one or two values didn't do much, when changing enough, you get either part of your frame bright and another part stays normal or the whole frame becomes bright. When going to 5x zoom you'll see bright and dark columns.
Couldn't find any logic in it.
That's exactly how it would behave if my theory is true, i.e. the register content would consist of a several independent fields. I'd suggest to change single bits in these regs, then maybe changing pairs of neighbouring bits or each nibble (upper and lower half-byte) separately -- it would be great to find out how they are organized. On DIGIC 5 cams these registers seem to be 8-bit wide.

I'll try on my cams.
70D.112 | M50.102 | M.202

ArcziPL

  • Contributor
  • Member
  • *****
  • Posts: 131
Re: Pixel binning patterns in LiveView
« Reply #105 on: March 11, 2019, 06:57:54 PM »
It's really weird. After playing with these two regs on 700D there are vertical stripes appearing, which stay even after returning to the original values, and then they slowly vanish, which takes several seconds.

But zeoring both in non-cropped mv1080 indeed looks like disabling column binning, as artifacts appear on vertical lines.
70D.112 | M50.102 | M.202

reddeercity

  • Contributor
  • Hero Member
  • *****
  • Posts: 2044
Re: Pixel binning patterns in LiveView
« Reply #106 on: May 23, 2019, 06:10:18 AM »
Found 3 different column/pinning mode on the 50D with cmos[4]
Code: [Select]
1.67x vertical
3.0x vertical
4.5x vertical
currently , with can't embed photo's anymore ( or I should say there's no button to embed in post)
so I loaded the photo on my bitbucket downloads
Code: [Select]
cmos[4] 0x40c -> 0x2BThis looks right with 1.67x vertical stretch ,  un-stretch frame M21-2361_frame_1.png ,  stretch frame 1.67XVertical-M21-2361_frame_1.png
1568x1764
 

Code: [Select]
cmos[4] 0x40c -> 0x253.0x vertical stretch , un-stretch frame  M21-2357_frame_75.png  ,
stretch 3.0XVertical-M21-2357_frame_75.png
1568x3168
   

Code: [Select]
cmos[4] 0x40c -> 0x344.5x vertical (450%) , Un-stretch frame M22-0003_frame_100.png
stretch frame 4.5XVertical-M22-0003_frame_100.png
1568x4752
   

Attn: Mod. , if you want to change the formatting please go ahead.





theBilalFakhouri

  • Contributor
  • Senior
  • *****
  • Posts: 332
Re: Pixel binning patterns in LiveView
« Reply #107 on: July 04, 2019, 09:32:59 PM »
These registers controls also line skipping beside 800c
ADTG 8007
ADTG 8008
I didn't find something useful about them
700D 1.1.5 | no more ISOless LV err 8

theBilalFakhouri

  • Contributor
  • Senior
  • *****
  • Posts: 332
Re: Pixel binning patterns in LiveView
« Reply #108 on: July 05, 2019, 04:50:01 AM »
Also these
8075
8076
700D 1.1.5 | no more ISOless LV err 8