[vlc-devel] [PATCH v3 0/3] Add plugins for MMAL/Raspberry Pi

Julian Scheel julian at jusst.de
Thu Apr 10 12:18:00 CEST 2014


===
Update summary v3:
- Fix Makefile.am/Modules.am to correctly set LIBADD
- Do not link indirectly linked libs (libmmal_*) explicitly
- For patch specific changes, see single patch mails
===
Update summary v2:
- Rework configure.ac to autodetect presence of mmal
- Reformat code to avoid spaghetti lines
- Amend NEWS, MODULES_LIST and POTFILES
- For patch specific changes, see single patch mails
===

This patch series introduces a decoder as well as a video output plugin using
the Multi Media Abstraction Layer (mmal) by Broadcom, found on the Raspberry
Pi. While there is support for the Raspberry Pi in the VLC OMX plugins already
these plugins come with some advantages:

 - Support for zerocopy through opaque pointers
 - Support for native overlay blending through DispManX
 - Support for automatic HDMI mode adaptation through tvservice
 - Dramatically smaller/simpler code-base than the OMX plugins have, due to
   the ease of the MMAL API compared to OMX

In our testing the plugins work very reliable already. As of now for building
the decoder module the rpi-userland needs to be patched manually with the
patches from:
https://github.com/raspberrypi/userland/pull/160

They should be mainlined into rpi-userland soon and will then be available
through common Raspberry distribution updates.

For the future we plan to add a deinterlace plugin, but for this we are
pending on the Broadcom/Raspberry team to expose the deinterlace filters
through MMAL API.

Looking forward to see some comments!

Cheers,
Julian & Dennis

Dennis Hamester (2):
  video_output/mmal: Add mmal based video output plugin
  codec/mmal: Add mmal based decoder plugin

Julian Scheel (1):
  mmal: Register opaque fourcc in core as fake_fmt

 NEWS                            |   2 +
 configure.ac                    |  54 +++
 include/vlc_fourcc.h            |   3 +
 modules/MODULES_LIST            |   2 +
 modules/codec/Makefile.am       |  10 +
 modules/codec/mmal.c            | 575 ++++++++++++++++++++++++
 modules/video_output/Modules.am |   8 +
 modules/video_output/mmal.c     | 951 ++++++++++++++++++++++++++++++++++++++++
 po/POTFILES.in                  |   2 +
 src/misc/fourcc.c               |   3 +-
 10 files changed, 1609 insertions(+), 1 deletion(-)
 create mode 100644 modules/codec/mmal.c
 create mode 100644 modules/video_output/mmal.c

-- 
1.9.1




More information about the vlc-devel mailing list