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.

VSRC on A8

All,

 I am building VSRC component on A8 on sdk5030115. I am getting build
time errors of undefined reference to functions like MemMgr_Alloc and OMX_DIO_FrameqTunnel_Dequeue, which are part of omxutils and DIO.

 I have changed the following make files to include VSRC in the component list.

  1. omx-ti81xx-src_05_02_00_30\examples\ti\omx\demos\omxobjs\makefile
  2. omx-ti81xx-src_05_02_00_30\examples\ti\omx\demos\decode\makefile
  3. omx-ti81xx-src_05_02_00_30\examples\ti\omx\demos\dm816xbm\makefile
  4. omx-ti81xx-src_05_02_00_30\src\ti\omx\omxcore\omxcore_cfg.h
  5. omx-ti81xx-src_05_02_00_30\src\ti\omx\domx\domx_cfg.h

 

Is there anything else that I need to do? How can I overcome these errors?

Is there a document which explains this information?

 

Thanks and regards

Kishor

  • All,

     There is another place app_config.h where i have to change to get VSRC component on A8 building.

     

    Now i got VSRC and VSNK on A8 and VENC on M3. tunnels were setup between these components successfully. while testing data path, i found that there are no buffers on the output port of the VSRC. Can anyone help me to find the cause for this? My tunnel connection properties are

     

        omxILEdgeInfo      vsrc_venc_edge;
        OMX_HANDLETYPE     hVSRC;

        TIMM_OSAL_Memset (&vsrc_venc_edge, 0x0, sizeof(vsrc_venc_edge));

          hVSRC = omx_ilclient_utl_create_termination_vsrc(pContext);
          pContext->hVSRC[0] = hVSRC;
          vsrc_venc_edge.sNode1.hComp                    = &(hVSRC);
          vsrc_venc_edge.sNode1.bEnablePort              = g_EnablePort;
          vsrc_venc_edge.sNode1.nStartPortIndex          = (OMX_VSRC_OUTPUT_PORT_START_INDEX);
          vsrc_venc_edge.sNode1.nPortIndexIncrement      = 1;
        vsrc_venc_edge.sNode1.bMultiHandleSinglePortConnect = OMX_TRUE;
        vsrc_venc_edge.sNode1.bEnableNotify                 = OMX_TRUE;
        vsrc_venc_edge.sNode1.bUsePortIndexArrayList        = OMX_FALSE;
        vsrc_venc_edge.sNode1.nNumPorts                     = 1;
        vsrc_venc_edge.sNode1.nNumHandles                   = 1;
        vsrc_venc_edge.sNode1.pPortConfigEventCompleteSemHandle = pContext->hPortConfigEvent;
        vsrc_venc_edge.sNode1.pPortIndexList                    = NULL;

        vsrc_venc_edge.sNode2.hComp                         = &(pContext->pnEncHandle[0]);
        vsrc_venc_edge.sNode2.bMultiHandleSinglePortConnect = OMX_TRUE;
        vsrc_venc_edge.sNode2.bEnablePort                   = g_EnablePort;
        vsrc_venc_edge.sNode2.bEnableNotify                 = OMX_TRUE;
        vsrc_venc_edge.sNode2.bUsePortIndexArrayList        = OMX_FALSE;
        vsrc_venc_edge.sNode2.nStartPortIndex               = OMX_VIDENC_INPUT_PORT;
        vsrc_venc_edge.sNode2.nNumPorts                     = 1;
        vsrc_venc_edge.sNode2.nPortIndexIncrement           = 1;
        vsrc_venc_edge.sNode2.nNumHandles                   = 1;
        vsrc_venc_edge.sNode2.pPortConfigEventCompleteSemHandle = pContext->hPortConfigEvent;
        vsrc_venc_edge.sNode2.pPortIndexList                    = NULL;

        vsrc_venc_edge.szEdgeName = "FQ_DEIHOUT1";
        vsrc_venc_edge.bSetParameter = g_SetParameter;
        vsrc_venc_edge.bSetupTunnel = g_SetupTunnel;
        vsrc_venc_edge.bCreatePortGroup = OMX_FALSE;

        vsrc_venc_edge.bForceDisableTiler = OMX_TRUE;

        vsrc_venc_edge.szPortGroupName    = NULL;
        vsrc_venc_edge.eCompressionFormat = OMX_VIDEO_CodingUnused;
        vsrc_venc_edge.eColorFormat  = OMX_COLOR_FormatYUV420SemiPlanar;
        vsrc_venc_edge.nFrameWidth   = 720;
        vsrc_venc_edge.nFrameHeight  = 576;
        vsrc_venc_edge.bChangeNumBuffers = 1;
        vsrc_venc_edge.nBufferCountActual = 4;

        eError = omx_ilclient_utl_connect_components (&vsrc_venc_edge);
        OMX_TEST_BAIL_IF_ERROR ( eError );

        if ((g_BypassEncDec == FALSE) && (g_DecOnly == FALSE)) {
        Assert_isTrue ((ENC_CHANNEL == g_DeiMNumChannels), Assert_E_assertFailed);
      }