View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
Mevunky
18th February 2019, 07:07
I would look at avoiding multi-channel AAC content entirely? It is not a great way to do surround (hence why many receivers don't support it) this would go a long way to solving some of your problems.
el Filou
18th February 2019, 16:50
Why is AAC "not a great way to do surround"? It's certainly higher quality/size than AC3, and fine if you don't use the features associated with Dolby metadata.
raymondjpg
18th February 2019, 23:57
I would look at avoiding multi-channel AAC content entirely? It is not a great way to do surround (hence why many receivers don't support it) this would go a long way to solving some of your problems.
It's not so much a matter of avoiding multi-channel AAC content as coping with it when it does arise. I acknowledge I do not see many examples of multi-channel AAC content, and it is some time since I last saw one.
I don't know why people use it to code media. It may be because source TV material is multi-channel AAC (probably unlikely because there are no AV receivers available to decode it) or because there is an attempt to maximise compression to keep file size to a minimum. In my neck of the woods we only have stereo TV channels and the tendency is to broadcast AC3 on HD channels, although there is some AAC on SD channels. In the past (some time ago) there was experimentation with multi-channel but IIRC it was AC3 audio.
While AC3 Filter and ffdshow still work in Windows 10 my HTPCs can transcode PCM decoded from all AAC formats by LAV filters, and given that bitstreaming with external LAV filters doesn't work for me in Windows 10, directing AC3Filter to be used for AC3 and DTS, and specifying those formats for bitstreaming in AC3 Filter, overcomes that obstacle.
I'd be more concerned that AC3 Filter and ffdshow might cease to work in future builds of Windows 10. I have no basis for that concern, but neither application has seen any development since 2012.
arrgh
19th February 2019, 23:09
@raymondjpg
I use a lot AAC5.1 in mkv, because it gives indeed a lot quality/size... for me it is the "HEVC for Audio"...
unfortunately I can not find an AV receiver which can decode it (at least I found nothing confirmed; on top of it, some say that this can not work, since HDMI is not specified to work with AAC);
since my old receiver requires DTS or DD (PCM maxed at 2 CH), I'm in a catch...
luckily MPC-BE's internal Audiorenderer is able to transcode AAC5.1 to AC3 on the fly; even on my small machine I have no (detectable) delay (very likely at the price of some additional quality loss)...
in any case, I hope MPC-BE will not drop this feature !
raymondjpg
19th February 2019, 23:23
luckily MPC-BE's internal Audiorenderer is able to transcode AAC5.1 to AC3 on the fly; even on my small machine I have no (detectable) delay (very likely at the price of some additional quality loss)...
in any case, I hope MPC-BE will not drop this feature !
I did not know that. I'll take another look at MPC-BE, but I've not been able so far to find a colour balance output from MPC-BE that I like the look of.
Aleksoid1978
19th February 2019, 23:44
luckily MPC-BE's internal Audiorenderer is able to transcode AAC5.1 to AC3 on the fly
Not Audio Renderer - Audio Decoder :)
arrgh
20th February 2019, 00:08
Not Audio Renderer - Audio Decoder :)
sorry, it's late...:o
@raymondjpg
at the moment my setup in MPC-BE is :
- external LAV-Splitter
- external LAV-Video-Decoder
- internal MPC-BE Audio-Decoder
- external subtitle renderer (I hope this time it's correct) XySubFilter
- external video renderer madVR
raymondjpg
20th February 2019, 22:56
@raymondjpg
at the moment my setup in MPC-BE is :
- external LAV-Splitter
- external LAV-Video-Decoder
- internal MPC-BE Audio-Decoder
- external subtitle renderer (I hope this time it's correct) XySubFilter
- external video renderer madVR
That combination is working well for me, except I am quite happy to use the internal sbtitle renderer.
Thanks for bringing it to my attention.
el Filou
21st February 2019, 18:08
@nevcairiel Would it be possible to add an option to the Mixing feature like 'only mix if less than 5 channels' ?
Explanation: I don't bitstream, and sometimes I encounter sources that need to be modified to output them in LPCM over my HDMI which only accepts 2.0, 5.1, and 7.1 (no idea if it's a limitation of the AVR, the HDMI standard, Windows, or NVIDIA :(). Now, LAV has specific options to handle 1.0 > 2.0 and 6.1 > 7.1 and also an option to convert the rest to 5.1 by adding silent channels, but for cases like these:
- 4.0 L C R BC
- 4.0 L R SL SR
- 3.0 (or 3.1) L C R (LFE) (just encountered such a track on the Shin Godzilla Blu-ray which prompted me to ask)
-- so basically anything that is more than 2.0 but less than 5.0/5.1 -- I prefer to downmix them to 2.0 and then use PLII(x) in my receiver to upmix back rather than add silent channels because that doesn't sound as immersive.
An option 'only mix if less than 5 channels' would be great: LAV could then be configured to mix all those cases to 2.0 but not touch 5.1/6.1/7.1.
Thanks a lot if this sounds reasonable to you.
PS: maybe someone is going to answer that I could just enable mixing to 5.1/7.1 and check 'don't mix stereo sources', but I tried it and it doesn't apply PLII(x) decoding when doing that which I would like.
ryrynz
21st February 2019, 20:34
That sounds like a really great feature. Nice one.
nevcairiel
21st February 2019, 20:57
I'm not sure I agree its that great. There is so many corner cases where I don't see how some algorithm to create surround can be better then keeping the surround sound.
For example:
- 4.0 L C R BC
All this is missing is a LFE, otherwise it could nicely fill a 5.1 if you map the back-center to the surround channel.
- 4.0 L R SL SR
This already has dedicated surround channel, but no center. A center is IMHO not that crucial if your speakers are setup for a proper stereo image.
Honestly outside of special cases like 2.1 or 3.0 which barely have any channel beyond stereo, I'm not sure I see it.
Sunspark
22nd February 2019, 03:37
In my case, I have a challenge with downmixing. My system is a 2.1 which I've had a long time. It's a good one, and I can only hear in 1 ear anyway so I haven't felt the need for anything with more channels.
Windows is set to stereo, and it comes out of the 3.5mm jack to the subwoofer, which then feeds the satellites. The sub has its own % dial, and the satellites are the volume control. I leave windows set at 67% volume because the output is not digital, though the player itself internally is set for 100%.
The problem is, even with MPC-HC set to exclusive mode and LAV downmixing to stereo, source material using 6 channel E-AC3, specifically L R C LFE Ls Rs which gets downmixed to 2.0, I am finding that a lot of dialogue, etc is too quiet or it feels like it has flat spots in the audio. I attempt to compensate for it by turning normalize on in the MPC-HC audio switcher options to 400% which helps make speech louder.
I just wonder if there's something I should try differently or if this is something LAV could do differently. I know MPC-HC in the audio switcher has an option which I've never tried, "enable custom channel mapping" for a # of input channels and you can place checks for a dizzying variety of positions but the MPC-HC programmer wrote years ago that this function should not be used for downmixing, and to do the downmixing in the decoder..
I find that source material which originates as stereo has louder and clearer speech than the 6-channel downmix to 2.0 equivalent in LAV.
Not expecting anything, just wondering if anything can potentially be downmixed differently whether via a different filter or some other method. Thanks!
nevcairiel
22nd February 2019, 08:22
If you're using LAV to downmix to stereo, you can try increasing the center mix level, thats what usually contains the dialogue.
I would recommend 1.0 at first, and see how it sounds, and maybe a bit higher from there.
Siso
22nd February 2019, 09:46
If you're using LAV to downmix to stereo, you can try increasing the center mix level, thats what usually contains the dialogue.
I would recommend 1.0 at first, and see how it sounds, and maybe a bit higher from there.
What about LFE when downmixing to stereo, it is set to 0, should we increase it?
nevcairiel
22nd February 2019, 09:48
Its personal preference, and depending on the frequency response of your stereo speakers.
Siso
22nd February 2019, 10:04
Its personal preference, and depending on the frequency response of your stereo speakers.
I see, thank you.
el Filou
22nd February 2019, 16:30
Ah yes, I understand that it would only be useful for a limited number of quite rare sources. No worries, I can still enable mixing manually of course.
Just one question about your advice:- 4.0 L C R BC
All this is missing is a LFE, otherwise it could nicely fill a 5.1 if you map the back-center to the surround channel.Would it be such a good idea in practice to do that? I feel like it would create a weird surround effect (my system is actually 6.1 btw). Or am I missing some information here and a 4.0 layout like this was actually meant to be reproduced on 2 or 3 surround speakers and not just a single back center? IIRC this was the popular surround layout before digital discrete 5.1 (I only ever see such tracks on DVDs of 80s movies whose original audio wasn't remastered), and I have no idea how they were doing things.
I need to make some multichannel wav files manually and compare PLII downmix with silent channels when I have the time one day.
clsid
22nd February 2019, 22:08
GCC 8.3 has been released.
LigH
22nd February 2019, 23:55
Not yet available in MSYS2, I believe...
clsid
23rd February 2019, 13:43
Nev makes his own mingw64 GCC (http://files.1f0.de/mingw/) builds. Several devs here use those.
nevcairiel
27th February 2019, 11:53
I saw that they released it, and I've updated my toolchain to it.
arrgh
28th February 2019, 23:23
@nevcairiel
by the way, the link to the 3D plugin on page 1 is still pointing to the old 2.7....
nevcairiel
28th February 2019, 23:40
The links will be updated when a new release is available that uses the new version.
Grimsdyke
1st March 2019, 14:00
And do I really have to install both Splitter and 'Splitter Source" ? What's the difference between these two ?
I need to 'bump' this because I noticed another problem !
Film: JUSTICE LEAGUE (German UHD)
MPC-BE with LAV filters
Playback hung every time in the same place. So first measure was to carefully clean the disc to remove dust or whatever.
But the problem was still there.
Now I thought that the disc was defective but to my surprise VLC played it without any problems !!
So I blocked 'LAV SPLITTER' in BE and now the movie plays fine !! Nev, do I loose anything if I keep 'LAV splitter' blocked ??
el Filou
1st March 2019, 14:27
If you search the thread you'll find posts by nev explaining the difference: splitter source opens the file itself to read from it and demux, while splitter only demuxes the data it receives from the system file reader filter ("file source async") that is used to read the raw data from media.
Grimsdyke
1st March 2019, 19:07
O.K., but why are 'Splitter' and 'Splitter Source' messing things up during playback ??
el Filou
1st March 2019, 23:23
No idea.
I think nevcairiel has said that Splitter Source is 'the old way' to read files, but at least in my experience it's more stable.
On my system I had to force use of LAV Splitter Source with MediaPortal because otherwise it would sometimes crash to desktop when using File Source Async + LAV Splitter when starting playback of files.
Hi all.
With LAV Filters 0.73.1.19-git madVR's ivtc algorithm stopped working on 29.970 video.
huhn
4th March 2019, 17:15
can you try 0.73.1.28?
if this still doesn't work i will try to reproduce it. still don't even see a new way how lav filter can stop madVR from running IVTC.
so just to be sure it doesn't work with native decoder it needs copyback or software decoding.
can you try 0.73.1.28?
if this still doesn't work i will try to reproduce it. still don't even see a new way how lav filter can stop madVR from running IVTC.
so just to be sure it doesn't work with native decoder it needs copyback or software decoding.
Of course. Same issue.
ivtc (https://drive.google.com/open?id=1udbk5XXf41qQI1grOVayNdtvV7VYVQuq)
no ivtc (https://drive.google.com/open?id=1_058WtRFVc55_3E21tSOGhZEYm3cP_gR)
huhn
4th March 2019, 18:45
IVTC is not supposed to be used after YADIF it's supposed to replace it.
use it on interlaced telecine streams not deinterlaced streams.
IVTC is not supposed to be used after YADIF it's supposed to replace it.
Will be the same. Checked.
sneaker_ger
4th March 2019, 18:58
I don't really understand. madvr's IVTC has to be enabled manually, does it not? LAV doesn't detect telecining.
And why are the colors in the screenshots different?
madvr's IVTC has to be enabled manually, does it not?
And why are the colors in the screenshots different?
Yep. Force film mode enabled.
Ask AMD. Screenshot 1 - 19.1.1 Radeon software, 2 - 19.2.3. This is all the difference.
el Filou
5th March 2019, 01:20
I don't have any NTSC material to test but with my PAL film material madVR's IVTC still works with LAV 0.73.1-28 and detects 2:2 cadence.
I don't have any NTSC material to test but with my PAL film material madVR's IVTC still works with LAV 0.73.1-28 and detects 2:2 cadence.
You can download it from here (https://drive.google.com/open?id=1-7H1JQDt8s-Qz0yzVKfpjVDh9kMzZbnn) (1GB) or here (https://drive.google.com/open?id=12fV82W-HG74WlbER6X10l6z8mmhEE9Eq).
Megalith
5th March 2019, 18:59
Is it normal that LAV Audio isn't activated for LPCM surround tracks?
nevcairiel
5th March 2019, 19:19
If its used or not is ultimately up to the player. But if it uses standard graph building rules, then it'll only insert filters if it actually needs them. And if the audio is already PCM, then it doesn't need a decoder.
el Filou
5th March 2019, 20:37
You can download it from here (https://drive.google.com/open?id=1-7H1JQDt8s-Qz0yzVKfpjVDh9kMzZbnn) (1GB) or here (https://drive.google.com/open?id=12fV82W-HG74WlbER6X10l6z8mmhEE9Eq).LAV outputs the stream as progressive, that's why (if you set LAV Deinterlacing Mode to Force, madVR's ivtc kicks in and detects 4:2:2:2 cadence).
Maybe an ffmpeg update caused this?
nevcairiel
5th March 2019, 20:43
As far as I can tell, that stream is actually progressive. MediaInfo also agrees.
huhn
6th March 2019, 00:08
the file is 4:2:2:2 as said before and madVR can't frame time correct this so everything is working as intended here.
el Filou
6th March 2019, 12:15
Have a look at DMU's screenshots again: with 0.73.1, madVR's (forced) film mode worked and detected the 4:2:2:2 cadence, and with 0.73.1-19 and later it doesn't.
Edit: sorry, I think I misunderstood, did you mean that madVR can detect a 4:2:2:2 cadence, but not decimate it to 2:2:2:2 ?
Edit 2: based on this entry in madVR's changelog, it should work:v0.87.15:
* fixed: #201: decimation didn't work with 4:2:2:2 cadenceOf course. Same issue.
ivtc (https://drive.google.com/open?id=1udbk5XXf41qQI1grOVayNdtvV7VYVQuq)
no ivtc (https://drive.google.com/open?id=1_058WtRFVc55_3E21tSOGhZEYm3cP_gR)So if this behaviour is expected as LAV output is progressive, it means there was a bug previously in LAV that outputted this stream as interlaced and it was fixed?
@DMU if this stays as it is now, maybe try and ask madshi to implement progressive cadence detection and decimation?
Or switch LAV manually to Force interlaced output when you play such a DVD, this allows madVR's film mode to work again.
nevcairiel
6th March 2019, 12:54
You can also press Ctrl-Alt-Shift-T a few times to ensure madVR treats it as film content and applies IVTC. I don't see anything wrong with how LAV outputs that video.
IVTC in madVR is never fully automatic.
huhn
6th March 2019, 15:23
4:2:2:2 is not frame time corrected which makes it not 100 % reliable unlike 3:2.
http://bugs.madshi.net/view.php?id=201
you are just wasting your time at 60hz.
madVR will always try to IVTC if it is setup to do so and if the file is interlaced.
so the only "issue" here is if the file is supposed to be interlaced or not.
Have a look at DMU's screenshots again: with 0.73.1, madVR's (forced) film mode worked and detected the 4:2:2:2 cadence, and with 0.73.1-19 and later it doesn't.
Edit: sorry, I think I misunderstood, did you mean that madVR can detect a 4:2:2:2 cadence, but not decimate it to 2:2:2:2 ?
Can decimate, as u can see: screenshot (https://drive.google.com/open?id=1N9x79HUAW2Fu-EjQF-IuGSeDxjgrBBQc)
Edit 2: based on this entry in madVR's changelog, it should work
Yep, it work.
So if this behaviour is expected as LAV output is progressive, it means there was a bug previously in LAV that outputted this stream as interlaced and it was fixed?
I think yes.
@DMU if this stays as it is now, maybe try and ask madshi to implement progressive cadence detection and decimation?
It would be cool, but my english is not very good. I do not know if he will understand me.
Or switch LAV manually to Force interlaced output when you play such a DVD, this allows madVR's film mode to work again.
This is not a good way to use permanently :(
mzso
12th March 2019, 13:49
Hello!
It seems I can't play UT-Video YUV files. MPV plays the files just fine. LAV does not load for this in MPC-HC. (And the system decoder only produces black)
I tried this format only, but I expect other won't play as well, there are a lot of UT variants now:
Video
ID : 1
Format : V_MS/VFW/FOURCC / ULH4
Codec ID : V_MS/VFW/FOURCC / ULH4
Duration : 59 s 702 ms
Bit rate : 216 Mb/s
Width : 1 600 pixels
Height : 1 200 pixels
Display aspect ratio : 4:3
Frame rate mode : Variable
Color space : YUV
Stream size : 1.50 GiB (98%)
Writing library : Lavc58.43.101 utvideo
Language : English
Default : Yes
Forced : No
Color range : Full
Color primaries : BT.709
Matrix coefficients : BT.709
nevcairiel
12th March 2019, 14:58
LAV Video supports UtVideo, however they keep adding more and more types that are all more or less the same thing, so its hard to keep up.
I've added more types just now that ffmpeg seems to know about, including ULH4.
mzso
12th March 2019, 19:12
LAV Video supports UtVideo, however they keep adding more and more types that are all more or less the same thing, so its hard to keep up.
I've added more types just now that ffmpeg seems to know about, including ULH4.
Yep, the list (http://umezawa.dyndns.info/archive/utvideo/utvideo-20.2.0-readme.en.html) is pretty extensive, I count seventeen. Not sure if ffmpeg works with all though.
Taurus
12th March 2019, 20:08
I've added more types just now that ffmpeg seems to know about, including ULH4.
Thank you :thanks:
nevcairiel
12th March 2019, 22:45
Yep, the list (http://umezawa.dyndns.info/archive/utvideo/utvideo-20.2.0-readme.en.html) is pretty extensive, I count seventeen. Not sure if ffmpeg works with all though.
I think the UtVideo Pro formats may not be supported (yet), but all others I added today I believe
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.