View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
jmone
10th January 2013, 00:54
Yes, it might help for eac3to at some point in the future, too. But has anybody actually tested yet how often eac3to fails? But that's a bit OT here, I guess...
FYI - the other bug bear for non-licenced menuless players is the identification of what are the forced sub track when they are not flagged as such. I "think" ripper such as ClownBD use eac3to to do this....
jmone
10th January 2013, 01:46
Just a bit of data taken from some discs I have that playlist selection can be a problem.
I picked 10 that first came to mind, their are others but these are the ones I have tested today (note: a public version may take a few days to make it to the MC18 board)
Results are from the latest versions of AnyDVD HD, JRiver and XBMC Frodo.
FYI - Just tested the JRiver 18.0.110 after they made this change.
1. Changed: When deciding the order of "importance" of various Blu-ray playlists of similar (but different) durations for a movie title, MC now picks based on number of audio streams (if they differ) rather than duration.
Here are the results of the discs that I had (non sreen pass) that did not produce the correct playlist before.
- Black Hawk Down - 00035.mpls {02:24:20} Main Movie - Now Correct
- Brave, Dark Knight Rises, Wall-E - I don't have
- Hellboy - 00030.mpls {02:12:28} Main Movie - Now Correct
- Inception - 00101.mpls {03:10:20} In Movie Special Feature - Still Incorrect VS 00100.mpls {02:28:07} Main Movie
- Iron Man 2 - 00847.mpls {02:04:39} Main Movie -Now Correct
- Sherlock Holmes - One that I had that also used to grab the wrong playlist but Now Correct
All in all a big improvement with a simple logic tweak by asking the right devs. I'm not sure if it is worth widening the time range to 45 minutes to capture stuff like Inception as it may also generate false positives.
ddjmagic
10th January 2013, 01:59
Thanks jmone, that a great improvement :) I will test the others listed once this version becomes public. Thanks.
ddjmagic
10th January 2013, 02:44
Assuming JRiver 18.0.110 also fixes at least 'Dark Knight Rises' then between JRiver/XBMC all 10 of the problem discs I posted would be working :cool:
Come on Nev it time for MPC/LAV to catch up :p ;) :D
Joking aside if MPC/LAV could combine the new logic from JRiver and XBMC, then playlist selection would be perfect :)
jmone
10th January 2013, 02:57
Stream selection is (and should be) a players responsibility. MC uses LAV as well but it is MC that picks the stream from those LAV splitter makes available. While it is a great topic....If you want MC, MPC (or any another player) to tweak their logic, support AnyDVD's disc.inf etc etc then I'd suggest it would be best via their forums not this thread as it really is OT for LAV.
ddjmagic
10th January 2013, 03:10
Stream selection is (and should be) a players responsibility. MC uses LAV as well but it is MC that picks the stream from those LAV splitter makes available. While it is a great topic....If you want MC, MPC (or any another player) to tweak their logic, support AnyDVD's disc.inf etc etc then I'd suggest it would be best via their forums not this thread as it really is OT for LAV.
Well Nev fixed MPC so it could use LAV Spiltter for selection a few days ago.
Also taken from the first post in the thread
"Support for opening BluRay playlists (.mpls), as well as the index.bdmv file, which will try to detect the main movie playlist!"
I'm talking about improving this main movie playlist detection in LAV, as it is listed as a feature, so I don't see this as off topic.
Nev has also mentioned adding 'disc.inf' support in the future, if the playlist info was available for all discs.
Edit - I think LAV could be the best chance of getting perfect selection into one player by improving this feature, I'm sure Nev would be able to add this if he chooses to in the future.
jmone
10th January 2013, 03:24
True - if nevcairel is going to build some logic into LAV Splitter that can match playlists, and find those rouge non flagged forced subs - then yup all part of this thread. I am under the impression (and could be easily be mistaken) that Nevcairiel had indicated otherwise so I'll butt out for now....
ddjmagic
10th January 2013, 03:34
True - if nevcairel is going to build some logic into LAV Splitter that can match playlists, and find those rouge non flagged forced subs - then yup all part of this thread. I am under the impression (and could be easily be mistaken) that Nevcairiel had indicated otherwise so I'll butt out for now....
You might be right, I was under the impression that LAV Splitter already had some built in playlist logic and that maybe it could be improved, but I could be mistaken too :)
nevcairiel
10th January 2013, 07:42
Joking aside if MPC/LAV could combine the new logic from JRiver and XBMC, then playlist selection would be perfect :)
I still haven't found any indication where this logic would be in XBMC. :p
CiNcH
10th January 2013, 09:02
1. Changed: When deciding the order of "importance" of various Blu-ray playlists of similar (but different) durations for a movie title, MC now picks based on number of audio streams (if they differ) rather than duration.
So what does it prefer there? The playlist with more audio streams?
ddjmagic
10th January 2013, 09:19
I still haven't found any indication where this logic would be in XBMC. :p
XBMC (Frodo) is able to display the full menu for a few of those discs (non BD-J) could this be helping with its selection?
Would it help if I sent you part of the XBMC debug log when one of those problem titles is selected?
starla
10th January 2013, 09:26
XBMC (Frodo) is able to display the full menu for a few of those discs (non BD-J) could this be helping with its selection?
Would it help if I sent you part of the XBMC debug log when one of those problem titles is selected?
If you / XBMC are using a menu to play the BD then it wont help LAV as the title selection is done by the HDVM inside libbluray (with the help of the user interaction).
ddjmagic
10th January 2013, 09:38
If you / XBMC are using a menu to play the BD then it wont help LAV as the title selection is done by the HDVM inside libbluray (with the help of the user interaction).
Sorry, I may have not been clear, it can play the full menu, if you choose too, but even without using the menu it is able to pick the main movie track (Main Movie is its default selection) it only plays the menu if you ask it too.
It looks like XBMC also uses HDMV/Libbluray to play the menu (When you choose the 'play menu' option)
nx6
10th January 2013, 11:17
LAV Filters 0.55
LAV Video
- Improved handling of raw RGB video with LAV Splitter (Video was upside-down in some cases)
- Improved support for the Overlay Mixer renderer
- Fixed decoding of non-mod16 video with CUVID
- Fixed DXVA2 decoding of H.264 MBAFF content with >= 16px cropping
- Support for fade in/out animations in DVD subtitles
- Fixed DVD menu overlays showing too early on some discs
- Fixed forced DVD subtitles being stuck on the screen until the next subtitle line
- Improved playback of MPEG-1 in MKV with Haali Splitter
Oho! I was having that issue. Thanks!
ddjmagic
10th January 2013, 13:26
Nev - I'm sorry you are right, I have made a mistake here.
XBMC does not have any logic different to LAV my tests were incorrect. This is what fooled me -
When I selected one of the problem titles from the library in XBMC, this comes up (Example Hellboy)
http://thumbnails104.imagebam.com/23126/a795f3231257832.jpg (http://www.imagebam.com/image/a795f3231257832)
Now I presumed (wrongly) that XBMC was telling me that playlist 30 was correct (which it is), kind of how Speedmenus would by listing it at the top.
In reality this was just giving me a list of titles it thinks the main movie might be and it just listed them from low to high.
This is why some from my list worked and some didn't, it just depended on if the correct playlist was a lower number.
So that's why you couldn't find any extra logic in XBMC, it was never there to begin with :o
Sorry for anytime you wasted on this! :scared:
I've retested all the discs outside of the library by individually mounting them and using the "play disc" in XBMC, on all 10 cases its get the playlist wrong, so it is using exactly the same logic as LAV
ddjmagic
10th January 2013, 13:27
:stupid: :D
iSunrise
10th January 2013, 15:07
...Dithering when converting audio to 16-bit Integer...
Since LAV Audio is the reason why I changed from ffdshow to LAV, I am very happy that you decided to improve decoder quality even further. So, thanks a lot for adding dithering.
If I may ask, what kind of dithering did you implement?
Gonna try out 0.55 right now, very excited.
nevcairiel
10th January 2013, 15:19
Technically the need for dithering is already lowering quality. :p
You should output untouched audio, not converted to anything.
Right now its rectangular dithering. Note that i did not implement this myself, i use the avresample library for this.
Pomegranate
10th January 2013, 16:00
You should output untouched audio, not converted to anything.
But then you're at the mercy of the audio renderer.
If you use directsound or waveout, windows will reduce the bit depth to whatever is acceptable for the sound device.
And even if you're using an external receiver via hdmi, do all receivers accept float 32 wav?
The only way I've found to get accurate results is to use mpc-hc + LAV + Reclock (Kernel Streaming or Wasapi), set reclock to "slave reference clock to audio" and to output everything exactly as it received from LAV audio decoder. I also always set MPC-HC's volume control to 100%.
madshi
10th January 2013, 16:07
TPDF dithering (used by eac3to) is better... :p And it's relatively easy to implement. But rectangular dithering is much better than none, of course.
Pomegranate
10th January 2013, 16:20
Madshi, have you heard of izotope mbit+? It's proprietary and is included in the latest Sound Forge Pro.
madshi
10th January 2013, 17:07
Yes, I've heard of it. Supposed to be quite good.
nevcairiel
10th January 2013, 17:25
An alternative avresample offers is triangular dithering with noise shaping, but its much slower. Since i believe the decoder should output untouched audio and any conversion should be done as late as possible, i have no plans to spend time implementing my own solution.
madshi
10th January 2013, 17:27
There's no option for triangular dithering *without* noise shaping? That's weird. The noise shaping is likely what makes it slow...
nevcairiel
10th January 2013, 17:34
They have this as well. Its calld triangular highpass. Noise shaping also only works on 48 and 44.1khz right now
madshi
10th January 2013, 17:48
How slow is triangular highpass? Nearer to rectangular or nearer to noise shaping? My best guess is that triangular highpass is similar to what eac3to is doing. It shouldn't be *much* slower than rectangular, I think, just a little bit...
hoborg
10th January 2013, 20:47
Thanks for new release Nev.
It looks like YADIF deinterlacing doesn't work any longer, tested on MPEG-2 recording. No problem in prew. release.
JEEB
10th January 2013, 21:06
Thanks for new release Nev.
It looks like YADIF deinterlacing doesn't work any longer, tested on MPEG-2 recording. No problem in prew. release.
I think I noticed this as well, suddenly there was combing even if I had enabled yadif and set it to 25/30. This was before the 0.55 release, at commit 008a4d3 (seemed to work with 09911d3). If you need more revisions tested, feel free to poke.
aufkrawall
10th January 2013, 21:32
Thanks, nev. :)
nevcairiel
10th January 2013, 23:27
And i was wondering if YADIF was broken after i saw a patch to fix it on the ffmpeg mailing list this morning. :p
mzso
11th January 2013, 16:14
Is there a way to determine what are the limits for HW accelerated decoding? (Is it the same for CUVID and DXVA?)
nevcairiel
11th January 2013, 16:28
The limit is defined by your hardware, so its the same for any implementation (assuming the implementation isn't bugged).
You can try something like DXVAChecker for some basic idea about whats supported, otherwise there is some documentation on wikipedia (at least for NVIDIA its somewhat detailed on hardware support)
mzso
11th January 2013, 16:41
@nevcairiel
Thanks!
I can't find much on Wikipedia, but I'll check out the app.
nevcairiel
11th January 2013, 18:15
LAV Filters 0.55.1
General
- Clicking the Tray Icon with a Property Page already active brings it back to the front
LAV Splitter
- Added an option to disable quality-based audio stream selection (selects the first stream matching the language preferences)
- Removed Bitrate from audio quality criterias, because its too unreliable at this point.
LAV Video
- Fixed YADIF deinterlacing (broken after a ffmpeg update on 0.55)
LAV Audio
- Switched to Triangular Dithering for 16-bit Integer conversions
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.55.1.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.55.1.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.55.1-x64.zip)
I knew there would be some issue that would require a fast bugfix release, this time it was YADIF being broken.
While i was fixing it, i added some other fixes and improvements, so that i can relax in peace on the weekend.
In case you missed the 0.55 release, here (http://forum.doom9.org/showthread.php?p=1609997#post1609997) are the release notes!
- nev
Plutotype
11th January 2013, 18:47
Thanks Nev for your work, time to test some videos and movies!
madshi
11th January 2013, 18:59
- Switched to Triangular Dithering for 16-bit Integer conversions
Thanks!
manni500
11th January 2013, 19:30
I see that over at the imouto blog there is download available called "LAV Filters Megamix" which includes your filters together with a host of other products. Is this recommended?
--------------
As an afterthought, a question!
After installation of the latest LAV filters, I realize that I can no longer use Normalize or to be exact, it has no longer any effect when triggered. I am using Potplayer 32-bit and this "LAV Filters Megamix". I already checked if the problem goes away when installing the filters separately, that is w/o the megamix, but to no avail. The problem persists
Any suggestions?
~~~~~~~~~~~~~
Win7 Ultimate x64
PotPlayer x32
LAV Filters v55
plus all the others included in the Megamix
Pomegranate
11th January 2013, 20:24
Dude! How fast do you work?
Thanks for the new release.
VipZ
12th January 2013, 09:28
I have updated the LAVFilterSetttings application,
http://www.mediafire.com/download.php?g3yzgnb7t84a71s
1.5 changelog,
- Reduced code size
- x64 binary
pie1394
12th January 2013, 11:47
LAV Filters 0.55
LAV Splitter
- Improved support for AAC in MPEG-TS (especially in ISDB-T)
It works as expectation when the file is not too big.
But the audio stream detection is broken when the TS file size is 31.5GB. It shows no audio stream. With 0.54.1, the audio stream is detected while the selected audio decoder is MS-DTV/DVD one.
Unfortunately I am unable to provide you an ISDB-T file in this size... If you are patient of getting a sample from bt, just search such sample with "Kouhaku" and "NHK-G MPEG2" keywords.
nevcairiel
12th January 2013, 12:38
Its not the file size. I got a small cut sample from the beginning of that file, and it looks like there is a problem at the start, and something in ffmpeg changed that handled it better previously, i'm tracking it down now.
pie1394
12th January 2013, 13:39
I don't know how many bytes the ts demuxer scans in the lav filter. It should always try to find a PAT first, and then the 1st PMT after such PAT. All stream contents before the first found PAT might belong to the different old programs.
In Europe, I ever heard that same channel could be used by different broadcasters at different time periods every day. So it might need the settop box's firmware program to handle the changes on the fly. Long time ago I actually wrote two ts demuxers to handle real-time dtv stream receiving/recording and just single ts file playback.
If I don't remember it wrong, the ISDB-T bandwidth is divided into 13 segements per 6 MHz channel. 1 segment bandwidth is allocated to transmit a smaller same video contents for Mobile phone device. It is 320x180 H.264 BP video + 50kbps HE-AAC audio streams
Found streams by MPC-BE
http://thumbnails103.imagebam.com/23170/73a61d231691746.jpg (http://www.imagebam.com/image/73a61d231691746)
Found streams by Lav Filter 0.55.1
http://thumbnails104.imagebam.com/23170/5cb5bf231691729.jpg (http://www.imagebam.com/image/5cb5bf231691729)
nevcairiel
12th January 2013, 13:44
Try with this version, it should handle it properly again:
http://files.1f0.de/lavf/LAVFilters-0.55.1-4-gcf22211.zip
For the record, usually everything is returned from the demuxer, it doesn't cut at PAT/PMTs or something like that. IMHO its the fault of the problem creating the stream if there are frames of the old program in the file.
The real issue was with the aac detection which got confused by not finding a channel configuration at first, and then failed to detect it in the later audio frames.
And LAV usually hides audio streams with 0 channels, because they are usually channel elements which are detected from the PMT, but not actually saved in the TS stream, so it didn't find channel info for them.
Jong
12th January 2013, 14:23
Nev, I am having some trouble with DVD playback (specifically ffw and rew) in JRiver MC that doesn't occur with other formats or even with direct playback of VOB files (see last post in the linked thread). It looks like the time codes may be messed up, although that may be a completely erroneous supposition on my part!
I am using LAV 0.55 (included in last but one MC build). I haven't retested with 0.55.1, but nothing in the release notes suggest it should affect this issue.
I realise this falls in the cracks between JRiver and (I am assuming) LAV, although I guess MadVR might have a part in this too. Still I would be very grateful if you could take a look and give your opinion. Of course, if there is any more info you need from me you only need to ask! Thanks.
http://yabb.jriver.com/interact/index.php?topic=77141.msg522451#msg522451
pie1394
12th January 2013, 16:56
Try with this version, it should handle it properly again:
http://files.1f0.de/lavf/LAVFilters-0.55.1-4-gcf22211.zip
It works now! :thanks:
Well, the seeking somewhat becomes broken with this 4:30:38.00 contents if it jumps to the time near 1:23:00.00 or after that. The playback will be frozen and no more functional. It needs to re-run the player again.
For the record, usually everything is returned from the demuxer, it doesn't cut at PAT/PMTs or something like that. IMHO its the fault of the problem creating the stream if there are frames of the old program in the file.
The real issue was with the aac detection which got confused by not finding a channel configuration at first, and then failed to detect it in the later audio frames.
And LAV usually hides audio streams with 0 channels, because they are usually channel elements which are detected from the PMT, but not actually saved in the TS stream, so it didn't find channel info for them.
I see! For this TS file, tsMuxerGUI-1.10.6 also mis-detects the truly available streams. Its analysis shows two video streams only. No AAC stream is listed. This file actually contains 1 MPEG-2 MP@HL stream + 2 LC-AAC streams. The additional one is with comment speaking, which can be demuxed with MPC-BE. LavFilter's analysis still shows only 1 valid AAC stream.
The streams for mobile devices should be only available when the ISDB-T demodulator receives and extracts the particular 1-seg signal.
mark0077
12th January 2013, 17:15
Hi, I'm using the latest LAV Filters 0.55.1. I notice an issue that audio gets significantly out of sync (0.5 seconds maybe), when seeking multiple times in some Blu-Rays. Seeking in "The Dark Knight", maybe 5-10 times in quick succession, I can reproduce this every time. Below is the pin info. This happens with cuvid or software lav video decoding. It doesn't happen with ffdshow video decoder. I'm using LAV Splitter and madVR video renderer in mpc-be. I'm launching it as a .m2ts file.
Can anyone reproduce?
- Connection media type:
Video: WVC1 1920x1080 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435657-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 146
Strangely it doesn't happen in for example, Sherlock Holmes Blu-Ray which has very similar pin info. Let me know if any other details necessary. I'm launching this one below as a .bdmv file incase that makes a difference.
- Connection media type:
Video: WVC1 1920x1080 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435657-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 143
EDIT: Tried switching streams to see if it was related to only true-hd content, but playback seems to stop for a few seconds each time I switch audio track. Audio remained out of sync however with non true-hd tracks.
Mercury_22
12th January 2013, 23:05
@Nev lately I'm getting a lot of this warnings ...remote: warning: unable to access '/root/.config/git/config': Permission denied
remote: warning: unable to access '/root/.gitconfig': Permission denied...when I'm trying to "clone"
But all seem to "clone" OK at the end
Is this OK ?:confused:
P.S. Only at 1f0.de seems to be this "problem"
nevcairiel
12th January 2013, 23:26
I updated git a few days ago, seems i forgot to adjust a config :p
Nothing bad, everything worked, just the warnings.
SamuriHL
12th January 2013, 23:29
LOL oops :)
nevcairiel
12th January 2013, 23:40
Its not my fault it changes behaviour without telling me. :p
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.