MI DISP API
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的显示位置不能互相叠加。
1.2.2. Pretzel/Pudding¶
1.2.3. Tiramisu¶
注意
-
对于每一个device,HDMI/VGA接口可以同时输出,CVBS、MIPI、TTL、BT1120/656、sRGB、MCU接口只能单独输出。
-
MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。
-
MOP0上面的16个Input port的显示位置不能互相叠加。
-
MOP2和MOP3的使用方式同MOP0和MOP1。
-
DISP0/DISP1的输出可以通过WBC回写到内存。
1.2.4. Ikayaki¶
注意: TTL和sRGB不能同时输出。
1.2.5. Muffin¶
注意:
-
对于每一个device,HDMI/VGA接口可以同时输出,CVBS、MIPI、TTL、BT1120/656、sRGB、MCU接口只能单独输出。
-
MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。
-
MOP0上面的32个Input port的显示位置不能互相叠加。
-
MOP2、MOP3和MOP4、MOP5的使用方式同MOP0和MOP1。
-
DISP0/DISP1的输出可以通过WBC回写到内存。
下表是不同芯片系列输出接口的差异
输出接口 芯片系列 | HDMI | VGA | MIPI DSI | TTL | CVBS | sRGB |
---|---|---|---|---|---|---|
Pretzel | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 |
Macaron | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Taiyaki | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
Takoyaki | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 |
Pudding | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 |
Ispahan | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
MSR930 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
Tiramisu | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 |
Ikayaki | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 支持 |
Muffin | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
1.3. 关键字说明¶
-
DEV
显示设备。对应1.2流程框图的DISP0/DISP1等
-
MOP
读取内存图像数据并做拼图处理的硬件单元
-
LAYER
视频层。MOP硬件抽象层,与DEV有固定的绑定关系
-
CSC
颜色空间转换单元
-
OSD Mixer
视频层和UI叠加器件
-
GUI FB/HW Cursor
UI层
-
PIP
画中画
-
WBC
视频回写设备。捕获视频层或设备级的视频数据,可用于多dev同源显示
2. API 参考¶
2.1. 功能模块API¶
2.2. MI_DISP_Enable¶
-
功能
启用视频输出设备。
-
语法
MI_S32 MI_DISP_Enable (MI_DISP_DEV DispDev);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
由于系统没有初始化设备为使能状态,所以在使用视频输出功能前必须先进行设备使能操作。
-
在调用设备使能前,必须对设备公共属性进行配置,否则返回设备未配置错误。
-
-
举例
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; memset(&stPubAttr,0,sizeof(MI_DISP_PubAttr_t)); memset(&stLayerAttr,0,sizeof(MI_DISP_VideoLayerAttr_t)); memset(&stInputPortAttr,0,sizeof(MI_DISP_InputPortAttr_t)); stPubAttr.eIntfSync = E_MI_DISP_OUTPUT_1080P60; stPubAttr.eIntfType = E_MI_DISP_INTF_HDMI; MI_DISP_SetPubAttr(DispDev, &stPubAttr); MI_DISP_Enable(DispDev); stLayerAttr.stVidLayerSize.u16Width = 1920; stLayerAttr.stVidLayerSize.u16Height = 1080; stLayerAttr.stVidLayerDispWin.u16X = 0; stLayerAttr.stVidLayerDispWin.u16Y = 0; stLayerAttr.stVidLayerDispWin.u16Width = 1920; stLayerAttr.stVidLayerDispWin.u16Height = 1080; MI_DISP_BindVideoLayer(DispLayer,DispDev); MI_DISP_SetVideoLayerAttr(DispLayer, &stLayerAttr); MI_DISP_EnableVideoLayer(DispLayer); stInputPortAttr.u16SrcWidth = 1920; stInputPortAttr.u16SrcHeight = 1080; stInputPortAttr.stDispWin.u16X = 0; stInputPortAttr.stDispWin.u16Y = 0; stInputPortAttr.stDispWin.u16Width = 1920; stInputPortAttr.stDispWin.u16Height = 1080; MI_DISP_SetInputPortAttr(DispLayer, DispInport, &stInputPortAttr); MI_DISP_EnableInputPort(DispLayer, DispInport); //exit flow MI_DISP_DisableInputPort(DispLayer, DispInport); MI_DISP_UnBindVideoLayer(DispLayer, DispDev); MI_DISP_DisableVideoLayer(DispLayer); MI_DISP_Disable(DispDev);
-
相关主题
2.3. MI_DISP_Disable¶
-
功能
禁用视频输出设备。
-
语法
MI_S32 MI_DISP_Disable(MI_DISP_DEV DispDev);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
相关主题
2.4. MI_DISP_SetPubAttr¶
-
功能
配置视频输出设备的公共属性。
-
语法
MI_S32 MI_DISP_SetPubAttr(MI_DISP_DEV DispDev, MI_DISP_PubAttr_t *pstPubAttr);
-
形参
参数名称 描述 输入/输出 DispDev 输出设备号 输入 pstPubAttr 输出设备公共属性结构体指针 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
相关主题
2.5. MI_DISP_GetPubAttr¶
-
功能
获取视频输出设备的公共属性。
-
语法
MI_S32 MI_DISP_GetPubAttr (MI_DISP_DEV DispDev,MI_DISP_PubAttr_t *pstPubAttr);
-
形参
参数名称 描述 输入/输出 DispDev 输出设备号 输入 pstPubAttr 输出设备公共属性结构体指针 输出 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
相关主题
2.6. MI_DISP_DeviceAttach¶
-
功能
使能视频同源输出,可以实现不同的输出接口同步显示相同画面。
-
语法
MI_S32 MI_DISP_DeviceAttach(MI_DISP_DEV DispSrcDev, MI_DISP_DEV DispDstDev, const MI_DISP_DevAttachAttr_t *pstAttachAttr);
-
形参
参数名称 描述 输入/输出 DispSrcDev 输出设备号(视频源输入设备) 输入 DispDstDev 输出设备号(同源输出设备) 输入 pstAttachAttr 视频同源输出属性 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
适用于有两个可以同源视频输出设备的芯片,目前只支持MSR930、MSR650x。
-
相关主题
2.7. MI_DISP_DeviceDetach¶
-
功能
禁用视频同源输出。
-
语法
MI_S32 MI_DISP_DeviceDetach(MI_DISP_DEV DispSrcDev, MI_DISP_DEV DispDstDev);
-
形参
参数名称 描述 输入/输出 DispSrcDev 输出设备号(视频源输入设备) 输入 DispDstDev 输出设备号(同源输出设备) 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
适用于有两个可以同源视频输出设备的芯片,目前只支持MSR930、MSR650x。
-
相关主题
2.8. MI_DISP_EnableVideoLayer¶
-
功能
使能视频层.
-
语法
MI_S32 MI_DISP_EnableVideoLayer (MI_DISP_LAYER DispLayer);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
相关主题
2.9. MI_DISP_DisableVideoLayer¶
-
功能
禁用视频层.
-
语法
MI_S32 MI_DISP_DisableVideoLayer (MI_DISP_LAYER DispLayer);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
相关主题
2.10. MI_DISP_SetVideoLayerAttr¶
-
功能
设定视频层属性。
-
语法
MI_S32 MI_DISP_SetVideoLayerAttr(MI_DISP_LAYER DispLayer, MI_DISP_VideoLayerAttr_t *pstLayerAttr);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 pstLayerAttr 视频层属性结构体指针 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
相关主题
2.11. MI_DISP_GetVideoLayerAttr¶
-
功能
获取视频层属性.
-
语法
MI_S32 MI_DISP_GetVideoLayerAttr(MI_DISP_LAYER DispLayer, MI_DISP_VideoLayerAttr_t *pstLayerAttr);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 pstLayerAttr 视频层属性结构体指针 输出 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
相关主题
2.12. MI_DISP_BindVideoLayer¶
-
功能
绑定视频层到指定设备。
-
语法
MI_S32 MI_DISP_BindVideoLayer(MI_DISP_LAYER DispLayer,MI_DISP_DEV DispDev);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 DispDev 输出设备号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
DISP和其他模块绑定时,DISP的device、video layer、input port和对应的channel、port映射关系如下。
-
Tiramisu
-
Muffin
-
-
相关主题
2.13. MI_DISP_UnBindVideoLayer¶
-
功能
解绑定视频层到指定设备。
-
语法
MI_S32 MI_DISP_UnBindVideoLayer(MI_DISP_LAYER DispLayer, MI_DISP_DEV DispDev);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 DispDev 输出设备号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
相关主题
2.14. MI_DISP_SetPlayToleration¶
-
功能
设置播放容忍度。
-
语法
MI_S32 MI_DISP_SetPlayToleration(MI_DISP_LAYER DispLayer, MI_U32 u32Toleration);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 u32Toleration 播放容忍度,用来调整帧率控制算法的误差允许范围 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
播放容忍度单位为毫秒。
-
调用前请保证视频层已经使能。
-
目前只支持MSR930、MSR650x。
-
-
相关主题
2.15. MI_DISP_GetPlayToleration¶
-
功能
获取播放容忍度。
-
语法
MI_S32 MI_DISP_GetPlayToleration (MI_DISP_LAYER DispLayer, MI_U32 *pu32Toleration);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 pu32Toleration 播放容忍度 输出 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
播放容忍度单位为毫秒。
-
调用前请保证视频层已经使能。
-
目前只支持MSR930、MSR650x。
-
-
相关主题
2.16. MI_DISP_GetScreenFrame¶
-
功能
获取输出屏幕图像数据。
-
语法
MI_S32 MI_DISP_GetScreenFrame(MI_DISP_LAYER DispLayer,MI_DISP_VideoFrame_t *pstVFrame, MI_S32 s32MilliSec);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 pstVFrame 获取的输出屏幕图像数据信息结构体指针 输出 s32MilliSec 超时参数s32MilliSec 设为-1 时,为阻塞接口;0 时为非阻塞接口;大于0时为超时等待时间。超时时间的单位为毫秒(ms) 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
目前只支持MSR930、MSR650x。
-
调用前请保证视频层已经使能。
-
-
相关主题
2.17. MI_DISP_ReleaseScreenFrame¶
-
功能
释放输出屏幕图像数据。
-
语法
MI_S32 MI_DISP_ReleaseScreenFrame (MI_DISP_LAYER DispLayer, MI_DISP_VideoFrame_t *pstVFrame);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 pstVFrame 获取的输出屏幕图像数据信息结构体指针 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
目前只支持MSR930、MSR650x。
-
调用前请保证视频层已经使能。
-
-
相关主题
2.18. MI_DISP_EnableInputPort¶
-
功能
启用指定的视频输入端口。
-
语法
MI_S32 MI_DISP_EnableInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.19. MI_DISP_DisableInputPort¶
-
功能
禁用指定的视频输入端口。
-
语法
MI_S32 MI_DISP_DisableInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.20. MI_DISP_SetInputPortAttr¶
-
功能
配置指定视频输入端口的属性。
-
语法
MI_S32 MI_DISP_SetInputPortAttr(MI_DISP_LAYER DispLayer, LayerInputPort, MI_DISP_InputPortAttr_t *
pstInputPortAttr);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 pstInputPortAttr 视频输入端口属性指针 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
调用前必须使能视频层。
-
Taiyaki、Takoyaki系列芯片,Input Port在使用时,要当作channel和前端模块绑定,比如Input Port0应该用作channel0和前端绑定。
-
-
相关主题
2.21. MI_DISP_GetInputPortAttr¶
-
功能
获取指定视频输入端口的属性。
-
语法
MI_S32 MI_DISP_GetInputPortAttr (MI_DISP_LAYER DispLayer, LayerInputPort, MI_DISP_InputPortAttr_t *pstInputPortAttr);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 pstInputPortAttr 视频输入端口属性指针 输出 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.22. 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
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.23. 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
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.24. MI_DISP_PauseInputPort¶
-
功能
暂停指定的视频输入端口。
-
语法
MI_S32 MI_DISP_PauseInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.25. MI_DISP_ResumeInputPort¶
-
功能
恢复指定的视频输入端口。
-
语法
MI_S32 MI_DISP_ResumeInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.26. MI_DISP_StepInputPort¶
-
功能
单帧播放指定的视频输入端口。
-
语法
MI_S32 MI_DISP_StepInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
目前只支持MSR930、MSR650x。
-
调用前必须使能视频层。
-
-
相关主题
2.27. MI_DISP_ShowInputPort¶
-
功能
显示指定的视频输入端口。
-
语法
MI_S32 MI_DISP_ShowInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 | 描述 | 输入/输出 |
---|---|---|
DispLayer | 视频输出视频层号 | 输入 |
LayerInputPort | 视频输入端口号 | 输入 |
-
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.28. MI_DISP_HideInputPort¶
-
功能
隐藏指定的视频输入端口。
-
语法
MI_S32 MI_DISP_HideInputPort (MI_DISP_LAYER DispLayer, MI_DISP_INPUTPORT LayerInputPort);
-
形参
参数名称 描述 输入/输出 DispLayer 视频输出视频层号 输入 LayerInputPort 视频输入端口号 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.29. 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
-
库文件:
-
-
注意
-
目前只支持MSR930、MSR650x。
-
调用前必须使能视频层。
-
2.30. 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
-
库文件:
-
-
注意
调用前必须使能视频层。
2.31. 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
-
库文件:
-
-
注意
调用前必须使能视频层。
-
相关主题
2.32. 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
-
库文件:
-
-
注意
-
目前只支持MSR930、MSR650x、Taiyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.33. 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
-
库文件:
-
-
注意
-
目前只支持MSR930、MSR650x、Taiyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.34. MI_DISP_GetHdmiParam¶
-
功能
获取HDMI输出设备参数。
-
语法
MI_S32 MI_DISP_GetHdmiParam(MI_DISP_DEV DispDev,MI_DISP_HdmiParam_t *pstHdmiParam);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 pstVgaParam VGA图像输出效果结构体指针 输出 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
目前只支持MSR930、MSR650x、Taiyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.35. 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
-
库文件:
-
-
注意
-
目前只支持MSR930、MSR650x、Taiyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.36. 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
-
库文件:
-
-
注意
-
目前只支持Takoyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.37. 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
-
库文件:
-
-
注意
-
目前只支持Takoyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.38. MI_DISP_DeviceGetColorTempeture¶
-
功能
获取图像输出色温参数。
-
语法
MI_S32 MI_DISP_DeviceGetColorTempeture(MI_DISP_DEV DispDev, MI_DISP_ColorTemperature_t *pstColorTempInfo);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 pstColorTempInfo 图像输出色温参数结构体指针 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
目前只支持Takoyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.39. MI_DISP_DeviceSetColorTempeture¶
-
功能
设定图像输出色温参数。
-
语法
MI_S32 MI_DISP_DeviceSetColorTempeture(MI_DISP_DEV DispDev, MI_DISP_ColorTemperature_t *pstColorTempInfo);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 pstColorTempInfo 图像输出色温参数结构体指针 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
目前只支持Takoyaki。
-
调用前必须使能视频层。
-
-
相关主题
2.40. 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
-
库文件:
-
-
注意
-
目前只支持Takoyaki。
-
调用前必须使能视频层。
-
2.41. MI_DISP_SetVideoLayerRotateMode¶
-
功能
设定视频层旋转参数。
-
语法
MI_S32 MI_DISP_SetVideoLayerRotateMode(MI_DISP_LAYER DispLayer, MI_DISP_RotateConfig_t *pstRotateConfig);
-
形参
参数名称 描述 输入/输出 DispDev 视频输出设备号 输入 pstRotateConfig 图像输出旋转参数结构体指针 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
目前只支持Takoyaki、Tiramisu、Muffin。
-
调用前必须使能视频层。
-
2.42. 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
-
库文件:
-
-
注意
调用前必须使能视频层。
2.43. MI_DISP_InitDev¶
-
功能
初始化disp设备。
-
语法
MI_S32 MI_DISP_InitDev(MI_DISP_InitParam_t *pstInitParam);
-
形参
参数名称 描述 输入/输出 pstInitParam 设备初始化参数
暂没有用到,可以配置为NULL。输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
如果本接口在调用任意的DISP API之前没有调用,内部会自动初始化设备。
2.44. MI_DISP_DeInitDev¶
-
功能
反初始化disp设备。
-
语法
MI_S32 MI_DISP_DeInitDev(void);
-
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
-
此函数必须在初始化设备后调用,否则返回失败。
-
如果本接口在app退出前没有调用,内部会自动反初始化设备。
-
2.45. 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
-
库文件:
-
-
注意
-
目前只支持Tiramisu、Muffin,回写设备只支持一个。
-
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.46. 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
-
库文件:
-
-
注意
目前只支持Tiramisu、Muffin,回写设备只支持一个。
-
相关主题
2.47. MI_DISP_SetWBCAttr¶
-
功能
设置视频回写设备属性。
-
语法
MI_S32 MI_DISP_SetWBCAttr(MI_DISP_WBC DispWbc, const MI_DISP_WBC_Attr_t *pstWbcAttr);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 pstWbcAttrs 回写设备属性结构体指针。 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
目前只支持Tiramisu、Muffin,回写设备只支持一个。
-
相关主题
2.48. MI_DISP_GetWBCAttr¶
-
功能
获取视频回写设备属性。
-
语法
MI_S32 MI_DISP_GetWBCAttr(MI_DISP_WBC DispWbc, MI_DISP_WBC_Attr_t *pstWbcAttr);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 pstWbcAttrs 回写设备属性结构体指针。 输出 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
目前只支持Tiramisu、Muffin,回写设备只支持一个。
-
相关主题
2.49. MI_DISP_EnableWBC¶
-
功能
使能视频回写设备。
-
语法
MI_S32 MI_DISP_EnableWBC(MI_DISP_WBC DispWbc);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
目前只支持Tiramisu、Muffin,回写设备只支持一个。
-
相关主题
2.50. MI_DISP_DisableWBC¶
-
功能
禁用视频回写设备。
-
语法
MI_S32 MI_DISP_DisableWBC(MI_DISP_WBC DispWbc);
-
形参
参数名称 描述 输入/输出 DispWbc 回写设备号。 输入 -
返回值
-
0 成功。
-
非0 失败,详情参照错误码。
-
-
依赖
-
头文件:mi_disp.h
-
库文件:
-
-
注意
目前只支持Tiramisu、Muffin,回写设备只支持一个。
-
相关主题
3. DISP 数据类型¶
3.1. 数据类型定义¶
3.2. MI_DISP_DEV¶
-
说明
定义DISP_DEV类型。
-
定义
typedef MI_S32 MI_DISP_DEV;
3.3. 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.4. MI_DISP_INPUTPORT¶
-
说明
定义 LAYER_INPUTPORT类型。
-
定义
t ypedef MI_S32 MI_DISP_INPUTPORT;
3.5. 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_MAX, }MI_DISP_Interface_e;
-
相关数据类型及接口
3.6. 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_1080P24, E_MI_DISP_OUTPUT_1080P25, E_MI_DISP_OUTPUT_1080P30, E_MI_DISP_OUTPUT_720P50, E_MI_DISP_OUTPUT_720P60, E_MI_DISP_OUTPUT_1080I50, E_MI_DISP_OUTPUT_1080I60, E_MI_DISP_OUTPUT_1080P50, E_MI_DISP_OUTPUT_1080P60, E_MI_DISP_OUTPUT_576P50, E_MI_DISP_OUTPUT_480P60, 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_USER, E_MI_DISP_OUTPUT_BUTT } MI_DISP_IntfSync_e;
-
成员
各个Timing的定义,LCD显示应该使用E_MI_DISP_OUTPUT_USER。
-
相关数据类型及接口
3.7. 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.8. MI_DISP_PubAttr_t¶
-
说明
定义 DISP公共属性。
-
定义
typedef struct MI_DISP_PubAttr_s { MI_U32 u32BgColor; /* Background color of a device, in RGB format. */ 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.9. MI_DISP_DevAttachMode_e¶
-
说明
定义 DISP视频同源输出模式。
-
定义
typedef enum { E_MI_DISP_ATTACH_DEFAULT = 0, E_MI_DISP_ATTACH_OSD_MODE, E_MI_DISP_ATTACH_VIDEO_MODE, }MI_DISP_DevAttachMode_e;
-
成员
成员名称 描 述 E_MI_DISP_ATTACH_DEFAULT 同源输出默认模式 E_MI_DISP_ATTACH_OSD_MODE 输出叠加OSD的视频画面 E_MI_DISP_ATTACH_VIDEO_MODE 仅输出视频画面 -
注意事项
目前只支持Tiramisu。
-
相关数据类型及接口
3.10. MI_DISP_DevAttachAttr_t¶
-
说明
定义 DISP视频同源输出属性。
-
定义
typedef struct MI_DISP_DevAttachAttr_s { MI_DISP_DevAttachMode_e eDevAttachMode; }MI_DISP_DevAttachAttr_t;
-
成员
成员名称 描述 eDevAttachMode 设定视频同源输出模式。 -
注意事项
目前只支持Tiramisu。
-
相关数据类型及接口
3.11. MI_DISP_Csc_t¶
-
说明
定义 DISP 颜色转换信息。
-
定义
typedef struct MI_DISP_Csc_s { MI_DISP_CscMattrix_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 饱和度调节 -
注意事项
目前只支持
MSR930
、MSR650x
、Taiyaki
、Takoyaki
。 -
相关数据类型及接口
3.12. MI_DISP_CscMattrix_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_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矩阵 -
注意事项
目前只支持
MSR930
、MSR650x
、Taiyaki
、Takoyaki
。 -
相关数据类型及接口
3.13. 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.14. 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.15. 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.16. 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.17. MI_DISP_GammaParam_t¶
-
说明
定义视频输出图像Gamma参数
-
定义
typedef struct { MI_BOOL bEn; MI_U16 u16EntryNum; MI_U8 *pu8ColorR; MI_U8 *pu8ColorG; MI_U8 *pu8ColorB; }MI_DISP_GammaParam_t;
-
成员
成员名称 描述 bEn 使能Gamma调整 u16EntryNum Gamma table成员个数 pu8ColorR R table指针 pu8ColorG G table指针 pu8ColorB B table 指针 -
注意事项
目前只支持
Takoyaki
。 -
相关数据类型及接口
3.18. 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.19. 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.20. MI_DISP_RotateMode_e¶
-
说明
定义 DISP 视频输出旋转角度。
-
定义
typedef enum { E_MI_DISP_ROTATE_NONE, E_MI_DISP_ROTATE_90, 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_270 旋转270度 -
注意事项
目前只支持
Takoyaki、Tiramisu
。 -
相关数据类型及接口
3.21. 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
。 -
相关数据类型及接口
3.22. 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 竖直方向大小 -
相关数据类型及接口
3.23. 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_DISP_InputPortAttr_t;
-
成员
成员名称 描述 stDispWin 指定输入端口输出窗口位置及尺寸 u16SrcWidth 指定端口输入图像宽 u16SrcHeight 指定端口输入图像高 -
注意事项
-
Takoyaki、Taiyaki、Tiramisu系列芯片可以对每个port做scaling up,不支持独立对port做scaling up的芯片使用时注意u16SrcWidth要等于stDispWin 中定义的u16Width,u16SrcHeight要等于stDispWin中定义的u16Height。
-
对于有多个input port的video layer来说,每个port在video layer上的显示位置可以任意设置,但每个input port的显示位置不能相互叠加。
-
-
相关数据类型及接口
3.24. MI_DISP_Position_t¶
-
说明
定义 DISP输入端口位置。
-
定义
typedef struct MI_DISP_Position_s { MI_U16 u16X; MI_U16 u16Y; } MI_DISP_Position_t;
-
成员
成员名称 描述 u16X 水平方向起始点 u16Y 竖直方向起始点 -
相关数据类型及接口
3.25. 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.26. 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.27. MI_DISP_QueryChanelStatus_t¶
-
说明
定义 DISP输入端口状态信息。
-
定义
typedef struct MI_DISP_QueryChanelStatus_s { MI_BOOL bEnable; MI_DISP_InputPortStatus_e eStatus; } MI_DISP_QueryChanelStatus_t;
-
成员
成员名称 描述 bEnable 输入端口使能状态 eStatus 输入端口状态类型 -
相关数据类型及接口
3.28. MI_DISP_VideoFrame_t¶
-
说明
定义 DISP 视频帧信息。
-
定义
typedef struct MI_DISP_VideoFrame_s { MI_U32 u32Width; MI_U32 u32Height; MI_DISP_PixelFormat_e ePixelFormat; MI_PHY aphyAddr[3]; Void * *pavirAddr[3]; MI_U64 u64pts; MI_U32 u32PrivateData; } MI_DISP_VideoFrame_t;
-
成员
成员名称 描述 u32Width 图像宽度 u32Height 图像高度 ePixelFormat 像素点格式 u32PhyAddr 图像数据物理地址 pVirAddr 图像数据虚拟地址 u64pts 图像数据时间戳 u32PrivateData 私有数据 -
注意事项
目前只支持
MSR930
、MSR650x
-
相关数据类型及接口
3.29. 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.30. MI_DISP_WBC¶
-
说明
定义DISP_WBC类型。
-
定义
typedef MI_S32 MI_DISP_WBC
3.31. 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.32. 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.33. 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.34. MI_DISP_WBC_Attr_t¶
-
说明
视频回写设备属性。
-
定义
typedef struct MI_DISP_WBC_Attr_s { MI_DISP_WBC_TargetSize_t stTargetSize; MI_SYS_PixelFormat_e ePixFormat; }MI_DISP_WBC_Attr_t;
-
成员
成员名称 描述 stTargetSize 回写目标大小 ePixFormat 回写图像的像素格式 -
相关数据类型及接口
4. 错误码¶
表4-1 VPE API 错误码
错误代码 | 宏定义 | 描述 |
---|---|---|
0xA00F8001 | MI_ERR_DISP_INVALID_DEVID | 设备ID 超出合法范围 |
0xA00F8002 | MI_ERR_DISP_INVALID_CHNID | 输入端口ID 超出合法范围 |
0xA00F8003 | MI_ERR_DISP_ILLEGAL_PARAM | 参数超出合法范围 |
0xA00F8006 | MI_ERR_DISP_NULL_PTR | 函数参数中有空指针 |
0xA00F8008 | MI_ERR_DISP_NOT_SUPPORT | 不支持的操作 |
0xA00F8009 | MI_ERR_DISP_NOT_PERMIT | 操作不允许 |
0xA00F800C | MI_ERR_DISP_NO_MEM | 内存不足 |
0xA00F8010 | MI_ERR_DISP_SYS_NOTREADY | 系统未初始化 |
0xA00F8012 | MI_ERR_DISP_BUSY | 资源忙 |
0xA00F8040 | MI_ERR_DISP_DEV_NOT_CONFIG | 设备未配置 |
0xA00F8041 | MI_ERR_DISP_DEV_NOT_ENABLE | 设备未使能 |
0xA00F8042 | EN_ERR_VO_DEV_HAS_ENABLED | 设备已使能 |
0xA00F8043 | MI_ERR_DISP_DEV_HAS_BINDED | 设备已被绑定 |
0xA00F8044 | MI_ERR_DISP_DEV_NOT_BINDED | 设备未被绑定 |
0xA00F8045 | MI_ERR_DISP_VIDEO_NOT_ENABLE | 视频层未使能 |
0xA00F8046 | MI_ERR_DISP_VIDEO_NOT_DISABLE | 视频层未禁止 |
0xA00F8047 | MI_ERR_DISP_VIDEO_NOT_CONFIG | 视频层未配置 |
0xA00F8048 | MI_ERR_DISP_CHN_NOT_DISABLE | 输入端口未禁止 |
0xA00F8049 | MI_ERR_DISP_CHN_NOT_ENABLE | 输入端口未使能 |
0xA00F804A | MI_ERR_DISP_CHN_NOT_CONFIG | 输入端口未配置 |
0xA00F804B | MI_ERR_DISP_CHN_NOT_ALLOC | 输入端口未分配资源 |
0xA00F804C | MI_ERR_DISP_INVALID_PATTERN | 无效样式 |
0xA00F804D | MI_ERR_DISP_INVALID_POSITION | 无效位置 |
0xA00F804E | MI_ERR_DISP_WAIT_TIMEOUT | 等待超时 |
0xA00F804F | MI_ERR_DISP_INVALID_VFRAME | 无效视频帧 |
0xA00F8050 | MI_ERR_DISP_INVALID_RECT_PARA | 无效矩形参数 |
0xA00F8065 | MI_ERR_DISP_GFX_NOT_DISABLE | 图形层未关闭 |
0xA00F8066 | MI_ERR_DISP_GFX_NOT_BIND | 图形层未绑定 |
0xA00F8067 | MI_ERR_DISP_GFX_NOT_UNBIND | 图形层未解绑定 |
0xA00F8068 | MI_ERR_DISP_GFX_INVALID_ID | 超出范围 |
0xA00F806b | MI_ERR_DISP_CHN_AREA_OVERLAP | 输入端口区域重叠 |
0xA00F806d | MI_ERR_DISP_INVALID_LAYERID | 视频层号超出范围 |
0xA00F806e | MI_ERR_DISP_VIDEO_HAS_BINDED | 视频层已绑定 |
0xA00F806f | MI_ERR_DISP_VIDEO_NOT_BINDED | 视频层未绑定 |