June 18, 2020
In just over a week's time, from June 29 to July 2, Collabora will be taking part in the virtual editions of Embedded Linux Conference North America and Open Source Summit North America. Jam-packed with over 230 keynotes, conference sessions, tutorials and BoFs, these events will be the first major Open Source conferences to take place online this year.
Collaborans will be presenting on five separate occasions during the week, on topics including upstreaming image signal processing drivers, PipeWire and the automotive industry, Linux stateless video codec support, creating an Open Source project in a proprietary industry, and building an Open Source AI stack with Panfrost, GStreamer and Tensorflow Lite! Below are the details for each of these presentations.
If you are planning on attending, please come say hello in the online chats during each presentation, or contact us if you would like to setup a virtual meeting during the week!
Embedded Linux Conference North America
- Image Signal Processing (ISP) Drivers & How to Merge One Upstream
Helen Koike • Monday, June 29 • 11:30 am CDT
Image Signal Processing (ISP) units are hardware accelerators attached to camera sensors. Coming with more and more features, ISPs are essential nowadays for phones and tablet devices, capable of capturing pictures with high quality resolution and several image effects and filters.
The Media subsystem in the kernel offers a framework and defines APIs for ISP drivers to be upstreamed. There are different ways to model the hardware and expose its capabilities and features to userspace through a Media topology, which reflects the complexity of the hardware. Cameras are becoming more and more complex, making it necessary for drivers in userspace, and this is where the libcamera project comes into play.
In this talk, Helen will share a bit of her experience upstreaming the Rockchip ISP1 driver, going over the topics mentioned above, also comparing with other ISPs hardware/driver architectures and sharing tips and lessons learned along the way, to hopefully be useful for other willing to upstream another ISP driver.
- PipeWire: The New Multimedia Service, Now Ready for Automotive
Julian Bouzas • Monday, June 29 • 12:30 pm CDT
PipeWire is the new emerging open source project that aims to greatly improve both audio and video handling on Linux systems, both desktop and embedded. It was recently adopted by Automotive Grade Linux as the core audio framework because its design's flexibility makes it possible to address automotive requirements, replacing entirely previous solutions and addressing new use cases such as achieving ultra low latency with zero-copy media exchange, and allowing external session managers to define device policy logic.
In this talk, Julian is going to present the PipeWire project, how it evolved to overcome the automotive industry use cases, and what the current upstream status is. Julian will also present the WirePlumber policy management framework, which makes it easy to write use-case specific policy systems.
- Linux Stateless Video Decoder Support
Nicolas Dufresne • Tuesday, June 30 • 11:25 am CDT
While it has been under development for years, the support for video CODEC accelerators has gain a lot of traction in past year. A formal specification has now been merge into Linux Media subsystem and staging control APIs and drivers now exist. This allow for blob free HW accelerated decoding on popular SoC like Allwinner, i.MX8 and Rockchip.
In this talk, Nicolas will give an overview of the decoding process using such hardware accelerators along with an overview of the user space API and how it's used within multimedia frameworks. Nicolas will also explain the relation between this and accelerators attached to modern GPUs. This presentation would not be complete without mentioning the development of FFMPEG and GStreamer native support and their major role in the development of the the new Open Source drivers.
This talk is addressed to multimedia enthusiasts and developers curious about video decoding and the upstream effort effort to make that available to users.
Open Source Summit North America
- Living on the Edge: Pure Open Source AI Stack with Panfrost, GStreamer and Tensorflow Lite
Marcus Edel & Aaron Boxer • Monday, June 29 • 12:30 pm CDT
The current machine learning hardware landscape is dominated by Nvidia and its closed-source CUDA ecosystem. Although AMD's ROCm software is a growing rival, Nvidia is still the market leader by a wide margin. Open Source machine learning libraries such as TensorFlow, PyTorch and mlpack rely on this closed stack to accelerate learning and inference, locking developers in.
Can we give freedom of choice back to machine learning developers?
The new Panfrost open source driver for Mali GPUs is solving this problem on the Edge by enabling a fast and efficient machine learning stack running pure open source.
In this talk, we will walk through the process of building a computer vision pipeline on top of a completely open-source inference stack: open-source GPU driver, machine learning framework and machine learning models. We will also share what we have learned about optimizing these models to run fast on resource-constrained hardware such as the Rockchip RK3399.
- Creating an Open Source Project in a Proprietary Industry
Olivier Crête • Tuesday, June 30 • 4:15 pm CDT
Creating a new project is doubly challenging when the target industry has proprietary software as the norm. Taking code written as closed source and building a community around it is never easy, but it's even more difficult when none of the developers have participated in Open Source projects before. Such is the story of SRT (Secure Reliable Transport), an Open Source protocol that has taken the TV contribution world by storm. This is the story of how we helped Haivision take its internally built SRT protocol and helped make it the main player in low latency transport of video.
As an addition to previous versions of this presentation, I will also explain how in this industry, Open Source goes beyond what can be accomplished by mere Open Standards.
I'll explain the kind of things that we had to take care of when creating a new Open Source project. Starting with an evaluation of existing software, are we pointlessly re-inventing the wheel? Followed by a plan for a community, with an appropriate choice of license, a governance model, a communication and collaboration infrastructure. And last, but not least, a solid commitment from the main sponsor.