During the last few weeks I have finally managed to sit down and implement the 3x crop mode discovered by Greg a while ago
, and summarized here
. This feature could be very useful for wild life, astro, or just for bragging on the forums about how cool your camera is How it works?
It modifies Canon's 1080p and 720p video modes by altering the sensor area that is going to be captured. Resolution and nearly all other parameters are left unchanged.
- it works with both H.264 and RAW
- works at all usual frame rates: 24/25/30/50/60 fps (with some quirks at high FPS)
- preview, sound, overlays, HDMI out... most of the stuff should just work as expected.Samples?
update: here's one from kgv5
Not yet, but I have a feeling DeafEyeJedi is already on it :)
scroll down :)Quirks
On 5D3 (other cameras may be different, we'll see):
- framing almost centered (only roughly checked by zooming on a test subject on the camera screen)
- 720p aspect ratio:
- at 720p (50/60fps), we are sampling the sensor at 1:1 crop, but Canon uses a 5x3 pixel binning
- that means, H.264 video will be squashed - resize the video in post at 1280x432 or 1920x648
- however, raw video will have 1:1 pixel ratio (not squashed, just very wide - up to 1920x632)
- there is a small black border at the top of the frame, if you record at max resolution in RAW
- it may have side effects such as sensor overheating
, camera exploding
or displaying BSODs.
As usual - if it breaks, you get to keep both pieces.Compatibility
Current implementation only works on 5D3, and I've tested it only on 1.1.3. The module is not yet compatible with current nightlies, so you need a full package (not just the module).
As you can see if you scroll down, it is possible to port this on many other cameras. It's just not very straightforward. But, on the bright side, Maqs is already eager to port it to 6D, and I'm sure others will follow.
Note that 600D and 70D already have this feature from Canon, and 650D, 700D and EOS M already have it in ML with a little hack. All other cameras could already use the crop mode when recording RAW from the 5x zoom view, but with some quirks (mainly bad preview and off-center image). So, this is nothing really new - maybe just a little more usable.
Why a separate build is needed? It's because this module uses an experimental patching library, which seemed to work fine while I wrote the code, but as soon as I took it outside (about one month ago), it crashed almost every time I used ETTR + Dual ISO. I've fixed the bug
since then, but you can imagine you don't want this level of "stability" in the nightly builds.
However, this library paves the way to implementing the long-awaited ISO tweaks
(with real ISOs lower than 100, including a small dynamic range boost). I've also used this library as a backend for low-level tweaks such as choosing FAT32 or exFAT when formatting a card from the camera
. So, let's test it and iron out all the quirks!Downloads
- source code
- 5D3 1.1.3: magiclantern-crop3x.2016Apr01.5D3113.zip
- 5D3 1.2.3: magiclantern-crop3x.2016Apr01.5D3123.zip
) (confirmed by Hans_Punk)
- other cameras: hopefully coming soonTODO
- port it to other cameras
- merge into nightly buildsHacking
- grab adtg_gui.mo and raw_diag.mo from the ISO research thread
- try to understand what those registers do, and which ones need to be changed to achieve various effects
- check black bars with raw_diag, option OB zones (trigger with long half-shutter press in LV)
- optional: check DR, SNR curve, full well and read noise with raw_diag, option "SNR curve (2 shots)", trigger with "Dummy Bracket"
- take your time to read and experiment; it's very time-consuming, but once you get the hang of it, be careful - it's addictive.Porting checklist
- clean image (without weird artifacts)
- clean turning on and off, in all the supported video modes
- clean switch to/from other modes (5x/10x zoom, other video modes, photo mode - these should not be affected)
- black bars should be larger than or equal to the values assumed in raw.c (check with raw_diag OB zones)
- centered image: put the focus box in the centered image and zoom in; the subject should not move
- menu: if there is any mode where the patch is not working, it should print a warningCredits
Greg - original findings on 500D
Levas - for finding the equivalent registers for 6D
mothaibaphoto - for finding the 5D3 register values for 30/50/60 fps
Maqs - for the lightweight code hooks
used in the backend
g3gg0 - for laying out the foundation about ADTG registers
, ENGIO registers
and other low-level stuff that tends to be forgotten once it's up and running.