MI DISP API


1. 概述


1.1. 模块说明

DISP是一个视频显示单元,主要功能是对前端输出的图像做硬件拼图,并对硬件拼图后的图像进行颜色空间转换,最终通过HDMI/VGA/MIPI/TTL等接口输出到显示器或LCD。


1.2. 流程框图

1.2.1. Taiyaki/Takoyaki

注意:

  1. HDMI和VGA接口可以同时输出,MIPI、TTL接口只能单独输出。

  2. MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。

  3. MOP0上面的16个Input Port的显示位置不能互相叠加。

1.2.2. Pretzel/Pudding

1.2.3. Tiramisu

注意:

  1. 对于每一个device,HDMI和VGA接口可以同时输出,CVBS、MIPI、TTL、BT1120、BT656、BT601、sRGB、MCU接口只能单独输出。

  2. MOP1的输出画面会叠加到MOP0上,实现PIP的功能,即MOP1的显示优先级高于MOP0。

  3. MOP0上面的16个Input port的显示位置不能互相叠加。

  4. MOP2和MOP3的使用方式同MOP0和MOP1。

  5. DISP0和DISP1的输出可以通过WBC回写到内存。

1.2.4. Ikayaki

注意:TTL和sRGB不能同时输出。

下表是不同芯片系列输出接口的差异

输出接口
芯片系列
HDMI VGA MIPI DSI TTL CVBS sRGB
Pretzel 不支持 不支持 不支持 支持 不支持 不支持
Macaron 不支持 不支持 不支持 不支持 不支持 不支持
Taiyaki 支持 支持 不支持 不支持 不支持 不支持
Takoyaki 不支持 不支持 支持 支持 不支持 不支持
Pudding 不支持 不支持 不支持 支持 不支持 不支持
Ispahan 不支持 不支持 不支持 不支持 不支持 不支持
MSR930 支持 支持 支持 支持 不支持 不支持
Tiramisu 支持 支持 支持 支持 支持 不支持
Ikayaki 不支持 不支持 不支持 支持 不支持 支持

1.3. 关键字说明

  • DEV

    显示设备。对应1.2流程框图的DISP0/DISP1等。

  • MOP

    读取内存图像数据并做拼图处理的硬件单元

  • LAYER

    视频层。MOP硬件抽象层。

  • CSC

    颜色空间转换单元

  • OSD Mixer

    视频层和UI叠加器件

  • GUI FB/HW Cursor

    UI层

  • PIP

    画中画

  • WBC

    视频回写设备。捕获视频层或设备级的视频数据,可用于多dev的同源显示。


2. API 参考


API名 功能
MI_DISP_Enable 启用视频输出设备
MI_DISP_Disable 禁用视频输出设备
MI_DISP_SetPubAttr 配置视频输出设备的公共属性
MI_DISP_GetPubAttr 获取视频输出设备的公共属性
MI_DISP_DeviceAttach 使能视频同源输出
MI_DISP_DeviceDetach 禁用视频同源输出
MI_DISP_EnableVideoLayer 使能视频层
MI_DISP_DisableVideoLayer 禁用视频层
MI_DISP_SetVideoLayerAttr 设定视频层属性
MI_DISP_GetVideoLayerAttr 获取视频层属性
MI_DISP_BindVideoLayer 绑定视频层到指定设备
MI_DISP_UnBindVideoLayer 解绑视频层与指定设备
MI_DISP_SetPlayToleration 设置播放容忍度
MI_DISP_GetPlayToleration 获取播放容忍度
MI_DISP_GetScreenFrame 获取屏幕输出图像数据
MI_DISP_ReleaseScreenFrame 释放屏幕输出图像数据
MI_DISP_EnableInputPort 启用指定的视频输入端口
MI_DISP_DisableInputPort 禁用指定的视频输入端口
MI_DISP_SetInputPortAttr 配置指定视频输入端口的属性
MI_DISP_GetInputPortAttr 获取指定视频输入端口的属性
MI_DISP_SetInputPortDispPos 设置指定视频输入端口的显示位置
MI_DISP_GetInputPortDispPos 获取指定视频输入端口的显示位置
MI_DISP_PauseInputPort 暂停指定的视频输入端口
MI_DISP_ResumeInputPort 恢复指定的视频输入端口
MI_DISP_StepInputPort 单帧播放指定的视频输入端口
MI_DISP_ShowInputPort 显示指定的视频输入端口
MI_DISP_HideInputPort 隐藏指定的视频输入端口
MI_DISP_SetInputPortSyncMode 设定指定的视频输入端口同步模式
MI_DISP_QueryInputPortStat 查询视频输入端口状态
MI_DISP_SetZoomInWindow 裁剪视频输入端口
MI_DISP_GetVgaParam 获取VGA输出设备参数
MI_DISP_SetVgaParam 设定VGA输出设备参数
MI_DISP_GetHdmiParam 获取HDMI输出设备参数
MI_DISP_SetHdmiParam 设定HDMI输出设备参数
MI_DISP_GetLcdParam 获取LCD输出设备参数
MI_DISP_SetLcdParam 设定LCD输出设备参数
MI_DISP_GetCvbsParam 获取CVBS输出设备参数
MI_DISP_SetCvbsParam 设定CVBS输出设备参数
MI_DISP_DeviceGetColorTempeture 获取当前输出图像的色温参数
MI_DISP_DeviceSetColorTempeture 设定当前输出图像的色温参数
MI_DISP_DeviceSetGammaParam 设定当前输出图像的Gamma
MI_DISP_SetVideoLayerRotateMode 设定当前输出图像的旋转角度
MI_DISP_ClearInputPortBuffer 清除当前显示窗口内容
MI_DISP_InitDev 初始化disp设备
MI_DISP_DeInitDev 反初始化disp设备
MI_DISP_SetWBCSource 设置回写设备的回写源
MI_DISP_GetWBCSource 获取回写设备的回写源
MI_DISP_SetWBCAttr 设置回写设备属性
MI_DISP_GetWBCAttr 获取回写设备属性
MI_DISP_EnableWBC 使能回写设备
MI_DISP_DisableWBC 禁用回写设备

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;
    
    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);
    
  • 相关主题

    MI_DISP_Disable


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

  • 相关主题

    MI_DISP_Enable


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

  • 相关主题

    MI_DISP_GetPubAttr


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

  • 相关主题

    MI_DISP_SetPubAttr


2.5. 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、mi_disp_datatype.h

    • 库文件:libmi_disp.a / libmi_disp.so

  • 注意

    • 适用于有两个可以同源视频输出设备的芯片。

    • 目前只支持MSR930、MSR650x。

  • 相关主题

    MI_DISP_DeviceDetach


2.6. MI_DISP_DeviceDetach

  • 功能

    禁用视频同源输出。

  • 语法

    MI_S32 MI_DISP_DeviceDetach(MI_DISP_DEV DispSrcDev, MI_DISP_DEV DispDstDev);
    
  • 形参

    参数名称 描述 输入/输出
    DispSrcDev 输出设备号(视频源输入设备) 输入
    DispDstDev 输出设备号(同源输出设备) 输入
  • 返回值

    • 0 成功。

    • 非0 失败,详情参照错误码

  • 依赖

    • 头文件:mi_disp.h、mi_disp_datatype.h

    • 库文件:libmi_disp.a / libmi_disp.so

  • 注意

    • 适用于有两个可以同源视频输出设备的芯片。

    • 目前只支持MSR930、MSR650x。

  • 相关主题

    MI_DISP_DeviceAttach


2.7. 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

  • 相关主题

    MI_DISP_DisableVideoLayer


2.8. 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

  • 相关主题

    MI_DISP_EnableVideoLayer


2.9. 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

  • 相关主题

    MI_DISP_GetVideoLayerAttr


2.10. 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

  • 相关主题

    MI_DISP_SetVideoLayerAttr


2.11. 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

  • 相关主题

    MI_DISP_UnBindVideoLayer


2.12. 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

  • 相关主题

    MI_DISP_BindVideoLayer


2.13. 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。

  • 相关主题

    MI_DISP_GetPlayToleration


2.14. 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。

  • 相关主题

    MI_DISP_SetPlayToleration


2.15. 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、mi_disp_datatype.h

    • 库文件:libmi_disp.a / libmi_disp.so

  • 注意

    • 目前只支持MSR930、MSR650x。

    • 调用前请保证视频层已经使能。

  • 相关主题

    MI_DISP_ReleaseScreenFrame


2.16. MI_DISP_ReleaseScreenFrame

  • 功能

    释放输出屏幕图像数据。

  • 语法

    MI_S32 MI_DISP_ReleaseScreenFrame (MI_DISP_LAYER   DispLayer, MI_DISP_VideoFrame_t *pstVFrame);
    
  • 形参

    参数名称 描述 输入/输出
    DispLayer 视频输出视频层号 输入
    pstVFrame 获取的输出屏幕图像数据信息结构体指针 输入
  • 返回值

    • 0 成功。

    • 非0 失败,详情参照错误码

  • 依赖

    • 头文件:mi_disp.h、mi_disp_datatype.h

    • 库文件:libmi_disp.a / libmi_disp.so

  • 注意

    • 目前只支持MSR930、MSR650x。

    • 调用前请保证视频层已经使能。

  • 相关主题

    MI_DISP_GetScreenFrame


2.17. 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

  • 注意

    调用前必须使能视频层。

  • 相关主题

    MI_DISP_DisableInputPort


2.18. 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

  • 注意

    调用前必须使能视频层。

  • 相关主题

    MI_DISP_EnableInputPort


2.19. 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、mi_disp_datatype.h

    • 库文件:libmi_disp.a / libmi_disp.so

  • 注意

    1. 调用前必须使能视频层。

    2. Taiyaki、Takoyaki系列芯片,Input Port在使用时,要当作channel和前端模块绑定,比如Input Port0应该用作channel0和前端绑定。

  • 相关主题

    MI_DISP_GetInputPortAttr


2.20. 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、mi_disp_datatype.h

    • 库文件:libmi_disp.a / libmi_disp.so

  • 注意

    调用前必须使能视频层。

  • 相关主题

    MI_DISP_SetInputPortAttr


2.21. 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

  • 注意

    调用前必须使能视频层。

  • 相关主题

    MI_DISP_GetInputPortDispPos


2.22. 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

  • 注意

    调用前必须使能视频层。

  • 相关主题

    MI_DISP_SetInputPortDispPos


2.23. MI_DISP_PauseInputPort


2.24. MI_DISP_ResumeInputPort


2.25. MI_DISP_StepInputPort


2.26. MI_DISP_ShowInputPort

  • 功能

    显示指定的视频输入端口。

  • 语法

    MI_S32 MI_DISP_ShowInputPort (MI_DISP_LAYER DispLayer,    MI_DISP_INPUTPORT LayerInputPort);
    
  • 形参

参数名称 描述 输入/输出
DispLayer 视频输出视频层号 输入
LayerInputPort 视频输入端口号 输入

2.27. MI_DISP_HideInputPort


2.28. 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.29. 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.30. 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

  • 注意

    调用前必须使能视频层。

  • 相关主题

    MI_DISP_VidWinRect_t


2.31. 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

  • 注意

    • 调用前必须使能视频层。
  • 相关主题

    MI_DISP_SetVgaParam


2.32. 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

  • 注意

    • 调用前必须使能视频层。
  • 相关主题

    MI_DISP_GetVgaParam


2.33. 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

  • 注意

    • 调用前必须使能视频层。
  • 相关主题

    MI_DISP_SetHdmiParam


2.34. 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

  • 注意

    • 调用前必须使能视频层。
  • 相关主题

    MI_DISP_GetHdmiParam


2.35. 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

  • 注意

    • 调用前必须使能视频层。
  • 相关主题

    MI_DISP_SetLcdParam


2.36. 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

  • 注意

    • 调用前必须使能视频层。
  • 相关主题

    MI_DISP_GetLcdParam


2.37. 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

  • 注意

    • 调用前必须使能视频层。
  • 相关主题

    MI_DISP_SetCvbsParam


2.38. 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

  • 注意

    • 调用前必须使能视频层。
  • 相关主题

    MI_DISP_GetCvbsParam


2.39. 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。

    • 调用前必须使能视频层。

  • 相关主题

    MI_DISP_DeviceSetColorTempeture


2.40. 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。

    • 调用前必须使能视频层。

  • 相关主题

    MI_DISP_DeviceGetColorTempeture


2.41. 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.42. 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。

    • 调用前必须使能视频层。


2.43. 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.44. 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.45. 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.46. 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,回写设备只支持一个。

    • 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);
    
  • 相关主题

    MI_DISP_GetWBCSource

    MI_DISP_SetWBCAttr

    MI_DISP_GetWBCAttr

    MI_DISP_EnableWBC

    MI_DISP_DisableWBC


2.47. 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

  • 相关主题

    MI_DISP_SetWBCSource

    MI_DISP_SetWBCAttr

    MI_DISP_GetWBCAttr

    MI_DISP_EnableWBC

    MI_DISP_DisableWBC


2.48. 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

  • 相关主题

    MI_DISP_SetWBCSource

    MI_DISP_GetWBCSource

    MI_DISP_GetWBCAttr

    MI_DISP_EnableWBC

    MI_DISP_DisableWBC


2.49. 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

  • 相关主题

    MI_DISP_SetWBCSource

    MI_DISP_GetWBCSource

    MI_DISP_SetWBCAttr

    MI_DISP_EnableWBC

    MI_DISP_DisableWBC


2.50. MI_DISP_EnableWBC


2.51. MI_DISP_DisableWBC


3. DISP 数据类型


DISP模块相关数据类型定义如下:

数据类型 定义
MI_DISP_DEV 定义DISP_DEV类型
MI_DISP_LAYER 定义DISP_LAYER类型
MI_DISP_INPUTPORT 定义LAYER_INPUTPORT类型
MI_DISP_Interface_e 定义DISP视频输出接口
MI_DISP_IntfSync_e 定义DISP视频输出timing
MI_DISP_SyncInfo_t 定义DISP视频输出时序相关参数
MI_DISP_PubAttr_t 定义 DISP公共属性
MI_DISP_DevAttachMode_e 定义DISP视频同源输出模式
MI_DISP_DevAttachAttr_t 定义DISP视频同源输出属性
MI_DISP_Csc_t 定义 DISP 颜色转换信息
MI_DISP_CscMattrix_e 定义 DISP 颜色转换矩阵
MI_DISP_VgaParam_t 定义 DISP VGA输出参数信息
MI_DISP_HdmiParam_t 定义 DISP HDMI输出参数信息
MI_DISP_LcdParam_t 定义DISP LCD输出参数信息
MI_DISP_CvbsParam_t 定义 DISP CVBS输出图像参数。
MI_DISP_ColorTemperature_t 定义DISP视频输出色温参数
MI_DISP_GammaParam_t 定义DISP视频输出Gamma参数
MI_DISP_VideoLayerSize_t 定义 DISP视频层画面大小
MI_DISP_VideoLayerAttr_t 定义 DISP视频层属性
MI_DISP_RotateMode_e 定义 DISP窗口属性
MI_DISP_RotateConfig_t 定义DISP视频旋转参数
MI_DISP_VidWinRect_t 定义DISP视频输出窗口信息
MI_DISP_InputPortAttr_t 定义 DISP输入端口属性
MI_DISP_Position_t 定义 DISP输入端口位置
MI_DISP_SyncMode_e 定义 DISP同步模式
MI_DISP_InputPortStatus_e 定义 DISP输入端口状态类型
MI_DISP_QueryChannelStatus_t 定义 DISP输入端口状态信息
MI_DISP_VideoFrame_t 定义 DISP视频帧信息
MI_DISP_InitParam_t 定义DISP设备初始化参
MI_DISP_WBC 定义 DISP 颜色转换矩阵
MI_DISP_WBC_SourceType_e 视频回写设备捕获数据的源类型
MI_DISP_WBC_Source_t 视频回写设备回写源
MI_DISP_WBC_TargetSize_t 视频回写的目标大小
MI_DISP_WBC_Attr_t 视频回写设备属性

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_MAX,
    }MI_DISP_Interface_e;
    
  • 相关数据类型及接口

    MI_DISP_PubAttr_t

    MI_DISP_SetPubAttr


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_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_3840x2160_2997,        /*3840x2160_29.97*/
        E_MI_DISP_OUTPUT_USER,
        E_MI_DISP_OUTPUT_MAX
    
    } MI_DISP_IntfSync_e;
    
  • 成员

    各个Timing的定义,LCD显示应该使用E_MI_DISP_OUTPUT_USER。

  • 注意

    E_MI_DISP_OUTPUT_3840x2160_2997目前仅Tiramisu支持。

  • 相关数据类型及接口

    MI_DISP_PubAttr_t

    MI_DISP_SetPubAttr


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显示时才需要配置屏参信息。

  • 相关数据类型及接口

    MI_DISP_PubAttr_t

    MI_DISP_SetPubAttr


3.7. MI_DISP_PubAttr_t

  • 说明

    定义 DISP公共属性。

  • 定义

    typedef struct MI_DISP_PubAttr_s
    
    {
    
        MI_U32   u32BgColor;    /* Background color of a device, in YUYV 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.

  • 相关数据类型及接口

    MI_DISP_PubAttr_t

    MI_DISP_SetPubAttr


3.8. 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 仅输出视频画面
  • 相关数据类型及接口

    MI_DISP_DeviceAttach

    MI_DISP_DevAttachAttr_t


3.9. MI_DISP_DevAttachAttr_t

  • 说明

    定义 DISP视频同源输出属性。

  • 定义

    typedef struct MI_DISP_DevAttachAttr_s
    {
        MI_DISP_DevAttachMode_e eDevAttachMode;
    }MI_DISP_DevAttachAttr_t;
    
  • 成员

    成员名称 描述
    eDevAttachMode 设定视频同源输出模式。
  • 相关数据类型及接口

    MI_DISP_DeviceAttach


3.10. 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 饱和度调节
  • 注意事项

    目前只支持MSR930MSR650xTaiyakiTakoyaki

  • 相关数据类型及接口

    MI_DISP_GetVgaParam

    MI_DISP_SetVgaParam

    MI_DISP_GetHdmiParam

    MI_DISP_SetHdmiParam

    MI_DISP_GetLcdParam

    MI_DISP_SetLcdParam


3.11. 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矩阵
  • 注意事项

    目前只支持MSR930MSR650xTaiyakiTakoyaki

  • 相关数据类型及接口

    MI_DISP_GetVgaParam

    MI_DISP_SetVgaParam

    MI_DISP_GetHdmiParam

    MI_DISP_SetHdmiParam

    MI_DISP_GetLcdParam

    MI_DISP_SetLcdParam


3.12. 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 锐利度定义
  • 注意事项

    目前只支持MSR930MSR650xTaiyaki

  • 相关数据类型及接口

    MI_DISP_Csc_t

    MI_DISP_GetVgaParam

    MI_DISP_SetVgaParam


3.13. 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 锐利度定义
  • 注意事项

    目前只支持MSR930MSR650xTaiyaki

  • 相关数据类型及接口

    MI_DISP_Csc_t

    MI_DISP_GetHdmiParam

    MI_DISP_SetHdmiParam


3.14. 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

  • 相关数据类型及接口

    MI_DISP_Csc_t

    MI_DISP_GetLcdParam

    MI_DISP_SetLcdParam


3.15. 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 锐利度定义
  • 相关数据类型及接口

    MI_DISP_Csc_t

    MI_DISP_GetCvbsParam

    MI_DISP_SetCvbsParam


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

  • 相关数据类型及接口

    MI_DISP_DeviceGetColorTempeture

    MI_DISP_DeviceSetColorTempeture


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

  • 相关数据类型及接口

    MI_DISP_DeviceSetGammaParam


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 竖直方向大小
  • 相关数据类型及接口

    MI_DISP_SetVideoLayerAttr

    MI_DISP_GetVideoLayerAttr


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 输入像素数据格式
  • 相关数据类型及接口

    MI_DISP_SetVideoLayerAttr

    MI_DISP_GetVideoLayerAttr


3.20. 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。

    • 只有Takoyaki支持旋转180度。

  • 相关数据类型及接口

    MI_DISP_SetVideoLayerRotateMode


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。

    • 只有Takoyaki支持旋转180度。

  • 相关数据类型及接口

    MI_DISP_SetVideoLayerRotateMode


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 竖直方向大小
  • 注意

    • 每个窗口位置的x, y, width, height须2pixels对齐。

    • 裁剪不能超出源区域。

  • 相关数据类型及接口

    MI_DISP_SetZoomInWindow


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(不支持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对齐。

  • 相关数据类型及接口

    MI_DISP_SetInputPortAttr

    MI_DISP_GetInputPortAttr


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 竖直方向起始点
  • 相关数据类型及接口

    MI_DISP_GetInputPortDispPos

    MI_DISP_SetInputPortDispPos


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的同步模式
  • 注意事项

    目前只支持MSR930MSR650x

  • 相关数据类型及接口

    MI_DISP_SetInputPortSyncMode


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_QueryChannelStatus_t

  • 说明

    定义 DISP输入端口状态信息。

  • 定义

    typedef struct MI_DISP_QueryChannelStatus_s
    
    {
    
        MI_BOOL bEnable;
    
        MI_DISP_InputPortStatus_e eStatus;
    
    } MI_DISP_QueryChannelStatus_t;
    
  • 成员

    成员名称 描述
    bEnable 输入端口使能状态
    eStatus 输入端口状态类型
  • 相关数据类型及接口

    MI_DISP_InputPortStatus_e

    MI_DISP_QueryInputPortStat


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 私有数据
  • 注意事项

    目前只支持MSR930MSR650x

  • 相关数据类型及接口

    MI_DISP_GetScreenFrame

    MI_DISP_ReleaseScreenFrame


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
  • 相关数据类型及接口

    MI_DISP_InitDev


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)
  • 相关数据类型及接口

    MI_DISP_SetWBCSource

    MI_DISP_GetWBCSource


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
  • 相关数据类型及接口

    MI_DISP_SetWBCSource

    MI_DISP_GetWBCSource


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 回写目标的高
  • 相关数据类型及接口

    MI_DISP_SetWBCAttr

    MI_DISP_GetWBCAttr

  • 注意事项

    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 回写图像的像素格式
  • 相关数据类型及接口

    MI_DISP_SetWBCAttr

    MI_DISP_GetWBCAttr


4. 错误码


表4-1 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 DevStatus 使能或者禁用 0:禁用 1:使能
    IrqNum 中断号
    IrqCnt 中断发生次数
    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]
    OnScreenTask 当前正在显示的Task,如果为NULL,有可能是没有送buff到disp、或disp没中断、或disp的cmdq没生效
    FiredTask 即将要显示的Task
    StepTaskCnt 步进处理的Task数量
    bClearAllTask 是否丢弃所有Task 0:不丢弃 1:丢弃所有Task
    fps 帧率


5.2. DISP echo

功能
获取当前DISP所支持的echo命令及其具体使用形式
命令 echo help > /proc/mi_modules/mi_disp/mi_disp0
参数说明
举例 echo help > /proc/mi_modules/mi_disp/mi_disp0
功能
获取当前屏幕数据(保留,目前不支持)
命令 echo getcapframe [devid] [layerid] [path] > /proc/mi_modules/mi_disp/mi_disp0
参数说明 [devid] 设备id [layerid] 视频层 id [path] 路径及文件名
举例 echo getcapframe 0 0 /mnt/frame.yuv > /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