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.

1080I60 Input, abnormal display----half screen

Hi!

    I have created a simple chain----one capturelink + one displayLink, Input video format is 1080I, the display is abnormal, just half screen, how can I resolve this problem, by the way , it works properly while the input video format is 1080P.

    Thanks a lot!

  • Have you configured the display for 1080I ?

    Based on your description it looks like only one field is being display.

    Even for interlaced display the display driver expects to be given both fields when displaying.

    Make sure of the following:

    1. Display link is configured for 1080I,(createArgs.displayRes == VSYS_STD_1080I_60)

    2.We have not tried display link with 1080I field input. Pls try the following modifications:

     Modify /dvr_rdk/mcfw/src_bios6/links_m3vpss/display/displayLink_drv.c

    Change

    static
    Bool  DisplayLink_drvIsSDDef(DisplayLink_Obj * pObj)
    {
        Bool isSdDef = FALSE;

        if ((VSYS_STD_NTSC == pObj->createArgs.displayRes)
            ||
            (VSYS_STD_PAL == pObj->createArgs.displayRes))
        {
            isSdDef = TRUE;
        }
        return isSdDef;
    }

    to

    static
    Bool  DisplayLink_drvIsSDDef(DisplayLink_Obj * pObj)
    {
        Bool isSdDef = FALSE;

        if ((VSYS_STD_NTSC == pObj->createArgs.displayRes)
            ||
            (VSYS_STD_PAL == pObj->createArgs.displayRes)
      ||
      (VSYS_STD_1080I_60 == pObj->createArgs.displayRes))
        {
            isSdDef = TRUE;
        }
        return isSdDef;
    }

     

     Change

    static
    Bool DisplayLink_drvIsFieldSeparatedInput(DisplayLink_Obj * pObj,
                                              System_LinkQueInfo *queInfo)
    {
        Bool isFieldSeparatedInput = FALSE;
        UInt32 fieldMergedHeightNTSC;
        UInt32 fieldMergedHeightPAL;

        UTILS_assert(DisplayLink_drvIsSDDef(pObj) == TRUE);
        fieldMergedHeightNTSC = 240;
        fieldMergedHeightPAL  = 288;

        pObj->enableFieldSeparatedInputMode = FALSE;

        if (queInfo->numCh > 0)
        {
            if(SYSTEM_SF_INTERLACED == queInfo->chInfo[0].scanFormat
            )
            {
                if ((queInfo->chInfo[0].height ==  fieldMergedHeightNTSC)
                    ||
                    (queInfo->chInfo[0].height ==  fieldMergedHeightPAL))
                {
                    isFieldSeparatedInput = TRUE;
                }
            }
            if(pObj->createArgs.forceFieldSeparatedInputMode)
            {
                isFieldSeparatedInput = TRUE;
                pObj->enableFieldSeparatedInputMode = TRUE;
            }

        }
        return isFieldSeparatedInput;
    }

    to

    static
    Bool DisplayLink_drvIsFieldSeparatedInput(DisplayLink_Obj * pObj,
                                              System_LinkQueInfo *queInfo)
    {
        Bool isFieldSeparatedInput = FALSE;
        UInt32 fieldMergedHeightNTSC;
        UInt32 fieldMergedHeightPAL;
     UInt32 fieldMergedHeight1080I;

        UTILS_assert(DisplayLink_drvIsSDDef(pObj) == TRUE);
        fieldMergedHeightNTSC = 240;
        fieldMergedHeightPAL  = 288;
     fieldMergedHeight1080I = 1080;

        pObj->enableFieldSeparatedInputMode = FALSE;

        if (queInfo->numCh > 0)
        {
            if(SYSTEM_SF_INTERLACED == queInfo->chInfo[0].scanFormat
            )
            {
                if ((queInfo->chInfo[0].height ==  fieldMergedHeightNTSC)
                    ||
                    (queInfo->chInfo[0].height ==  fieldMergedHeightPAL)
        ||
        (queInfo->chInfo[0].height ==  fieldMergedHeight1080I))
                {
                    isFieldSeparatedInput = TRUE;
                }
            }
            if(pObj->createArgs.forceFieldSeparatedInputMode)
            {
                isFieldSeparatedInput = TRUE;
                pObj->enableFieldSeparatedInputMode = TRUE;
            }

        }
        return isFieldSeparatedInput;
    }

     

  • above suggestions don't seem to work for 1080i60 input. please help. i am still getting split display for interlaced input.

  • Hello Noel,

    What is the software release that you are using here?

    BR
    Margarita
  • DVR-RDK ver is 04.01.00.02.

    I have posted my problem here:

    e2e.ti.com/.../1991202

    Regards
  • Hello,

    I am not aware with DVRRDK.
    For DVRRDK support please check this thread: e2e.ti.com/.../426680
    Could you try to apply the patch in this thread:
    e2e.ti.com/.../1047727
    and check this pdf also: DM81xx_DVR_RDK_Custom_Display_Resolution.pdf.

    Hope this helps.

    BR
    Margarita