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.

请教关于decLink解码h264报错的问题(outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401)



群内的朋友,IT的专家你们好!

   我使用的开发环境为8127, ipn_rdk v3.8

  我在使用decLink解码h264的数据时总是报0x401错误,具体错误代码如下:

[m3video] 15136:DECLINK::links_m3video/iva_dec/decLink_h264.c:[302]::INTERNAL ERROR:-1
[m3video] ALGPROCESS FAILED:STATUS
[m3video] outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x401

我的decLink的有关代码如下:

UInt32 idx, channum = 1;
DecLink_CreateParams decPrm;

DecLink_CreateParams_Init(&decPrm);
for (idx = 0; idx < channum; ++idx)
{
decPrm.chCreateParams[idx].format = IVIDEO_H264HP;//IVIDEO_MPEG4SP;
// 0--IH264VDEC_PROFILE_BASELINE;1--Main Profile;2--High Profile;3--IH264VDEC_PROFILE_ANY
decPrm.chCreateParams[idx].profile = /*IH264VDEC_PROFILE_ANY;*/3;
decPrm.chCreateParams[idx].fieldMergeDecodeEnable = FALSE;
decPrm.chCreateParams[idx].targetMaxWidth = 1280;
decPrm.chCreateParams[idx].targetMaxHeight = 720;
decPrm.chCreateParams[idx].defaultDynamicParams.targetFrameRate = 30;
decPrm.chCreateParams[idx].defaultDynamicParams.targetBitRate = 4 * 1000 * 1000; // 4M
/* Max ref frames is only 2 as this is closed loop decoder */
decPrm.chCreateParams[idx].dpbBufSizeInFrames = 2;
}
decPrm.inQueParams.prevLinkId = prevLinkId;
decPrm.inQueParams.prevLinkQueId = 0;
decPrm.outQueParams.nextLink = nextLinkId;
decPrm.tilerEnable = FALSE;
decPrm.numBufPerPool[0] = 4;//NUM_DECODE_BUFFERS;
System_linkCreate(decLinkId, &decPrm, sizeof(decPrm));

我查了下h264 decoder的pdf文档:0x401的错误为:

0bit--Error code(IH264VDEC_ERR_NOSLICE)
--Explanation(Not even a single error-free slice header found in this process call,did not start MB loop)
10bit--Error code(XDM_INSUFFICIENTDATA)
--Explanation(Insufficient input data)

从错误信息上反映好像是输入的h264码流数据不正确, 我使用的1280x720.h264我检查了下视频是可以播放的.

具体传进去的帧内容为如下:

第1帧: 00 00 00 01 27 ... 00 00 00 01 28 .... 00 00 00 01 06 .... 00 00 00 01 25 ...

第2帧: 00 00 00 01 06 .... 00 00 00 01 21 ...

...

请教下,这个错误到底是什么原因呢? 我怎样改正呢,先谢谢了!!!