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.

[Cap + Vdis] Link API

Hi,

    I am now using EVM8168 + Catalog Daughter Card with the DVRRDK4.0 for developing.  Aiming on achieving an extremely simple usecase for testing and verifying, I managed to make a chain like this:

   720p60 YUV Component ====>  Cap =======> Vdis ====720p60 YUV420====> On-Chip HDMI Display

    Confused by the McFw code structure and having a hard time dealing with the code, I incidentally find the Link API was much more clear and well organized.  However, the Link_API_Demo in DVRRDK package seems not availible.

    Is it possible for me to achieve my goal by using the Link_API?  And is there any example usecase for me to refer so that I could know how to configure the DisplayLink and make it work?

    Could you help me?

Naroah

Feb/17/2014

  • Hi,

        By referring to chain_main.c, I tried to configure my displayLink like this:

    228     // Display Parameters
    229     DisplayLink_CreateParams_Init(&displayPrm);
    230     displayPrm.inQueParams[0].prevLinkId    = _captureId;
    231     displayPrm.inQueParams[0].prevLinkQueId = 0;
    232     displayPrm.displayRes                = Pt_Conf->res0;//swMsPrm.maxOutRes;
    233     displayPrm.numInputQueues           = 1;
    234     displayPrm.activeQueue              = 0;
    235     displayPrm.forceFieldSeparatedInputMode = FALSE;
    236
    237     //Chains_displayCtrlInit(chainsCfg->displayRes);
    238     VDIS_PARAMS_S prm;
    239     Int32   i;
    240
    241     for (i = 0; i < SYSTEM_DC_MAX_VENC; i++)
    242     {
    243         //prm.deviceParams[i].resolution = displayRes[i];
    244         prm.deviceParams[i].resolution = Pt_Conf->res0;
    245     }
    246
    247    /* Setting SD resolution for SD VENC */
    248     prm.deviceParams[SYSTEM_DC_VENC_SD].resolution = VSYS_STD_NTSC;
    249
    250     System_linkControl(
    251         SYSTEM_LINK_ID_M3VPSS,
    252         SYSTEM_M3VPSS_CMD_GET_DISPLAYCTRL_INIT,
    253         &prm,
    254         sizeof(prm),
    255         TRUE
    256         );
    257

         However, once I tried to run my program, an error appears:

     38: SYSTEM: Creating ListMP [HOST_IPC_IN_20] in region 0 ...
     39: SYSTEM: ListElem Shared Addr = 0x40790f80
     40: SYSTEM: Creating ListMP [HOST_IPC_OUT_21] in region 0 ...
     42: SYSTEM: Creating ListMP [HOST_IPC_IN_21] in region 0 ...
     44: SYSTEM: ListElem Shared Addr = 0x407d4280
     60: SYSTEM: System Common Init Done !!!
     [m3vpss ]  18582: Assertion @ Line: 314 in links_m3vpss/system/system_dctrl.c: dctrlTriDisplayConfig != NULL : failed !!!


         I don't know if my configuration for displayLink is perfect.  Could you help me?

    Naroah

    Feb/17/2014

  • MCFW APIs are suitable if you plan to use one of the predefined usecases/data flow that is poart of DVRRDK.

    Link APIs are suitable if you plan to create a new usecase.

    You can use LinKAPIs directly to realize your usecase.

    The usecase you shared in http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/321611/1119162.aspx#1119162.

    already uses only link APIs.

    If you are using YUV420SP as input to displayLink there are some changes required. Refer this post:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/310208/1080003.aspx#1080003

     

  • Ok, I have get my issue settled by adding tiedDevicesMask.

    But I still get some other problems.  I would like to post them on another thread.

     

    Naroah

    Feb/17/2014