UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Adventurer
Adventurer
1,161 Views
Registered: ‎01-19-2018

HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hello,

WE are using the HDMi 2.0 example design of Rx and Tx on KC705 EV.
It originally whatever format HDMI Rx receives the same is given to the HDMI Tx through SDK.

In our design, RGB2YUV422 converter is added, so now the HDMI Rx reeiving RGB and then process it to YUV_422, then HDMI Tx as usually understands only RGB as HDMI Rx is RGB.


Is there a way to set HDMI Tx to YUV_422 always.

Regards,
Prasanna Daram

Tags (2)
0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
773 Views
Registered: ‎10-04-2017

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @daram123,

 

Let's focus on the HDMI for now. When you switch the HDMI core for MIPI, if you have any issues, please start a new post.

 

To answer your question of:

What happens if you send 8-bit data instead of 12-bit data 4:2:2 to the core?

 

The data will be incorrect as your monitor shows. To fix this, you will need to update the data as shown in the diagram above.  V0:47-36  Y1:35-24 U0:23-12 Y0:11-0 

You will need to take the8 bit color and convert it to 12 bit. I believe this is done by multiplying each 8bit color by 257.

 

Regards,

Sam

 

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
15 Replies
Moderator
Moderator
1,114 Views
Registered: ‎10-04-2017

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @daram123,

 

Is there a way to set HDMI Tx to YUV_422 always?

 

Yes, HDMI core is configured by the Application. Please update your application to only use YUV_422.

If you are using our example design, I believe we have a menu option to update your color space. Please use this as an example.

 

-Sam

 

 

 

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
Adventurer
Adventurer
1,088 Views
Registered: ‎01-19-2018

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

@samkYes, thanks for letting me know.


Could you refer to the application code .?

Regards,
Prasanna Daram

0 Kudos
Moderator
Moderator
1,076 Views
Registered: ‎10-04-2017

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @daram123,

 

The steps to generate the example design are listed in chapter 5 of both PG235 and PG236. This will generate our example application. Please run this and see the menu option for selecting specific color spaces. 

 

This will give you an example of how to edit your application. 

 

Regards,

Sam

 

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
Adventurer
Adventurer
1,057 Views
Registered: ‎01-19-2018

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

@samk


These are the registers i set to 2 which is YUV_422 . such that all the time Write register takes 2 (XVIDC_CSF_YCRCB_422).


void XV_HdmiTx_SetColorFormat(XV_HdmiTx *InstancePtr)
{
    u32 RegValue;

    /* Verify argument. */
    Xil_AssertVoid(InstancePtr != NULL);

    /* Mask PIO Out Mask register */
    XV_HdmiTx_WriteReg(InstancePtr->Config.BaseAddress,
        (XV_HDMITX_PIO_OUT_MSK_OFFSET),
        (XV_HDMITX_PIO_OUT_COLOR_SPACE_MASK));

    /* Check for color format */
    switch (InstancePtr->Stream.Video.ColorFormatId) {
        case (XVIDC_CSF_YCRCB_444):
            RegValue = 2;
            break;

        case (XVIDC_CSF_YCRCB_422):
            RegValue = 2;
            break;

        case (XVIDC_CSF_YCRCB_420):
            RegValue = 2;
            break;

        default:
            RegValue = 2;
            break;
    }

    /* Write color space into PIO Out register */
    XV_HdmiTx_WriteReg(InstancePtr->Config.BaseAddress,
        (XV_HDMITX_PIO_OUT_OFFSET),
        (RegValue << (XV_HDMITX_PIO_OUT_COLOR_SPACE_SHIFT)));
}

 

 

Could you confirm the setup ..

Regards,
Prasanna Daram

0 Kudos
Moderator
Moderator
1,029 Views
Registered: ‎10-04-2017

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @daram123,

 

A few notes:

 

1. We do not support editing the drivers themselves.

2. This should be a change made from the Application level. 

 

Moving forward:

 

I am not sure that this will work. I believe in the example design that we use UpdateColorFormat to change the stream format, so editing SetColorFormat will not affect.

 

Take a look at UpdateColorFormat which calls EnableColorBar which then sets the ColorFormat from the driver level using the XV_HdmiTxSs_SetStream function.

 

In your design, you will need to use XV_HdmiTxSs_SetStream to define your stream parameters for the TX subsystem. And if you are using our design as an example, you will need to make sure that EnableColorBar and UpdateColorFormat work for your system. If not, please remove/edit/update them to work for your use-case.

 

-Sam

 

 

 

u32 XV_HdmiTxSs_SetStream(XV_HdmiTxSs *InstancePtr,
    XVidC_VideoMode VideoMode,
    XVidC_ColorFormat ColorFormat,
    XVidC_ColorDepth Bpc,
    XVidC_3DInfo *Info3D);

 

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
Scholar watari
Scholar
1,024 Views
Registered: ‎06-16-2013

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @daram123 and @samk

 

I'm propably sure that there are different point of your observation viewpoint and it seems as below.

 

@daram123 supposed

need to change register setting to support YUV422 in HDMI Tx IP.

So he already mentioned and showed source code for register setting.

 

@samksupposed

need to change video format information at VIDEO SPECIFIC INFOFRAME in HDMI protocol.

So he already mendtioned and showed source code for video streaming.

 

In this case, I'm propably sure that it should be required their modifications to improve compatibility for HDMI sink.

So, would you try them ?

If my understaing is correct, it migh be fine...

 

Best regards,

Adventurer
Adventurer
1,012 Views
Registered: ‎01-19-2018

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

@samkHi @watari
Both of it i have done..I could observe neat display for a YUV_422 Source.. On the other hand,  source RGB the display is not colorful as it is for YUV_422..

Setting the registers and SET_STREAM would both be the important..

Regards,
Prasanna Daram

0 Kudos
Moderator
Moderator
959 Views
Registered: ‎10-04-2017

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @watari,

 

Thank you for your input. I may be mistaken on the issue.

 

@daram123,

 

Can you let us know what point your design is at and if you still have an issue related to converting the stream to YUV_422?

 

If you still have an issue with the conversion, please let us know and re-state the question.

 

If you have a new or separate issue, please start a new thread so that the community has a chance to answer it properly!

 

Thank you,

Sam

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
0 Kudos
Adventurer
Adventurer
831 Views
Registered: ‎01-19-2018

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

What is the input format to YUV 422 ,..

If the data we send is received in V0Y1U0Y0 still we dont see colors on the color bar..

Thank you in advance..
Regards.
Prasanna Daram

YUV422inputOutputpattern.JPG
0 Kudos
Moderator
Moderator
819 Views
Registered: ‎10-04-2017

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @daram123,

 

Can you explain your question/issue further?

 

1. The original question was about what you needed to do so that the HDMI TX core is always set to YUV4:2:2.

2. Are you not receiving any data from the HDMI TX core?

3. Are there errors being reported from the HDMI TX core?

4. Can you explain the picture that you included? What is it supposed to look like? Do you have the correct output for reference?

 

 

Thank you,

Sam

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
0 Kudos
Scholar watari
Scholar
809 Views
Registered: ‎06-16-2013

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @daram123

 

Can you confirm infoframe at Dell Monitor ?

If yes, would you make sure it?

 

Also, it seems incensentice issue by mismatch between video signal format, infoframe and recognition of monitor.

So, I suggest to use color bar and ramp pattern to make sure them, too.

 

*)

I know some monitors can view infoframe on OSD.

 

Best regards,

Adventurer
Adventurer
794 Views
Registered: ‎01-19-2018

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Can you explain your question/issue further?

1. The original question was about what you needed to do so that the HDMI TX core is always set to YUV4:2:2.

Through the HDMI Tx driver core is set to YUV_4:2:2

2. Are you not receiving any data from the HDMI TX core?

HDMI Tx core receivers data. The RGB2YUV IP we designed leaves the data to HDMI TX in V0Y1U0Y0

3. Are there errors being reported from the HDMI TX core?

None

4. Can you explain the picture that you included? What is it supposed to look like? Do you have the correct output for reference?

 The picture i sent is the output of HDMI Tx with different colors out of the 8 colors we have seen in color bar,, while the input to the HDMI Tx is  VoY1UoYo. we verified the input to the HDMI Tx in the format V0Y1U0Y0 and the first color it is still not white.

Regards,
Prasann Daram

0 Kudos
Moderator
Moderator
784 Views
Registered: ‎10-04-2017

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

HI @daram123,

 

I am assuming that you are using AXI4-Stream interface.

 

From the HDMI TX SubSystem spec PG235 here is the format for YUV4:2:2 12 bit.

2018-11-02 09_35_50-Greenshot.png

 

For your first color, you are expecting white. White in YUV is  Y = 1. 

 

The best way to debug this is to put an ILA into your design and inspect the first pixels of each line in the stream to verify that their values are correct and in the correct order.

 

Also as a note make sure that you are using 12-bits per pixel.

 

From PG235 as well:

2018-11-02 09_41_15-Greenshot.png

 

Regards,

Sam

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub
0 Kudos
Adventurer
Adventurer
754 Views
Registered: ‎01-19-2018

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

@samkValues are correct in the correct order of 8-bit for 12-bit. What will happen because of this?
RGB 888 is converted to YUV_422 8-bit. This we want to send YUV_422 8-bit to MIPI CSI-2 Tx (Data type=0x1E).

We wanted to see the ouput of the RGB to YUV 8-bit conversion on HDMI. 8-bit is given to HDMI Tx instead of 12-bit.

Regards,
Prasanna Kumar Daram

0 Kudos
Moderator
Moderator
774 Views
Registered: ‎10-04-2017

Re: HDMI2.0 exdes Rx Tx - Kc705

Jump to solution

Hi @daram123,

 

Let's focus on the HDMI for now. When you switch the HDMI core for MIPI, if you have any issues, please start a new post.

 

To answer your question of:

What happens if you send 8-bit data instead of 12-bit data 4:2:2 to the core?

 

The data will be incorrect as your monitor shows. To fix this, you will need to update the data as shown in the diagram above.  V0:47-36  Y1:35-24 U0:23-12 Y0:11-0 

You will need to take the8 bit color and convert it to 12 bit. I believe this is done by multiplying each 8bit color by 257.

 

Regards,

Sam

 

 

Don't forget to reply, kudo, and accept as solution.

Xilinx Video Design Hub