I have completed the process of decoding a video frame using FFmpeg. The format of the decoded frame is AV_PIX_FMT_NV12. Now, I want to render this frame to the screen using D3D11. My questions are:
- What is the equivalent concept in D3D11 for a decoded frame? Is it a texture?
- I have seen many solutions that convert NV12 data to RGB, but it seems that DX11 does not require this conversion anymore.
- I just want to display this frame, and since my frame is on the GPU, is there a more convenient way to render directly on the GPU without copying?
Please forgive my not-so-good English. Can anyone provide a reference example?
I have already referenced this open-source project. texthttps://github.com/balapradeepswork/D3D11NV12Rendering/tree/master/D3D11NV12Rendering
But I don’t understand it very well.
Since I don’t use dx11 to make game, just for show video, I am looking forward for a more easy solution. It has worried me for weeks, can anyone give me some advice(even good tutorial, some I can found is too old). Thanks sincerely!
mercuric taylor is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.