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

DM8168 SWMS Chains_setCustomAvsyncPrm ERROR

swms模块参数配置如下,由于nextlink不是display,所以需要配套avsync配置,代码如下:

但在启动时出现如下错误打印:

 [m3vpss ]  39036: DUP   : Create Done !!!
 [m3vpss ]  
 [m3vpss ] 39193:ERR::linkID:20000036::channelID:-1::errorCode:-3::FileName:links_m3vpss/avsync/avsync_m3vpss.c::linuNum:980::errorCondition:((pObj->srObj->numAudQueCreated == 0) && (pObj->srObj->numVidQueCreated[Avsync_mapDisplayLinkID2Index(cfg->displayLinkID)] == 0))

i = 1;
                printf("/************swMsId[1] is %d***************/\r\n", swMsId[1]);
                swMsPrm[i].numSwMsInst               = 1;
                swMsPrm[i].swMsInstId[0]             = SYSTEM_SW_MS_SC_INST_DEI_SC_NO_DEI  ;
                swMsPrm[i].inQueParams.prevLinkId    = dupId3;
                swMsPrm[i].inQueParams.prevLinkQueId = 2;
                swMsPrm[i].outQueParams.nextLink     = nsfId[1];
                swMsPrm[i].lineSkipMode              = FALSE;    //如果为TRUE可以节省性能
                swMsPrm[i].enableLayoutGridDraw      = TRUE;//FALSE;
                /*alex added 当输入小于30帧,输出60帧时有用,输入大于30帧时会自动关闭*/
                swMsPrm[i].enableOuputDup             = TRUE;
                    /*Flag to enable the SWMS doScaling process tie-up with dsiplay
                    interrupt. Otherwise scaling is triggered by SWMS internal clock object*/
                    /*如果改为TRUE,是否能解决can not get empty buf问题*/
                swMsPrm[i].enableProcessTieWithDisplay  = FALSE;
                /*用于底层驱动的回调函数的运转周期tiemperiod
                 pObj->timerPeriod = (1000/(layoutParams->outputFPS));*/
                swMsPrm[i].layoutPrm.outputFPS       = gblGetVideoDecFrameRate(0);//ulDisplayFrameRate;//从display 格式中提取,目前默认60帧
                swMsPrm[i].maxInputQueLen            = NUMBUFSPERCH_420_SWMS_IN;//8;
                /*实际编码参数可能需要在这里体现*/
                swMsPrm[i].maxOutRes                 = chainsCfg->displayRes[0];//默认固定1080P60
                /*底层驱动允许的最大个数为5default+4 SW_MS_LINK_MAX_OUT_FRAMES                16个时效果未必好,本地都会跳,太少也不行,如2个,则一直帧率不足*/
                swMsPrm[i].numOutBuf             = NUMBUFSPERCH_422_SWMS_OUT;//8;
                //swMs参数初始化,无实质影响
                //Chains_swMsSetLayoutParams(0, &swMsPrm[i]);
                printf("swMsPrm[%d].layoutPrm.outputFPS = %d\n", i, swMsPrm[i].layoutPrm.outputFPS);
  

    AvsyncLink_LinkSynchConfigParams avsyncPrm_aux;
    AvsyncLink_LinkSynchConfigParams_Init(&avsyncPrm_aux);         

System_linkCreate(dupId3, &dupPrm3, sizeof(dupPrm3));

                Chains_setCustomAvsyncPrm(&avsyncPrm_aux,                    swMsPrm[1].inQueParams.prevLinkId,
                    swMsPrm[1].inQueParams.prevLinkQueId,
                    swMsId[1]);

System_linkCreate(swMsId[1], &swMsPrm[1], sizeof(swMsPrm[1]));

Ternence_Hsu:

你好;

        你是在dvrrdk 4.0 上面开发吗? 还是其他版本 ?

user5872361:

回复 Ternence_Hsu:

请问,swms下一个模块不是displaylink,需要配置avsync吗

Ternence_Hsu:

回复 user5872361:

user5872361请问,swms下一个模块不是displaylink,需要配置avsync吗

Ternence_Hsu:

回复 user5872361:

参考下面修改:
e2echina.ti.com/…/219047

user5872361:

回复 Ternence_Hsu:

你好,参考这个改完之后,两个swms模块,一个送显示,一个送编码器,但是视频动态显示一秒之后就不动了,应该是enc那一路没有通的原因?

Ternence_Hsu:

回复 user5872361:

到 mcfw 里面去 debug 一下, 查一下 link 的状态;

赞(0)
未经允许不得转载:TI中文支持网 » DM8168 SWMS Chains_setCustomAvsyncPrm ERROR
分享到: 更多 (0)