[vlc-devel] [PATCH 00/14] mmal: Optimise buffer handling

Julian Scheel julian at jusst.de
Wed Jun 3 09:50:25 CEST 2015

This patch series requires the previous cleanup series to be applied first.
These patches contain a major rework of the buffer handling wrt the relation
of mmal buffers and vlc pictures. The new approach of having mmal buffers tied
statically to vlc pictures avoid some pitfalls which could be easily hit with
the old approach when not being overly careful with the buffer code.
Furthermore this allows us to make use of the "zerocopy" mmal port feature,
which avoids a copy of the buffers being made between GPU and CPU. Right now
this can be only used for opaque buffers, which are a few byte only, but still
this gains a little extra performance. At some point in time we might be able
to use it for non-opaque mode as well.

Julian Scheel (14):
  mmal/vout: Use fixed binding of mmal buffer to picture
  mmal/codec: Try to apply fmt changes without disabling port
  mmal/codec: Clear data from buffer header before release
  mmal/codec: Do not disable ports for flushing
  mmal/deinterlace: Clear data from buffer header before release
  mmal/deinterlace: Release picture if unable to process
  mmal/deinterlace: Rework to use pictures from vout pool
  mmal/codec: Rename mmal-zerocopy option to mmal-opaque
  mmal/codec: Do not use local buffer pool in opaque mode
  mmal/deinterlace: Do not use local buffer pools
  mmal/deinterlace: Do not filter the same picture twice
  mmal/deinterlace: Free unusable buffers
  mmal/vout: Use port bound pool allocation
  mmal: Use zerocopy ports for opaque mode

 modules/hw/mmal/codec.c        | 176 +++++++++++++++++-----------
 modules/hw/mmal/deinterlace.c  | 259 ++++++++++++++++-------------------------
 modules/hw/mmal/mmal_picture.c |  33 +-----
 modules/hw/mmal/mmal_picture.h |   4 -
 modules/hw/mmal/vout.c         |  25 +++-
 5 files changed, 230 insertions(+), 267 deletions(-)


More information about the vlc-devel mailing list