What is a VDSLR?
VDSLRs are Digital cameras that have the side functionality of recording videos, hence their name: Video Digital Single-Lens Reflex Camera
What is Magic Lantern?
Magic Lantern is an aftermarket firmware for Canon VDSLRs. It is more like like CyanogenMod is for Android devices: it brings lots of functions not available on the stock Canon Firmware.
What is this for?
This application will let you control some features of Canon VDSLRs from your Android device. Currently the available features are very slim, but that's because this is only an initial pre-release:
* Accesss to LiveView (even while recording)
* Access and set Magic Lantern menu items (if ML is installed)
Isn't there already an app for this?
Yes, Chainfire's DSLR Controller
is capable of controlling Canon cameras too. Although I haven't used it, I'm sure it's much more stable, supported and has much more features.
But I think there is market for another app, that is mainly designed for videographers. Having helper code also running on the device (via Magic Lantern FW) also gives you more options avialable.
What devices are supported?
Currently the app was tested on the following devices:
* Canon 60D
* Samsung Galaxy S i9000 phone, running CM9 with USB host kernel
* Teclast P76Ti tablet running ICS
* Android-x86 running ICS in VMWare Player
It should however also work on the following devices:
* Any Canon DSLR camera and firmware version that is supported by the Magic Lantern unified Firmware:
* Canon 5D Mark II
* Canon 60D FW 1.1.0
* Canon 600D FW 1.0.1
* Canon 550D FW 1.0.9
* Canon 50D FW 1.0.8
* Canon 500D FW 1.1.1
* Any Android devices that have USB Host functionality and have at least Froyo running on them
* It was tested on two NEON capable ARMv7 and an x86 device, but it also has code to support older ARM, NEON-less ARMv7 and MIPS based (like the Ainol Paladin) devices too.
Which versions of ML are supported?
Currently the code for accessing the device via USB is not merged upstream. I hope it will be done sometimes. Until that you need to download ML from my branch
What are "USB drivers"?
In ML Controller there are two USB Drivers avialable:
* Android API
* Native Kernel Interface
Android API is available since Honeycomb, and is an official Java based API on getting data from USB devices. It doesn't have some features (like reseting the device), and is based on Java, so it's a bit slower.
Native Kernel Interface is available on all rooted Android devices (and also on devices which have their usb permissions set wrongfully). It can access the USB devices natively without using Java, and also has a few functions that are missing from the official Android implementation. If you have a rooted device you should use this driver for performance.
What are "NEON optimizations"?
NEON is an advanced instruction set avialable on some high-end ARMv7 (Cortex-A8 and Cortex-A9) devices. Most Cortex-A8 and A9 based devices have NEON capabilities (including Samsung's Exynos, TI's OMAP, Qualcomm's Snapdragon and Allwinner's A10 processors), the most notable exception is nVidia's TEGRA 2 and TEGRA 3 processors, which unfortunately do not have this instruction set.
If NEON optimizations are enabled image processing tasks are processed natively using libjpeg-turbo for jpeg decompression and some self written asm code for YUV422->RGB conversion. If these optimizations are disabled then Java APIs will be used for JPEG decompression.
LiveView Image is grayscale while recording, why?
Color image rendering is currently only avialable if you enable "NEON optimizations". Java is too slow to process color information, and ATM I've made no native alternatives to support non-NEON capable processors.
LiveView Image colors are off while recording, why?
The code is based on Wikipedia's YUV422->RGB article. In a later version you will be able to fine tune the parameters.
After selecting the device in the device list nothing happens, what should I do?
Try shutting off the camera and turning it on again. Also try to use Movie mode on the Camera. You can also try switching "USB drivers".
The camera hanged, now it won't even turn off, what should I do?
Take the battery out and put it back again.
I hate you!
This is not a question. But you're welcome!