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.

AM5728: Muxing 2 video sources on single VIP

Part Number: AM5728

Hi,

We are looking to provide SDI and HDMI Input on single video input port i.e Vin3A of AM5728, for that we are looking forward to use SDI receiver GS2971A(Semtech) and ADV7611(Analog Devices). GS2971A take SDI input and outputs YCbCr 4:2:2 10/20 bit parallel pixel data where as ADV7611 takes HDMI In and outputs 24 bit YCbCr/RGB data. So My questions are,

1. Will it be possible to mux SDI and HDMI over single Video Input Port? If yes, how we will do it, which mux we can use for this purpose?

2. If mux is not possible then how we can interface YCbCr 4:2:2 10/20 bit parallel pixel data with AM5728?

Regards,

Harsh Sharma

  • Hi,

    You should note that port VIN3A provides only a 16-bit interface. See AM572x TRM Rev. I section 9.1.
  • Hi Sir,

    I am using VIP2 --> VIN3-->PORTA

    Regards,
    Harsh Sharma
  • Sorry, my mistake there. Please see Table 9-4 from the TRM for supported input signal formats and if they match your output formats.
  • Hi,
    Thanks, I go through the table , it did not support YCbCr 4:2:2 10/20 bit , which is my output. So is there any format conversion chip which can make that format compatible to AM5728?

    Regards,
    Harsh Sharma
  • harsh sharma said:
    Will it be possible to mux SDI and HDMI over single Video Input Port? If yes, how we will do it, which mux we can use for this purpose?

    Why do you want to mux the video over single port? I am not aware of any device that can mux SDI and HDMI signal

    harsh sharma said:
    2. If mux is not possible then how we can interface YCbCr 4:2:2 10/20 bit parallel pixel data with AM5728?

    Please check this processors wiki page FAQ section -

    Note that VIP driver supports capture of YUV 422 data as 16 bit pixel size over 8 or 16 bits dta bus-width.  YUV pixel size of 20-bit needs to be treated as 24 bits. Now if this YUV 24 bit pixel is arranged as three separate planes, then the VIP driver doesn't support capture of this data (while VIP HW IP supports this, no support on driver side). If this data is arranged in interleaved format in single plane, then the VIP driver can be tricked to capture this data by treating it as RGB24 data type.  When capturing the YUV444 as RGB24 data type, do not use any of the VIP internal processing module like scaling etc.

    Above is also true for HDMI 24-bit YUV capture. 

  • Hi,
    Thanks for your reply.
    Suppose our SDI IC outputs 10 bit YCbCr 4:2:2 data , so we will treat it as 16 bit bus width (Ground or tie to VDD remaining unused pins). The Linux core VIP user's Guide says 'when capturing 10-bit/12-bit data in 16 bit container, you can not use any of the VIP internal processing module like scaling, format conversion etc.'
    but we have to encode this data using H.264 encoder which accepts only YUV 420 input format. So our question is,
    Is there any way we can make this data compatible with H.264 encoder?
  • harsh sharma said:
    The Linux core VIP user's Guide says 'when capturing 10-bit/12-bit data in 16 bit container, you can not use any of the VIP internal processing module like scaling, format conversion etc.'

    The information on VIP wiki page is only applicable to processing inside VIP module and not for entire AM57x SoC.

    harsh sharma said:
    Is there any way we can make this data compatible with H.264 encoder?

    H.264 encoding happens in IVA-HD hardware accelerator. VIP IP will capture the images and bring them to DDR. It is up to the user application how it wants to process on this data. In your case, your aplication will pass this captured images to IVA-HD for H.264 encoding. Note that H.264 encoder on IVA-HD only supports NV12  input format 1.5 byte pixel size (8 bit Y and 4 bits U/V interleaved). You will need to have another processing module between VIP capture and H.264 encoder to convert this 10 bit YCbCr 4:2:2 data to 8 bit NV12 format before passing it to encoder.