TouchGfx: Dynamicaly load the L8 compressed image (L8_ARGB8888 + RLE)
On the project where I'm working on, we have the requirement that bitmaps should be loaded dynamically.
Due to the restricted flash memory available, the L8_ARGB8888 + RLE compression (acceptable size/decompression values) format is proposed for storing the images. The images will be stored in the external (not memory-mapped) memory.
As even the uncompressed L8 format manipulation is not quite clear to me I will start with that.
Once an uncompressed L8 image is extracted from the elf file using the "arm-none-eabi-objcopy --dump-section" and that binary data is "seen" in the source code, how to load it in the dynamically created L8 bitmap?
For example, here is the intake from the map file for the "image_minus" image.
ExtFlashSection
0x000000002400086c 0x38a4 ./Application/User/generated/image_minus.o
0x000000002400086c image_minus_extra_data
0x00000000240008d0 image_minus
I'm guessing that
"image_minus" contains only pixel data (index in the palette table) and the "image_minus_extra_data" contains the palette itself and (hopefully) pallete size plus flags (compression / L8 format).
Am I on the right track?
The final question is how to do the same for L8 compressed image.
Do I need (if I even can ???) to decompress data manually to the location retrieved using the Bitmap::dynamicBitmapGetAddress or does the touchgfx do that in the background somehow?
Source/tutorials used:
Using Non-Memory Mapped Flash for Storing Images
https://support.touchgfx.com/docs/development/scenarios/using-non-memory-mapped-flash
Dynamic L8 image:
https://support.touchgfx.com/docs/development/ui-development/scenarios/creating-dynamic-l8-images
Dynamic Bitmaps:
https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/dynamic-bitmaps
