我们使用SWMS做图像旋转,SDK为IPNCRDK3.8,基于FULL FEATURE的USECASE修改, 流程如下............->dup(disp)---->swms---->dvo2, 其中swms参数如下:
/*SWMS LINK PARAMS*/
swMsPrm.numSwMsInst = 1;
swMsPrm.swMsInstId[0] = SYSTEM_SW_MS_SC_INST_VIP1_SC;
swMsPrm.outDataFormat = SYSTEM_DF_YUV422I_YUYV;
swMsPrm.inQueParams.prevLinkId = dupId[DIS_DUP_IDX];
swMsPrm.inQueParams.prevLinkQueId = 2;
swMsPrm.outQueParams.nextLink = gVdisModuleContext.displayId[VDIS_DEV_DVO2];
swMsPrm.maxInputQueLen = 4;
swMsPrm.maxOutRes = VSYS_STD_CUSTOM;
swMsPrm.numOutBuf = 0;
swMsPrm.lineSkipMode = FALSE; // NOT USED
swMsPrm.enableLayoutGridDraw = FALSE;//gVdisModuleContext.vdisConfig.enableLayoutGridDraw;
swMsPrm.enableProcessTieWithDisplay = FALSE;
swMsPrm.rotateMask = UTILS_TILER_ORI_XY_SWAP;
MultiCh_swMsGetDefaultLayoutPrm(VDIS_DEV_DVO2, &swMsPrm, TRUE);
如果我们将swMsPrm.numOutBuf 设置为2,则最终swms输出帧率只有9fps左右,系统不会挂死。
如果我们将swMsPrm.numOutBuf 设置为4以上(或0),则最终swms输出帧率可以达到30ps左右,但是系统会不定时挂死, 现象为输出黑屏,A8侧串口不响应,挂死之前没有任何异常信息打印。