Hi:
I am developing NVR based on dm816x platform. I have a trouble that I can't display the stream using mcfw api.Below is my code.Can anyone help me, or how can i display the stream on screen by some channel?
void display_stream(void *frame, int framesize, int chnid)
{
VCODEC_BITSBUF_LIST_S emptyBuffList;
memset(&emptyBuffList, 0, sizeof(emptyBuffList));
VDEC_BUF_REQUEST_S req;
emptyBuffList.numBufs = 0;
req.numBufs = 1;
req.reqType = VDEC_BUFREQTYPE_BUFSIZE;
int status = 0;
int i;
for (i = 0; i < req.numBufs; i++)
{
req.u[i].minBufSize = 704 * 576;
}
if ((status = Vdec_requestBitstreamBuffer(&req, &emptyBuffList, 0)) != ERROR_NONE) {
printf("failed to request bitstream buffer: %d\n", status);
return;
}
for (i = 0; i < emptyBuffList.numBufs; i++) {
emptyBuffList.bitsBuf[i].chnId = chnid;
emptyBuffList.bitsBuf[i].filledBufSize = frameSize;
memcpy(emptyBuffList.bitsBuf[i].bufVirtAddr, frame, framesize);
}
if (emptyBuffList.numBufs > 0) {
Vdec_putBitstreamBuffer(&emptyBuffList);
OSA_waitMsecs(16);
}
}