Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance, and optimization
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
22812 Discussions

Display error with YV12 textures

Vlad_Z_
Beginner
1,108 Views

Hello, 

-----------------------------------------

System Used: N/A
CPU SKU: i5

GPU SKU: HD4600

 

Processor Line: N/A
System BIOS Version: N/A
CMOS settings: N/A
Graphics Driver Version: 10.18.14.4264
GOP/VBIOS Version: N/A
Operating System: windows 
OS Version: 8.1 64bit
API: Directx9
Occurs on non-Intel GPUs?: N/A

Steps to Reproduce:
-------------------------------
1. Create a texture withe the following code: 

g_pd3dDevice->CreateTexture(uintWidth, uintHeight, 1, D3DUSAGE_DYNAMIC, (D3DFORMAT)MAKEFOURCC('Y', 'V', '1', '2'), D3DPOOL_DEFAULT, &g_pTexture, NULL);


2. Copy into the texture(after locking, of course) some raw pixel data:

	D3DLOCKED_RECT d3dlr;
	if (FAILED(g_pTexture->LockRect(0, &d3dlr, 0, D3DLOCK_DISCARD)))
		return;
	
	BYTE *pTxtBuffer; //texture buffer
	pTxtBuffer = static_cast<BYTE *>(d3dlr.pBits);
	
	memcpy(pTxtBuffer, buff, len);

	if (FAILED(g_pTexture->UnlockRect(0)))
		return;


3. Try to render it.
4.
5.
6.
7.
8.
9.
10.

Expected Results:
-------------------------------

The image should display normally.

Actual Results:
-------------------------------

The Y plane seems ok, but the color is red

Additional Information:
-------------------------------

I'm aware that a color conversion is possible, but the d3d documentation states that if a driver accepts the MAKEFOURCC value, which it does, it should work.

screenshot of a comparison is attached. On the left is via a YV12 texture on the right is via directshow graph.


492329

0 Kudos
1 Reply
Michael_C_Intel2
Employee
1,108 Views

Hi Vlad,

We will investigate and see what is going on. We may need some information I will let you know if we do.

-Michael

0 Kudos
Reply