locked
WMP Video DSP Plug-in with HD/H.264 Videos RRS feed

  • Question

  • I am working on developing a Windows Media Player Video DSP Plug-in. On WMP12 / Win7, the plug-in is not pulled-in when playing HD/H.264 videos with systems that have GPU installed while works fine on non-GPU systems. Apparently, this is because of DXVA optimization and when I tried turning DXVA off for WMV HD videos (using WMP option), the plug-in got pulled-in fine like on non-GPU systems.

    However, firstly this option is only limited to WMV and it's not available (except apparently with some possible registry tweaks) for other container types, e.g., MP4. Secondly, ideally I would not want DXVA to be turned-off and if there's something I can do in my MFT to let it work with DXVA, that would be a better option.

    I had been searching the web and looking into the forums but could not find a very exact answer. Please advise me know what options do I have here to allow my plug-in get pulled-in and do its video processing work on these HD/H.264 videos.

    Thanks,
    Shoaib.
    P.S.: My apologies if it's too off-topic here but I couldn't find a better place to post this question. Given that it is implemented as an MFT as well and probably running in MF pipeline on Win7, I hope the experts here can offer me some help, advise or solution to my problem.
    Monday, April 25, 2011 6:52 AM

Answers

  • In order to be pulled into a DXVA-based topology, your DSP also needs to be D3D aware.  This means setting the MF_SA_D3D_AWARE attribute and supporting D3D surface samples for input and output.  See details for D3D awareness here.  Typically you would use the DXVA video processor APIs to interact with the surface.
    Wednesday, June 1, 2011 10:22 PM
  • Right.  DMOs do not support DXVA2, so decoders will run in software mode with the EVR in WMP.
    Wednesday, July 27, 2011 10:19 PM

All replies

  • In order to be pulled into a DXVA-based topology, your DSP also needs to be D3D aware.  This means setting the MF_SA_D3D_AWARE attribute and supporting D3D surface samples for input and output.  See details for D3D awareness here.  Typically you would use the DXVA video processor APIs to interact with the surface.
    Wednesday, June 1, 2011 10:22 PM
  • Thanks Matt. Can you please also confirm my understanding that there is no away to support the same for a DMO based DSP, like it is for an MFT based DSP by setting this MF_SA_D3D_AWARE attribute?

    Thanks,
    Shoaib.

    Saturday, June 18, 2011 3:17 PM
  • Right.  DMOs do not support DXVA2, so decoders will run in software mode with the EVR in WMP.
    Wednesday, July 27, 2011 10:19 PM