MI DISP API
REVISION HISTORY¶
Revision No. | Description |
Date |
---|---|---|
2.03 | 04/12/2018 | |
2.04 | 06/06/2019 | |
2.05 | 06/19/2019 | |
2.06 | 05/13/2020 | |
2.07 | 06/18/2020 | |
2.08 | 08/04/2020 | |
2.09 | 09/03/2020 | |
2.10 | 10/26/2020 | |
2.11 | 12/24/2020 | |
2.12 | 01/05/2021 | |
2.13 | 01/22/2021 | |
2.14 | 04/16/2021 | |
2.15 | 04/22/2021 | |
2.16 | 05/17/2021 | |
2.17 | 05/25/2021 | |
2.18 | 06/10/2021 | |
2.19 | 08/05/2021 | |
08/25/2021 | ||
2.20 | 09/03/2021 | |
2.21 | 10/12/2021 | |
2.22 | 11/29/2021 | |
2.23 | 12/08/2021 | |
2.24 | 12/20/2021 | |
2.25 | 2/16/2022 | |
2.26 | 3/7/2022 | |
2.27 | 06/10/2022 | |
2.28 | 06/28/2022 | |
2.29 | 08/03/2022 | |
2.30 | 08/08/2022 | |
2.31 | 10/13/2022 | |
2.32 | 10/27/2022 | |
2.33 | 11/10/2022 | |
2.34 | 05/12/2022 | |
2.35 | 03/14/2023 | |
03/14/2023 | ||
2.36 | 04/11/2024 | |
2.37 | 05/27/2025 |
1. 概述¶
1.1. 模块说明¶
DISP是一个视频处理及显示单元,主要功能是对前端输出的图像做硬件拼接及图像效果处理,并将处理后的图像通过HDMI/VGA/MIPI/TTL等接口输出到显示器。
关键字说明:
-
DEV
显示设备。对应DISP0/DISP1等
-
MOP
读取内存图像数据并做拼图处理的硬件单元
-
LAYER
视频层。RDMA硬件抽象层,一般指MOP、SCL_RDMA等。
-
CSC
颜色空间转换单元
-
OSD Mixer
视频层和UI叠加器件
-
GUI FB/HW Cursor
UI层
-
PIP
画中画
-
WBC
视频回写设备。捕获视频层或设备级的视频数据,可用于多dev的同源显示。
-
PQ
Picture Quality。图像效果处理单元。
1.2. 基本结构¶
DISP主要是用来管理视频显示单元,将处理后的图像输出到不同的显示器接口。
- DISP主要功能是通过RDMA获取前端图像数据,并负责图像的拼接、旋转、裁剪、放大等处理任务,当RDMA为MOPG类型时可支持显示多个不重叠的窗口;当RDMA为MOPS类型时可以做overlap叠加到MOPG的窗口上;当RDMA为SCL_RDMA类型时仅支持单窗口显示。
- 数据经RDMA处理后流入DISP内部PQ模块,该模块可以进一步调节picture quality。最后和GOP输出的UI做blending,将最终图像显示到屏幕接口。
-
DISP支持HDMI、VGA、TTL、LVDS、MIPI DSI等等屏幕接口。
图1‑1 DISP硬件流程框图
如上图,从使用场景看,DISP前级可以绑定VDEC、SCL或其他模块,也可以是User Input Buffer;WBC输出的模块可以是VENC、Other DISP,也可以是User Output Buffer。
从软件开发角度看,DISP软件分层结构如下图,使用者主要通过MI_DISP_API/MI_HDMI_API/MI_WBC_API等接口操作DISP/HDMI/WBC硬件。
1.3. 功能介绍及工作原理¶
1.3.1. 多路拼图与图层管理¶
-
输入端口管理:DISP的MOPG硬件有多个gwin,软件抽象为对应个数input port,每个端口接收前端输出的YUV数据(如NV12格式)。所有input port在MOPG上的显示位置可以任意设置,但需严格保证窗口间无重叠。
-
数据流控制:每个input port分配独立的显存区域,通过DMA直接传输图像数据至显示接口。
1.3.2. 画中画(PIP)¶
-
层级优先级:MOPS可用于PIP功能,将画面叠加到MOPG上,默认优先级高于MOPG,如果两个MOP上都有内容,那么MOPS在上,MOPG在下,并且支持动态调整叠加顺序。
-
实时切换: 通过寄存器配置快速切换PIP的显隐状态,支持动态调整叠加窗口的位置和大小。
1.3.3. 图像处理核心功能¶
-
动态缩放: 单窗口支持H/V方向最大16倍,来满足每个window对最终显示尺寸的需求。
图1‑6 图像裁剪 -
图像裁剪: 支持对输入图像的局部区域裁剪后放大显示(Zoom In)。
图1‑7 图像旋转 -
图像旋转: 支持以MOP为单位做旋转90度或者270度,同时支持旋转加放大,以满足旋转后需要满屏显示的场景。
1.3.4.WBC(视频回写)¶
-
视频回写设备,捕获视频层或设备级的视频数据,可用于多dev同源显示
-
WDMA软件抽象为 WBC。DISP一般无输出,接panel,使用WBC来抽象出output
-
WBC输入buffer由disp0/disp1输送,在回写至VENC/USER BUFFER/Other Disp
1.3.5. PQ(图像质量)¶
- 在支持PQ的Chip上可对输出的图像效果进行调节,包括饱和度、亮度、对比度、锐度、色温、Gamma等等功能
1.4. 应用场景¶
MI_DISP可应用于以下场景:
-
Pure linux场景
在linux环境下基于MI_DISP/MI_HDMI/MI_WBC提供的API接口进行开发。
-
Pure rtos场景
在rtos环境下,应用程序可以基于MI_DISP/MI_HDMI/MI_WBC提供的API接口进行开发。
-
Dualos场景
在dualos环境下,在linux端或rtos端运行的应用程序均基于MI_DISP/MI_HDMI/MI_WBC API开发。
1.5. 芯片差异¶
当前的文档的请参考1.5.10. Pcupid的介绍
1.5.1. Taiyaki/Takoyaki¶
注意:
-
HDMI和VGA接口可以同时输出,MIPI、TTL接口只能单独输出。
-
MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。
-
MOP0上面的16个Input Port的显示位置不能互相叠加。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式只可以是E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420。
1.5.2. Pretzel/Pudding¶
注意:
-
Pretzel/Pudding不支持亮度、饱和度和色度调节。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式只可以是E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420。
1.5.3. Tiramisu¶
注意:
-
对于每一个device,HDMI和VGA接口可以同时输出,CVBS、MIPI、TTL、BT1120、BT656、BT601、sRGB、MCU接口只能单独输出。
-
MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。
-
MOP0上面的16个Input port的显示位置不能互相叠加。
-
MOP2和MOP3的使用方式同MOP0和MOP1。
-
DISP0和DISP1的输出可以通过WBC回写到内存。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式只可以是E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420。
1.5.4. Ikayaki¶
注意:
-
TTL和sRGB不能同时输出。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式只可以是E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420。
1.5.5. Muffin¶
注意:
-
对于每一个device,HDMI和VGA接口可以同时输出,CVBS、MIPI、TTL、BT1120、BT656、BT601、sRGB、MCU接口只能单独输出。
-
MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。
-
MOP0上面的32个Input port的显示位置不能互相叠加。
-
MOP2、MOP3和MOP4、MOP5的使用方式同MOP0和MOP1。
-
DISP0和DISP1的输出可以通过WBC回写到内存。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式只可以是E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420。
1.5.6. Mochi¶
注意:
-
对于每一个device,HDMI和VGA接口可以同时输出,CVBS接口只能单独输出。
-
MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。
-
MOP0上面的32个Input port的显示位置不能互相叠加。
-
MOP2、MOP3的使用方式同MOP0和MOP1。
-
DISP0和DISP1的输出可以通过WBC回写到内存。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式只可以是E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420。
1.5.7. Maruko¶
注意:
-
sRGB、TTL、BT656和BT1120不能同时输出,同一时间只能输出其中一种。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式可以是 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420_NV21、 E_MI_SYS_PIXEL_FRAME_YUV420_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_422、 E_MI_SYS_PIXEL_FRAME_YUV422_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV422_YUYV、 E_MI_SYS_PIXEL_FRAME_YUV422_UYVY、 E_MI_SYS_PIXEL_FRAME_ARGB8888、 E_MI_SYS_PIXEL_FRAME_ABGR8888、 E_MI_SYS_PIXEL_FRAME_BGRA8888。
1.5.8. Opera¶
注意:
-
对于每一个device,MIPIDSI和LVDS单通道接口可以同时输出,TTL、BT1120、BT656、LVDS双通道接口只能单独输出。
-
MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。
-
MOP0上面的32个Input port的显示位置不能互相叠加。
-
MOP2、MOP3的使用方式同MOP0和MOP1。
-
Disp1的所有port可以合并至Disp0,最大支持66个Gwin合并。
-
DISP0和DISP1的输出可以通过WBC回写到内存。
-
DISP模块与其他模块可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定,其中MOP1、MOP3还可通过E_MI_SYS_BIND_TYPE_REALTIME绑定。
-
DISP模块输入图像的数据格式可以是 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420_NV21、 E_MI_SYS_PIXEL_FRAME_YUV420_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_422、 E_MI_SYS_PIXEL_FRAME_YUV422_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV422_YUYV、 E_MI_SYS_PIXEL_FRAME_YUV422_UYVY、 E_MI_SYS_PIXEL_FRAME_YUV422_VYUY、 E_MI_SYS_PIXEL_FRAME_YUV422_YVYU。 其中MOP0和MOP2仅支持E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420格式。
-
WBC模块输出图像的数据格式可以是 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420_NV21、 E_MI_SYS_PIXEL_FRAME_YUV420_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_422、 E_MI_SYS_PIXEL_FRAME_YUV422_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV422_YUYV、 E_MI_SYS_PIXEL_FRAME_YUV422_UYVY、 E_MI_SYS_PIXEL_FRAME_YUV422_VYUY、 E_MI_SYS_PIXEL_FRAME_YUV422_YVYU、 E_MI_SYS_PIXEL_FRAME_ARGB8888。
1.5.9. Souffle¶
注意:
-
MIPIDSI、TTL、BT656和BT1120不能同时输出,同一时间只能输出其中一种。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式可以是 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420_NV21、 E_MI_SYS_PIXEL_FRAME_YUV420_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_422、 E_MI_SYS_PIXEL_FRAME_YUV422_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV422_YUYV、 E_MI_SYS_PIXEL_FRAME_YUV422_UYVY、 E_MI_SYS_PIXEL_FRAME_ARGB8888、 E_MI_SYS_PIXEL_FRAME_ABGR8888、 E_MI_SYS_PIXEL_FRAME_BGRA8888。
1.5.10. Pcupid¶
注意:
-
MIPIDSI、TTL、BT656、sRGB和MCU不能同时输出,同一时间只能输出其中一种。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式可以是 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420_NV21、 E_MI_SYS_PIXEL_FRAME_YUV420_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_422、 E_MI_SYS_PIXEL_FRAME_YUV422_PLANAR、 E_MI_SYS_PIXEL_FRAME_YUV422_YUYV、 E_MI_SYS_PIXEL_FRAME_YUV422_UYVY、 E_MI_SYS_PIXEL_FRAME_YUV422_VYUY、 E_MI_SYS_PIXEL_FRAME_YUV422_YVYU。
下表是不同芯片系列输出接口的差异:
输出接口 芯片系列 |
HDMI | VGA | MIPI DSI | TTL | CVBS | sRGB | BT601 | BT656 | BT1120 | LVDS | 8080 |
---|---|---|---|---|---|---|---|---|---|---|---|
Pretzel | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Macaron | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Taiyaki | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Takoyaki | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Pudding | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Ispahan | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Tiramisu | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 支持 |
Ikayaki | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Muffin | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 支持 |
Mochi | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Maruko | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 |
Opera | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 支持 | 不支持 |
Souffle | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 |
Iford | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 |
Pcupid | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 支持 | 不支持 | 支持 | 不支持 | 不支持 | 支持 |
1.6. 开发流程¶
1.6.1 编译配置¶
-
进入alkaid project根目录,make menuconfig
-
回车键进入Sdk Config子选项
-
回车键进入Interface Compile Config子选项
-
空格键选中disp子模块,并重新编译project
编译完成将在sdk/interface/src/disp下生成 mi_disp.ko, 同时将mi_disp.h,mi_disp_datatype.h和mi_disp_impl_datatype.h release到 project/release 目录, 在pure linux环境下会默认打包进入images。
1.7.2 配置DISP参数¶
DISP的输出接口配置参数在系统配置文件config.json中管理, 在config.json中定义的content和PQ字段分别描述了当前平台所支持屏幕类型的条目及是否开启PQ。
- content节点主要描述panel,bt,mipidsi所相关的interface屏参名称;
- PQ节点主要描述是否启用PQ以及所使用的文件。
{ "mi_disp": { "content": { "m_pnlList": [ "SAT070AT50H18BH", "BT656OUT_800_480", "IL8961_SRGB", "ST7789V", "ILI9341V", "RM68200_LX50HDH40145", "GC9503v", "LX50HDH40136" ], "m_btList": [ "BT656OUT_576P_50", "BT656OUT_480P_60", "BT656OUT_800_480", "BT656OUT_720P_25", "BT656OUT_720P_30", "BT656OUT_720P_50", "BT656OUT_720P_60", "BT656OUT_1080P_25", "BT656OUT_1080P_30" ], "m_mipidsiList": [ "MIPIDSI_480P_60", "MIPIDSI_576P_50", "MIPIDSI_720P_30", "MIPIDSI_720P_50", "MIPIDSI_720P_60", "MIPIDSI_1080P_25", "MIPIDSI_1080P_30", "MIPIDSI_1080P_50", "MIPIDSI_1080P_60", "MIPIDSI_2560x1440P_60", "MIPIDSI_4KP_30" ] }, "PQ": { "m_bEnable": 0, "m_pFilePath": "/misc/PQ.bin" } } }
注意:如果要添加新的屏参(芯片支持的情况下),需要将新的节点加入对应的m_pnlList里,如果和其他屏参是同一个timing需要将添加的屏参往前移。然后在后续添加对应的屏参信息。
config.json 中各配置参数说明如下:
参数 | 说明 |
---|---|
m_pnlList | panel类型支持的接口名称 |
m_btList | bt类型支持的接口名称 |
m_mipidsiList | mipidsi类型支持的接口名称 |
PQ | 描述的是是否开启PQ以及所需要的文件) |
m_bEnable | 描述当前是否开启PQ |
m_pFilePath | 描述当前PQ所需的文件路径 |
m_pPanelName | 描述当前interface的屏幕型号名称 |
m_ePanelIntfType | 描述接口类型在代码中对应的枚举 |
m_ePanelTiming | 描述当前接口类型使用的timing对应的枚举 |
m_wPanelHSyncWidth | 水平同步脉冲宽度(HSYNC有效持续时间) |
m_wPanelHSyncBackPorch | 水平后肩(HSYNC结束到有效数据开始的时间间隔) |
m_wPanelVSyncWidth | 垂直同步脉冲宽度(VSYNC有效持续时间) |
m_wPanelVBackPorch | 垂直后肩(VSYNC结束到有效数据开始的时间间隔) |
m_wPanelHStart | 水平有效区域起始像素 |
m_wPanelVStart | 垂直有效区域起始行号 |
m_wPanelWidth | 有效显示区域水平像素(实际分辨率宽度) |
m_wPanelHeight | 有效显示区域垂直像素(实际分辨率宽度) |
m_wPanelHTotal | 水平总周期(包含有效区+消隐区) |
m_wPanelVTotal | 垂直总周期(包含有效区+消隐区) |
m_wPanelDCLK | 像素时钟频率 |
m_bPanelInvDCLK | 像素时钟极性 |
m_bPanelInvDE | 数据使能信号极性 |
m_bPanelInvHSync | 水平同步信号极性 |
m_bPanelInvVSync | 垂直同步信号极性 |
m_wSpreadSpectrumFreq | 展频调制频率 |
m_wSpreadSpectrumRatio | 展频调制深度 |
m_ucPanelSwapChnR | 红色交换通道 |
m_ucPanelSwapChnG | 绿色交换通道 |
m_ucPanelSwapChnB | 蓝色交换通道 |
m_ucPanelSwapRgbML | RGB左右镜像 |
1.6.3 接口调用¶
DISP用户开发主要是调用api配置disp相关属性、配置输出接口时序,通过不同的参数来实现不同的应用场景。
其他接口使用方式请参考API注意事项
DISP的接口调用分为以下几步:
-
配置DISP device
-
使能DISP device
-
初始化HDMI/PANEL
-
配置DISP video layer
-
绑定DISP video layer到DISP device
-
使能DISP video layer
-
配置DISP input port
-
使能DISP input port
-
送图像数据
1.7. 实例介绍¶
本实例介绍DISP api的调用流程
功能总览:
- 显示设备初始化:配置HDMI/PANEL的接口属性并启用DISP Device。
- 设置WBC回写数据(非必要):回写DISP数据至VENC/USER BUFFER/Other DISP。
- 视频层管理:创建视频层(Layer),绑定到DISP Device,设备窗口属性和旋转模式。
- 输入端口配置:定义输入源的参数(分辨率,显示区域)并启用端口。
- 资源释放:退出时禁用端口、解绑图层并关闭设备。
#include <stdio.h> #include <unistd.h> #include <string.h> #include <pthread.h> #include <sys/prctl.h> #include <poll.h> #include <fcntl.h> #include <stdlib.h> #include <signal.h> #include <assert.h> #include <sys/resource.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/time.h> #include <sys/stat.h> #include "mi_sys.h" #include "mi_disp.h" #include "mi_common.h" #include "mi_panel.h" #include "mi_hdmi.h" // 定义变量和结构体 MI_U32 DispDev = 0; // 显示设备ID(如DISP0) MI_U32 DispLayer = 0; // 视频层ID(如Layer0) MI_U32 DispInport = 0; // 输入端口ID(如Port0) MI_S32 DispWbc = 0; //WBC ID MI_DISP_PubAttr_t stPubAttr; // 定义Device参数数据结构 MI_DISP_SetWbcSource_t stSetWbcSource; // 定义wbc回写源数据结构 MI_DISP_SetWbcAttr_t stSetWbcAttr; // 定义WBC参数数据结构 MI_DISP_VideoLayerAttr_t stLayerAttr; // 定义视频层参数数据结构 MI_DISP_InputPortAttr_t stInputPortAttr; // 定义输入端口参数数据结构 MI_DISP_VidWinRect_t stWinRect; // 定义显示窗口缩放参数数据结构 MI_DISP_RotateConfig_t stRotateConfig; // 定义显示窗口旋转参数数据结构,默认无旋转 memset(&stPubAttr,0,sizeof(MI_DISP_PubAttr_t)); memset(&stLayerAttr,0,sizeof(MI_DISP_VideoLayerAttr_t)); memset(&stInputPortAttr,0,sizeof(MI_DISP_InputPortAttr_t)); memset(&stWinRect, 0, sizeof(MI_DISP_VidWinRect_t)); memset(&stRotateConfig, 0, sizeof(MI_DISP_RotateConfig_t)); // WBC配置(Non-essential steps) MI_DISP_SetWBCSource(DispWbc, &stSetWbcSource); MI_DISP_SetWBCAttr(DispWbc, &stSetWbcAttr); MI_DISP_EnableWBC(DispWbc); // 初始化DISP Device参数 stPubAttr.eIntfSync = E_MI_DISP_OUTPUT_1080P60; // 输出Timing:1080P60 stPubAttr.eIntfType = E_MI_DISP_INTF_HDMI; // 接口类型:HDMI MI_DISP_SetPubAttr(DispDev, &stPubAttr); // 配置DISP Device参数 MI_DISP_Enable(DispDev); // 启用DISP Device //HDMI related init //Necessary steps. Not listed here // 初始化视频层参数 stLayerAttr.stVidLayerSize.u16Width = 1920; // 分辨率宽 stLayerAttr.stVidLayerSize.u16Height = 1080; // 分辨率高 stLayerAttr.stVidLayerDispWin.u16X = 0; // 配置视频层显示起点X stLayerAttr.stVidLayerDispWin.u16Y = 0; // 配置视频层显示起点Y stLayerAttr.stVidLayerDispWin.u16Width = 1920; // 配置视频层显示宽度 stLayerAttr.stVidLayerDispWin.u16Height = 1080; // 配置视频层显示高度 stRotateConfig.eRotateMode = E_MI_DISP_ROTATE_NONE; MI_DISP_BindVideoLayer(DispLayer,DispDev); // 绑定视频层到DISP Device MI_DISP_SetVideoLayerAttr(DispLayer, &stLayerAttr); // 配置视频层参数 MI_DISP_EnableVideoLayer(DispLayer); // 启用视频层 MI_DISP_SetVideoLayerRotateMode(DispLayer, &stRotateConfig); // 设置旋转角度(Non-essential steps) stInputPortAttr.u16SrcWidth = 1920; // 配置输入图像的宽度 stInputPortAttr.u16SrcHeight = 1080; // 配置输入图像的高度 stInputPortAttr.stDispWin.u16X = 0; // 配置窗口显示坐标起点X stInputPortAttr.stDispWin.u16Y = 0; // 配置窗口显示坐标起点Y stInputPortAttr.stDispWin.u16Width = 1920; // 配置窗口显示宽度 stInputPortAttr.stDispWin.u16Height = 1080; // 配置窗口显示高度 stWinRect.u16X = 0; // 配置输入图裁剪起点X stWinRect.u16Y = 0; // 配置输入图裁剪起点Y stWinRect.u16Width = 1920; // 配置输入图裁剪宽度 stWinRect.u16Height = 1080; // 配置输入图裁剪高度 // 应用窗口配置 MI_DISP_SetInputPortAttr(DispLayer, DispInport, &stInputPortAttr); // 配置显示窗口参数 MI_DISP_SetZoomInWindow(DispLayer, DispInport, &stWinRect); // 配置显示窗口裁剪参数(Non-essential steps) // 批量处理(Non-essential steps) MI_DISP_SetVideoLayerAttrBatchBegin(DispLayer); // 开启窗口批量处理 MI_DISP_EnableInputPort(DispLayer, DispInport); // 启用窗口 MI_DISP_SetVideoLayerAttrBatchEnd(DispLayer); // 结束窗口批量处理 /* exit flow */ // 禁用窗口 MI_DISP_SetVideoLayerAttrBatchBegin(DispLayer); // Non-essential steps MI_DISP_DisableInputPort(DispLayer, DispInport);// 关闭窗口 // 将视频层和显示设备解绑 MI_DISP_SetVideoLayerAttrBatchEnd(DispLayer); // Non-essential steps MI_DISP_DisableVideoLayer(DispLayer); // 禁用视频层 MI_DISP_UnBindVideoLayer(DispLayer, DispDev); // 解绑视频层 MI_DISP_Disable(DispDev); // 关闭DISP Device
2. API参考¶
该功能模块提供以下API:
-
注意
-
Opera、Souffle、Iford、Pcupid不需要调用MI_PANEL API。
-
Takoyaki支持的MIPI接口需要调用MI_PANEL API。
-
Tiramisu,Takoyaki,Muffin,Maruko,Pretzel支持的TTL接口需要调用MI_PANEL API。
-
Tiramisu,Muffin,Maruko支持的sRGB接口需要调用MI_PANEL API。
-
Tiramisu,Muffin支持的8080接口需要调用MI_PANEL API。
-
2.1. MI_DISP_Enable¶
-
功能
启用视频输出设备。
-
语法
MI_S32 MI_DISP_Enable (MI_DISP_DEV DispDev);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
由于系统没有初始化设备为使能状态,所以在使用视频输出功能前必须先进行设备使能操作。
-
在调用设备使能前,必须对设备公共属性进行配置,否则返回设备未配置错误。
-
Opera、Souffle、Iford、Pcupid不需要调用MI_PANEL API。
-
Takoyaki支持的MIPI接口需要调用MI_PANEL API。
-
Tiramisu,Takoyaki,Muffin,Maruko,Pretzel支持的TTL接口需要调用MI_PANEL API。
-
Tiramisu,Muffin,Maruko支持的sRGB接口需要调用MI_PANEL API。
-
Tiramisu,Muffin支持的8080接口需要调用MI_PANEL API。
-
-
流程框图
-
相关主题
2.2. MI_DISP_Disable¶
-
功能
禁用视频输出设备。
-
语法
MI_S32 MI_DISP_Disable(MI_DISP_DEV DispDev);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
Opera、Souffle、Iford、Pcupid不需要调用MI_PANEL API。
-
Takoyaki支持的MIPI接口需要调用MI_PANEL API。
-
Tiramisu,Takoyaki,Muffin,Maruko,Pretzel支持的TTL接口需要调用MI_PANEL API。
-
Tiramisu,Muffin,Maruko支持的sRGB接口需要调用MI_PANEL API。
-
Tiramisu,Muffin支持的8080接口需要调用MI_PANEL API。
-
-
流程框图
-
相关主题
2.3. MI_DISP_SetPubAttr¶
-
功能
配置视频输出设备的公共属性。
-
语法
MI_S32 MI_DISP_SetPubAttr(MI_DISP_DEV DispDev, MI_DISP_PubAttr_t *pstPubAttr);
-
形参
参数名称 描述 输入/输出 DispDev 输出设备号。 输入 pstPubAttr 输出设备公共属性结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.4. MI_DISP_GetPubAttr¶
-
功能
获取视频输出设备的公共属性。
-
语法
MI_S32 MI_DISP_GetPubAttr (MI_DISP_DEV DispDev, MI_DISP_PubAttr_t *pstPubAttr);
-
形参
参数名称 描述 输入/输出 DispDev 输出设备号。 输入 pstPubAttr 输出设备公共属性结构体指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.5. MI_DISP_EnableVideoLayer¶
-
功能
使能视频层
-
语法
MI_S32 MI_DISP_EnableVideoLayer (MI_DISP_LAYER DispLayer);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.6. MI_DISP_DisableVideoLayer¶
-
功能
禁用视频层
-
语法
MI_S32 MI_DISP_DisableVideoLayer (MI_DISP_LAYER DispLayer);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 禁用视频层前需禁用其上全部的输入端口
-
相关主题
2.7. MI_DISP_SetVideoLayerAttr¶
-
功能
设定视频层属性。
-
语法
MI_S32 MI_DISP_SetVideoLayerAttr(MI_DISP_LAYER DispLayer, MI_DISP_VideoLayerAttr_t *pstLayerAttr);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 pstLayerAttr 视频层属性结构体指针 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.8. MI_DISP_GetVideoLayerAttr¶
-
功能
获取视频层属性.
-
语法
MI_S32 MI_DISP_GetVideoLayerAttr(MI_DISP_LAYER DispLayer, MI_DISP_VideoLayerAttr_t *pstLayerAttr);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 pstLayerAttr 视频层属性结构体指针 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.9. MI_DISP_BindVideoLayer¶
-
功能
绑定视频层到指定设备。
-
语法
MI_S32 MI_DISP_BindVideoLayer(MI_DISP_LAYER DispLayer, MI_DISP_DEV DispDev);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 DispDev 输出设备号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
在调用此函数接口之前一定要确保设备已经处于启用状态。
-
调用前保证视频层所有的输入端口处于禁用状态
-
disp和其他模块绑定时,disp的device、video layer、input port和对应的channel、port映射关系如下:
Tiramisu:
Muffin支持两种绑定关系:
Mochi支持两种绑定关系:
-
-
相关主题
2.10. MI_DISP_UnBindVideoLayer¶
-
功能
解绑视频层与指定设备
-
语法
MI_S32 MI_DISP_UnBindVideoLayer(MI_DISP_LAYER DispLayer, MI_DISP_DEV DispDev);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 DispDev 输出设备号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
解绑前需禁用其上全部的输入端口。
-
解绑前需禁用视频层。
-
-
相关主题
2.11. MI_DISP_SetPlayToleration¶
-
功能
设置播放容忍度。
-
语法
MI_S32 MI_DISP_SetPlayToleration(MI_DISP_LAYER DispLayer, MI_U32 u32Toleration);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 u32Toleration 播放容忍度,用来调整帧率控制算法的误差允许范围 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
播放容忍度单位为毫秒。
-
调用前请保证视频层已经使能。
-
目前只支持MSR930、MSR650x。
-
-
相关主题
2.12. MI_DISP_GetPlayToleration¶
-
功能
获取播放容忍度。
-
语法
MI_S32 MI_DISP_GetPlayToleration (MI_DISP_LAYER DispLayer, MI_U32 *pu32Toleration);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 pu32Toleration 播放容忍度。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
播放容忍度单位为毫秒。
-
调用前请保证视频层已经使能。
-
目前只支持MSR930、MSR650x。
-
-
相关主题
2.13. MI_DISP_SetVideoLayerAttrBatchBegin¶
-
功能
设置视频层上输入端口相关操作开始。
-
语法
MI_S32 MI_DISP_SetVideoLayerAttrBatchBegin (MI_DISP_LAYER DispLayer);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
调用前请保证视频层已经使能。
-
MI_DISP_SetVideoLayerAttrBatchBegin和MI_DISP_SetVideoLayerAttrBatchEnd接口要配对使用,否则MI_DISP_SetVideoLayerAttrBatchBegin后设置视频层上输入端口相关操作不会生效。
-
此接口支持以下接口的批处理:
MI_DISP_EnableInputPort、MI_DISP_DisableInputPort、MI_DISP_HideInputPort、MI_DISP_ShowInputPort
-
对于不支持批处理的接口会立即生效。
-
批处理中输入端口操作都是在MI_DISP_SetVideoLayerAttrBatchEnd调用之后生效。
例如批处理禁用输入端口0 ~ 15,接口顺序为MI_DISP_SetVideoLayerAttrBatchBegin、MI_DISP_DisableInputPort(0 ~ 15)、MI_DISP_SetVideoLayerAttrBatchEnd。
-
目前支持Muffin、Mochi。
-
-
相关主题
2.14. MI_DISP_SetVideoLayerAttrBatchEnd¶
-
功能
设置视频层上输入端口相关操作结束。
-
语法
MI_S32 MI_DISP_SetVideoLayerAttrBatchEnd (MI_DISP_LAYER DispLayer);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
调用前请保证MI_DISP_SetVideoLayerAttrBatchBegin已被调用。
-
调用前请保证视频层已经使能。
-
目前支持Muffin、Mochi。
-
-
相关主题
2.15. MI_DISP_EnableInputPort¶
-
功能
启用指定的视频输入端口。
-
语法
MI_S32 MI_DISP_EnableInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
调用前必须使能视频层
-
调用前必须绑定视频层
-
-
相关主题
2.16. MI_DISP_DisableInputPort¶
-
功能
禁用指定的视频输入端口。
-
语法
MI_S32 MI_DISP_DisableInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.17. MI_DISP_SetInputPortAttr¶
-
功能
配置指定视频输入端口的属性。
-
语法
MI_S32 MI_DISP_SetInputPortAttr(MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, MI_DISP_InputPortAttr_t *pstInputPortAttr);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 pstInputPortAttr 视频输入端口属性指针 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
调用前必须使能视频层
-
调用前必须绑定视频层
-
-
相关主题
2.18. MI_DISP_GetInputPortAttr¶
-
功能
获取指定视频输入端口的属性。
-
语法
MI_S32 MI_DISP_GetInputPortAttr(MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, MI_DISP_InputPortAttr_t *pstInputPortAttr);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 pstInputPortAttr 视频输入端口属性指针 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
调用前必须使能视频层
-
调用前必须绑定视频层
-
-
相关主题
2.19. MI_DISP_SetInputPortDispPos¶
-
功能
设置指定视频输入端口的显示位置。
-
语法
MI_S32 MI_DISP_SetInputPortDispPos(MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, const MI_DISP_Position_t *pstDispPos);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 pstDispPos 输入端口位置指针 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.20. MI_DISP_GetInputPortDispPos¶
-
功能
获取指定视频输入端口的显示位置。
-
语法
MI_S32 MI_DISP_GetInputPortDispPos(MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, MI_DISP_Position_t *pstDispPos);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 pstDispPos 输入端口位置指针 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.21. MI_DISP_PauseInputPort¶
-
功能
暂停指定的视频输入端口。
-
语法
MI_S32 MI_DISP_PauseInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.22. MI_DISP_ResumeInputPort¶
-
功能
恢复指定的视频输入端口。
-
语法
MI_S32 MI_DISP_ResumeInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.23. MI_DISP_StepInputPort¶
-
功能
单帧播放指定的视频输入端口。
-
语法
MI_S32 MI_DISP_StepInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
目前只支持MSR930、MSR650x。
-
调用前必须使能视频层。
-
-
相关主题
2.24. MI_DISP_ShowInputPort¶
-
功能
显示指定的视频输入端口。
-
语法
MI_S32 MI_DISP_ShowInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.25. MI_DISP_HideInputPort¶
-
功能
隐藏指定的视频输入端口。
-
语法
MI_S32 MI_DISP_HideInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.26. MI_DISP_SetInputPortSyncMode¶
-
功能
设定指定的视频输入端口同步模式。
-
语法
MI_S32 MI_DISP_SetInputPortSyncMode (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, MI_DISP_SyncMode_e eMode);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 eMode 输入端口同步模式 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
目前只支持MSR930、MSR650x。
-
调用前必须使能视频层。
-
2.27. MI_DISP_QueryInputPortStat¶
-
功能
查询视频输入端口状态。
-
语法
MI_S32 MI_DISP_QueryInputPortStat(MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, MI_DISP_QueryChanelStatus_t *pstStatus);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 pstStatus 输入端口状态指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
2.28. MI_DISP_SetZoomInWindow¶
-
功能
裁剪视频输入端口。
-
语法
MI_S32 MI_DISP_SetZoomInWindow(MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, MI_DISP_VidWinRect_t *pstZoomRect);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 pstZoomRect 视频裁剪属性指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.29. MI_DISP_GetVgaParam¶
-
功能
获取VGA输出设备参数。
-
语法
MI_S32 MI_DISP_GetVgaParam(MI_DISP_DEV DispDev, MI_DISP_VgaParam_t *pstVgaParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstVgaParam VGA图像输出效果结构体指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.30. MI_DISP_SetVgaParam¶
-
功能
设定VGA输出设备参数。
-
语法
MI_S32 MI_DISP_SetVgaParam (MI_DISP_DEV DispDev, MI_DISP_VgaParam_t *pstVgaParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstVgaParam VGA图像输出效果结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.31. MI_DISP_GetHdmiParam¶
-
功能
获取HDMI输出设备参数。
-
语法
MI_S32 MI_DISP_GetHdmiParam(MI_DISP_DEV DispDev, MI_DISP_HdmiParam_t *pstHdmiParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstHdmiParam HDMI图像输出效果结构体指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.32. MI_DISP_SetHdmiParam¶
-
功能
设定HDMI输出设备参数。
-
语法
MI_S32 MI_DISP_SetHdmiParam(MI_DISP_DEV DispDev, MI_DISP_HdmiParam_t *pstHdmiParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstHdmiParam HDMI图像输出效果结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.33. MI_DISP_GetLcdParam¶
-
功能
获取LCD输出设备参数。
-
语法
MI_S32 MI_DISP_GetLcdParam(MI_DISP_DEV DispDev, MI_DISP_LcdParam_t *pstLcdParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstLcdParam LCD图像输出效果结构体指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.34. MI_DISP_SetLcdParam¶
-
功能
设定LCD输出设备参数。
-
语法
MI_S32 MI_DISP_SetLcdParam(MI_DISP_DEV DispDev, MI_DISP_LcdParam_t *pstLcdParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstLcdParam LCD图像输出效果结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.35. MI_DISP_GetCvbsParam¶
-
功能
获取CVBS输出设备参数。
-
语法
MI_S32 MI_DISP_GetCvbsParam(MI_DISP_DEV DispDev, MI_DISP_CvbsParam_t *pstCvbsParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstCvbsParam CVBS图像输出效果结构体指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.36. MI_DISP_SetCvbsParam¶
-
功能
设定CVBS输出设备参数。
-
语法
MI_S32 MI_DISP_SetCvbsParam(MI_DISP_DEV DispDev, MI_DISP_CvbsParam_t *pstCvbsParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstCvbsParam CVBS图像输出效果结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
-
相关主题
2.37. MI_DISP_DeviceGetColorTempeture¶
-
功能
获取图像输出色温参数。
-
语法
MI_S32 MI_DISP_DeviceGetColorTempeture(MI_DISP_DEV DispDev, MI_DISP_ColorTemperature_t *pstColorTempInfo);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstColorTempInfo 图像输出色温参数结构体指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
目前只支持Takoyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.38. MI_DISP_DeviceSetColorTempeture¶
-
功能
设定图像输出色温参数。
-
语法
MI_S32 MI_DISP_DeviceSetColorTempeture(MI_DISP_DEV DispDev, MI_DISP_ColorTemperature_t *pstColorTempInfo);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstColorTempInfo 图像输出色温参数结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
目前只支持Takoyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.39. MI_DISP_DeviceSetGammaParam¶
-
功能
设定图像输出Gamma参数。
-
语法
MI_S32 MI_DISP_DeviceSetGammaParam(MI_DISP_DEV DispDev, MI_DISP_GammaParam_t *pstGammaParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号。 输入 pstGammaParam 图像输出Gamma参数结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
目前只支持Takoyaki。
-
调用前必须使能视频层。
-
2.40. MI_DISP_SetVideoLayerRotateMode¶
-
功能
设定视频层旋转参数。
-
语法
MI_S32 MI_DISP_SetVideoLayerRotateMode(MI_DISP_LAYER DispLayer, MI_DISP_RotateConfig_t *pstRotateConfig);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 pstRotateConfig 图像输出旋转参数结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
目前只支持Takoyaki、Tiramisu 、Muffin。其中只有Takoyaki支持旋转180度。
-
调用前需使能视频层。
-
调用前需禁用其上全部的输入端口。
-
前级需绑定VDEC/SCL。
-
每个视频层仅支援一个输入端口。例如,开启旋转90°后,每个视频层仅能启用输入端口0。
-
旋转功能最大支持的分辨率是1920x1080。
-
2.41. MI_DISP_ClearInputPortBuffer¶
-
功能
清除当前显示窗口视频数据。
-
语法
MI_S32 MI_DISP_ClearInputPortBuffer(MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, MI_BOOL bClrAll);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号。 输入 LayerInputPort 视频输入端口号。 输入 bClrAll 是否清除当前显示内容 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频层。
2.42. MI_DISP_InitDev¶
-
功能
初始化disp设备。
-
语法
MI_S32 MI_DISP_InitDev(MI_DISP_InitParam_t *pstInitParam);
-
形参
参数名称 描述 输入/输出 pstInitParam 设备初始化参数。 暂没有用到,可以配置为NULL 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 如果本接口在调用任意的DISP API之前没有调用,内部会自动初始化设备
2.43. MI_DISP_DeInitDev¶
-
功能
反初始化disp设备。
-
语法
MI_S32 MI_DISP_DeInitDev(void);
-
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
此函数必须在初始化设备后调用,否则返回失败。
-
如果本接口在app退出前没有调用,内部会自动反初始化设备。
-
在动态切换到下一个输出接口类型之前,要先调用此接口函数。
-
2.44. MI_DISP_SetWBCSource¶
-
功能
设置视频回写设备的回写源,可设置从设备回写还是从设备的视频层回写。
-
语法
MI_S32 MI_DISP_SetWBCSource(MI_DISP_WBC DispWbc, const MI_DISP_WBC_Source_t *pstWbcSource);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 pstWbcSource 回写源结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
-
目前只支持Tiramisu、Muffin、Mochi,回写设备只支持一个。
-
u32SourceId 只支持0/1。
-
-
举例
MI_DISP_WBC_Source_t stWbcSource; MI_DISP_WBC_Attr_t stWbcAttr; stWbcSource.eSourceType = MI_DISP_WBC_SOURCE_DEV; stWbcSource.u32SourceId = 0; MI_DISP_SetWBCSource(0, &stWbcSource); stWbcAttr.stTargetSize.u32Width = 720; stWbcAttr.stTargetSize.u32Height = 576; stWbcAttr.ePixFormat = E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420; MI_DISP_SetWBCAttr(0, &stWbcAttr); MI_DISP_EnableWBC(0); stSrcChnPort.eModId = E_MI_MODULE_ID_WBC; stSrcChnPort.u32DevId = 0; stSrcChnPort.u32ChnId = 0; stSrcChnPort.u32PortId = 0; stDstChnPort.eModId = E_MI_MODULE_ID_DISP; stDstChnPort.u32DevId = 1; stDstChnPort.u32ChnId = 0; stDstChnPort.u32PortId = 0; MI_SYS_BindChnPort(0, &stSrcChnPort, &stDstChnPort, 30, 30);
-
相关主题
2.45. MI_DISP_GetWBCSource¶
-
功能
获取视频回写设备的回写源。
-
语法
MI_S32 MI_DISP_GetWBCSource(MI_DISP_WBC DispWbc, MI_DISP_WBC_Source_t *pstWbcSource);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 pstWbcSource 回写源结构体指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.46. MI_DISP_SetWBCAttr¶
-
功能
设置视频回写设备属性。
-
语法
MI_S32 MI_DISP_SetWBCAttr(MI_DISP_WBC DispWbc, const MI_DISP_WBC_Attr_t *pstWbcAttr);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 pstWbcAttr 回写设备属性结构体指针。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.47. MI_DISP_GetWBCAttr¶
-
功能
获取视频回写设备属性。
-
语法
MI_S32 MI_DISP_GetWBCAttr(MI_DISP_WBC DispWbc, MI_DISP_WBC_Attr_t *pstWbcAttr);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 pstWbcAttr 回写设备属性结构体指针。 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.48. MI_DISP_EnableWBC¶
-
功能
使能视频回写设备。
-
语法
MI_S32 MI_DISP_EnableWBC(MI_DISP_WBC DispWbc);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.49. MI_DISP_DisableWBC¶
-
功能
禁用视频回写设备。
-
语法
MI_S32 MI_DISP_DisableWBC(MI_DISP_WBC DispWbc);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
相关主题
2.50. MI_DISP_GetCurrentPts¶
-
功能
获取当前显示那一帧的时间戳。
-
语法
MI_S32 MI_DISP_GetCurrentPts (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort, MI_U64 *pu64Pts);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 pu64Pts 存储时间戳指针 输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
-
注意
- 调用前必须使能视频输入端口。
2.51. MI_DISP_SetPowerConfig¶
-
功能
设置输出能量属性。
-
语法
MI_S32 MI_DISP_SetPowerConfig (MI_DISP_DEV DispDev, MI_DISP_PowerConfig_t *pstPowerCfg);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 pstPowerCfg 配置结构体指针 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
2.52. MI_DISP_WriteMipiDsiCmd¶
-
功能
写mipidsi命令。
-
语法
MI_S32 MI_DISP_WriteMipiDsiCmd(MI_DISP_DEV DispDev, MI_DISP_WriteMipiDsiCmd_t *pstWriteMipiDsiCmd);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 pstWriteMipiDsiCmd 配置结构体指针 输入 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
2.53. MI_DISP_ReadMipiDsiCmd¶
-
功能
读mipidsi命令。
-
语法
MI_S32 MI_DISP_ReadMipiDsiCmd(MI_DISP_DEV DispDev, MI_DISP_ReadMipiDsiCmd_t *pstReadMipiDsiCmd);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 pstReadMipiDsiCmd 配置结构体指针 输入输出 -
返回值
-
0:成功。
-
非0:失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h、mi_disp_datatype.h
-
库文件:libmi_disp.a / libmi_disp.so
-
3. 数据类型¶
DISP模块相关数据类型定义如下:
3.1. MI_DISP_DEV¶
-
说明
定义DISP_DEV类型。
-
定义
typedef MI_S32 MI_DISP_DEV;
3.2. MI_DISP_LAYER¶
-
说明
定义DISP LAYER类型。
DISP以video layer作为输出单位,对于有多个Input Port的DISP来说,所有Input Port最终拼接为一个video layer输出到显示器;对于只有一个Input Port的DISP,Input Port size等于video layer size。
-
定义
typedef MI_S32 MI_DISP_LAYER;
3.3. MI_DISP_INPUTPORT¶
-
说明
定义 LAYER_INPUTPORT类型。
-
定义
typedef MI_S32 MI_DISP_INPUTPORT;
3.4. MI_DISP_Interface_e¶
-
说明
定义视频输出接口。
-
定义
typedef enum { E_MI_DISP_INTF_CVBS = 0, E_MI_DISP_INTF_YPBPR, E_MI_DISP_INTF_VGA, E_MI_DISP_INTF_BT656, E_MI_DISP_INTF_BT1120, E_MI_DISP_INTF_HDMI, E_MI_DISP_INTF_LCD, E_MI_DISP_INTF_BT656_H, E_MI_DISP_INTF_BT656_L, E_MI_DISP_INTF_TTL, E_MI_DISP_INTF_MIPIDSI, E_MI_DISP_INTF_TTL_SPI_IF, E_MI_DISP_INTF_SRGB, E_MI_DISP_INTF_MCU, E_MI_DISP_INTF_MCU_NOFLM, E_MI_DISP_INTF_BT601, E_MI_DISP_INTF_BT1120_DDR, E_MI_DISP_INTF_LVDS, E_MI_DISP_INTF_LVDS1, E_MI_DISP_INTF_DUAL_LVDS, E_MI_DISP_INTF_MIPIDSI1, E_MI_DISP_INTF_MAX, }MI_DISP_Interface_e;
-
接口支持的Timing
接口(eIntfType) 支持的时序(eIntfSync) E_MI_DISP_INTF_HDMI E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_1080P24, E_MI_DISP_OUTPUT_1920x1080_2997, E_MI_DISP_OUTPUT_1920x1080_5994, E_MI_DISP_OUTPUT_1920x1080_2398, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_720P24, E_MI_DISP_OUTPUT_1280x720_2997, E_MI_DISP_OUTPUT_1280x720_5994, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_640x480_60, E_MI_DISP_OUTPUT_848x480_60, E_MI_DISP_OUTPUT_800x600_60, E_MI_DISP_OUTPUT_2560x1440_60, E_MI_DISP_OUTPUT_2560x1440_50, E_MI_DISP_OUTPUT_2560x1440_30, E_MI_DISP_OUTPUT_2560x1600_60, E_MI_DISP_OUTPUT_1024x768_60, E_MI_DISP_OUTPUT_1280x1024_60, E_MI_DISP_OUTPUT_1366x768_60, E_MI_DISP_OUTPUT_1440x900_60, E_MI_DISP_OUTPUT_1280x800_60, E_MI_DISP_OUTPUT_1680x1050_60, E_MI_DISP_OUTPUT_1600x1200_60, E_MI_DISP_OUTPUT_1280x768_60, E_MI_DISP_OUTPUT_1280x960_60, E_MI_DISP_OUTPUT_1360x768_60, E_MI_DISP_OUTPUT_1400x1050_60, E_MI_DISP_OUTPUT_1600x900_60, E_MI_DISP_OUTPUT_1920x1440_60, E_MI_DISP_OUTPUT_1920x1200_60, E_MI_DISP_OUTPUT_3840x2160_30, E_MI_DISP_OUTPUT_3840x2160_25, E_MI_DISP_OUTPUt_3840x2160_24, E_MI_DISP_OUTPUT_3840x2160_2997 E_MI_DISP_INTF_VGA E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_1080P24, E_MI_DISP_OUTPUT_1920x1080_2997, E_MI_DISP_OUTPUT_1920x1080_5994, E_MI_DISP_OUTPUT_1920x1080_2398, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_720P24, E_MI_DISP_OUTPUT_1280x720_2997, E_MI_DISP_OUTPUT_1280x720_5994, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_640x480_60, E_MI_DISP_OUTPUT_848x480_60, E_MI_DISP_OUTPUT_800x600_60, E_MI_DISP_OUTPUT_1024x768_60, E_MI_DISP_OUTPUT_1280x1024_60, E_MI_DISP_OUTPUT_1366x768_60, E_MI_DISP_OUTPUT_1440x900_60, E_MI_DISP_OUTPUT_1280x800_60, E_MI_DISP_OUTPUT_1680x1050_60, E_MI_DISP_OUTPUT_1600x1200_60, E_MI_DISP_OUTPUT_1280x768_60, E_MI_DISP_OUTPUT_1280x960_60, E_MI_DISP_OUTPUT_1360x768_60, E_MI_DISP_OUTPUT_1400x1050_60, E_MI_DISP_OUTPUT_1600x900_60, E_MI_DISP_OUTPUT_1920x1200_60 E_MI_DISP_INTF_HDMI+E_MI_DISP_INTF_VGA E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_1080P24, E_MI_DISP_OUTPUT_1920x1080_2997, E_MI_DISP_OUTPUT_1920x1080_5994, E_MI_DISP_OUTPUT_1920x1080_2398, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_720P24, E_MI_DISP_OUTPUT_1280x720_2997, E_MI_DISP_OUTPUT_1280x720_5994, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_640x480_60, E_MI_DISP_OUTPUT_848x480_60, E_MI_DISP_OUTPUT_800x600_60, E_MI_DISP_OUTPUT_1024x768_60, E_MI_DISP_OUTPUT_1280x1024_60, E_MI_DISP_OUTPUT_1366x768_60, E_MI_DISP_OUTPUT_1440x900_60, E_MI_DISP_OUTPUT_1280x800_60, E_MI_DISP_OUTPUT_1680x1050_60, E_MI_DISP_OUTPUT_1600x1200_60, E_MI_DISP_OUTPUT_1280x768_60, E_MI_DISP_OUTPUT_1280x960_60, E_MI_DISP_OUTPUT_1360x768_60, E_MI_DISP_OUTPUT_1400x1050_60, E_MI_DISP_OUTPUT_1600x900_60, E_MI_DISP_OUTPUT_1920x1200_60 E_MI_DISP_INTF_BT1120 E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_720I25, E_MI_DISP_OUTPUT_720I30, E_MI_DISP_OUTPUT_720I50, E_MI_DISP_OUTPUT_720I60, E_MI_DISP_OUTPUT_1080I25, E_MI_DISP_OUTPUT_1080I30, E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_BT1120_DDR E_MI_DISP_OUTPUT_3840x2160_30, E_MI_DISP_OUTPUT_3840x2160_25, E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_BT656 E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_720I25, E_MI_DISP_OUTPUT_720I30, E_MI_DISP_OUTPUT_720I50, E_MI_DISP_OUTPUT_720I60, E_MI_DISP_OUTPUT_1080I25, E_MI_DISP_OUTPUT_1080I30, E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_CVBS E_MI_DISP_OUTPUT_PAL, E_MI_DISP_OUTPUT_NTSC E_MI_DISP_INTF_TTL E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_MIPIDSI E_MI_DISP_OUTPUT_3840x2160_30, E_MI_DISP_OUTPUT_3840x2160_25, E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_MIPIDSI1 E_MI_DISP_OUTPUT_3840x2160_30, E_MI_DISP_OUTPUT_3840x2160_25, E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_MCU E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_MCU_NOFLM E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_SRGB E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_LVDS E_MI_DISP_OUTPUT_3840x2160_30, E_MI_DISP_OUTPUT_3840x2160_25, E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_LVDS1 E_MI_DISP_OUTPUT_3840x2160_30, E_MI_DISP_OUTPUT_3840x2160_25, E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_USER E_MI_DISP_INTF_DUAL_LVDS E_MI_DISP_OUTPUT_3840x2160_30, E_MI_DISP_OUTPUT_3840x2160_25, E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_720P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P25, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_USER -
注意事项
- E_MI_DISP_INTF_BT1120 为单边沿采样;E_MI_DISP_INTF_BT1120_DDR 为双边沿采样。
- 目前仅Souffle chip 的bt1120 和 bt656 interface 支持 E_MI_DISP_OUTPUT_720I25, E_MI_DISP_OUTPUT_720I30, E_MI_DISP_OUTPUT_720I50, E_MI_DISP_OUTPUT_720I60, E_MI_DISP_OUTPUT_1080I25, E_MI_DISP_OUTPUT_1080I30时序。
-
相关数据类型及接口
3.5. MI_DISP_IntfSync_e¶
-
说明
定义 DISP timing类型。
-
定义
typedef enum { E_MI_DISP_OUTPUT_PAL = 0, E_MI_DISP_OUTPUT_NTSC, E_MI_DISP_OUTPUT_960H_PAL, /* ITU-R BT.1302 960 x 576 at 50 Hz (interlaced)*/ E_MI_DISP_OUTPUT_960H_NTSC, /* ITU-R BT.1302 960 x 480 at 60 Hz (interlaced)*/ E_MI_DISP_OUTPUT_480i60, E_MI_DISP_OUTPUT_576i50, E_MI_DISP_OUTPUT_480P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_1080P24, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_1080I50, E_MI_DISP_OUTPUT_1080I60, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_640x480_60, /* VESA 640 x 480 at 60 Hz (non-interlaced) CVT */ E_MI_DISP_OUTPUT_800x600_60, /* VESA 800 x 600 at 60 Hz (non-interlaced) */ E_MI_DISP_OUTPUT_1024x768_60, /* VESA 1024 x 768 at 60 Hz (non-interlaced) */ E_MI_DISP_OUTPUT_1280x1024_60, /* VESA 1280 x 1024 at 60 Hz (non-interlaced) */ E_MI_DISP_OUTPUT_1366x768_60, /* VESA 1366 x 768 at 60 Hz (non-interlaced) */ E_MI_DISP_OUTPUT_1440x900_60, /* VESA 1440 x 900 at 60 Hz (non-interlaced) CVT Compliant */ E_MI_DISP_OUTPUT_1280x800_60, /* 1280*800@60Hz VGA@60Hz*/ E_MI_DISP_OUTPUT_1680x1050_60, /* VESA 1680 x 1050 at 60 Hz (non-interlaced) */ E_MI_DISP_OUTPUT_1920x2160_30, /* 1920x2160_30 */ E_MI_DISP_OUTPUT_1600x1200_60, /* VESA 1600 x 1200 at 60 Hz (non-interlaced) */ E_MI_DISP_OUTPUT_1920x1200_60, /* VESA 1920 x 1600 at 60 Hz (non-interlaced) CVT (Reduced Blanking)*/ E_MI_DISP_OUTPUT_2560x1440_30, /* 2560x1440_30 */ E_MI_DISP_OUTPUT_2560x1440_50, /* 2560x1440_50 */ E_MI_DISP_OUTPUT_2560x1440_60, /* 2560x1440_60 */ E_MI_DISP_OUTPUT_2560x1600_60, /* 2560x1600_60 */ E_MI_DISP_OUTPUT_3840x2160_25, /* 3840x2160_25 */ E_MI_DISP_OUTPUT_3840x2160_30, /* 3840x2160_30 */ E_MI_DISP_OUTPUT_3840x2160_60, /* 3840x2160_60 */ E_MI_DISP_OUTPUT_1920x1080_5994, /* 1920x1080_59.94 */ E_MI_DISP_OUTPUT_1920x1080_2997, /* 1920x1080_29.97 */ E_MI_DISP_OUTPUT_1280x720_5994, /* 1280X720_59.94 */ E_MI_DISP_OUTPUT_1280x720_2997, /* 1280x720_29.97 */ E_MI_DISP_OUTPUT_3840x2160_2997, /* 3840x2160_29.97 */ E_MI_DISP_OUTPUT_720P24, /* 1280x720_24 */ E_MI_DISP_OUTPUT_720P25, /* 1280x720_25 */ E_MI_DISP_OUTPUT_720P30, /* 1280x720_30 */ E_MI_DISP_OUTPUT_1920x1080_2398, /* 1920x1080_23.98*/ E_MI_DISP_OUTPUt_3840x2160_24, /* 3840x2160_24 */ E_MI_DISP_OUTPUT_848x480_60, /* 848x480_60 */ E_MI_DISP_OUTPUT_1280x768_60, /* 1280x768_60 */ E_MI_DISP_OUTPUT_1280x960_60, /* 1280x960_60 */ E_MI_DISP_OUTPUT_1360x768_60, /* 1360x768_60 */ E_MI_DISP_OUTPUT_1400x1050_60, /* 1400x1050_60 */ E_MI_DISP_OUTPUT_1600x900_60, /* 1600x900_60 */ E_MI_DISP_OUTPUT_1920x1440_60, /* 1920x1440_60 */ E_MI_DISP_OUTPUT_USER, E_MI_DISP_OUTPUT_720I25, /*only for bt1120 and bt656*/ E_MI_DISP_OUTPUT_720I30, E_MI_DISP_OUTPUT_720I50, /*only for bt1120 and bt656*/ E_MI_DISP_OUTPUT_720I60, /*only for bt1120 and bt656*/ E_MI_DISP_OUTPUT_1080I25, /*only for bt1120 and bt656*/ E_MI_DISP_OUTPUT_1080I30, E_MI_DISP_OUTPUT_MAX, } MI_DISP_OutputTiming_e;
-
成员
各个Timing的定义,LCD显示应该使用E_MI_DISP_OUTPUT_USER。
-
相关数据类型及接口
3.6. MI_DISP_SyncInfo_t¶
-
说明
定义DISP输出屏参信息。
-
定义
typedef struct MI_DISP_SyncInfo_s { MI_BOOL bSynm; /* sync mode(0:timing,as BT.656; 1:signal,as LCD) */ MI_BOOL bIop; /* interlaced or progressive display(0:i; 1:p) */ MI_U8 u8Intfb; /* interlace bit width while output */ MI_U16 u16VStart ; /* vertical de start */ MI_U16 u16Vact ; /* vertical active area */ MI_U16 u16Vbb; /* vertical back blank porch */ MI_U16 u16Vfb; /* vertical front blank porch */ MI_U16 u16HStart; /* herizontal de start */ MI_U16 u16Hact; /* herizontal active area */ MI_U16 u16Hbb; /* herizontal back blank porch */ MI_U16 u16Hfb; /* herizontal front blank porch */ MI_U16 u16Hmid; /* bottom herizontal active area */ MI_U16 u16Bvact; /* bottom vertical active area */ MI_U16 u16Bvbb; /* bottom vertical back blank porch */ MI_U16 u16Bvfb; /* bottom vertical front blank porch */ MI_U16 u16Hpw; /* horizontal pulse width */ MI_U16 u16Vpw; /* vertical pulse width */ MI_BOOL bIdv; /* inverse data valid of output */ MI_BOOL bIhs; /* inverse horizontal synch signal */ MI_BOOL bIvs; /* inverse vertical synch signal */ MI_U32 u32FrameRate; } MI_DISP_SyncInfo_t
-
成员
成员名称 描述 u16VStart 场有效开始。一般等于场同步信号脉宽+场同步信号后肩 u16Vact 场有效行数 u16Vbb 场同步信号后肩 u16Vfb 场同步信号前肩 u16HStart 行有效开始。一般等于行同步信号脉宽+行同步信号后肩 u16Hact 行有效像素点数 u16Hbb 行同步信号后肩 u16Hfb 行同步信号前肩 u16Hpw 行同步信号脉宽 u16Vpw 场同步信号脉宽 u32Framerate 帧率 表中未列参数暂未使用到
-
注意事项
- LCD显示时才需要配置屏参信息。
-
相关数据类型及接口
3.7. MI_DISP_PubAttr_t¶
-
说明
定义 DISP公共属性。
-
定义
typedef struct MI_DISP_PubAttr_s { MI_U32 u32BgColor; /* Background color of a device */ MI_DISP_Interface_e eIntfType; /* Type of a VO interface */ MI_DISP_IntfSync_e eIntfSync; /* Type of a VO interface timing */ MI_DISP_SyncInfo_t stSyncInfo; /* Information about VO interface timings */ } MI_DISP_PubAttr_t;
-
成员
成员名称 描述 u32BgColor 设定背景颜色。 u32IntfType 接口定义:MI_DISP_Interface_e eIntfSync 接口时序定义:MI_DISP_IntfSync_e stSyncInfo 接口自定义时序定义:MI_DISP_SyncInfo_t -
注意事项
-
stSyncInfo是针对用户选择E_MI_DISP_OUTPUT_USER,即Timing自定义的Case。
-
u32BgColor有两套定义
带有MOP(支持放大)的chip定义为:
bit 功能 24~31 未使用 16~23 V 8~15 U 0~7 Y 带有SCL_RDMA(不支持放大)的chip定义为:
bit 功能 24~31 未使用 16~23 B 8~15 G 0~7 R
-
-
相关数据类型及接口
3.8. MI_DISP_Csc_t¶
-
说明
定义 DISP 颜色转换信息。
-
定义
typedef struct MI_DISP_Csc_s { MI_DISP_CscMatrix_e eCscMatrix; MI_U32 u32Luma; /* luminance: 0 ~ 100 default: 50 */ MI_U32 u32Contrast; /* contrast : 0 ~ 100 default: 50 */ MI_U32 u32Hue; /* hue : 0 ~ 100 default: 50 */ MI_U32 u32Saturation; /* saturation: 0 ~ 100 default: 50 */ } MI_DISP_Csc_t;
-
成员
成员名称 描述 eCscMatrix 颜色转换矩阵 u32Luma 亮度调节 u32Contrast 对比度调节 u32Hue 色度调节 u32Saturation 饱和度调节 -
相关数据类型及接口
3.9. MI_DISP_CscMatrix_e¶
-
说明
定义 DISP 颜色转换矩阵。
-
定义
typedef enum { E_MI_DISP_CSC_MATRIX_BYPASS = 0, /* do not change color space */ E_MI_DISP_CSC_MATRIX_BT601_TO_RGB_PC, /* change color space from BT.601 to RGB */ E_MI_DISP_CSC_MATRIX_BT709_TO_RGB_PC, /* change color space from BT.709 to RGB */ E_MI_DISP_CSC_MATRIX_RGB_TO_BT601_PC, /* change color space from RGB to BT.601 */ E_MI_DISP_CSC_MATRIX_RGB_TO_BT709_PC, /* change color space from RGB to BT.709 */ E_MI_DISP_CSC_MATRIX_USER, /* Change color space from PQ.bin */ E_MI_DISP_CSC_MATRIX_NUM } MI_DISP_CscMatrix_e;
-
成员
成员名称 描述 E_MI_DISP_CSC_MATRIX_BYPASS 不做颜色转换 E_MI_DISP_CSC_MATRIX_BT601_TO_RGB_PC BT.601到RGB色彩空间的CSC矩阵。 E_MI_DISP_CSC_MATRIX_BT709_TO_RGB_PC BT.709到RGB色彩空间的CSC矩阵。 E_MI_DISP_CSC_MATRIX_RGB_TO_BT601_PC RGB到BT.601 色彩空间的CSC矩阵。 E_MI_DISP_CSC_MATRIX_RGB_TO_BT709_PC RGB到BT.709 色彩空间的CSC矩阵。 E_MI_DISP_CSC_MATRIX_USER 色彩空间从PQ.bin中获取。 -
注意事项
- 目前只支持MSR930、MSR650x、Taiyaki、Takoyaki。
-
相关数据类型及接口
3.10. MI_DISP_VgaParam_t¶
-
说明
定义 DISP VGA设定参数信息。
-
定义
typedef struct MI_DISP_VgaParam_s { MI_DISP_Csc_t stCsc; /* color space */ MI_U32 u32Gain; /* current gain of VGA signals. [0, 64). default:0x30 */ MI_U32 u32Sharpness; } MI_DISP_VgaParam_t;
-
成员
成员名称 描述 stCsc 色彩转换信息定义 u32Gain 信号强度增益 u32Sharpness 锐利度定义 -
注意事项
- 目前只支持MSR930、MSR650x、Taiyaki。
-
相关数据类型及接口
3.11. MI_DISP_HdmiParam_t¶
-
说明
定义 DISP HDMI设定参数信息。
-
定义
typedef struct MI_DISP_HdmiParam_s { MI_DISP_Csc_t stCsc; /* color space */ MI_U32 u32Gain; /* current gain of HDMI signals. [0, 64). default:0x30 */ MI_U32 u32Sharpness; } MI_DISP_HdmiParam_t;
-
成员
成员名称 描述 stCsc 色彩转换信息定义 u32Gain 信号强度增益 u32Sharpness 锐利度定义 -
注意事项
- 目前只支持MSR930、MSR650x、Taiyaki。
-
相关数据类型及接口
3.12. MI_DISP_LcdParam_t¶
-
说明
定义 DISP LCD输出图像参数。
-
定义
typedef struct MI_DISP_LcdParam_s { MI_DISP_Csc_t stCsc; /* color space */ MI_U32 u32Sharpness; } MI_DISP_LcdParam_t;
-
成员
成员名称 描述 stCsc 色彩转换信息定义 u32Sharpness 锐利度定义 -
注意事项
- 目前只支持Takoyaki。
-
相关数据类型及接口
3.13. MI_DISP_CvbsParam_t¶
-
说明
定义 DISP CVBS输出图像参数。
-
定义
typedef struct MI_DISP_CvbsParam_s { MI_DISP_Csc_t stCsc; /* color space */ MI_U32 u32Sharpness; } MI_DISP_CvbsParam_t;
-
成员
成员名称 描述 stCsc 色彩转换信息定义 u32Sharpness 锐利度定义 -
相关数据类型及接口
3.14. MI_DISP_ColorTemperature_t¶
-
说明
定义视频输出图像色温参数
-
定义
typedef struct { MI_U16 u16RedOffset; MI_U16 u16GreenOffset; MI_U16 u16BlueOffset; MI_U16 u16RedColor; // 00~FF, 0x80 is no change MI_U16 u16GreenColor;// 00~FF, 0x80 is no change MI_U16 u16BlueColor; // 00~FF, 0x80 is no change }MI_DISP_ColorTemperature_t;
-
成员
成员名称 描述 u16RedColor 色温矫正参数R分量 u16GreenColor 色温矫正参数G分量 u16BlueColor 色温矫正参数B分量 -
注意事项
- 目前只支持Takoyaki。
-
相关数据类型及接口
3.15. MI_DISP_GammaParam_t¶
-
说明
定义视频输出图像Gamma参数
-
定义
typedef struct MI_DISP_GammaParam_s { MI_BOOL bEn; MI_U16 u16EntryNum; union { MI_U8 * pu8ColorR; MI_PTR64 p64ColorR; }; union { MI_U8 * pu8ColorG; MI_PTR64 p64ColorG; }; union { MI_U8 * pu8ColorB; MI_PTR64 p64ColorB; }; } MI_DISP_GammaParam_t;
-
成员
成员名称 描述 bEn 使能Gamma调整 u16EntryNum Gamma table成员个数 pu8ColorR R table指针 p64ColorR 保留字段 pu8ColorG G table指针 p64ColorG 保留字段 pu8ColorB B table 指针 p64ColorB 保留字段 -
注意事项
- 目前只支持Takoyaki。
-
相关数据类型及接口
3.16. MI_DISP_VideoLayerSize_t¶
-
说明
定义 DISP layer层画面大小。
-
定义
typedef struct MI_DISP_VideoLayerSize_s { MI_U32 u32Width; MI_U32 u32Height; } MI_DISP_VideoLayerSize_t;
-
成员
成员名称 描述 u32Width 水平方向大小 u32Height 竖直方向大小 -
相关数据类型及接口
3.17. MI_DISP_VideoLayerAttr_t¶
-
说明
定义 DISP 视频层属性。
-
定义
typedef struct MI_DISP_VideoLayerAttr_s { MI_DISP_VidWinRect_t stDispWin; /* Display resolution */ MI_DISP_VideoLayerSize_t stLayerSize; /* Canvas size of the video layer */ MI_DISP_PixelFormat_e ePixFormat; /* Pixel format of the video layer */ } MI_DISP_VideoLayerAttr_t;
-
成员
成员名称 描述 stDispWin 输入端口显示位置 stLayerSize 视频层大小 ePixFormat 输入像素数据格式 -
相关数据类型及接口
3.18. MI_DISP_RotateMode_e¶
-
说明
定义 DISP 视频输出旋转角度。
-
定义
typedef enum { E_MI_DISP_ROTATE_NONE, E_MI_DISP_ROTATE_90, E_MI_DISP_ROTATE_180, E_MI_DISP_ROTATE_270, E_MI_DISP_ROTATE_NUM, }MI_DISP_RotateMode_e;
-
成员
成员名称 描述 E_MI_DISP_ROTATE_NONE 不做旋转 E_MI_DISP_ROTATE_90 顺时针旋转90度 E_MI_DISP_ROTATE_180 顺时针旋转180度 E_MI_DISP_ROTATE_270 顺时针旋转270度 -
注意事项
-
目前只支持Takoyaki、Tiramisu、Muffin。
-
只有Takoyaki支持旋转180度。
-
-
相关数据类型及接口
3.19. MI_DISP_RotateConfig_t¶
-
说明
定义 DISP 视频输出旋转参数。
-
定义
typedef struct MI_DISP_RotateConfig_s { MI_DISP_RotateMode_e eRotateMode; }MI_DISP_RotateConfig_t;
-
成员
成员名称 描述 MI_DISP_RotateConfig_t; 配置输出视频旋转 -
注意事项
-
目前只支持Takoyaki、Tiramisu、Muffin。
-
只有Takoyaki支持旋转180度。
-
-
相关数据类型及接口
3.20. MI_DISP_VidWinRect_t¶
-
说明
定义 DISP窗口属性。
-
定义
typedef struct MI_DISP_VidWinRect_s { MI_U16 u16X; MI_U16 u16Y; MI_U16 u16Width; MI_U16 u16Height; } MI_DISP_VidWinRect_t;
-
成员
成员名称 描述 u16X 水平方向起点 u16Y 竖直方向起点 u16Width 水平方向大小 u16Height 竖直方向大小 -
注意事项
-
每个窗口位置的x, y, width, height须2pixels对齐
-
裁剪不能超出源区域
-
-
相关数据类型及接口
3.21. MI_DISP_InputPortAttr_t¶
-
说明
定义 DISP输入端口属性。
-
定义
typedef struct MI_DISP_InputPortAttr_s { MI_DISP_VidWinRect_t stDispWin; /* rect of video out chn */ MI_U16 u16SrcWidth; MI_U16 u16SrcHeight; MI_SYS_CompressMode_e eDecompressMode; } MI_DISP_InputPortAttr_t;
-
成员
成员名称 描述 stDispWin 指定输入端口输出窗口位置及尺寸 u16SrcWidth 指定端口输入图像宽 u16SrcHeight 指定端口输入图像高 eDecompressMode 指定端口解压缩模式 -
注意事项
-
Takoyaki/Taiyaki/Tiramisu/Muffin/Mochi系列芯片可以对每个port做scaling up(不支持scaling down),H/V方向最大放大倍数为16倍。
-
如果芯片不支持独立对port做scaling up,使用时注意u16SrcWidth要等于stDispWin 中定义的u16Width,u16SrcHeight要等于stDispWin中定义的u16Height。
-
对于有多个input port的video layer来说,每个port在video layer上的显示位置可以任意设置。
-
Input port的显示位置不能与已Enable(包括Hide)的port相互叠加,但已Disable的port可以叠加。
-
每个window的x, y, width, height须2pixels对齐。
-
关于eDecompressMode,Mochi系列芯片支持E_MI_SYS_COMPRESS_MODE_NONE/E_MI_SYS_COMPRESS_MODE_TO_6BIT,其他chip仅支持E_MI_SYS_COMPRESS_MODE_NONE。
-
-
相关数据类型及接口
3.22. MI_DISP_Position_t¶
-
说明
定义 DISP输入端口位置。
-
定义
typedef struct MI_DISP_Position_s { MI_U16 u16X; MI_U16 u16Y; } MI_DISP_Position_t;
-
成员
成员名称 描述 u16X 水平方向起始点 u16Y 竖直方向起始点 -
相关数据类型及接口
3.23. MI_DISP_SyncMode_e¶
-
说明
定义 DISP同步模式。
-
定义
typedef enum { E_MI_DISP_SYNC_MODE_INVALID = 0, E_MI_DISP_SYNC_MODE_CHECK_PTS, E_MI_DISP_SYNC_MODE_FREE_RUN, E_MI_DISP_SYNC_MODE_NUM, } MI_DISP_SyncMode_e;
-
成员
成员名称 描述 E_MI_DISP_SYNC_MODE_INVALID 无效的同步模式 E_MI_DISP_SYNC_MODE_CHECK_PTS 检查PTS的同步模式 E_MI_DISP_SYNC_MODE_FREE_RUN 不检查PTS的同步模式 -
注意事项
- 目前只支持MSR930、MSR650x
-
相关数据类型及接口
3.24. MI_DISP_InputPortStatus_e¶
-
说明
定义 DISP输入端口状态类型。
-
定义
typedef enum { E_MI_DISP_INPUTPORT_STATUS_INVALID = 0, E_MI_DISP_INPUTPORT_STATUS_PAUSE, E_MI_DISP_INPUTPORT_STATUS_RESUME, E_MI_DISP_INPUTPORT_STATUS_STEP, E_MI_DISP_INPUTPORT_STATUS_REFRESH, E_MI_DISP_INPUTPORT_STATUS_SHOW, E_MI_DISP_INPUTPORT_STATUS_HIDE, E_MI_DISP_ INPUTPORT_STATUS _NUM, } MI_DISP_InputPortStatus_e;
-
成员
成员名称 描述 E_MI_DISP_INPUTPORT_STATUS_INVALID 无效的状态模式 E_MI_DISP_INPUTPORT_STATUS_PAUSE 暂停状态 E_MI_DISP_INPUTPORT_STATUS_RESUME 回复状态 E_MI_DISP_INPUTPORT_STATUS_STEP 步进状态 E_MI_DISP_INPUTPORT_STATUS_REFRESH 刷新状态 E_MI_DISP_INPUTPORT_STATUS_SHOW 显示状态 E_MI_DISP_INPUTPORT_STATUS_HIDE 隐藏状态
3.25. MI_DISP_QueryChannelStatus_t¶
-
说明
定义 DISP输入端口状态信息。
-
定义
typedef struct MI_DISP_QueryChannelStatus_s { MI_BOOL bEnable; MI_DISP_InputPortStatus_e eStatus; } MI_DISP_QueryChannelStatus_t;
-
成员
成员名称 描述 bEnable 输入端口使能状态 eStatus 输入端口状态类型 -
相关数据类型及接口
3.26. MI_DISP_InitParam_t¶
-
说明
DISP设备初始化参数。
-
定义
typedef struct MI_DISP_InitParam_s { MI_U32 u32DevId; MI_U8 *u8Data; } MI_DISP_InitParam_t;
-
成员
成员名称 描述 u32DevId 设备ID u8Data 数据指针buffer -
相关数据类型及接口
3.27. MI_DISP_WBC¶
-
说明
定义DISP_WBC类型。
-
定义
typedef MI_S32 MI_DISP_WBC
3.28. MI_DISP_WBC_SourceType_e¶
-
说明
视频回写设备捕获数据的源类型,用于区别是从视频层回写还是从设备回写。
-
定义
typedef enum { MI_DISP_WBC_SOURCE_DEV, MI_DISP_WBC_SOURCE_VIDEO, }MI_DISP_WBC_SourceType_e;
-
成员
成员名称 描述 MI_DISP_WBC_SOURCE_DEV 回写源是设备(video+UI) MI_DISP_WBC_SOURCE_VIDEO 回写源是视频层(video only) -
相关数据类型及接口
3.29. MI_DISP_WBC_Source_t¶
-
说明
视频回写设备回写源。
-
定义
typedef struct MI_DISP_WBC_Source_s { MI_DISP_WBC_SourceType_e eSourceType; MI_U32 u32SourceId; }MI_DISP_WBC_Source_t;
-
成员
成员名称 描述 eSourceType 回写源类型 u32SourceId 回写源的设备ID -
相关数据类型及接口
3.30. MI_DISP_WBC_TargetSize_t¶
-
说明
视频回写设备的回写目标大小。
-
定义
typedef struct MI_DISP_WBC_TargetSize_s { MI_U32 u32Width; MI_U32 u32Height; }MI_DISP_WBC_TargetSize_t;
-
成员
成员名称 描述 u32Width 回写目标的宽 u32Height 回写目标的高 -
注意事项
- WBC支持缩小,不支持放大。如果配置目标分辨率比源分辨率小,那么会自动缩小。
-
相关数据类型及接口
3.31. MI_DISP_WBC_Attr_t¶
-
说明
视频回写设备属性。
-
定义
typedef struct MI_DISP_WBC_Attr_s { MI_DISP_WBC_TargetSize_t stTargetSize; MI_SYS_PixelFormat_e ePixFormat; MI_SYS_CompressMode_e eCompressMode; }MI_DISP_WBC_Attr_t;
-
成员
成员名称 描述 stTargetSize 回写目标大小 ePixFormat 回写图像的像素格式 eCompressMode 压缩模式 -
注意事项
- eDecompressMode只有Mochi系列芯片时才支持。
-
相关数据类型及接口
3.32. MI_DISP_PowerConfig_t¶
-
说明
输出能量配置。
-
定义
typedef struct MI_DISP_PowerConfig_s { MI_BOOL bEnable; } MI_DISP_PowerConfig_t;
-
成员
成员名称 描述 bEnable 使能 -
相关数据类型及接口
3.33. MI_DISP_MipiDsiPacketType_e¶
-
说明
mipidsi 包类型。
-
定义
typedef enum { E_MI_DISP_MIPIDSI_PACKET_TYPE_DCS = 0, E_MI_DISP_MIPIDSI_PACKET_TYPE_GENERIC = 1, E_MI_DISP_MIPIDSI_PACKET_TYPE_MAX } MI_DISP_MipiDsiPacketType_e;
-
成员
成员名称 描述 E_MI_DISP_MIPIDSI_PACKET_TYPE_DCS 显示命令集类型 E_MI_DISP_MIPIDSI_PACKET_TYPE_GENERIC 通用包类型 -
相关数据类型及接口
3.34. MI_DISP_WriteMipiDsiCmd_t¶
-
说明
写 mipidsi 命令配置。
-
定义
typedef struct MI_DISP_WriteMipiDsiCmd_s { MI_DISP_MipiDsiPacketType_e ePacketType; MI_U32 u32CmdBufSize; MI_PTR64 p64CmdBuf; } MI_DISP_WriteMipiDsiCmd_t;
-
成员
成员名称 描述 ePacketType 包类型 u32CmdBufSize 命令缓存大小 p64CmdBuf 命令缓存指针 -
相关数据类型及接口
3.35. MI_DISP_ReadMipiDsiCmd_t¶
-
说明
读取 mipidsi 命令配置。
-
定义
typedef struct MI_DISP_ReadMipiDsiCmd_s { MI_U8 u8RegAddr; MI_U32 u32CmdBufSize; MI_PTR64 p64CmdBuf; } MI_DISP_ReadMipiDsiCmd_t;
-
成员
成员名称 描述 u8RegAddr 寄存器地址 u32CmdBufSize 命令缓存大小 p64CmdBuf 命令缓存指针 -
相关数据类型及接口
4. DISP错误码¶
DISP API 错误码如下表所示。
错误代码 | 宏定义 | 描述 |
---|---|---|
0xA00F2001 | MI_ERR_DISP_INVALID_DEVID | 设备ID 超出合法范围 |
0xA00F2002 | MI_ERR_DISP_INVALID_CHNID | 输入端口ID 超出合法范围 |
0xA00F2003 | MI_ERR_DISP_ILLEGAL_PARAM | 参数超出合法范围 |
0xA00F2006 | MI_ERR_DISP_NULL_PTR | 函数参数中有空指针 |
0xA00F2008 | MI_ERR_DISP_NOT_SUPPORT | 不支持的操作 |
0xA00F2009 | MI_ERR_DISP_NOT_PERMIT | 操作不允许 |
0xA00F200C | MI_ERR_DISP_NO_MEM | 内存不足 |
0xA00F2010 | MI_ERR_DISP_SYS_NOTREADY | 系统未初始化 |
0xA00F2012 | MI_ERR_DISP_BUSY | 资源忙 |
0xA00F2040 | MI_ERR_DISP_DEV_NOT_CONFIG | 设备未配置 |
0xA00F2041 | MI_ERR_DISP_DEV_NOT_ENABLE | 设备未使能 |
0xA00F2042 | MI_ERR_DISP_DEV_ALREADY_ENABLED | 设备已使能 |
0xA00F2043 | MI_ERR_DISP_DEV_ALREADY_BOUND | 设备已被绑定 |
0xA00F2044 | MI_ERR_DISP_DEV_NOT_BIND | 设备未被绑定 |
0xA00F2045 | MI_ERR_DISP_LAYER_NOT_ENABLE | 视频层未使能 |
0xA00F2046 | MI_ERR_DISP_LAYER_NOT_DISABLE | 视频层未禁止 |
0xA00F2047 | MI_ERR_DISP_LAYER_NOT_CONFIG | 视频层未配置 |
0xA00F2048 | MI_ERR_DISP_INPUTPORT_NOT_DISABLE | 输入端口未禁止 |
0xA00F2049 | MI_ERR_DISP_INPUTPORT _NOT_ENABLE | 输入端口未使能 |
0xA00F204A | MI_ERR_DISP_INPUTPORT _NOT_CONFIG | 输入端口未配置 |
0xA00F204B | MI_ERR_DISP_INPUTPORT _NOT_ALLOC | 输入端口未分配资源 |
0xA00F204C | MI_ERR_DISP_INVALID_PATTERN | 无效样式 |
0xA00F204D | MI_ERR_DISP_INVALID_POSITION | 无效位置 |
0xA00F204E | MI_ERR_DISP_WAIT_TIMEOUT | 等待超时 |
0xA00F204F | MI_ERR_DISP_INVALID_VIDEO_FRAME | 无效视频帧 |
0xA00F2050 | MI_ERR_DISP_INVALID_RECT_PARA | 无效矩形参数 |
0xA00F2051 | MI_ERR_DISP_ INPUTPORT_SHOW_AREA_OVERLAP | 输入端口区域重叠 |
0xA00F2052 | MI_ERR_DISP_INVALID_LAYERID | 视频层号超出范围 |
0xA00F2053 | MI_ERR_DISP_LAYER_ALREADY_BOUND | 视频层已绑定 |
0xA00F2054 | MI_ERR_DISP_LAYER_NOT_BIND | 视频层未绑定 |
5. PROCFS介绍¶
5.1. DISP cat¶
-
调试信息
# cat /proc/mi_modules/mi_disp/mi_disp0
-
调试信息分析
记录当前DISP的使用状况以及device属性、layer属性、inputport属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
参数 描述 device info EnableCnt 设备使能的次数 IrqNum 中断号 IrqCnt 中断发生次数 IrqCnt/Ms 在一定时间内的中断发生次数,单位是毫秒 Ips 每秒中断发生的次数 BgColor 背景色(YUYV 各占8bit) Interface 接口类型 取值范围:(CVBS、 YPBPR、 VGA、BT656、BT1120、MCU、 MCU_NOFLM、HDMI、LCD、 BT656_H、 BT656_L、TTL、MIPI_DSI、 TTL_SPI、SRGB) DevTiming 输出时序
取值范围: [E_MI_DISP_OUTPUT_PAL~ E_MI_DISP_OUTPUT_USER]CscMatrix CSC 矩阵选择 取值范围: [E_MI_DISP_CSC_MATRIX_BYPASS~ E_MI_DISP_CSC_MATRIX_RGB_TO_BT709_PC] device info Luma 亮度 取值范围: [0 ~ 99] 默认 50 Contrast 对比度 取值范围: [0 ~ 99] 默认 50 Hue 色调 取值范围: [0 ~ 99] 默认 50 Saturation 饱和度 取值范围: [0 ~ 99] 默认 50 Sharpness 锐度 取值范围: [0 ~ 255] 默认 0 Gain 信号增益 取值范围: [0 ~ 255] 默认 0 layer info LayerId layer ID 取值范围根据芯片规格而定 BindedDevID 绑定的device ID 取值范围根据芯片规格而定 LayerWidth Layer的宽 LayerHeight Layer的高 LayDispWidth Layer显示的宽 LayDispHeight Layer显示的高 Toleration PTS误差允许阈值,单位毫秒 rotatemode 旋转模式 取值范围: [E_MI_DISP_ROTATE_NONE~E_MI_DISP_ROTATE_270] port info PortId port ID 取值范围根据芯片规格而定 enable 使能或者禁用 0:禁用 1:使能 CurStatus port状态 取值范围:[invalid、pause、resume、step、refresh、show、hide] 默认是invalid src_w 原始图像宽度 src_h 原始图像高度 crop_x 裁剪区域起始横坐标 crop_y 裁剪区域起始纵坐标 crop_w 裁剪区域宽度 crop_h 裁剪区域高度 show_x 该port在layer上的起始横坐标 show_y 该port在layer上的起始纵坐标 show_w 该port显示的宽度 show_h 该port显示的高度 RecvBufCnt 当前接收到buff的总量 RecvBuf_W 输入的图像宽 RecvBuf_H 输入的图像高 Content_W 输入图像有效宽 Content_H 输入图像有效高 RecvBufStride 输入图像的Stride PixFmt 输入图像像素格式 syncmode Check PTS/Free Run 取值范围:[Invalid、CheckPts、FreeRun] RecvBufCom 输入图像的压缩格式 OnScreenTask 当前正在显示的Task,如果为NULL,有可能是没有送buff到disp、或disp没中断、或disp的cmdq没生效 FiredTask 即将要显示的Task StepTaskCnt 步进处理的Task数量 bClearAllTask 是否丢弃所有Task 0:不丢弃 1:丢弃所有Task FinishCnt/Ms 一定时间内完成的Task数量,单位是毫秒 fps 帧率 MaxIv/MinIv 一定时间内已完成Task的最大与最小间隔时间,单位是微秒
5.2. DISP echo¶
功能 | 获取当前DISP所支持的echo命令及其具体使用形式 |
---|---|
命令 | echo help > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | 无 |
举例 | echo help > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 打开/关闭每个port的pts检查 |
---|---|
命令 | echo checkframepts [layerid] [protid] [ON/OFF] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id [ON/OFF] ON打开 OFF关闭 |
举例 | echo checkframepts 0 0 ON > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | dump frame data |
---|---|
命令 | echo dumpframe [layerid] [portid] [path] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id [path] dump出来的数据的存储路径 |
举例 | echo dumpframe 0 0 /mnt/ > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | stop disp单个port get buff |
---|---|
命令 | echo stopgetbuff [layerid] [portid] [ON/OFF] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id [ON/OFF] ON:stop OFF:resume |
举例 | echo stopgetbuff 0 0 ON > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 设置背景色 |
---|---|
命令 | echo bgcolor [devid] [value] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [devid] 设备id [value] 颜色值 |
举例 | echo setbgcolor 0 255 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 动态设置画面效果 |
---|---|
命令 | echo csc [devid] [CscMatrix] [Contrast] [Hue] [Luma] [Saturation] [Sharpness] [Gain] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [devid] 设备id [CscMatrix] 颜色矩阵 [Contrast] 对比度 [Hue] 色调 [Luma] 亮度 [Saturation] 饱和度 [Sharpness] 锐利度 [Gain] 增益 |
举例 | echo csc 0 0 50 50 50 50 0 0 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 色温调试 |
---|---|
命令 | echo colortemp [devid] [BlueOffset] [GreenOffset] [RedOffset] [BlueColor] [GreenColor] [RedColor] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [devid]当前使用的dev id [Blue/Green/Redoffset]没有用到 [RedColor] R分量(0-255) [GreenColor] G分量(0-255) [BlueColor]B分量(0-255) |
举例 | echo setcolortemp 0 50 50 50 50 50 50 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 对layer进行旋转设置 |
---|---|
命令 | echo rotate [layerid] [0/ 1/ 2]> /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [0/ 1/ 2] rotate配置: 0:E_MI_DISP_ROTATE_NONE,不旋转 1:E_MI_DISP_ROTATE_90,旋转90° 2:E_MI_DISP_ROTATE_270,旋转270° |
举例 | echo rotate 1 1 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 对某个port的原始数据进行裁剪 |
---|---|
命令 | echo crop [layerid] [portid] [x] [y] [width] [height]> /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id [x] 裁剪区域起始横坐标 [y] 裁剪区域起始纵坐标 [width] 裁剪区域宽度 [height] 裁剪区域高度 |
举例 | echo crop 0 0 0 0 100 100 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 对某个port进行隐藏 |
---|---|
命令 | echo hide [layerid] [portid] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id |
举例 | echo hide 0 0 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 对某个port进行显示 |
---|---|
命令 | echo show [layerid] [portid] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id |
举例 | echo show 0 0 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 对某个port停止获取数据 |
---|---|
命令 | echo pause [layerid] [portid] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id |
举例 | echo pause 0 0 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 对某个port恢复,继续获取数据 |
---|---|
命令 | echo resume [layerid] [portid] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id |
举例 | echo resume 0 0 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 控制某个port获取一帧数据后停止获取数据 |
---|---|
命令 | echo step [layerid] [portid] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id |
举例 | echo step 0 0 > /proc/mi_modules/mi_disp/mi_disp0 |
功能 | 对某个port的数据进行清空 |
---|---|
命令 | echo clear [layerid] [portid] > /proc/mi_modules/mi_disp/mi_disp0 |
参数说明 | [layerid] 视频层id [portid] port id |
举例 | echo clear 0 0 > /proc/mi_modules/mi_disp/mi_disp0 |
5.3. WBC cat¶
-
调试信息
# cat proc/mi_modules/mi_disp/mi_wbc0
-
调试信息分析
记录当前WBC的使用状况以及数据属性,可以动态地获取到这些信息,方便调试和测试。
-
参数说明
参数 描述 device info irqnum 中断号 Isrcnt 中断发生次数 irq enable 中断状态: 0:禁用 1:使能 src dev src 设备号 srcw 数据源宽度 srch 数据源高度 src type 数据源类型 0:video+ui 1:video targetW 数据输出宽度 targetH 数据输出高度 OnScreenTask 当前正在输出的Task FiredTask 即将要输出的Task
5.4. WBC echo¶
功能 | 获取当前WBC所支持的echo命令及其具体使用形式 |
---|---|
命令 | echo help > /proc/mi_modules/mi_disp/mi_wbc0 |
参数说明 | 无 |
举例 | echo help > /proc/mi_modules/mi_disp/mi_wbc0 |
功能 | dump frame data |
---|---|
命令 | echo dumpframe [path] > /proc/mi_modules/mi_disp/mi_wbc0 |
参数说明 | [path] dump 出的frame的存储路径 |
举例 | echo dumpframe /mnt/ > /proc/mi_modules/mi_disp/mi_wbc0 |