View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
SamuriHL
17th May 2011, 13:58
Yes, just use the dtsdecoderdll.dll with LAV Audio and let it decode the Dolby formats itself. Best of all worlds. No more hacking anything.
mkanet
17th May 2011, 14:02
Thanks.. I'll try it out for sure.
Yes, just use the dtsdecoderdll.dll with LAV Audio and let it decode the Dolby formats itself. Best of all worlds. No more hacking anything.
SamuriHL
17th May 2011, 14:06
Basically just drop the dll in the LAV Audio folder and set LAV Audio to decode everything. Done.
CruNcher
17th May 2011, 14:10
Yes, just use the dtsdecoderdll.dll with LAV Audio and let it decode the Dolby formats itself. Best of all worlds. No more hacking anything.
Yep the other stuff is more performant (or as good) via ffmpeg and libav anyways only DTS-HD MA was lacking and some error resilience for latm ;)
andyvt
17th May 2011, 14:11
@nevcairiel - can you make a tray icon for LAV CUVID and LAV Filters? I mainly used WMP12 for movies and music, I just want to make sure if they're being used when playing audio/videos. Thanks.
If you do implement this feature please make it optional.
Carpo
17th May 2011, 14:51
Lav Audio + Arcsoft is working a treat here, the dtsma is streaming as normal dts, as my receiver cant handle HD Audio, can anyone suggest a replacement for a Z5500 setup? So i might be able to enjoy full HD Audio :)
SamuriHL
17th May 2011, 14:53
I took my 5500 speakers, replaced the sub, and added a Pio 820-k for my bedroom. :) Works awesome. IOW, just get a receiver and a new sub and use the 5500's speakers and you're good.
dbone1026
17th May 2011, 14:54
Lav Audio + Arcsoft is working a treat here, the dtsma is streaming as normal dts, as my receiver cant handle HD Audio, can anyone suggest a replacement for a Z5500 setup? So i might be able to enjoy full HD Audio :)
Onkyo 608, great price, HDMI 1.4
Andy o
17th May 2011, 15:01
You might wanna run some tone sweeps (foobar2000 or Audacity can generate them), cause those small satellites match with the sub pretty high up, probably higher than 200Hz. The DTS sample I posted (http://forum.doom9.org/showthread.php?p=1501399#post1501399) before has pink noise (for checking tone issues between channels) and a sweep that starts around 200Hz, but the sweep is only for the LFE channel. Some standalone subs don't go that high up.
Boltron
17th May 2011, 15:06
Quick question WRT to bitstreaming.
Dolby and DTS stuff all bitstream great with LAV Splitter/Audio. MKV's with PCM however don't. Is this normal?
I use latest MPC-HC, LAV Splitter/Audio, madVR, ATI 5670 HDMI. I use MKVs exclusively.
Thanks.
Andy o
17th May 2011, 15:09
What do you mean with "bitstream" PCM? Do you need your channels to switch automatically (e.g. 7.1 to 5.1, etc)? If so, use ReClock and WASAPI mode.
SamuriHL
17th May 2011, 15:09
You might wanna run some tone sweeps (foobar2000 or Audacity can generate them), cause those small satellites match with the sub pretty high up, probably higher than 200Hz. The DTS sample I posted (http://forum.doom9.org/showthread.php?p=1501399#post1501399) before has pink noise (for checking tone issues between channels) and a sweep that starts around 200Hz, but the sweep is only for the LFE channel. Some standalone subs don't go that high up.
If this is directed at me, I'm not terribly concerned. I mean, we're talking about my bedroom setup. The fact that I have a receiver and 5.1 surround in there at all is pretty sick. :D But it's nice for watching movies at night. I don't expect it to match my living room setup. :)
SamuriHL
17th May 2011, 15:12
Quick question WRT to bitstreaming.
Dolby and DTS stuff all bitstream great with LAV Splitter/Audio. MKV's with PCM however don't. Is this normal?
I use latest MPC-HC, LAV Splitter/Audio, madVR, ATI 5670 HDMI. I use MKVs exclusively.
Thanks.
If by bitstream PCM you mean exclusive mode, then you're correct. PCM is sent through Windows Audio. However, that depends on your audio renderer not the decoder, so, you need an audio renderer that can use exclusive mode to bypass the Windows Audio settings. ReClock is one such audio renderer.
PS: What audio formats will LAV audio decoder allow Arcsoft audio decoder to use? Is it just limited to DTS-MA?
LAV is happy pumping out DTS 96/24 as well using the Arcsoft Decoder. If the status tab shows 24bit int for the decode/output, you are utilising the Arcsoft Decoder. 32bit float means ffmpeg
nevcairiel
17th May 2011, 15:53
All DTS formats will be decoded by the ArcSoft decoder if its installed.
CruNcher
17th May 2011, 16:04
Hi Andy,
I have great news. I know we've had our differences in the past; however, I was hoping we can call it truce and try to repair our relationship by extending an olive branch... offering a pre-release MpegDemux.ax which sounds like you may be very interested in. This build is only hours old. I was given permission to share this demux for people who needed it. I've been working directly with the developer at sageTV who appears to be responsible for all code changes made to MpegDemux.ax. This demux should hopefully be included in the next sageTV beta.
This pre-release version of sageTV demux is now fullly compatible with Arcsoft Audio Decode HD (full support for DTS-MA/TrueHD decoding without a hitch). In addition to that, it now also supports LAV Audio Decoder's TrueHD. If you have the arcsoft audio decoder package installed, all you have to do it tell sageTV to enable HD audio support and specify a single audio decoder: Arcsoft Audio HD. If you dont have arcsoft, you can at least have TrueHD audio decoding via LAV Audio decoder. My sageTV client has it's internal demuxing off; everything but bluray audio formats (and I think TV).
You might have noticed an earlier post from me today playing back a sample 7.1/96khz m2ts file directly in sageTV.
I got the same result no matter which container I used . I also had the same results with DTS-MA. Of course, it also works just as great with blu-ray discs/iso's as well on on my extender.
Here's the file:
http://hotfile.com/dl/117954203/045f397/MpegDeMux.zip
I've only tested this with TMT3 standalone decoder package (doesn't require to install the entire player just to be able to have access to the audio filter... only a small change in the Windows win.ini file:
1) Open up C:\Windows\win.ini in notepad.
2) Add the following text to the end:
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\ArcSoft\MPEG Codec\Decoder Setting\]
AudioOutputMode=6
AudioDynamicRange=1
3) Change the numbers to match the settings you prefer.
Code:
AudioDynamicRange:
0: Light
1: Normal
2: Threaded
AudioOutputMode:
0,1,2,5: Stereo
6,13: 5.1 Channels
17: 7.1 Channels
16: S/PDIF
Sincerely,
MKANET
As expected the splitter works fine @ seeking but it fails on some of the more (exotic) .ts so in those regards it's no competition (Mainconcept Demuxer code based) ;)
clsid
17th May 2011, 17:07
When you implement channel downmixing, can you add an option to boost the volume of the center channel?
A common problem with downmixing 5.1 AC3 (and probably other formats as well) to stereo is that the volume level of the sounds that originate from the center channel (typically voices) are way too low compared to the volume levels of the sounds coming from other channels.
nevcairiel
17th May 2011, 17:12
If possible, i would ask the decoder to downmix AC3, as it usually carrys special matrix information how to downmix into stereo.
Anyhow, i won't be doing downmixing yet, i rather work on improving sound quality, rather then destroying it.
Boltron
17th May 2011, 17:45
If by bitstream PCM you mean exclusive mode, then you're correct. PCM is sent through Windows Audio. However, that depends on your audio renderer not the decoder, so, you need an audio renderer that can use exclusive mode to bypass the Windows Audio settings. ReClock is one such audio renderer.
Ah, I will try it with ReClock then. Thank you.
mkanet
17th May 2011, 18:02
Hi Nav, I think I must be missing something very fundamental here; or maybe not doing something right. I just tried testing LAV splitter/ LAV audio (version .26) with dtsdecoderdll.dll for the first time. For some reason I only see the new DTS, DTS-HD under SPDIF/HDMI. I dont see them under "Formats" section. I have no problems making a filtergraph for TrueHD, AC3, and everything else in the "Formats" section of the LAV audio filter prop screens. But I can't use LAV audio filter for DTS-MA.
I've been using Arcsoft Audio Decoder HD (ASAudioHD.ax) using the other method with win.ini to decode all possible audio formats (including dolby digital plus) at 24 bit/48kz (and above) to my 5.1 analog speakers.
Thanks,
-MKANET
Andy o
17th May 2011, 18:10
If "dca" is enabled in the LAV Audio options and the Arcsoft dll is in the LAV folder, then it should be working. You can double check in the LAV Audio status tab. It should say "dts" or some variant depending of the audio of course. If it says "dca" then it's not using Arcsoft.
Gleb Egorych
17th May 2011, 18:21
I play mostly hd mkv-files with dts sound or dolby digital. The resampeling to 48Khz in ffdshow seems like a nice postproccessing feture that should give audio a boost.
I think for the purposes there is no point to switch from ffdshow to LAV Audio.
Resampling itself does not improve audio quality, in some cases it helps to workaround bugs in audio drivers or hardware.
mkanet
17th May 2011, 18:27
Thanks, its now able to decode. In Win.ini, I used to set speaker output to 5.1. IIRC, Nav mentioned that Win.ini isn't necessary anymore. How do I set speaker configuration to 5.1 then? Also, is there an option for Dolby digital plus decoding? I have all the checkboxes now selected under formats. No big deal if its not supported, just curious, since that format is also supported under Arcsoft Audio Decoder HD.
If "dca" is enabled in the LAV Audio options and the Arcsoft dll is in the LAV folder, then it should be working. You can double check in the LAV Audio status tab. It should say "dts" or some variant depending of the audio of course. If it says "dca" then it's not using Arcsoft.
SamuriHL
17th May 2011, 18:30
Thanks, its now able to decode. In Win.ini, I used to set speaker output to 5.1. IIRC, Nav mentioned that Win.ini isn't necessary anymore. How do I set speaker configuration to 5.1 then? Also, is there an option for Dolby digital plus decoding? I have all the checkboxes now selected under formats. No big deal if its not supported, just curious, since that format is also supported under Arcsoft Audio Decoder HD.
You can add ffdshow audio processor to downmix to 5.1. Don't confuse decoding with playing, as there is a marked difference between the two. You WANT the full number of channels decoded properly. Then you want to downmix that to whatever number of channels you want. I recommend NOT allowing windows audio to do that. You could force it through ReClock and have it handle it for you. Use ReClock as the audio renderer and then you can set it for 5.1.
mkanet
17th May 2011, 18:53
Hmm... I thought that arcsoft audio decoder did the downmixing (set in win.ini)... originally a registry setting for the TMT player) in addition to decoding audio.
[HKEY_LOCAL_MACHINE\SOFTWARE\ArcSoft\MPEG Codec\Decoder Setting\]
AudioOutputMode=13
AudioDynamicRange=1
I already use reclock WASAPI. It seems like one of the other dlls in the arcsoft codec folder might be handling the downmixing part.
You can add ffdshow audio processor to downmix to 5.1. Don't confuse decoding with playing, as there is a marked difference between the two. You WANT the full number of channels decoded properly. Then you want to downmix that to whatever number of channels you want. I recommend NOT allowing windows audio to do that. You could force it through ReClock and have it handle it for you. Use ReClock as the audio renderer and then you can set it for 5.1.
SamuriHL
17th May 2011, 19:02
Hmm... I thought that arcsoft audio decoder did the downmixing (set in win.ini)... originally a registry setting for the TMT player) in addition to decoding audio.
[HKEY_LOCAL_MACHINE\SOFTWARE\ArcSoft\MPEG Codec\Decoder Setting\]
AudioOutputMode=13
AudioDynamicRange=1
I already use reclock WASAPI. It seems like one of the other dlls in the arcsoft codec folder might be handling the downmixing part.
You can allow the ArcSoft decoder to do the downmixing using the settings you're referring to. I don't agree that it's the right thing to do, however. I think it really belongs to post processing or the renderer to do the downmixing. Decoding, in my mind, should always JUST decode. And provide post processing and/or the renderer with unaltered, decoded audio. Period. That's just my opinion and is what LAV Audio currently does.
nevcairiel
17th May 2011, 19:07
The ArcSoft DirectShow component controlled the downmixing. Those settings have no effect on LAV Audio.
Andy o
17th May 2011, 19:23
Thanks, its now able to decode. In Win.ini, I used to set speaker output to 5.1. IIRC, Nav mentioned that Win.ini isn't necessary anymore. How do I set speaker configuration to 5.1 then? Also, is there an option for Dolby digital plus decoding? I have all the checkboxes now selected under formats. No big deal if its not supported, just curious, since that format is also supported under Arcsoft Audio Decoder HD.
If the content is 5.1, you'll get 5.1 out of the Arcsoft decoder, and for stereo you'll get stereo. The "7.1" setting is for max channels, but it doesn't always output 7.1. It works that way with TMT3 too, actually, and I presume TMT5 as well.
For actual 7.1 content, you can downmix either with Windows (when you set the mixer to 5.1) or with your receiver. The Windows mixer allows to even set 2 "virtual" surround backs, so you can do that, which is better than just setting it to 5.1.
Mercury_22
17th May 2011, 19:25
When you implement channel downmixing, can you add an option to boost the volume of the center channel?
A common problem with downmixing 5.1 AC3 (and probably other formats as well) to stereo is that the volume level of the sounds that originate from the center channel (typically voices) are way too low compared to the volume levels of the sounds coming from other channels.
+1 but for all channels (volume controls for each channel like in FFDshow)
Andy o
17th May 2011, 19:26
You can allow the ArcSoft decoder to do the downmixing using the settings you're referring to. I don't agree that it's the right thing to do, however. I think it really belongs to post processing or the renderer to do the downmixing. Decoding, in my mind, should always JUST decode. And provide post processing and/or the renderer with unaltered, decoded audio. Period. That's just my opinion and is what LAV Audio currently does.
There are metadata for proper downmixing in the DTS and Dolby codecs though, and once you've already decoded, it would be hard for the post-processor or renderer to downmix as the encoder intended. I don't see real-world problems with just letting Windows downmix though, but then you have to ditch WASAPI exclusive.
mindbomb
17th May 2011, 19:34
question, perhaps slightly off topic since it's likely an arcsoft issue, but do you guys notice that with the arcsoft dll, for anything outside of 6 channels, it can intelligently choose the sample format, but for 6 channels, it always uses 24 bit pcm?
is there a a technical explanation for that?
Nev, with some more general use of 0.26 I find that in general the new AV sync option for AC3 bitstreaming causes sync issues. I think DTS is ok, but haven't done much checking on that one.
SamuriHL
17th May 2011, 20:12
There are metadata for proper downmixing in the DTS and Dolby codecs though, and once you've already decoded, it would be hard for the post-processor or renderer to downmix as the encoder intended. I don't see real-world problems with just letting Windows downmix though, but then you have to ditch WASAPI exclusive.
Yea, I guess I see your point. Windows Audio, however? Not a chance in hell in my setup. I don't trust it. Plus it'll upsample (I would hope! ;)) the audio because you'll at least want it set to 96/24. So a 48/16 native track like Kill Bill would get upsampled to 96/24. Not such a bad thing as it's really just padding, but, unnecessary IMO. Personally in my setup I just decode the audio with the correct number of channels and then let my Pio deal with it. :)
nevcairiel
17th May 2011, 20:14
Nev, with some more general use of 0.26 I find that in general the new AV sync option for AC3 bitstreaming causes sync issues. I think DTS is ok, but haven't done much checking on that one.
So when turning it off, you think its better?
If so, then its all in your mind, AC3 is perfectly packed into all containers, the sync option will not affect it at all, unless there is an actual sync problem.
I have not seen a single AC3 file that had any jitter whatsoever, so there is no chance the sync option gets confused (unless you have a special file again). The only possibility would be that my duration calculations for AC3 bitstreaming are wrong, but that would show no matter if the sync option is on or not (same problem DTS suffered from on your special file, but maybe not so severe)
AC3 is really one of the easiest formats to get right, especially because everyone knows how to mux it perfectly, so i don't see any margin for error there.
I should really figure out a way for you to produce debug logs. Every action the AV sync option takes is output there, if it does anything at all.
Andy o
17th May 2011, 20:18
Yea, I guess I see your point. Windows Audio, however? Not a chance in hell in my setup. I don't trust it. Plus it'll upsample (I would hope! ;)) the audio because you'll at least want it set to 96/24. So a 48/16 native track like Kill Bill would get upsampled to 96/24. Not such a bad thing as it's really just padding, but, unnecessary IMO. Personally in my setup I just decode the audio with the correct number of channels and then let my Pio deal with it. :)
The Pioneers have a similar "virtual" back channel option than what I mentioned about the Windows mixer, and I would use it if I only ran 5.1 channels. I see Windows's mixer getting a bad rap almost everywhere, but really, I haven't seen much evidence of it messing up anything substantial. Resampling (changing sample rate) is not just padding though, but again, haven't seen evidence that Windows's resampling is bad at all. I don't think it's that hard to do good resampling these days anyway, and even then, you can resample with ReClock to whatever Windows is set at, and it won't do again even if not using WASAPI exclusive.
My main reason not to use it is the channel switching, but that's more of a problem when you're running 7.1 channels. If I was using just 5.1 I'd probably be happy with DirectSound.
So when turning it off, you think its better?
If so, then its all in your mind, AC3 is perfectly packed into all containers, the sync option will not affect it at all, unless there is an actual sync problem.
I have not seen a single AC3 file that had any jitter whatsoever, so there is no chance the sync option gets confused (unless you have a special file again). The only possibility would be that my duration calculations for AC3 bitstreaming are wrong, but that would show no matter if the sync option is on or not (same problem DTS suffered from on your special file, but maybe not so severe)
Yep, for me bitstream with it off is the same as decoded with it on, I find it quite clear that the sync is bit off with it on when bitstreaming. If I had to guess I would put it at around 400ms.
Edit: I have VS installed, so just let me know on what debugging or whatever you need me to do :)
Andy o
17th May 2011, 20:26
question, perhaps slightly off topic since it's likely an arcsoft issue, but do you guys notice that with the arcsoft dll, for anything outside of 6 channels, it can intelligently choose the sample format, but for 6 channels, it always uses 24 bit pcm?
is there a a technical explanation for that?
I don't know why, might be a harmless bug, but I can confirm it, at least with 5.1 vs 7.1 16-bit content.
SamuriHL
17th May 2011, 20:29
The Pioneers have a similar "virtual" back channel option than what I mentioned about the Windows mixer, and I would use it if I only ran 5.1 channels. I see Windows's mixer getting a bad rap almost everywhere, but really, I haven't seen much evidence of it messing up anything substantial. Resampling (changing sample rate) is not just padding though, but again, haven't seen evidence that Windows's resampling is bad at all. I don't think it's that hard to do good resampling these days anyway, and even then, you can resample with ReClock to whatever Windows is set at, and it won't do again even if not using WASAPI exclusive.
My main reason not to use it is the channel switching, but that's more of a problem when you're running 7.1 channels. If I was using just 5.1 I'd probably be happy with DirectSound.
I have a bad taste in my mouth when it comes to Windows Audio. Probably because I suffered through TMT3's evolution of decoding. And have seen numerous problems with PDVD's channel mapping over the years, as well. Is that a Windows Audio problem? Not entirely, but, it certainly didn't help matters. For me I want it simple...decode audio, send decoded audio *AS IS* to the receiver. I trust my Pio. I don't trust Windows. That's why I've preferred bitstreaming all these past few years. However, I'm ok with decoding if I can get the decoded PCM to the receiver untouched. For that I need exclusive mode. ReClock is working well for that right now and MC16 is something I need to test more. In any case, I'm good. :)
nevcairiel
17th May 2011, 20:29
Yep, for me bitstream with it off is the same as decoded with it on, I find it quite clear that the sync is bit off with it on when bitstreaming. If I had to guess I would put it at around 400ms.
Like i said, i don't think thats possible, unless you have some kind of broken file that i have not encountered before.
The A/V sync option is not constantly adjusting things, its just monitoring, and keeping track of things. If it sees a drift in timestamps, it'll adjust. But it really has to go bad for that to happen.
Maybe i should've named it differently, so peoples minds dont directly associate it with any sync issues they think to see. Its a funny thing, really. To a certain degree, if you think there are issues, you'll see issues.
Does it happen for all AC3 files?
You're compiling now, right?
You can launch MPC-HC from within Visual Studio, and get me a debug log.
- Set workspace profile to debug
- Set LAV Audio as startup project (right click on it in the solution explorer)
- Open LAV Audio project properties, in the Debugging tab (under Configuration Properties), set the MPC-HC executable as "Command"
Remember to register the output file with regsvr32 first, don't move it, it has to stay in the output folder (bin_Win32d)
Launch, open file, watch the Output box. All the thread infos and dll loading messages you can ignore, but during playback LAV Audio will say something like "Jitter Stats: min: 0 - max: 0 - avg: 0", 0's everwhere are perfect.
If the A/V sync option does somethign, it'll say "::Deliver(): corrected A/V sync by <number>"
Look for those.
Ok I will do that and let you know.
With the sync at 1st its always ok, but at some stage it does seem to change, its not a drifting sync. I will watch something with it on and keep my eye on the debugging to see if the event you mentioned shows.
nevcairiel
17th May 2011, 20:45
I'll try to get soem debug file logging going.
Here is the debug log http://www.mediafire.com/?y96sec6k4p9pbgw
There weren't any AV sync messaged you asked to look out for, maybe that log will prove it my mind playing tricks on me or there is a possible issue :)
Surprised I got it going without much effort :p
nevcairiel
17th May 2011, 21:26
Yeah that looks perfect, jitter is constantly 0, no A/V sync messages. No other warnings or errors.
The A/V sync option has no influence whatsoever in that log, and from what i can see, sync should just be perfect.
I guessed as much, maybe the file is just bit bad or my mind is playing ticks on me.
nevcairiel
17th May 2011, 21:31
If its just the file, it doesn't make sense that toggling the option changes anything ;)
lol fine, then it must be me :p
assassinhtpc
17th May 2011, 21:44
Any issues with live tv files?
nevcairiel
17th May 2011, 22:02
For the future, i just added debug logging into a file to LAV Splitter and LAV Audio. Both will dump their log into LAVAudio.txt and LAVSplitter.txt respectively, on your Desktop. Of course only when running debug builds, but no longer required to run it from a debugger or anything like that.
I'll be supplying debug versions of those two dlls with the next release as well then.
PS: The log files will be truncated every launch, so only one run will be shown in there. But at least the files don't grow excessively. ;)
Cool, at least I got to play with debugging in VS before you made it nice and easy.
Is there any negative aspect to run the debug builds most of the time?
glorp
17th May 2011, 23:10
I apologize if this is a known problem but the thread is long and the changes are fast :)
I have a couple of mkv files with a 768k DTS 1.0 (core only no -HD MA) stream in them (old ~1968-1970 films that originally had mono PCM audio). These DTS audio streams don't decode with LAV Audio on PC with a 2.0 speaker system. I can bitstream it with LAV Audio on a different PC that goes to a receiver with 5.1 configuration. I can decode the DTS 1.0 stream to the 2.0 speakers when I use MPC's internal DTS codec or AC3Filter just fine, but it's a total no-go with LAV. MPC just hangs and never starts playing the file at all. Interestingly the Arcsoft decoder from TMT2 (1.1.0.8) can't handle it either. At least when I try to decode the stream to PCM or wav with eac3to, it throws an error and quits.
So is this just me or is it a bug?
Oh, and stellar job on the filters in general. Incredible effort.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.