全志V85X内MPP模块概述以及编译sample步骤

原创
2023/04/17 09:54
阅读数 898
AI总结

1. MPP 模块概述

MPP 系统控制模块,根据芯片特性,完成硬件各个部件的复位、基本初始化工作,同时负责完成 MPP(Media Process Platform 媒体处理平台)系统各个业务模块的初始化、去初始化以及管MPP 系统各个业务模块的工作状态、提供当前 MPP 系统的版本信息等功能。

应用程序启动 MPP 业务前,必须完成 MPP 系统初始化工作。同理,应用程序退出 MPP 业务后,也要完成 MPP 系统去初始化工作,释放资源。

功能描述
(1)初始化 MPP 组件的运行环境,完成音频输入输出、视频输入输出等硬件设备的初始化配置。
(2)提供绑定组件的接口。
(3)提供媒体内存分配、释放、查询的接口。

主要模块缩写:
VI :视频输入模块
VO:视频输出模块
VENC:视频编码模块
VDEC:视频解码模块
AI:音频输入
AO:音频输出
AENC:音频编码模块
ADEC:音频解码模块

2. v851s MPP sample
MPP sample 源码目录:
tina-v853-docker/platform/allwinner/eyesee-mpp/middleware/sun8iw21/sample

MPP sample 配置目录(kconfig、makefile):
tina-v853-docker/openwrt/package/allwinner/eyesee-mpp/middleware/

3. 编译一个MPP 模块步骤(以 sample_g2d 为例)
1)make menuconfig 配置配置项,选中sample_g2d
路径:Allwinner > eyesee-mppp > select mpp sample > sample_g2d 空格选中变成 【*】

1637dcc6-fcb0-4da9-b0a7-6f2cbab42925-image.png

3f77919a-9b0d-4ad3-ae06-c8561b910cbd-image.png

2)到配置目录下编译
MPP sample 配置目录(kconfig、makefile):
tina-v853-docker/openwrt/package/allwinner/eyesee-mpp/middleware/

执行:

mm -B 

将会在源码目录(上面已给出)的bin 文件夹下产生可执行文件以及配置文件(如果bin 文件夹下没产生,请到源码sample 下查看)

ae41dce9-5657-4e8d-b311-0ca156ef8223-image.png

3)将其adb push 到v851s开发板中
执行:

./sample_vi_g2d -path sample_vi_g2d.conf

g2d 具体作用,请看源码code 中的 readme.txt 以及 g2d 手册

4. 其他sample 同理
注意:
1)执行某个sample 一定要先在make menuconfig 中选中
2)其他 sample 可能有依赖文件或者lib,通过错误提示,在make menuconfig 按“/” 搜索,然后选中即可
3)想知道每个sample 的具体含义,多看readme.txt 以及 官方手册

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部