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>
This commit is contained in:
parent
e68f8e31e4
commit
6dca5be057
59
doc/develop/manifest/external/libmpix.rst
vendored
Normal file
59
doc/develop/manifest/external/libmpix.rst
vendored
Normal file
@ -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…
Reference in New Issue
Block a user