Make AXIOM Recorder use dmabuf
Open, NormalPublic

Description

To apply for this task please complete this mandatory coding challenge together with your application: T1227
Applications without matching coding challenge completed will not be considered.

Read our Google Summer of Code Overview page:
https://wiki.apertus.org/index.php/GSoC_Overview

The AXIOM recorder software is envisioned to record moving images from AXIOM cameras via either USB3 or Ethernet. Currently in that software data is copied multiple times which is not optimal in terms of performance. Using the dma-buf subsystem memory redundant copies between CPU and GPU, as well as external systems like vaapi or v4l2 can be avoided and would therefore be suitable performance optimization developments.

Goals:

  • Make the recorder use dmabufs where possible
    • There are several directions that can be explored here, either using a low level framework like libdrm to create the buffers or using something like vulkan to allocate the buffers.
  • After the recorder is made to use dmabuf, this can be used to implement a multitude of additional functionality very efficiently, like for example
    • V4L2 output
    • Open Broadcaster Software (OBS) plugin
    • VAAPI accelerated video encoding
  • implement one of these

Prerequisites:

  • Vulkan / GPU / Dmabuf Know-How
  • Linux Know-How

Language Skills:

  • Rust

Useful Links:

Difficulty: Hard

Mentors: vup

To get in touch with any mentor check the Mentor Contact List.

Related Objects

vup created this task.Feb 18 2021, 8:48 PM
anuejn updated the task description. (Show Details)Feb 18 2021, 10:34 PM
anuejn updated the task description. (Show Details)
anuejn updated the task description. (Show Details)Feb 18 2021, 11:18 PM
anuejn renamed this task from Make axiom-recorder use dmabuf to Make AXIOM Recorder use dmabuf.Feb 18 2021, 11:28 PM
sebastian updated the task description. (Show Details)Feb 19 2021, 6:56 PM
sebastian updated the task description. (Show Details)Feb 19 2021, 7:00 PM
sebastian updated the task description. (Show Details)Feb 19 2021, 8:05 PM
sebastian triaged this task as Normal priority.Feb 20 2021, 2:58 PM