[vlc-devel] [PATCH v3] Add mmal deinterlace filter

Julian Scheel julian at jusst.de
Wed Sep 3 09:26:46 CEST 2014


===
Update summary v3:
- Add missing alloc checks
- Remove artificial fps limitation
- Improve frame_duration computation
===
Update summary v2:
- Fix incomplete function prototype in mmal_picture
- Fix bad locking in deinterlace
- Fix early release of picture pool (causing segfault) in deinterlace
===

This series adds a mmal based deinterlace filter. The filter currently can
only handle the mmal opaque picture type. Once the Raspberry firmware is fixed
to make mmal image_fx work with non opaque buffers we can extend it to also
deinterlace other image types.
As the mmal image_fx module requires nearly 20 buffers in its output pipe all
the time we cannot use the vouts picture pool. Instead we create an internal
picture pool in the image filter, which creates pictures that link to mmal
buffer headers. Those buffer headers can be directly sent to the mmal
video_render module, so that no overhead is caused by this approach in terms
of copying image data around.
To be able to use this picture pool approach the vout and deinterlacer need to
use a common picture_sys, which is moved from vout to mmal_picture in the
first commit.

Julian Scheel (1):
  mmal: Add deinterlace filter

 modules/hw/mmal/Makefile.am   |   6 +
 modules/hw/mmal/deinterlace.c | 519 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 525 insertions(+)
 create mode 100644 modules/hw/mmal/deinterlace.c

-- 
2.1.0




More information about the vlc-devel mailing list