A program to decode h264 video format with DirectX Video Acceleration 2, from scratch, using mp4 file with Avcc format. Movie atoms, Nal Unit, DXVA2, Mediafoundation, IDirectXVideoDecoder, IDirectXVideoProcessor.
This program parses mp4 file (avcc/avc1 format only), then parses NAL Unit, decodes slices using IDirectXVideoDecoder, then display pictures using IDirectXVideoProcessor. This program just uses Microsoft Windows SDK for Windows 7, visual studio community 2017, Mediafoundation API and C++ (optional Directx SDK (june 2010)). You need at minimum Windows Seven, and a GPU able to fully hardware decode h264 video format. This program does not implement all h264 features, see limitations below.
If you are not software enginer, or do not want the source code, you can try the executable. Feedbacks are welcome, especially with AMD/ATI GPU cards.
Minimal configuration :
Movie file :
Using the video player :