View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
nevcairiel
12th June 2014, 12:28
Forgot to push the ffmpeg repo, apparently. All fixed.
nevcairiel
12th June 2014, 18:02
LAV Filters 0.62.0
LAV Splitter
- Fixed: The filtered Forced Subtitles stream did not properly send all related subtitle data in some cases
LAV Video
- NEW: Implemented a WMV9 MFT decoder to replace the old DMO decoder for VC-1/WMV3 on Windows 7 and above
- NEW: Support for VP7 video
- Fixed: Multi-threaded video decoding could result in a handle leak on some systems
- Fixed: Video processing was slow on Windows XP due to inefficient memcpy use
- Fixed: DVD subtitles could overlap on some discs
LAV Audio
- Fixed: Dynamic format switching to an audio stream with a different sample rate did not work in some cases
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.62.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.62.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.62-x64.zip)
Mostly pushing this release to get updated ffmpeg libraries out, as well as not cause the new things to rot too long.
WMV9 MFT
As it appears, the WMV9 DMO decoder is kinda broken on Windows 8.1, it doesn't properly identify interlaced videos anymore, which causes them to never engage deinterlacing.
To solve this problem, I've implement a new wrapper around Microsofts decoder, using the MFT (Media Foundation Transform), instead of the DMO. DMOs are a tech from Windows XP and before, and are really old and deprecated, while MFTs are new and clearly better supported - plus getting the information I need out of it was actually quite a bit easier than with the DMO before.
Note that this has no influence on anything DirectShow, LAV is not a Media Foundation filter all of the sudden, it just happens to use the WMV9 MFT, nothing else changes.
Anyway, have fun, and as always report any regressions you find.
meetajhu
13th June 2014, 08:33
Hi nevcairiel, i created 2 icons or logo's for your lav filters hope you like it
Audio icon : http://www.pc4ever.com/wp-content/uploads/2014/06/lav_audio_icon.jpg
Video icon: http://www.pc4ever.com/wp-content/uploads/2014/06/lav_video_icon.jpg
LigH
13th June 2014, 09:20
I doubt they are easily recognizable at 16×16 in the SysTray...
meetajhu
13th June 2014, 09:39
I doubt they are easily recognizable at 16×16 in the SysTray...
These are just concept images the final images will be properly scaled and i'll create a system tray icon for each of them.
Thanks for the new version!
NikosD
14th June 2014, 09:46
LAV Video decoder Properties -> Formats , still say "Use Microsoft WMV9 DMO decoder ....".
Also, having installed both versions (x86 & x64), I realized that whatever change I do to one version properties (for example x86 from DXVA native to DXVA copy-back), it happens also to the other version (x64) and the opposite.
Is it normal ?
Finnish Flash
14th June 2014, 22:30
Hey nev, awesome job with the decoder, mate!
I've been using LAV + MPC-HC for streaming MPEG-TS from my ISP's recording service. Aside from the playback taking some extra seconds to start comparing to VLC, it's working very well.
In order to be able to rewind and fast-forward and get the full duration of a file instead of just a couple of seconds from the beginning, I have to insert the following to registry:
[Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\http]
"Source Filter"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"
This enables splitting video and audio from HTTP protocol with LAV Splitter, right?
Could you make this a default setting, or is there some downside to this? I mean, this could help someone else, too.
I'd like to point out that the latest version, spesifically the latest FFMPEG update, significantly shortened the loading times (I'd say about 5 to 10 times), so absolutely great!
STaRGaZeR
15th June 2014, 11:53
Nev, it seems I have some MPEG-1 videos that LAV Video doesn't decode. Windows MPEG's decoder is used instead.
Here's one that does decode with LAV Video: http://www.mediafire.com/watch/ajj0mc8z4874kf4
And here one that doesn't: http://www.mediafire.com/watch/s867ud5hbond1a8
filler56789
15th June 2014, 13:27
Nev, it seems I have some MPEG-1 videos that LAV Video doesn't decode. Windows MPEG's decoder is used instead.
Here's one that does decode with LAV Video: http://www.mediafire.com/watch/ajj0mc8z4874kf4
And here one that doesn't: http://www.mediafire.com/watch/s867ud5hbond1a8
On my computer, the second sample plays fine with the latest LAV Video & Splitter in Graphstudio.
BTW, you should already have learned how to use MediaFire in the RIGHT way ;)
http://www.mediafire.com/download/s867ud5hbond1a8/EP3TeaserTrailer.mpg
STaRGaZeR
15th June 2014, 15:10
Funny, only happens when playing in MPC-HC, LAV Video is used for both in GraphStudioNext. No idea what could be causing it, settings are the same of course.
BTW, you should already have learned how to use MediaFire in the RIGHT way ;)
I know how to use MediaFire, it's just that I consider the people on this forum smart enough to press the "Download" button right by the video preview I purposedly used. Guess I'll have to make an exception with you from now on :D
filler56789
15th June 2014, 15:14
I know how to use MediaFire
That's just your opinion alright :p
STaRGaZeR
15th June 2014, 19:26
That's just your opinion alright :p
:goodpost::stupid:
filler56789
16th June 2014, 19:27
Funny, only happens when playing in MPC-HC, LAV Video is used for both in GraphStudioNext. No idea what could be causing it, settings are the same of course.
I took the time to confirm it, if the problem is not on your machine, then
it is in the most recent builds of MPC-HC (which I don't use BTW :p ~~
I tested the sample with MPC-HC Lite 1.6.8.7391 and MPC-BE 1.4.3.4793).
hubblec4
16th June 2014, 22:43
hi nev
the chapter names are displayed not correct, could you fix this please?
Vasilich
17th June 2014, 01:34
the chapter names are displayed not correct, could you fix this please?
in what program do you see that? have you tried to use other player?
On the screenshot i just see that one piece of software cannot display chapter names in UTF-8, not more.
nevcairiel
17th June 2014, 02:49
hi nev
the chapter names are displayed not correct, could you fix this please?
I'm quite sure that proper UTF-8 chapter names are being processed correctly, so you should ideally check if they are correctly encoded in the file.
In any case, a file showing the problem would be good.
hubblec4
17th June 2014, 09:47
I'm quite sure that proper UTF-8 chapter names are being processed correctly, so you should ideally check if they are correctly encoded in the file.
In any case, a file showing the problem would be good.
ok sorry. i found the issue.
Nachbar
18th June 2014, 04:11
Hello, I am trying to do some complex stream selection rules in the advanced section but its not working. Here is what I got going:
jpn|d:eng|d;jpn|!d:eng|!d
so if jpn audio is default then load english subtitle that is default and if jpn audio is not default then load english subtitle that is not default. However what ends up happening is that it loads the jpn audio but it doesn't load any subtitles at all. I guess its only looking at that I set preferred audio in the dialog above to jpn,eng.
I am doing this because some anime I have are english audio default and the default subtitle track is for signs/songs. However everything else I have is japanese audio default with default full english subs. If there is an easier way to do this that I am overlooking let me know. The main problem I am having is the usual jpn:eng chooses the first track which on this particular anime is the english signs rather than full subs.
My guess is that the code doesn't look at whether the audio track has been flagged default or not so its simply not working there because it is expecting a three letter value and doesn't know what jpn|d means.
ryrynz
18th June 2014, 05:30
Hello, I am trying to do some complex stream selection rules in the advanced section but its not working.
Having this (https://code.google.com/p/lavfilters/issues/detail?id=453&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary%20Modified) approved would help with that.
Nev can we get this requested feature of selecting subtitles by substring match added in LAV?
sneaker_ger
18th June 2014, 06:32
@Nachbar
LAV always selects the audio according to the "audio" field first, only after that comes the advanced subtitle selection.
Try:
audio: jpn,eng
subtitles: jpn:eng|!d;jpn:eng
octal9
18th June 2014, 10:30
thanks much to sneaker_ger! i was having a very similar problem as Nachbar as I watch loads of japanese cinema/anime and got very sick of having the english crap dub come up every time, along with the wrong subs and this solved it perfectly.........
Nachbar
18th June 2014, 23:50
@Nachbar
LAV always selects the audio according to the "audio" field first, only after that comes the advanced subtitle selection.
Try:
audio: jpn,eng
subtitles: jpn:eng|!d;jpn:eng
I tried it exactly like that and it works for the one that lists the dub audio/sub first as default. However for the ones that list jpn audio/full subs first as default it selects the wrong sub.
Here are how some of my streams are on these files:
vid1: (doesn't work - jpn audio, eng signs)
audio: jpn (default), eng, eng commentary
subs: eng full (default), eng signs, eng commentary
vid2: (works - jpn audio, eng full)
audio: eng (default), jpn
subs: eng signs (default), eng full
However what you suggested seems to work for most of the shows that I know are dual audio with multiple subs.
ryrynz
19th June 2014, 00:26
english crap dub
Wildly inaccurate and extremely judgmental hatred of something that's generally done quite well if not at times arguably better than the original raises certain questions..
sneaker_ger
19th June 2014, 00:35
vid1: (doesn't work - jpn audio, eng signs)
audio: jpn (default), eng, eng commentary
subs: eng full (default), eng signs, eng commentary
vid2: (works - jpn audio, eng full)
audio: eng (default), jpn
subs: eng signs (default), eng full
In that case you're indeed out of luck - vanilla LAV cannot handle both cases.
Of course you could change the flags with mkvpropedit/JMkvpropedit (http://forum.doom9.org/showthread.php?t=163753) or get someone to build LAV with the patch posted by ryrynz above.
ranpha
19th June 2014, 06:33
Will this patched build (https://mega.co.nz/#!PcI3lQ7C!ZmRfeyanfn5XEDxA4kXO2LgYW1UIIHtbXC9REMPCmoU) work?
ryrynz
19th June 2014, 07:02
Will this patched build (https://mega.co.nz/#!PcI3lQ7C!ZmRfeyanfn5XEDxA4kXO2LgYW1UIIHtbXC9REMPCmoU) work?
Useage:
It allows one to use rules like *:*@songs to select any subtitle track with the text "songs" in its name. One can also specify flags too, so one could write eng:fr|n@asdf to say: if english audio, try to use normal French subtitles with a name containing "asdf".
huhn
19th June 2014, 10:11
should Lavfilter support MKV with zlib compression for all codecs?
a lossless camstudio file in MKV with zlib compression doesn't load with Lavfilter but works fine with internal MPC-BE decoder/splitter.
thread: http://forum.doom9.org/showthread.php?t=170756
post with error: http://forum.doom9.org/showpost.php?p=1684177&postcount=8
sample: http://www.file-upload.net/download-9084230/camstudio.mkv.html
octal9
19th June 2014, 10:45
Wildly inaccurate and extremely judgmental hatred of something that's generally done quite well if not at times arguably better than the original raises certain questions..
just me being silly........there are some passable dubs occasionally ('70s kung fu movies can actually be improved by them), but i've always preferred to view things in their original form (if possible) - sorry if i've offended anyone (and for being off-topic)........
mysterix
19th June 2014, 12:18
Does Lav video filter do dithering himself independently of render in any case in compliance with it's dithering radiobutton or does it just pass equal dithering type flag to render and does not any dithering himself? Particularly, do I need to use dithering in MadVR in case of using it in connective with LAV-filter or is it redundant and will cause quality degradation and waste of resources?
sneaker_ger
19th June 2014, 12:46
Don't turn off dithering in madVR or LAV. madVR needs it as a last step after scaling, LAV will only use it when necessary - most of the time the setting has no effect as LAV can be send the original video data to the renderer without any lossy processing.
mysterix
19th June 2014, 13:42
Don't turn off dithering in madVR or LAV. madVR needs it as a last step after scaling, LAV will only use it when necessary - most of the time the setting has no effect as LAV can be send the original video data to the renderer without any lossy processing.Does it mean that it is no need to turn on dithering in MadVR if no scaling is used? For example, for the same video and monitor native resolution (1920X1080).
By the way, there is no way to disable dithering in LAV completely since there is dither type switching buttons only...
nevcairiel
19th June 2014, 14:26
You should never turn it off anywhere, everything is smart enough to only use it when its required.
NikosD
19th June 2014, 14:34
LAV Video decoder Properties -> Formats , still say "Use Microsoft WMV9 DMO decoder ....".
Also, having installed both versions (x86 & x64), I realized that whatever change I do to one version properties (for example x86 from DXVA native to DXVA copy-back), it happens also to the other version (x64) and the opposite.
Is it normal ?
Nev, have you seen that ?
Still exist both, using your latest beta.
nevcairiel
19th June 2014, 14:35
It functions as designed.
NikosD
19th June 2014, 14:46
Is there any way to set different properties for different versions ? (x86/x64)
nevcairiel
19th June 2014, 14:46
No, there is not.
NikosD
19th June 2014, 14:53
Given that would make your filters more flexible, I can imagine that the reason functioning this way is that is difficult to change.
nevcairiel
19th June 2014, 15:34
should Lavfilter support MKV with zlib compression for all codecs?
a lossless camstudio file in MKV with zlib compression doesn't load with Lavfilter but works fine with internal MPC-BE decoder/splitter.
thread: http://forum.doom9.org/showthread.php?t=170756
post with error: http://forum.doom9.org/showpost.php?p=1684177&postcount=8
sample: http://www.file-upload.net/download-9084230/camstudio.mkv.html
This has nothing to do with the zlib compression, that works for anything.
I fixed the problem though.
By the way, if a codec can actually benefit from a compression on top of its encoding, you should really use a different codec, since that one is extremely inefficient.
huhn
19th June 2014, 19:32
in this case camstudio plus zlib is one of the best codecs. intra frame codecs doesn't stand a chance and lossless h264 is about the same.
but this wasn't my idea in the start to use camstudio.
sergeo78
19th June 2014, 20:45
make at least one release via C3 processor. very necessary.
foxyshadis
20th June 2014, 01:49
Does it mean that it is no need to turn on dithering in MadVR if no scaling is used? For example, for the same video and monitor native resolution (1920X1080).
By the way, there is no way to disable dithering in LAV completely since there is dither type switching buttons only...
To explain what they said, dithering should only be done in converting high bit to low bit or converting YUV to RGB. (Usually that happens at the same time.) LAV can pass MadVR pure high-bit YUV and let MadVR do all of the dithering, or it can dither down to what Overlay or some other old renderer/driver can handle. You can force LAV to dither for old renderers by restricting the output, such as only allowing RGB for 8-bit (ONLY a good idea if your driver's YUV->RGB really sucks/is broken). At no point will the dithering be doubled.
NikosD
20th June 2014, 07:20
@nev
Which is the logic behind the decision of designing LAV filters to have common properties between two different versions (x86/x64) ?
mysterix
20th June 2014, 08:43
Does an "Normalize matrix" option applies any dynamic range compresion?
Should I use an "Normalize matrix" option in the LAV audio filter to prevent clipping? Does it prevent from clipping 100%? How it works, I mean, how this function chooses attenuation level to prevent clipping without preliminary analysing entire track (like foobar2000's ReplayGain does)? Does this function make any distortion or sound worse somehow?
andyvt
20th June 2014, 09:46
@nev
Which is the logic behind the decision of designing LAV filters to have common properties between two different versions (x86/x64) ?
Should an application's behavior change depending on the platform?
NikosD
20th June 2014, 11:29
In a single word, Yes.
As a user of a x64 OS, I have the choice of running x86 applications which use LAV x86 filters and x64 applications which use LAV x64 filters.
I want to use different properties of LAV filters for each architecture.
So simple, from the user's perspective.
LAV filters x86 and x64 are different filters and the common sense says that they should have different properties.
If I wanted to have same properties for x86 and x64, I would set it myself.
Now as is, I'm forced to use the same properties.
Obviously the developer's perspective was different, that's why I asked him to expose his view.
andyvt
20th June 2014, 11:53
In a single word, Yes.
Really? Would you want Word to format a document differently based on platform? Would you want your browser to render pages differently? If they did, I would characterize that as a bug.
As a user of a x64 OS, I have the choice of running x86 applications which use LAV x86 filters and x64 applications which use LAV x64 filters.
Yes, you do have that choice, but thing thing that you're thinking of as a feature is really just an artifact of a compatibly shim. While this can deliver different results based on platform isn't really something that you should base your application around.
I want to use different properties of LAV filters for each architecture.
So simple, from the user's perspective.
I think you mean from your perspective. Most users don't know, or what to know, how the sausage is made.
From a developer's perspective, you wouldn't want different behavior from an external COM object (what DS filters are) depending on which platform it runs on.
LAV filters x86 and x64 are different filters ...
That depends on how you think about it. The CLSID is the same.
... the common sense says that they should have different properties.
I don't think that's common sense. LAV provides the capability for applications to control the runtime values for the filters. That's the right way to manage this sort of thing.
pankov
20th June 2014, 12:30
andyvt,
what I think NikosD actually needs is not different settings based on platform (x86/64) but different settings based on player.
May be somewhere in the distant future Nev could add profiles similar to ffdshow/madVr which can be loaded automatically based upon the application .exe name or/and path.
But till then we have to rely on the player's ability to control LAV filters.
andyvt
20th June 2014, 12:45
andyvt,
what I think NikosD actually needs is not different settings based on platform (x86/64) but different settings based on player.
He asked a specific question and I was obliging :).
andyvt,
May be somewhere in the distant future Nev could add profiles similar to ffdshow/madVr which can be loaded automatically based upon the application .exe name or/and path.
But till then we have to rely on the player's ability to control LAV filters.
You're not completely at the mercy of the player or LAV to accomplish this goal (assuming that the player doesn't already configure the filters, then you are :)).
Since LAV stores its config in the registry (HKEY_CURRENT_USER\Software\LAV) it would be trivial to export this, change some settings, and export it again. Before launching your player-of-choice, run the appspecific.reg.
The UX for this approach isn't ideal because you'd have to UAC, but it wouldn't be that difficult to script it out (with the last step being to launch the player exe) because the settings are in HKCU it wouldn't need to be escalated to work.
pankov
20th June 2014, 12:54
I agree with everything you say and since this is something that only very advanced users probably need I think they can use such complex solution.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.