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.

Poor capture video quality on DM8168

Other Parts Discussed in Thread: TVP7002, TVP5158, THS7368

Hi,

I use the DVRRDK 04.00.00.3 on a EVM8168 plateform.
I use the Link API to create custom application that can capture raw video at 720p.

My use case is :
TVP7002 --> CAPT (1Ch 720p60) --> IPCFRAME OUT RTOS --> IPC FRAME IN HLOS --> file.

My goal is to do snapshot uncompress.

The format out off capture is set to YUV422I_YUYV.

But I have a problem about the quality off the capture.

When I compare the image source and the result image, there is a big difference ?

I don't undestand why.

Is it a tvp7002 configuartion problem or the configuration on the VPSS ?

I attach 3 files, the bmp source, the bmp generated from the uncompress capture and the configuration that I use for the tvp70002

The  source picture :

.

The uncompress picture

The configuartion file off tvp7002

#!/bin/sh
#i2cset -y 2 0x21 0x0f 0xfb
i2cset -y 2 0x21 0x0f 0xCB
i2cdump -y -r 0-0xff 2 0x5d b

i2cset -y 2 0x5d 0x01 0x67
i2cset -y 2 0x5d 0x02 0x20
i2cset -y 2 0x5d 0x03 0xA0
i2cset -y 2 0x5d 0x04 0x16

i2cset -y 2 0x5d 0x05 0x32
i2cset -y 2 0x5d 0x06 0x20
i2cset -y 2 0x5d 0x07 0x2C
i2cset -y 2 0x5d 0x08 0x00
i2cset -y 2 0x5d 0x09 0x00
i2cset -y 2 0x5d 0x0A 0x00
i2cset -y 2 0x5d 0x0B 0x80
i2cset -y 2 0x5d 0x0C 0x90
i2cset -y 2 0x5d 0x0D 0x80
i2cset -y 2 0x5d 0x0E 0x3F
i2cset -y 2 0x5d 0x0F 0x2E

i2cset -y 2 0x5d 0x10 0x5D
i2cset -y 2 0x5d 0x11 0x43
i2cset -y 2 0x5d 0x12 0x01
i2cset -y 2 0x5d 0x13 0x00
# modif du A
i2cset -y 2 0x5d 0x15 0x07
i2cset -y 2 0x5d 0x16 0x01
i2cset -y 2 0x5d 0x17 0x00
# modif du C
i2cset -y 2 0x5d 0x18 0x21
i2cset -y 2 0x5d 0x19 0x00
i2cset -y 2 0x5d 0x1A 0x8F

# i2cset -y 2 0x5c 0x21 0x35
# i2cset -y 2 0x5c 0x22 0x00
# modif du D : ALC activer
i2cset -y 2 0x5d 0x26 0x80
# modif du D : ALC Filter activer
i2cset -y 2 0x5d 0x28 0x00
# i2cset -y 2 0x5c 0x2A 0x87
# i2cset -y 2 0x5c 0x2B 0x00
# i2cset -y 2 0x5c 0x2C 0x80
# i2cset -y 2 0x5c 0x2D 0x00
# i2cset -y 2 0x5c 0x2E 0x80
# modif du D : ALC Filter activer
i2cset -y 2 0x5d 0x31 0x5A
# modif E
i2cset -y 2 0x5d 0x3F 0x0F

i2cset -y 2 0x5d 0x40 0x47
i2cset -y 2 0x5d 0x41 0x01
i2cset -y 2 0x5d 0x42 0x4B
i2cset -y 2 0x5d 0x43 0x06
i2cset -y 2 0x5d 0x44 0x05
i2cset -y 2 0x5d 0x45 0x05
i2cset -y 2 0x5d 0x46 0x1E
i2cset -y 2 0x5d 0x47 0x1E
i2cset -y 2 0x5d 0x48 0x00
i2cset -y 2 0x5d 0x49 0x00

i2cset -y 2 0x5d 0x34 0x12
i2cset -y 2 0x5d 0x3F 0x0F











i2cdump -y -r 0-0xff 2 0x5d b

We can see on the uncompress picture , that the details (grass and tree bark) are becoming blurred.

Have you an idea of the source of the problem ?

Thank you.

Regards

  • My only guess is that perhaps there is something wrong with your deinterlacer settings. Maybe you are deinterlacing twice or something?

  • Hi Ralph,

    No, I don't deinterlace (... I think !).

    The stream that is provide by  the TVP7002 is captured in YUV422P.

    But, for the output, the only formats which works are YUV422I_YUYV and YUV422SP_UV. The other crash my application.

    The capture link is configured with :

    capturePrm->tilerEnable = FALSE;
    capturePrm->enableSdCrop = FALSE;
    capturePrm->isPalMode = FALSE;
    capturePrm->numBufsPerCh = 6;

    capturePrm->numExtraBufs = 0;
    capturePrm->maxBlindAreasPerCh = 0;
    capturePrm->doCropInCapture = FALSE;

    pCaptureInstPrm->vipInstId = (SYSTEM_CAPTURE_INST_VIP0_PORTA+vipInstId) % SYSTEM_CAPTURE_INST_MAX;
    pCaptureInstPrm->videoDecoderId = 0/*SYSTEM_DEVICE_VID_DEC_TVP5158_DRV*/;
    pCaptureInstPrm->standard = standard; /* resolution est frequence de la video en entrée */
    pCaptureInstPrm->numOutput = 1;

    pCaptureOutPrm = &pCaptureInstPrm->outParams[0];

    //pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV420SP_UV; 
    pCaptureOutPrm->dataFormat = SYSTEM_DF_YUV422I_YUYV;
    pCaptureOutPrm->scEnable = FALSE; /* desativation du module de scale */
    pCaptureOutPrm->scOutWidth = 0;
    pCaptureOutPrm->scOutHeight = 0;
    pCaptureOutPrm->outQueId = 0;

    pCaptureInstPrm->videoCaptureMode = SYSTEM_CAPT_VIDEO_CAPTURE_MODE_SINGLE_CH_NON_MUX_EMBEDDED_SYNC;
    pCaptureInstPrm->inDataFormat = SYSTEM_DF_YUV422P;
    pCaptureInstPrm->videoIfMode = SYSTEM_CAPT_VIDEO_IF_MODE_16BIT;
    pCaptureInstPrm->inScanFormat = SYSTEM_SF_PROGRESSIVE;

    Can you explain why you think is a deinterlacer problem ?

    Thank

  • When capture format is YUV422I as in your case the contents received in the video input parser is directly written to memory with no processing. The fact that this captured image shows artifacts indicates issue with TVP7002 configuration. Pls see this post where similar artifacts was rootcaused to external video decoder configuration although the fix was not shared is not useful for you

     

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/p/320735/1130963.aspx#1130963

     

  • Hi Badri,

    Thank you for the response.

    I had already see the post, but bollgo don't say how he has resolved this problem !!

    I have tested several configuration on the tvp7002, and I don't see amelioration.

    Have you an idea about the parameters which can cause the problem on the tvp7002 ?

    Thanks

  • Hi Badri,

    Effectively, I have found the problem.

    It is not the TVP the problem but the configuration of the THS7368 that is connected in front of the TVP7002.

    The bandwith which was applied was 9.5MHZ for the SF channels.

    I have modified it to apply a bandwidth of 72MHz and the picture quality is very best.

    Thank you for your help.

    regards

  • Thank u for rootcausing and sharing the solution