View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
nevcairiel
3rd January 2013, 23:18
Thanks, that should help. Always easier to have files to work with than having to go hunt them down first. ;)
Devrim
4th January 2013, 02:36
This file I have does not seem to be compatible with CUVID in LAV. Any idea why?
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High 4:4:4 Predictive@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 6 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 14mn 48s
Bit rate : 27.7 Mbps
Width : 4 096 pixels
Height : 1 744 pixels
Display aspect ratio : 2.35:1
Frame rate mode : Constant
Frame rate : 24.000 fps
Color space : YUV
Chroma subsampling : 4:4:4
Bit depth : 10 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.161
Stream size : 2.86 GiB (90%)
Title : 4096x1744p (2.35:1), 24 fps, x264@Hi444PP ~28261 kbps
Writing library : x264 core 125 r2200MMod 999b753
Encoding settings : cabac=1 / ref=6 / deblock=1:-2:-1 / analyse=0x3:0x133 / me=tesa / subme=11 /
psy=1 / fade_compensate=0.50 / psy_rd=0.50:0.05 / mixed_ref=1 /
me_range=48 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=3 /
threads=12 / lookahead_threads=2
/ sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 /
bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 /
keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=16.0
/ qcomp=0.75 / qpmin=0 / qpmax=81 / qpstep=4 / ip_ratio=1.30 / aq=1:1.20 / zones=67,117,b=1.5/2477,2527,b=1.5/3611,3636,b=1.5
Language : English
Default : Yes
Forced : No
Matrix coefficients : BT.709
wanezhiling
4th January 2013, 02:40
Chroma subsampling : 4:4:4
Bit depth : 10 bits
Only 8bit 4:2:0 files support HWA decoding,
Devrim
4th January 2013, 02:45
Only 8bit 4:2:0 files support HWA decoding,
Thanks for the quick answer. Do you know if this is a hardware limitation or software limitation?
wanezhiling
4th January 2013, 03:07
The former, at least the driver doesn't support and never.
robpdotcom
4th January 2013, 03:14
If anyone has simple samples that demonstrate either external linked segments or editions within one file, please do share.
Here's some samples I created that demonstrate 3 types:
http://www.mediafire.com/?26p251ej90bn9k7
If you play "File Linking1.mkv", it will append "Segment2.mkv" by way of the segment uid in the Matroska header.
If you play "Segment Linking1.mkv", it will also append "Segment2.mkv", but this time via the segment uid in the ordered chapters.
"Ordered Chapters.mkv" is one file that contains the same parts as the first 2 examples, but with a 3rd segment in the middle. The ordered chapters will skip the 3rd segment and play as it should. It also contains a second edition, which will play only the 3rd segment.
wanezhiling
4th January 2013, 06:58
http://www.sendspace.com/filegroup/NdWi7KLfoMaiMRNcrfpjmQ
Hope it will be helpful for you.:)
wanezhiling
4th January 2013, 15:03
http://1f0.de/lav-splitter/lav-splitter-stream-selection/
“Default”
The “Default” mode will select subtitles in accordance with the typical interpretation of the Matroska spec. That means that subtitles matching your language preference will be loaded, as well as subtitles marked “default” or “forced”. If none of these factors apply, no subtitles will be loaded.
Since “Default” mode is used by most people(at least 95%+), I think showing a subtitle is always much kinder in case some people complain.
I suggest:
A file with only one subtitle, whether its marked “default”“forced” or not, just load it.
A file with several subtitles, neither “default” or “forced” flag exists, load the first subtitle.
What do you think nev?:)
nevcairiel
4th January 2013, 15:06
The current mode works just fine. I don't like showing subtitles by default.
DragonQ
4th January 2013, 15:15
I suggest:
A file with only one subtitle, whether its marked “default”“forced” or not, just load it.
A file with several subtitles, neither “default” or “forced” flag exists, load the first subtitle.
What do you think nev?:)
I'm sorry, what? Most files (especially from "official" sources) have subtitles but most people don't want/need them.
Forced subtitles should obviously be shown by default though.
wanezhiling
4th January 2013, 15:21
I don't like showing subtitles by default.
Simple and clear, ok i got it.
e-t172
4th January 2013, 17:25
rundll32 considered harmful (http://blogs.msdn.com/b/oldnewthing/archive/2013/01/04/10382242.aspx)
@nevcairiel: maybe you should build a small EXE for the configuration options instead of running rundll32 in a shortcut.
JEEB
5th January 2013, 00:45
rundll32 considered harmful (http://blogs.msdn.com/b/oldnewthing/archive/2013/01/04/10382242.aspx)
@nevcairiel: maybe you should build a small EXE for the configuration options instead of running rundll32 in a shortcut.
I have a feeling looking at that text that it is a comment regarding some actual code being run with rundll32 (possibly as a scheduled task), not just registering a DirectShow filter :)
edit: yeah, indeed
That is not the same question asked by this customer. The customer was asking to choose between writing a standalone exe or writing a DLL that is called via rundll32. Your question is about using an existing DLL designed for rundll32. -Raymond
filler56789
5th January 2013, 01:48
I have a feeling looking at that text that it is a comment regarding some actual code being run with rundll32 (possibly as a scheduled task), not just registering a DirectShow filter :)
You meant "configuring" alright. Because registering a "registerable" :D DLL is done with regsvr32, not with rundll32. ;)
JEEB
5th January 2013, 02:01
You meant "configuring" alright. Because registering a "registerable" :D DLL is done with regsvr32, not with rundll32. ;)
Ugh, I blame my timezone.
VipZ
5th January 2013, 11:49
Here is a modified version of LAVFilterSetttings done by andyvt here on doom9. I mostly just updated to support all current LAV Filters, removed merit settings and few cosmetics to keep it simple.
http://www.mediafire.com/download.php?a55ac9ooao09ex4
Modified source/exe in the rar file.
Niyawa
5th January 2013, 18:48
Hey people, I have a question regarding Haali and LAV Splitter, but I don't know if there's a answer or not to this. It's quite simple though.
When I'm using LAV Splitter, for any format or extension, if I do some type of work in the computer that requires a determined amount of the CPU, the video and audio starts to stutter, but that doesn't happen with Haali at all. For example, if I open a page on Chrome, it will make the video stutter with LAV, but with Haali it will keep playing normally like nothing's happened. Could it be because LAV still needs work in the performance section, or there's anything else I might be forgetting?
Dodgexander
5th January 2013, 18:50
I am using NPVR for the playback of live tv (DVB T2) in the UK.
For some reason, whilst using LAV audio or LAV video during playback, I cannot see the info like I usual can in the lav audio or video screens. (attached screenshot shows cyberlink, but i have the problem when using lav video too and it appears there)
Lav audio shows off-line, with no output tab and lav video shows inactive.
Is there any reason for this? They show in the graph:
http://aluminas.net/images/e51e52.png
Secondly, in the graph, the properties of lav audio handling HE-AAC are seen. I am confused by the section that mentions 5ch 44.1khz and the section beneath that says 2channel.
The ts file itself reads 5.1 HE-AAC audio at 48khz, not 44.1khz.
How can I make sure that LAV is picking up the stream correctly?
nevcairiel
5th January 2013, 18:50
Hey people, I have a question regarding Haali and LAV Splitter, but I don't know if there's a answer or not to this. It's quite simple though.
When I'm using LAV Splitter, for any format or extension, if I do some type of work in the computer that requires a determined amount of the CPU, the video and audio starts to stutter, but that doesn't happen with Haali at all. For example, if I open a page on Chrome, it will make the video stutter with LAV, but with Haali it will keep playing normally like nothing's happened. Could it be because LAV still needs work in the performance section, or there's anything else I might be forgetting?
Its possible Haali increases the priority of its threads.
If you want your video take priority over any other tasks on the PC, you should increase the priority of the player, and not rely on some filter to do it for you. I believe MPC-HC has an option to increase its priority.
Secondly, in the graph, the properties of lav audio handling HE-AAC are seen. I am confused by the section that mentions 5ch 44.1khz and the section beneath that says 2channel.
The ts file itself reads 5.1 HE-AAC audio at 48khz, not 44.1khz.
How can I make sure that LAV is picking up the stream correctly?
The values in the "Input" section come from the MPEG Demuxer, and are not defined by LAV. As long as the values in the bottom part ("AAC Decoder Specific") appear correct, everything is fine (2 channel, 48000Hz).
You can check the values on the "Output" tab, it will give you the real info on what LAV is decoding and sending onwards.
Niyawa
5th January 2013, 19:00
Its possible Haali increases the priority of its threads.
If you want your video take priority over any other tasks on the PC, you should increase the priority of the player, and not rely on some filter to do it for you. I believe MPC-HC has an option to increase its priority.
Oh it worked. Thanks. But that's strange. I looked here and Task Manager didn't show the process with anything other than "Normal", so either Haali did that silently without Windows noticing, or there's something else we might have forgotten but oh well. A lot of people claim LAV is inferior to Haali in the performance topic, now I get what is the "issue".
nevcairiel
5th January 2013, 19:01
Oh it worked. Thanks. But that's strange. I looked here and Task Manager didn't show the process with anything other than "Normal", so either Haali did that silently without Windows noticing, or there's something else we might have forgotten but oh well. A lot of people claim LAV is inferior to Haali in the performance topic, now I get what is the "issue".
If you can clearly reproduce the "problem", i could give you a test build that increases LAVs processing threads priority, to see if something changes.
I think my system is too fast to notice anything =p
Niyawa
5th January 2013, 19:10
If you can clearly reproduce the "problem", i could give you a test build that increases LAVs processing threads priority, to see if something changes.
Hm... let's see. There's not really much to say. What I can say for sure is that whenever there's another process that requires the CPU to work to some extent (like rendering a page on Chrome) with a high bitrate video, LAV will stutter. But it can be anything, as long it takes a considerable amount of power from the CPU. So for example, if you have a hardware with a considerable powerful CPU, then it will probably never happen.
I can easily reproduce it though. As long I turn the priority to normal again and play a video with high bitrate, it happens. Just for reference, I have a Core 2 Duo @ 2.20 Ghz.
nevcairiel
5th January 2013, 19:16
Try with this version then:
http://files.1f0.de/lavf/LAVFilters-0.54.1-105-ge83e19d-threadpriority.zip
I changed it to adjust all threads to a higher priority then before.
Such things may be more obvious on systems with a low number of cores/threads, like your C2D with only 2 cores, unlike my i7 with 4+4 cores.
Its still possible that Haali actually increases the process priority instead of just the thread priority, but i don't think thats something that a DirectShow filter should be controlling.
Niyawa
5th January 2013, 19:33
I changed it to adjust all threads to a higher priority then before.
Such things may be more obvious on systems with a low number of cores/threads, like your C2D with only 2 cores, unlike my i7 with 4+4 cores.
No wonder you didn't even feel the wind.
Its still possible that Haali actually increases the process priority instead of just the thread priority, but i don't think thats something that a DirectShow filter should be controlling.
It's probably doing that then. I tried with that build, but it only slightly resolves the problem. It really works like Haali when I go in MPC-HC options and enable the process priority above normal.
Well, at least I already know the source of the issue, so it's not all bad. I have one more question though, do you plan to implement support for ordered chapters/editions in mastroska any soon? I know it's already tagged as accepted in the list of issues in Google Project, but this is basically the only thing holding a lot of people to dump Haali once and for all.
nevcairiel
5th January 2013, 19:54
Haali actually has an option called "Decoder priority boost", is that turned on for you?
I'll work on ordered chapters "soon", but that can still be a couple of month, depending on how my real job starts developing.
Niyawa
5th January 2013, 20:47
Haali actually has an option called "Decoder priority boost", is that turned on for you?
Nope, it's off.
I'll work on ordered chapters "soon", but that can still be a couple of month, depending on how my real job starts developing.
I see. It's nice to have some input in the status from time to time, thanks again.
nevcairiel
5th January 2013, 21:00
I need to establish priorities for the upcoming tasks for LAV again, all i wanted to do on high-priority is about done, so whats next up after 0.55 is still in the air. We'll see.
Dodgexander
5th January 2013, 21:25
The values in the "Input" section come from the MPEG Demuxer, and are not defined by LAV. As long as the values in the bottom part ("AAC Decoder Specific") appear correct, everything is fine (2 channel, 48000Hz).
You can check the values on the "Output" tab, it will give you the real info on what LAV is decoding and sending onwards.
Good to know nev thanks. The problem is that screenshot was taken using a 6ch sample playing live. I am unsure why lav thinks its 2ch when its 6ch. If I playback the sample in npc it correctly displays 6channel.
And my other problem : Whilst I can see NPVR is using lavaudio and video, the decoder properties do not show active when I open them during playback for instance for lavaudio, i can't see the pin info or channels used in the decoders configuration and in lav video when using the decoder it states "innactive". Although blatantly they are both being used!
Edit* I just checked the output tab in the graph and it shows output as the 5.1 channels. How do I know lav isnt just mixing to 5.1 if i cannot access the properties whilst playing?
clsid
5th January 2013, 21:33
Looking at the remaining open issues, my personal most wanted list would be:
#190: Fallback to decoding if Bitstreaming is unsupported
#XXX: Volume normalization option. Of course disabled by default. It could perform some kind of smart check to use it only for video. For example check for presence of a video mediatype in the graph. Then audio file playback will be untouched. Volume normalization is pretty useful in quiet environments (bedroom TV) or when using weak hardware (cheap headphones, portable device).
#116: "Status" tab for LAV Video Decoder
#1: Tray Icon to manage chapters and streams
#32: Automatic loading of post-processing filters into the filter graph. This could initially be limited to the combo: VistaOrAbove + wmplayer.exe -> Let splitter load DirectVobSub.
#21: Support for Matroska Ordered Chapters / Editions
Having the last three would make Haali Splitter obsolete.
clsid
5th January 2013, 21:34
@Dodgexander
You need to access the filter settings from within your player or through the tray icons of LAV Filters. If you access settings from the Start menu shortcuts, then you won't get the active instances.
Dodgexander
5th January 2013, 21:49
@Dodgexander
You need to access the filter settings from within your player or through the tray icons of LAV Filters. If you access settings from the Start menu shortcuts, then you won't get the active instances.
That does not work, they still are innactive from within NPVR.
There are no system tray icons. How can i enable them?
nevcairiel
5th January 2013, 22:26
Many applications can't actually show the active filters property page, but create a new instance of the filter to show it.
The tray icon is only available in the Git builds, and will be in the next release.
nevcairiel
5th January 2013, 22:27
#XXX: Volume normalization option. Of course disabled by default. It could perform some kind of smart check to use it only for video. For example check for presence of a video mediatype in the graph. Then audio file playback will be untouched. Volume normalization is pretty useful in quiet environments (bedroom TV) or when using weak hardware (cheap headphones, portable device).
I believe i already mentioned before that i will not offer such functionality.
#32: Automatic loading of post-processing filters into the filter graph. This could initially be limited to the combo: VistaOrAbove + wmplayer.exe -> Let splitter load DirectVobSub.
Is this really needed?
With some configuration, i can easily make DirectVobSub load in wmplayer.
DragonQ
5th January 2013, 23:02
Many applications can't actually show the active filters property page, but create a new instance of the filter to show it.
The tray icon is only available in the Git builds, and will be in the next release.
Will the system tray icons always appear when LAV is used? What I'm getting at is: will we be able to actually see a proper status page when LAV is being used in MediaPortal using the system tray icons (right now, as you say, it just creates a new instance of the config window)?
Dodgexander
5th January 2013, 23:03
Many applications can't actually show the active filters property page, but create a new instance of the filter to show it.
The tray icon is only available in the Git builds, and will be in the next release.
Okay thanks Nev. I will wait eagerly for your next release :)
until then I try and tell myself I am receiving signal correctly xD
nevcairiel
5th January 2013, 23:03
Will the system tray icons always appear when LAV is used? What I'm getting at is: will we be able to actually see a proper status page when LAV is being used in MediaPortal using the system tray icons (right now, as you say, it just creates a new instance of the config window)?
The icons are disabled by default, but when you enable them, they'll always show up when LAV is loaded, and clicking them opens the property sheet of the active filter, so yes, you get the real thing.
clsid
5th January 2013, 23:20
Is this really needed?
With some configuration, i can easily make DirectVobSub load in wmplayer.Afaik, it is certainly needed for Vista. On Win7/8 there are some other tricks to make it work. For example setting the preferred decoder to "Use merit" with Win7DSFilterTweaker. Unregistering "RDP Redirection Filter" may also work, as that was the cause of it not loading in MPC-HC.
sardonis
5th January 2013, 23:25
Hello all,
I have been trying to get lav filters to work properly but I have 1 major problem. When playing mp4 files muxed with mp4box I always have around 140ms audio delay. I always have to shift 140ms positive (+) in MPC-HC to get synced audio.
This doesn't happen to any other format (mkv, avi with mp2, mp3 or AC3 audio). The only format that causes a problem for me is mp4 files with AAC audio.
They play fine in VLC but I'm not planning to use this as my default player duh :)
As you can see I even have tried good old AC3Filter but no avail. Mp4 files keep playing with around 140ms delay..
I have set all my settings like this:
EDIT: I've noticed that I didn't have the latest lav build so I've updated to 0.54.1 but no change in my problem.
Btw, the mp4 files are muxed with the delay originated in my dvb-c recording ts files so I mux mp4 files with following parameter:
-add "audio.m4a:delay=%delay%"
Would this be a possible cause of my problem? I'm not sure whether MPC-HC does recognize the delay field as well as VLC. I'm not even sure if the mp4 splitter is responsible for this or not...?
http://www.avsforum.com/content/type/61/id/79531/width/400/flags/LL
http://i46.tinypic.com/nvrw92.png
http://i50.tinypic.com/117a33o.png
http://i49.tinypic.com/30vhcbc.png
DragonQ
6th January 2013, 00:04
Have you tried MP4 samples from the internet? If they don't have the problem then it's likely just a muxing issue. Right now I need to add a ~100 ms delay to the audio when muxing my .TS TV recordings to MKV. Not sure why...
nevcairiel
6th January 2013, 00:19
#190: Fallback to decoding if Bitstreaming is unsupported
I actually tried doing this, but something odd started to happen.
If i let LAV only output the Bitstreaming media type, it'll connect to my SPDIF renderer just fine and bitstream AC3 and DTS.
But as soon as i also offer a PCM type as a secondary media type, the DirectSound renderer selects this one and triggers the decoding fallback. Really somewhat annoying, actually.
My guess is that it just prefers the 6 channel float media type over the "2 channel" bitstream type (DTS/AC3 always look like 2 channel to the renderer when bitstreaming). Maybe i can trick it by giving it a "wrong" type and see if it still prefers it, but even if it works, this "trick" would mean that if you do this in WMP for example, WMP locks in on 2 channels, and everything would have to be downmixed (WMP cannot change channel count on the fly) - but then, its their damn fault for misconfiguring things, right?
Can't people just know wtf they are doing when configuring things? :p
I did implement fallback to DTS core if DTS-HD fails, though.
Edit:
I tried various other things, but the renderer directly lies to me and claims it accepts a bitstreaming type, and then when i try to send an audio packet, it fails. Oh well, won't be changed then.
clsid
6th January 2013, 02:17
Fallback works here in WMP12 with AC3Filter.
In MPC-HC it also works if I disable the internal stream switcher.
nevcairiel
6th January 2013, 02:19
In MPC-HC it also works if I disable the internal stream switcher.
Maybe that thing is causing the problem, however if its not reliable in most conditions, i rather have it refuse the decoder completely (and possibly using another one) instead of giving you silence.
I'll look at it again at a later time, maybe a solution will reveal itself that works with all combinations. It had its chance, and it failed, so now it moves to the end of the list. :p
clsid
6th January 2013, 02:35
The stream switcher problem might be fixable by the MPC-HC devs.
Problem with fallback to another decoder is that it in most cases will be MS decoder, which gives silence as well :( (at least in MPC, it does work in WMP)
Oh well, knowing what doesn't work is a step forward as well.
jmone
6th January 2013, 09:45
I need to establish priorities for the upcoming tasks for LAV again, all i wanted to do on high-priority is about done, so whats next up after 0.55 is still in the air. We'll see.
BD Menu Support :)
madshi
6th January 2013, 09:50
BD Menu Support :)
No, let him implement World Peace first! :)
jmone
6th January 2013, 10:16
World Peace is overrated.... BD Menus are a much higher priority (though may be slightly more complicated!)
madshi
6th January 2013, 10:20
You're probably right on all accounts!
6233638
6th January 2013, 15:59
People want to use menus!?
One of the biggest advantages of using a HTPC for Blu-ray is that I can just start index.bdmv (which I have pinned to MPC-HC on the taskbar) and the film starts immediately. No trailers/ads/anti-piracy warnings (ironic considering you only see them on legitimately purchased Blu-rays) and no waiting for menu animations to load up etc.
I wish there were an easy way to skip menus like that for DVD, but I haven't found anything yet. The closest I've found is to set AnyDVD to "Remove annoying clips from menus" and "Remove annoying titles shorter than 10 minutes" which has a lot of films either start playing immediately, or at least takes you directly to the menu without all the ads. Some discs do crash like this however, and I need to disable the "Remove annoying titles" option.
nussman
6th January 2013, 16:07
Maybe that thing is causing the problem, however if its not reliable in most conditions, i rather have it refuse the decoder completely (and possibly using another one) instead of giving you silence.
I'll look at it again at a later time, maybe a solution will reveal itself that works with all combinations. It had its chance, and it failed, so now it moves to the end of the list. :p
We discuss the same problem here (in german) with dvbviewer sourcefilter: http://www.dvbviewer.tv/forum/topic/51170-hdmi-av-receiver-dvb-viewer-problem/page__st__40
With AC3-Filter there is a fallback to decoding when bitstream is not supported by the renderer and that helps a lot.
oddball
6th January 2013, 17:23
I have a big problem. I want LAV audio to send 7 and 8 channel as 6 channel (5.1) mapping. I know I can do this in the channel mapping tab. But if I enable it then it sends EVERYTHING (including stereo PCM) as 5.1! I just want it to send 7 or 8 channel stuff like DTS-ES as 5.1 PCM so I can use ReClock with WASAPI. My hardware does not support 7 and 8 channel WASAPI it would seem (I just get a 48000 IEEE float 7 channel error).
Is there a way to force LAV audio to always send 7 and 8 channel sources as 6 channel when detected?
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.