Zero decoders while enumerating with MFT_ENUM_FLAG_ASYNCMFT flag? RRS feed

  • Question

  • Hi,

    I am trying to enumerate the decoders with MFT_ENUM_FLAG_ASYNCMFT flag in the MFTEnumEx function.But,setting this flag in the MFEnumEx function, does not give us any decoders. The array count is zero with MFT_ENUM_FLAG_ASYNCMFT flag . But, with MFT_ENUM_FLAG_SYNCMFT flag , I get around 9 decoders in the array. So how to get the decoders with the ASYNCH flag as I want to decoding process to be asynchronous?


    I am working on Windows7.Am i missing out something?




    Tuesday, September 6, 2011 10:06 AM

All replies

  • It is quite likely if you have no hardware devices offering hardware-accelerated codecs, there are no async MFTs on your system.  A sync MFT does not necessarily mean that the decoding process is synchronous, it just means that the MFT uses the sync MFT model where sample requests occur in sync with the rest of the pipeline.  Sync MFTs can still buffer samples and process them in parellel, though it is a bit clunky.  The async MFT model is more efficient for MFTs that are heavily parallel, but only the device proxy MFT used for hardware codecs is an async MFT in a default Windows 7 install.
    Thursday, September 29, 2011 12:27 AM
  • Hi All,

    I'm having a similar problem of seeing zero hardware MFTs whereas I'm working on the latest Intel machine (Sandy bridge i7 machine). I strongly feel there's some other reason for H/w MFTs not being enumerated as I feel my GPU supports it.

    Please help!


    Monday, December 5, 2011 6:52 AM