Browse Source
Introduce documentation for using libmpix as an external module in Zephyr. Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>pull/92206/head
1 changed files with 59 additions and 0 deletions
@ -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…
Reference in new issue