View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
zvans18
11th February 2019, 05:26
Hello, sorry if this is the wrong place or asked too much, but after a fresh install of Windows, I have A/V sync drift I'm trying to fix but don't know how. It starts okay, but needs more and more audio delay, ultimately around 500ms of delay by the end of a 45 minute show. This desync doesn't seem to happen when played with latest VLC, but I don't use it much.
--snip--
WOW I was totally wrong. Let one play out and desync very much happens in VLC as well. Disregard, I guess.
Mevunky
11th February 2019, 10:37
Anyone having issues with E-AC3? If I use current versions or even recent versions of LAV I cannot bitstream eac3, however using old versions I have no issues. MPC-HC 1.8.4+ bundled LAV.
sneaker_ger
11th February 2019, 12:28
If I use current versions or even recent versions of LAV I cannot bitstream eac3
What happens if you try? Is there an error message? And you tested the very same file with older version? Try to find the exact version the problem appears.
sneaker_ger
11th February 2019, 12:30
WOW I was totally wrong. Let one play out and desync very much happens in VLC as well. Disregard, I guess.
So the file is broken?
clsid
11th February 2019, 13:37
Just use the previous nightly or release until it is resolved.You probably already know this. But fix is easy. There is just a wrong winver check in dispatcher code. Adjust preprocessor checks around the uses of SetThreadErrorMode (0x0600 > 0x0601) and define in project file _WIN32_WINNT=0x0600.
el Filou
11th February 2019, 19:43
with all HW-Decoders I get a black Screen and a frozen MPC-BE, when I check MVC_hardware DecodingHave you tried other players?I went through all Options in VideoDecoder... with some I get several minutes of smooth playback; then the stuttering starts (also with "None" HW Decoding );
I cycled back to D3D11/native and now for >10min it worked (I stopped then)...Is this on a laptop or NUC? If yes then it may be related to power/thermal throttling. It's weird though that DXVA2 native doesn't work as good as D3D11 native performance wise.
arrgh
11th February 2019, 23:30
No options have any impact on MVC hardware decoding, other then turning it on or off.
And if you don't have stable hw playback at all of normal videos, then trying MVC is probably not of much value.
it's a misunderstanding... regular h264/1080p mkv work ok; also the shut down of MPC-BE via hot-key (alt-x) works; only mvc-mkv cause a hang after alt-x...
anyways, to double check, I reinstalled a system image from 12/2018 which had the December Win updates in it, LAV 73.1, madVR .17 and MPC-BE 4167;
this setup had (of course) also the stuttering in (some of) the 3D files but MPC-BE closed nicely with alt-x from mvc-files... when I upgraded to MPC-BE 4322 it had a hang....
so, sorry for the confusion, but it seems to be a MPC-BE problem which happened somewhere in-between 4167 and 4322...
during this I have "discovered" that MPC-BE offered to download libmfxsw32.dll... so I checked and it seems that there are several versions at large...
when I copied version "8.18.6.8 dated 8.6.18" into the LAV folder, the stuttering seemed to be reduced significantly... only every few minutes there was a short jerk, otherwise it seemed to work "ok" (but also with this the alt-x resulted in a hang)... are we sure that we have already the "perfect/newest" libmfxsw32.dll?
Aleksoid1978
12th February 2019, 02:26
I test latest MPC+BE + LAV on mvc-mkv - all perfect playback. But - i test on software decoding.
zvans18
12th February 2019, 03:24
So the file is broken?
no, files are fine. playback just drifts on my machine for some reason
Mevunky
12th February 2019, 07:05
What happens if you try? Is there an error message? And you tested the very same file with older version? Try to find the exact version the problem appears.
It just passes 2 channel PCM instead of the bitstream when I try. Many files tested, always works on old versions, does not bitstream on new versions.
No errors, just no bitstream but 2 channel PCM instead. I could work through a number of versions to isolate but I presume everyone is having the same issue?
https://github.com/Nevcairiel/LAVFilters/issues/243 - Potentially the same issue.
nevcairiel
12th February 2019, 08:17
are we sure that we have already the "perfect/newest" libmfxsw32.dll?
Use the latest LAV nightly installer, it includes the latest libmfxsw32.dll
Alternatively, you can try these (for 32-bit players):
https://files.1f0.de/lavf/plugins/libmfxsw32-v1.7z
https://files.1f0.de/lavf/plugins/libmfxsw32-v2.7z
https://files.1f0.de/lavf/plugins/libmfxsw32-v3.7z (This is 8.18.6.8, the one the latest LAV nightly comes with)
Aleksoid1978
12th February 2019, 11:19
It just passes 2 channel PCM instead of the bitstream when I try. Many files tested, always works on old versions, does not bitstream on new versions.
No errors, just no bitstream but 2 channel PCM instead. I could work through a number of versions to isolate but I presume everyone is having the same issue?
https://github.com/Nevcairiel/LAVFilters/issues/243 - Potentially the same issue.
Maybe something wrong in detection bitstreaming support.
Check in other decoder/player.
el Filou
12th February 2019, 14:51
It just passes 2 channel PCM instead of the bitstream when I try. Many files tested, always works on old versions, does not bitstream on new versions.
https://github.com/Nevcairiel/LAVFilters/issues/243 - Potentially the same issue.Testing the sample Safari_ Dolby_Digital_Plus.m2ts available in Kodi samples page linked from this URL, bitstreaming works on my system. MPC-HC 1.8.4, Windows 1803, with internal and external LAV 0.73.1, and with various audio renderers.
What are the "old" LAV versions you tested with?
clsid
12th February 2019, 16:14
Check which filters are used by MPC-HC. Bitstreaming doesn't work if you use ffdshow audio processor or AC3Filter.
el Filou
12th February 2019, 16:23
Mevunky says it works when using older versions of LAV though, which is strange and wouldn't point to a filter chain problem.
clsid
12th February 2019, 17:16
Older versions did not have a fallback to normal decoding. So those filters would not connect.
arrgh
12th February 2019, 22:37
Use the latest LAV nightly installer, it includes the latest libmfxsw32.dll
Alternatively, you can try these (for 32-bit players):
...
https://files.1f0.de/lavf/plugins/libmfxsw32-v3.7z (This is 8.18.6.8, the one the latest LAV nightly comes with)
:thanks:
arrgh
12th February 2019, 22:40
I test latest MPC+BE + LAV on mvc-mkv - all perfect playback. But - i test on software decoding.
...my special circumstances are that I have a IGP HD620, not an ATI or Nvidia...
Mevunky
13th February 2019, 07:22
Check which filters are used by MPC-HC. Bitstreaming doesn't work if you use ffdshow audio processor or AC3Filter.
LAV for everything (video, audio, splitter). Apologies on further inspection when it works its because its falling back to the MS DVD audio decoder! MPC-HC 1.7.13, however when using current MPC-HC 1.8.4 it uses LAV for audio but refuses to bitstream the eac3 and drops to stereo PCM.
Oddly in properties the audio stream is displayed incorrectly: Audio: DD+ 48000Hz 6ch 9216kbps (incidently this is the video bitrate not the audio bitrate)
Old LAV shows this correctly: Connection media type: Audio: DD+ 48000Hz 6ch 640kbps
Old LAV being 0.70.2.1-git.
Mevunky
13th February 2019, 07:23
Maybe something wrong in detection bitstreaming support.
Check in other decoder/player.
Other decoders/players all work fine... hmmmm...
ashlar42
13th February 2019, 13:40
Hi, nevcariel, could you have a look at this https://superuser.com/questions/842203/how-to-make-mpc-hc-to-cache-more-aggressively and explain how to properly implement that "hack" in recent versions of LAV?
It mentions MPC-HC in the title but it's all about LAV Splitter in reality.
nevcairiel
13th February 2019, 13:43
Did you look at the LAV settings? You can configure that since forever.
ashlar42
13th February 2019, 13:50
Did you look at the LAV settings? You can configure that since forever.Yeah, I did but maybe I misinterpreted what the hack was saying (and, actually, I asked for an explanation specifically because I did not understand it :)).
So to increase the amount of "read ahead" caching what is the correct way of setting LAV Splitter? Sorry if it's been asked before or it's by now "old knowledge".
Thank you. :)
el Filou
13th February 2019, 14:00
Change the value "Maximum Queue Packets". It's the now-configurable setting that is referenced as a #DEFINE in the discussion from your link
when it works its because its falling back to the MS DVD audio decoder!
Oddly in properties the audio stream is displayed incorrectly: Audio: DD+ 48000Hz 6ch 9216kbps (incidently this is the video bitrate not the audio bitrate)Could you test with this audio-only sample: https://samples.ffmpeg.org/A-codecs/AC3/eac3/matrix2_english_5.1_640.eac3 ?
ashlar42
13th February 2019, 14:17
Change the value "Maximum Queue Packets". It's the now-configurable setting that is referenced as a #DEFINE in the discussion from your link
I'm experimenting with it but it seems that, no matter what I set there, MPC-HC x64 doesn't use more than about 450MB of RAM (I have 32GB). Last attempt had me setting Maximum Queue Memory at 8192 and Maximum Queue Packets at 100,000. And still MPC-HC is using 450MB of RAM.
el Filou
13th February 2019, 14:43
The buffer size reported by MPC on my install does indeed grow when I change that setting in LAV Splitter.
This is with the default 350 packets: https://drive.google.com/open?id=1jQGw49n3onxWFvPk_B1oGqPW-kOyZzq-
And this is with it set to 3500, and the buffer is indeed ~10x bigger: https://drive.google.com/open?id=1F94WF0dVZzs_qiVWkLoTLVZaTzIuf3ao
Does that value change on your install when you change settings in LAV Splitter?
(Edit: when I set the values to 1024 MB/700000 packets, the private working set size of MPC grows to 1,3 GB of RAM, so it is working as intended)
clsid
13th February 2019, 14:54
It isn't a file buffer. It is a decoding buffer. So if decoding is relatively slow, then it will take longer to fill the buffer. Try pausing and it should keep growing. It works correctly here. You may need to use larger packet value.
@Mevunky
If older version fall back to using MS decoder it means bitstreaming failed then as well.
If you are using S/PDIF then you should only enable AC3 and DTS. Other formats require HDMI.
If even plain AC3 and DTS are not working then you need to select correct audio device in output settings of MPC-HC.
el Filou
13th February 2019, 15:28
From what I understand, Mevunsky is saying that when it falls back to MS Decoder it does bitstream successfully? :confused:
Is it possible that the MS Decoder decodes the EAC3 and re-encodes it to basic DD640 to bitstream it? I seem to have read somewhere in a Dolby document that licensed EAC3 decoders can do that.
nevcairiel
13th February 2019, 17:20
It isn't a file buffer. It is a decoding buffer. So if decoding is relatively slow, then it will take longer to fill the buffer. Try pausing and it should keep growing. It works correctly here. You may need to use larger packet value.
Its actually a demuxing buffer, which is pretty close to a file buffer, since demuxing is generally pretty cheap.
mzso
13th February 2019, 18:04
i'm pretty sure your browser is using hardware deinterlancing.
looks like a limitation yadif.
Browser? It was a screencast/recording from SmartDVB. Using Yadif.
The note about google was for the only preview video by google which is de-interlaced and re-encoded. So no deinterlacing by the browser comes into play.
Mevunky
13th February 2019, 21:21
From what I understand, Mevunsky is saying that when it falls back to MS Decoder it does bitstream successfully? :confused:
Is it possible that the MS Decoder decodes the EAC3 and re-encodes it to basic DD640 to bitstream it? I seem to have read somewhere in a Dolby document that licensed EAC3 decoders can do that.
Possible - can I force MPC-HC to use this decoder for EAC3 only? As it does exactly what I need for passing the core stream out of EAC3 but it seems I can only select all DD content in the filters not EAC3 specifically.
Mevunky
13th February 2019, 21:31
@Mevunky
If older version fall back to using MS decoder it means bitstreaming failed then as well.
If you are using S/PDIF then you should only enable AC3 and DTS. Other formats require HDMI.
If even plain AC3 and DTS are not working then you need to select correct audio device in output settings of MPC-HC.
I am using SPDIF however the core stream should work fine over SPDIF, i.e send the core AC3 component as per the DD spec. AC3 and DTS are bitstreaming fine and I can bitstream HD content as it sends the core component over SPDIF as expected.
LAV sends the core DTS/DD streams from DD-HD and DTS-HD via SPDIF, should it not send the core stream in an EAC3 via SPDIF? EAC3 is becoming very popular and some of us have yet to swap to HDMI equipment just yet.
It seems the MS DVD decoder is simply passing the AC3 core via SPDIF as per the DD spec below.
Dolby Doco for reference:
"Is Dolby Digital Plus content backward-compatible?
Because Dolby Digital Plus is built on core Dolby Digital technologies, content that is encoded with Dolby Digital Plus is fully compatible with the millions of existing home theaters and playback systems worldwide equipped for Dolby Digital playback. Dolby Digital Plus soundtracks are easily converted to a 640 kbps Dolby Digital signal without decoding and reencoding, for output via S/PDIF. The 640 kbps bit rate, which is higher than the standard 448 kbps used on DVDs, is fully compatible with all existing Dolby Digital decoding products such as A/V receivers, and can provide higher-than-DVD quality from Dolby Digital Plus soundtracks when played back through existing systems."
el Filou
14th February 2019, 01:10
Ah, I learn new things everyday, I thought there was a need to fully decode and then re-encode to AC3, but it seems they designed E-AC3 to facilitate direct conversion. :)LAV sends the core DTS/DD streams from DD-HD and DTS-HD via SPDIF, should it not send the core stream in an EAC3 via SPDIF?The process is a bit different for all 3 codecs: DTS really is built on a core + the HD coding as an extension depending on it. TrueHD does not really have a 'core AC3' but there's an additional 'companion AC3 track' for every TrueHD track, and both are normally presented as the same audio track and the player will use the AC3 or TrueHD depending on what is supported.
For E-AC3 it seems it's different still: it has neither a core track or a companion track, but the bitstream can apparently be 'repackaged' as AC3 with minimal processing: https://www.dolby.com/us/en/technologies/dolby-digital-plus-audio-coding-tech-paper.pdfBy means of an elegant conversion process, Dolby Digital Plus
bitstreams, regardless of their source bit rate, are repackaged into a
standard Dolby Digital format at 640 kbps. The conversion process does
not decode the signal to PCM and reencode it, therefore avoiding the
introduction of compounding coding artifactsI have no idea how that is done nor how that can be high quality as claimed by Dolby, but it's still processing so the decoder has to do some work, you can't simply use the core track directly like with DTS or the companion track like with TrueHD. (Edit: the paper specifically mentions broadcast in this scenario, so I'm wondering if maybe this would only be possible for E-AC3 streams lower than 640 Kbps, like found on TV or streaming platforms)
Edit 2: my bad, I haven't fully understood read the paper I linked to: apparently on Blu-rays, E-AC3 *is* made up of a core AC3 stream + an E-AC3 extension. It should in theory be possible for LAV to extract the core AC3 to bitstream it over SPDIF (but that would mean an additional step where LAV would have to analyse the E-AC3 stream to determine if it's a broadcast-style pure E-AC3 that needs to be 'repackaged' or a Blu-ray style AC3+E-AC3. :eek:Possible - can I force MPC-HC to use this decoder for EAC3 only? As it does exactly what I need for passing the core stream out of EAC3 but it seems I can only select all DD content in the filters not EAC3 specifically.Possible workaround:
- install external LAV Filters and uncheck E-AC3 in the supported formats
- uncheck the Dolby codecs in Internal Filters of MPC
- Add LAV Audio and MS Audio Decoder to External Filters of MPC, with LAV higher.
Mevunky
14th February 2019, 08:39
Thanks for all the help, I think for this specific purpose the MS DTV-DVD decoder is a great tool for the job of EAC3 > AC3 for old equipment. EAC3 is becoming very popular at the moment, time for a new receiver and bitsreaming over HDMI I guess!
Thanks again to all for the amazing work on LAV and clsid for keeping MPC-HC on life support.
el Filou
14th February 2019, 16:05
Tell me about it, my 2009 Denon won't decode Netflix's Dolby Digital Plus correctly because around 2012 Dolby added completely new coding tools to the format without giving it a new name but assuming manufacturers would update the firmware for all their models (lol) and
so now there's 5/6 years worth of receiver hardware that can't decode that newer version of low bitrate EAC3 without producing massive audio artifacts. :mad:
ashlar42
14th February 2019, 16:59
This is with the default 350 packets: https://drive.google.com/open?id=1jQGw49n3onxWFvPk_B1oGqPW-kOyZzq-
And this is with it set to 3500, and the buffer is indeed ~10x bigger: https://drive.google.com/open?id=1F94WF0dVZzs_qiVWkLoTLVZaTzIuf3ao
Where does this info appear? I've tried both madVR and EVR Enhanced but I don't see it in their respective OSD.
Edit: View/Statistics. Sorry, should have looked better. I thought it was a function of the video renderer or of LAV Filters.
Edit 2: Ok, it appears to work. I've managed to get MPC-HC using 4,8 GB playing from a networked resource and you can skip ahead a lot before network activity resumes, meaning the file is actually being buffered in memory. Thanks for the help everyone.
nevcairiel
15th February 2019, 00:35
you can skip ahead a lot before network activity resumes, meaning the file is actually being buffered in memory. Thanks for the help everyone.
Note that the LAV buffering does not in fact work that way. If you seek (ie. skip ahead), it'll completely drop any buffering and go back to the file to seek in it.
Of course Windows may do buffering on top of that.
raymondjpg
16th February 2019, 06:34
Check which filters are used by MPC-HC. Bitstreaming doesn't work if you use ffdshow audio processor or AC3Filter.
It's been a while since I used Windows 7, and things may have changed with more recent versions of LAV filters, but in Windows 7 with MPC-HC and PotPlayer I have in the past used either ffdshow audio processor or AC3Filter to post-process PCM audio (from decoded AAC) to AC3 on the fly. It worked well and was (at the time) about the only way to reliably process multi-channel AAC. All audio formats specified for bitstreaming in LAV Audio passed through in the correct format to my AV Receiver.
With Windows 10 I have never been able to achieve bitstreaming using LAV filters. I do still use AC3Filter to post-process PCM audio, but in Windows 10 I can only bitstream digital formats by specifying processing through AC3Filter.
Are you saying that LAV filters will successfully bitstream digital formats in Windows 10 if AC3 Filter is uninstalled? If that is the case, then I would need to find some other way to transcode PCM to AC3 on the fly, because so far I have only been able to do that using ffdshow audio processor or AC3Filter.
In case anyone is wondering why I want to transcode PCM to AC3, it is because stereo AC3 can be processed by the AV Receiver as Dolby Prologic II Movie which gives a far superior sound in a 5.1 system than does PCM stereo.
ryrynz
16th February 2019, 11:56
In case anyone is wondering why I want to transcode PCM to AC3, it is because stereo AC3 can be processed by the AV Receiver as Dolby Prologic II Movie which gives a far superior sound in a 5.1 system than does PCM stereo.
I don't get why you're limited to processing AC3 stereo for Dolby Proligic II.. I've been able to set set Prologic II out of any stereo source with every Yamaha amp I've owned that supports it.. :scared:
el Filou
16th February 2019, 13:06
Some (mostly older) receivers have weird processing limitations.
clsid
16th February 2019, 18:29
LAV does not do transcoding.
If you use MPC-HC 1.8.4 with its internal LAV, then you can use LAV to bitstream and ffdshow/AC3Filter for transcoding PCM. It has a workaround to prevent LAV from falling back to normal decoding in that scenario. This does not work with standard builds of LAV.
raymondjpg
16th February 2019, 23:40
LAV does not do transcoding.
If you use MPC-HC 1.8.4 with its internal LAV, then you can use LAV to bitstream and ffdshow/AC3Filter for transcoding PCM. It has a workaround to prevent LAV from falling back to normal decoding in that scenario. This does not work with standard builds of LAV.
Thanks. I'll take a look at MPC-HC 1.8.4, but so far I have not had much success with MPC-HC and Intel Display Audio in Windows 10. Either audio will not play at all, or it does not survive madVR display rate switching. Currently I use PotPlayer and external LAV filters.
I don't get why you're limited to processing AC3 stereo for Dolby Proligic II.. I've been able to set set Prologic II out of any stereo source with every Yamaha amp I've owned that supports it.. :scared:
I'd be interested to hear if you have been able to set your Yamaha receivers to process incoming stereo PCM as Dolby Prologic II.
Some (mostly older) receivers have weird processing limitations.
My Yamaha receiver is a 2012 7.1 model, but I haven't heard of any weird processing limitations with receivers of that vintage.
Mevunky
17th February 2019, 00:31
I'd be interested to hear if you have been able to set your Yamaha receivers to process incoming stereo PCM as Dolby Prologic II.
Every receiver I have ever used has been able to take analog or PCM and apply Prologic since forever, including Yamaha.
Simply use MPC-HC 1.8.4 and output PCM 2.0 and use the receiver to apply Prologic and bitstream the rest. MPC-HC and LAV out of the box are fantastic :)
el Filou
17th February 2019, 01:09
My Yamaha receiver is a 2012 7.1 model, but I haven't heard of any weird processing limitations with receivers of that vintage.Well, that any 2012 receiver wouldn't be able to apply PLII to PCM, to me is weird in itself.
Would you happen to output stereo PCM in 192 kHz by any chance? I seem to remember the documentation for the DSP in my receiver specifying that PLIIx works up to to 96 kHz max.
raymondjpg
17th February 2019, 02:48
LAV does not do transcoding.
If you use MPC-HC 1.8.4 with its internal LAV, then you can use LAV to bitstream and ffdshow/AC3Filter for transcoding PCM. It has a workaround to prevent LAV from falling back to normal decoding in that scenario. This does not work with standard builds of LAV.
I have just tried MPC-HC 1.8.4 with internal LAV and it is certainly as good or better than other recent builds of MPC-HC. Bitstreaming is supported in Windows 10, and the application appears to survive madVR display rate switching when used as an external player in Kodi. Unfortunately there are still audio issues when using MPC-HC 1.8.4 in Emby Theater. When display rate switching, an error pops up complaining (I think) about not being to connect some audio pins. Audio is then absent, but reappears if MPC-HC is closed then started again.
I haven't done enough comprehensive testing to determine if it is the display rate switching, or audio format change, that triggers the error with MPC-HC 1.8.4 in Emby Theater. The error is not evident when using PotPlayer with external LAV filters, so I am sticking with that combination for now.
Every receiver I have ever used has been able to take analog or PCM and apply Prologic since forever, including Yamaha.
I think you have a point, but in my system it only works if I configure Intel Display Audio in Windows as stereo. I can then get sound out of the center speaker as well as L and R. However, if I configure it as 5.1 surround then the signal received by the Yamaha is 3/2/0.1 even when the source is stereo PCM, and I hear no sound from the center speaker. I have seen this issue arise with other media players outputting HDMI sound through AV receivers. The receiver is expecting to receive signal from all channels, and does not apply Prologic II.
Well, that any 2012 receiver wouldn't be able to apply PLII to PCM, to me is weird in itself.
Would you happen to output stereo PCM in 192 kHz by any chance? I seem to remember the documentation for the DSP in my receiver specifying that PLIIx works up to to 96 kHz max.
I always ever output at 48 kHz. With my Yamaha at 2012 vintage I don't think I would get any sound at any other frequency, although I think I have only ever tested it with 44.1 kHz because there are some videos that come with AAC at that frequency.
el Filou
17th February 2019, 04:42
I think you have a point, but in my system it only works if I configure Intel Display Audio in Windows as stereo. I can then get sound out of the center speaker as well as L and R. However, if I configure it as 5.1 surround then the signal received by the Yamaha is 3/2/0.1 even when the source is stereo PCM, and I hear no sound from the center speaker. I have seen this issue arise with other media players outputting HDMI sound through AV receivers. The receiver is expecting to receive signal from all channels, and does not apply Prologic II.Ah yes, I had the same problem as you, it's due to Windows' 'shared mode' (mixer) audio API, which outputs to the number of channels and format configured in the system for the audio interface.
You can work around it by using applications that have an audio renderer that supports 'exclusive mode'. Those can take control of Windows audio and reconfigure the output (channels/format) exactly as they want, to match the source. In MPC the 'Internal Audio Renderer' can do that if you check the Exclusive mode box.
When using that, your receiver won't have to deal with 'silent channels' anymore when playing 2-channel sources (and you'll be able to apply Prologic).
Applications that don't use exclusive mode - like web browsers - will continue to use the number of channels you configured for the shared mode (so on the HTPC I set it to 2-channel so that I can have Prologic with YouTube).
raymondjpg
17th February 2019, 05:52
Ah yes, I had the same problem as you, it's due to Windows' 'shared mode' (mixer) audio API, which outputs to the number of channels and format configured in the system for the audio interface.
You can work around it by using applications that have an audio renderer that supports 'exclusive mode'. Those can take control of Windows audio and reconfigure the output (channels/format) exactly as they want, to match the source. In MPC the 'Internal Audio Renderer' can do that if you check the Exclusive mode box.
When using that, your receiver won't have to deal with 'silent channels' anymore when playing 2-channel sources (and you'll be able to apply Prologic).
Applications that don't use exclusive mode - like web browsers - will continue to use the number of channels you configured for the shared mode (so on the HTPC I set it to 2-channel so that I can have Prologic with YouTube).
Thanks for that tip. I'll certainly try it out, but before that my priority would be to try and work around loss of audio when using MPC-HC and display rate switching with madVR. Otherwise I'm limited to using PotPlayer.
I don't have my HTPCs open ATM but on one of my technical (desktop) PCs running Windows 7, in an earlier build of MPC-HC 64 bit (1.7.15) I was able to set the audio renderer check box for exclusive mode when the audio output was set to Default Direct Sound Device. Would that overcome the 'silent channels' issue, or does the audio output have to be set to Internal Audio Renderer? That would make sense if Windows is still in control of audio with Default Direct Sound Device.
Mevunky
17th February 2019, 06:05
I think you have a point, but in my system it only works if I configure Intel Display Audio in Windows as stereo. I can then get sound out of the center speaker as well as L and R. However, if I configure it as 5.1 surround then the signal received by the Yamaha is 3/2/0.1 even when the source is stereo PCM, and I hear no sound from the center speaker. I have seen this issue arise with other media players outputting HDMI sound through AV receivers. The receiver is expecting to receive signal from all channels, and does not apply Prologic II.
This makes sense, however I see no reason to set Windows to anything other than stereo mode, for proper surround everything is bitstreamed anyway. I have always set all machines to 2.0 as 99% of generic sound content is 2.0 which keeps everything in check and fixes your PL issues - as for the rest its bitstreamed and bypasses the shared mixer anyways. I personally see no upside in setting Windows to anything other than 2.0.
raymondjpg
17th February 2019, 06:29
This makes sense, however I see no reason to set Windows to anything other than stereo mode, for proper surround everything is bitstreamed anyway. I have always set all machines to 2.0 as 99% of generic sound content is 2.0 which keeps everything in check and fixes your PL issues - as for the rest its bitstreamed and bypasses the shared mixer anyways. I personally see no upside in setting Windows to anything other than 2.0.
I'll certainly try setting Windows to stereo mode, but my priority is to try and work around loss of audio when using MPC-HC and display rate switching with madVR. Otherwise I'm limited to using PotPlayer.
The problem I see with setting to stereo is playing back multi-channel AAC. I haven't found an AV receiver yet that will decode AAC sound so the only option is to decode using LAV audio, ffdshow, or AC3 Filter and (if AC3Filter is set for transcoding PCM to AC3) transcoding on the fly. I don't know how Windows and the receiver would cope with multi-channel PCM, if Windows was set to stereo only mode and AC3 Filter (and/or ffdshow) was disabled.
raymondjpg
17th February 2019, 07:55
I had another go at setting MPC-HC 1.8.4 as the external player in Emby Theater, this time with the Exclusive mode checkbox selected under Audio Renderer.
1. With audio output set to Default DirectSound Device, behaviour as before. Sound does not survive madVR refresh rate changing.
2. With audio output set to Internal Audio Renderer, sound does survive madVR refresh rate changing. However, it appears that AC3Filter's automatic association with post-processing MPC-HC sound is lost because stereo PCM (now received at the Yamaha receiver as stereo) was not transcoded to AC3. This would not matter too much if the only PCM we wanted to transcode was stereo. I think it might matter more if we wished to transcode multi-channel PCM.
3. Setting AC3 Filter as a preferred External Filter in MPC-HC, E-AC3 (at least) appeared to be decoded to PCM i.e. no longer bitstreaming as desired.
It may be that I have just not found the correct combination of settings. I may try again, but for now I have returned to PotPlayer and external LAV filters.
Edit: On closer scrutiny, it appears that AC3Filter's automatic association with post-processing MPC-HC sound is NOT lost when audio output set to Internal Audio Renderer, and after madVR refresh rate changing. However, the audio delivered to the AV receiver is PCM sound until video play is stopped then started again. Same with E-AC3. After madVR refresh rate changing, the audio delivered to the AV receiver is PCM sound until video play is stopped then started again.
This is not as bad as no audio after refresh rate changing, but I would still prefer to see the correct audio format delivered to the AV receiver after refresh rate changing.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.