View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
LoopinFool
9th October 2012, 18:04
Unless you explicitly turned the wmv9 dmo off in LAV.
I did.
But I'm not sure I've compared it to LAV using the DMO decoder -- I'll be sure to do that.
EDIT: Did more testing. When using the LAV Video filter, the difference between ffmpeg and DMO decoder is too small to measure (on my system) using Task Manager. I'll keep the "use DMO" default enabled now.
- LoopinFool
nevcairiel
9th October 2012, 18:19
I just did a quick and dirty benchmark on a progressive VC-1 file i usually use for benchmarking:
32-bit:
LAV ffmpeg: 74.6 fps
LAV wmv9dmo: 106.1 fps
MS DMO: 104.2 fps
64-bit:
LAV ffmpeg: 82.4 fps
LAV wmv9dmo: 119.6 fps
MS DMO: 118.5 fps
This even was with debug builds of LAV, might get 1-2% more out of a release build.
Long story short, adding the fact that the ffmpeg decoder cannot decode VC-1 interlaced, its a clear choice.
LoopinFool
9th October 2012, 18:54
YADIF crash:
On that premiere-paff.AVC.ts file posted here earlier, the 64-bit Video Decode filter crashes with YADIF enabled. The 32-bit version is fine.
- LoopinFool
Sebastiii
9th October 2012, 19:03
Nevcairiel :
That clear choice for sure :)
nevcairiel
9th October 2012, 19:46
YADIF crash:
On that premiere-paff.AVC.ts file posted here earlier, the 64-bit Video Decode filter crashes with YADIF enabled. The 32-bit version is fine
Fixed, they must've changed the calling syntax on creating some of the filters, curious that it happend to just work on 32-bit.
oddball
9th October 2012, 19:56
The latest beta still reports incorrect FPS from source filter with the test video 'birds - 18514072.mp4' from http://hdcam.web-pda.info/
In MadVR it says
movie 59.892 fps (says source filter)
When it should be 59.940 fps
Also AC3 decoding of the file http://www.lynnepublishing.com/surround/www_lynnemusic_com_surround_test.ac3 to PCM output to ReClock AC3 reencode results in it being overly loud and distorted. No such problem exists when using AC3Filter or ffdshow to decode AC3 to multi-channel PCM.
I hope you can investigate and fix these two issues as they are preventing me from using LAV audio decoder (at least for AC3 decoding and that one particular video clip).
nevcairiel
9th October 2012, 20:07
movie 59.892 fps (says source filter)
When it should be 59.940 fps
Thats what it measured from the first bunch of frames in that file, if you want anything else, report a bug at ffmpeg. Its close enough, imho. It could be unset, and still be perfectly valid. DirectShow specs that field as a rough estimation. I don't feel like crawling around the inner workings of the mp4 demuxer to try to figure this out at this time, for a mostly cosmetical issue.
Also AC3 decoding of the file http://www.lynnepublishing.com/surround/www_lynnemusic_com_surround_test.ac3 to PCM output to ReClock AC3 reencode results in it being overly loud and distorted.
Technically this file is encoded very badly. Its encoded with overflows, which means the maximum volume exceeds 100%. Apparently this is possible to do in AC3, and all spec-compliant decoders would show these overflows. In ffdshow you're probably using the a52 decoder, which is known to generally be quiter then others, so it avoid the overflow. AC3Filter has AFAIK by default all sorts of normalization and whatnot activated, which prevents this from creating distortions (see http://ac3filter.net/wiki/AC3_overflows_in_movies)
In one of the future versions, i might simply allow clipping protection to be active even when mixing is not active, which would allow this issue to be worked around. For now, you can activate DRC for AC3, which resolves this in most cases, or enable the mixer with clipping protection. :p
oddball
10th October 2012, 01:15
Close enough is not good enough I'm afraid. I get tons of dropped frames and frame freeze because it's screwing up the playback chain. It's the only clip I have had issues with though to be honest. So it's ffmpeg which is giving bad framerate reporting. Will look into mentioning it if so.
I tried the mixer with clipping and it does not resolve the issue. Generally I keep DRC off. AC3Filter is playing it vanilla (all normalization, auto gain, bass redirection, you name it is OFF) and it plays back with no distortion when forwarded to ReClock. Anyhow you are probably correct about it being a bad encode.
mkanet
10th October 2012, 03:31
Well I figured out my problem and the answer to my previous question.
If "Use microsoft WMV9 DMO decoder for WMV3 and VC-1" setting is enabled, LAV will use it instead of CUVID VC-1; even if CUVID VC-1 is enabled. Microsoft WMV9 DMO (with or without wrapper) stutters once in a while due to high CPU usage (~30% or so).
If I disabled the "Use microsoft WMV9 DMO decoder for WMV3 and VC-1" setting, CUVID VC-1 setting is definitely used without any video stutter. CUVID VC-1 setting also takes precedence over LAV's ffmpeg (SMPTE VC-1) setting if both are enabled.
So, the problem was not knowing which VC1 LAV decoding is used. It gets particularly confusing if all settings are enabled at the same time. I didn't realize this until I tested in graphstudio. I dont mess with decoder properties pages and filters much since I spend most of my time in SageTV Media Center and a TV remote control only.
There's no question that on my system CUVID works the best; only using about 4% CPU for VC1 (on a 6 year old quad core). My GT640 does a really good job.
nevcairiel
10th October 2012, 06:50
If "Use microsoft WMV9 DMO decoder for WMV3 and VC-1" setting is enabled, LAV will use it instead of CUVID VC-1; even if CUVID VC-1 is enabled.
Thats not how it works. CUVID is always tried before any software codec, only if CUVID fails it goes to the wmv9dmo decoder. The code is quite clear on that, and also works for me just fine.
Something else must've been up in your setup.
In general the 3 options are linked together to some degree, instead of all enabling some other decoder. The vc1 option in the long formats list is a master switch, if you turn that off VC-1 won't be decoded with LAV at all. The WMV9 DMO option switches between ffmpeg and the wmv9dmo. If its enabled there is no way to get ffmpeg to decode vc1. Thats also the reason why changing this option wouldn't make any difference for your problem. There is quite simply a check in there "if wmv9dmo active, use wmv9dmo, else use ffmpeg". It has no influence on CUVID or anything, because the option is only evaluated if it wants to create a software decoder - be it ffmpeg or the wmv9dmo.
In short, you should not even think about which VC-1 software decoder is used, just enable CUVID and its used for decoding - apparently that also works for everyone else like that. :)
Anyhow, as long as it works for you now...
nevcairiel
10th October 2012, 07:01
Close enough is not good enough I'm afraid. I get tons of dropped frames and frame freeze because it's screwing up the playback chain.
The framerate is usually not used for playback by anything, so i highly doubt its the reason for your playback problems.
The only thing the framerate is usually used for is refresh rate changing, but it should be close enough for any half-smart refresh rate changer to use 59.94 Hz (if available).
wanezhiling
10th October 2012, 11:53
http://forum.doom9.org/showpost.php?p=1595165&postcount=212
Same is lav filters
nevcairiel
10th October 2012, 12:08
http://forum.doom9.org/showpost.php?p=1595165&postcount=212
Same is lav filters
Apparently this needs a login to download anything. Can't you asian guys use proper file hosters? <.<
Edit: nevermind, it was just terribly slow, i somehow managed to download it.
nevcairiel
10th October 2012, 12:53
http://forum.doom9.org/showpost.php?p=1595165&postcount=212
Same is lav filters
Theora encoded, how unusual. :)
Should be fixed for the next version.
mkanet
10th October 2012, 16:16
Hi Nev, thanks for explaining in detail. Actually, it makes sense now; and, does match what I'm seeing.
However, I found the real problem. I was still getting stuttering for VC1 in SageTV (but not in graphstudio). The problem is caused by SageTV's splitter not handling VC1 correctly. Unfortunately, SageTV forces the user to use it's propriety splitter for M2TS/TS files. For all other media, such as MKV, it uses the system splitter (LAV). Changing the splitter breaks bluray playback. Too bad there's no "Enable VC-1 Timestamp correction" in their splitter.
Thats not how it works. CUVID is always tried before any software codec, only if CUVID fails it goes to the wmv9dmo decoder. The code is quite clear on that, and also works for me just fine.
Something else must've been up in your setup.
In general the 3 options are linked together to some degree, instead of all enabling some other decoder. The vc1 option in the long formats list is a master switch, if you turn that off VC-1 won't be decoded with LAV at all. The WMV9 DMO option switches between ffmpeg and the wmv9dmo. If its enabled there is no way to get ffmpeg to decode vc1. Thats also the reason why changing this option wouldn't make any difference for your problem. There is quite simply a check in there "if wmv9dmo active, use wmv9dmo, else use ffmpeg". It has no influence on CUVID or anything, because the option is only evaluated if it wants to create a software decoder - be it ffmpeg or the wmv9dmo.
In short, you should not even think about which VC-1 software decoder is used, just enable CUVID and its used for decoding - apparently that also works for everyone else like that. :)
Anyhow, as long as it works for you now...
nevcairiel
10th October 2012, 16:19
The problem is caused by SageTV's splitter not handling VC1 correctly. Unfortunately, SageTV forces the user to use it's propriety splitter for M2TS/TS files. For all other media, such as MKV, it uses the system splitter (LAV).
If you can find out the CLSID of their splitter, i can put a fix into LAV Video. If you install "DirectShowSpy", you can usually peek into SageTV's DirectShow graph with GraphStudio, and get the CLSID of the filter there.
Otherwise, maybe SageTV shows such information somewhere?
mkanet
10th October 2012, 16:40
Oh wow! Really! Nev, thank you so much. That would be awesome!
Luckily, I already know the CLSID and the splitter/filter used.
MpegDeMux.ax (http://www.sendspace.com/file/5m8vl4)
{ABD65DEA-5701-4F21-863B-591B057D2268}
If you can find out the CLSID of their splitter, i can put a fix into LAV Video. If you install "DirectShowSpy", you can usually peek into SageTV's DirectShow graph with GraphStudio, and get the CLSID of the filter there.
Otherwise, maybe SageTV shows such information somewhere?
LoopinFool
10th October 2012, 18:11
nevcairiel,
I've got a small request for the next version of the installer...
Could you please add the .qt extension for LAV Splitter? Yes, .mov is the current standard, but .qt is still an accepted Quicktime file extension.
Since I actually need this, I added it to the registry myself, but it would be nice if the LAV installer included it. The splitter does handle .qt files and adding another supported file extension shouldn't hurt anything.
Thanks,
- LoopinFool
nevcairiel
10th October 2012, 22:03
Could you please add the .qt extension for LAV Splitter? Yes, .mov is the current standard, but .qt is still an accepted Quicktime file extension
What an odd name, but i guess it doesnt hurt anything.
Oh wow! Really! Nev, thank you so much. That would be awesome!
You can try this version, it should hopefully work better in conjunction with the SageTV source:
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-126-gd2108d3.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-126-gd2108d3-x64.zip
I also improved the wmv9dmo decoder, it previously didnt properly deal with source filters that send the timestamps in the "non-standard" format, but now it does.
LoopinFool
10th October 2012, 22:41
What an odd name, but i guess it doesnt hurt anything.
Don't forget...Quicktime did not originate on the Windows platform. Other non-Mac platforms (such as SGI) used .qt before the three-letter .mov version became the de-facto standard due to Windows.
http://www.fileinfo.com/extension/qt
Thank you,
- LoopinFool
hoborg
11th October 2012, 06:26
Hi Nev.
I noticed issue with DVD playback.
Right now i have one DVD in my HTPC with animated menu runing in loop.
I noticed strange freeze in menu. If i start, jump to menu and leaving it play in loop, there it is possibility it will freeze. One time i noticed that menu playback being slower, slower and slower then it freeze.
It happend when DVD play to an end and return to menu.
If i run menu and play the DVD, no problem.
I didnt try it on my PC yet.
I have YADIF ON with 50/60 setting.
nevcairiel
11th October 2012, 06:52
Right now i have one DVD in my HTPC with animated menu runing in loop.
I noticed strange freeze in menu. If i start, jump to menu and leaving it play in loop, there it is possibility it will freeze. One time i noticed that menu playback being slower, slower and slower then it freeze.
A bunch of questsions:
- Is it a static menu (still image background), or dynamic (moving background)?
- You just ignored it, didn't change the selected menu item, or anything like that?
- How long did it sit there until it froze?
- Which DVD is it, maybe i can obtain a copy?
hoborg
11th October 2012, 07:06
A bunch of questsions:
- Is it a static menu (still image background), or dynamic (moving background)?
- You just ignored it, didn't change the selected menu item, or anything like that?
- How long did it sit there until it froze?
- Which DVD is it, maybe i can obtain a copy?
Nev, i need to do more testing. It is some Czech child DVD, i doubt you can obtain it. I am not watching it, my children do. I noticed the problems just by walking around TV, i dind do detail tests yet.
But
- menu is dynamic
- if i start DVD, it have language selection. I am not sure why, but i am not able to select language by my remote on this DVD, but if i hit menu, it will jump to menu and navigation is working.
I will try do more specific test on my PC this evening and if i will be able to preproduce it on my PC, i will rip the menu from DVD and share it.
Hope it will help.
bran
11th October 2012, 14:39
Having trouble bitstreaming DTS-HD on Windows 8.
Latest official MPC-HC
Latest LAV Filters
GTX 460 Official Win 8 drivers
Configured the same way as on Win7, all I get is static or choppy sound, and in the same time choppy video. DTS videos works like a charm.
Anyone got it working with GeForce on Win8?
hoborg
11th October 2012, 18:18
A bunch of questsions:
- Is it a static menu (still image background), or dynamic (moving background)?
- You just ignored it, didn't change the selected menu item, or anything like that?
- How long did it sit there until it froze?
- Which DVD is it, maybe i can obtain a copy?
Hi.
I did some tests and i was able to reproduce slowing down on all DVDs animated menus i tryed.
I tryed to enable/disable YADIF, both have same issue.
Tested on WinXP and Win7 VMR9/EVR
Here is MPC-HC crash report:
Problem Event Name: APPCRASH
Application Name: mpc-hc.exe
Application Version: 1.6.2.4360
Application Timestamp: 4f87c7d2
Fault Module Name: LAVVideo.ax
Fault Module Version: 0.51.3.0
Fault Module Timestamp: 5075e1fe
Exception Code: c0000005
Exception Offset: 000b3c6a
OS Version: 6.1.7601.2.1.0.768.3
Locale ID: 1029
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
EDIT:
I noticed that sync offset in MPC-HC renderer statistic get out of sync, then it crashed.
nevcairiel
11th October 2012, 18:36
Could it be that the memory MPC-HC uses increases while you're watching it there?
How long does it usually take until it crashes?
Edit:
May have found something else, hang on.
hoborg
11th October 2012, 18:46
Could it be that the memory MPC-HC uses increases while you're watching it there?
How long does it usually take until it crashes?
Well, i didnt think so.
I found a way how to make it crash preaty fast - start DVD in MPC-HC, go to DVD menu, show MPC-HC render statistic. Now cycle mouse over DVD navigation buttons for a while - you can see big jump of green line, then crash ocur.
http://hobring.esero.net/saf/dvd_crash.png
jmonier
11th October 2012, 19:02
I'm seeing a problem with LAV Splitter when seeking in certain mpg files such as the following:
http://www.mediafire.com/?p4hsfqcoj9htj82
What happens is that, after the seek, the audio will start playing immediately, but the video will be frozen for as much as 1-2 seconds and then will start in sync with the audio. This doesn't always happen but it seems to be quite repeatable as you get further into the file. With the clip above, it seems to happen every time when you seek back from near the end of the clip (girl on horseback).
From what I can see, it seems that the splitter is seeking to one place in the audio stream and to another (forward in time) in the video stream. It also appears that the audio stream plays from the correct location and the video stream isn't started until the audio stream catches up with it.
This doesn't happen with the Haali Splitter and doesn't happen at all when the clip is converted to mkv (using mkvmerge).
The mpg files that have this problem all come from one of two US OTA sources. Similar content from other US OTA sources do not have the problem.
I'm using Zoomplayer with LAV Video and Audio, madVR and Reclock.
nevcairiel
11th October 2012, 19:09
From what I can see, it seems that the splitter is seeking to one place in the audio stream and to another (forward in time) in the video stream. It also appears that the audio stream plays from the correct location and the video stream isn't started until the audio stream catches up with it
You can't seek to different points in time for different streams, unless that file is very badly muxed in the first place. Have to seek to one byte position, and read from there. :)
What most likely happens is that it seeks to the time you requested exactly, however the video cannot be decoded yet, because its lacking keyframes, so the decoder has to wait for keyframes. Audio usually doesn't have such a concept, so it starts immediately.
MKV is smarter there, because it actually has an index of the file, where the splitter can determine where ideal seeking points are, so that decoding can resume faster. mpg containers don't have this.
Trying to improve seeking on "stupid" formats that have no index is on the list of things to do, but its not a trivial task, because all you can do is "guess", like try to seek a few seconds before your desired seek point, in the hope that we find a keyframe there to start decoding from.
Not sure when i'll find the time to work on this, its not all that important for me personally.
If i had to guess, that specific OTA channel has a rather large gap between key frames in their encodes, which causes this behaviour. mpeg containers are really more meant for broadcasts and stuff, not for random access playback. ;)
jmonier
11th October 2012, 19:27
Everything you say makes sense and I understood going in that it's a special case. I can live with it, even when using LAV Splitter, and it works perfectly when I substitute the Halli Splitter. I had hoped, since it works perfectly with Haali, that it would be a simple fix.
nevcairiel
11th October 2012, 19:29
Sadly reading backwards in files isn't really a thing thats well supported, so you can't just go backwards and try to find that keyframe you want.. but i'll address it at some point, and invent some crazy heuristic.
Wonder what a safe bet is on going backwards. Whats a usual GOP size on broadcast content? 100 frames?
nevcairiel
11th October 2012, 19:31
Well, i didnt think so.
I found a way how to make it crash preaty fast - start DVD in MPC-HC, go to DVD menu, show MPC-HC render statistic. Now cycle mouse over DVD navigation buttons for a while - you can see big jump of green line, then crash ocur.
Try this version, i fixed some things that may have caused it.
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-134-g40f0d5d.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-134-g40f0d5d-x64.zip
Thanks for testing. :)
We're getting closer to a relase version, dvd playback seems to be getting stable now.
hoborg
11th October 2012, 20:53
Try this version, i fixed some things that may have caused it.
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-134-g40f0d5d.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-134-g40f0d5d-x64.zip
Thanks for testing. :)
We're getting closer to a relase version, dvd playback seems to be getting stable now.
Thanks Nev.
I tested it and it is really better now, no crash anymore, but i am getting freeze now if i try "cycle over DVD menu navigation".
The playback just freeze, no error or crash...
The menu highlighting "reaction time" will become slower until freezing.
nevcairiel
11th October 2012, 21:36
Thanks Nev.
I tested it and it is really better now, no crash anymore, but i am getting freeze now if i try "cycle over DVD menu navigation".
The playback just freeze, no error or crash...
The menu highlighting "reaction time" will become slower until freezing.
I couldn't really reproduce any "slowdowns", but i managed to make it freeze, and fixed the cause.
So, lets try again!
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-137-ga3923db.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-137-ga3923db-x64.zip
mkanet
11th October 2012, 21:59
Thanks Nev, I will test the latest 32bit video decoder with sageTV's demux for VC1 as soon as I get home. I can't wait!!
hoborg
11th October 2012, 22:01
I couldn't really reproduce any "slowdowns", but i managed to make it freeze, and fixed the cause.
So, lets try again!
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-137-ga3923db.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-137-ga3923db-x64.zip
Great work Nev, as ussual :)
:thanks:
VipZ
11th October 2012, 22:22
Thanks Nev, DVD playback working much better now :)
Subtitle options are now being honoured, Face/Off UK DVD working properly now and most vob files /w subs working :)
I have a DVD where opening the vob files don't detect the sub's. Let me know if a sample would be useful if this is something you could fix.
EDIT: 2 issues,
VOB sub's seem to have pallet issues eg, UK Independence day good but green and Deep Impact white/light gray and not eye friendly
Some vob files don't get the correct duration, 2min vs 23min aprox, MPC reads it correctly (UK Deep Impact DVD)
LoopinFool
11th October 2012, 22:36
Whats a usual GOP size on broadcast content? 100 frames?
I'm not sure what's usual, but this one is from an ATSC sub-channel with a very low bitrate, so it's got a very long GOP structure for MPEG2.
GSpot says the I-frame interval averages 45.9 frames with a maximum of 64.
I'd expect OTA HD streams to have much smaller GOPs, but I've never really looked at them.
I've often wondered if some MPEG splitters dynamically build an I-frame index table as they read in the stream so they can at do a really good job when seeking back to somewhere they've already been.
You might want to have a look at DGMPGDec (http://neuron2.net/dgmpgdec/dgmpgdec.html) for ideas (especially DGIndex).
- LoopinFool
Duffy Moon
11th October 2012, 22:38
I'm experiencing an odd phenomenon. When I play files in a playlist, the first is fine, but when the next one opens, the screen is black.
LAVFilters-0.51.3-134-g40f0d5d, MPC-HC and madVR (latest builds).
mkanet
12th October 2012, 03:05
Hi Nev, I wish I had good news. The latest LAV video decoder 0.51.2-126 still stutters in the same way as before. I'm sure you can reproduce it using the sagetV splitter (posted in my earlier forum post). You might be able to know exactly what's going on seeing it in action.
http://i67.photobucket.com/albums/h283/mkanet/VC1Stutter_zpse8900ed8.jpg
What an odd name, but i guess it doesnt hurt anything.
You can try this version, it should hopefully work better in conjunction with the SageTV source:
x86: http://files.1f0.de/lavf/LAVFilters-0.51.3-126-gd2108d3.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.51.3-126-gd2108d3-x64.zip
I also improved the wmv9dmo decoder, it previously didnt properly deal with source filters that send the timestamps in the "non-standard" format, but now it does.
nevcairiel
12th October 2012, 06:41
I have a DVD where opening the vob files don't detect the sub's. Let me know if a sample would be useful if this is something you could fix.
VOB files have the problem that you can usually only detect a stream once you actually see a data packet for that stream.
Subtitles however can start at any time during playback, so if some subtitle stream just doesn't have any subtitle packets until much later into the file, LAV won't be able to find it.
In the future, it may be possible to dynamically add such streams if they are discovered during playback, so that at least you get a chance to use them once they are discovered, but at this time, all i can say is that VOB files are meant to be played with their DVD navigation info. :p
VOB sub's seem to have pallet issues eg, UK Independence day good but green and Deep Impact white/light gray and not eye friendly
VOBs dont contain a palette, so all you can do is guess and/or use a default palette. The palettes are in the ifo files, play it with a dvd navigator if you want correct colors.
Some vob files don't get the correct duration, 2min vs 23min aprox, MPC reads it correctly (UK Deep Impact DVD)
No idea, maybe a sample could help.
Joniii
12th October 2012, 07:34
Sorry I'm not that familiar how LAV filters work currently.
I'm trying to get LAV filters working with HTPC and was wondering if there is any solution to get subtitles (srt or pgs) with LAV filters and WMP and WMC?
For example with vobsub or using LAV filters without DXVA or something?
Also what is the preferred DXVA mode for use with Radeon 7700 series, copy-back or native?
nevcairiel
12th October 2012, 08:18
Hi Nev, I wish I had good news. The latest LAV video decoder 0.51.2-126 still stutters in the same way as before. I'm sure you can reproduce it using the sagetV splitter (posted in my earlier forum post). You might be able to know exactly what's going on seeing it in action.
Looks like the SageTV demuxer is buggy with VC-1. It sends the timestamps of every frame one frame too early.
I played this file:
http://files.1f0.de/samples/vc1-interlaced-bframes.m2ts
At the beginning of the file, here is how it looks with the SageTV demuxer:
(All times in milliseconds for clarity)
Decode Order (in the file):
I-Frame #1, time: 120
I-Frame #2, time: 40
B-Frame #3, time: 80
B-Frame #4, time: 240
I-Frame #5, time: 160
B-Frame #6, time: 200
B-Frame #7, time: 360
I-Frame #8, time: 280
Reordered into Display Order:
I-Frame #1, time: 120
B-Frame #3, time: 80
B-Frame #4, time: 240
I-Frame #2, time: 40
B-Frame #6, time: 200
B-Frame #7, time: 360
I-Frame #5, time: 160
As you can see, it doesn't start at 0, as it should, and the re-ordered version just doesn't give a proper list of timestamps.
And here with any other working MPEG Demuxer:
Decode Order (in the file):
I-Frame #1, time: 0
I-Frame #2, time: 120
B-Frame #3, time: 40
B-Frame #4, time: 80
I-Frame #5, time: 240
B-Frame #6, time: 160
B-Frame #7, time: 200
I-Frame #8, time: 360
Reordered into Display Order:
I-Frame #1, time: 0
B-Frame #3, time: 40
B-Frame #4, time: 80
I-Frame #2, time: 120
B-Frame #6, time: 160
B-Frame #7, time: 200
I-Frame #5, time: 240
After re-ordering, the times line up perfectly.
Before the question comes up, re-ordering in VC-1 is quite simple.
If you find a I or P frame, delay it until the next I or P frame. B-Frames are output immediately.
So IIBBIBB turns into IBBIBBI. First I frame is delayed until the second I-Frame (which comes immediately after), the two B-Frames are then output immediately, the second I-Frame is output when the third is encountered, and so on.
So, @mkanet:
If there is the possibility to communicate this problem to the SageTV developers, please do so. Feel free to point them in my direction if they have any questions.
While i could try to somehow hack a fix into LAV, i feel rather uncomfortable doing so, because its a rather ugly and fragile work around, for a problem that is quite clearly in the source filter.
In general, i prefer to not employ very ugly hacks to fix bugs in other software. Bugs should be fixed where they happen, and not be worked around in other places. Sorry that this doesn't help you right now, but in the long run its just the better solution for everyone.
nevcairiel
12th October 2012, 09:03
I'm trying to get LAV filters working with HTPC and was wondering if there is any solution to get subtitles (srt or pgs) with LAV filters and WMP and WMC?
No (or not yet). You need to use a dedicated subtitle renderer, i recommend xy-vsfilter.
Also what is the preferred DXVA mode for use with Radeon 7700 series, copy-back or native?
If you want subtitles to work in WMP/WMC, you need to use Copy-Back. Subtitles don't work with Native.
sneaker_ger
12th October 2012, 10:30
If you want subtitles to work, you need to use Copy-Back. Subtitles don't work with Native.
Unless he's using a combination like MPC-HC internal subtitle renderer plus evr-cp for example...
nevcairiel
12th October 2012, 10:31
But he did say which player he uses, and he didn't use MPC-HC. :p
sneaker_ger
12th October 2012, 10:56
You win ... this time
nevcairiel
12th October 2012, 10:57
I clarified my response above to say that it only applies to WMP/WMC, to make everyone happy.
VipZ
12th October 2012, 11:01
VOB files have the problem that you can usually only detect a stream once you actually see a data packet for that stream.
Subtitles however can start at any time during playback, so if some subtitle stream just doesn't have any subtitle packets until much later into the file, LAV won't be able to find it.
In the future, it may be possible to dynamically add such streams if they are discovered during playback, so that at least you get a chance to use them once they are discovered, but at this time, all i can say is that VOB files are meant to be played with their DVD navigation info. :p
Thanks, the one DVD that has this issue opening a VOB where there is dialog at start does indeed show sub stream selections, MPC does find steam in 1st vob as well but doesn't work like always.
VOBs dont contain a palette, so all you can do is guess and/or use a default palette. The palettes are in the ifo files, play it with a dvd navigator if you want correct colors.
MPC-HC a long time ago was able to set all such files to a set style, is this not feasible within LAV?
No idea, maybe a sample could help.
I tried cutting the vob file, but once cut the duration is correct. Would you be happy for me to upload a 1gb segment and PM you the link?
I never use DVD's any more and only really looking into VOB cause LAV now supports DVD's and VOBsub so was just picking up bits that MPC-HC used to support a long time ago with their splitter and decoder, this has been broken for a long time so was looking how feasible it would be to get it working within LAV, anyway LAV > working vob's and as you say use DVD navigator :)
Joniii
12th October 2012, 11:18
Thanks for the info. One thing, should xy-vsfilter work with WMP and LAV with copy-back, or only with players like MPC-HC?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.