Browse Source

doc: develop: manifests: external: add libmpix

Introduce documentation for using libmpix as an external module in
Zephyr.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
pull/92206/head
Benjamin Cabé 2 weeks ago committed by Dan Kalowsky
parent
commit
6dca5be057
  1. 59
      doc/develop/manifest/external/libmpix.rst

59
doc/develop/manifest/external/libmpix.rst vendored

@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
.. _external_module_libmpix:
libmpix
#######
Introduction
************
The `libmpix`_ project provides a library for working with image data on microcontrollers.
It supports pixel format conversion, debayer, blur, sharpen, color correction, resizing and more.
It pipelines multiple operations together, eliminating intermediate buffers.
This allows larger image resolutions to fit in constrained systems without compromising performance.
Features
********
* Simple zero-copy, pipelined engine with low runtime overhead
* Reduces memory overhead (for example processes 1 MB of data with only 5 kB of RAM)
* POSIX support (Linux/BSD/MacOS) and Zephyr support
Usage with Zephyr
*****************
To pull in libmpix as a Zephyr module, either add it as a West project in the :file:`west.yaml`
file or pull it in by adding a submanifest (e.g. ``zephyr/submanifests/libmpix.yaml``) file
with the following content and run :command:`west update`:
.. code-block:: yaml
manifest:
projects:
- name: libmpix
url: https://github.com/libmpix/libmpix.git
revision: main
path: modules/lib/libmpix
Refer to the ``libmpix`` headers for API details. A brief example is shown below.
.. code-block:: c
#include <mpix/image.h>
struct mpix_image img;
mpix_image_from_buf(&img, buf_in, sizeof(buf_in), MPIX_FORMAT_RGB24);
mpix_image_kernel(&img, MPIX_KERNEL_DENOISE, 5);
mpix_image_kernel(&img, MPIX_KERNEL_SHARPEN, 3);
mpix_image_convert(&img, MPIX_FORMAT_YUYV);
mpix_image_to_buf(&img, buf_out, sizeof(buf_out));
return img.err;
References
**********
.. target-notes::
.. _libmpix: https://github.com/libmpix/libmpix
Loading…
Cancel
Save