[Prism] Does emulated DXVA2 and DXVA11 video decoding get ANY hardware acceleration on ARM?

appleton 20 Reputation points
2025-11-03T15:23:51.0566667+00:00

I have an existing win32 app that uses DXVA2 and DXVA11 hardware acceleration to decode H264 and H265 video on Windows 11.

I understand that DXVA2 and DXVA11 should work on Windows on Arm / Qualcomm under the Prism emulator.

However, does this work simply by running the DXVA video decoding effort on the CPU, or does the "emulation" somehow convert the DXVA calls to run the video decoding effort on the ARM GPU which would be a lot faster?

Basically, I'm trying to ascertain if an x64 program using DXVA1/DXVA11, running under emulation on a Qualcomm Arm computer will actually get ANY real hardware acceleration when decoding video.

Windows development | Windows API - Win32
0 comments No comments
{count} votes

Answer accepted by question author
  1. Jay Pham (WICLOUD CORPORATION) 2,495 Reputation points Microsoft External Staff Moderator
    2025-11-04T10:14:40.69+00:00

    Hello ,

    Thank you for your detailed question on Microsoft Q&A. After reviewing your description, I have some information that may help clarify the situation regarding DXVA hardware acceleration on Windows on ARM devices.


    • DXVA, built for x86 with Intel/AMD/NVIDIA GPU drivers, emulates only CPU ops on ARM, without mapping to GPU hardware decoders—leading to software fallback for codecs like H.264/AVC and HEVC/H.265 via Media Foundation/Direct3D, sans native NPU/GPU accel. DXVA 2.0 and Emulation on Arm.
    • In contrast, native ARM apps fully leverage HW accel through D3D11 Video API or MFT, backed by OEM drivers (e.g., Qualcomm Video Codec SDK). Adobe Community - Qualcomm HW Decoding on ARM .
    • Recent Updates: Windows 11 24H2 patches (with AVX/AVX2 in Prism) boost x86 app perf ~10-20% for CPU tasks, yet emulated DXVA HW accel stays static; focus is on native adoption. Source: Windows Latest - AVX/AVX2 in Prism (Oct 2025); Arm Emulation .

    Note: This link is not from an official Microsoft Official. It is provided as a safe reference to help you better understand the issue.


    In order to resolve your issue, I recommend try solution below:

    • Switch to Native APIs: Use Media Foundation (MF) with hardware MFTs or Direct3D 11 Video Decoding to fully leverage ARM GPU. These APIs support HW accel for most common codecs (H.264, HEVC, VP9, AV1) on Windows on ARM without emulation.
    • Check HW Support: Query capabilities at runtime using MFCreateVideoDecoderManager or ID3D11VideoDevice. If it falls back to software, display a user warning ID3D11VideoDevice Interface.
    • Test on Real Hardware: Use tools like Graphics Diagnostics in Visual Studio to profile the decoding path Graphics Diagnostics in Visual Studio<grok-card data-id="59e3db"

    I hope this helps you clarify the issue, and please let me know if you have any further questions.


0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.