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.

RTOS/TDA2E-17: Capture Link Output queue

Part Number: TDA2E-17

Tool/software: TI-RTOS

Dear Sirs:

  We are using VSDK 03_04_00_00.

  The current implementation of capture link in VSDK only has 1 output queue. And no matter what kind of the the camera and how many cameras are connected to VIP interfaces, it will only output to the only queue, this cause 1 problem: if interlaced camera is connected to VIP, then it need dei. However other progressive camera doesn't need dei.

  I just want to ask does TI has any implementation of VSDK capture link that support multiple output per VIP slice?

Regards,

/ckhsu

  • Hi Hsu,

    I think these two are not related. You could still use single VIP output queue and pass it to DEI link. I could not understand why it can't be used and how it will solve by having multiple output queue?

    Rgds,

    Brijesh

  • Hi Brijesh:
    It seems no relationships between these 2 at the first glance. Hoever this is quite important because when different video type progressive mixed with interlaced video inside the queue, and they all need to be output at different size, the DEI will stop in our testing. And most important thing, there seems no configurations than can let these 2 kinds of video mixed inside 1 queue. Please check the VPE header file for the configuration. In DM81xx platform (ipncrdk/dvrrdk), it is not a problem because the TI codes implement the different Q in each VIP instance hence there is not problem, however the implementation is different in VSDK platform.

    Regards,
    /ckhsu
  • Hi Hsu,

    ok, but even in current VIP link, there are difference output queues for each object. Each object refers to one VIP instance/port. So if you have progressive/interlaced contents coming on different ports, which most likely will be the case, they will be on different output queue. Isn't it?

    Rgds,
    Brijesh
  • Hi Brijesh:
    Guess you did not trace it into the core:
    Inside vision_sdk/links_fw/src/rtos/links_ipu/vip_capture/captureLink_priv.h
    struct CaptureLink_Obj_t
    {
    UInt32 linkId;
    /**< Link ID for this object */

    Utils_TskHndl tsk;
    /**< Handle to capture link task */

    CaptureLink_CreateParams createArgs;
    /**< Create params for capture link */

    Utils_BufHndl bufQue; ====> The capture link only have 1 output queue, and all output frames are inside this queue for the next link.
    /**< Handle to buffer queue */
    ...

    You may see the above header, then you can understand TI mixed everything in 1 queue that is my problem.

    And in DM81xx platform:
    mcfw\src_bios6\links_m3vpss\capture\captureLink_priv.h

    /* Capture link information */
    typedef struct {
    /* Capture link task */
    Utils_TskHndl tsk;

    /* Capture link create arguments */
    CaptureLink_CreateParams createArgs;

    /* Capture link output queues */
    Utils_BufHndl bufQue[CAPTURE_LINK_MAX_OUT_QUE]; ==> You may see the multiple queue implement here and each VIP can have 1 queue. If different format of video comes from different port, you can take it from its VIP output queue.

    /* Global capture driver handle */
    FVID2_Handle fvidHandleVipAll;
    ...

    This is my question. And it did cause the waste and problem in the later dei in our case. In our old DM81xx platform this will not be a problem because different VIP were put in different Q, in J6/TDA, it is always placed in 1 Q.

    Regards,
    /ckhsu
  • Hi hsu,

    Unfortunately, multiple output queues are currently not supported. Probably, you could add it from the DMA81xx code.

    Rgds,

    Brijesh