Full-resolution silent pictures (silent.mo)

Started by a1ex, July 01, 2014, 05:11:15 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

a1ex

Update: now available in the nightly builds!

Another pipe dream came true :)

- are you afraid to waste shutter clicks on timelapse or focus stacks?
- do you need to take pictures in quiet environments?
- do you have problems with mirror vibration (e.g. at very long focal lengths)?
- your shutter is worn out so badly that you can no longer take pictures (ERR20)?
- old silent picture mode's resolution was too low for these tasks?

I believe I've just found the solution to all of the above.



How it works?

I've tried to call a factory test routine: FA_CaptureTestImage (helped by FA_CreateTestImage and FA_DeleteTestImage). At first sight, it did not do anything visible (g3gg0 already tried it years ago), but the diagnostic log and the EDMAC info box revealed the magic: the sensor was sampled at full resolution, without shutter actuation!

So, to take an useful image, I went to LiveView first to open the shutter and raise the mirror, then I've paused LiveView (from ML powersave routines, or by going to PLAY mode or Canon menu from LiveView). Then I've called the above routines, and after that, all I had to do was to fill the raw_info structure and save the DNG.

If you call these routines without going to LiveView first, the result will be a dark frame (interesting for astro - you can take 300 dark frames without wearing the shutter mechanism).

For more details, take a look at this changeset.

Limitations

- The fastest shutter speed I've got is around 1/10 seconds (very rough estimation by comparing brightness from a regular picture). With regular pictures, faster speeds are done via mechanical shutter actuation.
- Long exposures are fine up to 15 seconds (longer exposures will crash the camera).
- Fastest capture speed: 220ms on 5D3, 320ms on 5D2. This includes a dummy readout, which is probably a bias frame.
- So, at least for now, the usefulness is limited to timelapse and medium-long exposures (no moving subjects).
- If you use the intervalometer, I recommend taking a picture every 10 or 15 seconds (not faster). Saving DNGs from the camera is slow.
- In photo mode, aperture will be most likely wide open, regardless of the setting, because of exposure simulation (enable Expo Override to fix it).

4K video?

Too early to ask. Find a way to speed up the capture process first (see the research section below).

However, I don't really expect more than 10 fps (in LV crop mode on 5D3, 1/3.6 of the total sensor area is sampled at 30fps). If you implement a burst mode from the current code base, you'll get up to 5 fps.

Is it safe?

You'll have to judge yourself; I'll just give you some details.
- I've discovered this the day before yesterday
- I took less than 100 pictures, on 4 different cameras (5D3, 5D2, 550D and 60D)
- The functions I'm calling were meant for factory testing (see these comments from silent.c for some details on what they do)
- The functions I'm calling will change some properties back and forth, e.g. PROP_FA_ADJUST_FLAG (you know, properties are usually persistent settings, and a mistake there may soft-brick the camera)
- The sensor is sampled in the same way as in photo mode, just without mechanical shutter actuation
- I won't include it in the nightly builds at this stage; early adopters will have to compile it themselves.

How do I install it?

Download the latest nightly build and enable silent.mo.

Research

- log file from 5D2: FA_CaptureTestImage.log
- some of my experiments on 5D2: http://pastebin.com/6Lyhrqtj
- http://magiclantern.wikia.com/wiki/ADTG
- http://magiclantern.wikia.com/wiki/Register_Map
- How does the camera take a picture?
- ADTG registers thread and classic adtg_gui
- enhanced adtg_gui from the iso-research branch
- analyze Canon debug messages with the code from the dm-spy-experiments branch
- figure out how to speed up the capture process (maybe without the dummy capture step, or find out how to trigger the continuous readout mode)
- figure out how to get fast shutter speeds, as in LiveView (electronic shutter)
- implement a fast bracketing, exposure stacking or other funky capture modes
- compare the dynamic range with regular photo mode, with raw_diag (check the ISO research thread)
- don't burn your sensor ;)




Please do not ask for builds in this thread.  This thread is for development related feedback only.

If you would like a build compiled, so you can help the Magic Lantern development team by testing this feature and providing feedback, please see this thread.

Walter Schulz


Stedda

You're an animal! It will be interesting to watch as it progresses. Congrats!
5D Mark III -- 7D   SOLD -- EOS M 22mm 18-55mm STM -- Fuji X-T1 18-55 F2.8-F4 & 35 F1.4
Canon Glass   100L F2.8 IS -- 70-200L F4 -- 135L F2 -- 85 F1.8 -- 17-40L --  40 F2.8 -- 35 F2 IS  Sigma Glass  120-300 F2.8 OS -- 50 F1.4 -- 85 F1.4  Tamron Glass   24-70 2.8 VC   600EX-RT X3

britom

GREATEST THING SINCE RAW VIDEO! so fucking awesome man, you're awesome! :')
7D Builds with RAW support: http://bit.ly/14Llzda

marekk

a1ex, thanks for your awesome work !

4K silent timelapse ? :) why not :)
We can put captured frames in mlv container to avoid DNG processing on camera.

SpcCb

Quote from: a1ex on July 01, 2014, 05:11:15 PM
(...)
If you call these routines without going to LiveView first, the result will be a dark frame (interesting for astro - you can take 300 dark frames without wearing the shutter mechanism).
Very nice. ;D

Quote from: a1ex on July 01, 2014, 05:11:15 PM
(...)
Limitations

- The fastest shutter speed I've got is around 1/10 seconds (very rough estimation by comparing brightness from a regular picture). With regular pictures, faster speeds are done via mechanical shutter actuation.
- Long exposures are fine up to 15 seconds (longer exposures will crash the camera).
(...)
So it is a solution for time-lapses, not really for astronomy (15s is a bit short), for the moment.

BTW I'm pretty sure that it is possible to get same params than a regular picture (exposure duration etc.), because the Canon LX NR do it (we can do 15mn dark frame for ex.). The question is 'will it be possible in LV'..

Attero

A1ex, awesome work!

@marekk: Yea, that would be great and perfect for the Workflow!

Johannes


Johannes

@marekk: Yea, that would be great and perfect for the Workflow!
[/quote]

Of course. Or full res!

Edgar Matos


Toffifee

Awesome news! I look forward to seeing where this could be taken!

ilovecinema


johansugarev

Will this work for the 50D? Is there a module I can install to try it out?

Pelican

EOS 7D Mark II, EOS 7D, EOS 5, EOS 100 + lenses (10mm to 300mm), 600EX, 550EX, YN600EX x 3
EOScard, EOS DSLR firmwares, ARMu, NiControl, etc.: http://pel.hu/down

Danne


poromaa


Greg


nikfreak

awesome! Once this allows faster shutter speeds it will become even more fun to experminet with. I could think of some useful cases in conjunction with flash to bypass some restritions with flash sync speed...
[size=8pt]70D.112 & 100D.101[/size]

Greg

Quote from: nikfreak on July 01, 2014, 11:02:55 PM
I could think of some useful cases in conjunction with flash to bypass some restritions with flash sync speed...

This is not possible. Try to video mode, shoot one frame using the flash.


ItsMeLenny


Rewind


budafilms


jose_ugs


marekk

Canon 5D Mark III Mirrorless Edition :)