Samsung/rlottie

rlottie for MCU

ajsb85 opened this issue · 16 comments

Hi,

Thanks to @ValentiWorkLearning it's ported to LVGL. See https://github.com/lvgl/lv_lib_rlottie
I've just updated the repo to work with the latest LVGL.

@ajsb85 cool.

FYI, mentioning rlottie at https://lottiefiles.com/integrations could give some free marketing to your great lib! 😉

Thanks to @xianjimli. Lottie works on AWTK now:https://github.com/zlgopen/awtk-widget-rlottie

FYI, mentioning rlottie at https://lottiefiles.com/integrations could give some free marketing to your great lib! 😉

Its already mentioned in the above link under rLottie.

Congrats @smohantty.
BTW, no plan to add more Supported After Effects Features?
Best regards.

I just noticed this, please correct me if my understanding is not correct.
The rlottie is rendered into memory or canvas using cpu, which should run poorly on a microcontroller? Could we re-implement the vector interface directly using the underlying rendering interface of these gui solutions, which will make full use of the gpu on the microcontroller platform (many microcontrollers already have 2d gpu with openvg support) to improve performance ?

Please have a look to #516 for a more efficient version for MCU. It allows rendering to a smaller buffer (as usual embedded GUI libraries are doing, partial rendering) and avoid allocating the JSON file to the heap for parsing it (saves a lot of heap).

We don't have a rlottie library that we can use in the MCU.

We do. I'm using #516 on a ESP32 and it's fast enough to be acceptable and not too ressource hungry. If only Samsung would merge it...

Can anyone help me generate the rlottie embedded static library, thank you very much!!!

lvgl/src/extra/libs/rlottie/lv_rlottie.c(12): error: 'rlottie_capi.h' file not found

D:\1project\AiPi-Open-Kits\aithinker_Ai-M6X_SDK\components\graphics\lvgl\extra\libs\rlottie\lv_rlottie.c:12:10: fatal error: rlottie_capi.h: No such file or directory
   12 | #include <rlottie_capi.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.

We do. I'm using #516 on a ESP32 and it's fast enough to be acceptable and not too ressource hungry. If only Samsung would merge it...

Thank you for your contribution, I recently tried to use your memory reduction version to display animation with lvgl on esp32 pico d4, and encountered the following problems: lvgl officially provides that img is used as the obj for display. If I use partial rendering, I can't split an image into basic renderings. May I ask how to solve this place, my code is as follows:
image
image
Looking forward to your reply~

You should discuss this in #516 not here, IMHO.

I don't know what's wrong with your code, only that for LVGL, you should use my fork of the image decoder code, since it's setting up everything well for this.

Please notice that this was taking me too much time so support (since 2022) so I've given up trying to catch up with LVGL's master branch.