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.

IpcFramesOut SR2

Hello Sir

    I'm using IPCFramesOutLINK to receive video from PCIe, ready to allocate Buffers for IpcFramesOutLINK on SR2 which is available for Frames.

    codes as following:

        bufList.numFrames = 0;
    for (i = 0; i < VIDFRAME_MAX_FRAME_BUFS;i++)
    {
        status = Vsys_allocBuf(2, bufSize, 128, &thrObj->bufInfo[i]);
        if (ERROR_NONE == status)
        {
            bufList.numFrames++;
            pFrame                 = &bufList.frames[i];
            pFrame->channelNum     = 0;
            pFrame->fid            = 0;
            pFrame->frameHeight    = 720;
            pFrame->frameWidth     = 1280;
            pFrame->framePitch[0]  = 2560;
            pFrame->phyAddr[0][0]  = thrObj->bufInfo[i].physAddr;
            pFrame->addr[0][0]     = thrObj->bufInfo[i].virtAddr;
        }
    }
    status = IpcFramesOutLink_putFullVideoFrames(SYSTEM_HOST_LINK_ID_IPC_FRAMES_OUT_0, &bufList);

   Now, I encounter a problem, following is running messages

   Assertion at Line no: 1354 in /opt/DVRRDK/DVRRDK_03.00.00.00/dvr_rdk/../ti_tools/syslink/syslink_2_10_02_17_patched/packages/ti/syslink/ipc/hlos/usr/HeapMemMP.c: (hpHandle != NULL) : failed
 ASSERT (ti_vsys.c|Vsys_allocBuf|400)

Appreciate it on your response!

  • SR2 is not mapped on A8 and cannot be used to allocate buffers using Vsys_allocBuf API. You will have to use SR0 or SR1 if you want to use Vsys_allocBuf.

  • I allocate buffers for IPCFrameOutLINK on SR1 currently, but I noticed that SR1 is available for IpcBitsLINK, while SR2 is for IpcFrameLINK.

    Now, I encountered one issue, M3 VICP do not generate h264 bit streams through IpcBitsInLINK any longer after IPCFrameOutLINK works,

    if that I allocate buffers on SR1 is the cause, so I want to try allocate buffers on SR1...

    how can I allocate buffers for IpcFramesOutLINK on SR2, or , more directly, how can I solve the issue?

    Thanks!!!

    resume running messages:

  • - You cannot allocate from Sr2.

    - There is no problem with allocating buffers from SR1 even though it is used for bitstream buffers.

    - The assert indicates you are corrupting memory by writing beyond the allocated buffer size. Try allocating additional 4096 bytes and check if the issue is still occurring. If buffer overflow is only  a few bytes allocating extra 4096 bytes will mask the issue then you can debug your application further