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.

Video Capturing and showing on LCD of 8148 EVM

Other Parts Discussed in Thread: TVP5147

What I want to do is to capture video from 5147 and then show it on the LCD of 8148 EVM.I am using saLoopBack for my testing. I have serveral problems needed to be clarified or fixed.

1.Video resolution captured by 5147 is not match with LCD, but interleaced video cann't do crop and scale with V4L2 IOCTL, so how can I use vpss scale function to achieve this?

2.Video ouput by 5147 is 4:2:2 YUYU format in memory. From script of setting display1 output, display1 output is set to RGB 888. Dose LCD can support YUV input or not it must be RGB? After seeting RGB888, nothing is needed in user program saLoopBack to change YUV to RGB? 

3. What are the relations between /dev/video2 and display1, VENC related capability is involved in video2? Display1 is driver for LCD? I am confused by it.

  • Hello,

    yuan gao2 said:
    but interleaced video cann't do crop and scale with V4L2 IOCTL,

    Correct, you can not scale on the interlaced input.

    yuan gao2 said:
    2.Video ouput by 5147 is 4:2:2 YUYU format in memory. From script of setting display1 output, display1 output is set to RGB 888. Dose LCD can support YUV input or not it must be RGB? After seeting RGB888, nothing is needed in user program saLoopBack to change YUV to RGB? 

    YUV to RGB conversion is not supported for interlaced capture.

    saLoopBackFbdev demonstrate capture / display. Capture driver takes YUV422 as input, converts it to RGB888 using color space converter of VIP port. ButsaLoopBackFbdev in interlaced input, it will throw error saying YUV to RGB conversion is not supported for interlaced capture.

    yuan gao2 said:
    3. What are the relations between /dev/video2 and display1, VENC related capability is involved in video2? Display1 is driver for LCD? I am confused by it.

    • V4L2 display nodes are /dev/video1, /dev/video2, /dev/video3
    • V4L2 capture nodes are /dev/video0, /dev/video4, /dev/video5 and /dev/video6

    The default setup/configuration is -

    /dev/video1  -- => video0 -- => vcompmux  -- => hdmi_venc(display0)->on_chip_hdmi output
    
    * TI816X/AM389X, TI813X Platform
    /dev/video2  -- => video1 -- => hdcompmux -- => hdcomp_venc(display3)->component output
    * TI814X/AM387X Platform /dev/video2 -- => video1 -- => hdcompmux -- => dvo2_venc(display1)-> LCD Pannel or external dispaly device /dev/video3 -- => video2 -- => sdmux -- => sd_venc(display2)->composite ouput

    Best Regards,

    Margarita

  • Thanks.

    Another question, does video in memory captured from 8148EVM+TVP5147 using V4L2 still keep fields interlace? 

    Have any method using V4L2 capture driver to deinterlace it? 

  • Hello,

    You could check this e2e thread:

    http://e2e.ti.com/support/embedded/linux/f/354/t/349295.aspx?pi196120=1

    You could check gstreamer. There we have v4l2src element for capture and omx_mdeiscaler.

    Best Regards,

    Margarita