Some more rolling shutter analysis (
with the same script as before):
5D3:Test images:
regular.CR2 and
silent.DNG (warning: large files)
Canon settings: 1/4 vs 1/8000, ISO 100.
Image difference in EV (left), exposure difference per row, in EV (mid-left), in milliseconds (mid-right) and timer register configuration (right):

Exposure range : 1/33.19 ... 1/6.30
Rolling shutter : 0.13 seconds
6D:Test images from 1%:
regular.CR2 and
silent.DNG (warning: large files)
Canon settings: 1/4 vs 1/4000, ISO 100.
Exposure range : 1/3.09 ... 1/1.87
Rolling shutter : 0.21 seconds
500D:Test images from Greg:
regular.CR2 and
silent.DNG (warning: large files)
Canon settings: 1/4 vs 1/4000.

Exposure range : 1/83.45 ... 1/3.43
Rolling shutter : 0.28 seconds
5D2:(copied the results from my previous post, just to have everyting in one place)
Test images:
regular.CR2 and
silent.DNG (warning: large files)
Canon settings: 1/4 vs 1/8000.

Exposure range : 1/59.97 ... 1/3.86
Rolling shutter : 0.24 seconds
Now, let's look at the numbers from the graph and at the FPS timers configured in adtg_gui, and cross-check them with the theory from FPS override:
http://magiclantern.wikia.com/wiki/VideoTimerLet's take the
5D2 first. The main clock, from FPS override, is 24 MHz. Timer A is configured at 0x5db+1 = 1500 units. In the second part of the exposure, timer B is configured at 0xdf+1 and then at 0xedc+1. Exposure time is 1 / (MainClock / timerA / timerB), so the timers are programmed to do 1/71.42 + 1/4.20 seconds = 0.014 + 0.2378 seconds.
So, the last value for timer B (0xedc => 0.2378 seconds) must be for the ramping part (the lines are read out one by one, but since the shutter is open, bottom rows are receiving more light). It matches the measured rolling shutter value.
The previous value for timer B (0xdf) must be for the constant exposure part (the entire sensor is capturing light). Total exposure for the last row would be 0.014 + 0.2378 = 1/3.971 seconds, and for the first active row, there is an optical bar 51px wide => 0.014 + 0.2378 * 51/3804 = 1/58.18 seconds.
The first part of the exposure (0x2f+0x207) is called DummyReadout. I'm not sure what it does, but it seems to be related to FPN correction.
500D: main clock 32 MHz, timer A 0xaf9+1, timer B 0x71+0xc83 (+1+1). The last number must be the rolling shutter: 0.281 seconds. The previous one must be the constant exposure part: 0.01 seconds. Total exposure: bottom row 0.281+0.01 = 1/3.436 seconds, top row 0.281*26/3204 + 0.01 = 1/81.43 seconds. Notice there's no dummy readout step.
5D3: main clock 24 MHz, timer A 0x317+1 and timer B 0x21d+0x1ce4+0x12e+0xf75 (+1 for each term). Rolling shutter: 24e6 / (0x317+1) / (0xf75+1) = 0.1306 seconds.
The previous one (0x12e) must be constant exposure: 0.01 seconds. Total exposure: bottom row 1/7.11, top row 0.01 + 0.1306*80/3950 = 1/79.08. Unexplained: around 0.018 seconds of exposure for all rows.
6D: main clock 25.6 MHz, timer A 0x597+1, timer B 0xe8d+1, rolling shutter 0.208 seconds.
Constant exposure part: 0x335 => 0.046 seconds. Bottom row exposure 1/3.94, unexplained 0.28s. Top row exposure 1/20.78, unexplained 0.275s. Notice the total exposure time is much higher than on the other cameras - exactly this "unexplained" time.
From the screenshot, adding two more timers (0x218+0x110f) gives 1 / (25.6e6 / (0x597+1) / (0x110f+0x218+2)) = 0.274 seconds. Coincidence? Why did the 5D3 get a shorter exposure? (it also has a large timer in the screenshot)
In all cases, notice the FPS timers are giving accurate values for rolling shutter (they match the measured values) and also notice the FPS timer B matches the vertical resolution of the camera (including top optical black bar, and a few extra pixels in newer cameras).
From this, I think the FPS timer A gives the clock for row readout (at each timer A rollover, a line is read out). If you know the main clock, the timer A, and the vertical resolution, you can compute the amount of rolling shutter with very good accuracy. This result probably applies to LiveView readout too, but needs to be double-checked.
Nitpick: you may want to multiply the rolling shutter, as computed from FPS timers, by (total_height-ob_height) / total_height, which is about 0.97...0.99.
If you want to see the same analysis for your camera, take the two test images with
this script, then get the ADTG screenshot by following
these steps.