S3C6410视频解码初始化失败
解码程序如下:
/// 1. Create new instance ///
//////////////////////////////////////
//printf("front645646\n");
decoderHandle = SsbSipH264DecodeInit();
if (decoderHandle == NULL) {
RETAILMSG(1,(L"Decoder Init Failed.\n"));
return 0;
}
SsbSipH264DecodeInit()实现过程如下:
void *SsbSipH264DecodeInit()
{
_MFCLIB_H264_DEC *pCTX;
HANDLE hOpen;
//////////////////////////////
///// CreateFile /////
//////////////////////////////
//printf("enter\n");
hOpen = CreateFile(L"MFC1:",
GENERIC_READ|GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if (hOpen == INVALID_HANDLE_VALUE) {
//LOG_MSG(LOG_ERROR, "SsbSipH264DecodeInit", "MFC Open failure\n");
//printf("SsbSipH264DecodeInit MFC Open failure\n");
return NULL;
}
.....................................
/////////////////////////////////////////////////
///// (DeviceIoControl) /////
///// IOCTL_MFC_H264_DEC_EXE /////
/////////////////////////////////////////////////
mfc_args.dec_init.in_strmSize = lengthBufFill;
printf("11111111111111111111\n");
r = DeviceIoControl(pCTX->hOpen, IOCTL_MFC_H264_DEC_INIT,
&mfc_args, sizeof(MFC_DEC_INIT_ARG),
NULL, 0,
NULL,
NULL);
printf("22222222222222222222222222\n");
if ((r == FALSE) || (mfc_args.get_buf_addr.ret_code != 0)) {
return SSBSIP_H264_DEC_RET_ERR_CONFIG_FAIL;
}
执行的打印信息如下:
11111111111111111111
[MFC_DRV: ERROR] MFCInst_Init: SEQ_INIT failed. [0]
22222222222222222222222222
///////////////////////////////
请各位高人指点 是什么原因导致解码不能成功实现呢?“[MFC_DRV: ERROR] MFCInst_Init: SEQ_INIT failed. [0]”
打印信息可以说明什么呢?
还有一个问题就是:有时候不会出现这种情况,可以顺利解码显示,但有时候就会出现上面的问题》
补充:本程序中待解码的数据流来自网络接受的视频数据流,经测试,接收的数据没有问题!