I am using MPC-HC (clsid2 release) to play 7.1.4 Dolby sources pre-decoded by cavernize for now more than one year. I have two cascaded Marian Seraph8 mk2 PCI soundcard in my PC to have 16 analog out, so in theory I can use this system to play 9.1.6 dolby audio streams. Marian has replaced recently the Seraph8 mk2 by the clara A model:
www.marian.de
These cards process internaly 32 audio channels. For the end-user, the only thing different between the Clara A and the Seraph8 mk2 is the external TDM SyncBus that provide 16 channels instead of 8 (x2 if bidir) to exchange data between the cards and synchronize them.
These cards have a multi-client driver that supports ASIO and WDM audio/WASAPI clients in the same session. Thus, in the control pannel of the soundcard n°1, I have defined 12 channels for the multichannels Wdm Audio (channels 17 to 28) to play 7.1.4 audio tracks and MPC-HC is configured to use WASAPI on the wdm audio.
Then, with the mixer of the soundcard n°1, the audio stream generated by MPC-HC is sent to a DAW working in ASIO (in and out) that processes the sound (bass managment, filtering, delay etc.). For this, I use the free version of Usine Hollyhook that is a sort of audio DSP easy to program with a graphical language (it is also a VST host):
Usine Hollyhock, Modular Audio, Light, Video software
www.brainmodular.com
The 12 Usine Out (7.1.4) are dispatched to the two soundcards Analog Out using their routing panels and also the external TDM syncBus. In fact, Usine generates more than 10 outs because I also use it to manage several subwoofers. Of course, the use of Usine is not necessary if no audio post processing is needed or if another approach is used to post process the multichannel wdm.
To play a movie with a 7.1.4 audio track in MPC-HC, I use cavernize to decode the Dolby track in a multichannel wav. Then I compress this wav using either wavpack (lossless) or opus (lossy) to obtain a 12-channel predecoded file (.wv or .opus) and I integrate it in the mkv container with MKVToolNix. MPC-HC is able to play multichannels wavepack or opus tracks with no problem. In order to have a correct matching with the surround speakers when the decoding in Cavernize is set to 5.1.4 instead of 7.1.4, I need to add two empty channels at the right place before the compression with wavpack or opus in order to obtain a "false" 12 channels. ffmpeg is able to do this easily.
Of course, this is a lot a processing (that can be automated) and I am waiting like many a real-time dolby atmos (eac3 and truehd) decoder that can be integrated easily in a player like MPC-HC.
I can provide all my wdm settings (snapshots of the soundcards control pannel and MPC-HC options) to VoidX if he wants to document them on the help of Cavernize. Of course, these settings are dependent of how the driver of these soundcards manages the multichannel wdm.