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 | 12/20/2023 | |
12/20/2023 |
1. 概述¶
1.1. 模块说明¶
DISP是一个视频显示单元,主要功能是对前端输出的图像做硬件拼图,并对硬件拼图后的图像进行颜色空间转换,最终通过HDMI/VGA/MIPI/TTL等接口输出到显示器或LCD。
1.2. 流程框图¶
1.2.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.2.2. Pretzel/Pudding¶
注意:
-
Pretzel/Pudding不支持亮度、饱和度和色度调节。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式只可以是E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420。
1.2.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.2.4. Ikayaki¶
注意:
-
TTL和sRGB不能同时输出。
-
DISP模块与其他模块只可以通过E_MI_SYS_BIND_TYPE_FRAME_BASE来绑定。
-
DISP模块输入图像的数据格式只可以是E_MI_SYS_PIXEL_FRAME_YUV_SEMIPLANAR_420。
1.2.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.2.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.2.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.2.8. 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.2.9. Iford¶
注意:
-
TTL和BT656不能同时输出,同一时间只能输出其中一种。
-
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。
下表是不同芯片系列输出接口的差异:
输出接口 芯片系列 |
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 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 |
1.3. 关键字说明¶
-
DEV
显示设备。对应1.2流程框图的DISP0/DISP1等
-
MOP
读取内存图像数据并做拼图处理的硬件单元
-
LAYER
视频层。MOP硬件抽象层。
-
CSC
颜色空间转换单元
-
OSD Mixer
视频层和UI叠加器件
-
GUI FB/HW Cursor
UI层
-
PIP
画中画
-
WBC
视频回写设备。捕获视频层或设备级的视频数据,可用于多dev的同源显示。
2. 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
-
-
注意
-
由于系统没有初始化设备为使能状态,所以在使用视频输出功能前必须先进行设备使能操作。
-
在调用设备使能前,必须对设备公共属性进行配置,否则返回设备未配置错误。
-
-
举例
MI_U32 DispDev = 0; MI_U32 DispLayer = 0; MI_U32 DispInport = 0; MI_DISP_PubAttr_t stPubAttr; 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)); stPubAttr.eIntfSync = E_MI_DISP_OUTPUT_1080P60; stPubAttr.eIntfType = E_MI_DISP_INTF_HDMI; MI_DISP_SetPubAttr(DispDev, &stPubAttr); stPubAttr.eIntfType = E_MI_DISP_INTF_VGA; MI_DISP_SetPubAttr(DispDev, &stPubAttr); // Non-essential steps MI_DISP_Enable(DispDev); //HDMI related init //Necessary steps. Not listed here stLayerAttr.stVidLayerSize.u16Width = 1920; stLayerAttr.stVidLayerSize.u16Height = 1080; stLayerAttr.stVidLayerDispWin.u16X = 0; stLayerAttr.stVidLayerDispWin.u16Y = 0; stLayerAttr.stVidLayerDispWin.u16Width = 1920; stLayerAttr.stVidLayerDispWin.u16Height = 1080; stRotateConfig.eRotateMode = E_MI_DISP_ROTATE_NONE; MI_DISP_BindVideoLayer(DispLayer,DispDev); 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; stInputPortAttr.stDispWin.u16Y = 0; stInputPortAttr.stDispWin.u16Width = 1920; stInputPortAttr.stDispWin.u16Height = 1080; stWinRect.u16X = 0; stWinRect.u16Y = 0; stWinRect.u16Width = 1920; stWinRect.u16Height = 1080; MI_DISP_SetInputPortAttr(DispLayer, DispInport, &stInputPortAttr); MI_DISP_SetZoomInWindow(DispLayer, DispInport, &stWinRect); // Non-essential steps MI_DISP_SetVideoLayerAttrBatchBegin(DispLayer); // Non-essential steps MI_DISP_EnableInputPort(DispLayer, DispInport); MI_DISP_SetVideoLayerAttrBatchEnd(DispLayer); // Non-essential steps //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);
-
流程框图
-
相关主题
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
-
-
流程框图
-
相关主题
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数据类型¶
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。
-
目前所有的芯片不支持自定义背景色,默认背景色为黑。
-
-
相关数据类型及接口
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 |