docs(tjpgd): update tjpgd docs (#4959)

This commit is contained in:
Niklas Fiekas
2023-12-08 22:12:03 +01:00
committed by GitHub
parent cd368b0a40
commit 2120422d69

View File

@@ -2,43 +2,28 @@
TJPGD decoder TJPGD decoder
============= =============
Allow the use of JPG images in LVGL. Besides that it also allows the use Allow the use of JPG (JPEG) images in LVGL.
of a custom format, called Split JPG (SJPG), which can be decoded in
more optimal way on embedded systems.
Overview Overview
-------- --------
- Supports both normal JPG and the custom SJPG formats. - JPG is decoded in 8x8 tiles.
- Decoding normal JPG consumes RAM with the size of the whole - Read from file and C array are implemented.
uncompressed image (recommended only for devices with more RAM) - Only the required portions of the JPG images are decoded,
- SJPG is a custom format based on "normal" JPG and specially made for
LVGL.
- SJPG is 'split-jpeg' which is a bundle of small jpeg fragments with
an sjpg header.
- SJPG size will be almost comparable to the jpg file or might be a
slightly larger.
- File read from file and c-array are implemented.
- SJPEG frame fragment cache enables fast fetching of lines if
available in cache.
- By default the sjpg image cache will be image width \* 2 \* 16 bytes
(can be modified)
- Currently only 16 bit image format is supported (TODO)
- Only the required portion of the JPG and SJPG images are decoded,
therefore they can't be zoomed or rotated. therefore they can't be zoomed or rotated.
Usage Usage
----- -----
If enabled in ``lv_conf.h`` by :c:macro:`LV_USE_TJPGD` LVGL will register a new If enabled in ``lv_conf.h`` by :c:macro:`LV_USE_TJPGD` LVGL will register a new
image decoder automatically so JPG and SJPG files can be used directly image decoder automatically so JPG files can be used directly
as image sources. For example: as image sources. For example:
.. code:: c .. code:: c
lv_image_set_src(my_img, "S:path/to/picture.jpg"); lv_image_set_src(my_img, "S:path/to/picture.jpg");
Note that, a file system driver needs to registered to open images from Note that a file system driver needs to be registered to open images from
files. Read more about it :ref:`file-system` or just files. Read more about it :ref:`file-system` or just
enable one in ``lv_conf.h`` with ``LV_USE_FS_...`` enable one in ``lv_conf.h`` with ``LV_USE_FS_...``
@@ -51,35 +36,6 @@ Converting JPG to C array
- Use lvgl online tool https://lvgl.io/tools/imageconverter - Use lvgl online tool https://lvgl.io/tools/imageconverter
- Color format = RAW, output format = C Array - Color format = RAW, output format = C Array
Converting JPG to SJPG
~~~~~~~~~~~~~~~~~~~~~~
python3 and the PIL library required. (PIL can be installed with ``pip3 install pillow``)
To create SJPG from JPG: - Copy the image to convert into
``lvgl/scripts`` - ``cd lvgl/scripts`` -
``python3 jpg_to_sjpg.py image_to_convert.jpg``. It creates both a C
files and an SJPG image.
The expected result is:
.. code:: sh
Conversion started...
Input:
image_to_convert.jpg
RES = 640 x 480
Output:
Time taken = 1.66 sec
bin size = 77.1 KB
walpaper.sjpg (bin file)
walpaper.c (c array)
All good!
Example Example
------- -------