mirror of
https://github.com/lvgl/lvgl.git
synced 2026-05-27 20:57:01 +08:00
feat(lib) add ffmpeg video and image decoder (#2805)
* add ffmpeg decoder to extra/libs * fix(Kconfig) add ffmpeg configuration Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com> * feat(example) add ffmpeg decoder example Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com> * update lv_conf_template.h * feat(example) add picture and video to ffmpeg example * docs(libs) update FFMpeg introduction Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com> * fix(ffmpeg) replace with new videos and examples Signed-off-by: pengyiqiang <pengyiqiang@xiaomi.com> * fix(ffmpeg) remove the include of lv_img_cache.h * fix(ffmpeg) add LV_ASSERT_OBJ * Update examples/libs/ffmpeg/lv_example_ffmpeg_2.c Co-authored-by: pengyiqiang <pengyiqiang@xiaomi.com> Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
This commit is contained in:
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* @file lv_example_ffmpeg.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_EXAMPLE_FFMPEG_H
|
||||
#define LV_EXAMPLE_FFMPEG_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
void lv_example_ffmpeg_1(void);
|
||||
void lv_example_ffmpeg_2(void);
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif /*LV_EXAMPLE_FFMPEG_H*/
|
||||
@@ -0,0 +1,26 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_FFMPEG && LV_BUILD_EXAMPLES
|
||||
|
||||
/**
|
||||
* Open a image from a file
|
||||
*/
|
||||
void lv_example_ffmpeg_1(void)
|
||||
{
|
||||
lv_obj_t * img = lv_img_create(lv_scr_act());
|
||||
lv_img_set_src(img, "./lvgl/examples/libs/ffmpeg/ffmpeg.png");
|
||||
lv_obj_center(img);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void lv_example_ffmpeg_1(void)
|
||||
{
|
||||
/*TODO
|
||||
*fallback for online examples*/
|
||||
|
||||
lv_obj_t * label = lv_label_create(lv_scr_act());
|
||||
lv_label_set_text(label, "FFmpeg is not installed");
|
||||
lv_obj_center(label);
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,30 @@
|
||||
#include "../../lv_examples.h"
|
||||
#if LV_USE_FFMPEG && LV_BUILD_EXAMPLES
|
||||
|
||||
/**
|
||||
* Open a video from a file
|
||||
*/
|
||||
void lv_example_ffmpeg_2(void)
|
||||
{
|
||||
/*birds.mp4 is downloaded from http://www.videezy.com (Free Stock Footage by Videezy!)
|
||||
*https://www.videezy.com/abstract/44864-silhouettes-of-birds-over-the-sunset*/
|
||||
lv_obj_t * player = lv_ffmpeg_player_create(lv_scr_act());
|
||||
lv_ffmpeg_player_set_src(player, "./lvgl/examples/libs/ffmpeg/birds.mp4");
|
||||
lv_ffmpeg_player_set_auto_restart(player, true);
|
||||
lv_ffmpeg_player_set_cmd(player, LV_FFMPEG_PLAYER_CMD_START);
|
||||
lv_obj_center(player);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
void lv_example_ffmpeg_2(void)
|
||||
{
|
||||
/*TODO
|
||||
*fallback for online examples*/
|
||||
|
||||
lv_obj_t * label = lv_label_create(lv_scr_act());
|
||||
lv_label_set_text(label, "FFmpeg is not installed");
|
||||
lv_obj_center(label);
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user