From a97ac7ec8eae852b82386632711a2382f3cae783 Mon Sep 17 00:00:00 2001 From: _VIFEXTech <1290176185@qq.com> Date: Fri, 19 Nov 2021 15:49:39 +0800 Subject: [PATCH] feat(lib) add ffmpeg video and image decoder (#2805) * add ffmpeg decoder to extra/libs * fix(Kconfig) add ffmpeg configuration Signed-off-by: pengyiqiang * feat(example) add ffmpeg decoder example Signed-off-by: pengyiqiang * update lv_conf_template.h * feat(example) add picture and video to ffmpeg example * docs(libs) update FFMpeg introduction Signed-off-by: pengyiqiang * fix(ffmpeg) replace with new videos and examples Signed-off-by: pengyiqiang * 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 Co-authored-by: Gabor Kiss-Vamosi --- Kconfig | 7 + docs/libs/ffmpeg.md | 34 + docs/libs/index.md | 1 + examples/libs/ffmpeg/birds.mp4 | Bin 0 -> 1358537 bytes examples/libs/ffmpeg/ffmpeg.png | Bin 0 -> 21942 bytes examples/libs/ffmpeg/lv_example_ffmpeg.h | 39 + examples/libs/ffmpeg/lv_example_ffmpeg_1.c | 26 + examples/libs/ffmpeg/lv_example_ffmpeg_2.c | 30 + examples/libs/lv_example_libs.h | 1 + lv_conf_template.h | 8 + src/extra/libs/ffmpeg/lv_ffmpeg.c | 871 +++++++++++++++++++++ src/extra/libs/ffmpeg/lv_ffmpeg.h | 104 +++ src/extra/libs/lv_libs.h | 1 + src/extra/lv_extra.c | 4 + src/lv_conf_internal.h | 20 + 15 files changed, 1146 insertions(+) create mode 100644 docs/libs/ffmpeg.md create mode 100644 examples/libs/ffmpeg/birds.mp4 create mode 100644 examples/libs/ffmpeg/ffmpeg.png create mode 100644 examples/libs/ffmpeg/lv_example_ffmpeg.h create mode 100644 examples/libs/ffmpeg/lv_example_ffmpeg_1.c create mode 100644 examples/libs/ffmpeg/lv_example_ffmpeg_2.c create mode 100644 src/extra/libs/ffmpeg/lv_ffmpeg.c create mode 100644 src/extra/libs/ffmpeg/lv_ffmpeg.h diff --git a/Kconfig b/Kconfig index e18ff356b..329432d73 100644 --- a/Kconfig +++ b/Kconfig @@ -834,6 +834,13 @@ menu "LVGL configuration" config LV_USE_RLOTTIE bool "Lottie library" + + config LV_USE_FFMPEG + bool "FFmpeg library" + config LV_FFMPEG_AV_DUMP_FORMAT + bool "Dump av format" + depends on LV_USE_FFMPEG + default n endmenu menu "Others" diff --git a/docs/libs/ffmpeg.md b/docs/libs/ffmpeg.md new file mode 100644 index 000000000..2eaa0da14 --- /dev/null +++ b/docs/libs/ffmpeg.md @@ -0,0 +1,34 @@ +```eval_rst +.. include:: /header.rst +:github_url: |github_link_base|/libs/ffmpeg.md +``` + +# FFmpeg support +[FFmpeg](https://www.ffmpeg.org/) A complete, cross-platform solution to record, convert and stream audio and video. + +## Install FFmpeg +- Download FFmpeg from [here](https://www.ffmpeg.org/download.html) +- `./configure --disable-all --disable-autodetect --disable-podpages --disable-asm --enable-avcodec --enable-avformat --enable-decoders --enable-encoders --enable-demuxers --enable-parsers --enable-protocol='file' --enable-swscale --enable-zlib` +- `make` +- `sudo make install` + +## Add FFmpeg to your project +- Add library: `FFmpeg` (for GCC: `-lavformat -lavcodec -lavutil -lswscale -lm -lz -lpthread`) + +## Usage + +Enable `LV_USE_FFMPEG` in `lv_conf.h`. + +See the examples below. + +Note that, the FFmpeg extension doesn't use LVGL's file system. +You can simply pass the path to the font as usual on your operating system or platform. + +## API + +```eval_rst + +.. doxygenfile:: lv_ffmpeg.h + :project: lvgl + +``` \ No newline at end of file diff --git a/docs/libs/index.md b/docs/libs/index.md index 9ef96619e..e11f0a9be 100644 --- a/docs/libs/index.md +++ b/docs/libs/index.md @@ -18,5 +18,6 @@ freetype qrcode rlottie + ffmpeg ``` diff --git a/examples/libs/ffmpeg/birds.mp4 b/examples/libs/ffmpeg/birds.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..df1f19cdcfa31b0deb2d052744a32095d75ae6f1 GIT binary patch literal 1358537 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