Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add MMAL decoder/renderer for Raspberry Pi #80

Merged
merged 2 commits into from
Mar 8, 2020
Merged

Conversation

steveatinfincia
Copy link
Contributor

This uses the MMAL API to decode incoming h264 NAL units, then sends
them to a standard QML VideoOutput rendering system using QVideoFrame.

At the moment there is an extra memcpy() step, for PiP it won't be
an issue but for 1080p high frame rate it might. There is a way to
feed the decoded buffers directly into a QAbstractVideoBuffer, either
with raw YUV data or a GL texture, and code to handle that is being
tested separately.

This completely replaces GStreamer on the ground station, we no longer
need to use or package it for QOpenHD.

Enabled by setting EnableVideoRender in the qmake file for a specific
platform.
This uses the MMAL API to decode incoming h264 NAL units, then sends
them to a standard QML VideoOutput rendering system based on
QVideoFrame.

At the moment there is an extra memcpy() step, for PiP it won't be
an issue but for 1080p high framerate it might. There is a way to
feed the decoded buffers directly into a QAbstractVideoBuffer, either
with raw YUV data or a GL texture, code to handle that is being
tested separately.
@steveatinfincia steveatinfincia merged commit 43cbb60 into master Mar 8, 2020
@steveatinfincia steveatinfincia deleted the mmal_decoder branch March 8, 2020 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant