none
Microsoft H265 Video Decoder MFT missing after Windows Fall Creators Update

    Question

  • After I updated my pc with the Windows 10 Fall Creators Update, I no longer see the Microsoft H265 Video Decoder MFT when I run dxdiag.exe.

    When I try to run SetCurrentMediaType for my IMFSourceReader, it returns MF_E_INVALIDMEDIATYPE since the update.

    Friday, October 27, 2017 3:16 PM

All replies

  • There is a trail of issues related to H265 decoder (and the update specifically), I believe Microsoft have to invest some effort from their side to make the thing stable and behaving itself in a predictable way.

    I would suggest that you update the video adapter drivers first (and maybe also re-register the MFT DLL afterwards?) because one of the problems with the decoder is that it has its fallback to software mode broken, and as a result problems in lower level video driver, which does or does not hardware H265 via DXVA, might have effect on MFT operation overall.


    http://alax.info/blog/tag/directshow

    Friday, October 27, 2017 3:27 PM
  • Which MFT DLL would you recommend re-registering?

    I am running fast-ring, and don't even have the HEVC decoder any longer, assuming it still has the same name.

    Friday, November 10, 2017 7:02 PM
  • The DLL in question is mshevcdec.dll.

    Woth last Windows 10 update (Fall Creators Update AKA RedStone 3, Version 1709, Build 10.0.16299) the DLL and respective functionality is somehow completely lost. I think this is the question of the topic in first place and I hope someone from Microsoft is going to come here to comment.


    <a href="http://alax.info/blog/tag/directshow">http://alax.info/blog/tag/directshow</a>

    Saturday, November 11, 2017 11:31 AM
  • OK, the codec is present as stock TV & Movies player still plays H.265 content.

    Presumably, the codec is moved to hevcdecoder_store.dll distributed with HEVC Video Extension.

    The change does not seem to be reflected in documentation or even quick comment. Moreover it looks like it does not event work/install well as I, for once, have 32-bit environment broken: for whatever reason it appears to apply 64-bit decoder and fails.

    The way I see it, the decoder will still be available as an MFT. This might be a new implementation for the decoder and older hevcdecoder.dll is retired. We might not even have a comment on this from MSFT as they might see it from their side so that older HEVC decoder was a pre-release thing with limited support, and proper made apps would pick the decoder via MFT mapper/enumeration anyway so this new replacing change should be transparent.


    <a href="http://alax.info/blog/tag/directshow">http://alax.info/blog/tag/directshow</a>

    Monday, November 13, 2017 11:09 AM
  • I have had that download installed already.

    I searched for the hevcdecoder_store.dll, and found 2 copies

    C:\Program Files\WindowsApps\Microsoft.HEVCVideoExtension_1.0.2512.0_x64__8wekyb3d8bbwe\x86

    C:\Program Files\WindowsApps\Microsoft.HEVCVideoExtension_1.0.2512.0_x64__8wekyb3d8bbwe\x64

    But it still doesn't show up under dxvachecker.

    I cant just regsvr32 them either.

    Monday, November 13, 2017 5:05 PM
  • Even though COM servers are often re-registerable with regsvr32, this is not mandatory.

    The decoder is installed, and if registered otherwise, it's picked by Media Foundation. I have it working (just 64-bit version though) and I suppose yours is good as well.

    To check it out you should be using Topoedit or Movies and TV player.

    You should also be able to see it by enumerating MFTs programmatically.

    I am not sure what is wrong with DXVAChecker but it's output is apparently inaccurate.

    The MFT when I enumerate it:

    HEVCVideoExtension

    12 Attributes:

    • MF_TRANSFORM_FLAGS_Attribute: MFT_ENUM_FLAG_SYNCMFT
    • MFT_INPUT_TYPES_Attributes: MFVideoFormat_HEVC, MFVideoFormat_HEVC_ES
    • MFT_OUTPUT_TYPES_Attributes: MFVideoFormat_NV12, MFVideoFormat_IYUV, MFVideoFormat_420O, MFVideoFormat_P010
    • {3C0FBE52-D034-4115-995D-95B356B9855C}: 1 (Type VT_UI4)
    • {7347C815-79FC-4AD9-877D-ACDF5F46685E}: C:\Program Files\WindowsApps\Microsoft.HEVCVideoExtension_1.0.2512.0_x64__8wekyb3d8bbwe\x64\hevcdecoder_store.dll (Type VT_LPWSTR)
    • {957193AD-9029-4835-A2F2-3EC9AE9BB6C8}: Microsoft.HEVCVideoExtension_1.0.2512.0_x64__8wekyb3d8bbwe (Type VT_LPWSTR)
    • {9D8B61A8-6BC8-4BFF-B31F-3A31060AFA3D}: Microsoft.HEVCVideoExtension_8wekyb3d8bbwe (Type VT_LPWSTR)
    • {BB49BC51-1810-4C3A-A9CF-D59C4E5B9622}: {EB757354-EAF4-4FBA-8735-259811B7133E} (Type VT_CLSID)
    • {DE106D30-42FB-4767-808D-0FCC6811B0B9}: H265Decoder.CH265DecoderTransform (Type VT_LPWSTR)
    • {F9542F80-D069-4EFE-B30D-345536F76AAA}: 0 (Type VT_UI4)

    IMFTransform

    • Stream Limits: Input 1..1, Output 1..1
    • Streams: Input 1, Output 1

    Attributes

    • MF_SA_D3D11_AWARE: 1 (Type VT_UI4)
    • CODECAPI_AVDecVideoThumbnailGenerationMode: 0 (Type VT_UI4)
    • {592A2A5A-E797-491A-9738-C0007BE28C52}: ??? (Type VT_UNKNOWN, 0x0000028BB26A8AD0)
    • CODECAPI_AVDecNumWorkerThreads: 0 (Type VT_UI4)
    • MF_SA_D3D_AWARE: 1 (Type VT_UI4)
    • MF_TRANSFORM_ASYNC: 0 (Type VT_UI4)


    <a href="http://alax.info/blog/tag/directshow">http://alax.info/blog/tag/directshow</a>



    Monday, November 13, 2017 5:18 PM
  • Below is the dump of the transform (not a nicely formatted as yours).

    But 2 things.

    I cant play a basic buck bunny HEVC clip in movies and tv, however I can see thumbnails for it.

    And you can see the results of trying to add it to topoedit.


    Monday, November 13, 2017 7:04 PM
  • FYI one of the problems with H.265 decoder MFT implementation prior to Fall Creators Update was that it could fail to work (and instantiate) with outdated AMD video adapter driver. Upgrade/reinstall could fix the problem. I see yours is AMD, so it's worth trying that as well.

    That is, a part of the problem was that due to some miscommunication to video driver the MFT did not properly fall back to software decoding. Even though this is a newer implementation, chances are high that backend code is the same and inherited earlier issues.


    <a href="http://alax.info/blog/tag/directshow">http://alax.info/blog/tag/directshow</a>


    Monday, November 13, 2017 7:18 PM
  • The DLL in question is mshevcdec.dll.

    Woth last Windows 10 update (Fall Creators Update AKA RedStone 3, Version 1709, Build 10.0.16299) the DLL and respective functionality is somehow completely lost.

    mshevcdec.dll was not removed in Fall Creators Update, cause it is already not present on build 1607 (Anniversary). And

    Windows H265 Video Decoder MFT (420A51A3-D605-430C-B4FC-45274FA6C562) shows up in TopoEdit on build 1607. It is in hevcdecoder.dll,

    did hevcdecoder.dll disappear in Fall Creators Update?

    So that would mean, that the docs on https://msdn.microsoft.com/en-us/library/windows/desktop/mt218785(v=vs.85).aspx are outdated?

    Is CLSID_CMSH265EncoderMFT (f2f84074-8bca-40bd-9159-e880f673dd3b) still declared in wmcodecdsp.h in the latest SDK? 

    I still use  SDK 10.0.15063.0   so I cannot checkout it.    (I did not install any of the Creators Update and not Fall Creators Updates, avoiding such issues). I still use Anniversary Update.

    I think its a similar case as at the h264 MPEG PS issue.

    ______________________________

    Disclaimer: No Warranty. (this is no legal advice)






    Saturday, November 18, 2017 9:19 PM
  • There is no hevcdecoder.dll in Fall Creators Update. I suppose you are correct, mshevcdec to hevcdecoder took place earlier without documentation update.

    CLSID_CMSH265EncoderMFT exists in recent SDK 10.0.16299 and I think it will remain there: the COM class still exists, it is just not available directly - it exists in the new wrapping and with installed extension it is available by means of MFTEnum API.


    http://alax.info/blog/tag/directshow

    Saturday, November 18, 2017 9:37 PM