This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

编码器EncLink_codecProcessTskFxn任务挂死,阻塞在Utils_queGet processQue BIOS_WAIT_FOREVER函数中

编码一段时间后,有时几十分钟,有时几分钟

EncLink_codecProcessTskFxn函数中

while (pObj->state != SYSTEM_LINK_STATE_STOP)循环体内

        status = Utils_queGet(&pObj->encProcessTsk[tskId].processQue,
                              (Ptr *) & pReqObj, 1, BIOS_WAIT_FOREVER);

始终阻塞在Utils_queGet函数中没有退出,即BIOS_WAIT_FOREVER永远等待的条件一直没有成立。

表示编码器挂死了吗?可能是什么原因。

  • 有时负责解码的DM8168也会有类似问题

    DecLink_codecProcessTskFxn函数中

    while (pObj->state != SYSTEM_LINK_STATE_STOP)循环体内

            status = Utils_queGet(&pObj->decProcessTsk[tskId].processQue,
                                  (Ptr *) & pReqObj, 1, BIOS_WAIT_FOREVER);

    始终阻塞在Utils_queGet函数中没有退出,即BIOS_WAIT_FOREVER永远等待的条件一直没有成立。

    导致ipcbits线程中IpcBitsOutLink_getEmptyVideoBitStreamBufs始终无法从解码器获取到可用的empty buf

    与dvrrdk版本有关吗,我用的是3.0,如果是4.0是否会ok

    另外和DM8168的电源没有用AVS有关吗,我用的是恒定1V供电

    又或者是其他原因

  • 你好,

    AVS不使用,是无法保证芯片可以长期问题的运行的。还有DDR software leveling。论坛上有很多类似的例子,请参考一下:http://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/p/84639/214395.aspx#214395

    请问in使用的DM8168具体是哪个型号?请注意最新数据手册上频率的改动。

  • 但是如果将下面两个参数由12个buf改为24个buf,情况明显好转,跑一个晚上也不会异常,这里有没有什么线索,能说明什么问题

    ipcBitsOutHostPrm.numBufPerCh[i]

    decPrm.chCreateParams[i].numBufPerCh