- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am trying to encode DX11 render target with MFX Encoder and my doubt is, can I feed it directly with MFX_FOURCC_RGB4 or do I have to pass it through VPP to convert to NV12?
Becouse now get no error when setting it up this way and pushing frames in this format but i get 41 bytes constant frame sizes even when i move the image so i guess it is reading empty frames.
Thanks and best regards,
- Tags:
- Development Tools
- Graphics
- Intel® Media SDK
- Intel® Media Server Studio
- Media Processing
- Optimization
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Ivan,
Yes, if you want to use our hardware encoder, you have to convert the raw video input to NV12. But if you use software encoder, you might use the other format but I have to check which format we support.
Also see the following document for reference:
https://github.com/Intel-Media-SDK/MediaSDK/blob/master/doc/samples/readme-encode_linux.pdf
It requires input of YUV420 or NV12.
Mark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The answer above from Intel does not seem to be accurate. NV12 input is supported in all versions of the MSDK, however recent versions or platforms received capability for internal conversion, so that clients could feed MFX_FOURCC_RGB4 directly without VPP.
I don't see this change documented in revision history, I believe it's been changed since around version 1.15. And this post suggests it depends not on version but rather on platform.
It's not only MFX_FOURCC_RGB4 support was added, it's also MFX_FOURCC_YUY2 and in most recent versions it is further extended to offer MFX_FOURCC_BGR4 as well.
Unfortunately there is no clear way to discover the capabilities. Both NVIDIA and AMD in their similar APIs offer much more friendly ways to query the environment for availability of certain capabilities. With Intel MSDK I seem to need to set up the context and attempt to initialize it in order to identify whether specific mode of operation is supported or not.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you so much for the answers! I suspect this support has been added also as it does not say nothing about input parameters being wrong.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page