Ifado与Maruko开发包差异说明

REVISION HISTORY

Revision No. Description Date
1.00
  • Initial release
  • 04/11/2024

    1. 芯片规格主要差异

    表1简要对比了Ifado与Maruko在规格方面的差异。其中使用“-”标注的部分为两个平台无差异。本表格仅提供简要信息,更详细的规格差异信息请参考MI各模块API文档或者芯片规格书,外设请参考对应的《xx使用参考》文档。

    表1: Ifado和Maruko在芯片规格上的主要差异

    主要规格 Maruko Ifado
    处理器
  • ARM Cortex A35 Processor
  • Single Core
  • 32KB I-cache,32KB D-Cache
  • 128KB L2 cache
  • ARM Cortex A7 Processor
  • Single Core
  • 32KB I-cache,32KB D-Cache
  • 128KB L2 cache
  • DDR
  • 内置64MB DDR2(L) SDRAM@1333MHz
  • 内置128MB/256MB DDR3(L)
  • SDRAM@2133MHz
  • -
    操作系统
  • Linux
  • Sigmastar Dual-OS
  • Linux
  • 芯片物理规格
  • 4K + FHD + D1p20 / 4Kp30
  • 2560 * 1440 + 720 * 576 + D1p20 / 4Kp17
  • 深度学习加速器
  • 支持
  • 支持
  • MMU
  • 4096 entry num,128KB/64KB/32KB entry size
  • 不支持
  • VIF
  • MIPI 4lane or 2+2 lane
  • 最大性能:4Kp30
  • MIPI Rx最大支持1.5Gbps/Lane
  • 支持BT656/Parallel,不支持BT1120
  • MIPI 4lane or 2+2 lane
  • 最大性能:4Mp30
  • MIPI Rx最大支持1.5Gbps/Lane
  • 不支持BT656/BT1120/Parallel
  • ISP
  • 最大输入分辨率3840x2160
  • 支持90/180/270 rotate,mirror/flip
  • 支持HDR,3DNR带DSC,最高为level7
  • 支持LDC H only
  • 最大输入分辨率2560x1440
  • 只支持90 rotate
  • 不支持HDR/FPN/HSY,3DNR不带DSC,最高为level2
  • 支持1D-LDC
  • SCL
  • 支持跟ISP/VIF realtime连接,支持跟ISP framemode连接,支持从Dram读数据
  • SCL0 MaxWidth: 3840
  • SCL1 MaxWidth: 3840
  • SCL2 MaxWidth: 1920
  • SCL3 MaxWidth: 1920
  • 不支持rotate 功能,支持mirror/flip
  • 支持IFC压缩
  • SCL0支持MultiRing模式跟VENC绑定
  • 所有SCL只能选择一路Realtime模式跟JPEG绑定
  • 支持跟ISP realtime/frame连接,支持从Dram读数据
  • SCL0 MaxWidth: 2560
  • SCL1 MaxWidth: 2560
  • SCL2 MaxWidth: 2560
  • 不支持rotate 功能,支持mirror/flip
  • 不支持IFC压缩
  • SCL0支持MultiRing模式跟VENC绑定
  • SCL0/SCL1只能选择一路Realtime模式跟JPEG绑定
  • ENCODER
  • 总性能4K@30
  • H.264/H265编码支持最大分辨率3840x2176
  • 支持FIXQP/CBR/VBR/AVBR
  • Input ring mode: 不支持
  • MultiRing mode:支持
  • 支持AFBC解压
  • 支持画RGN,不支持COVER/FACE FRAME
  • 总性能4K@17
  • H.264/H265编码支持最大分辨率2560x1440
  • 支持FIXQP/CBR/VBR/AVBR/UBR/CVBR
  • Input ring mode: 不支持
  • MultiRing mode:支持
  • 不支持AFBC解压
  • 支持画RGN/FACE FRAME/COVER
  • JPEG
  • 4K@30
  • JPEG编码支持最大分辨率3840 * 3840
  • 支持画RGN,不支持COVER/FACE FRAME
  • 4M@30fps
  • JPEG编码支持最大分辨率2560 * 2560
  • 不支持画RGN,不支持COVER/FACE FRAME
  • RGN (OSD)
  • 支持格式:ARGB1555/ARGB4444/I2/I4/I8/RGB565/ARGB888
  • 支持attach模块:SCL/VENC/JPE/DISP
  • 每个OSD的通道支持8个硬件layer
  • SCL通道支持4个Cover Layer
  • 反色功能:不支持
  • 支持格式:ARGB1555/ARGB4444/I2/I4/I8/RGB565
  • 支持attach模块:SCL/VENC
  • 每个OSD的通道支持4个硬件layer
  • SCL通道支持4个Cover Layer
  • VENC通道支持FACE FRAME和Cover Layer,总共16个Layer,支持旋转COVER/FACE FRAME
  • 反色功能:不支持
  • 音频 Audio in:
  • 采样率:8/16/32/48KHz
  • 支持Amic * 2,Dmic * 4, Line in * 2, I2S RX
    Audio out:
  • 采样率:8/11.025/12/16/22.05/24/32/44.1/48KHz(I2S Tx仅支持8/16/32/48KHz)
  • Line out * 1, I2S TX
  • I2S支持标准I2S协议,也可通过TDM扩展,可提供mclk,支持4-wire/6-wire mode
  • -
    DISPLAY
  • TTL output
  • Serial RGB
  • CCIR656 or BT1120
  • Serial RGB
  • GPIO - -
    I2C
  • 支持3组 I2C masters
  • -
    PWM
  • 支持11个PWM Pad
  • -
    IR
  • 1组 IR input
  • 不支持
  • RTC - -
    SPI
  • 支持2组 SPI masters
  • -
    Timer - -
    Uart
  • 3组Uart
  • 2x 带dma generic UART
  • 1x 带流控fast UART
  • -
    Watchdog - -
    Dma
  • 支持BDMA
  • 支持MOVDMA
  • -
    网口
  • 内置10/100M EMAC 和 EPHY
  • 支持硬件Flow contrl,带scatter DMA
  • -
    Sdio
  • SDIO2.0 specification
  • ¼-bit传输数据线
  • -
    Usb
  • 1x USB2.0可配置host or device
  • Device mode支持7 endpoints
  • -
    OTP
  • Size 512x8
  • -
    IVE HW算子:
  • MI_IVE_Csc
  • MI_IVE_FilterAndCsc
  • MI_IVE_Filter
  • MI_IVE_MagAndAng
  • MI_IVE_Hist
  • MI_IVE_Integ
  • MI_IVE_Dilate
  • MI_IVE_Erode
  • MI_IVE_Map
  • MI_IVE_And
  • MI_IVE_Or
  • MI_IVE_Xor
  • MI_IVE_Add
  • MI_IVE_Sub
  • MI_IVE_Ncc
  • MI_IVE_Sobel
  • MI_IVE_Thresh
  • MI_IVE_ThreshS16
  • MI_IVE_ThreshU16
  • MI_IVE_16BitTo8Bit
  • MI_IVE_OrdStatFilter
  • MI_IVE_Sad
  • MI_IVE_Bernsen
  • MI_IVE_Lbp
  • MI_IVE_Bat
  • MI_IVE_AdpThresh
  • MI_IVE_Matrix_Transform
  • MI_IVE_Image_Dot
  • MI_IVE_AlphaBlending
  • HW算子:
  • MI_IVE_And
  • MI_IVE_Or
  • MI_IVE_Xor
  • MI_IVE_Add
  • MI_IVE_Sub
  • MI_IVE_Thresh
  • MI_IVE_ThreshS16
  • MI_IVE_ThreshU16
  • MI_IVE_Sad
  • 2. SDK包主要差异

    表2: Ifado和Maruko SDK包主要差异

    组成部分 Maruko Ifado
    lib
  • uClibc-1.10.31
  • libc-2.33
  • uClibc-1.10.31
  • libc-2.33
  • toolchain
  • gcc-11.1.0-20210608-sigmastar-glibc-x86_64_arm-linux-gnueabihf
  • arm-sigmastar-linux-uclibcgnueabihf-9.1.0
  • gcc-11.1.0-20210608-sigmastar-glibc-x86_64_arm-linux-gnueabihf
  • arm-sigmastar-linux-uclibcgnueabihf-9.1.0
  • Linux Kernel
  • 5.10.61
  • 5.10.117
  • Uboot
  • 2015.01
  • 2021.10
  • Busybox
  • BusyBox v1.20.2
  • BusyBox v1.20.2
  • MI驱动Combine build
  • 支持MI各模块编译各自ko,支持MI各模块Combine build成一个ko
  • 支持MI各模块编译各自ko,支持MI各模块Combine build成一个ko
  • 3. 媒体处理API主要差异

    表3: Ifado和Maruko 媒体处理API主要差异

    模块名称 Ifado 相比Maruko对比差异 修改描述
    SYS 新增FUNCTION:
  • MI_SYS_MemcpyPaEx
  • MI_SYS_ChnInputPortSetUserPicture
  • MI_SYS_EnableUserPicture
  • MI_SYS_DisableUserPicture
  • MI_SYS_QueryDevChnPortState
    部分新增FUNCTION,Ifado/Maruko都不支持调用:
  • MI_SYS_CreateChnInputPortDmabufCusAllocator
  • MI_SYS_DestroyChnInputPortDmabufCusAllocator
  • MI_SYS_ChnInputPortEnqueueDmabuf
  • MI_SYS_ChnInputPortDequeueDmabuf
  • MI_SYS_CreateChnOutputPortDmabufCusAllocator
  • MI_SYS_DestroyChnOutputPortDmabufCusAllocator
  • MI_SYS_ChnOutputPortEnqueueDmabuf
  • MI_SYS_ChnOutputPortDequeueDmabuf
  • MI_SYS_ChnOutputPortDropDmabuf
  • MI_SYS_MbxInit
  • MI_SYS_MbxDeInit
  • MI_SYS_MbxDisable
  • MI_SYS_MbxEnable
  • MI_SYS_MbxSendMsg
  • MI_SYS_MbxRecvMsg
    数据类型修改:
  • MI_SYS_FrameData_t
  • MI_SYS_FrameDataSubPlane_t
  • MI_SYS_BufInfo_t
  • MI_SYS_BufFrameConfig_t
  • Ifado仅支持DRAM拷贝到DRAM
  • 新增加接口:根据帧率设置持续送一张Picture往某个模块InputPort
  • 查询Dev/Chn/Port的状态,如Dev是否被创建或者Chn/Port是否使能
  • 增加描述MetaData类型相关描述参数,为PDAF功能所需要
  • 增加p64VirAddr变量,为64bit系统支持运行32bit app引入变量占位
  • SENSOR 修改数据类型:
  • MI_SNR_PADInfo_t
    删除数据类型:
  • MI_SNR_HDRHWMode_e
  • 增加eHDRFusionType参数,对应支持设置sensor Hdr不同融合模式
  • VIF 新增FUNCTION:
  • MI_VIF_SetDevGroupAttr
  • MI_VIF_CustFunction
  • 新增接口设置VIF Group属性参数
  • 新增VIF客制化命令与sensor driver联动的功能
  • ISP 新增FUNCTION:
  • MI_ISP_SetLdcAttr
    修改数据类型:
  • MI_ISP_ChnParam_t
  • MI_ISP_ZoomEntry_t
    增加数据类型:
  • MI_ISP_LdcAttr_t
  • 增加接口动态设置1D-LDC参数
  • ISP通道属性增加HdrFusionType指定Hdr融合类型,增加HDRExporsureMask指定短/中/长曝帧融合组合,增加结构体描述1D-LDC功能
  • ZommEntry删除SenssorPixFormat和SensorRes参数变量
  • SCL - -
    VDISP 新增FUNCTION:
  • MI_VDISP_ResumeInputChannel
  • MI_VDISP_PauseInputChannel
  • MI_VDISP_MoveToTop
  • 新增Vdisp通道上冻结画面显示和解除冻结画面显示
  • 新增加指定通道窗口置顶显示
  • DISP
  • 删除DISP模块
  • Ifado不支持DISP
  • VENC 新增FUNCTION:
  • MI_VENC_SetOutputPortParam
  • MI_VENC_GetOutputPortParam
  • MI_VENC_EnableOutputPort
  • MI_VENC_DisaleOutputPort
  • MI_VENC_SetDeBreathCfg
  • MI_VENC_GetDeBreathCfg
    部分新增FUNCTION,Ifado/Maruko都不支持调用:
  • MI_VENC_SetAv1TileSplit
  • MI_VENC_GetAv1TileSplit
  • MI_VENC_SetAv1Dblk
  • MI_VENC_GetAv1Dblk
  • MI_VENC_SetAv1Vui
    删除FUNCTION:
  • MI_VENC_EnableIdr
  • MI_VENC_SetSmartVideoCoding
  • MI_VENC_GetSmartVideoCoding
    修改数据类型:
  • MI_VENC_DataType_t
  • MI_VENC_Stream_t
  • MI_VENC_RcAttr_t
  • 增加输出Port Yuv的参数配置和开关,venc output支持绑定后级模块或者输出yuv到ddr
  • 增加编码去呼吸效应的参数配置
  • 增加AV1编码格式相关通道属性信息
  • 合并MI_VENC_AttrH264_t和MI_VENC_AttrH265_t成一个数据类型MI_VENC_AttrVenc_t
  • Rc策略增加UBR/CVBR
  • RGN(OSD) 修改数据类型:
  • MI_RGN_Type_t
  • MI_RGN_ChnPort_t
  • MI_RGN_OsdInitParam_t
  • MI_RGN_OsdChnPortParam_t
  • MI_RGN_CoverChnPortParam_t
  • MI_RGN_FrameChnPortParam_t
  • 增加参数bInputPort,Ifado/Maruko不支持但部分平台支持RGN Attach可选SCL input/output
  • 增加参数u16MaxCanvasNum,用于指定每个osd占用的最大buffer数量
  • 增加普通OSD可指定使用的palette相对与rgn init时设定的总palette的偏移量
  • Cover设定数据结构因IC功能更丰富,有做改动,如多边行Cover,Mosaic Cover
  • 增加Face Frame人脸框功能描述参数
  • AUDIO 修改FUNCTION:
  • MI_AI_SetGain
  • MI_AI_GetGain
  • MI_AI_SetIfGain
  • MI_AI_GetIfGain
  • MI_AO_SetVolume
  • MI_AO_GetVolume
  • MI_AO_SetIfVolume
  • MI_AO_GetIfVolume
  • Ai gain可调节范围档位细化
  • Ao volume可调节范围档位细节
  • VDF - -
    IPU 新增FUNCTION:
  • MI_IPU_CanceInvoke
    修改数据类型:
  • MI_IPU_DevAttr_t
  • 增加IPU运行任务取消排队
  • 删除无用参数u32PrivateVariableMagic
  • LDC
  • 删除LDC模块
  • Ifado支持1D-LDC,直接在ISP Channel attribute里设置