View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
rd1979
3rd March 2015, 02:12
Hi nevcairiel.
I buy GTX 960, test LAV Video Decoder on HEVC 10bit, then modify MPC-BE's video decoder. And ... perfect work DXVA HEVC 10bit, EVR Custom accept P010 DXVA input.
Here test build - http://aleksoid.voserver.net/MPC-BE/mpc-be.exe_DXVA_HEVC_4K_10Bit.7z
What did you test with? A 4k 10bit HEVC sample.............. I wish I had one of those.
;)
Aleksoid1978
3rd March 2015, 05:37
What did you test with? A 4k 10bit HEVC sample.............. I wish I had one of those.
;)
It's test build. Now in svn fully working decoder with support HEVC 10bit DXVA(work only with EVR Custom/EVR Sync renderers).
stax76
3rd March 2015, 19:15
How does cuvid compare to other modes using a GTX 960? Cuvid and DXVA copy back were fastest using DirectShowSource but DXVA copy back failed to work with several 4k HEVC test samples so I would like to settle with cuvid, I have one problem though, with a couple of TS files there are macroblocks shortly after seeking, here is a 300 MB sample to reproduce this:
http://1drv.ms/1BDzVuB
card: GTX 960
splitter: LAV Filters
decoder: LAV Filters cuvid
General
Audio_Codec_List : MPEG-1 Audio layer 2
Audio_Language_List : German
Codec/String : MPEG-TS
Video
Count : 297
StreamCount : 1
StreamKind : Video
StreamKindID : 0
StreamOrder : 0-0
ID : 6010
MenuID : 28396
Format : AVC
Format_Profile : Main@L4.0
Format_Settings : CABAC / 5 Ref Frames
Format_Settings_GOP : M=16, N=32
Codec : AVC
Codec_Profile : Main@L4.0
Codec_Settings : CABAC / 5 Ref Frames
Codec_Settings_CABAC : Yes
Codec_Settings_RefFrames : 5
Duration/String5 : 00:03:37.300 (00:03:37:15)
BitRate_Mode : VBR
BitRate_Mode/String : Variable
BitRate/String : 11.7 Mbps
BitRate_Maximum/String : 12.0 Mbps
Width/String : 1 280 pixels
Height/String : 720 pixels
PixelAspectRatio : 1.000
DisplayAspectRatio : 1.778
DisplayAspectRatio/String : 16:9
FrameRate/String : 50.000 fps
FrameCount : 10865
Resolution/String : 8 bits
Colorimetry : 4:2:0
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
ScanType : Progressive
Interlacement : PPF
Interlacement/String : Progressive
Bits-(Pixel*Frame) : 0.255
Delay : 52990724.311
Delay/String1 : 14h 43mn 10s 724ms
Delay/String3 : 14:43:10.724
Delay_Source : Container
StreamSize : 318692352
StreamSize/String : 304 MiB (93%)
StreamSize_Proportion : 0.92578
BufferSize : 14880000
colour_description_present: Yes
colour_primaries : BT.709
transfer_characteristics : BT.709
matrix_coefficients : BT.709
colour_range : Limited
nevcairiel
3rd March 2015, 19:19
I don't recommend using CUVID, as its a black box controlled by the NVIDIA driver, and there is nothing any of us can do to fix it.
If you have any issues with DXVA2 for HEVC, especially in Copy-Back, please report the problems you're having instead.
stax76
3rd March 2015, 19:36
here you go: https://www.dropbox.com/s/8zwrjqs3c2oulwf/HEVC%20-%20elecard%20city%202.mkv?dl=0
nevcairiel
3rd March 2015, 19:56
here you go: https://www.dropbox.com/s/8zwrjqs3c2oulwf/HEVC%20-%20elecard%20city%202.mkv?dl=0
That file seems to play just fine using DXVA2-CopyBack on my GTX 960.
Did you try the latest nightly build?
http://files.1f0.de/lavf/nightly/
stax76
3rd March 2015, 20:25
Sorry, didn't know there are nightly builds, I got one that plays with cuvid but not with DXVA, not with the MPC build from above and not with the new VLC version:
http://trailers.divx.com/hevc/TearsOfSteel_4K_24fps_9500kbps_2aud_9subs.mkv
IIRC neuron2 said many good things about cuvid and support from nvidia, do you have a idea what could be the problem with the macroblocks? It happens only with TS files.
nevcairiel
3rd March 2015, 20:45
I don't have the time or patience to try to deal with a corporate machine to try to get support, its easier to simply fix bugs myself in my own code. On top of that CUVID doesn't offer any inherent advantages, in fact it has a couple disadvantages built into its design, so in the end its easier for me and better for everyone if I can just get DXVA2 to be as perfect as possible. :)
stax76
3rd March 2015, 21:04
I'll stick to DXVA copy back then, thanks for the support.
nevcairiel
3rd March 2015, 21:10
Fixed the ToS DivX clip. I do however believe it was encoded with a old version of the encoder, and has some incomplete data, so its not technically valid - but nothing important was missing, so I could just relax an error check.
stax76
3rd March 2015, 21:38
Thanks again!
rd1979
4th March 2015, 01:49
It's test build. Now in svn fully working decoder with support HEVC 10bit DXVA(work only with EVR Custom/EVR Sync renderers).
I mean the 10bit HEVC video itself............
I have no such samples.
Aleksoid1978
4th March 2015, 02:47
I mean the 10bit HEVC video itself............
I have no such samples.
http://www.demo-uhd3d.com/categorie.php?tag=10bits
ddjmagic
4th March 2015, 15:52
Quick question about forced subtitles and LAV Splitter. I have a BD with the following English subtitle layout:
Track 1 - English SDH
Track 2 - English standard (this track also has the forced subtitle mixed in/hidden)
I have LAV subtitle selection mode set to "Only Forced Subtitles" I have 'Deliver only Forced Subtitles' unchecked/disabled.
It seems that LAV only creates a new selectable forced subtitle track for the first subtitle. Only the full subtitle track is selectable on the second track.
Is there a way of selecting the forced subtitle from the second track or is the only way to enable the "Deliver only Forced Subtitle" option?
That works fine, but then obviously the full subtitle can not be selected.
sneaker_ger
4th March 2015, 16:05
It seems in this case (multiple tracks of the same language and you don't want the first) "Deliver only Forced Subtitle" is the only way.
clsid
4th March 2015, 16:54
Thanks, but even WMP has this 3 options for Dolby Digital:
http://i.imgur.com/xknhMEX.jpg
http://i.imgur.com/M2zBh1V.png
There even is a special laptop mode that applies a 11dB gain.
http://support.microsoft.com/kb/944436
QBhd
4th March 2015, 17:31
Quick question about forced subtitles and LAV Splitter. I have a BD with the following English subtitle layout:
Track 1 - English SDH
Track 2 - English standard (this track also has the forced subtitle mixed in/hidden)
I have LAV subtitle selection mode set to "Only Forced Subtitles" I have 'Deliver only Forced Subtitles' unchecked/disabled.
It seems that LAV only creates a new selectable forced subtitle track for the first subtitle. Only the full subtitle track is selectable on the second track.
Is there a way of selecting the forced subtitle from the second track or is the only way to enable the "Deliver only Forced Subtitle" option?
That works fine, but then obviously the full subtitle can not be selected.
I had a similar thing recently, first two sub tracks were ENG... but the first had no forced subs (and as such nothing was delivered), the second had the forced subs (for foreign languages)... All I did was switch to the second sub track and voila, all was well (only forced subs delivered). Without a full scan of all the subs to see which ones have forced in them, I don't see a solution to these rare occurrences.
QB
ddjmagic
4th March 2015, 18:33
I had a similar thing recently, first two sub tracks were ENG... but the first had no forced subs (and as such nothing was delivered), the second had the forced subs (for foreign languages)... All I did was switch to the second sub track and voila, all was well (only forced subs delivered). Without a full scan of all the subs to see which ones have forced in them, I don't see a solution to these rare occurrences.
If I switch to the second English track I only get the full subtitle and not just the forced parts, unless I enable the "Deliver only Forced Subtitles" option, then it works fine (but full subtitle then isn't selectable)
I'm guessing this must be by design in LAV, so you don't have too many selectable subtitles, which could get messy.
There even is a special laptop mode that applies a 11dB gain.
http://support.microsoft.com/kb/944436
Works on Windows 8.1 too?
I have even tried the Microsoft DTV-DVD Audio Decoder without registry change and it's quite louder than LAV :confused:
JMThomas
4th March 2015, 23:00
Windows Media Center & Media Player can't adjust the audio delay to correct sound synchronization problems. This has been an issue since Day One.
I needed to create a negative delay (put the picture behind the sound), something my AV Receive can not do for me.
My first try used Shark007's Advanced Codec Settings http://shark007.net/win7codecs.html to reach the LAV Audio Configuration page to set the delay and make sure LAV was the active splitter.
After more Google-ing, I did the obvious and looked in the LAV Filters start-up folder for the LAV Audio Configuration icon.
Details of my quest are here: http://www.thegreenbutton.tv/forums/viewtopic.php?p=86835#p86835.
:thanks: to LAV!
Stereodude
5th March 2015, 04:13
Quick question about forced subtitles and LAV Splitter. I have a BD with the following English subtitle layout:
Track 1 - English SDH
Track 2 - English standard (this track also has the forced subtitle mixed in/hidden)
I have LAV subtitle selection mode set to "Only Forced Subtitles" I have 'Deliver only Forced Subtitles' unchecked/disabled.
It seems that LAV only creates a new selectable forced subtitle track for the first subtitle. Only the full subtitle track is selectable on the second track.
Is there a way of selecting the forced subtitle from the second track or is the only way to enable the "Deliver only Forced Subtitle" option?
That works fine, but then obviously the full subtitle can not be selected.
Either LAV or MPC-HC needs to properly parse the playlists on Blu-ray discs so that the proper streams are selected (like commercial players do). I've previously mentioned this and was told the specs or format information for parsing the playlists is not publicly available.
nevcairiel
5th March 2015, 10:16
Either LAV or MPC-HC needs to properly parse the playlists on Blu-ray discs so that the proper streams are selected (like commercial players do). I've previously mentioned this and was told the specs or format information for parsing the playlists is not publicly available.
The playlists do not contain such information.
The "proper selection" works through the interactive menus, which is not something you can just parse and find out, you need to execute the full interactive menus and let the user choose the streams to get it right, which is not something thats feasible, obviously.
ddjmagic
5th March 2015, 12:31
I understand that it not possible to automatically select the right track options without menu/user input.
I don't mind switching subtitle tracks at all, but the forced section of the track in question is not selectable without adjusting LAV settings (then the full track is not selectable)
It seems that the forced data for English track 1 is actually empty - nothing is ever shown during playback and during test processing MakeMKV deletes the forced track (turns out to be empty)
Is it possible for LAV to tell if the forced track is empty or would this require much deeper processing?
LigH
5th March 2015, 12:56
I guess there is this usual misunderstanding about the term "forced"... but I don't know the situation on Blu-ray disks. From the DVD Video I do remember:
Subtitle tracks can be both (non-exclusive)
a: selected (and possibly pre-selected by the authored menu logic, selecting no track at all is possible on DVD Video);
b: enabled (and possibly pre-enabled/disabled by the authored menu logic).
Single subtitles in a track can be either (mutually exclusive)
a: normal (to be displayed when a track is both selected and enabled);
b: forced (to be displayed when a track is selected, even if the track is disabled).
So if you set up a splitter/decoder to display only the few forced subtitles in a track, you won't see any subtitles if you selected and disabled a track which does not contain any forced, but only normal subtitles.
If I understand your intentions, you would prefer in such a case that the splitter selects the next track of the same language if the pre-selected track does not contain any forced subtitle? Hard to achieve, because it won't know if any of the subtitles will be forced unless the whole movie is scanned. At least that would be the case for a DVD Video. Not sure about Blu-ray.
ddjmagic
5th March 2015, 13:18
From what I've seen on Blu-ray. There are a couple of different types of forced subtitles:
1. Completely separate track (which is impossible to tell without the menu because it is not marked as such)
2. Forced subtitle is mixed in with the main subtitle track (which LAV can figure out what part is forced and make a selectable forced track)
The disc in question is the second type, but because it is the second track, LAV doesn't create a selectable forced subtitle (even though it can/could).
Stereodude
5th March 2015, 17:56
The playlists do not contain such information.
The "proper selection" works through the interactive menus, which is not something you can just parse and find out, you need to execute the full interactive menus and let the user choose the streams to get it right, which is not something thats feasible, obviously.
Are you sure it's a function of the menus? Movie only discs made with TSmuxer that have no menus can have setstream commands inserted with BDEdit that will change the streams that are used for playback. What prevents LAV or MPC-HC from honoring those commands? I will admit that I don't know if those commands are in the playlists or the clpi file or some other part of the blu-ray structure.
nevcairiel
5th March 2015, 18:13
Just because the menu doesn't actually show any menu doesn't really change anything. Its a fully programmable logic running in a virtual machine, the BDMV, you can't just "parse" that, you need to execute it, and thats not going to give you the information you want.
You are free to write code to prove me wrong, however. =)
Stereodude
5th March 2015, 18:36
From what I've seen on Blu-ray. There are a couple of different types of forced subtitles:
1. Completely separate track (which is impossible to tell without the menu because it is not marked as such)
2. Forced subtitle is mixed in with the main subtitle track (which LAV can figure out what part is forced and make a selectable forced track)
The disc in question is the second type, but because it is the second track, LAV doesn't create a selectable forced subtitle (even though it can/could).
The soft subtitles in type 1) may be flagged in the PGS stream as forced. They may not. However for proper playback of the disc this PGS "track" should chosen and used for playback by default. Currently LAV and MPC-HC can't handle this.
The soft subtitles in type 2) are individually flagged in the PGS stream as forced.
The problem as you've noted for some discs with forced subtitles of type 2) is that the PGS stream with the individually flagged forced subtitles isn't necessary the first PGS "track" of that language in the m2ts so LAV basically selects and watches for individually flagged subtitles in a PGS stream that has none. This seems most common when a disc has both captions (for the hearing impaired) and subtitles. The closed caption track generally will be the first one since it will have non spoken indicators of music or sounds prior to any spoken words that would require subtitles.
I previously requested that LAV "watch" more than the first PGS stream of the chosen language for individually flagged forced subtitles. nevcairiel indicated that was possible, but wasn't a high priority.
This is not a slam at nevcairiel or anyone else in the open source community, but I'm a little surprised that it's been almost 9 years since Blu-Ray appeared on the scene and there no open source solution that can properly play the movie from a decrypted disc (in terms of selecting the right streams, etc). I somewhat regularly find myself interrupting the movie I'm watching to check all the English subtitle tracks to see if there are subtitles I should be seeing but aren't for the spoken foreign language I'm hearing.
I previously paid for and used TMT5, but it won't bitstream audio with my most recent video card (Radeon 7790), and the image quality doesn't measure up to madVR and has subsequently been abandoned / discontinued. So now I'm using MPC-HC + LAV + madVR. This means I either check all the subtitle tracks when I think I'm missing them interrupting playback, I use something like eac3to ahead of time to extract all the English subtitles from the movie so I can figure out if any of them have forced subtitles I should see so I can manually select them for use at the start of playback, or remux the disc so LAV finds them in the first track an they're individually flagged as forced.
Stereodude
5th March 2015, 18:41
Just because the menu doesn't actually show any menu doesn't really change anything. Its a fully programmable logic running in a virtual machine, the BDMV, you can't just "parse" that, you need to execute it, and thats not going to give you the information you want.
You are free to write code to prove me wrong, however. =)
Isn't that what the libbluray effort is all about? I've read (but not tried it) that the latest versions of VLC have menu support.
nevcairiel
5th March 2015, 18:43
This is not a slam at nevcairiel or anyone else in the open source community, but I'm a little surprised that it's been almost 9 years since Blu-Ray appeared on the scene and there no open source solution that can properly play the movie from a decrypted disc (in terms of selecting the right streams, etc). I somewhat regularly find myself interrupting the movie I'm watching to check all the English subtitle tracks to see if there are subtitles I should be seeing but aren't for the spoken foreign language I'm hearing.
Commercial players really also cannot do that like you suggest.
What the commercial players do is use the BDMV or Java stuff to do this, which means they use the Menu. Some discs may not have a menu, but they do have BDMV/Java logic, which is just a small program in itself which sends commands.
There are some solutions for Blu-ray menus in the open source now, you might be able to use those.
But that also means you always get the menu, there is no middleground of knowing the streams but not showing a menu. Honestly, I prefer not having to wait through the menu loading, using some animated thingy to navigate around, having to skip over a bunch of trailers, instead I prefer instant playback. But then I also rip 99% of my discs before I ever watch them, and solve the subtitle problem that way.
stax76
5th March 2015, 18:50
Isn't that what the libbluray effort is all about? I've read (but not tried it) that the latest versions of VLC have menu support.
I tried it without success.
ddjmagic
5th March 2015, 19:51
nevcairiel - Could LAV splitter have an option to create the addition subtitle track for all tracks that match the preferred language? (from the language code)
jkauff
6th March 2015, 18:49
This is not a slam at nevcairiel or anyone else in the open source community, but I'm a little surprised that it's been almost 9 years since Blu-Ray appeared on the scene and there no open source solution that can properly play the movie from a decrypted disc (in terms of selecting the right streams, etc). I somewhat regularly find myself interrupting the movie I'm watching to check all the English subtitle tracks to see if there are subtitles I should be seeing but aren't for the spoken foreign language I'm hearing.
JRiver Media Center somehow manages to find the correct forced subtitles in a Blu-ray folder. Matt, one of the head developers, told me he wrote some custom subtitle-handling code a couple of years ago. I have no idea what he did, but it works.
FireFreak111
7th March 2015, 01:47
I was just wondering what the plans are for DTS-HD decoding? Is the DLL method the intended plan for the foreseeable future? is FFMPEG planning on a decoder any time soon?
With the move to 64 bit, and the faster HEVC performance in 64 bit, the DLL will not be a possibility anymore.
videonerd
9th March 2015, 16:09
Lavfilters seem to be the de facto splitter e.g. mpc hc, mpdn, mpc be etc. Now why is it that WMV seeking is not fixed? Is it too complex of an issue to fix? I am just wondering because all other apps out there do it well e.g. vlc, mpc built in splitters, mpc be splitters, default wmv. So what exactly is the coding issue that the team is facing?
Don't get me wrong, the only reason I raise this is because lavfilters is awesome for everything else (just not WMV).
Any insights anyone?
LigH
9th March 2015, 16:48
Is there a general issue with all WMV files, or only with incomplete ones (without keyframe index)?
Did you activate "fast seeking" in MPC-HC (which jumps to the closest known keyframe, instead of decoding from the last known keyframe up to the seek position)?
nevcairiel
10th March 2015, 14:38
It could also help to provide sample files which don't seek properly (but do seek in other applications).
jkauff
11th March 2015, 14:27
I'm having a problem with QuickSync decoding in LAV. I only use it when I'm running Handbrake (I use CPU decoding normally), but when I do, maybe halfway through an MKV movie the audio and video suddenly lose sync by a lot--5 to 10 seconds. Closing MPC-HC and restarting usually fixes it, but only temporarily.
I don't know if this is a LAV problem, a bug in Eric Gur's code, an MPC-HC glitch, or an Intel driver issue.
Anyone else experienced this?
andyvt
11th March 2015, 14:32
I'm having a problem with QuickSync decoding in LAV. I only use it when I'm running Handbrake (I use CPU decoding normally), but when I do, maybe halfway through an MKV movie the audio and video suddenly lose sync by a lot--5 to 10 seconds. Closing MPC-HC and restarting usually fixes it, but only temporarily.
I don't know if this is a LAV problem, a bug in Eric Gur's code, an MPC-HC glitch, or an Intel driver issue.
Anyone else experienced this?
Have you tried using DXVA instead of QS? If so, is the behavior the same?
jkauff
11th March 2015, 18:58
Have you tried using DXVA instead of QS? If so, is the behavior the same?
I haven't tried it since DXVA still requires work by the CPU. Handbrake uses as much CPU as it can get, up to 100%.
nevcairiel
11th March 2015, 19:00
DXVA-CB uses less CPU than QS these days, and its much less buggy.
NikosD
11th March 2015, 19:09
I haven't tried it since DXVA still requires work by the CPU. Handbrake uses as much CPU as it can get, up to 100%.
DXVA-CB uses less CPU than QS these days, and its much less buggy.
QS uses CPU too, it's a copy-back mechanism and actually it uses more CPU than DXVA-CBD, like Nevcairiel said.
But QS has the advantage of being faster, sometimes a lot faster than the new DXVA-CBD.
There are no new bugs for QS.
Basically the old incompatibilities with .ts files and LAV splitter.
QS works better with Haali splitter.
starla
13th March 2015, 17:25
nevcairiel - Could LAV splitter have an option to create the addition subtitle track for all tracks that match the preferred language? (from the language code)
To mix things up a bit more some disks will have all audio and subtitle streams tagged as UNK. Only the BD-J / Java can select the "correct" stream as they know how to map the stream indices against languages. Not sure if this is some failed copy protection atempt or just a failure to produce valid content :)
romulous
15th March 2015, 03:03
Hi nev,
Can you enable support in LAV Video for the following subtype please?
{3253534D-0000-0010-8000-00AA00389B71}
Sample file:
https://dl.dropboxusercontent.com/u/105555957/madVR%20Screencast%20Issue.wmv (9.48MB)
Thanks!
leeperry
15th March 2015, 05:55
Hi nev, going back to this old post of mine (http://forum.doom9.org/showthread.php?p=1651001#post1651001) I was wondering if you were accepting feature requests?
1) an option to increase the cache of your splitter in order to be able to play untouched bluray from slow storage(optical, USB, network) as I have to force 65MB cache in HMS to play remuxed bluray from this cheapo BD reader because it's choppyland with LAV.
2) lipsync has been recently discussed in mVR's thread but at this point nobody wants to hear about settings to finetune it as madshi rejected the idea, so did Reclock's coder and your video decoder doesn't come with a delay option either :(
I use headphones to a USB DAC, I don't run a fancy AVR with delay settings and atm I'm forcing 28ms as an audio delay in ffdshow because that's the input lag figure a review of my TV measured(in every picture mode, not just gamer) but if I enable linear phase in my VST EQ plugin I have to delay the video so I must force ffdshow video between LAV and mVR for this purpose :o
Also, your 0.64 installer failed to register the filters on my W7SP1 x86 box in case you'd want logs, I had to use the zipped version.
:thanks:
e-t172
15th March 2015, 10:39
2) lipsync has been recently discussed in mVR's thread but at this point nobody wants to hear about settings to finetune it as madshi rejected the idea, so did Reclock's coder and neither of your A/V decoders come with a delay option :(
They do. See "Audio delay" in LAV Audio properties.
leeperry
15th March 2015, 15:32
OK my bad, actually I use ffdshow for audio as I need VST plugins support and it doesn't allow negative delay so if I enable linear phase in my EQ plugin I do need to add delay on the video side(due to the extra latency).
So a delay option in LAV video as well would be pretty sweet, exactly like ffdshow which allows both audio and/or video delay.
clsid
15th March 2015, 16:39
Or you use LAV Audio decoder in combination with ffdshow audio processor.
leeperry
15th March 2015, 17:39
True, but then I might as well use ffdshow video post-processing to add delay to the video. I guess my real problem is that ffdshow audio doesn't allow negative delay but it would make sense to me that both audio and video LAV decoders allow delay, much like ffdshow because some LAV users(such as me) need to add delay to the video without using LAV audio, it's not like both decoders have to be used together :o
nevcairiel
15th March 2015, 17:52
If an audio processor adds a processing delay/latency, then it should automatically compensate for it in the playback chain (which it easily can). If it doesn't, then it is fundamentally broken, and I'm not going to offer options to fix other broken software.
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.