 And here we have a Dragon board. Hi, so what are you doing? What are you showing here? So we're showing Kodi, we're decoding on the Dragon board. So on the screen you can see we have the latest Mesa driver, and we're building Kodi from the master branch. What's the Mesa driver? It's the open source GPU driver for the graphic ship present in the CPU. So this is a 410C? This is a 410C, yes. So you're not using the GPU? The free dino driver? This is the free dino driver, yes. That is part of Mesa. It's part of Mesa, ok. So let's introduce, who are you? I'm Jorge, I've been doing the video for Linux support on FFNPEG, using the driver that Stan has written. Yeah, I'm Stan, I'm writing and up-streaming the video for Linux driver. So we are using the hardware acceleration from the board. And who are you? I'm Kun and I did the build system integration for all this to make a demo possible. So video for Linux is pretty hardcore stuff, right? This video hardware acceleration is awesome stuff, is it? Yeah, sure. It was also very interesting being able to merge this into FFNPEG. The community was very accepting of all the patches and all the process was pretty smooth. So everything is upstream now, that's the good thing about what you say. So it's smooth? Yes, and when we open the player process window, the thing to pay attention to is that it says video for Linux to memory to memory. That shows that it's using hardware accelerated decodes. So what was the way to do it before, using proprietary drivers and stuff? Yes, so proprietary drivers with Qualcomm written, Stan wrote to driver. The driver is in mainline Linux now. And Jorge pushed the driver supporting to FFNPEG. And someone else on the Kodi side, Lukas Russack, wrote Kodi support and we integrated that so hopefully we get it upstream and Kodi soon as well. So you don't have to patch anything, it will just work. So this is awesome stuff, right? Yes. It's cool. I think it's pretty cool. It's pretty cool? So what does it mean to have an open source video decode? What does it bring to the world? What's very important about this? You can upgrade your kernel when you want to, what you want, it gives you more freedom, you're less locked to defender and if you find the bug, you can actually fix it. There was this thing with many people who were installing like Ubuntu or deviant and stuff on these boards and they're like, ah, there's no video decode, right? That was an issue every time. But that's not going to be an issue anymore. Yeah, it's fixed now. It's fixed now. What more is it to do if you say you fixed it now? What's the next? Tuning, tweaking and make sure that everything works. We have tested the easy things like H264 but for the other boards they will support other codecs and those need to be tested. How is it possible to make sure this is going to work with every ARM, SOC? Is that possible or is it only for this Dragon board right now? The video for Linux 2 is a kernel standard. Google wants to move to that so the idea is and the Codi people want to move to that as well that if you talk video for Linux it will work regardless of the SOC you use. Is this happening soon? I hope so. I mean that's not to say that some of the video drivers that exist, they might be bugs so it's not going to run smoothly in every platform we cannot guarantee that but it should. That's the beauty of it. Which part of the SOC is being used? Is it GPU only? It's a special part. It's a special section for video decoding. It's kind of like a DSP or something. It's like a video encode, a decode engine somewhere. Something like that. It has to be this. Can I just run on GPU? No, in theory you could use a GPU to decode it with shaders but this is way more power efficient. So how about VP9, H265, everything? Well this particular board doesn't have support for H265 or VP9, VP8, MPEC4, H263. All that's there in coding and decoding. The H20, basically the same software runs on the H20 board that we have over there. There you have H265 to support and VP9 and some other encoders and decoders. And is it easy to just hook in and take advantage of that software when it's there? Yeah. Everything works. But what is the kind of work that you've done before Linux 2? What is that software? Where does it go exactly? We can go for the bottom up. Stan, did all the drivers support? Yeah, I'm a writing driver and rewriting actually to feed the upstream sound rights. For the Linux kernel? Yeah, for the Linux kernel and for video-free Linux adaptation we found some gaps in the video-free Linux core. We fixed them to support our driver. And yeah, we support decoding and coding on this board and on the H20 also. We use the same driver. Yeah, that's it. Then from the driver, we have an FFNPEG project that uses the driver capabilities and enables encoding and decoding from user space. And this is why later on Codi and any other projects can use this FFNPEG interface to access in the same way every single hardware encoder or decoder. Encoder and decoder, yeah. So as the whole world, as everything people want. Yes. And this stuff easily hooks into the browser when you go and if you check a YouTube video on the browser is it going to use any of this stuff? Chromium has an FFNPEG backend. I'm not sure if that's set up to use video-free Linux, but yes, that's the idea. The idea is for Google for Chromebooks that if you have an SOC to put in a Chromebook it needs to do V4L because Google all wants to support. So everything inside the OS just gets video acceleration hopefully easily. Yeah. And then that will be an issue of the past. I think so. Hopefully. So what's your background? Have you worked a lot with codecs and stuff? I've done a little bit. I've worked many years with Cerox in the US so I know a little bit about video and imaging. More imaging than video. Stan has much more experience on the internet. Yeah, he has the most experience in video-free Linux and it's a lot of stuff. And lots of stuff with video codecs and decoding and stuff. Yeah, that's my first time having to do something with encoders and encoders but I'm trying to understand everything. Yeah, I actually have some experience with again with video-free Linux but for the capture, for the cameras I have been part of the streaming from drivers in the video-free Linux. So cameras, like the one I'm using right now how does it encode the video? Is it an FPGA? What's going on in there? We have an ASIC in there. An ASIC. Yeah, we'll think so. And is it running an open-source software or never? Joe's Sony camera? I'm not sure. Maybe not. Maybe? Maybe. Sony cameras usually run Linux but you never know it. It boots up in like a second. Yes, if you see Tim Bird around, ask him. He was in charge of the camera things a while ago. And you love this kind of... Cody kind of things? Yes, it's what I use at home to consume my media. So I'm happy that it now works and I can, if I wanted to, can replace things by Dragonboards. So you want to send a message to the Cody community? What do you want to say? Welcome. Welcome? Thank you. Thank you, but also... here it is. Yes, maybe here it is. It works. Please accept the patches when they go upstream. Cool. And you're going to meet them soon? The Cody... They will be in Prague at ELCE. There will be some Cody developers and we're going to meet up. Are you going to be there? Yeah, I'll be there as well. So what are you going to talk with them about? We don't know, we'll see. What's next? 8K. World domination? World domination. Well, the 820 can do 4K. What do you think about Cody? I love it. I really like it. I'm very impressed. It was a very smooth, the whole process and the merging and the build system is good. It's very good. Cool. I don't see any dropped frames at all. Everything is working, right? It plays back really, really smoothly. Cool.