View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
kitame
11th September 2012, 20:12
oh wait, didnt notice you didnt include madvr, although it still does perform horribly =/
edit: also a fair bit of warning, dont feed it interlaced videos. yes it may be able to handle it with some magic but it won't sport dropless playback.
bjd
11th September 2012, 22:01
Just upgraded my laptop to a pentium b970 based one and quicksync decoding in lav is working and cpu usuage is about 40% lower as well as memory usage compared to avcodec software mode. All the documentation says quicksync is disabled on this chip so not why the decoding is working - any ideas please ?
nevcairiel
11th September 2012, 22:02
Just upgraded my laptop to a pentium b970 based one and quicksync decoding in lav is working and cpu usuage is about 40% lower as well as memory usage compared to avcodec software mode. All the documentation says quicksync is disabled on this chip so not why the decoding is working - any ideas please ?
QuickSync encoding is disabled, the decoder is available on all Sandy Bridge CPUs.
bjd
11th September 2012, 22:15
QuickSync encoding is disabled, the decoder is available on all Sandy Bridge CPUs.
Cheers Nev, that is a welcome bonus I was not expecting - works great by the way
mindbomb
12th September 2012, 00:00
i have a question about flac playback for more than 5.1 channels.
specifically, how well does lav audio handle that type of thing. I have heard that flac isn't good for more than 5.1 because of issues with channel mapping.
On the other hand, it is supposed to support up to 8 channels.
I'm wondering if it is a good idea to backup movies with 7.1 or 6.1 lossless audio with flac
kitame
12th September 2012, 02:22
@jq963152 - its about how stressed it is to perform that much to the point of dropping frames if you add in madvr, not that it matters to everyone though.
dansrfe
12th September 2012, 03:00
I'm kind of unsure on how to correctly set the mixing levels of the center, surround, and LFE channels. Are there any general guidelines I should follow? Also, why does LFE go up to 3.0? Does that multiply the volume of the LFE channel by 3?
bugmen0t
12th September 2012, 08:03
The usual way, to make lav sound the same as other players, is to set center = lfe = sqrt(2)/2 = 0.7071 and surround = 1. If your speakers cannot reproduce low bass you maybe want to leave lfe at 0.
Technically the lfe should even get a 10db boost (required by specs) to be loud enough (automatically applied by the receiver when using multi-speaker setup, but not when mixing). That's why nev allowed for higher lfe settings than 1. However when mixing like that one would decrease the overall dynamic range, which is why people don't normally do that.
To put it simple: there is no way to make it sound exactly the same as a multi-speaker setup.
kitame
12th September 2012, 11:03
LFE should be totally negated outside of true multi-channel setups, since LFE signals are already in the left and right channel, most of the LFE sources only has emphasized lower frequencies. even 2.1 setups has crossovers to get their own LFE feeds.
if you do downmix LFE at gains higher than 1 it will overpower the other channels, and mostly causing the outputs to clip.
jmonier
12th September 2012, 13:55
i have a question about flac playback for more than 5.1 channels.
specifically, how well does lav audio handle that type of thing. I have heard that flac isn't good for more than 5.1 because of issues with channel mapping.
On the other hand, it is supposed to support up to 8 channels.
I'm wondering if it is a good idea to backup movies with 7.1 or 6.1 lossless audio with flac
I've specifically checked channel mapping with 7.1 channels and it works fine.
Pat357
12th September 2012, 15:27
Are you sure about that? And if yes, what's the reason for that?
It has certainly been that Nev blocked >1080p playback for native DXVA, and unless he changed it, the block is still there.
The reason is to protect the user when he tries to play such resolutions in dxva using an unsupported video card.
My guess is that the DXVA makes it harder to properly handle errors from unsupported resolutions.
Because: then how are you supposed to play back videos with resolutions beyond 1920x1080 (4K Videos for example) with hardware acceleration :confused:?
What about CUVID and DXVA CB ? You can also try the Arcsoft decoder or Cyberlink in DXVA with MPC-HC.
AFAIK, for these there are no blocks for any resolution IIRC.
In a lot of threads here some users apparently are posting some 4K (3840x2160p) testclips for example. What software do they use to play them back with hardware acceleration?
Like I said CUVID and DXVA CB (some used a modded version from LAV with the blocks for DXVA removed).
CoreAVC can also do this in "cuda" mode (=same as LAV cuvid), maybe Arcsoft decoder or Cyberlink's in DXVA (also with MPC-HC)
DragonQ
12th September 2012, 16:18
A tick box would be OK if it had a little hyperlink next to it leading to a page listing the capabilities of all graphics processors (I think there's one on Wikipedia).
clsid
12th September 2012, 18:06
I would suggest an internal table that contains a list of graphics card device ids plus their capabilities.
The device id could be shown on a status tab (amongst other info).
nevcairiel
12th September 2012, 18:17
I have no interest in maintaining such a table, its a major PITA. I rather make it auto-detect if the GPU accepts a 4K decoder.
Blight
13th September 2012, 01:10
nev:
Now that the Opus format is ratified and gaining traction, an official (non-test) LAV filters version with opus support would be welcomed.
roytam1
13th September 2012, 01:35
@nev: commits are missed in submodules?
Unable to checkout '9e1a5315d9bb5ca6012851fac526ad2e6f612497' in submodule path 'libbluray'
in dvdvideo branch:
Unable to checkout 'e54f1b14c5b4682f6ab2c51e42d99202c537cdd8' in submodule path 'libbluray'
noee
13th September 2012, 02:06
Yeah, I'm getting this too:
2>e:\my docs\projects\lavfilters\libbluray\src\util\mutex.h(24): fatal error C1083: Cannot open include file: 'config.h': No such file or directory
2> hdmv_vm.c
Libbluray and lavsplitter fail to build.
nevcairiel
13th September 2012, 15:03
Speaking about NVIDIA, they also released the GTX650 with GDDR5, which might be a good pick for a HTPC card with some performance headroom. :)
I hope one of the manufacturers produces a good passive version of it. :)
Joniii
13th September 2012, 22:35
Is there any way to get subtitles on Media Center, I noticed those show on MPC-HC even on DXVA but not on WMP or WMC.
kitame
14th September 2012, 12:05
^ i don't even think you can chain LAVs in WMP/WMC, although CCCP could force it to, FFDShow's subs render is the only thing i know of that works with WMP.
ryrynz
14th September 2012, 12:19
Nev, with the mixer enabled duplicating stereo to 7 channels drops the volume down, can I have LAV retain the volume?
nevcairiel
14th September 2012, 12:27
Nev, with the mixer enabled duplicating stereo to 7 channels drops the volume down, can I have LAV retain the volume?
LAV does not support upmixing at this time.
If you play stereo and have 7 channels selected, you just get stereo in the two front channels, and a lot of silent channels. The stereo signal should be untouched.
ryrynz
14th September 2012, 12:40
The stereo signal should be untouched.
Ah, it's the receiver doing that then.
LAV does not support upmixing at this time.
Possible implementation soonish?
nevcairiel
14th September 2012, 12:43
Not sure if it has been posted in here already (?), but just came across the following article:
4k decoding already works just fine on Ivy Bridge, and has for a few month already.
andyvt
14th September 2012, 13:55
And what could the driver update they mentioned for next month be for then :p:confused:?
The driver adds 4K output, current drivers are limited to 1080p when not using DP. Unfortunately IVB will require two DP outs to do this, so the feature is more about press than usefulness.
As you wrote it would already work: could you possibly report about the performance?
What metrics are you interested in? CPU utilization is ~4% on an i7-3770K.
Are maxed out AVC HP@L5.2 "4K" videos with 5 reference frames and 300 Mbps at 60 fps working?
Got a sample?
nevcairiel
14th September 2012, 14:19
crf 0 is lossless, the hardware cannot decode that.
Anyway, please keep stuff about hardware performance and whatnot out of the LAV thread, it adds way too much noise.
Pat357
14th September 2012, 16:24
4k decoding already works just fine on Ivy Bridge, and has for a few month already.
The article is not about decoding, but about getting the decoded frames on a real 4K display.
It seems we still need 2 HDMI or 2 Display Port cables to "drive"a 4k display (IvyB).
Haswell should be able to do this with only 1 HDMI cable or 1 DP cable. (something about fully supporting the HDMI v1.4a spec).
nevcairiel
14th September 2012, 16:28
The article is not about decoding, but about getting the decoded frames on a real 4K display.
It seems we still need 2 HDMI or 2 Display Port cables to "drive"a 4k display (IvyB).
Haswell should be able to do this with only 1 HDMI cable or 1 DP cable. (something about fully supporting the HDMI v1.4a spec).
I know that, i just corrected his mis-interpretation of the article.
pie
15th September 2012, 08:34
One thing about using lavfilters that is a real show stopper for me is that the splitter simply stops playback of audio when the cpu is under high load - I use a pretty old laptop so this becomes annoyingly obvious whenever I'm simultaneously web browsing (or doing anything else that moderately taxes the cpu) and watching a video.
What this equates to is jerky audio (stops and starts), making the video absolutely unwatchable - in this case the Haali splitter handles this much better as the audio generally does not stop at all (although it may lag behind the video; this is actually ok and much more watchable as it is less noticeable; it usually also catches up when the cpu is under less load too)
cyberbeing
15th September 2012, 10:55
One thing about using lavfilters that is a real show stopper for me is that the splitter simply stops playback of audio when the cpu is under high load
...
in this case the Haali splitter handles this much better...
LAV Splitter uses a Base Priority of 7 (Below Normal) for the Audio Decoder.
Web Browsers normally would have a Base Priority of 8 (Normal).
Haali Splitter uses a Base Priority of 9 (Above Normal) for the Audio Decoder.
If you boost the priority of everything through your media player (MPC-HC has a check-box for this), I suspect it would resolve your audio dropouts with LAV Splitter.
nevcairiel
15th September 2012, 11:01
Note that thread priorities are always relative to the process, not the system. If you have performance issues, you might as well try to increase the priority of the whole player.
cyberbeing
15th September 2012, 11:47
Was there a particular reason why LAV Splitter lowers the priority of the audio decoder thread while Haali Splitter, MPC-HC's Splitter, AV Splitter, and others all raise the priority?
nevcairiel
15th September 2012, 11:51
A 20 year old PC could decode audio, so i simply gave priority to video. Once you don't have enough performance to do both, something bad will happen, no matter how its setup.
I could probably remove that code and make it have all the same priority.
PS:
Everyone else doing something in this DirectShow world most likely just means they copied from each other, not that there is a real reason to it. :D
pie
15th September 2012, 13:13
A 20 year old PC could decode audio, so i simply gave priority to video. Once you don't have enough performance to do both, something bad will happen, no matter how its setup.
While it's true that pretty much any PC can decode audio, when you combine it with video and you prioritise audio below video, you're going to notice audio dropping first (when starved of resources) which is arguably bad because audio dropping is more noticeable than video lagging.
It would be good if you did remove the difference in priority ^^ :thanks:
nevcairiel
15th September 2012, 15:41
I asked you before to stop posting about these things here, please take it to a more appropriate place. If you really want to know, buy the hardware and test, instead of posting random quotes from random review pages.
mandarinka
15th September 2012, 20:01
While it's true that pretty much any PC can decode audio, when you combine it with video and you prioritise audio below video, you're going to notice audio dropping first (when starved of resources) which is arguably bad because audio dropping is more noticeable than video lagging.
It would be good if you did remove the difference in priority ^^ :thanks:
That's true - when the audio decoding runs out of cpu cycles, it has very nasty effects - skips, repeated samples, artifacts. It is very unpleasant. On the other hand, a minor slowdown in video decoding won't usually even be noticed. The other splitters using higher priority for audio know what they are doing :)
/Well, they usually come from times when your average cpu didn't have ample performance headroom - I don't mean to bash LAV filters though./
nlnl
17th September 2012, 06:35
nevcairiel
Do you have plans for .ifo support (dvd lists)?
nevcairiel
17th September 2012, 07:07
nevcairiel
Do you have plans for .ifo support (dvd lists)?
I cant say i do.
golagoda
18th September 2012, 06:06
After this commit (http://git.1f0.de/gitweb?p=ffmpeg.git;a=commit;h=2626cc4580bfd560c6983338d77b2c11c16af94f) .srt files inside .mkv files are no longer displayed by vsfilter (including xy-vsfilter) if Lav Splitter is used. It's pretty much pointless and most likely effects other subtitle renderers so it'd probably be good to revert it in the 1f0 repo.
nevcairiel
18th September 2012, 06:33
After this commit (http://git.1f0.de/gitweb?p=ffmpeg.git;a=commit;h=2626cc4580bfd560c6983338d77b2c11c16af94f) .srt files inside .mkv files are no longer displayed by vsfilter (including xy-vsfilter) if Lav Splitter is used. It's pretty much pointless and most likely effects other subtitle renderers so it'd probably be good to revert it in the 1f0 repo.
Why does everyone jump to reverting immediately when something doesn't work?
The commit there is perfectly fine, i just need to map the new codec id to the appropriate DirectShow type, and everything will work just fine again.
I rarely revert a commit, unless its really obvious the commit was wrong. In general, avoiding useless modifications to ffmpeg in my repo is the best course of action - because in the long run, it'll just cause grief to maintain these changes.
Speaking of, i should clean my patches again and submit some to ffmpeg for inclusion.
Anyhow, i'll add the new codec id to lavs subtitle types, and it will work just fine again, no revert required.
kolak
18th September 2012, 15:24
Have an issue with LAV decoder connecting to some Sony decoder in graphstudio- reported size biHeight= -1080 instead of 1080. Decoder is sending v210 format and in case of some other filters all works fine. Any way to fix it? I assume it's Sony decoder what is broken, but some other filters seams to still work fine with it.
dansrfe
18th September 2012, 23:31
@nevcairiel
Feature requests:
-> LAV Decoder checkbox option to crop half of the picture for Full-SBS MKV files which are being played back on a 2D setup. I have a bluray disc from which I made a Full-SBS encode (to future-proof the encode for when MPC, LAV, and madVR get updated to support 3D, which I hop will happen).
Something even better would be something like what ffdshow raw filter has (I use this currently to crop videos) in which there are four text boxes around a rectangle which depicts the sides to crop from. That would be an excellent addition to LAV Decoder even though I realize it is not exactly a "decoder" function. It would help remove the occasional dependency on ffdshow raw that I have to use to crop material before it is sent to the renderer.
-> A tray icon for LAV Filters
hoborg
19th September 2012, 13:32
Hi.
I have just quick question - does Audio delay working even while audio bitstreaming?
nevcairiel
19th September 2012, 13:35
I have just quick question - does Audio delay working even while audio bitstreaming?
It should yes, because it just modifies timestamps, it doesn't actually change the audio.
Blight
19th September 2012, 22:22
Hi nev,
I tested it and LAV supports SHOUTcast streaming, but... How do I get the currently playing title and other dynamic meta-data?
Can you add support for the IAMMediaContent interface?
Or is there another way to get at the meta data?
P.S.
Do you have an ETA for a non-test release? I want to add an OPUS LAV profile to Zoom Player, but there are only test versions supporting it out right now.
nevcairiel
20th September 2012, 08:11
I do not have an ETA, i'm still working on some features i want in the version, but work is going slow due to time constraints.
Blight
23rd September 2012, 16:04
What about the SHOUTcast streaming meta-data?
I'm not sure how ffmpeg parses the meta-data, but it stands to logic it may just mean hooking the IAMMediaContent interface and grabbing it's data from an existing structure.
Mercury_22
23rd September 2012, 19:23
It's just me or... after last libbluray update playing the index.bdmv makes MPC-HC crash but playing the m2ts file it's working OK ?
Sebastiii
23rd September 2012, 20:42
Why does everyone jump to reverting immediately when something doesn't work?
The commit there is perfectly fine, i just need to map the new codec id to the appropriate DirectShow type, and everything will work just fine again.
I rarely revert a commit, unless its really obvious the commit was wrong. In general, avoiding useless modifications to ffmpeg in my repo is the best course of action - because in the long run, it'll just cause grief to maintain these changes.
Speaking of, i should clean my patches again and submit some to ffmpeg for inclusion.
Anyhow, i'll add the new codec id to lavs subtitle types, and it will work just fine again, no revert required.
Thanks :) working again :P
nevcairiel
24th September 2012, 01:03
It's just me or... after last libbluray update playing the index.bdmv makes MPC-HC crash but playing the m2ts file it's working OK ?
Should be fixed, was a stupid typo.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.