cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
586 Views
Registered: ‎10-14-2019

Standalone DisplayPort greyscale display not working

Jump to solution

Hello,

I am trying to use the Y only mode for the DP on a ZCU104. I tried a configuration for both graphics and video channel.

Here is the configuration for the non-live video

 

Status = XDpDma_SetVideoFormat(DpDmaPtr, MONOCHROME);
if (Status != XST_SUCCESS) {
return XST_FAILURE;
}
/* Set the format graphics frame for Video Pipeline*/
Status = XAVBuf_SetInputNonLiveVideoFormat(AVBufPtr, MONOCHROME);
if (Status != XST_SUCCESS) {
return XST_FAILURE;
} 

XAVBuf_SetOutputVideoFormat(AVBufPtr, YOnly_8BPC);

XAVBuf_InputVideoSelect(AVBufPtr, XAVBUF_VIDSTREAM1_NONLIVE,
XAVBUF_VIDSTREAM2_NONE);

 

I have a version for the non-live graphics as well where I try BPP8 format , in the corresponding functions

This is how I populate the buffer:

 

u8 *GraphicsOverlay(u8* Frame, Run_Config *RunCfgPtr)
{
	u64 Index;
	u8 *Yonly;
	Yonly = (u8 *) Frame;
	/*
		 * Red at the top half
		 * Alpha = 0x0F
		 * */
	for(Index = 0; Index < (BUFFERSIZE) ; Index ++) {
		Yonly[Index] = (u8)Index;
	}

	return Frame;
}

 

How can I obtain a greyscale display, in each case my screen is purple?

I used the code from here: https://forums.xilinx.com/t5/Video-and-Audio/Displayport-standalone-on-ZCU104/m-p/975064, the RGB example works. 

0 Kudos
1 Solution

Accepted Solutions
thomas66
Observer
Observer
476 Views
Registered: ‎12-05-2009

Hi Szliard,

I tried your code (had to add the xdpdma_interupt.c from the driver example) but did not even get the DP output to work. Which tool version do you use? (I use 2019.2)

I then tried to patch the driver example to grayscale (the default with the green bar on the bottom half of the screnn works) but do get a black screen only.

Just use the RGBA8888 format and set the RGB components to the same value to get gray.

Best Regards,

Thomas

View solution in original post

4 Replies
thomas66
Observer
Observer
545 Views
Registered: ‎12-05-2009

Hi Szilard,

Did you try to keep the output format at RGB?

XAVBuf_SetOutputVideoFormat(AVBufPtr, RGB_8BPC);

Your Monitor is (most likely) RGB and so should the output format, I belief.

If this doesn't work, can you share the source code? (just the .c and .h files from your Vitis/XSDK project)

Best Regards,
Thomas

505 Views
Registered: ‎10-14-2019

Hi Thomas,

This is how my screen looks

Something incremental is happening it is still not greyscale

I attached my source codes, I am trying this on the graphics channel.

Regards,

Szilard

0 Kudos
thomas66
Observer
Observer
477 Views
Registered: ‎12-05-2009

Hi Szliard,

I tried your code (had to add the xdpdma_interupt.c from the driver example) but did not even get the DP output to work. Which tool version do you use? (I use 2019.2)

I then tried to patch the driver example to grayscale (the default with the green bar on the bottom half of the screnn works) but do get a black screen only.

Just use the RGBA8888 format and set the RGB components to the same value to get gray.

Best Regards,

Thomas

View solution in original post

393 Views
Registered: ‎10-14-2019

Hi Thomas,

I was hoping to find a solution to use a single plane, I had the same black screen problem, but I will use then the RGB888 solution. 

Thank you,

Szilard

 

0 Kudos