 Great. I'll just start. My name is Michael. This is Alex. I'll talk a bit about the history and the story and how it all came together and what we're doing with Magic Lantern. And Alex, we'll go into the more technical side of it and talk a bit about photography and what we've done there. So, HumaView has a Canon camera. Are there any Canon users in the room? So, you can see Canon cameras. They're pretty widespread and a lot of people use them. I'm not sure why we've spent so much time with Canon at first and not Nikon, but that's how it happened. So, we've got a workshop on Friday and please join us if you're interested in hacking your devices. So, what is Magic Lantern? It's a free open software firmware add-on for EOS cameras. With add-on, we mean we're not flashing the devices. We're doing differently, which has a couple of benefits. And it's developer hobbyists in our spare time, but it's used by a lot of people and professionals use it for their jobs as well. So, it's quite stable by now. And we try to add not only photo functionality, but also video functionalities. So, the idea is you can take those very good sensors and use them for video capture as well. It runs from the SD card, so the software we're producing, or the CF card. And, as I said before, we're not flashing, we're just executing it. So, we have 18 active ports at the moment for all the different cameras that are out there. And new ports are coming whenever someone feels like finding out how to run it. Usually, the difference is not so much between the cameras, so that makes it possible to port Magic Lantern to new cameras as well. The community is really pretty large. We've got over 300,000 downloads. And that's just for the stable release. We don't really know what's happening with the nightly builds. And we've got about 28,000 registered users on the forum. So, that's not just people that are downloading the software, these guys are actually participating. The source code, as you can see here on the graph, after 2013, things pretty much exploded and a lot of people joined in. That's why so much functionality came into this project. Take this quote with a grain of salt because, although it's just trying to guess at the size of a project. But we've got 76 actual contributors just in the last year, so that's pretty good for a project like this. What I said before, it only runs in RAM, so we are not flashing. We either forge a firmware update, so with a payload that gets executed instead of the actual flashing taking place. Or, once we've done that, we can set a certain flag in the camera that activates developer mode that searches for an auto-exec bin file that we can then put on the cards. And whenever the card is whenever the camera is started, our code executes and we can take over. So, taking over means we move around the memory pools, try to get as much memory as we can. And we hook into the original firmware tasks and we try to do all kinds of funky stuff. So, we've got our own menu, so we are not editing a lot in the original Canon memory. They exist, friendly, next to each other. And then all the stuff we're talking to telling you about happens. The legal issues, well, it's like smartphone jailbreaking, but cameras, they have no software ecosystems, so it's not probably as dangerous as in some other areas. But we're careful anyway, so we do not copy any verbatim Canon code. And from a certain standpoint, I think we are more or less safe in the way we do stuff. We had to sign our firmwares, even though they are not firmwares, they need to be executed. And the keys we use for that, we just have them internally, we are not distributing them officially. And there are some ethical decisions, it's so far we haven't touched any of the pro-pro-pro cameras. That's because they are a bit expensive for us as well. About the history, it was mostly a one-man show in 2009, so the project is about five years old by now. And then stuff happened, so we were inspired by some of the things that happened in other hacking projects. We went on to Bitbucket, then Alex took over as one of the lead programmers, and he has invested a lot of time into the project. HGR video happened in 2011, then we started a new homepage, this is where all the usual users of the cameras joined in and used the software, helping us improve it. In 2013, a lot of stuff was happening, so we added a lot of modules. There was 14-bit raw video recording, which is very interesting, I'll talk about that later on, but it really pushes these cameras to the professional film cameras from Hollywood. And they are about €2,500 only, even the best Canon cameras you can get in this segment. And also the last three months, a lot of stuff happened, a lot of re-factoring and new formats, RSA image encryption for those people who need that in the field, a unified audio framework, some scripting, and Alex will talk about a sensor upgrade. Just a short information, 14-bit raw video, the idea is you take the raw sensor data from the sensor, you don't do anything with it, you just pipe it through, put it on the card, and then on your box at home, you can edit that footage. You de-barry it, you sharpen it, you do all kinds of stuff with it. You've got the full 14-bit color information, which gives you all kinds of possibilities to grade the image. Okay, so this is how it looks with the standard H.264, and this is how it looks with raw. You can see how the highlights are retained, how the details are retained, all that kind of stuff. So, it's your turn. Okay, so as you may know, Magic London is very popular for video, you know that this whole video discovery was increasing the film traffic like, I don't know, 10-fold or something like this. For myself, I use mostly a photo guy. So, one of the most asked questions in forums like camera rumors or photography on the net, is if I just take still photos, no video, what can Magic London do for me? And I thought to fill this gap a little and present three main features that I use, like every time I use the camera, I use this picture all the time. So, if we look at the development history, right before the raw video, you can see that the first batch was finding the photo image buffers that get saved into the raw file. So, with this raw buffers, I was trying to get correct overexposure warnings to tell when the picture is overexposed or not. A while ago, we found the live view buffers, which was a huge discovery. So, the same raw data was also available in live view at 30 frames per second. And, like, we'd like to have some challenges. We found out a way to write this data steam fast enough to the cards. So, at this moment, the revolution began. So, a lot of bloggers covered it and it was a real madness. We couldn't keep up with this discovery. But what not many people know was that the raw video discovery was started by a breakthrough on the photography side. So, of course, we did not forget the photos still shot us. So, while I was looking for correct overexposure warnings, this is a JPEG image. And you can see that the JPEG histogram is clicked on the blue channel. Is this picture overexposed or not? No, it's actually underexposed by at least one full stop. But the JPEG histogram is lying. So, if you record JPEG for H264, this image is really overexposed. But if you record raw, it's underexposed. Why does this matter? Because if you underexpose by one stop, you double the amount of noise in the shadows. So, here is a technique to expose to the light. You know some basic rules for minimizing noise. Like you should capture more photons, like slow shutter speed or wider temperature. Once you run out of photons, you increase ISO to reduce electromagnetic noise. And of course, make sure we don't keep important highlights. Of course, when you protect the highlights, you underexpose and you add noise. So, I tried to automate this process. So, you tell the camera how many highlights you are looking to clip, how much noise you accept, what shutter speed are you willing to use, maximum ISO. So, it's an optimization problem. So, here is the problem with Canon exposure metering. Here in this shot, the picture was underexposed by around 1.5 stops. And as soon as I changed the framing only a small bit, the picture became overexposed by 0.5 stops. In contrast with my exposure algorithm, I tried to push the histogram as much as I can to the right side without clipping important highlights. So, you can see that this method does not depend on how I frame the image. It doesn't care where these highlights are in the picture. So, it gets the same exposure no matter how I frame the shot in contrast. Canon exposure is not very consistent. Okay, so we have optimized the exposure for raw shooting, but there are still some tricky situations when this is not enough. For example, when shooting from an inside, like this room, and you also want to keep the detail from outside, out of the window. So, you may know, or you may not know that on Canon cameras, the lowest ISO, ISO 100, is also the most noisy one, contrary to the popular image. So, if you don't believe me, I'll show you with an image. So, this is noise at ISO 100. Of course, it was pushed by 7.5 stops in post-processing. And the same image as ISO 1600, of course, pushed only by 3.5 stops to get the same overall brightness. It's much cleaner. So, the three images were taken at the same shutter speed and aperture. So, they were taken in identical conditions. So, you can see that ISO 1600 is much cleaner. But, of course, you don't get high-light detail. You lose four stops of high-light detail. Is that because noise reduction is taking in? No, it's because the ISO 1600 uses internal amplification. So, the signal becomes much higher than the noise from the electronics. So, this low ISO has a lot of electronic noise. Here, the signal is much stronger than you don't see the noise. But, you also lose the highlights. So, by pure luck, by playing with the sensor control registers, we found out that we could scan the image at two different ISOs. Like half of the lines at one ISO and the other half at some other ISO. We just combined both ISOs and got clean shadows and good high-light detail. So, you can compare it. We have high-light details. We have clean shadows. This is how a dual ISO looks like as captured. Of course, I run a post-processing utility to get a DNG file that looks like this, just like with ISO 100. But, the difference is that I can't bang the shadows without the noise. If you try to do this with a stock Canon, you can't. But, no problems with the Nikons, for example. Of course, even the Nikons can get like one stop of improvement with this technique. If you look on the site of our friends NikonHacker.com, you will see that they also are researching this actively. For future friends, we will keep on adjusting the sensor registers. So, if our math is not broken, we will be able to get almost one full stop of improvement in shadows. So, you will get two times as little noise. The noise will get cut in half. So, this should be like upgrading to a new sensor, right? And another work in progress. C compiler that can run directly on your camera. Your camera is actually a computer. You will be able to program it with C code. So, we took the tiny C compiler from Fabrice Belal. We compiled it on the camera, and here we have a proof of concept that prints Hello World and does a small clock. That's it. So, it's very difficult to make predictions about how the future will look like. So, we had no idea that we will be able to do things like video or HDR video. And it would be very nice. We are actually grateful that the open source community already invited us here. We are here because the dark table people invited us. And the dark table already took our deflicker algorithm for timelapse and implemented it in their software. And also, the FSMePag project also supports raw video format. So, that's it. See you on Friday. We will have a workshop. Bring your cameras. So, time for questions. No more battery. Yes. I'm just curious, do you know if Canon is interested in your features or if they are already... So far, they were silent. Okay, his question was if Canon is in contact with us or if they are incorporating any of other features. So far, we had no contact with Canon. I don't know. Have you decided if you would sell out to them? Yeah, we have. So, the question was if we have decided if you would sell out to them. So, I guess the answer is we have decided that we would not sell out to them. I mean, the fact is if they open up their software side, I think we'd love to help them. But it would have to happen in that kind of way. I have a Canon PowerShot camera which is not compatible. Yes. For the PowerShot cameras, you can use our sister project, our parent project, should I say, CHDK. So, it's similar, you can run scripts on the camera, you can do advanced bracketing, time-lapse and a lot of cool stuff with small PowerShots and they support like, I don't know, 100 cameras or something like this. So, it's impressive. You mentioned that you have some kind of ethical concern about working on higher-end camera model. Yes. Explain what you mean by ethical concern? Well, we don't want to... The question was about our concerns about the high-end cameras. We don't want to threaten Canon business model directly. So, if they want to sell a high-priced model with some advanced video features, we don't want to interfere with this. But we're open source, right? No, a question, but I wanted to say thanks. The answer is that it's all going with anything else that makes my life so much easier. Welcome. So, I won't repeat the question, but he says thanks. So, I have two questions. Firstly, how Canon-specific is this? How possible would it be for someone to do a Nikon-related... I don't like Nikon, I have to shoot it. So, the question was how Canon-related our code is and if it would be possible to port it to other cameras? Well, you need to rewrite most of the backend. For example, the tasks, the way of capturing the buttons, the way of displaying things, but other than that, I think the user-level features, once you have the backend ready, shouldn't be a very big problem. But of course, there are many camera-specific features, so not all of them would be available. But for simple things like an intervalometer or bracketing or, I don't know, scripting, for these things, the camera is just a computer. So, my second question, my mate, has you compared the RAW video that you get from the obvious device that competes with it, which reduces RAW video, which is the red? So, the question was if we've compared the RAW video from the Canon cameras to the competition from the professional film cameras like Reds or Alexis. We didn't do this personally, but you will find bloggers that already did. It's looking pretty good. It's looking good, yeah. Maybe I can answer these questions because I've been working for them for some years ago. Reds has made that confession on the... They enclosed the four-pronged... Yeah, I guess if you want to know more about that, we can just talk about it on Friday.