Open Projects

Google Summer of Code 2021 Project Ideas

Multistream support in GStreamer element

Description of the project:
The GStreamer libcamera element allows libcamera to be used in GStreamer pipelines. libcamera supports simultaneous streaming, for example having lower quality one stream for preview, while another higher quality one is used for recording. We would like to extend support for the GStreamer libcamera element to support this multistreaming.
Expected results:
A working GStreamer libcamera element that supports streaming multiple streams simultaneously
Confirmed mentor:
Paul Elder
Desirable skills:
Good knowledge of C and C++.

vimc multistream support

Description of the project:
vimc is a driver that emulates complex video hardware, and is useful for testing libcamera without needing access to a physical camera. We would like to add support to the libcamera vimc pipeline handler for multiple simultaneous streams, to ease testing of such mechanism. This also requires adding multistream support to the vimc driver in the Linux kernel.
Expected results:
A working vimc driver and pipeline handler that supports streaming multiple streams simultaneously
Confirmed mentor:
Paul Elder
Desirable skills:
Good knowledge of C and C++. Some knowledge of V4L2 would also be beneficial.

OpenGL/OpenCL software ISP

Description of the project:
Image Signal Processors (ISPs) implement the functions necessary in an image pipeline, to transform a raw image from a sensor into a meaningful image that can be displayed. Examples of such functions are debayering, demosaicing, noise reduction, etc. Most ISPs are currently implemented in hardware, so a software-based ISP would be useful for testing and experimentation in the absence of a hardware ISP, and would be an open source ISP implementation.
Expected results:
A software ISP that implements some amount of ISP functions
Confirmed mentor:
Paul Elder
Desirable skills:
Good knowledge of C and C++. Some knowledge of OpenGL or OpenCL would also be beneficial.