TI中文支持网
TI专业的中文技术问题搜集分享网站

dm8168 rdk swmslink是不是后面只能跟DisplayLink

我的目前大概的chains是  capture dup(4个) merge sclr swms nsf等等  不知这样子可行不

Chris Meng:

你好,

理论上是没有限制的。但为什么你的use case需要先sclr,再swms?swms就是缩放加拼接。NSF是为了做422到420转换么?

xiangyang duan:

回复 Chris Meng:

sclr里面有个 crop 我是先用sclr做完裁剪,在用swms 放大 在拼接的  nsf就是为了422转420

Ternence_Hsu:

回复 xiangyang duan:

不知道你是用的sdk的哪个版本;

在DVRRDK4.0 里面可以支持其他模块的,但是会有警告出现,在avsync里面会检测swms后面会不会是dispaly link

在avsync_m3vpss.c中处理,修改后就可以了,后面可以正常接dispaly以外的其他link的

 

yueping Tian:

回复 Ternence_Hsu:

能告诉我怎么处理吗, 我也遇到了同样的问题

Ternence_Hsu:

回复 yueping Tian:

你是用的那个版本的开发包;

可以把你错误信息贴出来吗?

yueping Tian:

回复 Ternence_Hsu:

我用的版本是 rdk4.0 

错误是:

[m3vpss ] 174343:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:1236::errorCondition:((avsync_map_link) [m3vpss ] AVSYNC:WARNING!!!.AVSYNC config invalid for linkID[20000030]:chId[51] Will Default to AVSYNC disabled

打印多次后程序就退出了

Ternence_Hsu:

回复 yueping Tian:

下面是diff的log信息,你参考一下;

这里主要是做了一个判断,swms的next link 是不是 display link,修改一下就可以通过了,试一下

yueping Tian:

回复 Ternence_Hsu:

你好, 我修改后,不再提示错误。 但程序也不往下走了,

帮我看下参数设置 有问题没

387     SwMsLink_CreateParams           swMsPrm;388     MULTICH_INIT_STRUCT(SwMsLink_CreateParams,swMsPrm);389     swMsPrm.numSwMsInst               = 1;390     swMsPrm.swMsInstId[0]             = SYSTEM_SW_MS_SC_INST_SC5;391     swMsPrm.inQueParams.prevLinkId    = gMultiCh_VcapVencVdisObj.dupId[1];392     swMsPrm.inQueParams.prevLinkQueId = 1;393     swMsPrm.outQueParams.nextLink     = gVcapModuleContext.ipcFramesOutVpssToHostId;394     swMsPrm.maxInputQueLen            = SYSTEM_SW_MS_DEFAULT_INPUT_QUE_LEN;395     swMsPrm.maxOutRes                 = VSYS_STD_1080P_60;396     swMsPrm.lineSkipMode              = FALSE;397     swMsPrm.enableProcessTieWithDisplay = FALSE;

Ternence_Hsu:

回复 yueping Tian:

你好;

你可以贴出你完整的log信号,和你Usecase的整个chains代码吗?

yueping Tian:

回复 Ternence_Hsu:

cap(1080p) –dup — enc( h264)

                          |     —- sclr (720*576)  — dup  — enc (h264)

                                                                        |     —-  swms — ipcFramesOutVpss — ipcFramesInHost

368     dupPrm1.numOutQue                 = 2;369     dupPrm1.outQueParams[0].nextLink  = gMultiCh_VcapVencVdisObj.mergeId[0];370 371     /*添加swms*/372     IpcFramesOutLinkRTOS_CreateParams  ipcFramesOutVpssToHostPrm;373     MULTICH_INIT_STRUCT(IpcFramesOutLinkRTOS_CreateParams ,ipcFramesOutVpssToHostPrm);374 375     UInt32 swMsId    = SYSTEM_LINK_ID_SW_MS_MULTI_INST_0;376     dupPrm1.outQueParams[1].nextLink  = swMsId;377 378     SwMsLink_CreateParams           swMsPrm;379     MULTICH_INIT_STRUCT(SwMsLink_CreateParams,swMsPrm);380     swMsPrm.numSwMsInst               = 1;381     swMsPrm.swMsInstId[0]             = SYSTEM_SW_MS_SC_INST_SC5;382     swMsPrm.inQueParams.prevLinkId    = gMultiCh_VcapVencVdisObj.dupId[1];383     swMsPrm.inQueParams.prevLinkQueId = 1;384     swMsPrm.outQueParams.nextLink     = gVcapModuleContext.ipcFramesOutVpssToHostId;385     swMsPrm.maxInputQueLen            = SYSTEM_SW_MS_DEFAULT_INPUT_QUE_LEN;386     swMsPrm.maxOutRes                 = VSYS_STD_576P;387     swMsPrm.initOutRes                = VSYS_STD_576P;388     swMsPrm.lineSkipMode              = FALSE;389     swMsPrm.enableProcessTieWithDisplay = FALSE;390 391     ipcFramesOutVpssToHostPrm.baseCreateParams.inQueParams.prevLinkId = swMsId;392     ipcFramesOutVpssToHostPrm.baseCreateParams.inQueParams.prevLinkQueId = 0;393 394 395     /*ipcFrameOut D1->A8*/396     ipcFramesOutVpssToHostPrm.baseCreateParams.noNotifyMode = TRUE;397     ipcFramesOutVpssToHostPrm.baseCreateParams.notifyNextLink = FALSE;398     ipcFramesOutVpssToHostPrm.baseCreateParams.notifyPrevLink = TRUE;399     ipcFramesOutVpssToHostPrm.baseCreateParams.outQueParams[0].nextLink = gVcapModuleContext.ipcFramesInHostId;400

在demo_vcap_file.c 中接收yuv数据

180         status =  Vcap_getFullVideoFrames(&bufList,TIMEOUT_NO_WAIT);181         if(status==ERROR_NONE && bufList.numFrames)182         {183             for(frameId=0; frameId<bufList.numFrames; frameId++)184             {185                 pbuf = &bufList.frames[frameId];186                 frameSize = (pbuf->frameWidth * pbuf->frameHeight) * 3 >> 1 ;187                 OSA_printf("[YUV]  size = %d, wid=%d, hi=%d, time = %ld \n",188                         frameSize,  pbuf->frameWidth, pbuf->frameHeight, (long int)pbuf->timeStamp);

没有任何打印

 [m3vpss ]  12409: SWMS    : ******* Configuring clock 15 secs…  [m3vpss ]  12409: SWMS0    : Loading Vertical Co-effs (UPSCALE)x …  [m3vpss ]  12409: SWMS0    : Loading Horizontal Co-effs (UPSCALE)x …  [m3vpss ]  12409: SWMS    : Co-effs Loading … DONE !!! [m3vpss ]   [m3vpss ]  *** [SWMS0] Mosaic Parameters ***  [m3vpss ]   [m3vpss ]  Output FPS: 0 [m3vpss ]   [m3vpss ]  Win | Ch  | Input      | Input          | Input         | Input       | Output     |  Output         | Output        | Output      | Low Cost | SWMS| [m3vpss ]  Num | Num | Start X, Y | Width x Height | Pitch Y / C   | Memory Type | Start X, Y |  Width x Height | Pitch Y / C   | Memory Type | ON / OFF | Inst| [m3vpss ]  —————————————————————————————————————————————————– [m3vpss ]   [host] IpcFramesInLink_tskMain:Entered [host]  201133: IPC_FRAMES_IN   : Create in progress !!! [host]  201133: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_20] … 201139: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_20] … [m3vpss ] SWMS:HEAPID:0        USED:224 [m3vpss ] SWMS:HEAPID:1        USED:43776 [m3vpss ] SWMS:HEAPID:4        USED:50462720 [m3vpss ]  212507: SWMS: Create Done !!!

在之前没有添加swms是是可以输出yuv的

赞(0)
未经允许不得转载:TI中文支持网 » dm8168 rdk swmslink是不是后面只能跟DisplayLink
分享到: 更多 (0)