参数配置
-
在 Luban-Lite 根目录下执行 scons --menuconfig,进入 menuconfig 的功能配置界面,按如下选择,打开 MPP VIN DevMode:注: MDI 驱动依赖 MPP 中的 VIN 子模块,而且用到的是其中的 DevMode,需要提前打开。
Local packages options ---> ArtInChip packages options ---> [*] aic-mpp ---> [*] Enable Video Input interface of DevMode (6278400) Size of Video Input buffer其中 Size of Video Input buffer 需要根据应用场景的图像数据格式来计算。关于详细计算说明,可查看MDI 应用场景及资源需求。
- 在 Luban-Lite 根目录下执行 scons --menuconfig,进入 menuconfig
的功能配置界面,按如下选择,打开 MDI 驱动
Board options ---> [*] Using MDI (PE.11) Busy signal PIN [*] Data sequence is First-In-First-Save-
Busy signal PIN:用于向 Host 发送 Busy 信号,默认值 PE.11 在 D12x 中并不存在,需要根据实际板级电路修改此参数。
-
Data sequence is First-In-First-Save:用于调整输入信号的存放顺序,取决于数据源格式和数据线的排布方式。
-
MDI 应用场景及资源需求
为了覆盖大部分场景, Size of Video Input buffer 默认值使用输入 640*480、RGB888 格式计算得到 6278400,如果输入超过 640*480、RGB888 的资源需求,就需要调大此 Buffer。用户可以参考MDIBuf 资源需求的计算表 的数据源格式、显示格式来计算 Buf 资源的需求。
MDI 应用场景及资源需求的详细说明如下所示:
MDI 取到的数据放入 Buffer 队列,该 Buffer 队列会直接交给 DE 去显示。 运行过程中为了流畅度,Buffer 队列需要的 Buffer 数量至少是 3。
Buffer 的大小主要取决于 Framebuffer 的图像格式,下表以 1024*600 显示分辨率列举一些情况:
| FB 格式 | Buffer Size | Buffer 个数 | 总的 RAM 需求 |
|---|---|---|---|
| RGB565 | 1,228,800 | 3 | 3,686,400 |
| RGB888 | 1,843,200 | 3 | 5,529,600 |
MDI 取到的数据先放入 Buffer 队列,该 Buffer 队列会交给 GE 去处理,然后 GE 输出到一对乒乓 Buffer,乒乓 Buffer 再转交 DE 去显示。 同上,运行过程中为了流畅度,Buffer 队列需要的 Buffer 数量至少是 3。
这种场景要分两部分去计算 Buffer 需求: Buffer 总大小=Buffer 队列的大小+乒乓 Buffer 的大小
-
Buffer 队列中,单个 Buffer 的大小取决于 MDI 的输入图像格式。下表是一些格式举例:
表 2. 输入格式 输入分辨率 输入 Buffer Size 输入 Buffre 个数 RAM 需求 RGB565 320*480 307,200 3 921,600 RGB888 320*480 460,800 3 1,382,400 RGB565 640*480 921,600 3 1,728,000 RGB888 640*480 921,600 3 2,592,000 注:在 局部刷新 的场景中,需要用一块 Buffer 来当作背景图的备份,所以在上表基础上 Buffer 队列中的 Buffer 个数需要再加一。
-
乒乓 Buffer 中,单个 Buffer 的大小取决于 DE 的图像格式。下表是一些格式举例:
表 3. FB 格式 Buffer Size Buffer 个数 RAM 需求 RGB565 1,228,800 2 2,457,600 RGB888 1,843,200 2 3,686,400
