View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
VipZ
2nd October 2012, 14:30
This causes it?
The format contains 4 null bytes for some reason, i guess i can trim those off if they cause issues for SRT.
You are the guru :) After looking through multiple samples that was the only difference between a good or bad result so its just a educated guess from my part.
EDIT: Thanks nev, working great now :)
e1iminator
2nd October 2012, 15:02
@ kasper93
it would be nice if i could select lav splitter instead of elecard, microsoft or prog;
i have problems using prog splitter with channels such as bloomberg and cnbc; video lags audio :)
elecard and microsoft work perfectly...
vad74
3rd October 2012, 07:24
nevcairiel
If XBMC in fullscreen mode uses D3D Exclusive mode, then the decoder just cannot get access to the required D3D interfaces, because its locked by XBMC. That is all.
I asked about this for QuickSync Decoder author. And he answer for me:
Only after the renderer is connected, QS can create a HW device providing the renderer passes a certain interface.
An identical issue occurs in Windows Media Center. I've fixed this for ffdshow. This is something LAV author can fix if he has the time.
Please, try do this.
egur
3rd October 2012, 10:20
I've added support for (unencrypted) DVD decode long ago. Decryption was done within ffdshow. The problem is that I don't know how to determine when a menu frame has arrived. When a menu frame arrives, I should flush the HW decoder. libavcodec doesn't queue so many frames as the Intel implementation so it's not a problem there. In normal file playback, the splitter sends EndOfStream and NewSegment events to signal this, but in DVD it doesn't happen. It only sends BeginFlush and EndFlush on seeks and doesn't send any event when a menu appears.
I didn't kill the DVD playback feature, but it's off by default. Can be changed via the normal config interface.
hoborg
3rd October 2012, 15:54
Nev, can you please share x86 LAVF build with fixed YADF deintelacing?
Weirdo
3rd October 2012, 16:38
A question on Dolby Pro Logic II in the Mixing tab. I thought this worked in two main modes, Music and Movie. Which one does LAV use? Also, would I be correct to assume it's impossible to implement Pro Logic IIx due to licensing fees etc.?
mindbomb
3rd October 2012, 17:24
there is one downmix, but the decoder can be configured for movie or music iirc.
Hypers
3rd October 2012, 17:43
Help me please i've got a problem: When i try to use [URL="http://forum.doom9.org/showthread.php?t=156191"]LAV video filters/URL with any x64 version of your mpc build(1.6.4.5855 (2f0eed8)) with Nvidia Driver 306.23WHQL(GeForce? 460) on Windows x64.
I cant activate CUVID acceleration and even CoreAVC cuda Doesnt work.
But it work on [URL="http://www.xvidvideo.ru/component/docman/doc_download/9063-media-player-classic-homecinema-x64-1634992-without-installer.html"]standart mpc-hc build/URL
it also worked with your mpc build on 301.42 Nvidia driver
dansrfe
4th October 2012, 02:41
@dansrfe, if you think there's a bug with those DVDs, a sample of each would help. Personally, I like weird samples, so if you really have a DVD with BT.470 System M primaries, I wouldn't mind getting a sample in any case.
@madshi
The BT.470 System M primaries DVD has some weird characteristics that I've noticed about it.
1) If I play the DVD from the IFO file and then manually select the main movie Title or click Play movie from the dvd menu it shows BT.470 System M in madVR's OSD for the primaries [from upstream].
2) If I play any of the VOB files directly I get SMPTE C from the [best guess].
That other DVD that I have shows EBU/PAL primaries [from upstream] regardless of whether I play the DVD from the menu/manually select the main movie title or if I go directly to one of the movie VOB files.
Not sure what to make of the results or what is correct and what is not.
nevcairiel
4th October 2012, 09:32
Nev, can you please share x86 LAVF build with fixed YADF deintelacing?
Here you go.
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-95-ga6b7a05.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-95-ga6b7a05-x64.zip
ajp_anton
4th October 2012, 15:11
Just so I got this right:
Clipping protection doesn't do any dynamic compression, it's just a "smart/automatic" static normalizer that updates its normalization factor if/when clipping occurs. (And it never increases volume, it only decreases when necessary (unless you count adding 5 channels without dividing by 5 as increasing the volume).)
Would it be possible to remember the normalization factor when seeking, so the volume doesn't suddenly go back to "normal" when you didn't hear a word and rewind by 5 seconds?
nevcairiel
4th October 2012, 15:53
Just so I got this right:
Clipping protection doesn't do any dynamic compression, it's just a "smart/automatic" static normalizer that updates its normalization factor if/when clipping occurs. (And it never increases volume, it only decreases when necessary (unless you count adding 5 channels without dividing by 5 as increasing the volume).)
Thats right
Would it be possible to remember the normalization factor when seeking, so the volume doesn't suddenly go back to "normal" when you didn't hear a word and rewind by 5 seconds?
I was meaning to do that, as someone else also suggested it before, it'll be in the next version.
dansrfe
4th October 2012, 16:00
Is it better to have normalization on or off? And if on then with clipping protection or off?
Also, does "Don't mix stereo sources" have an effect on stereo sources going to stereo output?
DragonQ
4th October 2012, 16:03
I use "don't mix stereo sources" and "clipping protection" only. All of my TV channels (SD, HD, 2.0, 5.1) are all the same volume (aside from natural minor discrepancies between channels).
nevcairiel
4th October 2012, 16:28
Is it better to have normalization on or off? And if on then with clipping protection or off?
Matrix Normalization ensures that you have a constant volume within one file - however, the volume between different files may change drastically, which is in many cases much worse then anything else (who wants to change the volume of their TV all the time?)
Matrix Normalization off, with Clipping protection will usually give you a constant volume between different files, and only rarely does it have to lower the volume mid-playback to avoid clipping.
When matrix normalization is active, clipping protection does usually not do anything - because the normalization ensures nothing is clipped.
The default settings usually are what most people prefer, in this case clipping on, matrixnorm off.
Also, does "Don't mix stereo sources" have an effect on stereo sources going to stereo output?
The mixer never does any mixing when input channels = output channels, so if you select stereo output, it would never mix stereo input.
The only case where this option comes in useful is if you select mixing to 5.1 output (downmix 6.1/7.1), and you play a stereo file. Without the option active, it would output 5.1, with stereo in the front channels, and everything else silent. With the option on, no mixing is performed, and stereo is output as-is (just two channels, no silent channels).
fastplayer
5th October 2012, 08:45
The only case where this option comes in useful is if you select mixing to 5.1 output (downmix 6.1/7.1), and you play a stereo file.
I was beginning to question my sanity because you wrote "a 5.1 file" at first... *argh*
nevcairiel
5th October 2012, 08:58
I was beginning to question my sanity because you wrote "a 5.1 file" at first... *argh*
Typos happen. :P
Deim0s
5th October 2012, 18:39
May I once again ask them to fix incorrect display of the mixing coefficient LFE channel in the LAV Audio mixer.
Test file wav 5.1:
Link (http://download.microsoft.com/download/winmediatech40/Utility/1.0/W98NT42KMeXP/EN-US/6channel.exe)
When I mix this file in stereo (not LAV), from the matrix:
Lt = 100*L + 0.7071*C + 0.7071*LF + 100*SL
Rt = 100*R + 0.7071*C + 0.7071*LF + 100*SR
The correct result is as:
Image (http://i.imgur.com/7s8eP.png)
If I select to LAV Audio mixer similar parameters:
Center Mix Level 0.7071
Surround Mix Level 1.0
LFE Mix Level 0.7071
in registry:
MixingCenterLevel 1b9f(7071)
MixingSurroundLevel 2710(10000)
MixingLFELevel 1b9f(7071)
I get the wrong result, level LFE channel too low:
Image (http://i.imgur.com/UJh8j.png)
Correct result (0.7071) is obtained only when I put the level of LFE channel in LAV Audio mixer to 1.0:
Center Mix Level 0.7071
Surround Mix Level 1.0
LFE Mix Level 1.0
in registry:
MixingCenterLevel 1b9f(7071)
MixingSurroundLevel 2710(10000)
MixingLFELevel 2710(10000)
Image (http://i.imgur.com/LJ111.png)
Sorry, if my English is bad.
nevcairiel
5th October 2012, 18:51
To make it more user-friendly i should instead change the Center value, so that 1.0 always means "original volume", and the channel duplication factor is calculated in afterwards. How would a normal user know that 0.7071 means "original volume"?
Deim0s
5th October 2012, 19:42
Thanks for the explanation.
But still, for those who want to have an accurate value, it would be nice to have that ability (do not act at random).
And thank you for great work.
Pat357
5th October 2012, 21:34
To make it more user-friendly i should instead change the Center value, so that 1.0 always means "original volume", and the channel duplication factor is calculated in afterwards. How would a normal user know that 0.7071 means "original volume"?
It's easy : 0.7071^2 + 0.7071^2 == 1 !
Asmodian
5th October 2012, 23:03
"normal user" = no algebra to calculate values ;)
I like the idea of 1 = original volume, it seems intuitive.
DragonQ
6th October 2012, 00:45
It's also wrong. :p
I said a while ago there should be a "default" button that'll return things to 0.7071 (or this should happen when changing the speaker output). Another issue with that dialogue box is that unticking "enable mixing" should grey out the other relevant controls but it doesn't right now.
bugmen0t
6th October 2012, 07:23
To add some more confusion: Didn't someone said that particular testfile has channels with incorrect levels, lfe too low, maybe nev?
+1 for a default button
thomaz909
6th October 2012, 13:53
i also want "1" for original volume. :)
with "original" i mean that the same signal on all channels has the same db and maximum possible peak is 0db.
here is my selfmade test ac3 with same volume on all channels (all 5 wavs had same peak db and then encoded with encwavtoac3):
http://www15.zippyshare.com/v/54111956/file.html
http://ul.to/7pwd3gl4
http://www.share-online.biz/dl/ERF43HBMTP
http://www.load.to/l8Povkw3SF/SameVolumeOnAllChannels.ac3
http://netload.in/dateiKMtpOmrwqk/SameVolumeOnAllChannels.ac3.htm
mzso
6th October 2012, 22:36
I suppose it doesn't like that the video has a odd number of rows, which technically is invalid for 4:2:0 content.
madVR will also produce a green line, although at the bottom.
I guess i can try pad it with one extra line of blackness, but not sure how easy that will be.
Not a high priority, odd-numbered 4:2:0 content is invalid by definition (can't have half a row of chroma), and looks fine on nvidias scaler, or if you just use RGB output.
I think I might have ran into something like this, with video a file 693 rows. It's a bit weird though, because it doesn't matter if I switch madVR or LAV to something else the issue is fixed.
sweatherly
7th October 2012, 17:14
First of all, gotta say, I think LAV filters is excellent and has now replaced all my other splitters and decoders on my HTPC, so thank you!
Does anyone know, is there a way to set LAV up to decode only the 'core' when presented with a DTS-MA or True-HD audio track rather than the full HD audio?
Basically, by HTPC is underpowered and my main aim is for it to be quiet. When it goes above 30% CPU the fans kick in and it gets a little too noisy.
If I watch a 1080p source with AC3 audio then all is well, but when I watch a 1080p source with HD audio then this taxes my PC a little more (40-50% CPU) and the fans kick in.
As I only my HTPC connected to my TV I would like to set it up so that when presented with a HD audio stream, instead of downmixing the HD audio to 2 channel, it downmixes the 'core' DTS or 'interleaved' AC3 instead. Anyone know if this is possible with LAV?
hoborg
7th October 2012, 18:28
Here you go.
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-95-ga6b7a05.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-95-ga6b7a05-x64.zip
Thanks!
hoborg
7th October 2012, 19:56
Nev, i noticed that enabling YADIF will cause problems with DVD navigation menu :/
Butons fail to highlight.
Disabling YADIF fix it.
nevcairiel
7th October 2012, 21:54
Nev, i noticed that enabling YADIF will cause problems with DVD navigation menu :/
Butons fail to highlight.
Disabling YADIF fix it.
Try with this version:
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-116-g1de6191.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-116-g1de6191-x64.zip
It seems to fix the issue for me, hopefully without crashing or causing other issues in the process. :D
As a bonus, during normal playback YADIF should no longer "eat" the last frame, either. :)
mbordas
7th October 2012, 22:13
Thanks, that version seems to have also fixed a problem I was having with some dvd menus being black with madVR in FSE mode. Works fine now.
Deim0s
7th October 2012, 23:11
nevcairiel,
Many thanks, after Rev. 50a1358e6967, audio mixer works absolutely exactly.
fairchild
8th October 2012, 00:27
Can someone enlighten me since I'm a bit confused on what I should set my Lav audio mixing settings (when down-mixing to stere) to if I want to achieve the most accurate results. Should I stick to the default mixer values which are:
Center Mix Level 0.71
Surround Mix Level 0.71
LFE Mix Level 0
Or should I use the ones that several user's have been saying are the correct settings which I believe are:
Center Mix Level 0.71
Surround Mix Level 1.0
LFE Mix Level 1.0
DragonQ
8th October 2012, 00:36
Center Mix Level 0.71
Surround Mix Level 0.71
LFE Mix Level 0
This, unless you have a subwoofer.
Keiyakusha
8th October 2012, 00:56
This, unless you have a subwoofer.
By Dolby's definition of LFE (links on it was posted in this thread when LAV's mixer was just implemented) it have no direct relation to subwoofer. Subwoofer plays low frequency and it takes it from all channels that have it. LFE can contain not only low frequencies. Also I'm perfectly able to hear LFE (after it was mixed) with good stereo headphones (some better, some worse).
Deim0s
8th October 2012, 01:25
fairchild,
Standard matrix (not DPL *), will now look like this:
Center Mix Level 0.71
Surround Mix Level 1.0
LFE Mix Level 0.71
More precisely, can be set in the registry.
HKEY_CURRENT_USER\Software\LAV\Audio
MixingCenterLevel 1b9f(7071)
MixingSurroundLevel 2710(10000)
MixingLFELevel 1b9f(7071)
fairchild
8th October 2012, 01:48
[Standard matrix (not DPL *), will now look like this:
What does (not DPL *) signify?
Deim0s
8th October 2012, 01:59
What does (not DPL *) signify?
Mixing in stereo, not Dolby Pro Logic, Dolby Pro Logic II.
mbordas
8th October 2012, 03:21
perhaps OT, but has anybody tried to watch the rumble with jon stewart and bill o'reilly? It's a variable frame rate mp4, and no matter what I do, I get terrible stuttering using latest LAV+madVR. I tried switching to EVR-CP and enabling frame time correction, but to no avail. Any info or suggestions?
CiNcH
8th October 2012, 18:37
I just recognized that when I select 'DXVA2 native', LAV actually uses the WMVideo Decoder DMO for VC1. Is this the intended behaviour? GPU is an Intel HD4000.
The WMVideo Decoder DMO uses way more CPU time than CyberLink DXVA2/Bitstream profile for example.
nevcairiel
8th October 2012, 18:40
I just recognized that when I select 'DXVA2 native', LAV actually uses the WMVideo Decoder DMO for VC1. Is this the intended behaviour? GPU is an Intel HD4000.
The WMVideo Decoder DMO uses way more CPU time than CyberLink DXVA2/Bitstream profile for example.
The current DXVA2 code does not support VC-1 on Intel, because Intel has a non-standard implementation for VC-1 - use QuickSync. :)
CiNcH
8th October 2012, 18:59
use QuickSync.
I do anyway ;) . Just wondered... Thanks for your information.
BTW, I found out why A/V is sometimes out of sync when using LAV Video for some HD broadcasts (e.g. SIXX HD, SPORT1 HD) and why it only happens when watching live. It has to do with the DVB Source's DVB clock (see DVB Source property page). When enabled, the DVB Source provides the reference clock for the graph (instead of the audio renderer). It actually uses the system clock and synchronizes it to the PCR of the live video stream (compensates the drift between the two to prevent buffer overflows/underruns). On the property page of the DVB Source, one can also follow the drift (in ms) between the system clock and the PCR.
I don't know yet why A/V is sometimes out of sync when using LAV Video and the PCR synchronized clock. CyberLink seems to be fine. I will try to further investigate on that. Ideas are welcome...
dansrfe
9th October 2012, 07:06
Have the normal standard matrix stereo mixing levels changed on this last revision?
Currently I have:
Center: 0.71
Surround: 1.0
LFE: 1.0
Mercury_22
9th October 2012, 09:12
Quick question: are upmixing and independent volume control for each channel, still in the cards ?
mkanet
9th October 2012, 15:23
I just realized that LAV Video filter causes VC-1 bluray video to stutter. This doesn't happen with my Arcsoft Video Decoder.
I'm curious what would be an alternate suggested setting to avoid VC-1 stutter. Below, I have all 3 VC-1 settings enabled. It's hard to tell if it's using CUVID VC-1, builtin software decoding VC1, or Microsoft's VC-1 decoder. Whatever is causing the problem, I need to disable.
I currently have the Nvidia CUVID VC-1 option enabled on the main LAV Video decoder settings page ("Video Settings" tab).
I also have VC1 (SMPTE VC-1) format enabled ("Formats" tab).
I also have the "Use Microsoft WMV9 DMO decoder for WMV3 and VC-1" option enabled.
Thanks in advance!
nevcairiel
9th October 2012, 15:33
How about just disabling one and seeing if something changes? :p
I would suggest to start with disabling CUVID, on some older hardware it has some issues with partial acceleration.
But since you didn't really specify anything about your setup otherwise, i cannot comment in any way further. What player? What source/splitter? What hardware? etc.etc.
mkanet
9th October 2012, 16:06
Thanks for the quick reply Nev.
Latest LAV 32bit video decoder and respective splitter (splitter on default settings)
Win7 64bit
Nvidia GT640
306.23 WHQL Driver
Whatever hardware acceleration Arcsoft video decoder is using for VC1 bluray playback, its smooth as silk; with very little CPU utilization. Im not near my computer; but I'm pretty sure the arcsoft video decoder is using the same LAV splitter. I also get smooth VC1 playback with the the PowerDVD 12 player as well.
I was hoping to know what LAV Video hardware acceleration settings would be closest what Arcsoft5/PDVD12 uses.
Also, does "Use Microsoft WMV9 DMO decoder for WMV3 and VC-1" setting override LAV CUVID & software decoding? It's unclear what's being used by LAV.
My PC isn't quite fast enough to do software based VC1 decode; so, disabl
nevcairiel
9th October 2012, 16:26
When you look at the properties page during playback, you can see whats being used.
In general, hardware codecs have priority over software codecs, and the Microsoft DMO codec is a software codec, it just replaces the ffmpeg vc-1 decoder (the MS one is faster then ffmpeg anyway)
VC-1 Blu-rays work just fine on my PC with the same driver. What player are you using?
The only way i can get it to stutter is when i play around with the "VC-1 Timestamp Correction" setting in LAV Splitter, but since you claimed its on default settings. :p
The default for that option is the "intermediate" setting (half-checked), you should make sure its really that (and make sure its really using LAV Splitter)
You could also try switching from CUVID to DXVA2-CB, and see if it changes anything.
LoopinFool
9th October 2012, 17:32
(the MS one is faster then ffmpeg anyway)
I beg to differ.
On my 6-core HP Z420 workstation (Win7 x64 SP1), the LAV Video Decoder filter is clearly faster than the WMVideo Decoder DMO filter on my test WMV3 (VC-1) files (both 1280x720 and 1440x1080). These are files from the Microsoft WMV HD Content Showcase.
Task manager typically shows around a 2% improvement using LAV instead, running in GraphStudioNext, with both the 32bit and 64bit filters.
- LoopinFool
nevcairiel
9th October 2012, 17:33
I beg to differ.
But LAV uses the MS DMO decoder, more efficiently then the WMVideo Decoder DMO wrapper at that. :p
Unless you explicitly turned the wmv9 dmo off in LAV.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.