This page is work in progress - your feedback is welcome.

Experiments

The following builds are works in progress, known to have rough edges.
Please test thoroughly before considering them for serious work.
The functionality from this page will be integrated in the main builds as soon as all major issues will be ironed out.
However, we need your help. If you use any of these builds, please report your experience.
Still confused? Each experimental build has a link to the relevant forum thread, where you can discuss the new features.
You may also check this page for ideas on how to help, and this page for how to suggest changes with a pull request, from your web browser.

4K raw video recording; lossless compression

crop_rec module with higher resolutions (4K, 1080p48 etc):

5D3:

  • 1920x960 @ 50p (both 1:1 crop and full-frame - 3x3 pixel binning)
  • 1920x800 @ 60p (same as above)
  • 1920x1080 @ 45p and 48p (3x3 binning)
  • 1920x1920 @ 24p (1:1 square crop)
  • 3072x1920 @ 24p (1:1 crop)
  • 3840x1600 @ 24p (1:1 crop)
  • 4096x2560 @ 12.5p (1:1 crop)
  • 4096x1440 @ 25p (1:1 crop)
  • Full-resolution LiveView: 5796x3870 at 7.4 fps (128ms rolling shutter).
  • Continuous: 3072x1308 @ 24p, 1920x1080 @ 45p, 1920x960 @ 50p, 1920x800 @ 60p, 4096x2560 @ 8p, 5796x3870 @ 5p.

700D, EOSM:

  • 1736x688 @ 50/60p with 3x3 pixel binning (actually column binning / line skipping)
  • Lossless compression: 1736x976 @ 24p continuous (this is the maximum 16:9 resolution with 3x3 sampling)

Notes:

  • It's quite bleeding edge (expect bugs)
  • Includes lossless compression for MLV (mlv_lite/mlv_play) and DNG (silent/pic_view)
  • Includes lua_fix and dynamic-my-menu
  • You will generally need to use the (non-realtime) preview from the raw recording module.
  • Setting the preview to Frozen LV will give sligthly better recording times.
  • Modes with higher vertical resolution will have real-time preview only for the top of the frame.
  • Modes with higher horizontal resolution will have the preview completely broken.
  • Centered x5 zoom will show either a cropped real-time preview, or a slow preview with correct framing (half-shutter to toggle).
  • mlv_lite has lossless compression and H.264 proxy, mlv_rec has uncompressed 14/12/10-bit video and native sound recording

Forum discussion

Branch: crop_rec_4k

Latest Build (2017-09-25 23:32)

mlv_dump.exe

mlv_dump.linux

mlv_dump.osx

magiclantern-crop_rec_4k.2017Sep26.5D3113.zip

magiclantern-crop_rec_4k.2017Sep26.5D3123.zip

magiclantern-crop_rec_4k.2017Sep26.700D115.zip

magiclantern-crop_rec_4k.2017Sep26.EOSM202.zip

382dafb: Raw backend: start autodetecting white level from Canon's estimation, instead of our own initial guess
- it appears to underestimate the true value consistently, by up to 0.38 EV - to be tested with raw_diag
- also needs testing on models other than 5D3 (check the console after taking a CR2 picture with raw overlays, at different ISOs

a5dfb1c: Raw backend: attempt to fix false clip warnings with non-overexposed ETTR'd images
experimental, might break with dual_iso or iso_regs (to be tested)
http://www.magiclantern.fm/forum/index.php?topic=20579.msg190330#msg190330

629c80a: mlv_lite: reworded Rec trigger menu, hopefully in a less confusing way

All changes on BitBucket

Build Log


10/12-bit RAW video

Experimental raw video recording at lower bit depths. Only models with CONFIG_EDMAC_RAW_SLURP are compiled.

Forum discussion

Branch: raw_video_10bit_12bit

Latest Build (2017-08-21 08:24)

magiclantern-raw_video_10bit_12bit.2017Aug21.100D101.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.1100D105.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.5D3113.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.5D3123.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.600D102.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.60D111.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.650D104.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.6D116.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.700D114.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.70D112.zip

magiclantern-raw_video_10bit_12bit.2017Aug21.EOSM202.zip

870cedc: Merged unified into raw_video_10bit_12bit

0752dd8: Merged in raw_fixes (pull request #828)
Raw fixes part 5

f3f6916: fio-ml: added get_dcim_dir_suffix(); moved get_dcim_dir() from dryos.h

17ceddd: mlv_rec/mlv_lite: moved write_mlv_vers_blocks to mlv.c/h
(avoids duplicate code)

02f01f0: mlv_play: fix a fio_malloc issue (not tested, might fix issue #2766)

e5d9110: Merged in raw_capture_info (pull request #827)

a9f41d0: mlv_dump: fix compilation after rawc header update

ff6f36e: get_current_dialog_handler: fix return value when no dialogs are present

afcf332: fix rules to allow "make -j"

07d376a: Merged in edmac (pull request #811)
EDMAC module + fixes

b50b476: edmac-memcpy: fix compilation

50ca62d: Merged unified into edmac

3f5322a: Merged in backtrace (pull request #849)
Stack trace (aka backtrace) in crash logs

2804bee: Close branch backtrace

8551a9c: selftest: fix incorrect strings (AllocateMemory != system memory)

07c1020: edmac.mo: fine-tuned transfer size info

10e3346: selftest: AbortEDmac test

bc529a0: selftest: edmac_memcpy test

a57c840: edmac.mo: transfer size test

7ab594e: edmac-memcpy: use and decode transfer size from flags (to be tested)

1168658: edmac_test: proper memory allocation

7b09278: edmac-memcpy: updated edmac_find_divider for latest hypothesis

All changes on BitBucket

Build Log


Latest Lua updates + fixes (please review)

Latest Lua updates (details).

Includes many other backend changes, e.g. focus, menu, Q button handling, fonts etc.

Therefore, it's important to give it a good try on all functions, not just Lua, so we can include it in the nightly builds.

Also includes lens.focus_pos and dynamic-my-menu.

Forum discussion

Branch: lua_fix

Latest Build (2017-09-11 20:58)

magiclantern-lua_fix.2017Sep11.100D101.zip

magiclantern-lua_fix.2017Sep11.1100D105.zip

magiclantern-lua_fix.2017Sep11.1200D101.zip

magiclantern-lua_fix.2017Sep11.500D111.zip

magiclantern-lua_fix.2017Sep11.50D109.zip

magiclantern-lua_fix.2017Sep11.550D109.zip

magiclantern-lua_fix.2017Sep11.5D2212.zip

magiclantern-lua_fix.2017Sep11.5D3113.zip

magiclantern-lua_fix.2017Sep11.5D3123.zip

magiclantern-lua_fix.2017Sep11.600D102.zip

magiclantern-lua_fix.2017Sep11.60D111.zip

magiclantern-lua_fix.2017Sep11.650D104.zip

magiclantern-lua_fix.2017Sep11.6D116.zip

magiclantern-lua_fix.2017Sep11.700D114.zip

magiclantern-lua_fix.2017Sep11.70D112.zip

magiclantern-lua_fix.2017Sep11.7D203.zip

magiclantern-lua_fix.2017Sep11.EOSM202.zip

dcce2d4: menu: fix null pointer issue in dynamic menus

973d21a: menu: fix regression in Modified menu (with API tests)

All changes on BitBucket

Build Log


Pre-recording with half-shutter triggers

Pre-recording with half-shutter triggers (details).

Should work on top of latest nightly build.

Forum discussion

Branch: rec-trigger

Latest Build (2017-08-17 22:29)

mlv_lite.mo

7441ed4: mlv_lite: fix compilation

9e60bc5: mlv_lite: prevent recording in x10 zoom
(to be used for focusing)

All changes on BitBucket

Build Log


Non-CPU lens info

Set lens name, focal length and aperture for manual lenses. Lua script.

Forum discussion

Branch: manual_lens_info

Latest Build (2017-04-04 21:38)

magiclantern-manual_lens_info.2017Apr04.1100D105.zip

magiclantern-manual_lens_info.2017Apr04.500D111.zip

magiclantern-manual_lens_info.2017Apr04.50D109.zip

magiclantern-manual_lens_info.2017Apr04.550D109.zip

magiclantern-manual_lens_info.2017Apr04.5D2212.zip

magiclantern-manual_lens_info.2017Apr04.5D3113.zip

magiclantern-manual_lens_info.2017Apr04.5D3123.zip

magiclantern-manual_lens_info.2017Apr04.600D102.zip

magiclantern-manual_lens_info.2017Apr04.60D111.zip

magiclantern-manual_lens_info.2017Apr04.650D104.zip

magiclantern-manual_lens_info.2017Apr04.6D116.zip

magiclantern-manual_lens_info.2017Apr04.700D114.zip

magiclantern-manual_lens_info.2017Apr04.7D203.zip

magiclantern-manual_lens_info.2017Apr04.EOSM202.zip

0b173c1: ui.lua: ported 9f71744 (not tested)

8651458: Merged lua_fix into manual_lens_info
(not tested; todo: port editor fixes into ui.lua)

34c6cbd: Merged unified into lua_fix

8cd7485: lens.h: fix bad merge

546bbc7: Merged unified into manual_lens_info

d5915d6: Backout 722c851 (fix FIR not included in the zip)

fc3ec35: Merged in raw_fixes (pull request #820)
Raw fixes part 4
Approved-by: Alex

c95ec19: Silent pictures: minor error handling fix

e26684f: Silent pics: only show the slit-scan mode option when you actually select slit-scan

a881f05: Silent pictures: fix allocating memory for a single picture
(frame size not known in advance and might be larger than max shoot block size)

eff649f: Silent pictures: fix overflow when allocating memory for burst mode

97cc437: Merged in task_name (pull request #796)
New method for getting current task names (refactor)
Approved-by: Alex

3664a5a: Close branch task_name

d014368: Raw backend: fix black border on raw previews (completes 23d1f0e)

ad8ae4c: Lua: fix error checking in menu.get (also API test)

b63c905: Lua: unify menu.get and menu.gets (using an optional argument for menu.get)

7d5284a: Merged unified into lua_fix

ce4b49b: Merged cleanup into unified

016a0e5: Removed april fools prank

8a6e123: debug.c: removed unused code

82d9b13: Zip comment: removed old links

732bdb3: fio-ml: fix possible buffer overflow with PROP_CARD_SELECT
(might happen on unusual settings or new models)

All changes on BitBucket

Build Log


Warning!
Magic Lantern is not approved nor endorsed by Canon in any way, and using it will probably void your warranty.
We are not responsible for any damages to your camera.

Copyright (C) 2009-2017 Magic Lantern Development Team

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.