Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

Intel MediaSDK MFXVideoEncode::Query Formats



I'm attempting to write an h.264 encoder based on the simple_3_encode_vmem_async sample that can use the WARP feature of DirectX11.1. However, there seems to be a format conflict.

For MFXVideoEncode::Query() to succeed, the following flags need to be set:

m_mfxEncParams.mfx.FrameInfo.FourCC = MFX_FOURCC_NV12;
m_mfxEncParams.mfx.FrameInfo.ChromaFormat = MFX_CHROMAFORMAT_YUV420;

As far as I can tell, any other values cause a return value of MFX_ERR_UNSUPPORTED. Later, when we try to call g_pD3D11Device->CreateTexture2D(&desc, NULL, &pTexture2D);, it fails. Using the D3D11_CREATE_DEVICE_DEBUG flag, we can see an ouput of "ID3D11Device::CreateTexture2D: Invalid format. The format (0x67, NV12) is not supported as a decoder output."

Is there any way to initialize the decoder with other image formats, so that a device of type D3D_DRIVER_TYPE_WARP can create textures?


Thank you.

0 Kudos
0 Replies