View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
nevcairiel
4th July 2011, 20:04
The MPC-HC splitter is stupid and claims TrueHD is AC3 as well .. don't mind that, its just broken. MPC-HCs MKV splitter also does not have any advantages over LAV or Haali, i don't see any reason to use it.
Edit:
Apparently Haali also claims its AC3. WTF is with these bugged things.
The good news is, using LAV Splitter, you can now also use ffdshow for MLP decoding.
The bad news, Haali or the MPC-HC splitter still don't work with LAV Audio. Screw them and claiming they are sending AC3.
I have been putting off dealing with these broken things for too long, i guess. Maybe i should just add a detection for TrueHD/MLP when the source reports AC3, like ffdshow does.
robpdotcom
4th July 2011, 20:40
Yeah, I never use the MPC-HC splitter anyway - just tried it to see what would happen.
Rather than "fix" dealing with broken splitters, I'd rather just see you work on ordered chapters and segment linking in Matroska, which is the only reason I can see to still use Haali.
BTW: A while back you added wtv as a format LAVsplitter can split, and it works great (big thanks for that), with one exception:
Since wtv is recorded TV, it's not uncommon to want to play a program that is still being recorded. When using Microsoft's StreamBufferSouce, the program length is constantly updated (you can always jump to the end to watch "live TV"). With LAVSplitter, playback will stop when you reach the last part that was recorded when the file was opened. Is there any way LAVSplitter could do what StreamBufferSource does?
clsid
4th July 2011, 20:55
Haali offers on request the source for a core parser library for Matroska on his site. That might be useful.
nevcairiel
4th July 2011, 21:27
Haali offers on request the source for a core parser library for Matroska on his site. That might be useful.
I have that code, but its only the very basic Matroska parsing, returning what is in the file. Any processing, mapping to DirectShow and whatnot is not included, and thus not terribly useful.
The problem is getting the missing features implemented in ffmpeg, and the design of ffmpeg demuxers is kind of limiting this in itself, which makes coding this very hard.
Since wtv is recorded TV, it's not uncommon to want to play a program that is still being recorded. When using Microsoft's StreamBufferSouce, the program length is constantly updated (you can always jump to the end to watch "live TV"). With LAVSplitter, playback will stop when you reach the last part that was recorded when the file was opened. Is there any way LAVSplitter could do what StreamBufferSource does?
While its of course theoretically possible, its not something easily done. ffmpeg does all the reading, and on other streaming formats reading will actually continue, even though the time does not update. However, this would appear to be one feature not implemented in the ffmpeg wtv code, so the best way would be to ask them to add it, however you might as well just use the streambuffersource. Is there actually an advantage that LAV Splitter offers over it?
robpdotcom
4th July 2011, 22:09
Is there actually an advantage that LAV Splitter offers over it?
Really, only one that I've found so far: ffdshow video will not connect to StreamSourceBuffer. So, to use yadif on 1080i video, I have to set ffdshow to accept uncompressed video and use another decoder (and make sure that decoder isn't doing any deinterlacing). It's a very minor annoyance, but I figured it wouldn't hurt to ask.
I guess I should post something in the ffdshow thread about it not connecting to StreamSourceBuffer?
sneaker_ger
4th July 2011, 22:44
While its of course theoretically possible, its not something easily done. ffmpeg does all the reading, and on other streaming formats reading will actually continue, even though the time does not update. However, this would appear to be one feature not implemented in the ffmpeg wtv code, so the best way would be to ask them to add it, however you might as well just use the streambuffersource. Is there actually an advantage that LAV Splitter offers over it?
The funny thing is that your splitter seems to be able to cope with "progressive http streaming" when playing mkv just fine, while Haali and MPC-HC will stop at the last position that was completed when playback started. (At least if I didn't mix things up yet again)
clsid
4th July 2011, 23:28
The MPC/Gabest splitter can rebuild the index of truncated or partially download AVI files, allowing seeking to work in such files. Any chance of such a feature in LAV in the future?
Midzuki
5th July 2011, 06:04
OK, I've just uploaded a .7z archive to my Skydrive folder:
https://skydrive.live.com/?cid=5ACF098E0EBAE8D5&id=5ACF098E0EBAE8D5!126
mlp-samples.7z contains various uncommon :devil: channel setups. Have fun! :)
nevcairiel
5th July 2011, 06:50
The MPC/Gabest splitter can rebuild the index of truncated or partially download AVI files, allowing seeking to work in such files. Any chance of such a feature in LAV in the future?
Not unless ffmpeg supports it, i have no plans to do any special work for a format like AVI.
About thumbnails in general? Any plans to enchase compatibility, because ffmpeg unfortunately is a mesh.
nevcairiel
5th July 2011, 17:14
mlp-samples.7z contains various uncommon :devil: channel setups. Have fun! :)
I tested the files, and they all play with the proper channel layout. The only issue here is that ffmpeg seems unable to determine the duration of raw .mlp files. Did you create them for testing, or do you actually have real media in .mlp files?
Proper containers with MLP tracks in them will of course not suffer from this problem.
Midzuki
5th July 2011, 17:47
^ Yes, I took the time to create them for testing. But I thought LAV Splitter could not handle "raw" MLPs ? :confused: Anyway, when they are wrapped in MKV containers, ffdshow r3771 screws their channel layouts, as usual, :mad: , and LAV Audio, even though it detects the channel layouts correcty, strongly attenuates the Front Center, and sends the Rear Channels + the LFE to "nowhere" :( OTOH, foobar2000 almost-always has had zer0 issues with any type of MLP streams :p
nevcairiel
5th July 2011, 18:21
It supports raw MLP files, but it has no duration and you cannot seek.
Anyhow, those samples play fine here, LFE and Rear come out where they are supposed to.
Note that "odd" layouts will usually break in the Windows Mixer (sending some channels to wrong speakers). LAV Audio supports expanding those layouts into a "full" 5.1 layout, filling the missing channels with silence, which makes the files play properly even when the mixer is broken ("Convert Output to Standard Channel Layouts" option).
It *may* also be possible that something was fixed in ffmpeg since the last release, i can't be sure about that without some deeper checks.
I can try to throw one into a MKV later, but i doubt it makes a difference.
Midzuki
5th July 2011, 19:21
Note that "odd" layouts will usually break in the Windows Mixer (sending some channels to wrong speakers). LAV Audio supports expanding those layouts into a "full" 5.1 layout, filling the missing channels with silence, which makes the files play properly even when the mixer is broken ("Convert Output to Standard Channel Layouts" option).
Well, I serious doubt that the DirectSound engine on my XP machine is broken or something. :confused: Or that there exists an unknown problem in the kx audio drivers and/or my Audigy-2 cards. :confused: Especially when multichannel .WAVs, DTSs, AC3s, and AACs, are having N0 issues with the channel layouts that "nobody will ever use" :rolleyes:
Still, many thanks :thanks: for the constant attention.
nevcairiel
5th July 2011, 19:28
DirectSound is broken by design, fwiw. :)
Maybe something was fixed since the last release, it does work as intended here.
Midzuki
5th July 2011, 19:59
<TROLLING>
OK, now I understand everything.
The Open-Source community does not like MLP, period. :p
</TROLLING>
nevcairiel
5th July 2011, 20:09
All the samples you gave me play perfectly, i have no idea what else you want. :D
Midzuki
5th July 2011, 21:55
Hummm, I've just downloaded and tested a 5.1 TrueHD sample, both ffdshow and LAV Audio didn't ignore any channels... perhaps that should be a starting point. http://forum.doom9.org/images/icons/icon3.gif
clsid
5th July 2011, 22:01
You can start by updating your software. r3771 is old.
Midzuki
6th July 2011, 04:37
OK, with ffdshow r3919,
a 3/0/1 + LFE mlp .MKA is decoded this way:
Front Left and Front Right = okay
Front Center = okay
Back Center becomes Back Left :rolleyes:
LFE becomes Back Right :rolleyes:
BTW, the installer keeps resetting the merit of the audio processor to "DO_NOT_USE" :mad: How smart is that ???
nevcairiel
6th July 2011, 05:55
This is the latest development release of LAV Filters, when using LAV Splitter and LAV Audio from this, i get proper channel layouts on all your samples
http://files.1f0.de/lavf/LAVFilters-0.29-15-g11a7822.zip
Midzuki
6th July 2011, 07:32
Over here, the newest LAV Audio sends all the MLP channels to the front speakers. :eek: :( Definitely there exists a conspiracy against the proper decoding of non-Microsoft multichannel lossless audio under DirectShow. :)
http://forum.doom9.org/showthread.php?t=150139
nevcairiel
6th July 2011, 07:47
Its only a conspiracy against you, it works flawlessly for me. :)
As long as the audio format itself holds metadata to identify the channel layout, it'll work properly. It only fails when we have audio without metadata, then its "guessed" based on the channel count, which of course only works for one layout for every channel count - but MLP does have this metadata. :)
nevcairiel
6th July 2011, 07:58
LAV Audio does not care about any of that, it just takes the audio and decodes it, exactly the same on every system. Open the status property page during decoding, and you can see the channel layout its using and which channels have audio. On your channel id samples, all channels go exactly where they are supposed to - anything after that is no longer the decoders doing.
Anyway, all samples i have decode perfectly with LAV Audio, so the case is closed for me.
Midzuki
6th July 2011, 08:10
All right. I'll keep using LAV Audio for DTS-HD only --- ffdshow still is correct enough for AAC and AC3. :)
Sebastiii
6th July 2011, 09:16
Hi,
I have tested all MLP sample and channel output is OK and Correct except when i use option "Convert Output to Standard Channel Layouts" but i tested on non HDMI Output.
Effectively we can't seek on it.
Thanks.
tetsuo55
6th July 2011, 09:38
All right. I'll keep using LAV Audio for DTS-HD only --- ffdshow still is correct enough for AAC and AC3. :)What i hear nevcairiel saying is that there is something wrong with your graph or configuration.
I suggest checking:
* No other filters in the graph
* Which audio renderer are you using? Nev uses Reclock
* Is your windows speaker setting correct?
* Has your reciever been configured to remix the audio channels?
* Are you using the newest driver for your soundcard/hdmi port?
If it is none of these he'll probably need screenshots and exact details on your used hardware and configuration
Midzuki
6th July 2011, 09:52
What i hear nevcairiel saying is that there is something wrong with your graph or configuration.
Except there is nothing really wrong in them, apparently. :confused:
I suggest checking:
* No other filters in the graph
I normally use ffdshow audio processor for resampling, but removing it from the filter chain makes no difference.
* Which audio renderer are you using? Nev uses Reclock
"Default DirectSound Device". I don't like Reclock, and it's not a panacea (BUT I might give it another try, a.s.a.p.)
* Is your windows speaker setting correct?
But of course.
* Has your reciever been configured to remix the audio channels?
No.
* Are you using the newest driver for your soundcard/hdmi port?
The kx drivers are the b3st for the EMU-10k* cards, and my old machine does not and will not support HDMI.
If it is none of these he'll probably need screenshots and exact details on your used hardware and configuration
We'll see...
foobar2000 almost-always has had zer0 issues with any type of MLP streams :p
Well, I serious doubt that the DirectSound engine on my XP machine is broken or something. :confused: Or that there exists an unknown problem in the kx audio drivers and/or my Audigy-2 cards. :confused: Especially when multichannel .WAVs, DTSs, AC3s, and AACs, are having N0 issues with the channel layouts that "nobody will ever use".
nevcairiel
6th July 2011, 10:16
I only know that LAV Audio decodes it properly, tested on three systems, one of which is XP32, its not my job to debug your playback environment.
PS:
I dislike people that replace letters with numbers to be "cool", or something. Just sayin'
Midzuki
6th July 2011, 10:53
its not my job to debug your playback environment.
I have never meant that. But if you just want to misunderstand me, go ahead.
PS:
I dislike people that replace letters with numbers to be "cool", or something. Just sayin'
:) :) :) :) :)
clsid
6th July 2011, 12:45
OK, with ffdshow r3919,
a 3/0/1 + LFE mlp .MKA is decoded this way:
Front Left and Front Right = okay
Front Center = okay
Back Center becomes Back Left :rolleyes:
LFE becomes Back Right :rolleyes:
BTW, the installer keeps resetting the merit of the audio processor to "DO_NOT_USE" :mad: How smart is that ???
The installer re-registers the filter each time. That is normal. The audio processor is supposed to be manually inserted by the player, not to load by itself. The regular audio decoder can process all audio if you enable uncompressed in it.
Gleb Egorych
6th July 2011, 18:00
nevcairiel, here (http://forum.doom9.org/showthread.php?p=1507627#post1507627) I wrote about nosound issue with a particular sample and 1.1.0.0 and 1.1.0.1 versions. Now with 0.29.15 it is fixed, behaviour is the same for all versions 1.1.0.0-1.1.0.8. But after the breakpoint in the sample there is audible reduction of playing volume which doesn't happen with ASAudioHD.ax.
nevcairiel
6th July 2011, 18:40
I just applied another fix for this. I previously had it working, but some fix for that fix broke the previous fix which required a new fix! Anyway, its fixed!
Phew, that was alot of fixes.
SamuriHL
6th July 2011, 18:42
I just applied another fix for this. I previously had it working, but some fix for that fix broke the previous fix which required a new fix! Anyway, its fixed!
Phew, that was alot of fixes.
Uhhhh, don't do that. :D
Gleb Egorych
6th July 2011, 20:21
Thanks!
Midzuki
7th July 2011, 09:57
* Which audio renderer are you using? Nev uses Reclock
tetsuo55, your guess was right :) :) :)
ReClock is making LAVAudio work "as it should" on my old rig.
:thanks: :thanks: :thanks: :thanks: :thanks:
Nevcairiel,has your splitter been tested with Zoomplayer,on XP32 ? I use an almost four years old splitter from Haali and it delivers except for one things:
LPCM/PCM blu-ray channel mapping
Is it working with your splitter?
Thanks.
APorter819
8th July 2011, 00:57
I tried searching for an answer but may have missed it. I'm trying the LAV Filters for the first time. Can LAV handle multiple tracks in a mkv container? My default audio track in mkv container is ac3 with the second track being TrueHD or DTS-MA. In MPC-HC I'm only seeing the first audio track with no way to select track 2.
Thanks
nevcairiel
8th July 2011, 06:01
Navigate -> Audio Language, all tracks are there.
The MPC-HC splitter is stupid and claims TrueHD is AC3 as well .. don't mind that, its just broken. MPC-HCs MKV splitter also does not have any advantages over LAV or Haali, i don't see any reason to use it.
Edit:
Apparently Haali also claims its AC3. WTF is with these bugged things.
The good news is, using LAV Splitter, you can now also use ffdshow for MLP decoding.
The bad news, Haali or the MPC-HC splitter still don't work with LAV Audio. Screw them and claiming they are sending AC3.
I have been putting off dealing with these broken things for too long, i guess. Maybe i should just add a detection for TrueHD/MLP when the source reports AC3, like ffdshow does.
Gabest does a better job switching among different audio tracks and it has its advantage over Halli IMO. I'm using Gabest in mediaportal for MKVs and TS videos and it works great. This brings my next question, what are the real benefits of LAV splitter and audio decoder?
nevcairiel
8th July 2011, 08:42
The MPC-HC/Gabest MKV Splitter does not do any stream switching at all.
Hi nevcairiel,
Thanks for the reply, maybe I misunderstood how it works. I just followed the configuration by Sebastiii to make audio switching work in MP:
http://forum.team-mediaportal.com/codecs-external-players-55/mpc-splitter-mkv-2-audio-streams-problems-79385/#post593924
Anyway, I'd very much like to try LAVF, is it compatible with 64bits Windows 7? Thanks!
APorter819
8th July 2011, 17:50
Navigate -> Audio Language, all tracks are there.
Thanks, was use to looking under Play -> Audio.
nevcairiel
8th July 2011, 17:52
Yeah i hate how MPC-HC is so inconsistent there and has two menus with completely different contents.
Underground78
8th July 2011, 17:52
Thanks, was use to looking under Play -> Audio.
I don't really understand why it is not there any more. Is that by design or is it a bug on MPC-HC side ?
Edit:
Yeah i hate how MPC-HC is so inconsistent there and has two menus with completely different contents.
So it is a bug in MPC-HC ?
clsid
8th July 2011, 18:15
Navigate -> Audio language shows the streams selectable in the splitter (if it has internal stream switching). This happens with LAV and Haali.
Play -> Audio shows all connected incoming streams to the stream switcher. That is just one with Haali and LAV. The MPC splitters create a pin for each audio stream.
Perhaps the behavior can be change so that Play->Audio shows the contents of the Navigate list when the audio stream switcher has only 1 input stream.
Underground78
8th July 2011, 18:17
Yeah those two menus probably need to be somehow merged I guess.
nevcairiel
9th July 2011, 06:50
Here is a new test build for anyone brave enough:
http://files.1f0.de/lavf/LAVFilters-0.29-20-g66b84fa.zip
And i'm off for the weekend, have fun. :p
Gleb Egorych
9th July 2011, 11:06
nevcairiel, thanks!
DTS no_sound/low_volume bug is fixed and Zoom Player compatibility is improved by adding "Remove Audio Decoder on Audio Stream Switch" option.
mark0077
9th July 2011, 16:15
nev, I have tried you're latest splitter again today on some mkv files, and I'm not sure if they were badly made or not (made about 6 months ago using MakeMKV), but with lav splitter I can't seek to any point in them again. With haali I can. If you need a sample let me know or maybe you already know if this is something that can be improved or not?
For the moment I have to use haali for mkv, although I'd rather have your filters / decoders 100%
ney2x
10th July 2011, 07:05
FYI. Someone made a media foundation FLAC codec http://free-codecs.com/download/Media_Foundation_FLAC_Codec.htm . It's good news, cause if someone starts to make media foundation codec, I think this will be the "go signal" for other developers to migrate other codec into MF.
Superb
10th July 2011, 09:01
lol, how exactly is it a "go signal" for developers? :)
ney2x
10th July 2011, 11:07
lol, how exactly is it a "go signal" for developers? :)
That's why I said, " I think" --- there's a possibility, maybe or possible. :p
nevcairiel
11th July 2011, 12:55
Decoders are easy, i could probably add MF support to LAV Audio in a days work (not that i will). Source Filters is where all the hard work is at.
Here a TS sample to improve LAV Splitter.
http://www.mediafire.com/?dkxrsbk79kkkbys
hoborg
13th July 2011, 21:40
@nevcairiel:
Will be possible to use LAV audio decoder with MS demultiplexer for eac3?
FFDshow audio decoder is working, but LAV refuse connection.
Here is an eac3 .ts sample (http://samples.libav.org/streams/ts/eac3/eac3.ts)
nevcairiel
13th July 2011, 22:50
@nevcairiel:
Will be possible to use LAV audio decoder with MS demultiplexer for eac3?
FFDshow audio decoder is working, but LAV refuse connection.
Here is an eac3 .ts sample (http://samples.libav.org/streams/ts/eac3/eac3.ts)
The MS MPEG-2 Demultiplexer does not open that file here.
hoborg
14th July 2011, 18:59
The MS MPEG-2 Demultiplexer does not open that file here.
You can try to play it in NPVR (http://forums.gbpvr.com/index.php) (or other PVR software based on MS demultiplexer).
I did some research, and it looks like it can be subtype problem.
LAV splitter and MediaPortal TS reader output EAC3 as {A7FB87AF-2D02-42FB-A4D4-05CD93843BDD} (both are working) but Ms demultiplexer use {71CFA727-37E4-404A-AEC0-34842532EFF7} (LAV audio decoder refuse connection).
http://www.volny.cz/hoborg/eac3.png
nevcairiel
14th July 2011, 19:02
Thats the ArcSoft DDPlus type. I added it on output of E-AC3 to LAV Splitter, but not on input in LAV Audio. I can add it, i guess.
Not feeling installing that silly player again, it installs some weird background thingy.
Edit:
Try this: http://files.1f0.de/lavf/LAVFilters-0.29-30-g60871ec.zip
hoborg
14th July 2011, 19:16
@nevcairiel:
Working. As always :D
http://www.volny.cz/hoborg/aec3_lav.png
:thanks:
So now only HE/LATM AAC remain :)
nevcairiel
15th July 2011, 21:32
LAV Filters 0.30
LAV Splitter
- Improved VC-1 playback with ffdshow DXVA
- Added support for outputting MPEG-4 Timed Text subtitles (only pure text supported)
- Better support for MLP audio
- I/O performance enhancements
- Added an option to toggle how LAV Splitter handles audio stream switching
- Added a hard-limit on queue sizes to avoid excessive memory usage when transcoding
- Added an experimental interface for the Player to control graph rebuilding
LAV Audio
- Further improvements to the DTS-HD parsing
- Better support for MLP audio
- Added more E-AC3 subtypes
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.30.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.30.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.30-x64.zip)
No ground breaking changes this time around, alot of ffmpeg updates, some tweaking and fiddling.
The .zip files now contain a directory with information for developers that want to use LAV Filters in their players. All custom interfaces are included, as well as a (very) short readme what they do. Feel free to contact me for details.
A note on ffdshow DXVA with VC-1: You should set LAV Splitter into "automatic" VC-1 timestamp mode now, and it should do the right thing - hopefully.
Anyhow, i hope no new bugs sneaked in.
Have fun!
Sebastiii
15th July 2011, 21:50
Thanks :) very nice, and will happy to test new interface in MP :)
Kotik
16th July 2011, 03:08
Thank you,
Will try it out and report any findings.
jmone
16th July 2011, 22:30
nevcairiel, LAVSplitter does a great job IMO with the creation of the separate Forced Subs stream! Continuing the discussion on what "Magic" LAVSPliiter can do from the MC forum on Discs like LOTR EE - Blu, where the "forced subs" are not marked as such but in a completely separate PGS stream - some thoughts:
1) Would it be possible for LAVSplitter to identify them as the forced subs given there would be so few compared to the other PGS streams (or is this assumption poor)
2) Does LAVSplitter need to create an empty "Forced" sub stream at all?
Personally I'm going to remux these to my HTPC with the correct sub track marked as forced.
Thanks
Nathan
nevcairiel
16th July 2011, 22:33
1) Would it be possible for LAVSplitter to identify them as the forced subs given there would be so few compared to the other PGS streams (or is this assumption poor)
I don't know how many subs a stream has before its done playing. Besides, a commentary track could have way less subs then the normal track. If its not marked, there is no way to identify what a track is - especially before playback. I cannot scan the whole movie for subs.
2) Does LAVSplitter need to create an empty "Forced" sub stream at all?
See 1). I don't know if a stream contains subs marked as forced or not.
jmone
16th July 2011, 23:33
Thanks
madshi
17th July 2011, 07:14
I've noticed a bug, but I've not been using the very latest version, so maybe it's already fixed:
If I start MPC-HC, play 5 different files without closing MPC-HC, then try to delete the files (on the network server), the file deletion requests are executed without complaint, but the files reappear right away. They finally disappear after MPC-HC is closed. Very weird effect. Is it possible that LAV Splitter has a file handle leak or something like that?
CruNcher
17th July 2011, 08:41
LAV Filters 0.30
LAV Splitter
- Improved VC-1 playback with ffdshow DXVA
- Added support for outputting MPEG-4 Timed Text subtitles (only pure text supported)
- Better support for MLP audio
- I/O performance enhancements
- Added an option to toggle how LAV Splitter handles audio stream switching
- Added a hard-limit on queue sizes to avoid excessive memory usage when transcoding
- Added an experimental interface for the Player to control graph rebuilding
LAV Audio
- Further improvements to the DTS-HD parsing
- Better support for MLP audio
- Added more E-AC3 subtypes
Nice if this fixes the 30 fps lock for .ts @ Encoding that would be perfect (Playback/Transcoding) :)
I now also separated all of those special aac laatm muxes (bad ones, correct ones) testing them in combination with DivX AAC Decoder (Mainconcept) and the splitter/parser
PS: It looks crazy good so far in Player (Dshow) test of the 30 fps lock test shows @ 2x fast forward it gets crazy fast and doesn't locks to 30 fps max anymore after some second speedup like it used todo previously, it accelerates to the full 60 fps without problems now almost instantly under 1 sec (audio/video) that looks perfect Nev great work (now it seems even better then Cyberlinks Demuxer in those regards as good as Arcsoft and Mainconcepts) :) http://forum.doom9.org/showpost.php?p=1502471&postcount=3309 <- so without further testing just from the first player test seems fixed.
Also only 1 stream so far couldn't be played (though it was nicely falling back to MPCs internal Splitter and played) but im still into testing around 50 others of those 158 ;)
Being able now to use LavSplitter for Transcoding/Playback is a big usability step (also makes a combined framework with as less as possible dshow code bloat much easier) :)
Results (Play and Go test First Playback results File open play Video/Audio no switch test no seek test):
out of those 158 streams following new issues (their are a lot of laatm issues in combination with audio decoding but most are known, separated those streams now :) )
1 stream no parsing @ all switches to MPCs Internal Splitter (old issue, though not critical as this fallback works fine, and changing code because of only this 1 stream seems crazy risking to much)
1 new stream (Mpeg-2, Mainconcept Mpeg-2 Decoder) unsync issues (need to check Decoder side first before looking @ splitter and audio (lav audio sync functions (ac3), easier to avoid cross codec issues that way also testing only the Mpeg-2 streams for differences saves a lot of time ;) )
1 old H264 recording gets unsync (no possibility on the decoder side (Cyberlink Decoder) to change sync options) have to check how the HD PVR fix enabled changes the other streams behavior (as the HD PVR recordings actually work without issues since some time now without the HD PVR fix)
except those 3 issues and all the laatm related things everything else works 100% for .ts (including VC-1 (Lav Cuvid)) :)
I hope the 2 last issues are just a easy settings fix (decoder and splitter side) without impacting everything else, this would then reduce it to only 1 (Play & Go) issue that isn't really critical @ all :)
All of the streams Played back with VMR-9 Renderless and Vsync correction (MPC-HC) no issues :) switching between DXVA and Software where appropriate for the Mpeg-2 4:2:2 tests :)
Testing is done on Nvidias Framework (so stability and performance is VP2 and Nvidia Driver based Forceware 275.65 WHQL (DSP decoding part (DXVA)) with disabled Nvidia IVTC)
clsid
17th July 2011, 13:57
Do those LATM samples play correctly with the Monogram AAC decoder? If so, perhaps nevcairiel can mimic the behavior of that open source filter, since he mentioned before there is no official spec on how to handle it. Afaik, the monogram decoder works pretty well for LATM.
nevcairiel
17th July 2011, 14:18
Its mostly samples that are not demuxed correctly, no open source reference demuxer for that.
CruNcher
17th July 2011, 14:19
Nice if this fixes the 30 fps lock for .ts @ Encoding that would be perfect (Playback/Transcoding) :)
I now also separated all of those special aac laatm muxes (bad ones, correct ones) testing them in combination with DivX AAC Decoder (Mainconcept) and the splitter/parser
PS: It looks crazy good so far in Player (Dshow) test of the 30 fps lock test shows @ 2x fast forward it gets crazy fast and doesn't locks to 30 fps max anymore after some second speedup like it used todo previously, it accelerates to the full 60 fps without problems now almost instantly under 1 sec (audio/video) that looks perfect Nev great work (now it seems even better then Cyberlinks Demuxer in those regards as good as Arcsoft and Mainconcepts) :) http://forum.doom9.org/showpost.php?p=1502471&postcount=3309 <- so without further testing just from the first player test seems fixed.
Also only 1 stream so far couldn't be played (though it was nicely falling back to MPCs internal Splitter and played) but im still into testing around 50 others of those 158 ;)
Being able now to use LavSplitter for Transcoding/Playback is a big usability step (also makes a combined framework with as less as possible dshow code bloat much easier) :)
Results (Play and Go test First Playback results File open play Video/Audio no switch test no seek test):
out of those 158 streams following new issues (their are a lot of laatm issues in combination with audio decoding but most are known, separated those streams now :) )
1 stream no parsing @ all switches to MPCs Internal Splitter (old issue, though not critical as this fallback works fine, and changing code because of only this 1 stream seems crazy risking to much)
1 new stream (Mpeg-2, Mainconcept Mpeg-2 Decoder) unsync issues (need to check Decoder side first before looking @ splitter and audio (lav audio sync functions (ac3), easier to avoid cross codec issues that way also testing only the Mpeg-2 streams for differences saves a lot of time ;) )
1 old H264 recording gets unsync (no possibility on the decoder side (Cyberlink Decoder) to change sync options) have to check how the HD PVR fix enabled changes the other streams behavior (as the HD PVR recordings actually work without issues since some time now without the HD PVR fix)
except those 3 issues and all the laatm related things everything else works 100% for .ts (including VC-1 (Lav Cuvid)) :)
I hope the 2 last issues are just a easy settings fix (decoder and splitter side) without impacting everything else, this would then reduce it to only 1 (Play & Go) issue that isn't really critical @ all :)
All of the streams Played back with VMR-9 Renderless and Vsync correction (MPC-HC) no issues :)
Testing is done on Nvidias Framework (so stability and performance is VP2 and Nvidia Driver based Forceware 275.65 WHQL (DSP decoding part (DXVA)) with disabled Nvidia IVTC)
Arghh just realized DXVA is totally lost (with 275.65 moded Quadro WHQL driver)
Yep it switches to YUY2 (H.264 Cyberlink) and YV12 (Mpeg-2 Mainconcept) the issue on XP for this is to search in the Driver (or decoder needs to be updated to the new Driver) i will redo the test once i get hardware playback working again (Lav Cuvid works even with this new Driver that seems not working with DXVA,testing the 1080p 60 fps playback issues with VMR9 first (maybe i finally can leave @ least DXVA to get rid of these work/not work driver (3rd party decoder DXVA issues) once and for all WipeOut 1080p 60 fps BF3 1080p 60 Fps VMR9 test.
Sorry I totally forgot to check @ the DXVA status and or CPU behavior when testing :(
Until i tried .m2ts and came to hard DSP and non DXVA complaint streams that suddenly showed no issues i realized something is wrong (6Cat stream,Samsung stream,4 Girls stream) :( and then i saw all of them where Decoded by the Cyberlink Software part (YUY2) :(
So above test results are Software Decoding only for both and mostly in Software Decoding you have the least issues currently with anything Hardware Decoding is where most problems arise with the Splitter except the Transcoding issue (which is entirely on the Software Decoding level, though i will double check that too now from the transcoding layer not only fast forward in player to be sure this issue with the 30 fps lock is history when transcoding). :(
Maybe it's also a MPC-HC issue used the newest build i first have to find out why DXVA is currently failing with VP2 and the mentioned Decoders (i suspect the Driver which isn't even for the Geforce series but Lav Cuvid (Nvcuvid Api) works fine with it) :(
First though i will check the Splitter level it can cause and has caused DXVA issues with Decoders often in the past, especially when not made by the same vendor (also it's the easiest to test before trying to reinstall a Driver)
Update:
1st try Splitter = Negative MPC-HC splitter behaves the same with Cyberlinks Decoder all 1080p streams lost DXVA 720p works (so Driver or Decoder issue with the Driver is the most probable cause)
2nd try Driver = Gone back to 275.50 beta no good still DXVA doesn't work as it should going back some driver revisions before 275 i know that worked now :(
PS: This is serious my whole DXVA subsystem seems to go crazy not sure what code change initiated this but now i understand why Flash Player is also doing strange stuff and this doesn't even seem Driver related maybe some Directx issue Intel Board driver, actually i dunno CoreAVCs DXVA also stoped working and that can be reliable checked because of it's Red DXVA Icon :(
Maybe something wants to tell me it's the right time moving to NT 6 now ;)
cengizhan
17th July 2011, 21:50
I am currently using haali's splitter for mkv files because it is faster than your splitter while doing forward and backward jumps (2 seconds) continuously. Will your splitter be faster anytime? I want to use yours but it is slow for me.
hoborg
17th July 2011, 22:22
I have a question.
Can be possible to teach LAV audio decoder to play MOD audio files (http://en.wikipedia.org/wiki/MOD_%28file_format%29)? Here is a lot of MOD samples (http://modarchive.org/).
Right now, i am using DC-Bass Source filter to play them in DS. The problem is, that some camcorders record video with the same .MOD extension.
DC-Bass Source filter need source filter definition in registry - this will cause MOD video not working.
If i remove source filter definition from registry, MOD video will start to work, but MOD audio will stop :/
Similar problem have (?had?) VLC player (http://forum.videolan.org/viewtopic.php?f=7&t=47345).
clsid
17th July 2011, 22:29
A workaround for that would be to either rename the video ones, or the audio ones (and then also edit the reg key accordingly).
nevcairiel
17th July 2011, 22:30
ffmpeg does not support MOD audio, so there is nothing i can do.
hoborg
17th July 2011, 22:34
Too bad :/
pankov
18th July 2011, 03:15
Guys,
sorry for the little off-topic question but I know you are the experts here and most of you use ReClock in WASAPI Exclusive mode so I hope you can help me:
I've just upgraded my AV Receiver to an HDMI one (Integra 40.3) and I decided to try this WASAPI stuff but I've stumbled on a problem - my video card (NVIDIA GTX460 SE) doesn't like anything else except 16bit int as PCM Output. Is it only me or it's a limitation of all NVidia cards? Also what do I lose in this case? I guess there will be problems with 24bit streams but I've tried one and it worked just fine but I'm not sure if ReClock didn't alter the stream since it was already decoded by LAV Audio to 5.1 PCM.
Thunderbolt8
18th July 2011, 04:41
even if reclock doesnt alter the stream and says wasapi (bit exact) then afaik this only means bit exact from input to output of reclock processing, but not bit exact in general for the whole computer processing chain, until it reaches the final output or for what happens before it enters reclock. so if you card already transcodes 24-bit to 16-bit before it reaches reclock, then you lose indeed sound quality, at least theoretically.
Andy o
18th July 2011, 06:25
It's not a limitation of Nvidia cards. Have you tried 24-bit int padded to 32? That's the one that usually works.
nevcairiel
18th July 2011, 06:47
Does anyone have a H264 in AVI sample which can be used to easily spot the A/V sync issue when multithreading the other decoders suffer from?
I don't want to make the same mistakes everyone else did.... :)
fastplayer
18th July 2011, 07:27
This sample by Hypernova is supposed to show the sync issue:
http://forum.doom9.org/showthread.php?p=1511460#post1511460
e-t172
18th July 2011, 08:26
even if reclock doesnt alter the stream and says wasapi (bit exact) then afaik this only means bit exact from input to output of reclock processing, but not bit exact in general for the whole computer processing chain
That's theoratically true. In practice however, most sound cards will do bit exact output when used in WASAPI Exclusive Mode. All HDMI outputs in the market will.
if you card already transcodes 24-bit to 16-bit before it reaches reclock
That's not possible.
pankov
18th July 2011, 09:11
It's not a limitation of Nvidia cards. Have you tried 24-bit int padded to 32? That's the one that usually works.
10x
I thought I've tried it and it didn't work but now after you said that it usually works I did try it again and in fact it works. I guess I have to stop testing things at 4 in the morning with only one eye open
;)
btw
would you also recommend turning on the "16 bit integer for 16 bit sources" option?
and final two off-topic questions:
1. Is it normal to have some gap (~1 second) at the beginning of each file or after a seek/jump in one file?
2. Is it normal to hear some "click" from the receiver (as if it turns off the power amps) when I stop/pause a multi-channel audio stream? It shows "no signal" and then makes a "click"?
nevcairiel
18th July 2011, 09:15
I turned 16-bit integer for 16-bit sources off, because i have ReClock do resampling, and resampling is done in float - so if it converts the float to 24bit instead of 16, its better. :)
1. It usually takes a short while for the HDMI connection re-establish, thats why you get a small gap. It depends on your receiver how long it is - on mine its not even half a second, nothing that really worrys me. People refer to this problem as the "silent stream" bug.
2. That depends on your receiver, really. I really only hear it with bitstreaming, and nothing with PCM.
pankov
18th July 2011, 09:56
Thanks!
I knew I can find some helpful and knowledgeable users here.
:)
CruNcher
18th July 2011, 15:09
Did anyone ever lost the DXVA subsystem under XP completely or @ least it was damaged so heavily that it behaved extremely crazy ?, its my first time ever i looked for every acceleration knob i could find actually their are 3 locations accessible via a GUI i know myself Dxdiag,DirectX Controll Panel, and via the Advanced GFX Panel, everyone of them is active also the DirectX Installation seems ok still i don't get 1080p DXVA acceleration working @ all anymore
Nvcuvid isn't affected 720p,1080p no issues except the 1080p 60 fps problem because of that i actually preferred DXVA and automatic 4:2:2 Studio Profile Hardware/Software switching.
Tried to reinstall the GFX driver (several different revisions) no go i guess only the Panic Solution might be able to help a complete Internet Explorer and Windows Media Player re Installation hopefully it magically comes back after :(
Actually i found out you can use MPC-HC and it's internal DXVA very nicely @ least to test if it's working @ all
MPC-HC always tries to Decode with DXVA (it doesn't seem to ever fall back to Software Decoding when DXVA fails) if it's selected as internal decoder, result is a full black Screen on 1080p H.264 Videos currently :( with 720p Videos it works same behavior like Flash Player currently also CoreAVCs DXVA has a nice Indicator (the ATI RED CoreAVC icon that currently with 1080p videos switches to blue Software).
My Current Dilemma
http://img98.imageshack.us/img98/9794/notgoodg.th.png (http://img98.imageshack.us/img98/9794/notgoodg.png)
http://img818.imageshack.us/img818/4346/nothingdeadzerotot.th.png (http://img818.imageshack.us/img818/4346/nothingdeadzerotot.png)
its like 1080p acceleration never existed (and most here know VP2 is capable of it and i didn't imagined using it over all the years ;) )
wpoulson
19th July 2011, 11:14
Hello Nev,
Thanks for the passionate work. I've been reading through the thread but wanted to ask you about your filters and WMC7
Do I understand correctly that your filters are more than just a replacement splitter for Haali but also include video and audio decoders that can be used instead of WMF defaults? With nothing but your filter set installed, can I expect my MKVs and AVIs, etc. to play fine in WMC7, passing through DD 5.1 and DTS to my receiver. To accomplish this, would I need to use a filter tweaker after installing your filters, or does your installation application take care of that?
If what I want to do is play MKVs, MP4s, AVIs, and MOV files in the 64bit WMC and pass through the audio to my receiver, in addition to your filters, do I need FFDshow? Right now, I do not have any HD audio to bitstream. I have had a lot of problems getting FFDshow to work on the video side in WMC(most of my files are MKV with h264). Actually, things generally play fine with just Haali and Win 7 native codecs, but I have been looking for a setup that will more future-proof my HTPC.
I know your time is precious and I appreciate either your or someone else's time to help
Thanks
Warren
nevcairiel
19th July 2011, 11:21
With nothing but your filter set installed, can I expect my MKVs and AVIs, etc. to play fine in WMC7, passing through DD 5.1 and DTS to my receiver. To accomplish this, would I need to use a filter tweaker after installing your filters, or does your installation application take care of that?
You'll need a filter tweaker application thingy to over-rule the default MS filters, and you'll have to find a way to access the filters configuration, because WMC7 does not allow you to open it.
But once thats all done, you will be able to simply play your files and pass the audio directly to your receiver.
Note that at this time LAV Filters do only contain an Audio Decoder, not Video yet - so you can stick with the default decoders there, or grab ffdshow, or wait for LAV Video, which is due soon. :)
If what I want to do is play MKVs, MP4s, AVIs, and MOV files in the 64bit WMC and pass through the audio to my receiver, in addition to your filters, do I need FFDshow? Right now, I do not have any HD audio to bitstream.
You don't need ffdshow. LAV Audio can do all the audio work you require. Pass-through DD and DTS, decode everything else - even pass-through HD audio, if you ever get any.
I should probably implement an option to open the configuration dialog from the start menu, so that part of the whole setup is easier to handle.
jmone
19th July 2011, 11:52
....wait for LAV Video, which is due soon. :)
Tease! :)
nevcairiel
19th July 2011, 12:21
Tease! :)
It already works beautifully well for its early stage, it won't be much longer, i promise. :rolleyes:
BatKnight
19th July 2011, 12:48
Hi nev.
Tried to play a an album that I have in WAV files with DTS in them, but only got noise.
I am using your splitter and audio decoder. Am I doing something wrong, or DTS WAV files aren't yet supported?
I recall reading somewhere at J.River's forum that they are having the same problem too when using LAV Audio.
Thanks
Nuno
nevcairiel
19th July 2011, 12:49
DTS in WAV is not supported right now, but its on the list of things to fix.
Superb
19th July 2011, 15:33
It already works beautifully well for its early stage, it won't be much longer, i promise. :rolleyes:Yay.
I hope it will also accept RAW video. Why? I know it might not have post-processing capabilities yet, but I (and many others) need it for color-space conversion.
I'll explain: people who use Subtitle Workshop 2.51 (http://www.urusoft.net/), under Windows 7, encounter a bug where the program is unable to build a fully working DS graph for mkv-h.264 files when their system uses Microsoft's XDVA-H.264 decoder. They'll only hear audio. Video isn't shown. Apparently, SW isn't able to connect the NV12 output directly to the video renderer. Sad. I know. A workaround is to use ffdshow's RAW video handling capabilities and let it do a NV12->RGB32 conversion. It works. That's the ONLY reason I have ffdshow installed on my system. :( What's funny is that ffdshow even broke that colorspace conversion in recent builds (starting rev3765 it crashes (http://forum.doom9.org/showthread.php?p=1498171#post1498171)), and now I'm forced to use a pretty old revision.
Yeah, I know it's not a problem which affects many people, but it would be nice if you added this feature, which would probably also help you in adding post-processing in future versions.
Another nice feature would be integrating LAV CUVID Decoder to LAV Video, same way CoreAVC does it (software fallback is CUDA fails).
Heh, look at me. Writing feature requests even before you released the first version. :devil:
I appreciate all your wonderful work and wish you the best.
nevcairiel
19th July 2011, 16:05
There won't be support for RAW video anytime soon, its a decoder, not a video processor. Sorry.
Superb
19th July 2011, 16:26
Fair enough. What about the second feature (integrating CUVID Decoder)? Is it planned?
nevcairiel
19th July 2011, 16:27
Maybe one day, its not certain though. There are some technical things that don't make it as easy as it sounds.
nevcairiel
19th July 2011, 16:57
So, here it is.
A first test version of LAV Video Decoder.
http://files.1f0.de/lavf/LAVFilters-video1.zip
Features:
- Decoding of: H264, VC1 (progressive only), MPEG2, MPEG4-ASP, MS-MPEG4, MJPEG, VP8, RV40, WMV1/2/3
- Full support for H264 4:4:4, 4:2:2 and 4:2:0, in 8, 9 or 10bit (including native untouched output of all formats)
- Flagging of interlaced fields for hardware deinterlacing with EVR
- Can read the Aspect Ratio from the stream
Known Issues/TODOs:
- When using EVR, output is limited to YV12/NV12 (see remarks)
- Multi-Threading is prepared, but not yet activated
- H264 in AVI has timestamp issues (works fine with Frame Time Correction on in MPC-HC)
- No configuration
- Only tested with LAV Splitter
- On Start/After seeks, corrupted frames may be shown briefly
- I forgot to put a install_video batch file into the zip. :)
Did i mention that EVR sucks?
Its apparently the only renderer that cannot switch the pixel format on the fly, even the older VMR9 manages to do it. Anyhow, this means that EVR is limited to YV12/NV12 output, and will not get YUY2 for 4:2:2 content or any other pixel formats. Its not that terribly bad, like 99% of all content is 4:2:0 anyway.
Also, most output formats are not supported by EVR anyway, you'll need madVR for full quality 4:4:4 or 9/10bit content. But don't worry if you prefer EVR, there is proper chroma down-scaling in place using a bicubic filter, and dithering of 9/10bit to 8bit.
On Feedback:
If you encounter a sample that does not play properly with LAV Video, as always, please report as much details as possible, and uploading a small sample will greatly help. Without a sample file, i usually cannot do much.
I'm also looking for feedback which other video codecs should be added, i got all the "common" ones, not sure what content is out there otherwise.
Anyhow, have fun testing, if you wish.
noee
19th July 2011, 17:25
Wow, seems unthinkable to be able to lose FFDshow finally after all this time...now with two addl options.
FWiw, ran through a few H264 videos, SD and HD and no issues yet. LAVSplitter->LAVVideo->madVR...
Also, my initial impression is that it's faster loading than FFDshow.
Sebastiii
19th July 2011, 17:28
Amazing Nev :) A big thanks.
madshi
19th July 2011, 17:46
A first test version of LAV Video Decoder.
Well done! :)
On Start/After seeks, corrupted frames may be shown briefly
Haha. So you ran into exactly the same problem... :p Try the Haali Media Splitter, the problem occurs much less there.
Here's how to quickly solve it:
(1) don't flush in NewSegment, flush in EndFlush instead :p
(2) don't send any frames downstream, until you get the first decoded "AVFrame->key_frame" with a positive timestamp
Did i mention that EVR sucks?
Its apparently the only renderer that cannot switch the pixel format on the fly, even the older VMR9 manages to do it.
Have you tried all the various dynamic reconnection methods listed here?
http://msdn.microsoft.com/en-us/library/dd388731%28v=vs.85%29.aspx
nevcairiel
19th July 2011, 18:16
Haha. So you ran into exactly the same problem... :p Try the Haali Media Splitter, the problem occurs much less there.
Here's how to quickly solve it:
(1) don't flush in NewSegment, flush in EndFlush instead :p
(2) don't send any frames downstream, until you get the first decoded "AVFrame->key_frame" with a positive timestamp
I don't do anything yet to avoid the problem, there is alot of things i plan to do. ;)
PS: I only get one NewSegment. :)
LAVVideo.ax(tid 1004) 4924 : ::Receive: size: 33357, time: 26276276
LAVSplitter.ax(tid f6c) 5031 : ::SetPositions() - seek request; current: 274560000; start: 1148731497; stop: 0; flags: 0l
LAVSplitter.ax(tid f6c) 5031 : ::DeliverBeginFlush on Video Pin
LAVVideo.ax(tid f6c) 4935 : BeginFlush
LAVSplitter.ax(tid f6c) 5037 : ::DeliverBeginFlush on Audio Pin
LAVSplitter.ax(tid f6c) 5077 : ::DeliverEndFlush on Video Pin
LAVVideo.ax(tid f6c) 4977 : EndFlush
LAVSplitter.ax(tid f6c) 5078 : ::DeliverEndFlush on Audio Pin
LAVSplitter.ax(tid 840) 5078 : ::DeliverNewSegment on Video Pin (rtStart: 1148731497; rtStop: 2376126130)
LAVVideo.ax(tid 840) 4978 : NewSegment - 1148731497 / 0
LAVSplitter.ax(tid 840) 5078 : ::DeliverNewSegment on Audio Pin (rtStart: 1148731497; rtStop: 2376126130)
LAVVideo.ax(tid 1004) 4988 : ::Receive: size: 42744, time: -2168267
Have you tried all the various dynamic reconnection methods listed here?
http://msdn.microsoft.com/en-us/library/dd388731%28v=vs.85%29.aspx
QueryAccept fails, as does ReceiveConnection.
According to the documentation, ReceiveConnection would be the right thing, because i need a bigger buffer. But all i get is VFW_E_TYPE_NOT_ACCEPTED
JarrettH
19th July 2011, 18:20
Now MPC has decoders, LAV Video has decoders, madvr has decoders, and ffdshow :p
madshi
19th July 2011, 18:23
I don't do anything yet to avoid the problem
Yeah, I just spent the better part of two days working on that (and some related things). Still not sure I got it 100% nailed. But I've already found one situation where I'm better than CoreAVC now (CoreAVC shows seeking artifacts, I don't, with one sample).
QueryAccept fails, as does ReceiveConnection.
According to the documentation, ReceiveConnection would be the right thing, because i need a bigger buffer. But all i get is VFW_E_TYPE_NOT_ACCEPTED
Yeah, I would have expected ReceiveConnection to work, too.
Now MPC has decoders, LAV Video has decoders, madvr has decoders, and ffdshow :p
Yeah, well, libav makes it sooooo easy... :)
nevcairiel
19th July 2011, 18:32
Yeah, I just spent the better part of two days working on that (and some related things). Still not sure I got it 100% nailed. But I've already found one situation where I'm better than CoreAVC now (CoreAVC shows seeking artifacts, I don't, with one sample).
There is always a balance between finding a fast and a perfect solution. Decoding all frames until ffmpeg indicates that its artifact-free is one solution, but not fast, as it requires CPU time to decode all those frames. On the other hand, analyzing the frames before decoding (at least for H264) looking for key frames and recovery points is a fast solution, but not always 100% reliable.
I'll probably test alot of things as well.
clsid
19th July 2011, 18:37
Other common video formats are:
FLV1, VP6, SVQ3, H.263, Fraps, Theora, TSCC, Indeo.
Wishlist:
* Ability to configure which formats are decoded.
* Ability to open config through a shortcut.
* Support for all formats for which FFmpeg has a stable/complete decoder. Less common formats could be disabled by default.
* Optional tray icon (same for the other filters). To get quick access to settings. To view input/output details as mouseover tooltip. As a visual confirmation that the filter is being used. Possibly also show graph details in a submenu.
Please also add support to your filters for reading initial settings from HKLM. That is useful for pre-configuring the filter. So settings precedence order becomes: HKCU > HKLM > Internal default.
Please store audio format settings similar to how it is done for the splitter instead of a single binary value.
Do you have any plans for adding some filtering capabilities in the (distant) future once the decoder is fully working? Stuff like deinterlacing, sharpen, resize, postprocessing, possibly avisynth.
Can you consider making a VFW wrapper in the future? Decoding only would be fine. It probably should not be a lot of work. Many (video-editing) programs unfortunately still use VFW.
Having the above two features would help migrate more people from ffdshow to your decoder.
madshi
19th July 2011, 19:04
There is always a balance between finding a fast and a perfect solution. Decoding all frames until ffmpeg indicates that its artifact-free is one solution, but not fast, as it requires CPU time to decode all those frames. On the other hand, analyzing the frames before decoding (at least for H264) looking for key frames and recovery points is a fast solution, but not always 100% reliable.
I'll probably test alot of things as well.
I have one sample where there are sequence headers and a recovery point before every I frame. But still, when seeking there are artifacts if I don't decode the preroll frames. Don't understand why, but that's the way it is. CoreAVC shows artifacts, so does Divx, but ffdshow does not, because ffdshow also seems to decode the preroll frames (without passing them on). This all seems to mostly apply to h264, though. I've added code to really only begin decoding at the first key frame for MPEG2 and VC-1. Seems to work fine. Just not for h264. <sigh>
Xaurus
19th July 2011, 19:14
Nev, thank you so much!
With that said, I am greatly confused by all this.
What would be the order of everything in mpc-hc?
lavcuvid->lavsplitter->ac3filter->lavvideo->mad-vr ?
VipZ
19th July 2011, 19:14
Awesome work nev, decoder works very well already :)
EVO, VC1 decoding is now available to everyone, your decoder works perfectly for this.
In terms of formats supported, clsid mentioned pretty much all of them, but mpeg1 would also be nice if possible and deinterlacing would be useful as well.
WMV, still has AR issues, but didn't think much would change here yet, the MS asf reader outputs the AR as below for 1080p in 16:9,
VIDEOINFOHEADER:
rcSource: (0,0)-(1440,1080)
rcTarget: (0,0)-(1440,1080)
dwBitRate: 5000000
dwBitErrorRate: 0
AvgTimePerFrame: 400000
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 5760
dwPictAspectRatioY: 3240
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
Currently LAV Video also has the same issue as ffdshow where it doesn't read the AR info for h264 in mkv. Works fine with MPC Video decoder, sample http://www.mediafire.com/?t1i1fqcj6qhwb4s
I have been using LAV Video for the last day or so already and had no stability issues at all.
Works great with madVR 0.66 (with 0.67 it crahses on 4:4:4 files). Thanks!
Wouldn´t it make sense to combine it with lavcuvid? The cuda decoder could be used if format/graphics adapter are compatible, otherwise libav is used?
Mercury_22
19th July 2011, 19:27
@Nev can you add like madshi VC-1 i from intel ? cause although we (I) appreciate very much a better decoder we (I) NEED very much a decoder for the missing common formats = VC-1i in the first place
Also no DXVA ?
SamuriHL
19th July 2011, 19:48
Nice work, Nev. I'll give it a try a bit later today as I'm curious as to how well it works. Once it matures a little bit we should ask J River to whitelist it for use in MC16.
madshi
19th July 2011, 19:54
@Nev can you add like madshi VC-1 i from intel ? cause although we (I) appreciate very much a better decoder we (I) NEED very much a decoder for the missing common formats = VC-1i in the first place
Is the Intel VC-1 interlaced decoder better than the Microsoft one?
JarrettH
19th July 2011, 20:10
I wish you'd tell us more of this ultimate plan :confused:
Mercury_22
19th July 2011, 20:49
Is the Intel VC-1 interlaced decoder better than the Microsoft one?
I can't tell the difference !
Too bad I can't use madvr usually since I can't get rid of the black clipping when I use it and I've tried every setting in madvr and CCC's video settings :mad:
P.S. Are you aware of the black clipping ? Test file (http://www.multiupload.com/UPPQ3P1MAK)
I can't see the "Blacker than black" with madvr (with evr I need to manually adjust the CCC's video settings (brightness and contrast) to see it,)
nevcairiel
19th July 2011, 20:53
Other common video formats are:
FLV1, VP6, SVQ3, H.263, Fraps, Theora, TSCC, Indeo.
I'll see about digging up some samples and adding those.
* Ability to configure which formats are decoded.
Of course, all my other filters have that - just wasn't important for testing.
* Ability to open config through a shortcut.
I want that for all filters, need to figure out how to do it properly.
* Support for all formats for which FFmpeg has a stable/complete decoder. Less common formats could be disabled by default.
It'll eventually get a similar interface as LAV Audio, so that when its used with LAV Splitter, all video can basically be decoded.
For everything else, just name media types, so they can be added as well.
* Optional tray icon (same for the other filters). To get quick access to settings. To view input/output details as mouseover tooltip. As a visual confirmation that the filter is being used. Possibly also show graph details in a submenu.
This is on the TODO, but not sure when i'll get to it.
Please also add support to your filters for reading initial settings from HKLM. That is useful for pre-configuring the filter. So settings precedence order becomes: HKCU > HKLM > Internal default.
Thats certainly a possibility, but not a high priority.
Please store audio format settings similar to how it is done for the splitter instead of a single binary value.
I put it on the list a while ago, just needs to be done.
Do you have any plans for adding some filtering capabilities in the (distant) future once the decoder is fully working? Stuff like deinterlacing, sharpen, resize, postprocessing, possibly avisynth.
Any filters that ffmpeg implements through libavfilter would probably be easy to implement. I'll think about this in the future.
Can you consider making a VFW wrapper in the future? Decoding only would be fine. It probably should not be a lot of work. Many (video-editing) programs unfortunately still use VFW.
I have no plans for this at this time. I know nothing about VfW. Maybe someone else can contribute it?
In terms of formats supported, clsid mentioned pretty much all of them, but mpeg1 would also be nice if possible and deinterlacing would be useful as well.
Right, put mpeg1 on the list as well.
WMV, still has AR issues, but didn't think much would change here yet, the MS asf reader outputs the AR as below for 1080p in 16:9,
Right. ffmpeg seems to be unable to detect the AR in those files. I'll check into it eventually. Not a high priority, though.
Currently LAV Video also has the same issue as ffdshow where it doesn't read the AR info for h264 in mkv. Works fine with MPC Video decoder
Technically, thats not an "issue". It can read the AR just fine, however the AR in MKV files is usually encoded wrong. The container has the right AR, but the stream has it wrong. MPCVideoDec ignores the stream AR, unless you explicitly ask for it. I'll add an option to ignore the Stream AR.
Eventually, i want to add an option to LAV Splitter to simply override the Stream AR with the Container AR, like Haali Splitter does - which would also "solve" this problem from the other end.
Wouldn´t it make sense to combine it with lavcuvid? The cuda decoder could be used if format/graphics adapter are compatible, otherwise libav is used?
One day, it may happen. Its more complex then one might think.
@Nev can you add like madshi VC-1 i from intel ? cause although we (I) appreciate very much a better decoder we (I) NEED very much a decoder for the missing common formats = VC-1i in the first place
I have no plans for this. I do hope for the GSoC project that will hopefully implement VC-1i in ffmpeg. We'll see.
Also no DXVA ?
Maybe one day.
nevcairiel
19th July 2011, 20:54
I can't see the "Blacker than black" with madvr (with evr I need to manually adjust the CCC's video settings (brightness and contrast) to see it,)
You're not supposed to see BTB, if your screen is calibrated properly.
Mercury_22
19th July 2011, 20:57
You're not supposed to see BTB, if your screen is calibrated properly.
I'm using RGB 4:4:4 Pixel Format PC Standard (FULL RGB) over HDMI
Turn the brightness control up far enough for the 2% strip to be visible and there will be a difference between the blacker than black and video black background. from DVE HD Basics (http://www.videoessentials.com/program_notes.php) (AVFoundry Video Forge Generator pdf)
madshi
19th July 2011, 20:58
Too bad I can't use madvr usually since I can't get rid of the black clipping when I use it and I've tried every setting in madvr and CCC's video settings :mad:
P.S. Are you aware of the black clipping ?
madVR itself does not clip, if you set it to video levels. The clipping must be happening elsewhere. The correct setup in your situation should probably be to set madVR to video levels and to tell the ATI drivers to output RGB Full Range. Of course you'll also need to pump up brightness on your display to see BTB because (as nevcairiel says) you're not supposed to see BTB normally.
Mercury_22
19th July 2011, 21:20
madVR itself does not clip, if you set it to video levels. The clipping must be happening elsewhere. The correct setup in your situation should probably be to set madVR to video levels and to tell the ATI drivers to output RGB Full Range. Of course you'll also need to pump up brightness on your display to see BTB because (as nevcairiel says) you're not supposed to see BTB normally.
I'm using FULL RGB and with video levels in madvr I can easily see BTB (no need to pump up the brightness) but they are clearly the wrong levels (http://imageshack.us/g/19/evrcp.png/)
VipZ
19th July 2011, 21:25
Right. ffmpeg seems to be unable to detect the AR in those files. I'll check into it eventually. Not a high priority, though.
Technically, thats not an "issue". It can read the AR just fine, however the AR in MKV files is usually encoded wrong. The container has the right AR, but the stream has it wrong. MPCVideoDec ignores the stream AR, unless you explicitly ask for it. I'll add an option to ignore the Stream AR.
Eventually, i want to add an option to LAV Splitter to simply override the Stream AR with the Container AR, like Haali Splitter does - which would also "solve" this problem from the other end.
Thanks for the info. Regarding WMV, you mentioned before about the issue with the source/splitter not being able to read the AR, I was mostly interested if this same issue would be whats stopping using LAV Video with the MS ASF Reader which is passing the AR over.
nevcairiel
19th July 2011, 21:31
Thanks for the info. Regarding WMV, you mentioned before about the issue with the source/splitter not being able to read the AR, I was mostly interested if this same issue would be whats stopping using LAV Video with the MS ASF Reader which is passing the AR over.
Hm, its supposed to keep the AR from the source filter when it cannot figure it out on its own - i'll run some tests.
fairchild
19th July 2011, 21:32
I'm using FULL RGB and with video levels in madvr I can easily see BTB (no need to pump up the brightness) but they are clearly the wrong levels (http://imageshack.us/g/19/evrcp.png/)
As madshi and nev has mentioned, you are not supposed to see BTB when your display device is configured properly.
Using that pattern you are only supposed to see the grayscale pattern in the center and on either side of it, you should see 2 gray vertical bars.
Verified it with 3 different renderers and all display the exactly the same (EVR, Haali, MadVR). If you raise the brightness on the display to a non-calibrated level to see if your display chain has BTB or not.
In the pictures you posted, the EVR has the wrong levels or brightness is set too high same with MadVR and TV levels. The correctly calibrated display is the MadVR with PC levels. Again, I don't know if you artficially increased brightness to check for BTB or not.
madshi
19th July 2011, 21:34
I'm using FULL RGB and with video levels in madvr I can easily see BTB (no need to pump up the brightness) but they are clearly the wrong levels (http://imageshack.us/g/19/evrcp.png/)
What do you mean? With your madVR screenshots white is 255 and black is 0 (PC levels), respectively white is 235 and black is 16 (video levels). That are most probably the correct numbers for that test pattern. With EVR white is 252 and black is 2. To me the madVR values look correct and the EVR levels seem to be screwed up.
Edit: fairchild was faster... :)
Mercury_22
19th July 2011, 21:57
As fairchild said with EVR CP brightness is pump up to so I ca show you the BTB but with madvr PC levels even if I pump up the brightness to 100% I can't see the BTB
Which is not correct isn't it ?
jmone
19th July 2011, 23:00
Being away and unable to test, I have two issues/questions around deinterlacing:
- VC1(i) - till it is added to ffmpeg another filter still needs to be used for all VC1 content as I guess the connection will be made but no video is decoded
- How do you deinterlace with madVR as the renderer instead of EVR?
On the format side, it would be great to add DV-AVI (all that home video footage!)
Thanks
Nathan
Boltron
20th July 2011, 00:34
I just got home and am dying to try LAV video! Tried a few mkvs and they are looking good. One issue I ran into though is subtitles. Up to this point I was using ffdshow video and it handled subtitles. What do you guys recommend for a subtitle filter that can handle the standard subtitle types? I tried adding ffdshow subtitle filter but crashes mpc-hc. I use mpc-hc, LAV splitter/audio/video, madVR.
Thanks Nev, I've been hoping for a LAV Video for a while. I might just go send you another donation so you can have a pint on me!
SamuriHL
20th July 2011, 00:37
Use MPC-HC's built in subtitle renderer.
Boltron
20th July 2011, 01:03
Doh! Looked everywhere except the most obvious place ;)
zipi
20th July 2011, 02:41
@nevcairiel,
1. Playing this Aiff file: http://www.sendspace.com/file/2q4apm
in graphedit using Lav Splitter/Source , querying the output pin I am getting:
Major Type: Audio - Sub Type: {AFBC2343-3DCB-4047-9655-E1E62A61B1C5} (LAV internal subtype yes?) - Format: {35189950-CAC9-4C8D-819D-B6FAEE15DD9D}
Is this by design?
2. Does the Wavpack Decoder support the Wavpack Hybrid Mode (.wvc complementary correction file to enable an otherwise lossy .wv to play losslessly, if the file was created in this mode.)
3. I noticed MLP files are not seekable.
Thanks.
fairchild
20th July 2011, 05:11
As fairchild said with EVR CP brightness is pump up to so I ca show you the BTB but with madvr PC levels even if I pump up the brightness to 100% I can't see the BTB
Which is not correct isn't it ?
This is exactly what happens with me when I use PC levels with MadVR. It clips BTB for me. So use Video levels in MadVR (16-235) plus Full RGB in CCC and you get full BTB and WTW. In your screenshot of TV levels with MadVR you are getting all black levels, so just calibrate your system to the correct brightness and you are set as far as that goes.
Midzuki
20th July 2011, 05:22
3. I noticed MLP files are not seekable.
Patches will be welcome. :)
You can wrap MLP in Matroska though.
Program streams support MLP audio, however I don't know if ffmpeg or Mencoder can multiplex it correctly. :(
nevcairiel
20th July 2011, 07:14
- VC1(i) - till it is added to ffmpeg another filter still needs to be used for all VC1 content as I guess the connection will be made but no video is decoded
Right, you cannot detect if content is interlaced from a media type.
- How do you deinterlace with madVR as the renderer instead of EVR?
You use ffdshow as a post-processor. Deinterlacing is one post-processing task that i will probably allow sooner or later in LAV Video. ffmpeg already has a neat yadif filter.
On the format side, it would be great to add DV-AVI (all that home video footage!)
I can add DV decoding, some samples would be neat.
1. Playing this Aiff file: http://www.sendspace.com/file/2q4apm
in graphedit using Lav Splitter/Source , querying the output pin I am getting:
Major Type: Audio - Sub Type: {AFBC2343-3DCB-4047-9655-E1E62A61B1C5} (LAV internal subtype yes?) - Format: {35189950-CAC9-4C8D-819D-B6FAEE15DD9D}
Is this by design?
If there is no other type present, then thats a bug. There should always be one "normal" media type, so decoders other then LAV Audio can also work with it. Just need to figure out what is the right type, though!
2. Does the Wavpack Decoder support the Wavpack Hybrid Mode (.wvc complementary correction file to enable an otherwise lossy .wv to play losslessly, if the file was created in this mode.)
Probably not.
3. I noticed MLP files are not seekable.
Thats right. FFmpeg lacks duration/seekign support for MLP files. I would wrap them in MKV to solve this problem - otherwise you can try to open a bug report at ffmpeg/libav and see if anyone wants to fix it in there.
madshi
20th July 2011, 08:10
As fairchild said with EVR CP brightness is pump up to so I ca show you the BTB but with madvr PC levels even if I pump up the brightness to 100% I can't see the BTB
Which is not correct isn't it ?
Actually it *is* correct. If you ask madVR to output PC levels, by definition black is set to 0 and white to 255. BTB would be negative numbers with PC levels, and that's not technically possible. So with PC levels the darkest color your display can get is exactly black. This is how PC levels work. If EVR still shows BTB even with PC levels, this is incorrect behaviour by EVR.
TVs and projectors usually expect TV levels. With TV levels, black is set to 16 and white is set to 235. So BTB values are transported to the display in the 0-15 range. Your display will not show the BTB range by default, but you can make it visible by increasing brightness.
madVR is behaving perfectly accurate. It's EVR that is doing things wrong. You need to decide whether you want to use PC levels or TV levels. If you use PC levels, BTB is automatically clipped with no way to get it back by increasing brightness on your TV. If you want to be able to see BTB by increasing display brightness, then you need to use TV levels. Of course you will need to calibrate your TV accordingly, so that BTB and WTW areas are not shown.
nevcairiel
20th July 2011, 09:06
Just a small FYI for everyone, i'm moving from GitHub to GoogleCode, now that Google offers native Git hosting.
I already created issues for alot of my TODO points on Google Code, if you think i'm missing anything crucial, feel free to open a new issue as well.
I'll move the repository later today, and then close the GitHub project eventually.
Project: http://code.google.com/p/lavfilters/
Issues: http://code.google.com/p/lavfilters/issues/list
pankov
20th July 2011, 10:11
Looking good, nev
:)
One issue that I didn't see but didn't want to spoil your list with my not so good English was about the ordered chapters and "editions" in MKV.
Did you miss it on purpose or it's already implemented and it's actually me that have missed it?
nevcairiel
20th July 2011, 10:13
One issue that I didn't see but didn't want to spoil your list with my not so good English was about the ordered chapters and "editions" in MKV.
Added now.
Xaurus
20th July 2011, 10:28
Nev,
So from what I understand, LAV Video is an _alternative_ to LAV CUVID.
So what to choose?
I have an Intel 980x @ 4 GHz and an Nvidia GTX 570.
Multi-threads for LAV Video sound sweet, and with some nice
processing options like in ffdshow (sharpering, deband etc) it
would be all we need, with Madvr.
I wish it would be combined though, into one single LAV release.
:thanks:
jmone
20th July 2011, 12:01
Nevcairiel - a few things:
1) 4 x 10sec Sample DV Files (thanks for looking at these) : http://www.megaupload.com/?d=FSU2SS9Y
- 16:9 (anamorphic 4:3) in Type 1 and Type 2
- 4:3 in Type 1 and Type 2
2) Deinterlacing: The addition of YADIF would be a big requirement IMO to make LAVVideo a reasonable alternative to FFDSHOW for interlaced material.
3) VC(i): In GSOC we trust (but I'm not holding my breath)!
4) Addition of Decoding with LAVCUVID: I too think that with LAVVideo it makes sense to use LAVCUVID where available as it seems to be a higher quality option for Decoding of H264, VC-1, MPEG2 and MPEG4-ASP including Full Adaptive Deinterlacing and Frame Doubling.
Summary: At present in MC16 we have the ROHQ configuration that uses LAVCUVID if it is possible else it defaults back to FFDSHOW+YADIF for all other types in conjunction with madVR. The results are good and playback is stable. To successfully replace FFDSHOW in this environment, LAVVideo would need to have the same broad decoder support + High Quality Deinterlacing.
Thanks
Nathan
nevcairiel
20th July 2011, 12:32
If anyone is good at graphics (drawing and stuff), i could use a logo and a set of icons (4 icons, for LAV Splitter, LAV Audio, LAV Video and LAV CUVID -- i'm fine with the same icon in different colors, or something easy like that). This is your chance to contribute, even when you cannot code. :)
I really have nothing specific in mind, just something that somehow says "LAV", maybe with a subtext of "Filters", somewhat simple and modern. I'll leave everything else to your imagination.
Icons should be at least 32x32, but still look good in 16x16 for tray icons. For the logo i prefer something that is not too huge, and preferably wider then high.
If you have any ideas, and want to help by contributing some artwork, please do contact me. =)
rsd78
20th July 2011, 15:45
Hi Nevcairiel,
Any possible solution for subtitle control (similar to Media Control) when using the native WMC player? I don't use MPC-HC and would love to use your software but I would really like to have a way to control/pick subtitle/audio streams.
Thanks
BloodySword
20th July 2011, 17:33
If anyone is good at graphics (drawing and stuff), i could use a logo and a set of icons (4 icons, for LAV Splitter, LAV Audio, LAV Video and LAV CUVID -- i'm fine with the same icon in different colors, or something easy like that). This is your chance to contribute, even when you cannot code. :)
I really have nothing specific in mind, just something that somehow says "LAV", maybe with a subtext of "Filters", somewhat simple and modern. I'll leave everything else to your imagination.
Icons should be at least 32x32, but still look good in 16x16 for tray icons. For the logo i prefer something that is not too huge, and preferably wider then high.
If you have any ideas, and want to help by contributing some artwork, please do contact me. =)
Hi, I could make some with Inkscape, I think.
I will make some notes for ideas together with my kind girlfriend and we will make some SVG-Files that you can convert to .ico. But I can make .ico files, as well. =)
Small question: Ho can I force DirectShow to use LAV Source filter instead of FileSourceAsynch to open files wich are open for writing? I remember there were some registry keys where I have to paste the CLSID of the source filter into the key "Source filter". Where can I find them? Thank you.
VipZ
20th July 2011, 20:01
Nev, could you add Fraps support to LAV Video
Thanks
nevcairiel
20th July 2011, 20:12
Nev, could you add Fraps support to LAV Video
http://code.google.com/p/lavfilters/issues/detail?id=12
Sven75
20th July 2011, 20:20
DVCP (Apple DVC-Pro) support would be great as well.
I was about to upload a collection of not yet working clips to test for you, but I just checked and saw that you added a whole lot of new media types. As soon as you provide us with a new release I will recheck my files and upload only those which are still not supported/not working.
When you lose a bit of your momentum in the development of the new decoder, I will come back to haunt you with my PowerPoint 2010 issues as they are still here when using your splitter and decoder. ;)
In any case, I am so excited to see that finally a real alternative/replacement to ffdShow is shaping up. Fantastic work!
nevcairiel
20th July 2011, 20:21
DVCP is already working.
Sven75
20th July 2011, 20:41
Perfect!
Could you please provide a new release?
It would probably take me ages to setup my VS2010 and all the rest to compile it myself. Should definitely get more into c++ dev instead of just c#...
VipZ
20th July 2011, 20:45
http://code.google.com/p/lavfilters/issues/detail?id=12
Thanks :)
Perfect!
Could you please provide a new release?
Here you go, http://www.mediafire.com/?j1jrt3wj6ajp7kr
Sven75
20th July 2011, 21:01
Oh, many thanks! :-)
roytam1
21st July 2011, 04:01
Just tested, rm splitting and decoding are taken by LAVF and my rmvb clips become choppy (same as ffdshow)
nevcairiel
21st July 2011, 07:13
Just tested, rm splitting and decoding are taken by LAVF and my rmvb clips become choppy (same as ffdshow)
http://code.google.com/p/lavfilters/issues/detail?id=26
@everyone, FYI
This will be the new way of things, i'll manage every task/bug/whatever through the tracker. Before, i lost the overview so quickly, it wasn't really working for me anymore.
Now, you can directly subscribe to the issue ("star" it), and get notified when any changes are made regarding your problem/request. I guess most people will already have a google account.
Of course you're free to post issues yourself to the tracker as well, as long as you're sure what you want, and can provide the important facts. :)
jmone
21st July 2011, 09:37
I like the new tracker as you can see where stuff is at! ...though when I read the ticket on Blu-ray Navigation / Title Switching I was kinda surprised to read it was such a challenge and has no priority at this stage :(
nevcairiel
21st July 2011, 10:02
Its too complicated to pull off for only a little gain.
Writing a playlist parser is easy, so if any player would want to offer the ability to choose playlists, they could easily do that themself, actually. They would only have to read the playlists, extract the duration, possibly some other factors like number of streams and number of chapters, and then offer a list to the user. When the user chooses, they can just tell LAV Splitter to play that specific playlist.
TBH, this is a far easier solution then trying to do it through LAV Splitter.
There are however some other plans in motion for BD navigation and possibly even menu support, unrelated to LAV Splitter itself. We'll see what the future brings, but don't hold your breath yet.
jmone
21st July 2011, 11:43
Thanks - started a thread on MC16's beta board to see what interest JR have....Please feel free to expand on the idea!
Sven75
21st July 2011, 12:43
@nev: May I pm you with login information for my company's download website? I am currently uploading test clips which are not yet working with your splitter and/or decoder.
I assume that some of the clips just need a proprietary codec which is not available in ffmpeg (like e. g. Lead Video MCMP), but maybe you want to have a look at those files and maybe there is something that can be done. There is also files in there which are working fine in ffdShow - so it's probably just missing media types.
What I noticed when I went through my test files with GraphStudio is that on using the standard video renderer {6BC1CFFA-8FC1-4261-AC22-CFB4CC38DB50} the LAVVideoDecoder does not automatically connect to the renderer and sometimes even refuses to connect to it at all - requiring e. g. ffdShow to go in between and to make it work.
I then changed the renderer to the current MadVR and the problems disappeared which makes me believe that the standard video renderer does not support the colorspaces provided. Could this be the reason for it? I would love to change the default renderer to MadVR on our systems, but I am afraid I cannot (at least yet), because so far this has always led to crashes in PowerPoint 2003/2007.
On top of that, I think PowerPoint 2010 uses a fixed rendering chain (to some degree) and will not rely on the merit system to determine its renderer - which is probably responsible for the other incompatibilites I am experiencing.
Thunderbolt8
21st July 2011, 12:43
One issue that I didn't see but didn't want to spoil your list with my not so good English was about the ordered chapters and "editions" in MKV.!support, then we can finally ditch haali for good ;D
nevcairiel
21st July 2011, 12:45
@nev: May I pm you with login information for my company's download website? I am currently uploading test clips which are not yet working with your splitter and/or decoder.
Sure. All samples are appreciated to make it the all powerful decoder. ;)
What I noticed when I went through my test files with GraphStudio is that on using the standard video renderer {6BC1CFFA-8FC1-4261-AC22-CFB4CC38DB50} the LAVVideoDecoder does not automatically connect to the renderer and sometimes even refuses to connect to it at all - requiring e. g. ffdShow to go in between and to make it work.
I require all renderers to at least accept YV12 or NV12.
Can you check which media type ffdshow connects with when it does? I could add RGB32 as a fallback, i suppose.
The problem with the default renderes is that their format support is usually dependent on what your hardware supports. Its a bit annoying to debug.
clsid
21st July 2011, 14:52
Could you also add support for YUY2 and RGB24?
Haali renderer does not support YV12 and prefers YUY2.
Some basic DirectShow apps/filters require RGB24.
cyberbeing
21st July 2011, 14:58
LAV Video crashes when attempting to output 10bit h264 as P010 to madVR. That XForm-out states it is connecting to madVR with 1024x720 for 1280x720 and 1536x1080 for 1920x1080 while madVR thinks it is connecting with 1280x720 & 1920x1080 may be part of the problem.
Usually madVR will request the decoder output 2048x720 for 1280x720 and 2048x1080 for 1920x1080.
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}
- Connected to:
CLSID: {E1A8B82A-32CE-4B0D-BE0D-AA68C772E423}
Filter: madVR Renderer
Pin: Input
- Connection media type:
Video: P010 1536x1080 (16:9) 23.98fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_P010 {30313050-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 3888000
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1920,1080)
rcTarget: (0,0)-(1920,1080)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000081
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 16
dwPictAspectRatioY: 9
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1536
biHeight: 1080
biPlanes: 2
biBitCount: 15
biCompression: P010
biSizeImage: 3888000
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0010: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 81 00 00 00 00 00 00 00 10 00 00 00 09 00 00 00 ...............
0040: 00 00 00 00 00 00 00 00 28 00 00 00 00 06 00 00 ........(.......
0050: 38 04 00 00 02 00 0f 00 50 30 31 30 80 53 3b 00 8.......P010€S;.
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
- Enumerated media type 0:
Video: P010 1920x1080 23.98fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_P010 {30313050-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 3888000
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1920,1080)
rcTarget: (0,0)-(1920,1080)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000081
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 1920
dwPictAspectRatioY: 1080
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1080
biPlanes: 2
biBitCount: 15
biCompression: P010
biSizeImage: 3888000
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0010: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 81 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 .......€...8...
0040: 00 00 00 00 00 00 00 00 28 00 00 00 80 07 00 00 ........(...€...
0050: 38 04 00 00 02 00 0f 00 50 30 31 30 80 53 3b 00 8.......P010€S;.
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Filter : madVR - CLSID : {E1A8B82A-32CE-4B0D-BE0D-AA68C772E423}
- Connected to:
CLSID: {EE30215D-164F-4A92-A4EB-9D4C13390F9F}
Filter: LAV Video Decoder
Pin: XForm Out
- Connection media type:
Video: P010 1920x1080 23.98fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_P010 {30313050-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 3888000
cbFormat: 112
VIDEOINFOHEADER:
rcSource: (0,0)-(1920,1080)
rcTarget: (0,0)-(1920,1080)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000081
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 16
dwPictAspectRatioY: 9
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1080
biPlanes: 2
biBitCount: 15
biCompression: P010
biSizeImage: 3888000
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0010: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 81 00 00 00 00 00 00 00 10 00 00 00 09 00 00 00 ...............
0040: 00 00 00 00 00 00 00 00 28 00 00 00 80 07 00 00 ........(...€...
0050: 38 04 00 00 02 00 0f 00 50 30 31 30 80 53 3b 00 8.......P010€S;.
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
nevcairiel
21st July 2011, 14:59
Thats a bug in madVR 0.67, use 0.66 and it works perfectly.
The wrong width in the media type is caused by some fallback code thats supposed to be used for buggy renderers, however it didn't expect this kind of buggyness. :)
Apparently madVR fails to change the allocator, so the buffer is too small for P010, and LAV Video just crashes ... i should probably verify that the buffer is big enough, but that really was never a problem before.
roytam1
21st July 2011, 15:45
I found that I can't connect LAV Audio to MPC Audio Renderer.
With same file but different decoder (CoreAAC/ffdshow/DivX AAC/etc.) I can connect to MPC Audio Renderer.
Pin info with LAV:
Pin
Name Output
Direction PINDIR_OUTPUT
IsConnected FALSE
Offered MediaTypes
Count 1
Type 1 [MEDIATYPE_Audio / MEDIASUBTYPE_IEEE_FLOAT]
majortype MEDIATYPE_Audio
subtype MEDIASUBTYPE_IEEE_FLOAT
formattype FORMAT_WaveFormatEx
bFixedSizeSamples TRUE
bTemporalCompression FALSE
lSampleSize 8
cbFormat 40
WAVEFORMATEXTENSIBLE
WAVEFORMATEX
wFormatTag 65534 (WAVE_FORMAT_EXTENSIBLE)
nChannels 2
nSamplesPerSec 48000
nAvgBytesPerSec 384000
nBlockAlign 8
wBitsPerSample 32
cbSize 22
wSamplesPerBlock 32
dwChannelMask 3
SubFormat MEDIASUBTYPE_IEEE_FLOAT
Pin info from MPC MPA decoder:
Pin
Name Out
Direction PINDIR_OUTPUT
IsConnected FALSE
Offered MediaTypes
Count 1
Type 1 [MEDIATYPE_Audio / MEDIASUBTYPE_PCM]
majortype MEDIATYPE_Audio
subtype MEDIASUBTYPE_PCM
formattype FORMAT_WaveFormatEx
bFixedSizeSamples TRUE
bTemporalCompression FALSE
lSampleSize 4
cbFormat 18
WAVEFORMATEX
wFormatTag 1 (WAVE_FORMAT_PCM)
nChannels 2
nSamplesPerSec 48000
nAvgBytesPerSec 192000
nBlockAlign 4
wBitsPerSample 16
cbSize 0
nevcairiel
21st July 2011, 16:01
Could you also add support for YUY2 and RGB24?
Haali renderer does not support YV12 and prefers YUY2.
Some basic DirectShow apps/filters require RGB24.
Done, It can now output YV12, NV12, YUY2, RGB32, RGB24 for all formats - the preference on the best-matching type, of course.
Additionally, there are type specific types, of course. But those are generally only supported by madVR. ;)
I found that I can't connect LAV Audio to MPC Audio Renderer.
With same file but different decoder (CoreAAC/ffdshow/DivX AAC/etc.) I can connect to MPC Audio Renderer.
MPC Audio Renderer does not support float audio. I generally advice against using it, its not finished.
nevcairiel
21st July 2011, 18:17
WMV, still has AR issues, but didn't think much would change here yet, the MS asf reader outputs the AR as below for 1080p in 16:9,
I figured out why the AR is being lost between the two filters - the MS ASF reader connects with a media type that just says 1440x1080, and later on updates the type with the proper AR.
Source filters usually never update the media type after connection, so thats not supported right now. I'll dig into detecting the AR from the bitstream instead.
VipZ
21st July 2011, 19:00
I figured out why the AR is being lost between the two filters - the MS ASF reader connects with a media type that just says 1440x1080, and later on updates the type with the proper AR.
Source filters usually never update the media type after connection, so thats not supported right now. I'll dig into detecting the AR from the bitstream instead.
Thanks for looking into it, why does Microsoft stuff always have to be such a pain :)
VipZ
21st July 2011, 21:20
Nev, the latest changes with VC1 broke EVO playback. Before that change EVO was perfect.
nevcairiel
21st July 2011, 21:48
Nev, the latest changes with VC1 broke EVO playback. Before that change EVO was perfect.
Added a new check for EVO which should help. Only works if your file is actually named .evo, though. =) Stupid question though, can VC-1 tracks be in other kinds of MPEG-PS files? Not really, no?
VipZ
21st July 2011, 22:04
Added a new check for EVO which should help. Only works if your file is actually named .evo, though. =)
Thanks, you would hope that EVO's are named .evo, so if someone decided to be "smart" well their bad :)
roytam1
22nd July 2011, 03:45
Sorry to bother you but is there any new video branch build?
noee
22nd July 2011, 03:57
Sorry to bother you but is there any new video branch build?
THis is pretty fresh (ffmpeg with mingw4.6.1rel):
LAV_VideoBranch_19402a86b699 (http://www.mediafire.com/download.php?ecwq4c8cx55cqo8)
roytam1
22nd July 2011, 04:48
THis is pretty fresh (ffmpeg with mingw4.6.1rel):
LAV_VideoBranch_19402a86b699 (http://www.mediafire.com/download.php?ecwq4c8cx55cqo8)
Thanks. Just tested and my rmvb clip is still choppy.
nevcairiel
22nd July 2011, 07:03
Then i'll need a rmvb file which demonstrates the problem. All RV30 and RV40 clips i tested play much better now.
roytam1
22nd July 2011, 07:23
Then i'll need a rmvb file which demonstrates the problem. All RV30 and RV40 clips i tested play much better now.
You got a PM.
jmone
22nd July 2011, 11:20
nevcairiel, how does LAVSplitter determine which Audio Track to select by Default in a M2TS Container/Blu structure (if they player does not ask for one)? I've been test muxing content stripped from HD-DVD using eac3to into M2TS/Blu using tsMuxeR with the Video as track 1, E-AC3 as track 2, and a DTS as track 3. The default playback selects the DTS on track 3 over the E-AC3 on track 2. I take it LAVSplitter uses some logic to pick the audio track that is more than "the first one"...
Thanks
Nathan
:) right thread!
nevcairiel
22nd July 2011, 11:25
There is a format priority in place.
10 - Lossless & uncompressed
9 - DTS-HD MA/HRA
8 - DTS ES/96/24
7 - DTS
5 - AC3/EAC3/AAC
I could probably put EAC3 on the same level as DTS 96/24, because it can contain higher sample-rates/bitrate as normal AC3/DTS.
Note that before it reaches the format priority, it first selects the track matching your language, and the one with the highest channel count (more channel = more better, right?)
jmone
22nd July 2011, 11:37
Right, that makes sense to me (and it is great you don't just grab the first stream - something Arcsoft could not get their head around - we want the "best" track not the first).
Anyway - I'm trying muxing some HD-DVD conent to blu structure on BD25 and most of the time I'm able to decoding the EAC3 streams to LPCM but sometimes the result is to big for a 25GB BDR. In these cases, I'm keeping the E-AC3 track and adding a transcoded DTS track for those devices that will not play the E-AC3 track as it is really not part of the Blu spec (eg PS3). Of course on the HTPC this is not an issue with LAVSplitter/Audio as it supports EAC3 just fine but I'd prefer it to grab the EAC3 track instead of the DTS one. Then again I'm probably kidding myself that the original EAC3 track is "better" than the DTS 1.5MB transcoded track but ....
Thanks
Nathan
jmone
22nd July 2011, 11:42
Also - what format priority does TrueHD get (level 9?)
nevcairiel
22nd July 2011, 12:22
TrueHD is in the "Lossless" category (10), as is FLAC.
DTS-HD is 9 because its not easily decodable like TrueHD or FLAC, however most files wont have both TrueHD/FLAC and DTS-HD.
jmone
22nd July 2011, 12:51
The logic works for me... it is great you have thought the priority through and implemented it in this order IMO. FYI - the PS3 is another "dumb" HW device that defaults to playing the first Audio track on a disc, so as it does not like EAC3 (tries to play it as AC3 and you get slo mo video and no audio) it is best to mux the DTS track first.
nevcairiel
22nd July 2011, 16:09
You got a PM.
There doesn't seem to be anything i can do to fix the file. It plays perfectly for a while, then in some small parts it stutters - but the timestamps just are like that...
Real Video is just not designed to be decoded by anything other then the Real Software. All Real Codecs will be off by default in LAV Video - use them at your own risk. :)
clsid
22nd July 2011, 16:16
Can you submit your findings regarding to the RV timestamps upstream? They might already be aware, but perhaps it can trigger them to work on the issue.
Another item for the todo-list: make the splitter compatible with the MS wmv decoder.
nevcairiel
22nd July 2011, 16:18
I dont care enough about Real to do that, sorry.
BelowSky
22nd July 2011, 18:11
How about posting your findings about rv and letting someone ELSE report it to ffmpeg.
"+ Can fully play all Real media without a problem on (x64) and x86"
Having that as a feature is a big fat plus.
VipZ
22nd July 2011, 18:54
Hi Nev
Would it be possible to support Bink files?
I am not sure how easy this may be, but whats the possibility to have an option to automatically add ffdshow video/audio processing in the graph so we may still use LAV for decoding and ffdshow for post processing until LAV has this natively?
Could you let me know what code is responsible to clearing the media extensions on dllreg, did a little looking in demuxer\LAVSplitter\dllmain.cpp but didn't see anything with my useless coding knowledge.
Sorry for the long list :)
Underground78
22nd July 2011, 18:56
I am not sure how easy this may be, but whats the possibility to have an option to automatically add ffdshow video/audio processing in the graph so we may still use LAV for decoding and ffdshow for post processing until LAV has this natively?
That's already possible, just configure ffdshow so that it connects to uncompressed input.
nevcairiel
22nd July 2011, 18:59
Would it be possible to support Bink files?
Samples.
I am not sure how easy this may be, but whats the possibility to have an option to automatically add ffdshow video/audio processing in the graph so we may still use LAV for decoding and ffdshow for post processing until LAV has this natively?
I had the plan a while ago to allow for some smartness so that users could specifiy some filters that get loaded into the graph automatically, mostly for ffdshow video/DirectVobSub, so people get subs.
I should put that in some ticket..
Edit: http://code.google.com/p/lavfilters/issues/detail?id=32
Could you let me know what code is responsible to clearing the media extensions on dllreg, did a little looking in demuxer\LAVSplitter\dllmain.cpp but didn't see anything with my useless coding knowledge.
You were in the right file, you just need to remove the extensions you dont want cleaned from the RegisterSourceFilter calls.
VipZ
22nd July 2011, 19:07
Samples.
I had the plan a while ago to allow for some smartness so that users could specifiy some filters that get loaded into the graph automatically, mostly for ffdshow video/DirectVobSub, so people get subs.
I should put that in some ticket..
Edit: http://code.google.com/p/lavfilters/issues/detail?id=32
You were in the right file, you just need to remove the extensions you dont want cleaned from the RegisterSourceFilter calls.
Thanks. There are some bink samples here http://samples.mplayerhq.hu/game-formats/bink/
in dllmain.cpp to remove the removal on mkv/webm keys,
// MKV/WEBM
RegisterSourceFilter(CLSID_AsyncReader,
MEDIASUBTYPE_Matroska,
L"0,4,,1A45DFA3",
L".mkv", L".mka", L".mks", L".webm");
Would I delete that entirely or just the last line or something?
nevcairiel
22nd July 2011, 19:17
Added Bink.
in dllmain.cpp to remove the removal on mkv/webm keys,
// MKV/WEBM
RegisterSourceFilter(CLSID_AsyncReader,
MEDIASUBTYPE_Matroska,
L"0,4,,1A45DFA3",
L".mkv", L".mka", L".mks", L".webm");
Would I delete that entirely or just the last line or something?
You would make it something like this:
// MKV/WEBM
RegisterSourceFilter(CLSID_AsyncReader,
MEDIASUBTYPE_Matroska,
L"0,4,,1A45DFA3");
VipZ
22nd July 2011, 19:40
Added Bink.
You would make it something like this:
// MKV/WEBM
RegisterSourceFilter(CLSID_AsyncReader,
MEDIASUBTYPE_Matroska,
L"0,4,,1A45DFA3");
Thanks
wpoulson
22nd July 2011, 21:09
Nev,
Thanks a lot for the reply. I am looking forward to giving this all a try.
Does anyone know how to assign a video decoder to override WMF in WMC 64 bit? I know I can use MPC HC as an external player, but would like to use the WMC7 internal player if possible with the LAV filters. Later, when I decide to bitstream HD audio, I will probably use MPC HC for everything.
Thanks for the help
Warren
wpoulson
22nd July 2011, 21:15
You'll need a filter tweaker application thingy to over-rule the default MS filters, and you'll have to find a way to access the filters configuration, because WMC7 does not allow you to open it.
But once thats all done, you will be able to simply play your files and pass the audio directly to your receiver.
Note that at this time LAV Filters do only contain an Audio Decoder, not Video yet - so you can stick with the default decoders there, or grab ffdshow, or wait for LAV Video, which is due soon. :)
You don't need ffdshow. LAV Audio can do all the audio work you require. Pass-through DD and DTS, decode everything else - even pass-through HD audio, if you ever get any.
I should probably implement an option to open the configuration dialog from the start menu, so that part of the whole setup is easier to handle.
Sorry...first reply did not have quote as reference.
Thanks Nev for the reply and answers.
Does anyone know how I can override WMF in WMC7 64 bit so I can assign the LAV video decoder to the default WMC7 player.
Thanks for the help
Messiah
22nd July 2011, 21:34
Does anyone know how I can override WMF in WMC7 64 bit so I can assign the LAV video decoder to the default WMC7 player.
Skark007 3.0beta has added LAV Splitter. Video decoder is not yet in his release, as far as I know.
P.S. it's a shame that WMP is so closed.
Shark007
22nd July 2011, 22:15
Skark007 3.0beta has added LAV Splitter. Video decoder is not yet in his release, as far as I know.
P.S. it's a shame that WMP is so closed.
The video decoder is also included in the current beta release (version 3 - beta 3) which is only 32bit at this time and can be enabled on the H264 TAB.
nevcairiel
22nd July 2011, 22:16
The video decoder is not even included in my release yet. :d
VipZ
22nd July 2011, 22:54
The video decoder is not even included in my release yet. :d
I am already busy coding out ffdshow for decoders in my pack, I anticipate good things from LAV Video :P
noee
22nd July 2011, 23:23
VipZ, just curious, how are you going to handle downmix to Stereo in your pack? Will you retain FFDshow Audio for that function?
VipZ
22nd July 2011, 23:55
VipZ, just curious, how are you going to handle downmix to Stereo in your pack? Will you retain FFDshow Audio for that function?
I am playing with the idea to not dllreg ffsshow.ax and do the video and audio processing reg entries manually, then move over my current reg keys from decoder's to processing and insert into mpc as a manual filter for now. Not the most elegant approach and only suitable for use in MPC, but time will tell how this will play out. I have always preferred to output audio as native and let OS do the up/down mixing as appropriate tho.
Nev's decisions pretty much dictate the direction of my pack now :)
roytam1
23rd July 2011, 09:46
There doesn't seem to be anything i can do to fix the file. It plays perfectly for a while, then in some small parts it stutters - but the timestamps just are like that...
Real Video is just not designed to be decoded by anything other then the Real Software. All Real Codecs will be off by default in LAV Video - use them at your own risk. :)
That files plays quite well in VLC 1.2.0-git.
Can you submit your findings regarding to the RV timestamps upstream? They might already be aware, but perhaps it can trigger them to work on the issue.
I wonder if someone can express what vlc was done about RV30/RV40 codec to libav developers.
EDIT: It seems that VLC did same thing as nevcairiel. Maybe rmvb B-frame timestamps have different meaning (i.e. not useless) that provide stutter-less playback?
nevcairiel
23rd July 2011, 10:25
The b-frame timestamps are useless, they are basically the same as the last P/I frame befoer that. What VLC does is the same, drop the timestamps of all frames that are not references, which are b-frames in Real Video. I don't know why it works with VLC, but looking at the timestamps of the video, its not like there are gaps somewhere to compensate, i just get the frames like this. Its not dropping any frames when its stuttering, they just come in with time-gaps in them, like there are frames missing.
Maybe its the ffmpeg rmvb demuxer which actually has this problem, and not the decoder. VLC has its own demuxer for Real files - maybe that makes the difference.
VipZ
23rd July 2011, 12:29
Nev just some info for you on the recent AR code
MKV /w h264, with the recent AR option to disabled the AR from stream. AR is now correct, so issue #8 is pretty much done, unless you want to hard code this option for MKV /w h264
WMV video decoding still has AR issue when connecting to WM ASF Reader, with the option on or off. But I would guess this wasn't really to address WMV yet.
madshi
23rd July 2011, 12:49
MKV /w h264, with the recent AR option to disabled the AR from stream. AR is now correct, so issue #8 is pretty much done, unless you want to hard code this option for MKV /w h264
Hmmmm... I'm a bit confused. Isn't the bitstream AR generally more reliable than the container AR?
nevcairiel
23rd July 2011, 12:56
Hmmmm... I'm a bit confused. Isn't the bitstream AR generally more reliable than the container AR?
Not in MKV files. Haali has a hacky solution for this, so it overwrites the stream AR in the H264 headers with the MKV container AR.
I will probably implement this "hack" sooner or later as well (thats what ticket 8 is about), because there is otherwise no good solution. On MPEG-TS you want the AR from the stream, because the contaienr doesnt have any, and in broadcasts it can even change mid-stream - but on MKV, its kind of common that the container AR is correct, but the stream AR is wrong. I have multiple samples for this.
madshi
23rd July 2011, 14:06
Ok, good to know, thanks.
clsid
23rd July 2011, 17:11
These files give a com surrogate error in Explorer:
http://www.mediafire.com/?dgp0q1j73g7rnge
I noticed a blank entry in the formats list.
Some rare formats to add: VP3, CSCD, MJPEG-B, QTRLE, QTRPZA, 8BPS, LOCO, MSZH, ZLIB, ZMVB, CAVS, VCR1, MSRLE, MSVIDEO1, VIXL, QPEG, ULTI, WNV1, Truemotion, AASC, Smacker.
Should VC-1 perhaps be disabled by default until it supports interlaced?
nevcairiel
23rd July 2011, 17:46
Hi guys,
http://files.1f0.de/lavf/LAVFilters-video2.zip
This is the second "official" test version of LAV Video Decoder.
Changes since the first:
- Multi-Threaded decoding for H264, MPEG2, MPEG4, VP8, VP3/Theora, HuffYUV and DV (thats basically all formats ffmpeg offers multi-threading for)
- Fixed H264 in AVI
- Options to configure Multi-Threading, Stream Aspect Ratio, and which formats are active
- Alot more format support, including: MPEG1, DV, FLV1, VP6, SVQ3, H263, H261, Fraps, Theora, Indeo 3/5, Real Video 1/2/3, Bink Video
- Proper recovery for H264 after seeks, hopefully no artifacts anymore.
- Improved Output Format support for the "odd" renderers
- And a whole lot of other things.
If you're testing, please report any corruptions right after a seek or at the start of a file. Especially with H264!
The other formats are not specifically seek-proof yet, however i've really only ever seen alot of artifacting with H264.
Have fun testing!
VipZ
23rd July 2011, 18:08
Hi guys,
http://files.1f0.de/lavf/LAVFilters-video2.zip
This is the second "official" test version of LAV Video Decoder.
Have fun testing!
Thanks
Xaurus
23rd July 2011, 18:40
Thank you Nev.
I have an issue, when using Lav Video on several normal mkv files (not all) mpc-hc will just pause and I can't watch.
Any idea?:thanks:
nevcairiel
23rd July 2011, 19:00
I tested a whole lot mkv files, and i couldn't reproduce any issues.
I would need a sample file that can reproduce the issue.
VipZ
23rd July 2011, 20:38
Nev, regarding VC1 interlaced content. ffdshow uses the WM SDK to decode this, is this something you would ever consider?
nevcairiel
23rd July 2011, 20:38
I have no plans to integrate any other decoder at this time.
mandarinka
23rd July 2011, 21:28
Hmmmm... I'm a bit confused. Isn't the bitstream AR generally more reliable than the container AR?
Well, when a user encodes a dvd, he/she will usually not use the --sar option in x264 and just enter the AR/display resolution when muxing in mkvmerge later.
I would say that in the case of dgindex -> avs -> x264 -> mkvmerge process, most videos will have undefined or 1:1 SAR (whatever is default in x264) in the stream and more or less properly set display resolution in the mkv header. Video players usually look for the container value AFAIK, and that forces people to set that up properly, while there is nothing pushing them to specify the stream value, meaning that it's likely to be left undefined.
Dogway
23rd July 2011, 22:26
Well, when a user encodes a dvd, he/she will usually not use the --sar option in x264 and just enter the AR/display resolution when muxing in mkvmerge later.
I always use the --sar option with "esoteric" values, and standard resolutions. It is that, or encode at strange (esoteric) resolutions with 1:1 par for correct geometry. I know TV's and hardware players ignore par but Id rather have something well done, and probably in a future hardware cathes up.
jmone
23rd July 2011, 23:17
nevcairiel - what is the general thought about the direction of Deinterlacing;
- Add to LAV Video something like YADIF
- LAV Video calls HW (like CUVID can)
- Not part of LAV Video and users will need to add a seperate filter for post processing (but what???)
- Other....
nevcairiel
23rd July 2011, 23:26
nevcairiel - what is the general thought about the direction of Deinterlacing
http://code.google.com/p/lavfilters/issues/detail?id=17
I thought you read the tracker. :p
jmone
23rd July 2011, 23:26
I have no plans to integrate any other decoder at this time.
I understand the desire but like with LAV Audio using dtsdecoder.dll if it is there, it would be worth calling something when VC(i) content is encountered (either the std MS filter which is on all PC's anyway or even LAVCUVID if it is compatible with the HW).
jmone
23rd July 2011, 23:29
http://code.google.com/p/lavfilters/issues/detail?id=17
I thought you read the tracker. :p
I do but with a priority of None - it is always worth a second (or third) go on the discussion :)
nevcairiel
23rd July 2011, 23:31
The prioritys are not for discussion. :)
jmone
23rd July 2011, 23:35
Thanks - worth a shot! (pulls head back in and waits patiently)
clsid
23rd July 2011, 23:45
These files give a com surrogate error in Explorer:
http://www.mediafire.com/?dgp0q1j73g7rngeIt seems to be a build specific problem.
Nev, which mingw toolchain are you currently using?
nevcairiel
23rd July 2011, 23:50
Nev, which mingw toolchain are you currently using?
The GCC 4.6.1 version of xhmikosr's mingw package.
clsid
24th July 2011, 00:17
Debug build shows that the crash occurs in the call
_wcsicmp(extension, L".evo")
inside function
CLAVFDemuxer::InitAVFormat
due to extension being NULL
The code in CLAVSplitter::CompleteInputConnection to get the filename is thus not always successful.
Funny thing is also that I have set the splitter to a lower merit than the MS AVI splitter. So it is weird that is it being used in Explorer to extract metadata.
roytam1
24th July 2011, 02:32
The b-frame timestamps are useless, they are basically the same as the last P/I frame befoer that. What VLC does is the same, drop the timestamps of all frames that are not references, which are b-frames in Real Video. I don't know why it works with VLC, but looking at the timestamps of the video, its not like there are gaps somewhere to compensate, i just get the frames like this. Its not dropping any frames when its stuttering, they just come in with time-gaps in them, like there are frames missing.
Maybe its the ffmpeg rmvb demuxer which actually has this problem, and not the decoder. VLC has its own demuxer for Real files - maybe that makes the difference.
MPlayer (plain win32 build) play that file quite well too.
http://sourceforge.net/projects/mplayer-win32/files/MPlayer%20and%20MEncoder/revision%2033883/
Log:
MPlayer Sherpya-SVN-r33883-4.2.5 (C) 2000-2011 MPlayer Team
163 audio & 369 video codecs
Scanning dir C:/WINDOWS/fonts
Scanning file C:/WINDOWS/fonts/8514fix.fon...done
(...)
Scanning file C:/WINDOWS/fonts/wst_swed.fon...done
Playing j:\[KTXP&DYMY][Kamisama Dolls][03][GB][RV10].rmvb.
REAL file format detected.
Stream description: Audio Stream
Stream mimetype: audio/x-pn-realaudio
[real] Audio stream found, -aid 0
Stream description: Video Stream
Stream mimetype: video/x-pn-realvideo
[real] Video stream found, -vid 1
Stream mimetype: logical-fileinfo
VIDEO: [RV40] 848x480 24bpp 23.000 fps 0.0 kbps ( 0.0 kbyte/s)
Clip info:
author: 憤荌趼躉郪
copyright: bbs.ktxp.com
comment:
Load subtitles in j:\
==========================================================================
Opening video decoder: [realvid] RealVideo decoder
Error loading dll
ERROR: Could not open required DirectShow codec drvc.dll.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
Error loading dll
ERROR: Could not open required DirectShow codec drv43260.dll.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [realvid] RealVideo decoder
Error loading dll
ERROR: Could not open required DirectShow codec drvc.bundle/Contents/MacOS/drvc.
Read the RealVideo section of the DOCS!
VDecoder init failed :(
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffrv40] vfm: ffmpeg (FFmpeg RV40)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, s16le, 96.0 kbit/6.80% (ratio: 12000->176400)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [dsound] 44100Hz 2ch s16le (2 bytes per sample)
Starting playback...
Movie-Aspect is undefined - no prescaling applied.
VO: [directx] 848x480 => 848x480 Planar YV12
Tsukihime
24th July 2011, 03:00
Hi guys,
http://files.1f0.de/lavf/LAVFilters-video2.zip
This is the second "official" test version of LAV Video Decoder.
:thanks:
Is there an x64 build?
betaking
24th July 2011, 06:05
Hi guys,
http://files.1f0.de/lavf/LAVFilters-video2.zip
This is the second "official" test version of LAV Video Decoder.
Changes since the first:
- Multi-Threaded decoding for H264, MPEG2, MPEG4, VP8, VP3/Theora, HuffYUV and DV (thats basically all formats ffmpeg offers multi-threading for)
- Fixed H264 in AVI
- Options to configure Multi-Threading, Stream Aspect Ratio, and which formats are active
- Alot more format support, including: MPEG1, DV, FLV1, VP6, SVQ3, H263, H261, Fraps, Theora, Indeo 3/5, Real Video 1/2/3, Bink Video
- Proper recovery for H264 after seeks, hopefully no artifacts anymore.
- Improved Output Format support for the "odd" renderers
- And a whole lot of other things.
If you're testing, please report any corruptions right after a seek or at the start of a file. Especially with H264!
The other formats are not specifically seek-proof yet, however i've really only ever seen alot of artifacting with H264.
Have fun testing!
thanks , and i have bug repot use lavvideo decoder some wmv1 wmv2 wmv3 and avi by encoder divx3-divx5 or xvid mpc-hc give a carsh but not haapen a mkv by encoder divx or xvid!vc1 and h.264 play is ok!
CruNcher
24th July 2011, 08:09
I found the issue for my DXVA problems it was the NT 5 /3GB Kernel switch :(
nevcairiel
24th July 2011, 09:33
Debug build shows that the crash occurs in the call
_wcsicmp(extension, L".evo") inside function CLAVFDemuxer::InitAVFormat due to extension being NULL.
Thansk, added a NULL check around it.
MPlayer (plain win32 build) play that file quite well too.
MPlayer also has its own demuxer, afaik.
thanks , and i have bug repot use lavvideo decoder some wmv1 wmv2 wmv3 and avi by encoder divx3-divx5 or xvid mpc-hc give a carsh but not haapen a mkv by encoder divx or xvid!vc1 and h.264 play is ok!
Like always, i do need a sample for a crash. Otherwise its impossible to debug.
Mercury_22
24th July 2011, 10:53
LAVSplitter freezing with some avi files (non-interleaved)
Sample (http://www.megaupload.com/?d=5IN79PM9) (wait till 00:40)
VipZ
24th July 2011, 11:25
Nev, got an issue with this sample, http://www.mediafire.com/?8jq2e4857a3udcz
When using LAV Splitter which this, video just stalls and only audio plays, if MPC splitter used with LAV Video/Audio it plays fine.
Here is latest build inc x64 for anyone who wants, http://www.mediafire.com/?2wjbhfo69jjfdzx
betaking
24th July 2011, 13:13
to:nevcairiel,check your pm!
nevcairiel
24th July 2011, 13:42
to:nevcairiel,check your pm!
The file you send me plays just fine for me.
betaking
24th July 2011, 13:46
The file you send me plays just fine for me.
Faulting application mpc-hc.exe, version 1.5.3.3466, time stamp 0x4e2ba357, faulting module quartz.dll, version 6.6.6002.18158, time stamp 0x4b195520, exception code 0xc0000094, fault offset 0x000b9c29, process id 0xf88, application start time 0x01cc49ffa871eb60.
nevcairiel
24th July 2011, 13:55
Ah it only happens with VMR-9, should be fixed.
betaking
24th July 2011, 13:56
Ah it only happens with VMR-9, should be fixed.
YES some wmv1 wmv2 wmv3 and avi by encoder divx3-divx5 or xvid mpc-hc give a carsh only happens with VMR-9 too! and use SYSTEM DEFAULT video render wmv1 wmv2 wmv3 and avi by encoder divx3-divx5 or xvid mpc-hc give black screen! use evr evr cp evr sync all is ok!
nevcairiel
24th July 2011, 13:59
Here is a new test build with mostly crash fixes and small cleanups
http://files.1f0.de/lavf/LAVFilters-video3.zip
betaking
24th July 2011, 14:15
Here is a new test build with mostly crash fixes and small cleanups
http://files.1f0.de/lavf/LAVFilters-video3.zip
thanks all my problem is fix now!:)
ForceX
24th July 2011, 16:37
Lavvideo has some memory release issues. I took a 720p Hi10P video and opened it 3 times from MPC-HC; first using madVR decoding, then lavvideo. (from File> Open File..). Following is Task Manager's Physical memory usage graph:
http://i.imgur.com/DV6Oi.png
As you can see, madvr properly frees up the memory before opening another file. But instead of releasing the memory, lavideo just keeps allocating more for the new video. Pressing Stop doesn't free any memory either, unlike madVR.
This is especially bad when decoding a 4:4:4 10 bit 1080p video like the Big Buck Bunny video, which eats huge amount of RAM for decoding, and doing it a couple times with lavvideo made my PC freeze due to RAM shortage. Below is the BBB444p10 file being opened twice:
http://i.imgur.com/tS4YD.png
Setup: Win7 64 bit, MPC-HC 1.5.3.3462 32 bit, madVR .69, LAVFilters-video3
nevcairiel
24th July 2011, 16:57
Thanks for the report, i found the issue, and now memory returns to nothing when the file is closed.
Reino
24th July 2011, 17:50
I have two samples where the audio part is badly processed by the LAV Splitter;
- Tomsk_512x384_490kbit (v320).mpg (http://www.zshare.net/video/929484053a484192/)
- tomsk_sky_512x384_600kbit(v430kbit).mpg (http://www.zshare.net/video/92948599a3b3adeb/)
Both files contain AAC audio, albeit in a non-standard form.
The MPC-HC MPEG Splitter correctly passes it through to whatever AAC audio decoder (FFDshow in my case), but the LAV Splitter incorrectly detects it as MP2 at the beginning and later on MP1, MP2 or MP3 alternately. The video part of the first sample plays normal, but the second sample freezes immediately.
Furthermore, a question for nevcairiel;
I was wondering if you could release a splitter-only package.
Obviously for he who wishes to use FFDshow or any other decoder instead of the LAV Decoder.
nevcairiel
24th July 2011, 17:51
I was wondering if you could release a splitter-only package.
Obviously for he who wishes to use FFDshow or any other decoder instead of the LAV Decoder.
No. The actual decoder files (the .ax files) are pretty small, the big parts are the ffmpeg libraries - which are also required for the splitter.
There is no downside in downloading the full package - just only install the parts you want to use.
madshi
24th July 2011, 17:53
Yep, please don't split the downloads. I like to have everything in one package.
BTW, is there any worry about multiple DirectShow filters using different versions of the libav/ffmpeg dlls? I'm wondering because I ran into trouble myself. madVR's libav/ffmpeg dlls had the same file names as the LAV dlls, but were a different version, and one of the APIs (which I modded) was not compatible. So I got a crash. I've now solved it by renaming the dlls from *.dll to *.mvr (some additional patching is necessary). This way my version of libav/ffmpeg can happily sit next to anybody else's. Would it make sense to do a similar thing for the LAV filters, just to make sure there won't be any collision with any other DirectShow filters now or in the future? E.g. you could rename them to *.lav. Just a thought, though.
nevcairiel
24th July 2011, 18:01
BTW, is there any worry about multiple DirectShow filters using different versions of the libav/ffmpeg dlls? I'm wondering because I ran into trouble myself. madVR's libav/ffmpeg dlls had the same file names as the LAV dlls, but were a different version, and one of the APIs (which I modded) was not compatible. So I got a crash. I've now solved it by renaming the dlls from *.dll to *.mvr (some additional patching is necessary). This way my version of libav/ffmpeg can happily sit next to anybody else's. Would it make sense to do a similar thing for the LAV filters, just to make sure there won't be any collision with any other DirectShow filters now or in the future? E.g. you could rename them to *.lav. Just a thought, though.
I will eventually change the way i import the functions from the ffmpeg libs to do it manually, directly referencing the libs sitting in the exact same dir as the .ax.
However, until then, its easier to simply change the name of the dlls then the extension - ffmpeg's configure script offers an option for that already, check the "--build-suffix" option.
I may enable it in a future version, just 'cause.
SamuriHL
24th July 2011, 18:01
I was wondering about that, too, madshi. J River is downloading private copies of LAV filters and madVR. Which set of DLL's gets used in that case? Who knows? :D
madshi
24th July 2011, 18:10
I will eventually change the way i import the functions from the ffmpeg libs to do it manually, directly referencing the libs sitting in the exact same dir as the .ax.
That won't help if they have the same name. Let's say DirectShow filter XYZ loads its own files with LoadLibrary("c:\xyz\avcodec-53.dll"). Then afterwards you load yours with LoadLibrary("c:\lav\avcodec-53.dll"). Windows will not load your dlls, but instead return a handle to the XYZ copy of the dll to you, because Windows technically cannot load a dll with the same name twice (even if the path is different). You *have* to rename the files, if you want to make sure that you get to load your own private dll copies.
However, until then, its easier to simply change the name of the dlls then the extension - ffmpeg's configure script offers an option for that already, check the "--build-suffix" option.
Didn't know that option, thanks!
I was wondering about that, too, madshi. J River is downloading private copies of LAV filters and madVR. Which set of DLL's gets used in that case? Who knows? :D
I do. Since madVR's libav/ffmpeg dlls were renamed from *.dll to *.mvr there's no collision at all. Not between LAV filters and madVR at least.
SamuriHL
24th July 2011, 18:13
I do. Since madVR's libav/ffmpeg dlls were renamed from *.dll to *.mvr there's no collision at all. Not between LAV filters and madVR at least.
That's probably good then. We still need to convince J River to whitelist both madVR's decoder and LAV Video decoder so that we can start testing them in MC16.
Sven75
24th July 2011, 18:18
I tested your current release and the problems with LAV Video Decoder not connecting to the default renderer are of the past. It was not the interlaced flags, but instead (as you noted in the tracker) the AR info which did the trick. Great!
Now, I was very confident that this will also solve my PowerPoint 2010 issue with one of videos you downloaded from our server (25_Video_MPEG2_Not_working_with_LAVSplitter_in_PowerPoint2010_Native.mpg), but no luck with this one.
However, it does play fine if I use
Elecard -> ffdShow or
Elecard -> MS DTV-DVD Video Decoder -> ffdShow (raw)
It's not working in the follwing cases:
Elecard -> LAV Video Decoder
LAV Splitter -> ffdShow
LAV Splitter -> LAV Video Decoder
LAV Splitter -> MS DTV-DVD Video Decoder
LAV Splitter -> MS DTV-DVD Video Decoder -> ffdShow (raw)
Elecard -> MS DTV-DVD Video Decoder
PowerPoint will refuse to insert the clip or (if I use an existing Presentation already containing the clip) it will either state "medium not available" or freeze the App completely.
At least today I only tested it on my Intel 4 Express Chipset Graphics, but as I had this issue already before LAV Video Decoder came out I know that it will also occur with ATI Graphics.
I uploaded a pptx-presentation with the linked clip and some Graph Studio reports:
http://www.mediafire.com/?9ry9aim077p4f6z
If you can please have a look at it. The problem also happens with the PowerPoint Viewer 2010 so there is no need to install the full version of the App.
P.S.: I also tried changing AR, interlace and threading options in LAV Video Decoder to no avail...
e-t172
24th July 2011, 18:18
BTW, is there any worry about multiple DirectShow filters using different versions of the libav/ffmpeg dlls? I'm wondering because I ran into trouble myself. madVR's libav/ffmpeg dlls had the same file names as the LAV dlls, but were a different version, and one of the APIs (which I modded) was not compatible. So I got a crash. I've now solved it by renaming the dlls from *.dll to *.mvr (some additional patching is necessary). This way my version of libav/ffmpeg can happily sit next to anybody else's. Would it make sense to do a similar thing for the LAV filters, just to make sure there won't be any collision with any other DirectShow filters now or in the future? E.g. you could rename them to *.lav. Just a thought, though.
Well, the logical thing to do would be to rename any modded DLLs, but keep the original names for vanilla libav/ffmpeg. Also, the Side-By-Side assemblies (http://msdn.microsoft.com/en-us/library/dd408052%28v=vs.85%29.aspx) feature of Windows is designed to address this kind of issues, but considering the complexity of it all, that's killing a fly with a thermonuclear device IMO.
I was wondering about that, too, madshi. J River is downloading private copies of LAV filters and madVR. Which set of DLL's gets used in that case? Who knows? :D
Typically, the first loaded wins.
SamuriHL
24th July 2011, 18:24
Typically, the first loaded wins.
Sure, I get that, but, it's difficult to know for sure what the "first loaded" process is. I suppose it probably goes by how the graph is built in which case LAV would "win". However, I agree with madshi's approach of renaming the DLL's that are changed.
madshi
24th July 2011, 18:26
Well, the logical thing to do would be to rename any modded DLLs, but keep the original names for vanilla libav/ffmpeg.
How do you define vanilla, though? The default static lib files produced for MSVC++ link to index numbers instead of function names. Which means that even if everything else is the same, if the index tables differ, getting a "wrong" vanilla libav/ffmpeg dll can already make your software crash, even if it's the same version family. I've already had this pleasant experience (2 different vanilla avcodec-53.dll files having different index tables).
SamuriHL
24th July 2011, 18:27
How do you define vanilla, though? The default static lib files produced for MSVC++ link to index numbers instead of function names. Which means that even if everything else is the same, if the index tables differ, getting a "wrong" vanilla libav/ffmpeg dll can already make your software crash, even if it's the same version family. I've already had this pleasant experience (2 different vanilla avcodec-53.dll files having different index tables).
YIKES! Then in that case, yes, everything should be renamed and the entire ffmpeg/libav chain should be kept private.
e-t172
24th July 2011, 18:28
That won't help if they have the same name. Let's say DirectShow filter XYZ loads its own files with LoadLibrary("c:\xyz\avcodec-53.dll"). Then afterwards you load yours with LoadLibrary("c:\lav\avcodec-53.dll"). Windows will not load your dlls, but instead return a handle to the XYZ copy of the dll to you, because Windows technically cannot load a dll with the same name twice (even if the path is different). You *have* to rename the files, if you want to make sure that you get to load your own private dll copies.
MSDN disagrees (http://msdn.microsoft.com/en-us/library/ms684175%28v=vs.85%29.aspx):
If lpFileName does not include a path and there is more than one loaded module with the same base name and extension, the function returns a handle to the module that was loaded first.
Meaning, if it does include a path, LoadLibrary will always load the specified module with the full path.
madshi
24th July 2011, 18:43
Meaning, if it does include a path, LoadLibrary will always load the specified module with the full path.
Wow, you're right!!! Learned something new today... :)
nevcairiel
24th July 2011, 18:44
I have two samples where the audio part is badly processed by the LAV Splitter;
- Tomsk_512x384_490kbit (v320).mpg (http://www.zshare.net/video/929484053a484192/)
- tomsk_sky_512x384_600kbit(v430kbit).mpg (http://www.zshare.net/video/92948599a3b3adeb/)
Both files contain AAC audio, albeit in a non-standard form.
Those files are just broken.
For one, they are MPEG-TS files, but named .mpg? Oh well, that wouldn't break anything.
However, the audio is flagged as stream_type=4, which is the ID for mpeg audio. If someone encodes stuff like this, it just will not work, sorry. I cannot support every broken file out there..
Xaurus
24th July 2011, 19:16
madshi/Nevcariel,
I don't remember if you recall me having real trouble with ts files.
I filmed my computer during a test so that you can see what
happens.
First I open a normal mkv file (in this case the first episode of The Borgias). As you can see, nothing strange going on, it works fine.
Then I open Underworld m2ts which is just one of many ts files that can't be played. The sound is garbled, the video it self runs at least twice as fast as it should.
You can verify the filters used that they are all in use by
going to the end of the video.
You can download my film here:
http://www.tcec-chess.org/xaurus_ts_video_truble.mp4
(filmed in 720p)
Hopefully we can try to fix this, as of right now I am not
even sure if the problem is with LAVfilters or madvr.
I am using mpc-hc (latest build), madvr 69 (same with previous verisons), LAVfilters 0.30 and earlier LAVcuvid 0.9 (now LAV video isntead, but same problem with both).
:thanks:
nevcairiel
24th July 2011, 21:19
I would need a sample file that doesn't play properly to tell you anything.
Otherwise, the audio renderer is responsible for maintaining the reference clock that dictates when frames are shown - try using another audio renderer?
On Windows XP, the renderes are directly linked into the audio drivers - bad drivers = bad renderer. On Vista/7 Microsoft put a proper mixer in between, where this wouldn't be a great problem. If you're on XP, try a renderer like ReClock - in fact, try it on whatever system you're on. :p
Xaurus
24th July 2011, 21:28
I would need a sample file that doesn't play properly to tell you anything.
Otherwise, the audio renderer is responsible for maintaining the reference clock that dictates when frames are shown - try using another audio renderer?
On Windows XP, the renderes are directly linked into the audio drivers - bad drivers = bad renderer. On Vista/7 Microsoft put a proper mixer in between, where this wouldn't be a great problem. If you're on XP, try a renderer like ReClock - in fact, try it on whatever system you're on. :p
Nev,
Thank you. What I did was to remove AC3filter and add LAVaudio instead.
And guess what?
Now it works. And I have sound too. I remember asking you
earlier why I couldn't get any sound into my external DAC with
LAVaudio, but now I do. Did you add/change anything in the
latest 0.30 version? Also, the DRC feature is great! :thanks:
nevcairiel
24th July 2011, 21:32
AC3Filter does not work with DTS-HD (its a crappy implementation, instead of just ignoring the HD extension like any good decoder, it just fails miserably), maybe thats why it broke for you?
Xaurus
24th July 2011, 22:02
AC3Filter does not work with DTS-HD (its a crappy implementation, instead of just ignoring the HD extension like any good decoder, it just fails miserably), maybe thats why it broke for you?
Yes, perhaps. Actually it didn't cross my mind that it was an audio filter problem. In any case, I simply love LAV.
Thanks for all your help!
Reino
24th July 2011, 22:42
Those files are just broken.
For one, they are MPEG-TS files, but named .mpg? Oh well, that wouldn't break anything.
However, the audio is flagged as stream_type=4, which is the ID for mpeg audio. If someone encodes stuff like this, it just will not work, sorry. I cannot support every broken file out there..
No big deal. I picked these up from a Russian website some years ago for testing purposes. It was just the fact the MPC-HC Mpeg Splitter had no problems with these 2 videos that I thought I'd mention.
Selur
25th July 2011, 06:32
small bug report: LAV Filters (0.3) interferes with SIF1 (v1.20) as soon as I install the x86 splitter (even if I disable .avi support for the Splitter; may be the disabling optio in the installer doesn't work correctly) playback of SIF1 doesn't work properly. (If I disable the x86 splitter everything works fine.)
Cu Selur
nevcairiel
25th July 2011, 07:33
The version is 0.30 (read: zero dot thirty), not 0.3 (read: zero dot three). 0.3 is about a year old.
Anyway, the only thing LAV Splitter does when you install it, it sets itself up to be the source filter that handles AVI files. It doesn't do anything that would break anything else.
Sounds to me like that filter you're talking about just doesn't like working with LAV Splitter, is all.
CruNcher
25th July 2011, 09:51
No big deal. I picked these up from a Russian website some years ago for testing purposes. It was just the fact the MPC-HC Mpeg Splitter had no problems with these 2 videos that I thought I'd mention.
Those are Moonlight Demos back from the early research days of AAC you can be sure those are buggy muxed and non standard they where experimenting with AAC back then it seems, these should be more iso compliant http://www.elecard.com/en/download/videos.html :P
Nice if this fixes the 30 fps lock for .ts @ Encoding that would be perfect (Playback/Transcoding) :)
I now also separated all of those special aac laatm muxes (bad ones, correct ones) testing them in combination with DivX AAC Decoder (Mainconcept) and the splitter/parser
PS: It looks crazy good so far in Player (Dshow) test of the 30 fps lock test shows @ 2x fast forward it gets crazy fast and doesn't locks to 30 fps max anymore after some second speedup like it used todo previously, it accelerates to the full 60 fps without problems now almost instantly under 1 sec (audio/video) that looks perfect Nev great work (now it seems even better then Cyberlinks Demuxer in those regards as good as Arcsoft and Mainconcepts) :) http://forum.doom9.org/showpost.php?p=1502471&postcount=3309 <- so without further testing just from the first player test seems fixed.
Also only 1 stream so far couldn't be played (though it was nicely falling back to MPCs internal Splitter and played) but im still into testing around 50 others of those 158 ;)
Being able now to use LavSplitter for Transcoding/Playback is a big usability step (also makes a combined framework with as less as possible dshow code bloat much easier) :)
Results (Play and Go test First Playback results File open play Video/Audio no switch test no seek test):
out of those 158 streams following new issues (their are a lot of laatm issues in combination with audio decoding but most are known, separated those streams now :) )
1 stream no parsing @ all switches to MPCs Internal Splitter (old issue, though not critical as this fallback works fine, and changing code because of only this 1 stream seems crazy risking to much)
1 new stream (Mpeg-2, Mainconcept Mpeg-2 Decoder) unsync issues (need to check Decoder side first before looking @ splitter and audio (lav audio sync functions (ac3), easier to avoid cross codec issues that way also testing only the Mpeg-2 streams for differences saves a lot of time ;) )
1 old H264 recording gets unsync (no possibility on the decoder side (Cyberlink Decoder) to change sync options) have to check how the HD PVR fix enabled changes the other streams behavior (as the HD PVR recordings actually work without issues since some time now without the HD PVR fix) <- No issues with DXVA
except those 3 issues and all the laatm related things everything else works 100% for .ts (including VC-1 (Lav Cuvid)) :)
I hope the 2 last issues are just a easy settings fix (decoder and splitter side) without impacting everything else, this would then reduce it to only 1 (Play & Go) issue that isn't really critical @ all :)
All of the streams Played back with VMR-9 Renderless and Vsync correction (MPC-HC) no issues :)
Testing is done on Nvidias Framework (so stability and performance is VP2 and Nvidia Driver based Forceware 275.65 WHQL (DSP decoding part (DXVA)) with disabled Nvidia IVTC)
Arghh just realized DXVA is totally lost (with 275.65 moded Quadro WHQL driver)
Yep it switches to YUY2 (H.264 Cyberlink) and YV12 (Mpeg-2 Mainconcept) the issue on XP for this is to search in the Driver (or decoder needs to be updated to the new Driver) i will redo the test once i get hardware playback working again (Lav Cuvid works even with this new Driver that seems not working with DXVA,testing the 1080p 60 fps playback issues with VMR9 first (maybe i finally can leave @ least DXVA to get rid of these work/not work driver (3rd party decoder DXVA issues) once and for all WipeOut 1080p 60 fps BF3 1080p 60 Fps VMR9 test.
Sorry I totally forgot to check @ the DXVA status and or CPU behavior when testing :(
Until i tried .m2ts and came to hard DSP and non DXVA complaint streams that suddenly showed no issues i realized something is wrong (6Cat stream,Samsung stream,4 Girls stream) :( and then i saw all of them where Decoded by the Cyberlink Software part (YUY2) :(
So above test results are Software Decoding only for both and mostly in Software Decoding you have the least issues currently with anything Hardware Decoding is where most problems arise with the Splitter except the Transcoding issue (which is entirely on the Software Decoding level, though i will double check that too now from the transcoding layer not only fast forward in player to be sure this issue with the 30 fps lock is history when transcoding).
Maybe it's also a MPC-HC issue used the newest build i first have to find out why DXVA is currently failing with VP2 and the mentioned Decoders (i suspect the Driver which isn't even for the Geforce series but Lav Cuvid (Nvcuvid Api) works fine with it) :(
First though i will check the Splitter level it can cause and has caused DXVA issues with Decoders often in the past, especially when not made by the same vendor (also it's the easiest to test before trying to reinstall a Driver)
Update:
1st try Splitter = Negative MPC-HC splitter behaves the same with Cyberlinks Decoder all 1080p streams lost DXVA 720p works (so Driver or Decoder issue with the Driver is the most probable cause)
2nd try Driver = Gone back to 275.50 beta no good still DXVA doesn't work as it should going back some driver revisions before 275 i know that worked now.
PS: This is serious my whole DXVA subsystem seems to go crazy not sure what code change initiated this but now i understand why Flash Player is also doing strange stuff and this doesn't even seem Driver related maybe some Directx issue Intel Board driver, actually i dunno CoreAVCs DXVA also stoped working and that can be reliable checked because of it's Red DXVA Icon.
Maybe something wants to tell me it's the right time moving to NT 6 now ;)
Did anyone ever lost the DXVA subsystem under XP completely or @ least it was damaged so heavily that it behaved extremely crazy ?, its my first time ever i looked for every acceleration knob i could find actually their are 3 locations accessible via a GUI i know myself Dxdiag,DirectX Controll Panel, and via the Advanced GFX Panel, everyone of them is active also the DirectX Installation seems ok still i don't get 1080p DXVA acceleration working @ all anymore
Nvcuvid isn't affected 720p,1080p no issues except the 1080p 60 fps problem because of that i actually preferred DXVA and automatic 4:2:2 Studio Profile Hardware/Software switching.
Tried to reinstall the GFX driver (several different revisions) no go i guess only the Panic Solution might be able to help a complete Internet Explorer and Windows Media Player re Installation hopefully it magically comes back after :(
Actually i found out you can use MPC-HC and it's internal DXVA very nicely @ least to test if it's working @ all
MPC-HC always tries to Decode with DXVA (it doesn't seem to ever fall back to Software Decoding when DXVA fails) if it's selected as internal decoder, result is a full black Screen on 1080p H.264 Videos currently :( with 720p Videos it works same behavior like Flash Player currently also CoreAVCs DXVA has a nice Indicator (the ATI RED CoreAVC icon that currently with 1080p videos switches to blue Software).
My Current Dilemma
http://img98.imageshack.us/img98/9794/notgoodg.th.png (http://img98.imageshack.us/img98/9794/notgoodg.png)
http://img818.imageshack.us/img818/4346/nothingdeadzerotot.th.png (http://img818.imageshack.us/img818/4346/nothingdeadzerotot.png)
its like 1080p acceleration never existed (and most here know VP2 is capable of it and i didn't imagined using it over all the years )
So after fixing my DXVA issues ( for those who want to have a insight view what was going on and how i fixed it http://forum.doom9.org/showthread.php?t=162021) , and retesting the result doesn't changed much except the 2 streams that showed sync issues also work in DXVA now without any issues, the Latm stuff stays problematic depending on the stream (how it was muxed flaged, does it use Scalable AAC ect).
but all in all it works fantastically stable on the playback side :) with both Mainconcepts Mpeg-2 Decoder (switching between 4:2:2 Studio Profile Software Decoding and Hardware decoding works without issues) and Cyberlinks H.264 Decoder (no dynamic Hi10, Lossless and 4:4:4 Software switching possible yet, Lav Splitter + LavCuvid in combinatation with LavVideo it would be possible same for MPC-Video Decoder and LavVideo or Ffdshow) for *.ts :) Or put the whole Logic for this into MPC-HC directly (detecting stream with Mediainfo then decide based on the used Hardware for the most efficient Decoder or even the only working ones).
this was done testing the 0.30 release one guy posted a BBC HD sample of a Beyonce concert here that indeed shows problems (stucks @ the first frame, no issues either with Mplayer though VLC also stucks some seconds but then plays)
If it is damaged maybe after running it throug VIdeoRedo it can be made compatible with LavSplitter (though Lav Splitter should be able to parse this if mplayer, vlc are able too)
Superb
25th July 2011, 13:36
A friend posted a problematic trp file. No audio is being heard.
The file: http://www.sendspace.com/file/8v77k3
MediaInfo: http://pastebin.com/nBtREGvX
Filters menu of MPC-HC while playing: http://lulzimg.com/i24/62f526.png (seems like the AAC is identified as mp1 audio)
He used LAV Splitter and LAV Audio v0.30.
Selur
25th July 2011, 16:56
Sounds to me like that filter you're talking about just doesn't like working with LAV Splitter, is all.
Neiromaster author of SIF1 found the problem in LAV Filter, see: http://forum.doom9.org/showthread.php?p=1515675#post1515675
Cu Selur
nevcairiel
25th July 2011, 17:47
Neiromaster author of SIF1 found the problem in LAV Filter, see: http://forum.doom9.org/showthread.php?p=1515675#post1515675
Cu Selur
His explanation doesn't make any sense. Its a compressed format, probably variable size, relying on that value to be set to something is silly.
biSizeImage is not defined for compressed formats. 0 is a perfectly valid value. Setting to the width*height*3 makes no sense, thats the size of a full uncompressed image buffer.
cengizhan
25th July 2011, 18:05
nevcairiel,
currently your beta video decoder doesnt work with some dvb programs like dvbdream. will you add support for dvb programs?
nevcairiel
25th July 2011, 18:20
Nev, got an issue with this sample, http://www.mediafire.com/?8jq2e4857a3udcz
When using LAV Splitter which this, video just stalls and only audio plays, if MPC splitter used with LAV Video/Audio it plays fine.
Fixed.
this was done testing the 0.30 release one guy posted a BBC HD sample of a Beyonce concert here that indeed shows problems (stucks @ the first frame, no issues either with Mplayer though VLC also stucks some seconds but then plays)
If it is damaged maybe after running it throug VIdeoRedo it can be made compatible with LavSplitter (though Lav Splitter should be able to parse this if mplayer, vlc are able too)
That sample was just fixed, as well.
Xaurus
25th July 2011, 18:30
nevcairiel,
Is it possible to add something like a gain/normalization control to LAVaudio?
By dropping AC3filter I have a problem getting a stable volume
from different movies. One movie can have a lower volume than
the other etc.
:thanks:
nevcairiel
25th July 2011, 18:31
Is it possible to add something like a gain/normalization control to LAVaudio?
By dropping AC3filter I have a problem getting a stable volume
from different movies. One movie can have a lower volume than
the other etc.
Possible, sure.
Will i do it? Probably not. Those types of algorithms have *loads* of difficultys, not something i really want to get into.
Rectal Prolapse
25th July 2011, 18:34
Hi - just wondering if anyone has had playback problems with Fellowship of the Ring Extended Edition Blu-ray Disc 2 when using LAV filters for playback?
Specifically, starting after the 40 minute mark of disc 2, when Gandalf says, "Fly, you fools" before falling off the ledge, the audio will stutter and go into slow motion for several seconds and then the audio remains out of sync for the rest of the movie. This is playing the DTS-HD track, with or without the Arcsoft decoder DLL.
I can reproduce this problem more than 50% of the time by rewinding back to the 40 minute mark and playing from there. Tested with varying versions of MPC-HC, on two different PCs (Core 2 Duo E6400 with NVIDIA 260 card) and an i7-2600K machine (stock speed) with the same videocard - LAVCUVID was used. The problem goes away 100% if I switch to a different audio filter, like ffdshow or the inbuilt MPC-HC one. The common denominator seems to be the LAVAudio filter. When MPC-HC is set to show statistics with the framerate information and graph, it looks like the LAVAudio splitter goes wildly out of sync and the graph goes crazy. The video looks fine but the audio just goes nuts.
I believe this occurs even if I use MPC-HC's own h264 decoder, but I am not 100% sure on this as it has been a month since I did that test.
This was tested with version 0.29 of LAV. I haven't tested with version 0.30 yet.
EDIT: BTW this also happens if I have the LAV audio filter is set to SPDIF mode. Also, the m2ts stream was run through eac3to and no errors were reported in the stream.
Thanks for your time.
nevcairiel
25th July 2011, 20:26
I noticed this problem myself on some discs, and after you poked me about it, i spend the last two hours trying to figure out the cause, and i think i isolated a possible cause in the ffmpeg DTS parser .. more testing going to happen, but i'm hopeful.
nevcairiel
25th July 2011, 20:40
Eh, what good is testing all by myself, eh!
http://files.1f0.de/lavf/LAVFilters-0.30-131-g963d83e-video.zip
This is the latest build out of the video branch, which also got the fix for the DTS parser. Please try it, especially on DTS-HD tracks, and confirm that nothing new broke, and the issue is resolved. I hope it now doesn't start detecting false positives ..
How big is the chance some random encoded chunk looks exactly like the 32-bit DTS sync word? Not very high, or is it?
I should eventually write a new, smarter, DTS parser, if there are any problems now.
Messiah
25th July 2011, 20:56
How big is the chance some random encoded chunk looks exactly like the 32-bit DTS sync word? Not very high, or is it?
LOL, same chance that you got hit by a truck while in hotel...on the 5th floor :p
Superb
25th July 2011, 23:45
A friend posted a problematic trp file. No audio is being heard.
The file: http://www.sendspace.com/file/8v77k3
MediaInfo: http://pastebin.com/nBtREGvX
Filters menu of MPC-HC while playing: http://lulzimg.com/i24/62f526.png (seems like the AAC is identified as mp1 audio)
He used LAV Splitter and LAV Audio v0.30.I just opened a ticked for this issue: http://code.google.com/p/lavfilters/issues/detail?id=39
azaze1
26th July 2011, 03:28
Hi,
If my windows mixer is set for 7.1, and I want to play a DTS-HD MA 5.1 mkv and have WASAPI exclusive ensure 5.1 PCM to my receiver... how can I achieve that when dropping in the arcsoft dtsdecoder.dll into the LAV Filters directory?
First problem I have is it defaults to 2.0 and does not remember when I make a change (I recall some regedit to enforce 7.1 if that's what you have).
Second problem is I do NOT want 7.1 PCM with 2 silent channels being sent with a 5.1 track. I want a 5.1 track sent so my receiver creates a 7.1 matrix. Is this doable via LAV audio decoder settings? Or would that be in the Arcsoft's config domain? If so is it even possible?
madFLAC is able to send a 5.1 PCM with a 5.1 FLAC mkv when my windows mixer is 7.1 which is perfect. I'm hoping the same can be done with decoding DTSHD-MA 5.1
EDIT: sorry, this was covered earlier in the thread... didn't search for the right string. Reclock is the answer. moving on...
v0lt
26th July 2011, 03:57
@nevcairiel
How to download the source code?
Superb
26th July 2011, 04:00
@nevcairiel
How to download the source code?http://code.google.com/p/lavfilters/source/checkout
v0lt
26th July 2011, 04:02
Previously was a link to the archive. I do not see it now. :(
mikinho
26th July 2011, 04:08
Previously was a link to the archive. I do not see it now. :(
A git repository contains all the history at all time. So you can do a git clone and then checkout whatever branch\commit you want.
Rectal Prolapse
26th July 2011, 05:02
Eh, what good is testing all by myself, eh!
http://files.1f0.de/lavf/LAVFilters-0.30-131-g963d83e-video.zip
This is the latest build out of the video branch, which also got the fix for the DTS parser. Please try it, especially on DTS-HD tracks, and confirm that nothing new broke, and the issue is resolved. I hope it now doesn't start detecting false positives ..
Sorry nev, it didn't seem to work for that scene I mentioned in FOTR disc 2. Still the same problem! In fact it glitched twice and audio sync was off by several seconds. :(
If you turn on mpc-hc's stats display (CONTROL-J) you'll see the framerate go crazy.
Rectal Prolapse
26th July 2011, 05:18
BTW the next two times I repeated the scene (starting at the 00:40:00 mark) the problem didn't manifest. So I suspect this may be a parsing issue that also is dependent on buffering and also whatever algorithm is used to sync the audio. Strange issue.
nevcairiel
26th July 2011, 06:51
Are you sure you used my version, like 100% ? :)
I tried around 20 times on that spot to reproduce it after the change, and didn't manage to. Before it happend at least after 3 trys or so.
Nevertheless, i'll check again when i get back home. It was getting kind of late last night.
PS:
The framerate goes crazy because it trys to compensate for the A/V delay - sadly once it starts going bad, it usually doesn't recover for a while, so it has to constantly compensate, resulting in this very odd looking graph. If you let it play for a while, eventually it should fix the A/V sync again .. at least did for me, but it can take a long time, depending when the parser stops being silly. :)
I should try to cut out a part of that file with which i can reproduce the problem 100%, and not rely on seeking to some random position ...
roytam1
26th July 2011, 08:02
I just built a debug version myself (Thanks MSVC 2010 Express) and added pts(pkt_pts) and cpn(coded_picture_number) to debug log (the sample is still [KTXP&DYMY][Kamisama Dolls][03][GB][RV10].rmvb):
(...)
LAVVideo.ax(tid 1e8) 1048 : NewSegment - 0 / 0
LAVVideo.ax(tid dcc) 1065 : Frame, rtStart: 1670000, diff: 1670000, pts: 0, cpn: 0, key: 1, ref: 3, type: I, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1145 : SetMediaType -- out
LAVVideo.ax(tid dcc) 1145 : New MediaType negotiated; actual width: 848 - renderer requests: 896
LAVVideo.ax(tid dcc) 1350 : Frame, rtStart: 2087082, diff: 417082, pts: 1680000, cpn: 2, key: 0, ref: 0, type: B, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1395 : Frame, rtStart: 2920000, diff: 832918, pts: 1670000, cpn: 1, key: 1, ref: 3, type: I, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1477 : Frame, rtStart: 3337082, diff: 417082, pts: 2930000, cpn: 4, key: 0, ref: 0, type: B, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1520 : Frame, rtStart: 3750000, diff: 412918, pts: 2920000, cpn: 3, key: 0, ref: 3, type: P, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1560 : Frame, rtStart: 4167082, diff: 417082, pts: 3760000, cpn: 6, key: 0, ref: 0, type: B, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1601 : Frame, rtStart: 5010000, diff: 842918, pts: 3750000, cpn: 5, key: 0, ref: 3, type: P, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1686 : Frame, rtStart: 5427082, diff: 417082, pts: 5020000, cpn: 8, key: 0, ref: 0, type: B, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1729 : Frame, rtStart: 6260000, diff: 832918, pts: 5010000, cpn: 7, key: 0, ref: 3, type: P, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1812 : Frame, rtStart: 6677082, diff: 417082, pts: 6270000, cpn: 10, key: 0, ref: 0, type: B, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1856 : Frame, rtStart: 7090000, diff: 412918, pts: 6260000, cpn: 9, key: 0, ref: 3, type: P, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1894 : Frame, rtStart: 7507082, diff: 417082, pts: 7100000, cpn: 12, key: 0, ref: 0, type: B, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 1936 : Frame, rtStart: 8760000, diff: 1252918, pts: 7090000, cpn: 11, key: 0, ref: 3, type: P, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 2062 : Frame, rtStart: 9177082, diff: 417082, pts: 8770000, cpn: 14, key: 0, ref: 0, type: B, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 2103 : Frame, rtStart: 9180000, diff: 2918, pts: 8760000, cpn: 13, key: 1, ref: 3, type: I, repeat: 0, tidx: 0
LAVVideo.ax(tid dcc) 2108 : Frame, rtStart: 9590000, diff: 410000, pts: 9180000, cpn: 15, key: 0, ref: 3, type: P, repeat: 0, tidx: 0
(...)
I found that the cpn doesn't come in sequence (display_picture_number is always 0), does it affect the display effect?
EDIT: OK it is still timestamps issue. Please try this build:
http://www.mediafire.com/file/gle6z7bflgcleem/lavfilters_963d83e_bin_Win32.7z
LAV Splitter + LAVVideo for RV40 in RM/RMVB files should be be that choppy now (not working for MPC Real Splitter + LAVVideo). Unknown for RV40 in MKV.
Patch for ffmpeg libavformat is available at http://code.google.com/p/lavfilters/issues/detail?id=26#c6
nevcairiel
26th July 2011, 08:05
The codec picture number is after B-Frame reodering, its not meant to be in sequence. Similar for pkt_pts, its reordered to compensate for b-frames, however the source timestamps do not require reordering - as you can see they are not in chronological order either.
The order the frames are output from the decoder is the correct order, you would see very distinct artifacts if it weren't that case.
roytam1
26th July 2011, 09:18
Please try this build:
http://www.mediafire.com/file/gle6z7bflgcleem/lavfilters_963d83e_bin_Win32.7z
LAV Splitter + LAVVideo for RV40 in RM/RMVB files should not be that choppy now (not working for MPC Real Splitter + LAVVideo). Unknown for RV40 in MKV.
Patch for ffmpeg libavformat is available at http://code.google.com/p/lavfilters/issues/detail?id=26#c6
I think if timestamp fixing can be done in decoder side will be lot better than doing that in splitter side.
nevcairiel
26th July 2011, 10:03
I'll check the patch later.
Fixing the timestamps in the decoder is not necessarily possible, as only the splitter can really know the timestamps. Of course this is two-fold - fixing it in the splitter means it works with every decoder, fixing it in the decoder means it'll work with every splitter. Right now, me personally, i favor fixing it in the splitter, as thats the more important aspect for me. :)
clsid
26th July 2011, 11:57
Playback is smooth when using the MPC decoder in combination with the Real DLLs. Perhaps it would be interesting to compare the timestamp output of the MPC decoder with those from LAV.
Would you consider adding support for using cook.dll in LAV Audio? That would help getting proper playback of RMVB since cook support is incomplete in FFmpeg. RMVB is a pretty popular format in Asia. Getting it working would mean another set of filters in MPC can potentially be replaced by LAV Filters.
nevcairiel
26th July 2011, 12:13
I have no plans to add support for any other external decoders. If you're into watching alot of Real content, you can just use the official real Codecs.
roytam1
26th July 2011, 12:34
Playback is smooth when using the MPC decoder in combination with the Real DLLs. Perhaps it would be interesting to compare the timestamp output of the MPC decoder with those from LAV.
Would you consider adding support for using cook.dll in LAV Audio? That would help getting proper playback of RMVB since cook support is incomplete in FFmpeg. RMVB is a pretty popular format in Asia. Getting it working would mean another set of filters in MPC can potentially be replaced by LAV Filters.
I'd prefer fixing libav/ffmpeg instead of make use of proprietary decoders.
nevcairiel
26th July 2011, 15:38
Sorry nev, it didn't seem to work for that scene I mentioned in FOTR disc 2. Still the same problem! In fact it glitched twice and audio sync was off by several seconds. :(
If you turn on mpc-hc's stats display (CONTROL-J) you'll see the framerate go crazy.
I re-checked the fix (and re-worked it a bit with some cleaner code), however i could not reproduce the issue anymore, no matter how often i tried.
I also got a report from someone else that had a similar problem on another disc, saying that it was fixed for him.
I understand why the problem occured, and by understanding, i also know that my fix will correct it. It all made sense once i got proper debug output going.
Rectal Prolapse
26th July 2011, 17:26
Hmmm - I was using rev. 0.29 before and I only installed your newer 0.30. I'll have to check again. I did a reboot and had not run MPC-HC before, so I'm pretty sure it's the newer one - it said 0.30 in the filter properties dialog box.
SamuriHL
26th July 2011, 17:42
I've finally been able to check out LAV VIDEO decoder on my laptop and main HTPC. (Hoping for it to replace PDVD11 decoder). On my laptop it's efficient enough to run all my MKV's without overtaxing the CPU. That's majorly impressive because FFDSHOW was NOT able to do that. On my main HTPC (quad core beast) it's super smooth, as well. So, yes, I'm done with PDVD11 decoder and have switched to LAV VIDEO now on those two machines. Very pleased now. :) Thanks, Nev!
SamuriHL
26th July 2011, 17:47
P.S. Is LAV VIDEO in one of the repositories? I'd like to pull it down and start building it. Was it added to LAV Filters?
mikinho
26th July 2011, 17:49
P.S. Is LAV VIDEO in one of the repositories? I'd like to pull it down and start building it. Was it added to LAV Filters?
It is in its own Git repository http://git.1f0.de/gitweb?p=lavcuvid.git;a=summary
SamuriHL
26th July 2011, 17:50
It is in its own Git repository http://git.1f0.de/gitweb?p=lavcuvid.git;a=summary
No, that's for LAV CUVID. I already build that for my nVidia machine. I'm looking for the source to the new LAV VIDEO decoder based on ffmpeg.
Underground78
26th July 2011, 17:51
More precisely here: http://git.1f0.de/gitweb?p=lavfsplitter.git;a=shortlog;h=refs/heads/video, you have to use the "video" branch.
SamuriHL
26th July 2011, 17:53
More precisely here: http://git.1f0.de/gitweb?p=lavfsplitter.git;a=shortlog;h=refs/heads/video, you have to use the "video" branch.
Perfect. That's what I was looking for. Thanks!
nevcairiel
26th July 2011, 18:04
If you're using the git client, just checkout the video branch.
I plan to release 0.31 without video, and afterwards merge it into the main tree.
To get that going, i'll ignore video for the time being, and do some audio/splitter things. ;)
SamuriHL
26th July 2011, 18:05
Sounds good. Thanks!
v0lt
26th July 2011, 18:31
A git repository contains all the history at all time. So you can do a git clone and then checkout whatever branch\commit you want.
TortoiseGit does not work. Why make it difficult? Why not SVN (which works without crutches)?
nevcairiel
26th July 2011, 18:36
TortoiseGit does not work. Why make it difficult? Why not SVN (which works without crutches)?
Why make it easy? Easy is no fun!
I like annoying people, especially you :D
Also, SVN sucks. :)
Honestly, i don't care at all if anyone manages to download the sources if he wants to compile it. You want to build your own? You better figure out how.
SamuriHL
26th July 2011, 18:40
I have tortoiseGIT working just fine to pull Nev's code. I was just confused as to where the video decoder was. I'm good now. :)
(P.S. As a software engineer myself, I'm gonna give you guys some advice...NEVER argue with the developer as to where to put their code. ;))
mikinho
26th July 2011, 18:50
TortoiseGit does not work. Why make it difficult? Why not SVN (which works without crutches)?
See http://whygitisbetterthanx.com/ :)
Use the command line tools. Easy to use once you learn the commands
Rectal Prolapse
26th July 2011, 20:32
Ewwww git! I like Mercurial better! ;) :P
Oh well whatever. :)
JustinChase
26th July 2011, 21:18
I've finally been able to check out LAV VIDEO decoder on my laptop ...it's efficient enough to run all my MKV's without overtaxing the CPU.
Were you able to get this working in JRMC? does the 'direct show (less stable)' option work fine [no Red October], or are there still some issues using the direct show only setting?
I'd like to try on my laptop, but I'm at work now, so I hoped you'd confirm "how" before I get home to try :)
:thanks:
SamuriHL
26th July 2011, 21:21
Were you able to get this working in JRMC? does the 'direct show (less stable)' option work fine [no Red October], or are there still some issues using the direct show only setting?
I'd like to try on my laptop, but I'm at work now, so I hoped you'd confirm "how" before I get home to try :)
:thanks:
The latest beta whitelisted it for use as a video decoder. So I use the RO HQ with additional filters option and the ONLY thing I add now is just LAV VIDEO. RO HQ picks LAV Splitter, LAV Audio, and madVR automagically with the new subtitle renderer. LAV VIDEO is not yet ready to replace ffdshow as the default selected video decoder, but, we can now override the default. Again this is in the latest beta. And it works great. I've not been using the directshow only setting.
http://yabb.jriver.com/interact/index.php?topic=65513.0
Looks like Jim made the build public now so you're good to go.
JustinChase
26th July 2011, 23:02
Looks like Jim made the build public now so you're good to go.
Yeah, I saw that shortly after asking you here :)
thanks again, and I'm glad to know it's working well for you. I'll try to test myself tonight.
SamuriHL
26th July 2011, 23:04
Yeah, I saw that shortly after asking you here :)
thanks again, and I'm glad to know it's working well for you. I'll try to test myself tonight.
Yea, it's working very well for me even on my laptop. So, I consider that a major success! :)
Rectal Prolapse
27th July 2011, 01:54
Hey nev, your fix was for the DTS-HD was in avcodec-53.dll right?
jmone
27th July 2011, 02:36
Yea, it's working very well for me even on my laptop. So, I consider that a major success! :)
+1 for me - All works really well for me in MC16 ROHQ with additional filters (but of course missing the features of VC1(i) and no deinterlacing).
SamuriHL
27th July 2011, 02:53
+1 for me - All works really well for me in MC16 ROHQ with additional filters (but of course missing the features of VC1(i) and no deinterlacing).
Right. And hopefully those features can be added at some point and then it will be a true contender to replace ffdshow in MC16 as a RO default. For me it already has. :)
jmone
27th July 2011, 03:00
Really - you like the Weave looking on interlaced material? I'm sticking to LAV CUVID / FFDSHOW for now.
SamuriHL
27th July 2011, 03:06
Let me put it this way...that sample I just sent you? I can play that perfectly fine on my AMD machine with LAV VIDEO. Something in my chain is deinterlacing it. I'd bet it's probably my TV. It looks decent. I haven't had time to compare it to ffdshow with deinterlacing. LAV CUVID, otoh, won't play that sample for me. :(
jmone
27th July 2011, 04:10
Yeah it is funny - some of my interlacted content has a strong Weave look to it and you can clearly see each of the fields. Other interlaved stuff the effect is much more subtle. I guess the big increase in resolution from the SD stuff to the HD stuff reduces the perceived issue.
At present, LAV CUVID is much much better for the formats it handles.
SamuriHL
27th July 2011, 04:17
I just wish I could get lav CUVID to be smooth. It just has insane pauses on that video. I've tried to fix it to no avail.
jmone
27th July 2011, 04:37
Is it worth posting your sample in the LAVCUVID thread to see if other have issues?
SamuriHL
27th July 2011, 04:39
No I am working on it. I turned off deinterlacing in lav CUVID and it seems stable now. Sigh.
hoborg
27th July 2011, 07:15
@nevcairiel:
Thanks for your video decoder.
Right now i am looking for a way how to force LAV video decoder to connect with ffdshow raw video filter for some postprocessing.
It is working automatically if i open video in graphstudio, but some software have some graph building logic and ffdshow raw video filter is not added.
I still need it for resize, subtitles and remote control.
jmone
27th July 2011, 11:36
@nevcairiel:
Thanks for your video decoder.
Right now i am looking for a way how to force LAV video decoder to connect with ffdshow raw video filter for some postprocessing.
It is working automatically if i open video in graphstudio, but some software have some graph building logic and ffdshow raw video filter is not added.
I still need it for resize, subtitles and remote control.
Just tested in MC16 - no issues in adding FFDSHOW RAW after LAVVideo (tested for adding Deinterlacing).
hoborg
27th July 2011, 11:47
Just tested in MC16 - no issues in adding FFDSHOW RAW after LAVVideo (tested for adding Deinterlacing).
Yes, but that is not what i mean.
It is like DirectVobSub with Haali combination - DirectVobSub is always used undepended on player.
If your player doesnot support filter management it wont work.
It will add audio/video decoders + audio/video renderers to graph and connect the pins. FFDShow RAW is missing. That is normal how a lot of players working.
e-t172
27th July 2011, 17:42
Yeah it is funny - some of my interlacted content has a strong Weave look to it and you can clearly see each of the fields. Other interlaved stuff the effect is much more subtle. I guess the big increase in resolution from the SD stuff to the HD stuff reduces the perceived issue.
Are you sure you're not comparing pure video content with telecine'd content?
Rectal Prolapse
27th July 2011, 21:07
nev, I discovered that my ISP corrupted the .zip file - so this time the avcodec-53.dll was extracted correctly and it looks like your patch for DTS-HD playback works - I tried playing the problematic scene 7 times in a row without issues! Thanks!
Rectal Prolapse
28th July 2011, 00:36
Not sure if this is an issue - I don't know if LAV filters are supposed to do proper seamless branching support for BDMV structures or not - but here goes:
Video corruption when playing Conan the Barbarian Blu-ray (EU edition) - when using MPC-HC and LAV filters and playing the movie using the 00800.mpls playlist, past the 1:51 mark when Conan takes out the incoming horse, there is a video glitch for half a second or so after the horse falls and the bad guy is on the ground - when the scene changes to Conan running away. This happens when the playlist finishes playing 00887.m2ts and then tries to seamlessly branch to 00889.m2ts. Not sure if this is LAV splitter issue or LAV CUVID issue. Or neither, if the intention is not to really support seamless branching?
Plays fine using Arcsoft TMT or a standalone player.
rahzel
28th July 2011, 02:45
new to lav spliter/decoder.
i bitstream hd audio to my receiver so I used to use ffdshow and gabest/mpc mkv splitter but i'm gonna give this a go when I get a chance.
I have a question about the built in flac decoder. if you want full multi-channel flac audio, is it still advised to use a different flac decoder, such as madflac, or is there no difference? I always like to streamline the decoders/filters as much as possible.
nevcairiel
28th July 2011, 07:16
Not sure if this is an issue - I don't know if LAV filters are supposed to do proper seamless branching support for BDMV structures or not
Seamless Branching is supported (otherwise it wouldn't work at all). Before this, i only knew of one disc which caused issues with it, i guess now its two - although i haven't confirmed on this one. ;)
Implementing something like Seamless Branching without knowing the spec is not trivial, so i had to go on the discs that i had, and figure out how the things would play together. I worked fine on every disc i own (except that one mentioned above), and apparently for everyone else as well.
Anyhow, without owning the disc i cannot do anything. :)
There will always be the occasionally oddly mastered disc that needs some special magic.
new to lav spliter/decoder.
i bitstream hd audio to my receiver so I used to use ffdshow and gabest/mpc mkv splitter but i'm gonna give this a go when I get a chance.
You don't need those parts for bitstreaming. LAV Splitter and LAV Audio can perfectly bitstream all HD audio.
I have a question about the built in flac decoder. if you want full multi-channel flac audio, is it still advised to use a different flac decoder, such as madflac, or is there no difference? I always like to streamline the decoders/filters as much as possible.
FLAC decoding is fully supported, the output is bit-identical to the source and to madFLAC. The only possible problem might be the detection of the proper channel masks for "rare" or "odd" flac files. I actually haven't seen a file like that yet, so i really cannot comment if it behaves properly.
In general, i would say there isn't a big reason to use something else, unless you find something that doesn't work. (and if you do, let me know, so i can fix it!:))
rahzel
28th July 2011, 07:42
You don't need those parts for bitstreaming. LAV Splitter and LAV Audio can perfectly bitstream all HD audio.
heh, that's why I'm trying your wonderful splitter/package of decoders. I don't frequently visit these boards, so I'm never up-to-date with the latest and greatest. LAV seems to be the new (at least to me) splitter/decoder everyone is using. I was stuck in the past thinking ffdshow/gabest is the only way to bitstream HD audio... until today.
FLAC decoding is fully supported, the output is bit-identical to the source and to madFLAC. The only possible problem might be the detection of the proper channel masks for "rare" or "odd" flac files. I actually haven't seen a file like that yet, so i really cannot comment if it behaves properly.
In general, i would say there isn't a big reason to use something else, unless you find something that doesn't work. (and if you do, let me know, so i can fix it!:))
Thank you. One less thing to install. :)
Thanks for the response and thank you for your efforts in this.
EDIT: one question - is there a way to only enable subtitles if there's a forced subtitle present? I can only get it to work so that subtitles are on or off. I've played around with the subtitle settings, but again, they're either on or off.
Do I have to disable something in MPC HC?
I'm using MPC HC btw (MPC subtitles are not enabled) with only LAV installed.
clsid
28th July 2011, 14:42
Seeking does not work with these two FLV files (using ffdshow as decoder).
http://www.mediafire.com/?62jbf8i722ngdfe
http://www.mediafire.com/?oil4vtf1v483qol
Works with the Gabest splitter.
nevcairiel
28th July 2011, 17:32
LAV Filters 0.31
LAV Splitter
- Improved audio codec selection priorities
- Improved VC-1 playback when using the madVR internal decoder
- Improved playback of MPEG-TS files with a timestamp wrap right at the beginning of a file
- Reduced amount of data required for file probing, resulting in faster startup time
- Fixed demuxing/timestamping of RealMedia files
LAV Audio
- Fixed a bug in the DTS parser which caused occasional hiccups on DTS-HD content
- Added the ability to detect DTS-in-WAV
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.31.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.31.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.31-x64.zip)
The most important fix for me in this version was the DTS parser fix. It happend on quite alot of discs for me, but i never cba to fix it .. until now. :)
In addition to that, startup should be faster again now, although with the negative side-effect that some streams might not be detected if the file is muxed kinda odd. Don't worry, i have some plans for that, which will hopefully resolve this issue in the future, without delaying the playback start.
Additionally, DTS in WAV is now supported by LAV Audio. Its implemented only in the audio decoder, that of course means it only works if your WAV content (which was probably identified as PCM) is going through LAV Audio. With LAV Splitter thats no problem, because it uses LAVs special audio mediatype to send it to LAV Audio - however with all other splitters, LAV Audio won't be able to do it just yet, because i do not accept the usual raw PCM mediatypes. I'll have to come up with some solution for this - but anyway, its now possible to play DTS-in-WAV with LAV Splitter/LAV Audio at least.
As you may have noticied, LAV Video is not part of this release.
I wanted to get this small bugfix release out, before LAV Video is merged into the main source tree. This is mostly because i'll be on vacation soon, and i don't expect much work all through August. I'll be releasing a new "official" test version of LAV Video before i leave for you guys to test and accumulate feedback for me when i come back. ;)
For anyone that missed it earlier, i moved from GitHub to Google Code.
The new project page can be found here: http://code.google.com/p/lavfilters/
Please submit all issues to the Issue Tracker there (http://code.google.com/p/lavfilters/issues/list)
You're of course free to discuss them here first, if you're not sure if its really an issue, or things like that.
You can also see a rough roadmap up there on features to eventually come (or are at least somewhat planned, nothing is guaranteed)
Have fun!
PS:
I would also like to repeat my request from some days ago:
If someone is good at drawing graphics/artwork, i could use a logo and a set of icons for LAV Filters. I'm not really fixed on anythign specific, just something simple. The icons should come in 4 versions, one for LAV Splitter, LAV Audio, LAV Video and LAV CUVID each. They should work in 16x16 for tray icons, but also in bigger sizes for normal icons (at least 32x32, but if its vector based, it would be best)
This is your chance to give something back. :)
Rectal Prolapse
28th July 2011, 18:26
Thanks nev - enjoy the vacation while we flood this thread with bug reports! :P :)
SamuriHL
28th July 2011, 18:38
Thanks nev - enjoy the vacation while we flood this thread with bug reports! :P :)
NEGATIVE! :) You will flood the TRACKER with bug reports! :P :D
Sebastiii
28th July 2011, 18:38
Again very great :)
and yep enjoy your vacation m8 :)
Mercury_22
28th July 2011, 20:03
@ Nev
Just a small request / bug : it's "odd" / not recommended to have the x64 version of the LAV Filters installed in the "%ProgramFiles(x86)% especially when they are the only version installed on the system (no x86 version installed)
Anyway thanks and enjoy your well deserved vacation
P.S. Can you please post here all the working git locations (https://code.google.com/p/lavfilters/ it's "acting out" :)) for the source ?
nevcairiel
28th July 2011, 20:06
I won't install it into two locations, that adds alot of complexity to a very simple install script. I don't really see the downside of installing it there anyway.
The Google Git works perfectly for me, otherwise i wouldn't be able to push changes. :)
Try the same with http instead of https. Also, you need at least git 1.6.6.
Otherwise, my own hosted git repository still works and is being updated. (git://git.1f0.de/lavfsplitter.git)
rahzel
28th July 2011, 20:09
can you just install over previous versions, or should you uninstall the old version first?
nevcairiel
28th July 2011, 20:09
Uninstalling is not required.
SamuriHL
28th July 2011, 20:13
The only caveat is to make sure nothing has the filters locked when you try to upgrade. :)
Sebastiii
28th July 2011, 23:15
Not sure if this is an issue - I don't know if LAV filters are supposed to do proper seamless branching support for BDMV structures or not - but here goes:
Video corruption when playing Conan the Barbarian Blu-ray (EU edition) - when using MPC-HC and LAV filters and playing the movie using the 00800.mpls playlist, past the 1:51 mark when Conan takes out the incoming horse, there is a video glitch for half a second or so after the horse falls and the bad guy is on the ground - when the scene changes to Conan running away. This happens when the playlist finishes playing 00887.m2ts and then tries to seamlessly branch to 00889.m2ts. Not sure if this is LAV splitter issue or LAV CUVID issue. Or neither, if the intention is not to really support seamless branching?
Plays fine using Arcsoft TMT or a standalone player.
Hi,
i have this one and i didn't notice lag (it should be happen @ 18:27 minutes from the end of the movie).
I have open 00800.mpls and i confirm that i have the correct m2ts too.
Thanks.
CruNcher
29th July 2011, 07:11
There seems to be a problem with Sequential read problematic muxed DivX 5 ASP AVIs (sound gets stuttery playback slows down) and Lav Splitter + DivX Decoder, though need to further check falling back like MPC-HCs splitter to the default Avi Splitter avoids this, so it isn't critical ;)
boonjik
29th July 2011, 07:49
Hi Nevcairiel,
I use LAV Audio and I found an issue on DTS decoding due to Arcsoft DTS decoder. I try differents dtsdecoderdll.dll from TMT2, 3, 5 and some differents releases but the problem is always there.
I use HDMI output of my graphic card and if I configure output mode on PCM, there is an issue on surrounds speaker but only on DTS signal.
If I choose a bitstream mode, all is fine because it is my sound processor which decode the signal (like others processors and amplifiers). The problem is my processor can't decode HD soundtrack so I must use PCM signal to do it.
To calibrate multichannel levels, I use a pink noise encoded in Dolby Digital 5.1 and DTS 5.1.
The level is normalized, so -30dBFS for individual channels. The -30dBSF should produce a +75dB SPL if the volume control is turned up to reference level (0dBr).
With Arcsoft decoder, in DTS, surround levels are 3dB lower than others channels. If I use a Dolby Digital signal, all channels have the same output level.
Normally, output levels should be same on all channels despite we use a DTS or DD signal.
I test same procedure to control level on HD sources and using Dolby True-HD, DTS-HD or LPCM signals, levels are corrects for each, even for DTS-HD !!!
If I test this normalized soundtracks with some blu ray players (Pioneer or Panasonic), all levels are corrects. I can use PCM mixing on HDMI output or PCM to analog output and all is fine. Players make a good job to convert DD5.1 or DTS5.1 to PCM.
So I test also others software players on my computer and both PowerDVD 10 Ultra and Media Player Classic Home Cinema work perfectly in PCM mixing. DTS and DD give the right output levels for all channels.
Otherwise if I use TotalMedia Theatre, the bug comes back so for sure it's the arcsoft decoder which as an issue.
I think the problem is Arcsoft which use the wrong method to decode DTS signal. It exist 2 types of decoding method: one for Cinema processing and one for Entertainment. They choose Cinema method which has a surrounds levels 3dB lower than front speaker. This is the wrong method and I have contact them to inform but they have never answered.
Do you think it's possible to fix the issue by yourself with an automatic surround level compensation on DTS signal … or maybe replace Arcsoft decoder by Cyberlink decoder because PowerDVD is fine?
Thank you ;)
nevcairiel
29th July 2011, 08:09
The Cyberlink decoder is unable to decode 7.1 HD content (only producing 5.1), as far as i know.
Anyhow, i have no plans at this time to replace the ArcSoft decoder with anything.
It may be an option to compensate for this when using the ArcSoft decoder to decode lossy 5.1 DTS. How did you measure those values, is there some easy tool i can use to measure the created PCM?
Did you test without the ArcSoft decoder, using ffmpegs native DTS decoding? Is it correct then?
If you could share you testing procedure (ie. the tools you used), and possibly your DTS 5.1 pink-noise test file, that would be great, and would allow me to work on it without establishing my own procedure first.
boonjik
29th July 2011, 09:04
The DTS and DD pink noise are in Digital Video Essentials disc. I can send you file by private mail.
However High Definition files (LPCM, DTS-HD MA and DolbTrue HD) are available on another disc.
To measure level, you need a sound meter. If you don't have this device, you could find a free application for iPhone or others phones.
Precision doesn't matter: what matters is to measure differences between front and surround speakers. You could also hear differences without sound meter.
Off course you need 5 speakers for easy tests.
I don't know how test Arcsoft decoder using ffmpegs native DTS decoding but give me the procedure and I will do.
Thank you.
nevcairiel
29th July 2011, 09:05
I don't know how test Arcsoft decoder using ffmpegs native DTS decoding but give me the procedure and I will do.
Just use LAV Audio without any dtsdecoderdll.dll. Remove the dll, and it uses ffmpeg for decoding. It won't do HD, but it does normal DTS 5.1.
I think i can add some code in LAV Audio to actually compute the average loudness coming from the decoder, i'll investigate into that direction.
boonjik
29th July 2011, 09:20
All right.
I will test it this afternoon.
pankov
29th July 2011, 09:57
guys,
I'm new to this HDMI/PCM decoding thing (got a new AVR a couple of weeks ago) but I noticed that if I decode some Dolby Digital tracks to multichannel PCM with LAV Audio decoder and send it over HDMI using Reclock's WASAPI mode the volume level of the center channel (the dialog) is lower compared to the level I get if I pass it through to the AVR to decode it. I've also noticed that when I do the latter on the receiver I see a message "Dialog normalization +4dB". Is this something encoded in the DD stream and should be conformed to when decoding or is it simply a option somewhere in the settings of my AVR (Integra DTR-40.3 - same like Onkyo TX-NR709)? If it's the first then is LAV Audio decoder making this normalization too?
In general is the volume level supposed to be the same when sending multi-channel audio (not only DD) over HDMI (in WASAPI mode) and when bit-streaming?
nevcairiel
29th July 2011, 10:38
LAV Audio does not do Dialog normalization, because its generally considered "bad" for disc-based movies, and really only serves a purpose for digital television, where content may change quickly (switching channels, ads, etc).
I'm quite sure that it ignores any Dialnorm flags in the bitstream and decodes the audio as-is, however i'm checking into that.
Note that any device claiming to be Dolby compliant HAS to do Dialog normalization, with no option to turn it off, because its required for a Dolby license.
FWIW, +4 dB is the "default" Dialnorm setting in the reference AC3 encoder (the "OFF" setting is -31dB, the "default" is -27dB).
roytam1
29th July 2011, 11:24
LAV Splitter can't connect to MPC RealVideo Decoder (RV30/RV40) and ffdshow Audio Decoder (COOK), can someone test it?
BTW @nevcairiel FYI:
[2011-07-29 17:37:56] <kshishkov> RT|Chatzilla: as for your patch, it's not correct
[2011-07-29 17:39:01] <kshishkov> RM(VB) provides only DTS, not PTS but demuxer assumes otherwise
[2011-07-29 17:40:10] <kshishkov> and some timestamps are not reported
[2011-07-29 17:40:28] <kshishkov> plus demuxer reports wrong framerate
So that patch is only a workaround and I hope someone will make proper fix in the future.
And for the RealVideo color block issue,
[2011-07-29 17:36:45] <kshishkov> RT|Chatzilla: that's because of missing weighted MC, probably I'll implement it if I get enough free time.
ForceX
29th July 2011, 11:57
Is there a reason why LAVVideo doesn't connect with MPC-HC's internal FLV splitter for FLV4 (VP6F) video?
nevcairiel
29th July 2011, 12:45
Is there a reason why LAVVideo doesn't connect with MPC-HC's internal FLV splitter for FLV4 (VP6F) video?
Nothing happens without a reason. There is no random chance in a computer. :)
Messiah
29th July 2011, 12:45
With Arcsoft decoder, in DTS, surround levels are 3dB lower than others channels. If I use a Dolby Digital signal, all channels have the same output level.
Normally, output levels should be same on all channels despite we use a DTS or DD signal.
I have Marantz SR5004 and DTS tracks are also lower 3dB.
Dolby Digital uses more compression than DTS so it has to compensate.
nevcairiel
29th July 2011, 19:41
Here is the latest build, after the merge of the video branch:
http://files.1f0.de/lavf/LAVFilters-0.31-135-ga1e242c.zip
In addition to now only having one branch again, this includes following notable changes:
- Improved LATM AAC detection for "weird" MPEG files
- Earlier Chroma-Resolution probing, allowing the use of native 4:4:4 and 4:2:2 formats with EVR.
Note that there is one issue currently:
If you play 4:4:4 content with EVR-CP in MPC-HC, you will most likely get a corrupted image. This is a bug with the AYUV pixel format and MPC-HCs custom EVR. Plain EVR and EVR Sync work fine.
Note that not every hardware properly supports AYUV input either. My NVIDIA does manage it, however the Intel iGPU didn't.
I'm planning on adding options to disable certain pixel formats, and some auto-detecting to disable AYUV for EVR-CP.
SamuriHL
29th July 2011, 19:43
So does that mean that those of us that build our own can now pull from master and get the video stuff going forward?
nevcairiel
29th July 2011, 19:45
Yes, the video branch was deleted after the merge.
SamuriHL
29th July 2011, 19:47
Great. Thanks, Nev!
hoborg
29th July 2011, 19:53
@nevcairiel:
Did you tryed to make LAV audio decoder working with MS demultiplexer for LATM AAC? Your latest build still refuse connection.
BTW, LAV video decoder refuse connection too (h.264), but that is not big deal for me :)
nevcairiel
29th July 2011, 21:02
Did you tryed to make LAV audio decoder working with MS demultiplexer for LATM AAC? Your latest build still refuse connection.
No i did not. The MS Demuxer does not know how to treat LATM AAC properly, it uses the same type for normal AAC as for LATM, which makes that kinda complicated. :p
Besides, i don't think its really the MS demuxer you're talking about - if you try to use it in GraphStudio, it refuses.
hoborg
29th July 2011, 21:36
No i did not. The MS Demuxer does not know how to treat LATM AAC properly, it uses the same type for normal AAC as for LATM, which makes that kinda complicated. :p
Besides, i don't think its really the MS demuxer you're talking about - if you try to use it in GraphStudio, it refuses.
DivX AAC decoder is working:
http://www.volny.cz/hoborg/divx_aac.png
LAV audio decoder wont connect:
http://www.volny.cz/hoborg/lav_aac.png
nevcairiel
29th July 2011, 21:39
That claims to be using the default MS LATM AAC subtype, which is supported by LAV Audio. Since its not working, i need the full media type, not just the guid. Preferably of the not-working pin, i think its another subtype - at least it was when i tried some while back.
hoborg
29th July 2011, 22:19
That claims to be using the default MS LATM AAC subtype, which is supported by LAV Audio. Since its not working, i need the full media type, not just the guid. Preferably of the not-working pin, i think its another subtype - at least it was when i tried some while back.
Well, MediaPortal TS reader (http://www.volny.cz/hoborg/tsreader.zip) have similar problem. It will connect with LAV audio decoder, but there is no sound. DivX AAC is working.
BTW, DivX AAC decoder seems to be only one decoder that is working for certain LiveTV streams. Monogram AAC decoder doesn't working (connected, but no sound).
nevcairiel
29th July 2011, 22:38
Decoding fails because the MediaPortal TS reader sends wrong AAC headers in the media type. I fixed that now to simply ignore the AAC headers for LATM, except when coming from LAV SPlitter. This does however mean that it might require 1-2 audio packages to get the headers in the stream, and stuff wont be decoded properly until then.
rahzel
30th July 2011, 00:29
i just noticed that when using LAV Audio decoder and not bitstreaming, the volume seems considerably quieter than MPC HC's built in decoder. On my desktop PC/netbook, it's quieter, but on my HTPC where I bitstream, it's fine. On my netbook, volume is almost too quiet even at full volume. Mind you, my netbook has a tiny speaker. Is there somewhere I can increase the volume?
Tried AC3, DTS, DTS-HD and FLAC.
pankov
30th July 2011, 00:40
rahzel,
I've noticed similar thing when using stereo speakers and letting windows mix the 5.1 channels output from LAV Audio to stereo. If I use ffdshow and it's mixer and output in stereo then the volume level is considerably higher.
nev,
is this normal? Am I doing something wrong or it's simply the windows' mixer that isn't doing the job correctly?
SamuriHL
30th July 2011, 01:40
This was just discussed a few posts back. There is no normalization happening when decoding in LAV Audio.
rahzel
30th July 2011, 01:52
i saw that but wasn't 100% sure that was the same thing being discussed.
SamuriHL
30th July 2011, 01:58
Well there's dialnorm metadata embedded in the streams, but, this is ignored when LAV Audio is decoding. I don't think Nev has any plans to add this.
Tsukihime
30th July 2011, 02:23
mpc-hc 1.5.3.3497
lav filters 0.31
mpc-hc crashes when playing TechSmith in AVI
while with gabest avi splitter it is fine
Video
ID : 0
Format : TechSmith
Codec ID : tscc
Codec ID/Info : TechSmith Screen Capture
Duration : 8mn 30s
Bit rate : 79.2 Kbps
Width : 1 024 pixels
Height : 768 pixels
Display aspect ratio : 4:3
Frame rate : 15.000 fps
Bits/(Pixel*Frame) : 0.007
Stream size : 4.82 MiB (18%)
Title : Camtasia Recorder_capture75d26a.avi 视频 #
jmone
30th July 2011, 04:40
Thanks - the higher priority of EAC3 works well!
CruNcher
30th July 2011, 07:14
Well, MediaPortal TS reader (http://www.volny.cz/hoborg/tsreader.zip) have similar problem. It will connect with LAV audio decoder, but there is no sound. DivX AAC is working.
BTW, DivX AAC decoder seems to be only one decoder that is working for certain LiveTV streams. Monogram AAC decoder doesn't working (connected, but no sound).
Yep those sound off issues are crazy just playback the entire file and see if Sound suddenly appears somewhere .ts streams can be strange especially with Scalable AAC and errors though DivX AAC decoder (Mainconcept is the only reliable solution currently) for such streams (to hear anything @ all) also Cyberlinks Decoder works :)
Silent Rain
30th July 2011, 10:02
The video freezes while jumping on the timeline!
Tested on LAV Video Decoder (http://files.1f0.de/lavf/LAVFilters-video3.zip) & MPC-HC 1.5.3.3497 (http://xhmikosr.1f0.de/index.php?folder=bXBjLWhj). Connected to the player all three .ax-files (http://jpegshare.net/a5/32/a53226be9609ecee3fd45ff2011dd6e0.png.html) in external filters (http://postimage.org/image/8p3z7db8/). All the internal decoders and splitters disabled in the settings (http://postimage.org/image/8pfjysro/) of MPC-HC.
Bleeding Through - Orange County Blonde And Blue (Shock Session).mp4: (http://www.mediafire.com/?imhgm8wobdzc2so)
http://jpegshare.net/thumbs/b4/72/b4721f8c91a9ea7eedad4f93bb1da5bf.jpg (http://jpegshare.net/b4/72/b4721f8c91a9ea7eedad4f93bb1da5bf.jpg.html) http://jpegshare.net/thumbs/30/e8/30e8b1e4952b2b7205c4f9c1b117dcac.jpg (http://jpegshare.net/30/e8/30e8b1e4952b2b7205c4f9c1b117dcac.jpg.html) http://jpegshare.net/thumbs/5e/72/5e720798a2285998b5b59fa169cf169f.jpg (http://jpegshare.net/5e/72/5e720798a2285998b5b59fa169cf169f.jpg.html)
Bleeding Through - Death Anxiety.mkv: (http://www.mediafire.com/?tfbjtlic22ycuma)
http://jpegshare.net/thumbs/f6/f9/f6f90f065b893d3b9856987b28a5a5d9.jpg (http://jpegshare.net/f6/f9/f6f90f065b893d3b9856987b28a5a5d9.jpg.html) http://jpegshare.net/thumbs/4e/21/4e21c07c91e5d7ab617ba15492ae94dd.jpg (http://jpegshare.net/4e/21/4e21c07c91e5d7ab617ba15492ae94dd.jpg.html) http://jpegshare.net/thumbs/1f/64/1f64725768a1b0de889ddad3f324a262.jpg (http://jpegshare.net/1f/64/1f64725768a1b0de889ddad3f324a262.jpg.html)
Especially well seen these freezing, if you turn off DXVA (http://postimage.org/image/2q5bgnosk/) and Fast seek (on keyframe) (http://postimage.org/image/2q5d471ac/).
nevcairiel
30th July 2011, 10:06
Seeking in those files works just fine here. Depending on where you seek, it may take up to a second for video to resume - this is to avoid artifacts, not every spot can be resumed from perfectly. But it only happens very rarely, most of the time its instant.
Silent Rain
30th July 2011, 10:18
Depending on where you seek, it may take up to a second for video to resume...
In my case it often takes 10-15 seconds! :eek:
Specification of my PC:
CPU: Intel Core 2 Quad Q6600 @ 2.40 GHz
GPU: NVIDIA GeForce 8600 GT
RAM: 4 GB
OS: Windows 7 x64 (SP1)
But it only happens very rarely, most of the time its instant.
This happens very often! Almost every time while seeking! :mad: :devil:
In Splash PRO and PotPlayer such a long freeze does not happen! Everything works like lightning! This happens only with MPC-HC!
VenomousNinja
30th July 2011, 13:34
For me seeking is broken in .avi files.Only in *.avi containers (The rest works great). Afful lag. When i move a seek bar slider video freezes for 3-4 sec. Using LAV filters on Windows 7 x64 and 32bit latest MPC-HC build. Internal splitters disabled.
Edit: Tested one more movie - I even got 10 sec lag on seeking...
Silent Rain
30th July 2011, 14:10
when i move a seek bar slider video freezes for 3-4 sec.
qed :)
nevcairiel
30th July 2011, 14:39
The important aspect you're forgetting about is that it works 100% smooth for me, so whats there to fix?
Bugs that i cannot reproduce do not exist, and are most likely user failure or another filters fault.
So either tell me *exactly* how to reproduce them, or i cannot do anything (and wont spend any time trying to break it, because it works fine as-is)
Silent Rain
30th July 2011, 15:11
nevcairiel, show me your stats while jumping on the timeline (Ctrl+J) on these files (http://forum.doom9.org/showthread.php?p=1516646#post1516646). With the default settings of MPC-HC & LAV Filters !!!
nevcairiel
30th July 2011, 15:16
This is getting stupid. I have nothing to proof. Seeking works fine for me, and i bet it does for alot of other people, or there would've been complaints before.
There is obviously room for improvement, and there also is a issue tracker ticket about that, but the state is not bad, its "ok", its just not perfect.
Unless someone can provide an actual reproducable case, i'll ignore any further comments on the matter.
I tested your files, and seeking is near-instant, maximum 1s lag.
Silent Rain
30th July 2011, 15:25
nevcairiel
Can you show me the configuration of your PC?
Xaurus
30th July 2011, 15:35
Absolutely no problems with seeking. Using latest LAV filters and mpc-hc.
Boltron
30th July 2011, 16:09
Windows 7. MPC-HC 1.5.3.3491. LAVFilters-0.31-135-ga1e242c Splitter/Audio/Video. Tried a variety of mkv's. No seeking issues.
jj666
30th July 2011, 16:26
qed :)
Seeking works fine here on your first file in MPC-HC (LAVFILTERS/LAVAUDIO/LAVCUVID).
Cheers,
-jj-
RobertinoM
30th July 2011, 17:26
sorry .. silent rain
but I really don't understand all your "!" exclamation marks and so on ..
1) nev has nothing to proof
2) a bug is a bug if it can be reproduced in a well defined, documented manner actually it looks like nobody who has downloaded your files can reproduce it... so occam's razor ... it looks like a problem on your system ... I personally tested on three extremely different (from the hardware but with the same software setup) machines... and no freezes..
3) LAV is for free and Nev is doing a great job with it .. and nobody forces you to use it...
So if you want to help the further development ... be more specific and less arrogant ..
mzso
30th July 2011, 18:36
Hi!
Layman question: What's the difference between LAV Splitter, and LAV Splitter Source? (Besides the name)
magic144
30th July 2011, 20:17
Hi Nev,
just trying LAV Splitter Source + LAV CUVID decoder under ZoomPlayer 8RC2
For some reason, I can't seem to play The Dark Knight (VC1 BluRay) using this combination... Keep getting APPCRASH?
Win7 Home Premium, x86
Nvidia 9500GT
LAV Splitter 0.31
LAV CUVID Decoder 0.9
ps - I can (however) get Doctor Who Specials (BD, VC-1 1080i) to work using the same filter combination??!!
UPDATE - just tried Psycho (50th ann.) - 1080 VC-1 - no problems with that disc - maybe it's the BD structure of Dark Knight that's causing an issue...?
Hmm, something is weird here coz the same disc works on my other PC with LAV Splitter (however, the other PC has an AMD graphics card and I use ffdshow for decoding...). I cannot get LAV Splitter + ANY decoder to work on my Nvidia box with The Dark Knight......
nevcairiel
30th July 2011, 20:42
If its only happening on one of your computers, its really weird, and most likely not strictly a bug in LAV Splitter. Probably some bad interaction with something else.
To rule out random errors, try completely re-downloading and re-installing it
Otherwise, are all other components the same? Audio decoder, audio renderer, video renderer?
nevcairiel
30th July 2011, 20:52
Hi!
Layman question: What's the difference between LAV Splitter, and LAV Splitter Source? (Besides the name)
LAV Splitter relys on another DirectShow filter to read the file, typically the "File Source (Async)" filter. LAV Splitter Source reads the file directly.
Both have their different uses, and different players prefer different ways to use it.
magic144
30th July 2011, 21:24
Hi nev - looks like it was user error - I had misconfigured the ffdshow Audio codec and disabled TrueHD... this obviously makes ZP puke (though I thought it would have done something more graceful like tell me it couldn't build a graph!)
sorry to have jumped the gun! - great filters - possibly replacing all others so far!
I'm really impressed it plays the 1080i VC-1 Doctor Who (well, the CUVID does) - that's a milestone - if only there was a LAV DXVA!
I guess once LAV Audio can downmix to 2.0, I wouldn't need ffdshow Audio on this box anyway - fingers crossed for future features, but no biggie.
nevcairiel
30th July 2011, 21:25
Glad you managed to work out what caused your issue. :)
jmone
30th July 2011, 22:59
.... if only there was a LAV DXVA!
What wil DXVA give you that LAV CUVID will not ? (on a nvidia GPU of course)
magic144
30th July 2011, 23:23
@jmone - nah, I meant for use on my other PC which has ATI/AMD of course :-)
(and no, I don't hold out too much hope for LAV DXVA, too bad!)
mzso
31st July 2011, 00:35
LAV Splitter relys on another DirectShow filter to read the file, typically the "File Source (Async)" filter. LAV Splitter Source reads the file directly.
Both have their different uses, and different players prefer different ways to use it.
Thanks for the info!
Silent Rain
31st July 2011, 03:53
Guys, please, show me your stats while jumping on the timeline (Ctrl+J) on these files (http://forum.doom9.org/showthread.php?p=1516646#post1516646). With the default settings of MPC-HC & LAV Filters. I want to look at the chart peaks and compare them with my peaks.
But before that, turn off DXVA (http://postimage.org/image/2q5bgnosk/) and "Fast seek (on keyframe)" (http://postimage.org/image/2q5d471ac/). This is really important.
Edit: Tested one more movie - I even got 10 sec lag on seeking...
Yes, I also have the video that freezes for 10-15 seconds!
These same problems with seeking confirmed all the Russian community (http://forum.ru-board.com/topic.cgi?forum=5&topic=35155&start=0) members of MPC-HC!!!
it looks like a problem on your system
Splash PRO and PotPlayer has no problems with seeking. So the problem is not in my system or in my PC. Most likely, the problem in MPC-HC.
Blight
31st July 2011, 12:00
I haven't had a 10 second delay in freezing, but I did have a few other weird oddities.
Sometimes (not always) when I seek a 720P MKV file several times quickly, the video goes into slow-motion that can take up to 10 second to right itself. When it goes into this slow motion state, additional seeking can make it worse and take longer to recover.
It doesn't happen too often.
AmshTemp
31st July 2011, 15:25
Morning nevcairiel
I reported yesterday a new broken file to lav bug tracker "Issue 41" but since that issue was marked previously as "Fixed", I am afraid that it might have slipped your attention. I didn't want to flood the issue tracker since this has possibly similar issue as the one fixed.
CruNcher
31st July 2011, 16:00
Lav Splitter doesn't connect to the default WMVVideo Decoder DMO (DXVA (WMV3)) {33564D57-0000-0010-8000-00AA00389B71} it falls back to the Lav Video/MPC Video/ffdshow Decoder (Software) :(
It works with the WMV ASF reader but the problem is that Lav Cuvid doesn't support that :(
I can get either one working accelerated this way but both isn't easy possible as the splitter needs to be switched currently based on the different inputs (WMVA,WMV3 (partial acceleration VP2) .wmv)
nevcairiel
31st July 2011, 16:47
The WMVideo Decoder does only use DXVA in WMP, it does not use DXVA in any other player, so go use another decoder. :p
CruNcher
31st July 2011, 17:54
ehh who says that ?
It works here i use the WMVideo Decoder to accelerate WMV3 (MP) on VP2 (IDCT) and Lav Cuvid for the WMVC1,VC1(ts,m2ts),WMVA (.wmv,.asf) (IDCT) parts it's just a bit problematic to use both as currently i need to switch splitter WMV ASF Reader + WMVideo Decoder (for the WMV3 part), Lav Splitter + Lav Cuvid (for the VC-1,WMVA parts) and Lav Splitter + Lav Video for the WMV1/2 parts all inside MPC-HC :)
Lav Splitter + WMVideo Decoder support is currently really missing (Lav Video is ok but no DXVA it's not a real big loss for a Desktop especially with only IDCT decoding support but it would be nice to have it not only for VC-1 but also MP WMV3) ;)
Theres also a second possible solution but it shows up a sync problem with Arcsofts Decoder and Lav Splitter for WMV3 (MP +WMApro) files .wmv, seeking gets unsync and it doesn't recover (VC-1 timestamp option doesn't help) :(
Lav Splitter + Arcsofts Decoder and WMVA (AP) streams are ok only WMV3 streams getting unsync @ seek in both Software as well as DXVA decoding in combination with both WMVAudio Decoder DMO or Lav Audio (it doesn't seem to be stream specific happens with any WMV3 stream here .wmv).
Arcsofts own ASF Splitter works fine obviously in all cases (though as you can guess isn't working with Lav Cuvid nor Lav Audio), so to me it looks like a interoperability problem in the handling of ASF,WMV @ seeking between Lav Splitter and Arcsofts Decoder.
hoborg
31st July 2011, 17:58
Decoding fails because the MediaPortal TS reader sends wrong AAC headers in the media type. I fixed that now to simply ignore the AAC headers for LATM, except when coming from LAV SPlitter. This does however mean that it might require 1-2 audio packages to get the headers in the stream, and stuff wont be decoded properly until then.
That mean you make LATM working with MePo TS reader? Can you please share test build with your update?
BTW, do you think it is possible to make working thier TS reader handle LATM + LAV audio decoder better?
nevcairiel
31st July 2011, 18:28
That mean you make LATM working with MePo TS reader? Can you please share test build with your update?
There will be a new build soon.
BTW, do you think it is possible to make working thier TS reader handle LATM + LAV audio decoder better?
Everything is possible, the problem is just that most splitters dont actually support LATM, they manage to recognize it and output it, but they dont know enough to extract stream information.
magic144
31st July 2011, 19:08
Hi,
just ran into something I didn't realize... does LAV Splitter not support chapters in Matroska files? (I don't mean the ordered chapter/multiple version thing, I just mean basic, run-of-the-mill embedded chapters) - there are comments in this thread/CHANGELOG that chapter support was added some time ago?
I noticed today that an mkv file with chapters allows chapter selection with Haali but not with LAV...
(using ZP8RC2)
thanks,
m
nevcairiel
31st July 2011, 19:12
Normal chapters work just fine for me in MPC-HC.
magic144
31st July 2011, 19:25
I see that... must be a ZP thing... how do chapters fit into the filter plumbing - does the player have to know how to get the info from the source filter/splitter somehow??
Sebastiii
31st July 2011, 19:31
Everything is possible, the problem is just that most splitters dont actually support LATM, they manage to recognize it and output it, but they dont know enough to extract stream information.
it's open source too, i hope we can modify it, what we need for this ?
Thanks Nevcairiel :)
CruNcher
31st July 2011, 20:06
Opps i was wrong lav splitter and Arcsoft Decoder doesn't get unsync only @ seek but it gets continuously more unsync during playback time too (WMV3) :(
Still there is a visible utilization (Playback) advantage even with just partial acceleration (IDCT) compared to Lav Video directly
Arcsoft DXVA (VP2 IDCT):
http://img855.imageshack.us/img855/2739/arcsoftdxva.th.png (http://img855.imageshack.us/img855/2739/arcsoftdxva.png)
Lav Video (Software Libav):
http://img685.imageshack.us/img685/176/lavvideo.th.png (http://img685.imageshack.us/img685/176/lavvideo.png)
Sebastiii
31st July 2011, 20:21
I can confirm too LAV + ARCSOFT = desync for WMV :)
nevcairiel
31st July 2011, 21:41
WMV is just an odd format, i recommend the WM ASF Reader. If one of my codecs does not work with it, thats probably easier to fix then the other way around.
Sebastiii
31st July 2011, 21:54
For now i use ffdshow video decoder when using wmv with laf ofc, works nice :)
jmone
31st July 2011, 23:53
FYI - New TMT patch is out (5.0.1.113) though the dtsdecoderdll.dll stays the same at 1.1.0.8 dated 29/10/2010
SamuriHL
31st July 2011, 23:59
FYI - New TMT patch is out (5.0.1.113) though the dtsdecoderdll.dll stays the same at 1.1.0.8 dated 29/10/2010
It hasn't been updated in quite a while. Hard to mess with near perfection. :D
nevcairiel
1st August 2011, 00:02
I dont think its anywhere near perfection, its just the best option.
roytam1
1st August 2011, 01:17
LAV Splitter can't connect to MPC RealVideo Decoder (RV30/RV40) and ffdshow Audio Decoder (COOK), can someone test it?
BTW @nevcairiel FYI:
So that patch is only a workaround and I hope someone will make proper fix in the future.
And for the RealVideo color block issue,
OK I got the issue.
Output subtype from MPC RealMedia Splitter is {4B4F4F43-0000-0010-8000-00AA00389B71} (COOK)
But from LAV Splitter is {6B6F6F63-0000-0010-8000-00AA00389B71} (cook)
It seems that LAV makes FourCC lower cased, which leads incompatibilities.
salora
1st August 2011, 08:00
hi there , I've got one issue with audio preference.
I'd like bluray, mkv ect to be played with the french audio track so I set Fre in the prefered languages in lavsplitter but it always play with the first audio track not the french one
anything to do?
my config : ffdshow-> mpc-hc-> lavsplitter + lavaudio and madvr as renderer
thank u
nevcairiel
1st August 2011, 08:34
Set "fre" and "fra", both are used in different circumstances. You can see which code is the right one in the audio stream selector.
Same for german, where both "ger" and "deu" are valid. Stupid files can't stick to the same scheme.
clsid
1st August 2011, 11:53
Set "fre" and "fra", both are used in different circumstances. You can see which code is the right one in the audio stream selector.
Same for german, where both "ger" and "deu" are valid. Stupid files can't stick to the same scheme.Does this problem exist for many languages, or just a few? Perhaps the 'synonyms' could be added internally? For example automatically replace "fra" and "fre" by "fra, fre" internally.
nevcairiel
1st August 2011, 14:15
Since this is basically the problem of the english 3 letter code (french, german) vs the localized language code (français, deutsch), i assume it hits way more languages.
However, i could easily do this for the "major" languages, like german, french and spanish, which would cover like most of the western world.
nautilus7
1st August 2011, 14:52
Same for Greek. gre & ell are both valid language codes.
sneaker_ger
1st August 2011, 15:30
Since this is basically the problem of the english 3 letter code (french, german) vs the localized language code (français, deutsch), i assume it hits way more languages.
However, i could easily do this for the "major" languages, like german, french and spanish, which would cover like most of the western world.
Maybe you could take a look at mkvmerge? Mosu supports both ISO639-2 and ISO639-1 codes - all of them.
-
I have asked before, but are you considering language selection like Haali's splitter? It's more powerful, imho. (sorry if asking again is annoying, I didn't feel like it was answered conclusively)
Silent Rain
1st August 2011, 16:06
Seeking works fine for me, and i bet it does for alot of other people, or there would've been complaints before.
https://sourceforge.net/apps/trac/mpc-hc/ticket/90
Which more do you want proof :confused:
glorp
1st August 2011, 16:09
-
I have asked before, but are you considering language selection like Haali's splitter? It's more powerful, imho. (sorry if asking again is annoying, I didn't it was answered conclusively)
Tracker issue #29 is a request for that to be added. It would handle the multiple language problems as well.
betaking
1st August 2011, 16:21
https://sourceforge.net/apps/trac/mpc-hc/ticket/90
Which more do you want proof :confused:
seeking:lav>haali>mpc-hc!
sneaker_ger
1st August 2011, 16:36
Tracker issue #29 is a request for that to be added. It would handle the multiple language problems as well.
For some reason it didn't cross my mind to look at the tracker. Thanks.
https://sourceforge.net/apps/trac/mpc-hc/ticket/90
Which more do you want proof :confused:
I don't think that nevcairiel's not believing you. The problem is that he doesn't see the problem on his own computer and if you cannot provide detailed instructions that enable him to reproduce it, he cannot find the cause, let alone provide a fix or workaround.
nevcairiel
1st August 2011, 16:40
Also, if you think its a MPC-HC problem, why the hell do you annoy me?
salora
1st August 2011, 17:31
working
thanks a lot
defunct
1st August 2011, 18:13
Firstly, Nevcairiel thank you very much for your work, its just what I needed for streams where the LPCM tracks didn't run under Haali. Just one question though, how can I switch audio streams during play? Not language but just different types of audio streams. I'm using WMP, with ffdshow for decoding generally.
Thanks again.
nevcairiel
1st August 2011, 18:15
I believe the ffdshow tray icon lets you switch between streams.
BeNooL
1st August 2011, 18:53
For LAV Audio, are we sure outputting 32bit Floating Point is the best option?
I don't mean technically from this filters point of view but for a whole graph and more importantly taking into account hardware limitation (ie: you typically only send 16bit integer over HDMI)
It seems that in the current case, we rely purely on other filters/drivers to properly deal with 32bits FP data and just hope they do a proper job at it. I'd feel more confident in having LAV Audio send out a clean 16bit integer right away that needs so additional treatment to be sent to an AVR.
Please implement an option to limit audio output resolution.
nevcairiel
1st August 2011, 19:25
I'm sure its the best option for me, and thats what counts. :)
32fp is exactly how the decoder outputs it, and any conversions will degrade the quality, obviously. Therefor, conversions should be done at the very last step, and at least the Win7 Audio Mixer is capable to properly convert 32fp to 16 or 24bit int. If you use XP, that depends on your audio driver - well i guess those can be broken.
PS:
Every modern AVR supports 24-bit audio as well.
PPS:
An option to force a specific sample format is however planned, check Issue 10 on the tracker.
e-t172
1st August 2011, 19:35
Outputting 32-bit float is the Right Thing To Do in an audio chain. This ensures the audio doesn't undergo successive float/integer conversions which would hurt quality. Conversion to integer should always be the very last step. Which means it should be done in the audio renderer.
madshi
1st August 2011, 19:38
Agreed. Now we just need somebody to work on writing a decent audio renderer. That's still the one thing missing today, IMHO. Reclock is not bad, but it's too much targetted at resampling, IMHO.
pankov
1st August 2011, 19:45
nev, e-t172,
I do agree with you but from another user at the inmatrix (ZoomPlayer) forum I've heard that sadly a lot of pro/semi-pro hardware doesn't correctly support 32bit float and this results in dangerous hiss/noise in the speakers which could either damage them or the hearing of the user.
From this perspective, as a simple user, I think it'll be nice to have an option "don't output 32bit float if connected directly to an audio renderer" and have it checked by default. This way there will be no danger of damaging anything and at the same time leave the choice to the user.
I understand this will require some work cause the change of the output format should be done in LAV Audio and it should be smart enough to output at the highest quality but not 32bit float.
I PMed ByteM3 and I hope he will join and provide some real life examples of the problem.
Nev, I'm very grateful for your work and I hope you won't feel affected by my post cause I'm just trying to help others.
SamuriHL
1st August 2011, 19:48
That's wrong IMO. As was pointed out already, the audio renderer's job is to deal with output from the decoder. The decoder should be outputting the highest quality possible. If it needs to be downconverted, that's the renderer's job to deal with.
nevcairiel
1st August 2011, 19:49
I still thinks its funny that the consumer hardware properly deals with float audio, and the pro-hardware fails. :D
I can't deal with broken hardware or drivers. If the card cannot deal with float audio, why the hell does it accept the connection to a float media type in the first place? If that "so called" pro hardware does not manage to write proper drivers, well, tough luck.
Like i said, there are options planned to disable individual sample formats eventually, i wont spend time to write any "smart" mode or something. If that pro-hardware is so "pro" that it doesn't clip the values before sending it to the speakers, and therefor damaging them - you really got yourself some crap there.
BeNooL
1st August 2011, 19:54
okay, for real time playback I get your point. I'm using windows 7 so good to know it does a proper job at it conversion.
Still this remains an issue for me when I try to convert HDTV recordings where I want to transcode AAC to AC3 (for reading on standalone player): I just want to decode source to same bitdepth and that's it.
As a workaround I also tried to connect "LAV Splitter" to "FFDshow audio decode" but that fails.
nevcairiel
1st August 2011, 19:56
Both AAC and AC3 are lossy compressions, they don't have a "bitdepth".
The main problem you're facing is probably your encoders not supporting float input.
CruNcher
1st August 2011, 20:29
WMV is just an odd format, i recommend the WM ASF Reader. If one of my codecs does not work with it, thats probably easier to fix then the other way around.
yep if Lav Cuvid would work with it that would be a relief there are even more visual problems visible using lav splitter with arcsofts decoder depending on the wmv3 stream i tested some and get very interesting effects on some streams not only the sync issue also destructed frames playback (frame blocks jumping around) :(
What is really funny though is that Arcsofts ASF Splitter seems to support Fast forward @ least 2x and the WM ASF Reader seems to not support it @ all also lav splitter supports it.
Thunderbolt8
2nd August 2011, 00:03
Agreed. Now we just need somebody to work on writing a decent audio renderer. That's still the one thing missing today, IMHO. Reclock is not bad, but it's too much targetted at resampling, IMHO.whoevers doing that, please include support for wasapi output.
roytam1
2nd August 2011, 01:04
whoevers doing that, please include support for wasapi output.
No one use MPC Audio Renderer? (YES it has standalone version!)
Andy o
2nd August 2011, 01:33
That's outdated and unfinished. IIRC it was just developed to test bitstreaming when albain was making it happen for ffdshow.
zerowalker
2nd August 2011, 03:34
is there any audio renderer to prevent, uppsampling and that shit;O?
Silent Rain
2nd August 2011, 05:33
Also, if you think its a MPC-HC problem, why the hell do you annoy me?
Because you are one of the developers (http://mpc-hc.sourceforge.net/about-player.html) of MPC-HC ;)
http://jpegshare.net/thumbs/ba/bb/babbfff0310ea00bb8eec76e0d701e56.jpg (http://jpegshare.net/ba/bb/babbfff0310ea00bb8eec76e0d701e56.png.html)
Andy o
2nd August 2011, 09:05
Silent Rain, why don't you try to isolate which filter is exactly doing it? Change one filter at a time and then see if it still happens.
Silent Rain
2nd August 2011, 09:10
Silent Rain, why don't you try to isolate which filter is exactly doing it? Change one filter at a time and then see if it still happens.
Aleksoid1978 (one of the developers of MPC-HC) thinks that the problem in the video renderer.
madshi
2nd August 2011, 09:24
If that's the case, why don't you try a better video renderer then? ;)
Andy o
2nd August 2011, 10:17
Yes, you can verify all this easily.
Carpo
2nd August 2011, 10:17
So Nev has contributed some code to MPC-HC doesn't make him a full fledge developer on it, what about all the people that have contributed patches to it that aren't on the list are they also developers?
nevcairiel
2nd August 2011, 10:40
Even if, go take it to the MPC-HC thread, not this one.
zerowalker
2nd August 2011, 14:28
nevcairiel, Near Carrier;O!
He deserves credit, not critic;D
nevcairiel
2nd August 2011, 15:35
Hi guys,
so here is the latest test build of LAV Video.
x86: http://files.1f0.de/lavf/LAVFilters-video4.zip
x64: http://files.1f0.de/lavf/LAVFilters-video4-x64.zip
In case you didn't know, it was merged with the main LAV Filters code, so you can just grab this as a full package, no need to mix and match with 0.31. It also contains certain enhancements in LAV Audio and LAV Splitter, but nothing big.
On the video side: Nothing really big changed the last week, just some fixing and tweaking. A crash was fixed that happend in the last build i posted, and overall it should be much more stable now.
Known issues:
- Playing 4:4:4 content with MPC-HCs EVR-CP results in broken colors. I've notified the developer focussing on EVR-CP, maybe it gets fixed (the AYUV pixel format apparently gets interpreted wrong)
I didn't get around to implementing the options to disable certain pixel formats for this version, so if you want to play 4:4:4 content, stay away from EVR-CP (for now).
In other news, i'm leaving for vacation tomorrow morning, i'll probably be gone around 2 weeks, so play nice. ;)
If you encounter any bugs, please take the time to properly document how to reproduce them, with a sample file, an accurate description of what happens, and what is supposed to happen. The ability to reproduce the problem is key!
Once you have all these details, please post them on the issue tracker so they don't get lost in this thread. You're of course free to post them here as well, maybe you can get feedback from other people.
The issue tracker can be found here: http://code.google.com/p/lavfilters/issues/list
Sebastiii
2nd August 2011, 15:43
Thanks nev, enjoy your vacation :)
betaking
2nd August 2011, 15:44
Thanks nev!
SamuriHL
2nd August 2011, 15:52
Nev, I just rewrote the installer to include LAV Video options.
http://www.mediafire.com/?k4eq4j077385gzy
I have built and tested it and it seems to work. It's not elegant by any means but allows them to select the video decoder options on install.
EDIT: Here's a version of your latest changes with my changes to the install script:
http://www.mediafire.com/?qaeddvebe77c7s9
Please understand I didn't pretty up the descriptions on the selection dialog. It's a work in progress. :D
nevcairiel
2nd August 2011, 16:58
Once you're done with your progress, feel free to open a ticket and attach the file there directly.
SamuriHL
2nd August 2011, 17:00
Sounds like a plan. I want to fix up the descriptions and maybe make a couple other changes. But at least it's functional.
adam777
2nd August 2011, 17:33
Thanks for the new build.
Finally decided to try the video decoder and though I haven't tried anything fancy, it works beautifully with everything I threw at it, well done!
Enjoy your vacation :)
* EDIT *
OK, now I'm really happy...
LAV audio works perfectly in my DVB application with the dreaded HE-AACv2 codec used in here.
LAV video works as well, along with hardware deinterlace.
Great :D
Thunderbolt8
2nd August 2011, 20:15
have to ask, what for is LAV video good again? and would it work together with madVRs internal decoders (when they become more useful in the future)?
SamuriHL
2nd August 2011, 20:19
:confused: I'm not sure I understand your question. LAV Video is good because it's a software decoder based upon ffmpeg. How would it work with madVR's internal decoders, however? It would take the place of any other decoder. That's where I'm confused.
nevcairiel
2nd August 2011, 20:21
What a video decoder is good for? It converts the compressed video back into viewable images, of course.
My goal is quite simply to provide a high-quality video decoder for virtually all commonly used formats (and all rare formats i care to add support for)
I strongly believe in the principle of "Do one thing, and do it right". Therefor, i personally do not like the concept of integrating decoders into the renderer.
Otherwise, i could as well have integrated decoders into LAV Splitter instead of making them separate - it would certainly have made alot of things easier. ;)
Thunderbolt8
2nd August 2011, 22:10
the question is when there is a decoder in lav splitter and madvr, which one to use?
if the madvr decoders are supposed to have an advantage in the future and you are aiming to have the best PQ (assuming that advantage would result in minimal better PQ or something alike) what would be the point of using the decoder in lv splitter? of course, those who dont use madvr for whatever reason could use it. but then, who wouldnt if he could? (unless a better renderer comes out which could provide better PQ) and you yourself probably also use madvr and maybe also would use the decoder if there was a quality related advantage
im basically wondering why you put all the work in something which might be not needed too much :p
nevcairiel
2nd August 2011, 22:17
Because i can!
Also, i dont really see whar advantages there could be. You loose all the flexibility of a directshow software decoder, and gain what exactly?
Additionally, LAV Video already supports alot more formats then madVR, and if i were to wager a guess, more then madVR ever will.
SamuriHL
2nd August 2011, 22:22
First off, it is NOT part of LAV Splitter. It is shipped in the same package as LAV Splitter and LAV Audio, but, they are not the same and can be used independent of each other. That's an important thing to understand. LAV Video is a separate decoder. One that can be used outside the renderer and independent of even LAV Splitter should you choose.
We can argue the merits of having the decoders built into the renderer all we want, but, there are some that believe having everything as a separate component is better in the long run. Not knowing what madshi's plans are for the future, I can't comment whether or not having the decoders built in will eventually make sense. Right now, it doesn't really. As a software engineer, I like to see things modularized.
IOW, it's all a matter of preference. If you see a benefit to having your decoder tied to one specific renderer, then, madVR is perfect for you. If you like flexibility, then perhaps LAV Video makes sense. The take away here is that WE HAVE AWESOME OPTIONS! :)
Silent Rain
3rd August 2011, 07:16
DirectShow is outdated. How about support for Media Foundation?
About Media Foundation (MF): http://en.wikipedia.org/wiki/Media_Foundation
There are currently no plans to support Media Foundation.
This would only change if a future windows stops supporting DirectShow.
In this case, you will need to develop everything from scratch? :confused: :eek:
P.S. LAV Filters will ever support DVD/DVD menu?
bjd
3rd August 2011, 11:34
As I understand a combined video decoder/renderer would be advantageous if the video decoding is done on the GPU (open cl) and the renderer directly accesses the frames from the GPU memory rather than everything being swapped to system RAM and then back to the GPU memory which is what happens now whether you use Lav Cuvid, Lav Video or MadVR's internal filters or any other video decoder for that matter with MadVR renderer.
From what i have read, the CUDA decoder always sends decoded frames to system ram, and there is no (easy?) way to queue them in GPU memory for MadVR to render.
As has been mentioned, it is nice to have a choice and everything Nev has released so far has worked a treat in my system and more importantly offered better quality.
Blight
3rd August 2011, 12:10
nevcairiel:
Is there an interface that LAV Splitter exposes that lets you get the Matroska (and other formats?) chapters/bookmarks list?
Have a good vacation.
madshi
3rd August 2011, 12:11
As I understand a combined video decoder/renderer would be advantageous if the video decoding is done on the GPU (open cl) and the renderer directly accesses the frames from the GPU memory rather than everything being swapped to system RAM and then back to the GPU memory
Correct.
SamuriHL
3rd August 2011, 12:13
Then in that case, a built in decoder does in fact make sense.
Messiah
3rd August 2011, 12:38
From what i have read, the CUDA decoder always sends decoded frames to system ram, and there is no (easy?) way to queue them in GPU memory for MadVR to render.
As has been mentioned, it is nice to have a choice and everything Nev has released so far has worked a treat in my system and more importantly offered better quality.
Correct.
How much speedup will you gain in this way?
I know it depends on RAM clock, but some rough estimation:)
And if I understand correctly, both nVidia and AMD have OpenCL drivers implemented, which means that decoder could use hardware acceleration on both platforms?
ikarad
3rd August 2011, 12:55
How use lav video with mpc-hc?
I use lav audio but I can't use lav video (I have lav 0.31).
SamuriHL
3rd August 2011, 12:57
Make sure you have a package that includes lav video. My installer that I posted a page or so back includes it.
rack04
3rd August 2011, 13:15
Can someone post this file to another download location? That website is blocked on my computer.
http://files.1f0.de/lavf/LAVFilters-video4.zip
ikarad
3rd August 2011, 13:19
Make sure you have a package that includes lav video. My installer that I posted a page or so back includes it.
Thanks.
How can I know if dts-hd decoding is available?
I Just drop the "dtsdecoderdll.dll" from the TMT3/5 Codecs directory into LAV Audio's directory, and enjoy like nevacariel said but I don't know if I have dts-hd activated or not..
Underground78
3rd August 2011, 13:29
Can someone post this file to another download location? That website is blocked on my computer.
http://files.1f0.de/lavf/LAVFilters-video4.zip
http://www.mediafire.com/?q2rii8477qf1epj
mzso
3rd August 2011, 14:45
Thanks.
How can I know if dts-hd decoding is available?
I Just drop the "dtsdecoderdll.dll" from the TMT3/5 Codecs directory into LAV Audio's directory, and enjoy like nevacariel said but I don't know if I have dts-hd activated or not..
From the audio decoder settings.
http://forum.doom9.org/showthread.php?p=1516704#post1516704
Edit:
I too came up with a question. Does DTS-HD Master Audio decoding work with the 64 bit version too?
rack04
3rd August 2011, 15:01
http://www.mediafire.com/?q2rii8477qf1epj
Thanks. Unfortunately I can't download that one either. Must be something with the file name. Anyways, I'll download it somewhere else. Thanks again for trying.
Underground78
3rd August 2011, 15:03
I've renamed the file 4.zip, you can try again the same link if you want.
nevcairiel
3rd August 2011, 21:18
nevcairiel:
Is there an interface that LAV Splitter exposes that lets you get the Matroska (and other formats?) chapters/bookmarks list?
Have a good vacation.
IAMExtendedSeeking exports chapters.
@ the whole “access frames in gpu memory“:
Thats what DXVA does already. Frames never leave the GPU memory (unless you force them to). I'm still not convinced on the actual advantage over just supporting DXVA.
btw, on any modern GPU, which is also fast enough for full hardware deint, the speed difference is negligeble. At least on NVIDIA and Intel. AMD seems to have some serious performance issues with transfer from GPU to CPU.
nevcairiel
3rd August 2011, 21:37
I too came up with a question. Does DTS-HD Master Audio decoding work with the 64 bit version too?
I never thought about it before, but I guess it doesn't, the arcsoft decoder is only 32bit.
SamuriHL
3rd August 2011, 23:38
I never thought about it before, but I guess it doesn't, the arcsoft decoder is only 32bit.
Yea, it never crossed my mind, either, but, I'm quite sure it won't work with 64 bit. Maybe the first post should be updated to let people know if it hasn't already. (I just got home from a LONG day at the office so I haven't looked)
nand chan
4th August 2011, 07:57
How much longer until the Video decoder enters the main trunk and gets built into the first stable release, approximately?
I'm going to have to update this information in my Hi10P playback guide (http://haruhichan.com/wpblog/?p=205).
Sebastiii
4th August 2011, 08:18
Hi :)
I would like to know if there is different ffmpeg git source (i use git://git.1f0.de/ffmpeg.git and for 1f0.de libbluray too) but when i compile lavsplitter, all av*.dll are not the same size from ZIP.
I have try to compil on both PC and i have the same size but different from ZIP.
All compil was done.
My result is that LAV Video (my build didn't work well and crash Graphstudio).
Thanks :)
nevcairiel
4th August 2011, 08:47
How much longer until the Video decoder enters the main trunk and gets built into the first stable release, approximately?
I'm going to have to update this information in my Hi10P playback guide (http://haruhichan.com/wpblog/?p=205).
It is already in the main trunk. The next release will have it, but when exactly that will happen I cannot say. It will be at least 3 weeks.
Mercury_22
4th August 2011, 08:54
Hi :)
I would like to know if there is different ffmpeg git source (i use git://git.1f0.de/ffmpeg.git and for 1f0.de libbluray too) but when i compile lavsplitter, all av*.dll are not the same size from ZIP.
I have try to compil on both PC and i have the same size but different from ZIP.
All compil was done.
My result is that LAV Video (my build didn't work well and crash Graphstudio).
Thanks :)
Forget about the zip files they only create problems
OK I've build the LAV x64 too !!! (using MSYS_MinGW_GCC_461_x86-x64_Full.7z) but wtf ? I had to install TortoiseGit and get the code that way !
So it seems that I was right ?! = the zip files I've downloaded before are not the same as the code I get with TortoiseGit ?!!
Sebastiii
4th August 2011, 09:17
Thanks, Mercury_22,
I'm using x86 filter and for me the ZIP files didn't crash graphstudio, i'm a little lost lol
ikarad
4th August 2011, 09:38
From the audio decoder settings.
http://forum.doom9.org/showthread.php?p=1516704#post1516704
Thanks.
bjd
4th August 2011, 11:18
Reclock is not bad, but it's too much targetted at resampling
Agreed it is (the name puts alot of people off for starters), but you have so much control over it's configuration and it is fairly straight forward to get bit exact signals outputted (if you bother to do a little research) plus it works with XP Kernel streaming and Vista/7 WASAPI.
madshi
4th August 2011, 11:34
it is fairly straight forward to get bit exact signals outputted
Actually, no. The problem is that Reclock even in bit exact mode uses the system clock as the reference clock. And the system and audio clocks are not identical, resulting in a drift which may require Reclock to drop/repeat audio data in order to keep sync. A proper audio renderer (which doesn't resample) should use the audio hardware as the reference clock.
bjd
4th August 2011, 12:09
@madshi Thanks for explaining that.
I always "slave reference clock to audio" because i don't want any re-sampling (and i don't get any drop outs) and was under the impression this made Reclock use the sound card clock as the reference clock?
madshi
4th August 2011, 12:22
I was being told that was not the case, but then I don't have the Reclock source code, so I can't say for sure. See bottom of this post:
http://forum.doom9.org/showthread.php?p=1399254#post1399254
bjd
4th August 2011, 12:46
@Madshi thanks again for more information
I think that quote is basically saying it is impossible to get 100% perfect audio/video because you have to use one clock or the other depending on personal preference for either perfect audio or perfect video and I think the "....is that it cannot use the soundcard's clock as the reference clock." is used in the context of getting perfect video/audio rather than just audio.
The Reclock readme states "You also have the ability to disable completely the system and audio clocks adaptation using the checkbox “slave reference clock to audio”. Doing so, ReClock will work much like the default DirectSound audio renderer, but rate adaptation will still function and reference clock will be slaved to audio clock with a smooth algorithm".
I get perfect audio when in bit exact mode but am bound to get a few dropped frames over a two hour movie.
Like you I am not 100% sure either but feel happier when I see "bit exact" for integer based sources.
nand chan
4th August 2011, 13:27
It is already in the main trunk. The next release will have it, but when exactly that will happen I cannot say. It will be at least 3 weeks.
Alright. I'll check around every once in a while to update the information in my guide as soon as it happens.
Will it be announced in Big Bold Red Letters™ on the front page?
madshi
4th August 2011, 14:40
The Reclock readme states "You also have the ability to disable completely the system and audio clocks adaptation using the checkbox “slave reference clock to audio”. Doing so, ReClock will work much like the default DirectSound audio renderer, but rate adaptation will still function and reference clock will be slaved to audio clock with a smooth algorithm".
That does sound quite promising.
clsid
4th August 2011, 15:22
Playback of realmedia works pretty good now with LAV Filters.
RealVideo inside Matroska does not yet play smooth though. Hopefully that can be fixed in LAV Video. Here is a sample:
http://www.mediafire.com/?xau5day9pj8rub1
SamuriHL
4th August 2011, 15:23
clsid, since Nev is on vacation for 2 weeks, are you opening issues on the tracker and attaching the files there? If not, you may want to do so because otherwise they'll likely get lost in the next couple weeks here in the forum.
roytam1
4th August 2011, 15:59
Playback of realmedia works pretty good now with LAV Filters.
RealVideo inside Matroska does not yet play smooth though. Hopefully that can be fixed in LAV Video. Here is a sample:
http://www.mediafire.com/?xau5day9pj8rub1
As fake but reasonable timestamps are inserted into P/B-frames for .rm(vb) files, they will have better looking now.
BTW FYI:
[2011-08-04 18:36:18] <av500> RT|Chatzilla: troll kshishkov into fixing RV timestamps 1st
[2011-08-04 18:39:07] <kshishkov> av500: I prefer to rewrite the whole RM demuxer from scratch instead
Thunderbolt8
4th August 2011, 19:09
The Reclock readme states "You also have the ability to disable completely the system and audio clocks adaptation using the checkbox “slave reference clock to audio”. Doing so, ReClock will work much like the default DirectSound audio renderer, but rate adaptation will still function and reference clock will be slaved to audio clock with a smooth algorithm".the box is called exactly "slave reference clock to audio (debugging only)"
so whats up with the debugging thing, does this function have any effect at all for normal playback?
kasper93
4th August 2011, 20:19
Will LAV Splitter support selecting different video streams? I don't know is that right name of this feature but look at screen: http://dl.dropbox.com/u/16282309/MPC-HC/2in1.png switch between directory cut and extended cut. It can't be done with LAV splitter. I can provide sample if you want :)
nevcairiel
4th August 2011, 20:42
That feature is called editions, and is not currently supported, but hoppefully will be eventually in the future.
RobertinoM
4th August 2011, 21:27
but I have no idea and am stuck
I have a nearly clean system.. just installed LAV, cyberlink10, ffdshow and the dts...dll from TMT
but whenever I check in grapphstudio I see the LAV Splitter Cybelink10 for video and for audio ffdshow..
How the hell do I get LAV Audio to be there???
I have no idea at the moment.. If I unregister ffdshow or set the merit to do not use... I have no audio.. nothing
Thanks for the help ...
SamuriHL
4th August 2011, 21:30
Uhhh, what player are you trying to set all this up in? Clearly not in PDVD10 itself, but, rather it sounds like you're using the video decoder from it which is fine. But, the player you're trying to use would definitely be "key" information in helping us help you. :)
RobertinoM
4th August 2011, 21:51
finally I want it to running in Mediaportal
But before I install it I want to test it in Graphstudio.. and there it takes always ffdshow
I rebooted between the merit changes.. nothing.. I disabled in ffdshow the formats.. and ended up in no audio...
Strange
SamuriHL
4th August 2011, 21:55
I really have no idea. I mean, the programs I use for media playback allow me to select the filters I want to use. In graphstudio, I'd simply add the filters I want to build up the graph. Relying on merits is, well, not necessarily the best way. So no, I'm not going to be able to help you with that one. I'm not familiar with mediaportal at all.
cyberbeing
4th August 2011, 23:13
nevcairiel, would you add a dialog to LAV Video so the output colorspaces available to LAV Video can be selectively disabled?
nevcairiel
5th August 2011, 08:24
nevcairiel, would you add a dialog to LAV Video so the output colorspaces available to LAV Video can be selectively disabled?
That is basically on top of the TODO pile.
zerowalker
5th August 2011, 09:05
Thanks for the work, Near Carrier;D!
Haven´t begun use it fully yet, as it stutter with EVR on AVI files on Zoom Player at start on search.
roytam1
5th August 2011, 10:16
That is basically on top of the TODO pile.
What about Output format of LAV Audio?
It is still useful to have integer/float selection, or even Output frequency conversion (96kHz -> 48kHz etc.)
nevcairiel
5th August 2011, 12:08
What about Output format of LAV Audio?
It is still useful to have integer/float selection, or even Output frequency conversion (96kHz -> 48kHz etc.)
Its not really that important, in comparison. It'll come eventually, but not for the next version. Btw, I dont know if or how i'll be doing resampling.
PS: all posts by me right now are written on my phone, so don't expect much.
Playback of realmedia works pretty good now with LAV Filters.
RealVideo inside Matroska does not yet play smooth though. Hopefully that can be fixed in LAV Video. Here is a sample:
http://www.mediafire.com/?xau5day9pj8rub1
LAV Splitter also don't output video.
roytam1
5th August 2011, 12:37
LAV Splitter also don't output video.
Please try the video4 build some posts before.
Have latest build, thanks anyway.
Actually it connects only to ffdshow video. Can anyone confirm?
roytam1
5th August 2011, 13:36
Have latest build, thanks anyway.
Actually it connects only to ffdshow video. Can anyone confirm?
Did you configure LAV Video and enable RV10-30 and RV40?
Oh, i'm sorry i forgot about that. Is that mandatory?
Already have enabled MPC-HC internal Real Video decoder and have system registered also AverMedia decoder for Real video,
but neither connect with LAV Splitter.
Did i miss something?
bjd
5th August 2011, 17:14
What about Output format of LAV Audio?
It is still useful to have integer/float selection, or even Output frequency conversion (96kHz -> 48kHz etc.)
If you are using the default Vista/W7 audio renderers, then no, you should always send 32fp wherever possible because that is what the mixer handles and unlike XP's Kmixer, integer is converted to float first by the mixer (so no point converting float to int on the audio decoder).
IMHO it is best to send the decoded audio untouched to ReClock via Kernel Streaming/WASAPI and configure ReClock depending on personal needs/preferences (Sample rate/Bit Depth) and avoid other renderers.
If you need speaker matrix mixing insert FFDshow's audio processor in between the decoder and renderer.
nevcairiel
5th August 2011, 20:22
Oh, i'm sorry i forgot about that. Is that mandatory?
Already have enabled MPC-HC internal Real Video decoder and have system registered also AverMedia decoder for Real video,
but neither connect with LAV Splitter.
Did i miss something?
There is a small bug right now which blocks usage of the mpc decoder, maybe affecting others as well.
That explains it.
By the way a big "Thank you" for your work, it filled a lot of gaps for Windows users,
and of course all the people that test, suggest and push things further here.
zerowalker
6th August 2011, 09:49
If you are using the default Vista/W7 audio renderers, then no, you should always send 32fp wherever possible because that is what the mixer handles and unlike XP's Kmixer, integer is converted to float first by the mixer (so no point converting float to int on the audio decoder).
IMHO it is best to send the decoded audio untouched to ReClock via Kernel Streaming/WASAPI and configure ReClock depending on personal needs/preferences (Sample rate/Bit Depth) and avoid other renderers.
If you need speaker matrix mixing insert FFDshow's audio processor in between the decoder and renderer.
How can i do this on zoom player;O?
Virtual_ManPL
6th August 2011, 10:51
@ nevcairiel - thank you for your hard work, now especially on video decoder which supports 10bit h.264 ;)
next renderer or player ? :p
bjd
7th August 2011, 09:54
How can i do this on zoom player;O?
Download and install ReClock and then select it in ZoomPlayer under Options/Setup -> Audio/Video.
By Default ZoomPlayer uses the Default Direct Sound Device so 32bit float for lossy audio is the best use in Visa/Win7
zerowalker
7th August 2011, 11:36
tried it, worked i guess, but i got lag, from when i start the movie, or more like a slight delay.
it was very irritating as it happened when i skipped som secs here and there, so in the end i stopped using it:S
ty for telling though;D!
CruNcher
8th August 2011, 09:10
Nev i try to get .wmv with AP working with Lav Cuvid and .wmv with WMV3 with Microsofts DMO Decoder but somehow it seems even with lower merit lav splitter always forces a connection and so if i open the WMV3 it uses MPC Video Decoder low merrit and the lav splitter chain instead of the WMV ASF reader + WMVvideo DMO Decoder chain :(
My idea was that WMVVideo Decoder DMO doesn't support Lav Splitter and would fallback to the WMV ASF reader if that is higher prioritized if Lav Cuvid fails and fallsback to WMVVideo Decoder but it doesn't :(
Though this is getting me confused i have already a very complex chain but i guess this isn't doable what i want without hardcoding it (Splitter needs to switch for 2 different WMV/VC-1 Profiles)
subtype: Unknown GUID Name {41564D57-0000-0010-8000-00AA00389B71}
biCompression: WMVA
Lav Splitter->Lav Cuvid (works)
WMV ASF Reader->WMVideo Decoder DMO (doesnt work DXVA)
Unknown GUID Name {33564D57-0000-0010-8000-00AA00389B71}
biCompression: WMV3
WMV ASF Reader->WMVideo Decoder DMO (works DXVA)
Lav Splitter->Lav Cuvid (doesn't work)
Lav Splitter->WMVideo Decoder DMO (doesn't work)
Funny thing Lav Splitter connects only for WMV1 and 2 streams to WMVideo Decoder DMO but result is a black screen anyways
Every WMV3 works in the combination of Lav Splitter->Arcsoft Video Decoder (DXVA) but there it gets unsync @ playback and seeking
nevcairiel
8th August 2011, 10:51
Source filters don't dynamically change like that, it just isn't designed to work like that in directshow. The source filter is created first, then its pins are connected, and so on. It can only remove a filter again if there is absolutely no filter that wants to connect.
I suggest simply using the WM ASF Reader for all wmv files.
clsid
8th August 2011, 11:28
@CruNcher
WM ASF Reader is only partially registered on some systems. I dunno why. Run regsvr32 qasf.dll and WM ASF Reader will load by default in MPC if you give LAV Splitter a low merit.
CruNcher
8th August 2011, 12:09
Thx nev for clearing this so indeed it would be needed to hardcode it for optimal usability @ least for XP, also thx clsid though i found a workarround now with Arcsofts Framework (it's quiet good for WMV) it doesn't colide with Lav Cuvid and Lav Splitter like the WMV ASF Reader (Arcsofts ASF Reader) also it supports 2x fast forward that the WMV ASF Reader doesn't :) Lav Cuvid currently decodes the VC-1 inside .ts .mkv and arcsofts framework the whole .asf part (including DXVA for WMVA that Microsofts own Decoder doesn't support) with DXVA that works perfect combined and doesn't need any code changes to MPC-HC :)
Here is the result for WMV3 DXVA:
http://img641.imageshack.us/img641/3820/wmv3dxvavp4xp.png
VC-1 LAVCuvid interlaced
http://img820.imageshack.us/img820/8813/vc1interlacedlavcuvidts.png
most importantly it doesn't collide with each other :)
Blight
8th August 2011, 13:25
IAMExtendedSeeking exports chapters.
Thanks!
nevcairiel
9th August 2011, 07:51
Playback of realmedia works pretty good now with LAV Filters.
RealVideo inside Matroska does not yet play smooth though. Hopefully that can be fixed in LAV Video. Here is a sample:
http://www.mediafire.com/?xau5day9pj8rub1
That file is just muxed wrong. It contains the same broken timestamps the ffmpeg demuxer used to output from RM files - in addition, it also contains a wrong FPS field in the header. It specifys the file is 30fps, but in fact its 25fps, which makes the backup calculations break.
Broken file, not much to see here.
roytam1
9th August 2011, 08:41
Killer sample still kills.
http://roy.orz.hm/samples/rv40_weighted_mc.rmvb
Even though the NextPlayer rmdec.c patch (MPlayer's approach) is applied, this sample is still choppy.
Hope someone will rewrite whole libavformat RealMedia demuxer sometime.
Midzuki
9th August 2011, 09:12
Killer sample still kills.
http://roy.orz.hm/samples/rv40_weighted_mc.rmvb.
That's interesting, LAV Splitter sends the RV stream to "nowhere". :confused:
EDIT: My bad :o , LAV Splitter was NOT designed to use RealPlayer DLLs. :stupid:
BTW, feature request for the next revision: in the "Input formats" tab, add two checkboxes, "Select All" && "Select None". :devil:
nevcairiel
9th August 2011, 09:32
Killer sample still kills.
http://roy.orz.hm/samples/rv40_weighted_mc.rmvb
Even though the NextPlayer rmdec.c patch (MPlayer's approach) is applied, this sample is still choppy.
Hope someone will rewrite whole libavformat RealMedia demuxer sometime.
I fixed that sample now, well at least kind of.
mindbomb
9th August 2011, 09:51
so, i just noticed you no longer need to use frame time correction when using dxva for VC-1 with either arcsoft or cyberlink video decoders with evr cp.
nevcairiel
9th August 2011, 09:54
You shouldn't need Frame Time Correction with any VC-1 decoder with LAV Splitter - if you do, thats a bug, and you should let me know which decoder needs it.
This is assuming you have the VC-1 timestamp option set to "Auto"
roytam1
9th August 2011, 12:18
I fixed that sample now, well at least kind of.
It works. Thanks.
Another issue is that, playing RV20+SVT clips resulting reduced in half of width: (it encodes in half width but plays in full width, i.e. PAR=2:1)
http://roy.orz.hm/samples/rv20_svt_cook_640x352_realproducer_plus_8.51.rm
nevcairiel
9th August 2011, 12:54
Another issue is that, playing RV20+SVT clips resulting reduced in half of width: (it encodes in half width but plays in full width, i.e. PAR=2:1)
http://roy.orz.hm/samples/rv20_svt_cook_640x352_realproducer_plus_8.51.rm
That file plays properly as 640x352 for me.
roytam1
9th August 2011, 13:28
That file plays properly as 640x352 for me.
It doesn't work for XP default video renderer.
http://i.imgur.com/TXNz8.png
tetsuo55
9th August 2011, 14:45
Is anyone compiling nightly builds? I'd like to throw my RMVB library at the new demuxing code.
roytam1
9th August 2011, 14:57
Is anyone compiling nightly builds? I'd like to throw my RMVB library at the new demuxing code.
http://www.mediafire.com/file/ib54aqhng20bd1k/lavf-my110809-3.7z
With Kostya's RV patches applied:
https://lists.libav.org/pipermail/libav-devel/2011-August/009245.html
http://inoshishi.dlinkddns.com/0001-Add-weighted-motion-compensation-for-RV4.patch
tetsuo55
9th August 2011, 15:00
thanks
SamuriHL
9th August 2011, 15:18
Is anyone compiling nightly builds? I'd like to throw my RMVB library at the new demuxing code.
http://www.mediafire.com/?23o4y56b3anlnwn
Latest code built into an installer.
roytam1
9th August 2011, 15:23
Is anyone compiling nightly builds? I'd like to throw my RMVB library at the new demuxing code.
And there is no new demuxing code, rmdec patch (ideas from MPlayer) is only a workaround, not an ultimate fix.
Shark007
9th August 2011, 15:54
http://www.mediafire.com/?23o4y56b3anlnwn
Latest code built into an installer.
Thanks. your time is appreciated.
AmshTemp
9th August 2011, 18:29
All rv, all play fine with ffplay
This one doesn't play. It just stuck at 00:00
http://www.mediafire.com/?b2k14g6f0y06b08
and this one show the first frame of video
http://www.mediafire.com/?16k66c41bdh78jc
roytam1
10th August 2011, 02:13
All rv, all play fine with ffplay
This one doesn't play. It just stuck at 00:00
http://www.mediafire.com/?b2k14g6f0y06b08
and this one show the first frame of video
http://www.mediafire.com/?16k66c41bdh78jc
6.rm is too short that even RealPlayer itself can't play correctly.
7.rm has a broken timeline, RealPlayer play till 1:09 and seekbar doesn't work. Did you capture it correctly?
Sebastiii
10th August 2011, 10:06
Hi :)
I would like to know if there is different ffmpeg git source (i use git://git.1f0.de/ffmpeg.git and for 1f0.de libbluray too) but when i compile lavsplitter, all av*.dll are not the same size from ZIP.
I have try to compil on both PC and i have the same size but different from ZIP.
All compil was done.
My result is that LAV Video (my build didn't work well and crash Graphstudio).
Thanks :)
Hi :) Resolved using MSYS from Xhmikosr :
http://xhmikosr.1f0.de/tools/MSYS_MinGW_GCC_461_x86-x64_Full.7z
:thanks:
clsid
10th August 2011, 14:22
Can you add an option to LAV Splitter to (only) use the original FourCC in its output mediatype? Currently there are a few situations were using the generic mediatype of the format causes problems. This happens with formats that have vendor specific variants that differ from the general a/v format. For example MJPEG. The Microsoft decoder (which is used by default on Win7) fails to properly decode such variants. LAV Video and ffdshow do it properly, but those do not get used by default when the generic mediatype is used. Hence my option suggestion.
nevcairiel
10th August 2011, 14:52
Such an option doesn't make much sense, tbh. Only very few codecs have actually a format override, because it was applied to fix some files. If there is some specific format that requires a specific fourcc, its easier to fix those cases.
Edit:
Just changed MJPEG to providing two media types, one with the original and one with the default fourcc.
However, the video you gave me earlier is still upside down, because the MS MJPEG codec does not connect to the MJVP fourcc, not even when using the MS AVI Splitter (it doesnt play at all there).
Weirdo
10th August 2011, 18:17
Any chance support for the .mxf (http://en.wikipedia.org/wiki/Material_Exchange_Format) container format (used by Panasonic P2 and others) could be added to the splitter?
nevcairiel
10th August 2011, 18:26
Any chance support for the .mxf (http://en.wikipedia.org/wiki/Material_Exchange_Format) container format (used by Panasonic P2 and others) could be added to the splitter?
MXF should work already, i don't see why it wouldn't.
clsid
10th August 2011, 18:27
Lots of updates today. Good work!
AmshTemp
10th August 2011, 18:28
6.rm is too short that even RealPlayer itself can't play correctly.
7.rm has a broken timeline, RealPlayer play till 1:09 and seekbar doesn't work. Did you capture it correctly?
No, the samples are from http://samples.mplayerhq.hu
These two are the only remaining samples ffplay managed to play but lav couldn't.
I'm looking for transparency between ffplay and lav.
Weirdo
10th August 2011, 18:45
MXF should work already, i don't see why it wouldn't.I try to open .mxf P2 video files, but MPC-HC 'cannot render the file'. I have a DVC-Pro HD (used by Panasonic P2 files) directshow decoder installed - an editing application I have uses this decoder, but is not smart enough to load the corresponding .mxf audio file.
edit: seems a bit complicated, since there are 22 video and 88 audio .mxf files on the same P2 card folder.
2nd edit: : I could upload a complete p2 card folder with a couple of clips if it'd help. I remember in the past (before LAV) mpc-hc playing these files, I now just can't figure out how.
clsid
11th August 2011, 03:33
Is it normal that AYUV output has much higher CPU usage than YV12 or RGB32 for Hi10P 4:4:4 playback?
The green line in the stats graph in MPC goes haywire here with AYUV. CPU usage is around 25-30% on my i7 2600K with BBB444p10.mkv.
betaking
11th August 2011, 07:40
Is anyone compiling nightly builds? thanks?
madshi
11th August 2011, 07:53
Is it normal that AYUV output has much higher CPU usage than YV12 or RGB32 for Hi10P 4:4:4 playback?
The green line in the stats graph in MPC goes haywire here with AYUV. CPU usage is around 25-30% on my i7 2600K with BBB444p10.mkv.
Which renderer are you using? If it's not madVR then LAV Video needs to dither the video down to 8bit. I suppose the bitdepth downconversion likely consumes more CPU than the reordering of the data for AYUV output. At least that's what I would expect. It's also possible that swscale might be less efficient for dithering 10bit down to 8bit for 4:4:4 data?
Underground78
11th August 2011, 08:48
Is anyone compiling nightly builds? thanks?
LAVFilters-x86-git-fc7d418c13c0.7z (http://www.mediafire.com/?nv51696jut4o06v)
nevcairiel
11th August 2011, 09:15
Is it normal that AYUV output has much higher CPU usage than YV12 or RGB32 for Hi10P 4:4:4 playback?
The green line in the stats graph in MPC goes haywire here with AYUV. CPU usage is around 25-30% on my i7 2600K with BBB444p10.mkv.
AYUV output uses a "slow" algorithm, because its not a format natively supported by swscale.
Its a two step process, due to the requirement for dithering:
- Convert the 4:4:4 10bit to 4:4:4 8bit using swscale dithering
- Manually reorder the bytes to fit the AYUV layout, in pure C code, no optimizations yet
I haven't actually compared performance yet, but its certainly possible that this two step operation is much slower then using a one-step operation like YV12 or RGB32, which are natively supported by swscale.
roytam1
11th August 2011, 09:26
AYUV output uses a "slow" algorithm, because its not a format natively supported by swscale.
Its a two step process, due to the requirement for dithering:
- Convert the 4:4:4 10bit to 4:4:4 8bit using swscale dithering
- Manually reorder the bytes to fit the AYUV layout, in pure C code, no optimizations yet
I haven't actually compared performance yet, but its certainly possible that this two step operation is much slower then using a one-step operation like YV12 or RGB32, which are natively supported by swscale.
In ConvertToAYUV():
*idst++ = v[i] + (u[i] << 8) + (y[i] << 16) + (0xff << 24);
maybe using bitwise OR is faster than addition(+)? (since they aren't overlap)
zerowalker
11th August 2011, 09:38
Does it still stutter for you guys when you play AVI Files?
I does for me when i cut an MKV file with Direct Stream into an AVI file, and then play it, it stutter about all the time.
Maybe it´s a bug or unstable with that scenario, so thought it would be nice to tell about it:)
Keep up the Work Near Carrier, and i tried the Nightly Build by Underground aswell;)
betaking
11th August 2011, 10:15
LAVFilters-x86-git-fc7d418c13c0.7z (http://www.mediafire.com/?nv51696jut4o06v)
thanks!
nevcairiel
11th August 2011, 10:28
AYUV output uses a "slow" algorithm, because its not a format natively supported by swscale.
Its a two step process, due to the requirement for dithering:
- Convert the 4:4:4 10bit to 4:4:4 8bit using swscale dithering
- Manually reorder the bytes to fit the AYUV layout, in pure C code, no optimizations yet
I haven't actually compared performance yet, but its certainly possible that this two step operation is much slower then using a one-step operation like YV12 or RGB32, which are natively supported by swscale.
I actually benchmarked this now:
Using a H264 4:4:4 10bit 1920x1080 movie, on a Core i7 2600K - in a debug build, release builds will be faster.
These times are *per frame*
Y410 (native) 7.5ms
AYUV 9.8ms
RGB32 20.8ms
YUY2 19.8ms
YV12 20.5ms
NV12 30.4ms
Granted, i just spent some time optimizing the AYUV/Y410 path before doing the measurements.
However, i do not see the higher processing requirements for AYUV.
These numbers show some interesting things, though. For example, it would be impossible to play this movie smoothly if it was 60fps, unless you renderer supports native 4:4:4 input. I am using a bicubic scaler for down-sampling the chroma, i'm sure the numbers for YUY2/YV12/NV12 would be alot lower if i switched to bilinear or even point scaling.
Also, swscale is not multi-threaded right now, but it could be in the future, so we'll see about that.
PS:
Why is there no planar 4:4:4 pixel format? That would be far more efficient then AYUV...
Edit:
Updated Y410 numbers after optimizing the path as well
clsid
11th August 2011, 15:10
Performance is better now with AYUV, but not yet good enough for smooth playback with EVR CP. Judging from your benchmark results, it is probably the mixer in MPC that is not liking AYUV very much.
clsid
11th August 2011, 15:12
Does it still stutter for you guys when you play AVI Files?
I does for me when i cut an MKV file with Direct Stream into an AVI file, and then play it, it stutter about all the time.
Maybe it´s a bug or unstable with that scenario, so thought it would be nice to tell about it:)
Keep up the Work Near Carrier, and i tried the Nightly Build by Underground aswell;)H.264 inside AVI stutters here as well. Seems to be a frame order problem.
nevcairiel
11th August 2011, 15:14
Performance is better now with AYUV, but not yet good enough for smooth playback with EVR CP. Judging from your benchmark results, it is probably the mixer in MPC that is not liking AYUV very much.
EVR-CP looks completely broken here with AYUV input. I don't think EVR-CP works much with AYUV at all.
H.264 inside AVI stutters here as well. Seems to be a frame order problem.
The H264 in AVI i tried works just fine. But in general, its not a recommended way to store H264.
clsid
11th August 2011, 15:24
You are right. Tested with a b0rked sample. Deleted now.
What exactly is broken for you with AYUV and EVR? Wrong colors? Here it is just the performance that sucks.
nevcairiel
11th August 2011, 15:41
I figured out why it was broken. Using "Half Floating Point Processing" causes AYUV to break, if i disable it it works. I also don't get any dropped frames on my system with the 24fps clip, but i have a high-end gamer GPU and a very fast CPU in this system. :p
clsid
11th August 2011, 15:55
I have a i7 2600K and a GTX570 here.
Just a few dropped frames on the BBB444p10.mkv sample. But the stats graph isn't smooth. Green line skyrockets, then drops back to normal, skyrockets again, etc.
nevcairiel
11th August 2011, 16:01
AYUV with "Force 10-bit Input" looks extra good.
http://images.gammatester.com/pics/db6c226b80fb614a2fe01fbf11bd1866.png
clsid
11th August 2011, 16:08
For those who appreciate modern art ... :P
The 10-bit and float stuff in current MPC is broken. Jan Willem is trying to fix that.
Mercury_22
11th August 2011, 18:16
I can't get thumbnail in WMP / WMC or Explorer using LAVSplitter & LAVVideo for OGV, FLV(H.263), WEBM (LAVSplitter with other decoder it's working for this one so it's a VP8 LAVVideo problem) files while using MPC-HC standalone or "official" (http://xiph.org/dshow/downloads/) splitters and decoders I can get thumbnail in WMP / WMC or Explorer
Can you please fix this?
Samples and reg files (http://www.multiupload.com/ATSL6EH0HN)
P.S. For this formats there's no need for any "media foundation hack" to be able to see thumbnails just the necessary registry
clsid
11th August 2011, 18:41
Here is just the reg tweak:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.flv\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}]
@="{c5a40261-cd64-4ccf-84cb-c394da41d590}"
Many people like to have thumbnails, so it would be awesome if your filters would be compatible.
ffdshow's code might give some hints for the necessary workarounds. I don't think Explorer supports stuff like dynamic format change.
nevcairiel
11th August 2011, 18:43
I have no idea how thumbnails are generated in explorer or in WMP, and i really have no motivation to find out.
You cannot really debug explorer, its not like it behaves like any normal player.
If someone else wants to figure out why it isnt working - be my guest.
clsid
11th August 2011, 19:03
That sucks :(
Maybe if you get bored sometimes, you could have a look at TffdshowDecVideo.cpp. I suspect the allowOutChange stuff is relevant. There is also a workaround for powerpoint there that might be helpful.
mastrboy
11th August 2011, 19:47
If you get bored i rather you consider putting some work into mkv ordered chapters support ;)
Mercury_22
11th August 2011, 22:40
I have no idea how thumbnails are generated in explorer or in WMP, and i really have no motivation to find out.
You cannot really debug explorer, its not like it behaves like any normal player.
If someone else wants to figure out why it isnt working - be my guest.
Too bad ! :mad:
But I don't think MPC's or xiph's splitters and decoders are "doing" something special for thumbnails generation
Anyway if you'll find some free time at some point here is the source code for opencodecs_0.85.17777 (http://downloads.xiph.org/releases/oggdsf/opencodecs_0.85.17777_src.7z) too
nevcairiel
11th August 2011, 22:53
I did debug some, and it turns out the interface used to query for video frames does in fact not support the VIDEOINFOHEADER2 format - and thats the only one exposed by LAV Video at this time.
I may add support for VIDEOINFOHEADER (without the 2) in the future, maybe that allows grabbing frames already.
Reference: http://msdn.microsoft.com/en-us/library/dd390180(v=vs.85).aspx
Mercury_22
11th August 2011, 23:09
I did debug some, and it turns out the interface used to query for video frames does in fact not support the VIDEOINFOHEADER2 format - and thats the only one exposed by LAV Video at this time.
I may add support for VIDEOINFOHEADER (without the 2) in the future, maybe that allows grabbing frames already.
Reference: http://msdn.microsoft.com/en-us/library/dd390180(v=vs.85).aspx
I guess this apply to the VP8 / WEBM case (since it's working with other video decoder) but for OGV and FLV(H.263) it's something wrong with the splitter too cause even with other decoder (MPC's or xiph's ) it's not working :confused:
nevcairiel
11th August 2011, 23:10
The FLV works for me with LAV Splitter and ffdshow.
Note that on x64 windows you need to install the x64 filters for this to work in Explorer - but in WMP its still using the 32-bit, afaik.
Mercury_22
11th August 2011, 23:23
The FLV works for me with LAV Splitter and ffdshow.
Note that on x64 windows you need to install the x64 filters for this to work in Explorer - but in WMP its still using the 32-bit, afaik.
LAVSplitter with ffdshow works for me too for FLV(H.263)
So mpc's decoder it's working only with mpc's splitter :confused:
Well then only ogv has a problem in the splitter too
EDIT wrong again OGV it's working too with ffdshow
So you're right again :) it's just LAVVideo
CruNcher
12th August 2011, 07:15
LAVFilters-x86-git-fc7d418c13c0.7z (http://www.mediafire.com/?nv51696jut4o06v)
Your build fails with a lot of format playback resulting in a black screen @ for the Video playback (Lav Video) (tested VP6,Bink,Divx 3.1).
roytam1 his build is working
roytam1
12th August 2011, 07:56
my newer build: http://www.mediafire.com/file/5o0cg5hqy50n5d9/lavfilters-314a389af4a366a4cb00d0bc13695ae02b2130ee-win32.7z
China mirror http://u.115.com/file/dnhkfbi5
nevcairiel
12th August 2011, 09:57
LAVSplitter with ffdshow works for me too for FLV(H.263)
So mpc's decoder it's working only with mpc's splitter :confused:
Well then only ogv has a problem in the splitter too
EDIT wrong again OGV it's working too with ffdshow
So you're right again :) it's just LAVVideo
LAV Video now works for me as well, except on some H264 files, it appears to somehow fail on these, not sure why.
Mercury_22
12th August 2011, 10:45
LAV Video now works for me as well, except on some H264 files, it appears to somehow fail on these, not sure why.
AFAIK WMP / WMC & Explorer are using Media Foundation for H264 so unless you're disabling that (using CLSID's tool (http://forum.doom9.org/showthread.php?t=146910)) which I don't recommend due to some side effects
it's intriguing that it's working for you for some files :)
Anyway I can't test right now but I'll test this later although I'm sure it's working so once again :thanks: :thanks:
P.S. I guess this will make Lav Filters very popular in the codec packs now :p
clsid
12th August 2011, 13:59
Thanks for the VIH1 support!
The preferred filter settings of Win7 apply to all basic DirectShow apps, including GraphStudio, Explorer, and WMP/MC. So by default LAV Video won't get used for H.264. Perhaps you could add an option to replace fourcc AVC1 with CCV1 like haali does. That option was added exactly for the purpose of bypassing the MS decoder without the need of special registry tweaks.
There are only two downsides I can think of (and that is why it should be optional):
- It only works with a few decoders: LAV, ffdshow, MPC, and CoreAVC. But that could be considered an upside as well ;)
- It might interfere with streaming video to XBOX360 (and trigger trancoding instead). Maybe someone can confirm this?
nevcairiel
12th August 2011, 14:11
I don't like that custom media type approach, and i won't be doing it.
Superb
12th August 2011, 14:17
AFAIK WMP / WMC & Explorer are using Media Foundation for H264 so unless you're disabling that (using CLSID's tool (http://forum.doom9.org/showthread.php?t=146910)) which I don't recommend due to some side effects
it's intriguing that it's working for you for some files :)
Anyway I can't test right now but I'll test this later although I'm sure it's working so once again :thanks: :thanks:
P.S. I guess this will make Lav Filters very popular in the codec packs now :p
WMP uses DirectShow. One can see it when using DirectShowSpy and connecting to the filter graph.
Mercury_22
12th August 2011, 14:23
WMP uses DirectShow. One can see it when using DirectShowSpy and connecting to the filter graph.
WMP12 (windows 7) for H.264 (for thumbnail ) ?
Also I've tested and I can confirm it's working, but not for any H264 in mkv, or flv or... (no tweaks to disable Media Foundation here)
clsid
12th August 2011, 14:31
Media Foundation and the preferred DirectShow filter list are two separate things.
clsid
12th August 2011, 19:18
This sample crashes swscale with RGB24 output:
http://x264.nl/developers/Dark_Shikari/BBB444p10.mkv
nevcairiel
12th August 2011, 19:23
The only crash i get there is in the ffdshow raw video filter when trying to feed RGB24 through it, but swscale processes it fine.
clsid
12th August 2011, 19:29
Happens here with this graph:
file > LAV video > Color Space Converter > Video renderer
(with only RGB24 enabled in LAV settings)
nevcairiel
12th August 2011, 19:31
No problem here with that setup.
roytam1
13th August 2011, 01:04
I can reproduce it here in XP SP3.
- Opening a file in GraphStudio
- remove the "Video Renderer" filter
- readd Video Renderer from [Graph]->[Insert Video Renderer]->[Video Renderer]
- reconnect Video Renderer with LAV Video (Its output format are all checked by default and I did't change it)
* Color Space Converter is magically inserted in the middle, In pin is MEDIASUBTYPE_RGB32, XForm Out pin is MEDIASUBTYPE_ARGB32.
- Click Play button, access violation occurs in quartz.dll (i.e. the Color Space Converter)
roytam1
13th August 2011, 02:40
And for RV20+SVT sample, I found a serious situation. If an overlay mixer(system's Overlay Mixer, Overlay Mixer2, etc.) is involved in the graph, such sample will fail to display correctly, regardless the aspect ratio.
http://i.imgur.com/gp8nw.png
and 1337player subtitle mixer is the overlay mixer here.
You can download 1337player here: http://www.daansystems.com/1337player/
nevcairiel
13th August 2011, 09:57
Its the overlay mixers fault, its incapable of properly changing the input format. The main problem is that the splitter claims the movie is 640x352, and the decoder corrects that to 320x352 - however the overlay mixer does not manage to deal with that, and still wants a 640 pixel wide image.
Overlay mixer is outdated, and i really have no plans to add alot of magics just for it. Use a modern player if you want to use my modern filters.
roytam1
13th August 2011, 10:20
Its the overlay mixers fault, its incapable of properly changing the input format. The main problem is that the splitter claims the movie is 640x352, and the decoder corrects that to 320x352 - however the overlay mixer does not manage to deal with that, and still wants a 640 pixel wide image.
Overlay mixer is outdated, and i really have no plans to add alot of magics just for it. Use a modern player if you want to use my modern filters.
THe problem is that DirectShow framework is a system-wide thing. Not only media player will use it, but also games, transcoders, screen recorders, etc.
Unlike ffdshow, which has white/blacklist to control who can use the decoder, and LAV Video's "weird" behavior that it tries to reconnect to the video renderer when the output size is changed, which leads to a stop of graph and returning a DirectShow error code 0x8004022a.
Such behavior can make some games get stuck in the opening movie.
I don't think correcting the output resolution by LAVVideo is wrong, but many DirectShow applications are unexpected in such behavior, simple DirectShow applications such as mplayer2 and amovie.ocx can demonstrate and not to mention the games.
nevcairiel
13th August 2011, 10:26
Its not weird behaviour to reconnect when output size changes, every decoder does that. How would it otherwise work? I have to let the renderer know that the image now has a different size, or very weird stuff will happen.
The only difference is that i will not start doing ugly hacks to support applications that should've been gone out of service 10 years ago. You want to use my filters, you better use a modern system to go with it.
I did however manage to fix the silly overlay mixer right now.
PS:
I cannot test "mplayer2" because its so old that its no longer present on my Windows. :p
PPS:
"System-wide" - many players allow using filters individually, and other tools are present to manage which filter is the preferred one on your system. If you absolutely have to use some broken software, set stuff up with that.
CruNcher
13th August 2011, 12:58
Nev no chance to get Lav Splitter working with Arcsofts Decoder for .ASF (sync), it's always funny how Cyberlink and Arcsoft stuff are interoperable with each other (Cyberlinks WMV Splitter (ff broken) + Arcsofts Decoder stays sync) (except they blocking each other for reason) but lav splitter sometimes doesn't fit in their dshow frameworks like with *.WMV . Though Cyberlink + Lav Splitter is currently very well working for .ts and H.264 at least, though their are scenarios especially when DXVA comes into play where Lav Cuvid is overall much better (non DXVA compliant streams) and others where it fails again (Deinterlacing).
nevcairiel
13th August 2011, 13:05
Wmv is way to unimportant to warrant much work. Stop watching cheap porn. :)
Use the WM ASF Reader.
CruNcher
13th August 2011, 13:15
I prefer Arcsofts ASF Reader instead though (but only because it's sync compared to lav Splitter, found no other issues so far) i dunno how the one in Vista/Win7 does, and only because 80% of all WMV content is Pron their is still stuff that isn't and devices that still use ASF and i don't use Pron for testing but WMV-HD Discs :D and i still prefer to directly play files for several reasons then to remux them all to .mkv which though slowly seems to be the only way to keep those for the future and editing in Open Source software.
It would be nice though to keep the dshow framework as sleek as possible and only use 3rd party stuff where it's absolutely (still) needed bugs aren't yet fixed (or other features missing) :)
nevcairiel
13th August 2011, 13:36
WM ASF Reader + LAV Video works fine for basically all WMV content.
So does WM ASF Reader + WMVideo Decoder DMO - not one 3rd party component. :) You have to remember, the Microsoft filters are the native decoders, everything else is third party.
CruNcher
13th August 2011, 13:47
The Problem in the combinations you mention is that WMV ASF Reader + WMVideo Decoder DMO doesn't support WMVA with DXVA but playbacks it only in Software @ least on XP (Microsoft seems to forgot it).
and LAV Video is Software only and Lav Cuvid doesn't work with WMV3 acceleration (only WVC1 and WMVA) and another Problem with Lav Video in those regards is that it doesn't separate any of the WMV parts but puts them into 1 package and so it takes the major state and flexible combination is almost impossible with MPC-HC.
nevcairiel
13th August 2011, 14:02
Hardware decoding for WMV3 is overrated - its such a simple format, any modern CPU can decode it without breaking a sweat. All the advanced features require advanced profile, which is only in VC-1
CruNcher
13th August 2011, 14:17
still there are less cycles used then using libav ;) and nope WMVA also uses them though Microsoft wish is they never released that intermediate to VC-1 AP ;) http://forum.doom9.org/showthread.php?t=112634
A: Indeed it did. Microsoft began working on its implementation of WMV AP before VC-1 spec was finalized. That codec (FourCC: WMVA) shipped with WMP10 (Format SDK 9.5), but as final changes to the VC-1 spec were made, WMVA got out of sync with the official spec. Today WMVA is no longer VC-1 compliant and is generally considered deprecated.
And this is the reason why in no decoder it should be put into a package but seperated if you want to have full flexibility of choice
A: Yes, it does. In order to differentiate it from SP/MP codec (FourCC: WMV3) and the non-VC1-compliant AP codec (FourCC: WMVA) and avoid issues with legacy decoders, the VC-1 compliant WMV9 Advanced Profile codec uses a new FourCC code: WVC1.
1 Scenario would be you want WMV3, WMVA and WVC1 Hardware Decoded and WMV1/2 Software via Lav Video that wouldn't be possible as marking the WMV checkbox in Lav Video would take over everything in certain cases if you have the other Decoder over it and prefered it's still fine but if you for a certain reason need a third one it gets problematic.
In this case ffdshow is the rescue as they have separated them accordingly :) WMV1/7, WMV2/8, WMV3/9, VC-1 (WVC1,WMVA), WMVP so here you just disable what you need don't need and want another decoder to be decoded and in the chain search it will easily fallback as it gets no connection and use the next decoder you have set (most importantly this also would work from a Generic dshow application like mplayer2.exe without any merrit prefer system so for example if you want to have a special transcoding chain not forced inside the application and a playback framework forced inside a application for example MPC-HC).
For example i want ffdshow to force WMV1/2 and everything else i want to force Arcsoft and for .ts i want to force Lav Cuvid (as it doesn't support WMV3) ;) i would put Lav Cuvid on the top enable VC-1 and down bellow ffdshow with only WMV1/2 enabled bellow (Software Fallback) than i put Arcsoft (it should switch for WMV3 inside ASF with DXVA, normaly it would force everything but as ffdshow is above it the chain will never reach it for WMV1/2) :)
You can see this example in action here http://forum.doom9.org/showpost.php?p=1518423&postcount=4516 <- it shows the great flexibility of dshow (in a managed enviroment).
So now it works by logic (you also have to put the Splitter in the correct order) and is switching depending on the connections it can do or cant with Lav Video that isn't possible yet as it would force everything to itself bellow Lav Cuvid.
roytam1
13th August 2011, 14:39
My nightly builds are now available here: http://roy.orz.hm/lavf-w32-nightlies/
nevcairiel
13th August 2011, 14:42
1 Scenario would be you want WMV3, WMVA and WVC1 Hardware Decoded and WMV1/2 Software via Lav Video that wouldn't be possible as marking the WMV checkbox in Lav Video would take over everything in certain cases even if you have the other Decoder over it and prefered. In this case ffdshow is the rescue as they have seperated them :) WMV1/7, WMV2/8, WMV3/9, VC-1 (WVC1,WMVA), WMVP
Just put the DXVA codec on a higher priority, then it'll get used, and if it refuses, fallback to the software decoder.
As a general rule, go from specific to general. That works in so many cases in life. :p
roytam1
13th August 2011, 14:57
Just put the DXVA codec on a higher priority, then it'll get used, and if it refuses, fallback to the software decoder.
As a general rule, go from specific to general. That works in so many cases in life. :p
For here, I'd prefer grouping RV30 and RV40 together, but not grouping RV1-3 together.
For RV1-2, binary decoder is still better than libavcodec at the moment.
nevcairiel
13th August 2011, 15:09
I changed the grouping to group WMV1/2 together and have a separate option for WMV3.
Also did RV1/2 and RV3/4. RV1/2 is disabled by default, while RV3/4 is active.
CruNcher
13th August 2011, 15:12
For here, I'd prefer grouping RV30 and RV40 together, but not grouping RV1-3 together.
For RV1-2, binary decoder is still better than libavcodec at the moment.
Yep exactly such scenarios VC-1 Interlaced would be another one or H.264 4:2:2 ;) not 4:4:4
nevcairiel
13th August 2011, 15:56
H264 4:2:2 is virtually non-existant, and ffmpeg is otherwise truely one of the best H264 decoders out there. I've been told ffmpeg will only get support for 4:2:2 if x264 supports encoding it one day.
LAV Video will now try to detect the interlace flag in the VC-1 sequence header and refuse connection if its found. Works fine for the samples i tried it on.
clsid
13th August 2011, 17:13
Can you post a build so I can test if I also get the crash with your build?
Will the video decoder also get a private mediatype in the future like the audio decoder has?
madshi
13th August 2011, 17:26
H264 4:2:2 is virtually non-existant, and ffmpeg is otherwise truely one of the best H264 decoders out there. I've been told ffmpeg will only get support for 4:2:2 if x264 supports encoding it one day.
x264 newsletter:
"4:2:2 support is coming soon, both to x264 and libavcodec."
nevcairiel
13th August 2011, 17:54
Can you post a build so I can test if I also get the crash with your build?
I'll post one later
Will the video decoder also get a private mediatype in the future like the audio decoder has?
Probably at some point. But video is easier to build media types for, because alot of formats have some kind of FourCC which you can just use. For Audio thats sadly not so easy on alot of formats, where that special mediatype came in handy.
Video decoding is also harder to get right, somehow i rather test a format before i enable it. Audio is childs play in comparison. ;)
nevcairiel
13th August 2011, 18:27
Here is a new build of the latest code, i consider this a release candidate for the next version - only some minor things to do, i hope everything else works acceptable.
http://files.1f0.de/lavf/LAVFilters-0.32-rc.zip
http://files.1f0.de/lavf/LAVFilters-0.32-x64-rc.zip
As always, please report bugs and regression with as much detail as possible, sample files greatly help to reproduce and fix issues.
Most notable changes since last build:
- LAV Video now directly refuses VC-1 interlaced material
- Seeking enhancements for MPEG2 and VC1
- Performance enhancements for high-bitdepth material
- RGB conversion is now done with the proper color matrix
- Support for creating thumbnails in explorer/WMP
VipZ
13th August 2011, 18:41
Nev, latest changes regarding VC1 have broken EVO playback, no longer connects, tested with multiple HD-DVD's (All progressive)
In my testing, just having ffdshow set to use WMV9 and LAV Video both enabled for VC1 works quite well. LAV Video gets used for EVO's and ffdshow gets used for VC1 interlaced.
EDIT: Thanks, EVO working again :)
nevcairiel
13th August 2011, 19:03
Stupid EVO and their 60i coding.
VipZ
13th August 2011, 19:08
Stupid EVO and their 60i coding.
Yep, but you have done a better job than anything in the past for EVO including commercial software ;)
clsid
13th August 2011, 19:23
Same crash with your build.
Problem Event Name: APPCRASH
Application Name: graphstudio.exe
Application Version: 0.3.2.0
Application Timestamp: 4a34defb
Fault Module Name: swscale-lav-2.dll
Fault Module Version: 0.0.0.0
Fault Module Timestamp: 4e46b2c8
Exception Code: c0000005
Exception Offset: 00029a6e
--------------------------------------------------
Filters
--------------------------------------------------
1. Haali Media Splitter
File: E:\Hi10P\BBB444p10.mkv
2. LAV Video Decoder
3. Color Space Converter
4. Video Renderer
--------------------------------------------------
Connections
--------------------------------------------------
1. [E:\Hi10P\BBB444p10.mkv]/(Video) -> [LAV Video Decoder]/(XForm In)
Major: MEDIATYPE_Video
Subtype: {31435641-0000-0010-8000-00AA00389B71}
bFixedSizeSamples: FALSE
bTemporalCompression: FALSE
lSampleSize: 1
cbFormat: 176
Format: FORMAT_MPEG2_VIDEO
VIDEOINFOHEADER2:
rcSource: (0,0,0,0)
rcTarget: (0,0,0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 416666
dwInterlaceFlags: 0
dwCopyProtectFlags: 0
dwPictAspectRatioX: 1920
dwPictAspectRatioY: 1072
dwControlFlags: 0
BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1072
biPlanes: 1
biBitCount: 24
biCompression: 0x31637661
biSizeImage: 0
biXPelsPerMeter: 1
biYPelsPerMeter: 1
biClrUsed: 0
biClrImportant: 0
MPEG2VIDEOINFO:
dwStartTimeCode: 0
cbSequenceHeader: 44
dwProfile: 244
dwLevel: 51
Sequence Header:
00 22 67 f4 00 33 90 d8 e4 08 80 f0 04 4f c4 ff
e0 00 20 00 22 00 00 03 00 02 00 00 03 00 61 1e
30 63 08 c0 00 06 68 e8 43 b1 12 11
2. [LAV Video Decoder]/(XForm Out) -> [Color Space Converter]/(Input)
Major: MEDIATYPE_Video
Subtype: MEDIASUBTYPE_RGB24
bFixedSizeSamples: TRUE
bTemporalCompression: FALSE
lSampleSize: 6174720
cbFormat: 88
Format: FORMAT_VideoInfo
VIDEOINFOHEADER:
rcSource: (0,0,1920,1072)
rcTarget: (0,0,1920,1072)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 416666
BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: -1072
biPlanes: 1
biBitCount: 24
biCompression: 0x00000000
biSizeImage: 6174720
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
3. [Color Space Converter]/(XForm Out) -> [Video Renderer]/(VMR Input0)
Major: MEDIATYPE_Video
Subtype: MEDIASUBTYPE_RGB32
bFixedSizeSamples: TRUE
bTemporalCompression: FALSE
lSampleSize: 8232960
cbFormat: 88
Format: FORMAT_VideoInfo
VIDEOINFOHEADER:
rcSource: (0,0,1920,1072)
rcTarget: (0,0,1920,1072)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 416666
BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1072
biPlanes: 1
biBitCount: 32
biCompression: 0x00000000
biSizeImage: 8232960
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
Carpo
13th August 2011, 19:25
- Support for creating thumbnails in explorer/WMP - i must be missing something as i cant see an option for that in the settings
clsid
13th August 2011, 19:28
- Support for creating thumbnails in explorer/WMP - i must be missing something as i cant see an option for that in the settingsThere is no option. The filter is merely made compatible for thumbnailing. Enabling thumbnailing requires registry tweaks.
Carpo
13th August 2011, 19:28
ah :) Anyone know the tweak for .mkv ?
Mercury_22
13th August 2011, 19:35
ah :) Anyone know the tweak for .mkv ?
According to MSDN (http://msdn.microsoft.com/en-us/library/cc144118%28v=vs.85%29.aspx) The GUID for the thumbnail handler Shell extension is E357FCCD-A995-4576-B01F-234630154E96.
[HKEY_CLASSES_ROOT\.mkv\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]
@="{c5a40261-cd64-4ccf-84cb-c394da41d590}"
Carpo
13th August 2011, 19:36
Thanks :)
nevcairiel
13th August 2011, 19:52
Same crash with your build.
I see. Its Haalis fault for claiming the image has 1072 lines, while it actually has 1080, and the Colorspace Converter does not obey to the rules for buffer negotiation as outlined by the MSDN.
Should hopefully work now, in theory it shouldn't break anything else - i hope.
clsid
13th August 2011, 20:24
Crash is fixed. Thanks!
Kalekulan
13th August 2011, 20:33
Hi. Looks like a really good media splitter/decoder! But how do I install it? And do I choose x64 if my OS is x64 or do I choose x64 if I have MPC-HC x64?
Right now I'm using MPC-HC x86 with my x64 Windows 7.
How do I install it? But all the files in the same folder as MPC-HC and use the two install.bat-files and go into external filters in MPC-HC and browse for the both .ax-files? This doesn't work. :(
Carpo
13th August 2011, 21:46
extract the files to a directory, double click the .bat files, then add them in MPC-HC in external filters, if you are using the x86 version of MPC-HC then you should use the x86 version
JustinChase
13th August 2011, 22:14
extract the files to a directory, double click the .bat files, then add them in MPC-HC in external filters, if you are using the x86 version of MPC-HC then you should use the x86 version
Yes, the filter version (x86) should match the player, not windows.
Also, the installer in the first post will just install it for you, no need to extract and run the batch; unless you want to install the newest build a few posts up.
SamuriHL
13th August 2011, 22:58
Only my installer has lav video added to it at the moment. I haven't had a chance to finish the script and attach it to the tracking system for nev. I'll try for tomorrow. Not at home today else i'd build a new installer and post it.
STaRGaZeR
13th August 2011, 23:19
I'm having a weird issue when playing MKV files. It's about subtitles. Let's say you have a file with 4 subtitle tracks. If 3 of them are muxed with the default flag set to "No" in mkvmerge and the fourth has the flag set to "Yes", the fourth track is selected correctly, it even displays [default], cool beans. However, if all of them are muxed as "No", LAV Splitter will select and play the first one, without displaying [default] in any of the tracks. Haali doesn't select any of the tracks, it uses the no subtitles pin by default, as it should be.
This is useful when you have a movie with subs, but you just don't want them activated by default.
Is this intended behavior or am I missing something? LAV Splitter with default settings.
nevcairiel
13th August 2011, 23:27
The "default" flag only controls which subtitle is loaded, it does not control wether a subtitle is loaded.
Subtitles that should always be loaded should be flagged "forced", not "default", thats my interpretation of the spec anyway.
I guess i can add a new option to treat default like forced, if people want that.
pankov
13th August 2011, 23:44
nev,
if I'm not mistaken STaRGaZeR is trying to say that LAV Splitter is loading the first track even though it is not marked as Default (in fact none is).
I think in this case no subtitles should be loaded.
nevcairiel
13th August 2011, 23:45
I understood him just fine, and like i explained, "default" does NOT control IF a subtitle is loaded, it just controls WHICH is loaded.
IF a subtitle is loaded is controlled with the "forced" flag.
The matroska spec defines the "default" stream to be used for the subtitle if no stream was found that matched the users language preferences (iow, the default, if no specific match exists). It does not mention anything else.
Like i also said, i can add an option to treat default the same as forced, even though i think its silly. :p
Kalekulan
13th August 2011, 23:46
I'm having trouble getting out uncompressed sound to my headphones through my soundcard Asus Xonar Essence ST. The card supports 192KHz/24 PCM. I've tried putting the dtsdecoderdll.dll in the same folder as the LAV-filters but without success. I've enabled all kind of things in bitstreaming etc. but I get no sound.
Is it because my soundcard can't transform the DTS HD-MA 5.1-track to PCM while using bitstream?
pankov
13th August 2011, 23:49
I understood him just fine, and like i explained, "default" does NOT control IF a subtitle is loaded, it just controls WHICH is loaded.
IF a subtitle is loaded is controlled with the "forced" flag.
The matroska spec defines the "default" stream to be used for the subtitle if no stream was found that matched the users language preferences (iow, the default, if no specific match exists). It does not mention anything else.
Like i also said, i can add an option to treat default the same as forced, even though i think its silly. :p
I apologize but I don't understand.
if we follow your logic - how should we mark the subtitle tracks so none of them is loaded by default?
Is there an option meaning the opposite of "forced"?
clsid
13th August 2011, 23:53
Another crash issue:
Get Microsoft's GraphEdit tool. Try inserting a filter through its menu. It will crash when expanding the DirectShow filters list.
The cause is having too many mediatypes defined for the input pin of the filter. The max that GraphEdit supports is around 115.
(tested with GraphEdit build 090714 (http://www.digital-digest.com/software/download.php?sid=82&ssid=0&did=1))
nevcairiel
13th August 2011, 23:53
I apologize but I don't understand.
if we follow your logic - how should we mark the subtitle tracks so none of them is loaded by default?
Is there an option meaning the opposite of "forced"?
Change the configuration of LAV Splitter, and set the "Subtitle Mode" to "Only Forced Subtitles". That'll cause it to only load subtitles that are marked "forced", unless you manually change the selection.
nevcairiel
13th August 2011, 23:55
Another crash issue:
Get Microsoft's GraphEdit tool. Try inserting a filter through its menu. It will crash when expanding the DirectShow filters list.
The cause is having too many mediatypes defined for the input pin of the filter. The max that GraphEdit supports is around 115.
(tested with GraphEdit build 090714 (http://www.digital-digest.com/software/download.php?sid=82&ssid=0&did=1))
Thats too bad, i won't limit the number of types just because of that buggy tool.
What am i supposed to do, stop supporting new formats because MS has a broken application?
AFAIK, GraphStudio does not have that limitation (and is IMHO much nicer to work with!)
Thunderbolt8
13th August 2011, 23:59
Change the configuration of LAV Splitter, and set the "Subtitle Mode" to "Only Forced Subtitles". That'll cause it to only load subtitles that are marked "forced", unless you manually change the selection.but that does means that forced subtitles will get loaded if such a track is present. but if you dont want ANY subtitles to be loaded or shown, then I guess this option is missing, right?
afaik then you have to untick a checkmark elsewhere, either in directovub or mpc-hc settings.
edit: lol sorry, missed the no subtitles option
edit²: too slow -.-
nevcairiel
14th August 2011, 00:00
but that does means that forced subtitles will get loaded if such a track is present. but if you dont want ANY subtitles to be loaded or shown, then I guess this option is missing, right?
The subtitle mode also has a third option for "No subtitles"
clsid
14th August 2011, 00:04
I also always use GraphStudio. I was just pointing out the issue and its cause, in case this issue ever pops up again.
nevcairiel
14th August 2011, 00:06
I know of the issue, but i decided to just ignore it. :)
Limiting the number of media types is not a viable option for me.
pankov
14th August 2011, 00:07
Change the configuration of LAV Splitter, and set the "Subtitle Mode" to "Only Forced Subtitles". That'll cause it to only load subtitles that are marked "forced", unless you manually change the selection.
OK
this will work, but I think STaRGaZeR was asking about a way to do it "on per file bases".
I understood him just fine, and like i explained, "default" does NOT control IF a subtitle is loaded, it just controls WHICH is loaded.
IF a subtitle is loaded is controlled with the "forced" flag.
After I've reread your post I think there is sense in the way Haali has done it.
Here is how I understand it:
If none of the tracks is marked as "forced" this means that none of the tracks is mandatory to be loaded. After this the splitter checks for a language preference and if none is set it should check for a "default" track and again if none is marked as such it shouldn't load any.
Now this could lead to a problem - if most .mkv files are muxed without a default track and the user is used to get the first one.
Does anybody know how other splitters react in such cases?
Like i also said, i can add an option to treat default the same as forced, even though i think its silly. :p
May be the option should be called "don't load subtitles if none is marked as forced or default"
nevcairiel
14th August 2011, 00:12
this will work, but I think STaRGaZeR was asking about a way to do it "on per file bases".
I have no idea what there is to do "on per file bases". The options work for all files, LAV Splitter does not store special rules for special files. :p
May be the option should be called "don't load subtitles if none is marked as forced or default"
That option is already present, thats exactly what happens when you set the subtitle mode to "Only Forced Subs" - well except that it only does it for "Forced", not for "Default", but that can be optionally added, even though it goes against my understanding of the MKV spec.
The point here is that its supposed to be configurable, and we'll never agree on a good default config. Personally, i only want forced subs, i don't want any others. I don't watch content where i have to read alot. But other people always want subs and rather turn them off on a file-per-file basis where they don't need them.
Everyone likes different things, and one mode will not please everyone.
I actually thought the options were pretty self-explaining, no-one ever misunderstood them before. :)
pankov
14th August 2011, 00:22
nev, please, don't get mad at me - it could be the language barrier (I'm not native English speaking) but I'm not sure if you understand my idea.
How can I accomplish the following without having to manually alter the settings before each movie:
When there is a forced subs track - load it.
When there is a default track - load it.
and for some .mkv files - don't load any subs.
I thought that if I don't mark any track as forced or default none will be loaded by default, but they will still be available for selection through the UI.
Feel free to ignore this post if you don't want to tutor me onto MKV spec.
nevcairiel
14th August 2011, 00:31
Right now, you cannot do this.
What works right now are these modes (assuming you configured some preferred languages)
SubMode "Full Subtitles" + "Only with matching language" checked (the default configuration)
- When there is a track matching your preferred language, it'll be selected.
- If there is more then one matching your language, the one with "default" is preferred
- Otherwise, no subtitles will be selected.
SubMode "Full Subtitles" + "Only with matching language" NOT checked
- When there is a track matching your preferred language, it'll be selected.
- If there is more then one track, the one with "default" is preferred
- If there was no "default", and no track matching the language, the first track is selected
SubMode "Only Forced" + "Only with matching language" checked
- When there is a track marked "forced" matching your preferred language, it'll be selected.
- Otherwise, no subtitles will be selected.
SubMode "Only Forced" + "Only with matching language" NOT checked
- When there is a track marked "forced" matching your preferred language, it'll be selected.
- If there was no track matching your language, the first stream marked "forced" will be selected
- Otherwise, no subtitles will be selected.
SubMode "No Subtitles"
- You get no subtitles.
What i am proposing is an option to simply add streams marked as "default" to the same logic as "forced" subs, so it would go like this, basically:
SubMode "Only Forced" + "Only with matching language" NOT checked + "Treat DEFAULT like FORCED" checked
- When there is a track marked "forced" OR "default" matching your preferred language, it'll be selected.
- If there was no track matching your language, the first stream marked "forced" OR "default" will be selected
- Otherwise, no subtitles will be selected.
This would give you the result you want. If there is a track "forced", it'll be used. If there is a track "default", it'll be used. If not, you don't get subtitles.
Anyway, i'm falling asleep now. :D
pankov
14th August 2011, 00:45
nev,
thank you very much for the detailed explanation.
The case I used was somewhat theoretical so you should add such an option only if others really need it. For me it's not that important.
STaRGaZeR
14th August 2011, 01:34
The "default" flag only controls which subtitle is loaded, it does not control wether a subtitle is loaded.
Indeed. So what happens if all tracks have their default flags explicitly set to "no"? Which one should the splitter load? Following what you just said: none should be loaded (and that means no subtitles pin). This is the only case I have problems with. Right now, if there's no default LAVS justs loads the first one, and that is what doesn't make sense IMO. Why the first and not the second, or none? Does the spec say anything specific about this case?
I thought that if I don't mark any track as forced or default none will be loaded by default, but they will still be available for selection through the UI.
Dunno about the forced flag as I don't use it (there are no forced tracks in most MKVs out there, default is "no" for all tracks), but that's exactly what Haali does with the default flag, and what I think it should be done.
SubMode "Full Subtitles" + "Only with matching language" checked (the default configuration)
- When there is a track matching your preferred language, it'll be selected. Preferred list is empty.
- If there is more then one matching your language, the one with "default" is preferred Preferred list is empty.
- Otherwise, no subtitles will be selected. Previous two lines are false, so this one should be honored. Not the case, LAVS picks the first track, even if there is no default track.
SubMode "Full Subtitles" + "Only with matching language" NOT checked
- When there is a track matching your preferred language, it'll be selected. Preferred list is empty.
- If there is more then one track, the one with "default" is preferred. None is preferred.
- If there was no "default", and no track matching the language, the first track is selected. Exactly.
As you can see, both options yield the same result in the case I describe, even thou the first one (default) shouldn't select any of the tracks by your own words.
To make my point stronger: if there are no defaults that means the user has explicitly set them to no, because if the option "default" is used in all tracks (and this is the default option), mkvmerge sets the default flag to yes in the first track, and to no in the others. This guarantees that without direct and intentional user intervention the first track will be loaded regardless.
Proposition: if no defaults are found, don't select any. Everything else untouched. Nice and easy :p
Now my head is spinning after so many defaults :S
SamuriHL
14th August 2011, 01:36
I understood him just fine, and like i explained, "default" does NOT control IF a subtitle is loaded, it just controls WHICH is loaded.
IF a subtitle is loaded is controlled with the "forced" flag.
The matroska spec defines the "default" stream to be used for the subtitle if no stream was found that matched the users language preferences (iow, the default, if no specific match exists). It does not mention anything else.
Like i also said, i can add an option to treat default the same as forced, even though i think its silly. :p
OPTIONAL, maybe. I do not want this behavior. I want your interpretation of the spec because it's correct. We need more players that understand this and do the right thing when presented with this information instead of forcing subs on when they shouldn't be. Default != forced is the correct interpretation of the spec as I understand it, as well.
EDIT: I've read through more posts since replying. I get what they're saying I guess. If none are default or forced, then no subtitle should be selected. That's correct.
STaRGaZeR
14th August 2011, 01:44
EDIT: I've read through more posts since replying. I get what they're saying I guess. If none are default or forced, then no subtitle should be selected. That's correct.
Bingo.
SamuriHL
14th August 2011, 01:47
Yea, I see what you're saying now. I'm not sure if Nev will agree or not. I don't know what the spec says about that case. But, the behavior you've outlined (that there should be no subtitle selected) is most likely the correct one. So this should probably at least be an option somehow. For me, I'm with Nev...I generally don't use subs unless they're forced unless I'm watching a foreign martial arts movie. But in any case, I agree there's room for improvement. Nev is right that any default settings he makes aren't likely to satisfy everyone, but, I do see the need that you guys are asking for.
roytam1
14th August 2011, 03:18
Another crash issue:
Get Microsoft's GraphEdit tool. Try inserting a filter through its menu. It will crash when expanding the DirectShow filters list.
The cause is having too many mediatypes defined for the input pin of the filter. The max that GraphEdit supports is around 115.
(tested with GraphEdit build 090714 (http://www.digital-digest.com/software/download.php?sid=82&ssid=0&did=1))
MS GraphEdit from DXSDK 9 has no problem at the moment (since LAVVideo has only 111 media types), I think it was enbugged in DXSDK 10.
roytam1
14th August 2011, 03:44
And for clips that change its resolution during playback (or resolution probed by avcodec is different from the metadata), LAV Video did cause a ErrorAbort() and pausing the graph (GraphEditPlus can show eventlog)
Sample: http://roy.orz.hm/samples/rv30_chroma_drift.rm (It encoded by RealProducer Plus 8.51 and cropped with RealMedia Editor bundled with RealProducer)
Eventlog from MPC-HC codecs:
10:36:19.414: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
10:36:19.414: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
10:36:30.695: ClockChanged (13), param1=0 (0x0), param2=0 (0x0)
10:36:30.711: Paused (14), param1=0 (0x0), param2=0 (0x0)
10:36:38.117: Complete (1), param1=0 (0x0), param2=0 (0x0)
Eventlog from LAV filters:
10:36:56.367: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
10:36:56.367: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
10:37:08.508: ClockChanged (13), param1=0 (0x0), param2=0 (0x0)
10:37:08.742: ErrorAbort (3), param1=-2147220950 (0xFFFFFFFF8004022A), param2=0 (0x0)
10:37:08.742: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
10:37:08.742: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
10:37:08.742: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
10:37:22.570: Paused (14), param1=0 (0x0), param2=0 (0x0) // <--- I hit stop button and then click play button again to start the graph
10:37:30.023: Complete (1), param1=0 (0x0), param2=0 (0x0)
JustinChase
14th August 2011, 04:45
Proposition: if no defaults are found, don't select any. Everything else untouched. Nice and easy :p
Now my head is spinning after so many defaults :S
I'm also tired, and a bit confused, but I don't see a downside to the above suggestion.
CruNcher
14th August 2011, 09:03
Here is a new build of the latest code, i consider this a release candidate for the next version - only some minor things to do, i hope everything else works acceptable.
http://files.1f0.de/lavf/LAVFilters-0.32-rc.zip
http://files.1f0.de/lavf/LAVFilters-0.32-x64-rc.zip
As always, please report bugs and regression with as much detail as possible, sample files greatly help to reproduce and fix issues.
Most notable changes since last build:
- LAV Video now directly refuses VC-1 interlaced material
- Seeking enhancements for MPEG2 and VC1
- Performance enhancements for high-bitdepth material
- RGB conversion is now done with the proper color matrix
- Support for creating thumbnails in explorer/WMP
Black Screen on alot of Formats with this newer builds (those with the advanced colorspace config) like on Video: VP6F 1024x768 30.00fps 20kbps works with the Lav Splitter + MPC Video Decoder (low merrit) or ffdshow just fine. (VMR9 Renderless + Yuv Mixing) Geforce 460 GTX 280.19 Forceware
Qaq
14th August 2011, 09:27
I'm having trouble getting out uncompressed sound to my headphones through my soundcard Asus Xonar Essence ST. The card supports 192KHz/24 PCM. I've tried putting the dtsdecoderdll.dll in the same folder as the LAV-filters but without success. I've enabled all kind of things in bitstreaming etc. but I get no sound.
Is it because my soundcard can't transform the DTS HD-MA 5.1-track to PCM while using bitstream?
Uncheck all the 'bitstream' options if you output to Xonar. You only need bitstream with Xonar (DD, DTS only) if you output THROUGH Xonar over S/PDIF to some AVR. And yes, Xonar can't transform the DTS HD-MA, Dolby TrueHD, DD, DTS - anything but plain PCM.
nevcairiel
14th August 2011, 10:40
Black Screen on alot of Formats with this newer builds (those with the advanced colorspace config) like on Video: VP6F 1024x768 30.00fps 20kbps works with the Lav Splitter + MPC Video Decoder (low merrit) or ffdshow just fine. (VMR9 Renderless + Yuv Mixing) Geforce 460 GTX 280.19 Forceware
Sample files, or i'll just assume you're talking out of your ass. :p
nevcairiel
14th August 2011, 10:51
And for clips that change its resolution during playback (or resolution probed by avcodec is different from the metadata), LAV Video did cause a ErrorAbort() and pausing the graph (GraphEditPlus can show eventlog)
Sample: http://roy.orz.hm/samples/rv30_chroma_drift.rm (It encoded by RealProducer Plus 8.51 and cropped with RealMedia Editor bundled with RealProducer)
Eventlog from MPC-HC codecs:
10:36:19.414: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
10:36:19.414: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
10:36:30.695: ClockChanged (13), param1=0 (0x0), param2=0 (0x0)
10:36:30.711: Paused (14), param1=0 (0x0), param2=0 (0x0)
10:36:38.117: Complete (1), param1=0 (0x0), param2=0 (0x0)
Eventlog from LAV filters:
10:36:56.367: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
10:36:56.367: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
10:37:08.508: ClockChanged (13), param1=0 (0x0), param2=0 (0x0)
10:37:08.742: ErrorAbort (3), param1=-2147220950 (0xFFFFFFFF8004022A), param2=0 (0x0)
10:37:08.742: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
10:37:08.742: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
10:37:08.742: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
10:37:22.570: Paused (14), param1=0 (0x0), param2=0 (0x0) // <--- I hit stop button and then click play button again to start the graph
10:37:30.023: Complete (1), param1=0 (0x0), param2=0 (0x0)
I cannot reproduce any of your issues, the file plays just fine, no matter what i do. :)
roytam1
14th August 2011, 11:00
I cannot reproduce any of your issues, the file plays just fine, no matter what i do. :)
Did you ever try using GraphEditPlus to render that file?
nevcairiel
14th August 2011, 11:03
Did you ever try using GraphEditPlus to render that file?
Sure, same result as in GraphStudio.
12:02:43.007: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
12:02:43.008: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
12:03:04.163: ClockChanged (13), param1=0 (0x0), param2=0 (0x0)
12:03:04.240: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
12:03:04.240: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
12:03:04.240: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
12:03:04.244: Paused (14), param1=0 (0x0), param2=0 (0x0)
12:03:11.783: Complete (1), param1=0 (0x0), param2=0 (0x0)
pankov
14th August 2011, 11:06
guys,
which version of GraphStudio do you use?
The latest one that I've found is 0.3.2.0 - Beta from 14/June/2009.
Is there anything newer?
roytam1
14th August 2011, 11:15
Sure, same result as in GraphStudio.
12:02:43.007: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
12:02:43.008: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
12:03:04.163: ClockChanged (13), param1=0 (0x0), param2=0 (0x0)
12:03:04.240: VMRRenderDeviceSet (83), param1=2 (0x2), param2=0 (0x0)
12:03:04.240: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
12:03:04.240: VideoSizeChanged (10), param1=31458144 (0x1E00360), param2=0 (0x0)
12:03:04.244: Paused (14), param1=0 (0x0), param2=0 (0x0)
12:03:11.783: Complete (1), param1=0 (0x0), param2=0 (0x0)
Then it must be compatibility issue between Windows XP and LAV Video decoder.
I can't test for Vista/7 as I don't have it now.
CruNcher
14th August 2011, 11:33
Sample files, or i'll just assume you're talking out of your ass. :p
Im not sure if that would help as it seems renderer related on VMR7/VMR9 windowed and VMR7 Renderless it works but with the older builds it works also in VMR9 Renderless with the newer ones it doesn't anymore H.264 doesn't seem to be affected only several formats like Bink .bik,VP6F in form of .flv (still testing)
My major guess would be your Videoinfoheader change maybe ?
- Support for creating thumbnails in explorer/WMP
Yep .avi files (@ least with the default AVI Spliiter + Lav Video) are also playing crazy now with VMR9 Renderless
Video: Xvid 1920x1080 23.98fps = Black Screen
also with Lav Splitter a Black Screen changing to VMR7 Renderless works also here (turning of MPC-HCs Video Frame settings has also no effect (Normal Size)
It seem every .avi too broke with VMR9 Renderless now and Lav Video (symptoms perfectly fit to a VideoInfoHeader code change)
Working with Lav Video + VMR9 Renderless
.mp4
.mkv
.3gp
.mov
.m2ts
.ts
.wmv
.m2v
.vob
.mpg
Black Screen with Lav Video + VMR9 Renderless (working with other Renderer)
.avi
.flv
.bik
.webm
nevcairiel
14th August 2011, 11:53
I think it was something else, try this build:
http://files.1f0.de/lavf/LAVFilters-0.32-rc2.zip
CruNcher
14th August 2011, 12:42
What the hell after playing now 100 of times different clips it suddenly works with VMR9 Renderless (though i also changed some settings here and their but mostly only chain related Lav Video playback formats ect)
I think it was something else, try this build:
http://files.1f0.de/lavf/LAVFilters-0.32-rc2.zip
ill try but first i restart :D
OK just to make sure im not crazy i restarted and tried again (with all those chain related changes) and again black screen on VMR9 Renderless (puhh) ;) then i unregistered the RC and registered the RC2 and tried again no Black Screen anymore :) (so it seems fixed i try some files more to be absolute sure)
But could you please say what it was i mean it suddenly started to work (like i forced it to brake) ? (scary)
PS: Wow MjpegB works also 4:2:2 Studio Profile without any Render setting problems (just works and it gets correct Deinterlaced before only Mainconcept did this) http://forum.doom9.org/showpost.php?p=1518850&postcount=17995 :)
Nev please just the Lav Cuvid to Lav Video fallback for 4:2:2 Mpeg-2 now (adios Mainconcept and all its DXVA issues with lav splitter) :D
zipi
14th August 2011, 13:42
I'm sure its the best option for me, and thats what counts. :)
32fp is exactly how the decoder outputs it, and any conversions will degrade the quality, obviously. Therefor, conversions should be done at the very last step, and at least the Win7 Audio Mixer is capable to properly convert 32fp to 16 or 24bit int. If you use XP, that depends on your audio driver - well i guess those can be broken.
PS:
Every modern AVR supports 24-bit audio as well.
PPS:
An option to force a specific sample format is however planned, check Issue 10 on the tracker.
Glad to see you changed your mind about this since I 1st brought it up.
I see the tracker states:
Implementation Notes:
Auto detection? Configuration?
If I may share my 2 cents, the most important thing is that the default output format will be Int, & FP can be selected by advanced users, this way, the risks I mentioned before can be avoided.
Thanks for this, & all the great work you do.
SamuriHL
14th August 2011, 17:11
Nev, I don't have time to pretty up the descriptions on the installer script. Real work is getting in the way this week and I won't have time to work on it. I opened an issue on the tracker (issue 62...defect, sigh...not what I meant to select for an issue type) and attached the script I have with a TODO list of what might be improved. The script works and creates a usable installer that handles LAV Video and allows you to select the defaults in the installer. I hope this helps!
nevcairiel
14th August 2011, 17:50
Thanks, i'll have a look soon.
SamuriHL
14th August 2011, 17:57
NP. Glad I could help out. It's nothing anyone with a text editor couldn't have done, but, I'm hoping it saves you some editing time at least. :)
http://www.mediafire.com/file/7y3uxozouuqmasy/LAVFilters-0.32-RC.exe
For those that want the latest with an installer...
STaRGaZeR
14th August 2011, 18:21
More observations regarding subtitles, this time with Blu-ray sources: with default splitter settings, playing a m2ts file directly from the disc (or using the matching playlist) results in the first subtitle track being selected and displayed, which is usually the full english track. I guess this is the same situation as with MKVs, no forced tracks, no default tracks, LAVS picks the first. Needless to say that seeing full subtitles by default is not pleasant, nor logical. The "only forced subs" and "no subtitles" options are not a solution, since they ignore default flags, messing up everything that has them.
My proposition is still the same: if none of the tracks are preferred/forced/default, don't pick any.
nevcairiel
14th August 2011, 18:25
Blu-rays never have any flags on their subtitles, only MKVs have those.
Like i explained earlier, its just a default setting, and you could ask 100 people, and everyone would favor different default settings, therefor i will not argue about the default settings. Thats why its configurable, so people can switch them to something they like.
I also explained that the "default" flag does *NOT* specify IF a track should be played, it just specifys *WHICH* track should be played if its present (but i also offered to add an option to treat them like that, basically treating them like "forced")
The default mode selects always the first track because you haven't told it what language you want. Enter a language code, and it'll select that languages track, or if its not found, no track at all.
Somehow i feel like you didn't even bother to read my posts completely.
pankov
14th August 2011, 18:45
nev,
if "default" specifies *WHICH* and none is marked as such this means "none" not "the first" - after all to have such a file the user had to explicitly set all tracks to "not default" so such files are intentional.
I think this makes sense.
After all why is "first" more important than "second" if the user has not set any preferences?
Carpo
14th August 2011, 18:47
anyone manage to get thumbnails working with lav ? tried the regedit that was suggest a few posts back still no luck, not an overly big issue :)
Kalekulan
14th August 2011, 18:51
I'm having trouble getting out uncompressed sound to my headphones through my soundcard Asus Xonar Essence ST. The card supports 192KHz/24 PCM. I've tried putting the dtsdecoderdll.dll in the same folder as the LAV-filters but without success. I've enabled all kind of things in bitstreaming etc. but I get no sound.
Is it because my soundcard can't transform the DTS HD-MA 5.1-track to PCM while using bitstream?
Is there someone who can help me?
nevcairiel
14th August 2011, 19:21
After all why is "first" more important than "second" if the user has not set any preferences?
Its not, but alot of files are most of the time muxed with the more important track at the first position, and i have to select something.
if "default" specifies *WHICH* and none is marked as such this means "none" not "the first" - after all to have such a file the user had to explicitly set all tracks to "not default" so such files are intentional.
I disagree. WHICH means "which track", and "none" is not a track. IF specifys if "any track" or "none" is selected.
The subtitle mode "Full subtitles" means that you want subtitles to be shown. If you configured a language, it'll select a stream matching that language. If a track is marked "default", it'll use that.
If you did not configure a language, it'll either select the track marked "default", or the first one, because "full subtitles" means that you want subtitles.
"Default" is not always on. By default, its off. You actually manually have to flag tracks like that. Well, i guess that depends on the tool you're using, but most mkvs i have do not have any flags.
I explained this before: "Forced" does what you think "default" should do. "Forced" indicates if a stream should be always activated, thats not the meaning of the "default" flag.
I have also offered to add a new setting which would make LAV Splitter treat "default" the same as "forced".
And with this post, the discussion ends for me. We'll just have to agree to disagree.
I can add the option i've proposed, which would make it behave exactly like you want, but for some reason you either don't understand that, or you cannot express what you really want.
I will not change the default configuration at this point. I don't think its too much to ask for your to change the configuration. :p
pankov
14th August 2011, 19:52
I apologize for taking so much of your time on such a small issue.
I'll try one more time to explain what I want but if it's not clear enough I won't bother you again
I explained this before: "Forced" does what you think "default" should do. "Forced" indicates if a stream should be always activated, thats not the meaning of the "default" flag.
both "forced" and "default" are "positive" settings - they define what should happen when they are set to "true" but don't define what should happen when they are set to "false" and that's the situation we (with STaRGaZeR) are talking about.
In the following scenario:
I have a movie with a single Chinese subs track which is intentionally marked as "not default". I've configured LAV Splitter to "Full Subtitles", "only with matching language" unchecked and "bul" as preferred subs language. Now when I play the movie the Chinese subs are shown and they definitely interfere because I have absolutely no clue of Chinese. In this situation I prefer no subtitles.
I haven't enable "only with matching language" because in some cases (languages) the default track is the "forced subs" track in the language of the movie (mostly English) and I'd like to have at least them if there aren't any Bulgarian subs.
Can I accomplish this with the current configuration options?
nevcairiel
14th August 2011, 20:08
Right now, you cannot do this.
The problem is that people interpret the flags like they understand them, so even when LAV Splitter follows the spec, files will still be weird.
I doubt it'll ever be able to automatically select all subs perfectly fine. Some files don't even have languages assigned to their streams.
I've been thinking about some smart configuration syntax for subtitles, so you could input a string like this:
"bul:always;eng:default;eng:forced"
Which basically means: "Always use "bul" subs, only use "eng" subs when they are marked default, or marked forced"
As an alternative, could input something like this:
"bul:always;*:default;*:forced" -- "Always use "bul" subs, use all other languages if they are default or forced."
Would that make sense? Would people understand how to use it?
Allowing the same flexibility like this through checkboxes will be quite annoying to pull off.
SamuriHL
14th August 2011, 20:11
Hmm, that'd be neat. As long as it's well documented I think it should be something that's useful. Just keep the "defaults" as they are now and 99% of the people won't have any problems. But this does seem like it'd allow that 1% (warning: pulling % out of Samuel Clemens' nether regions) to tweak to their heart's content. Nice compromise.
glorp
14th August 2011, 20:16
Right now, you cannot do this.
The problem is that people interpret the flags like they understand them, so even when LAV Splitter follows the spec, files will still be weird.
I doubt it'll ever be able to automatically select all subs perfectly fine. Some files don't even have languages assigned to their streams.
I've been thinking about some smart configuration syntax for subtitles, so you could input a string like this:
"bul:always;eng:default;eng:forced"
Which basically means: "Always use "bul" subs, only use "eng" subs when they are marked default, or marked forced"
As an alternative, could input something like this:
"bul:always;*:default;*:forced" -- "Always use "bul" subs, use all other languages if they are default or forced."
Would that make sense? Would people understand how to use it?
Allowing the same flexibility like this through checkboxes will be quite annoying to pull off.
Yes, absolutely :)
And include the keyword "off" too for language matching like outlined in tracker item #29
:thanks:
nautilus7
14th August 2011, 20:19
While you are on this...
I am Greek, so if a movie has foreign audio (anything but Greek), I want to have subs displayed (in Greek). If a movie has Greek audio track, I want to have no subs enabled at all, or (if there is available) a Greek sub track marked as "forced".
Can I achieve this?
pankov
14th August 2011, 20:21
nev,
your example for "smart configuration syntax for subtitles" looks great and I like it very much.
This will allow every advanced user to do what he likes and if you keep the defaults (omitting the ":xxxxx") as the current ones it will be enough for the less advanced users.
I think we don't need checkboxes for this.
nevcairiel
14th August 2011, 20:27
Thats a whole different topic, contextual selection based on the available audio...
DISCLAIMER: The contents of this post are ideas, and do not work like this (yet)
I guess i'll have to think about that a lot how to combine the two things.
Starting simple:
gre:off;*:gre
This is basically what Haali allows you to do, specify audio:subtitle pairs.
This configuration would get your Greek audio with no subs, or any audio with greek subs.
Now, how to add the forced subs into the logic?
gre:gre(f);*:gre
gre:gre(forced);*:gre
gre:gre|f;*:gre
gre:gre|forced;*:gre
Does any of that look sane to anyone? Syntax ideas?
In addition to "forced", there would of course also be "default" (or "d")
pankov
14th August 2011, 20:31
All of them look sane to me.
It's only a syntax - we'll learn it
;)
glorp
14th August 2011, 20:34
Does any of that look sane to anyone?
It's perfectly fine with me. It will certainly accomplish what I would like as well as provide more granular control over subs selection. I would just ask that if the "off" functionality is implemented then the keyword ought to override any other subs flag (forced/default, etc). That's really what I'd like to see.
nevcairiel
14th August 2011, 20:36
It's perfectly fine with me. It will certainly accomplish what I would like as well as privde more granular control. I would just ask that if the "off" functionality is implemented then the keyword ought to override any other subs flag (forced/default, etc). That's really what I'd like to see.
If you use the advanced syntax, it'll only use the rules specified in there, there won't be any other rules anymore. So "off" means "off"
If i implement this, i'll probably just write a small bit of code so that the checkboxes and all that just produce a string in advanced syntax, so that i don't have to build duplicated code. ;)
Thunderbolt8
14th August 2011, 20:37
would this also allow exclusion like always having the default or english track enabled, unless the main audio is flagged as german? or can I already do this with the current version of lavsplitter?
nevcairiel
14th August 2011, 20:37
would this also allow exclusion like always having the default or english track enabled, unless the main audio is flagged as german? or can I already do this with the current version of lavsplitter?
It would allow it - and you cannot do that right now.
Thunderbolt8
14th August 2011, 20:40
then I approve :p
nautilus7
14th August 2011, 20:41
Perfectly fine (and sane off course) with me. Looking forward.
glorp
14th August 2011, 20:45
If you use the advanced syntax, it'll only use the rules specified in there, there won't be any other rules anymore. So "off" means "off"
If i implement this, i'll probably just write a small bit of code so that the checkboxes and all that just produce a string in advanced syntax, so that i don't have to build duplicated code. ;)
Perfect! I think your idea does everything Haali's can do and goes at least one better by providing granularity over the individual flags as well. I'd for sure get rid of the checkboxes and sub mode options and just rely on this one option. Haali has both and doesn't tell you anywhere that the 'selection string' option overrides all the others. It gets totally confusing trying to configure all its options until you realize that.
nautilus7
14th August 2011, 20:46
Nev, since you 're in a good mood today, I 'll ask another thing. :p
If I have a movie with an audio track named for example "Director's Commentary" could it be possible to autoselect a subtitle track named also "Director's Commentary" regardless language?
nevcairiel
14th August 2011, 21:01
Nev, since you 're in a good mood today, I 'll ask another thing. :p
If I have a movie with an audio track named for example "Director's Commentary" could it be possible to autoselect a subtitle track named also "Director's Commentary" regardless language?
Thats really too much of a edge case to do, sorry.
nautilus7
14th August 2011, 21:02
I thought so. No problem. :)
STaRGaZeR
15th August 2011, 00:28
Blu-rays never have any flags on their subtitles, only MKVs have those.
Like i explained earlier, its just a default setting, and you could ask 100 people, and everyone would favor different default settings, therefor i will not argue about the default settings. Thats why its configurable, so people can switch them to something they like.
I also explained that the "default" flag does *NOT* specify IF a track should be played, it just specifys *WHICH* track should be played if its present (but i also offered to add an option to treat them like that, basically treating them like "forced")
The default mode selects always the first track because you haven't told it what language you want. Enter a language code, and it'll select that languages track, or if its not found, no track at all.
Somehow i feel like you didn't even bother to read my posts completely.
So it's the same case after all: LAVS doesn't know which one to select, so it picks the first one.
It seems you still don't get it: it's not about the default settings, settings can be changed. It's about something we can't do (which happens to be the default in other splitters, nothing else), even with your proposed new option. Haali and MPC's internal splitter work like we say, for a reason. Also your new option would work only for MKVs. Files with no flags like (m2)ts will still display subtitles.
Why should I enter a language? I don't want any. I don't want any smart selection of anything.
Please don't be an ass, we read all your posts. In fact I could say it's the other way around, as you haven't specifically responded to the two key cases we have mentioned, and those are the only ones that need attention:
1) MKV. 4 subtitle tracks. All of them flagged as no forced. All of them flagged as no default. Why pick the first one? I don't want any specific language. In fact I want no subs at all, that's why the flags are like that.
2) M2TS (Blu-ray), or any other file without flags. 30 subtitle tracks. No flags. Why pick the first one? I don't want any specific language. In fact I want no subs at all.
Haali (for MKV and M2TS) and MPC's internal (for M2TS) do this by default. LAVS cannot, default or not. Your proposed option "fixes" 1), doesn't solve 2).
"Default" is not always on. By default, its off. You actually manually have to flag tracks like that. Well, i guess that depends on the tool you're using, but most mkvs i have do not have any flags.
"Default" means no unless all the other tracks are no, in that case it means yes. If at least one track is muxed with "default" OR "yes", in the file there'll be a default flag set to "yes", guaranteed. This is with mkvmerge, the "official" tool. Try it if you want.
So back to Haali I guess, having to manually turn off subtitles with every MKV("no" flags everywhere)/Blu-ray negates all the advantages the splitter has.
nevcairiel
15th August 2011, 00:42
If you want no subs at all, why don't you configure lav splitter just that way?
I dont get wtf your problem is. There is an option to never select any subs. There is an option to only select forced subs (if marked as such). And I offered to extend said option to do the same with the default flag. If that doesn't do what you want, I don't know what will, and you should be clearer on your requests.
Btw, there is no "no default" flag, there is only the default flag and the absence of the same. A mkv without the default flag behaves exactly the same as a bluray. The flags shown in the stream selector are exactly the ones the logic works on. There are no "yes" and "no" settings, there is just "default", or "forced", or nothing.
In the end, I don't care what anyone uses, though, so go nuts.
PS:
MPCs internal mkv splitter has no logic at all, it exports all subtitles, all the time. The comparison is kind of flawed.
roytam1
15th August 2011, 02:25
The latest git (5ae63491) is available here: http://roy.orz.hm/lavf-w32-nightlies/lavf-my110815-5ae63491.7z
It seems that the 0x8004022a issue is fixed, tested in XP SP3 in the workplace. I'll test it again when I go home.
And the "magical Color Space Converter crashing when readd default video renderer" issue seems to be fixed also (instead AVI decompressor is inserted but it don't crash anymore), except the RV20+SVT sample (two images upper and two green screen lower, gray Y/U/V splitted images are shown in 1337player, but it is far better than before).
Thanks for your great work!:thanks:
zerowalker
15th August 2011, 03:43
Don´t know if anyone has reported this issue, but i will post it anyway.
Player: Zoom Player 7
Renderer: EVR
Decoder:FFDshow tryout Latest (or some versione earlier if i missed latest)
File: MKV with X264 and AAC/OGG (maybe more?)
When i Skip back and forth, it can sometimes get stuck, with that i mean that the picture is stuck if i for example back, and audio continues until it reaches that point.
Let´s say i am at frame 1000, i then back to frame 900, but the picture is stuck at 1000, but audio is at 900 and continues till 1000 where both the video and audio "resync" and continues together.
Aleksoid1978
15th August 2011, 07:21
Hi. can't play with LAV Splitter this is file http://sharebee.com/2fc570dc
MediaInfo:
General
Format : AC-3
Format/Info : Audio Coding 3
Format profile : TrueHD / Core
File size : 30.0 MiB
Audio
Format : AC-3
Format/Info : Audio Coding 3
Format profile : TrueHD / Core
Mode extension : CM (complete main)
Muxing mode : After core data
Bit rate mode : Variable / Constant
Bit rate : Unknown / 640 Kbps
Maximum bit rate : 3 762 Kbps / 640 Kbps
Channel(s) : 7 channels / 6 channels
Channel positions: Front: L C R, Side: L R, Back: C, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossless / Lossy
Xaurus
15th August 2011, 07:25
For what it's worth, I don't use subtitles and I never see any subtitles either except forced ones (which I prefer) and I am using LAV splitter. So for me this system is perfect. Go figure.
So like nev says:
"There is an option to never select any subs. There is an option to only select forced subs (if marked as such)."
hoborg
15th August 2011, 07:55
FLAC sample (?offtopic?)
Hi.
I have one FLAC sample (http://hobring.esero.net/saf/samples/flac_sample.zip), that doesnot play correctly - only noise.
Is the sample damaged/broken or unsuported?
Even MadFLAC wont play it correctly...
nevcairiel
15th August 2011, 08:00
Hi. can't play with LAV Splitter this is file http://sharebee.com/2fc570dc
MediaInfo:
General
Format : AC-3
Format/Info : Audio Coding 3
Format profile : TrueHD / Core
File size : 30.0 MiB
Audio
Format : AC-3
Format/Info : Audio Coding 3
Format profile : TrueHD / Core
Mode extension : CM (complete main)
Muxing mode : After core data
Bit rate mode : Variable / Constant
Bit rate : Unknown / 640 Kbps
Maximum bit rate : 3 762 Kbps / 640 Kbps
Channel(s) : 7 channels / 6 channels
Channel positions: Front: L C R, Side: L R, Back: C, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossless / Lossy
Thats a TrueHD/AC3 interleaved track. Those tracks are only supported in a MPEG-TS, they are not valid as elementary streams. When demuxing, it should be split in two, one TrueHD and one AC3 track.
FLAC sample (?offtopic?)
Hi.
I have one FLAC sample (http://hobring.esero.net/saf/samples/flac_sample.zip), that doesnot play correctly - only noise.
Is the sample damaged/broken or unsuported?
Even MadFLAC wont play it correctly...
I get loads of log errors when playing that file, and of course the noise. It would appear someone encoded the noise. :)
Or the file is plain and simple broken..
Does anything play it properly?
v0lt
15th August 2011, 10:22
Does anything play it properly?
foobar 2000
Someone encoded DTS-WAV in FLAC. Perverts! :D
hoborg
15th August 2011, 10:27
foobar 2000
Someone encoded DTS-WAV in FLAC. Perverts! :D
Me not, i didnt make it! :D
Midzuki
15th August 2011, 16:19
Me not, i didnt make it! :D
Many moons ago, and only for testing and learning purposes, I :devil: did it :) :p :D
It's called "DTS-LD Monster Audio" ;) :rolleyes:
STaRGaZeR
15th August 2011, 18:26
If you want no subs at all, why don't you configure lav splitter just that way?
I dont get wtf your problem is. There is an option to never select any subs. There is an option to only select forced subs (if marked as such). And I offered to extend said option to do the same with the default flag. If that doesn't do what you want, I don't know what will, and you should be clearer on your requests.
Btw, there is no "no default" flag, there is only the default flag and the absence of the same. A mkv without the default flag behaves exactly the same as a bluray. The flags shown in the stream selector are exactly the ones the logic works on. There are no "yes" and "no" settings, there is just "default", or "forced", or nothing.
Because that's not what I want. *sigh*
Let me put it again in one compact sentence: I want LAVS default behavior (Full subtitles, only with matching language on) BUT instead of selecting the first track when it finds no matches (no preferred languages in the list, no forced flags in MKV, no default flags in MKV, or no flags at all like in M2TS), select the "none" track.
Alternative compact sentence: I want LAVS to always disable subtitles UNLESS: there is a preferred language in the list, there is a forced flag or there is a default flag.
Both are really the same. They can't be accomplished with any combination of settings in LAVS right now, nor with your new setting. And if there is, I just can't find it. I hope I've been cristal clear this time around.
PS:
MPCs internal mkv splitter has no logic at all, it exports all subtitles, all the time. The comparison is kind of flawed.
I didn't say anything about MPC's internal MKV splitter. I said Haali (for MKV and TS) and MPC's internal (for TS) ;)
nevcairiel
15th August 2011, 18:55
You're right, you cannot do that right now.
If you read the last pages, then you see the new advanced selection syntax i proposed, somewhat modelled after Haalis syntax, but with more features.
Anyhow, with it you would easily be able to do that, and i might even change the "simple" setup controls to have a bit smarter behaviour (allowing what you want it to do). The whole selection logic is a bit convulted right now, and needs some cleanup to be more adaptable.
One thing puzzles me, though. You don't configure any language, but you still expect the "default" stream to show up? And the forced stream? How is it supposed to select the proper forced stream, in case there is more then one?
Without a language preference, it really is only guesswork which stream is right. Sure, it can go with the "default" stream, or the first "forced" stream, but unless you configure languages, it'll never be 100%.
Anyway, i won't be doing small adjustments to the logic now, i rather schedule a full logic rewrite for one of the future versions.
VipZ
15th August 2011, 21:37
Nev, maybe you can give more info on this, was playing my Transformers 2 Bluray via index.bdmv and choose the Forced Subtitles (auto) option, every time this immediately crashes mpc. I just leave LAV splitter at defaults.
If I open the M2TS directly, this option doesn't crash MPC
Thanks
nevcairiel
15th August 2011, 21:41
Nev, maybe you can give more info on this, was playing my Transformers 2 Bluray via index.bdmv and choose the Forced Subtitles (auto) option, every time this immediately crashes mpc. I just leave LAV splitter at defaults.
If I open the M2TS directly, this option doesn't crash MPC
Thanks
That only happens on that one disc?
I have that movie on Blu-ray, and nothing crashes. Does it happen always, even when no subs are currently showing, like at the beginning? If yes, that doesn't make any sense. :p
VipZ
15th August 2011, 21:52
That only happens on that one disc?
I have that movie on Blu-ray, and nothing crashes. Does it happen always, even when no subs are currently showing, like at the beginning? If yes, that doesn't make any sense. :p
Also happens on my A-Team and Zombieland Blu-ray's. Seems to be any Blu-ray I test.
EDIT: Nope, it seems to only crash when subtitles would be showing or around it. It doesn't crash in intro or credits. If I switch to it when in credits or intro and then seek into movie, it will crash.
nevcairiel
15th August 2011, 22:10
I cannot reproduce any problems. Are you using MPC-HCs internal sub renderer? VSFilter? ffdshow?
All plays fine for me, and i bet for alot of other people as well, as the feature is default on. :)
Its especially weird that it doesnt crash when you open the m2ts. There is no special handling for Blu-rays or anything.
VipZ
15th August 2011, 22:29
I use MPC x64 with internal sub renderer.
Did some more testing with your builds as well to eliminate mine as a possible issue. Its down to x64, in x86 it doesn't crash.
nevcairiel
15th August 2011, 22:47
Ah, there we go. I see why its crashing.
Apparently not many people use x64. :D
VipZ
15th August 2011, 22:51
Ah, there we go. I see why its crashing.
Cool :)
Dont worry, I will continue to use x64 and find any bugs that may exist in it :D
nevcairiel
15th August 2011, 22:57
And its fixed.
VipZ
15th August 2011, 23:00
Awesome, thanks.
BTW, aren't you meant to be on holiday ;)
nevcairiel
15th August 2011, 23:03
It was raining too much, so we got back earlier. Driving on a boat over the baltic sea isn't much fun if its raining all day.
VipZ
15th August 2011, 23:13
I can imagine that not being fun.
STaRGaZeR
15th August 2011, 23:31
One thing puzzles me, though. You don't configure any language, but you still expect the "default" stream to show up? And the forced stream? How is it supposed to select the proper forced stream, in case there is more then one?
Without a language preference, it really is only guesswork which stream is right. Sure, it can go with the "default" stream, or the first "forced" stream, but unless you configure languages, it'll never be 100%.
Anyway, i won't be doing small adjustments to the logic now, i rather schedule a full logic rewrite for one of the future versions.
Since you're talking about flags, I assume you mean MKV. When watching something, the normal way is without subs. If the file has forced or default tracks it's because the guy who muxed it (in this case myself) wanted them to show up on purpose. By not configuring any language I "trust" the file, as I assume the muxer to know what he's doing. This has always worked for me. Also, configuring a language isn't an option either because I can have 2 or even 3 preferred languages, all present on the same file, which one to pick? I don't always want to see the same one, nor I want to see it all the time. So by default, no subtitles, and if the file I'm watching has flags, obey them because they are there for a reason. Then manually switching if needed/wanted, or more advanced logic if the user has special needs. It seems Haali thought the same when he designed his stuff :p
If there is more than one forced stream, then that file was muxed incorrectly in my book, as you can't force 2 or 3 subtitles at once. Of course you have to guess in this case, but since they are forced streams you have to select one, the first is the best candidate if there are no languages set. Now, if there are no forced or default streams, I realize that the muxer wanted to have subs there, but disabled by default. In the end, there is no other way to do it.
As you wish, will be waiting for it so I can finally say goodbye to good ol' Haali.
Now to another "issue". Is it normal for swscale to convert to RGB32 this (http://img402.imageshack.us/img402/9533/lavvrgb32.png) bad? When I was messing with ffdshow I came up with the same thing, but assumed it was because of the point scaling used there. However in LAV Video you use SWS_BICUBIC... this (http://img263.imageshack.us/img263/3103/ffdshowrgb32.png) is ffdshow's RGB32HQ for comparison.
nevcairiel
15th August 2011, 23:38
"forced" in my book indicated subtitles that should always be shown to understand the movie, like alien languages. Those subtitles can of course be present in multiple languages, and on Blu-ray typically are - so when i convert the Blu-ray to an MKV, i might have two or more tracks with the "forced" flag, perfectly valid IMHO.
Regarding RGB32, i think swscale has a "special" converter for YV12 to RGB32 that does some cheap scaling.
Do you happen to have a short sample movie with such a red-to-black contrast that shows the problem clearly, so i can run some tests?
Edit:
NVM, found a good sample.
nevcairiel
16th August 2011, 00:04
Here its two images of a red-on-black, the default swscale 4:2:0->RGB conversion, and a better one with a bunch of different flags. Apparently swscale is capable, its just hidden behind loads of flags, who knows why.
"Bad"
http://files.1f0.de/bad.png
"Better"
http://files.1f0.de/better.png
This is a 300% zoom.
I did not test how much more performance this needs, but i'll test and if its significant, add a checkbox for that, i guess.
Here is a build:
http://files.1f0.de/lavf/LAVFilters-0.32-rc3.zip
sneaker_ger
16th August 2011, 00:32
If there is more than one forced stream, then that file was muxed incorrectly in my book, as you can't force 2 or 3 subtitles at once. Of course you have to guess in this case, but since they are forced streams you have to select one, the first is the best candidate if there are no languages set. Now, if there are no forced or default streams, I realize that the muxer wanted to have subs there, but disabled by default. In the end, there is no other way to do it.
"forced" in my book indicated subtitles that should always be shown to understand the movie, like alien languages. Those subtitles can of course be present in multiple languages, and on Blu-ray typically are - so when i convert the Blu-ray to an MKV, i might have two or more tracks with the "forced" flag, perfectly valid IMHO.
nevcairiel is correct, the Matroska spec explicitly allows multiple forced tracks and says that the user preference shall be selected in such a case.
Something along the lines of post #4667 would be a big improvement over the current situation. Then you can just disable subtitles for dubs you understand and activate for those you don't.
STaRGaZeR
16th August 2011, 01:45
Regarding RGB32, i think swscale has a "special" converter for YV12 to RGB32 that does some cheap scaling.
Not as smooth as ffdshow's but a lot better (http://img268.imageshack.us/img268/4848/lav2e.png), I can't tell the difference without looking at 10 cm of the screen. CPU utilization is significantly higher, from 25-30% to 35-45% playing ~35mbps H.264 Blu-ray on a 4.5GHz 2500K. Have you run any tests comparing bilinear, bicubic, lanczos, etc.?
"forced" in my book indicated subtitles that should always be shown to understand the movie, like alien languages. Those subtitles can of course be present in multiple languages, and on Blu-ray typically are - so when i convert the Blu-ray to an MKV, i might have two or more tracks with the "forced" flag, perfectly valid IMHO.
It is of course valid, but what happens when you're going to play the file and the splitter doesn't know what language (between English and native for example) you want to hear this particular time? What happens if I don't want to see the subs, even if I don't understand what they're saying? Since both are forced at least one of them must be played, so I'm screwed. The forced flag is a dangerous one, I would only use it for the video track (just in case it wasn't obvious :D).
nevcairiel is correct, the Matroska spec explicitly allows multiple forced tracks and says that the user preference shall be selected in such a case.
Something along the lines of post #4667 would be a big improvement over the current situation. Then you can just disable subtitles for dubs you understand and activate for those you don't.
Yes, that's why I said in my book. But the spec doesn't tell you what to do when there is no such preference, and when there is no default flag. Also the whole paragraph is filled with "should", not "must". So basically if there are 2 or more forced tracks you can do whatever you want as long as you pick at least one, as the spec doesn't force anything on you.
There's one MUST in the forced flag description, but you are free to do whatever you want with the default flag. And here comes the problem, everyone wants to do different things with it :p
And yes, that would be great. More control is always a good thing.
Track Flags
Default flag
The "default track" flag is a hint for the playback application and SHOULD always be changeable by the user. If the user wants to see or hear a track of a certain kind (audio, video, subtitles) and she hasn't chosen a specific track then the player SHOULD use the first track of that kind whose "default track" flag is set to "1". If no such track is found then the first track of this kind SHOULD be chosen.
Only one track of a kind MAY have its "default track" flag set in a segment. If a track entry does not contain the "default track" flag element then its default value "1" is to be used.
Forced flag
The "forced" flag tells the playback application that it MUST display/play this track or another track of the same kind that also has its "forced" flag set. When there are multiple "forced" tracks, the player should decide on the language of the forced flag or use the default flag if no track matches the use languages. Another track of the same kind without the "forced" flag may be use simultaneously with the "forced" track (like DVD subtitles for example).
Taken from here (http://matroska.org/technical/specs/notes.html).
sneaker_ger
16th August 2011, 02:23
Yes, that's why I said in my book. But the spec doesn't tell you what to do when there is no such preference, and when there is no default flag. Also the whole paragraph is filled with "should", not "must". So basically if there are 2 or more forced tracks you can do whatever you want as long as you pick at least one, as the spec doesn't force anything on you.
There's one MUST in the forced flag description, but you are free to do whatever you want with the default flag. And here comes the problem, everyone wants to do different things with it :p.
Yes, the spec is too vague about all this. I'm hesitant to actually use the forced flag, since I fear it might be interpreted like some dvd style user operation prohibition. I rather include the "forced" in the subtitle name (so a system not only allowing to choose by languages and default/forced flag but also a simple regex would be even more welcome. Sadly, more power comes with additional complexity. I guess that's why Haali not only allows pairs but also "simple" selections, so that not all intuitive configuration abilities are lost.)
It would've been nice to have the ability to define certain pairs in Matroska. (Like English: English Dub, English forced subs; English (hearing impaired): English Dub, English full subs; etc.) But we have to work with what the spec gave us.
nevcairiel
16th August 2011, 10:09
Have you run any tests comparing bilinear, bicubic, lanczos, etc.?
I can't detect any visual difference between bilinear or bicubic, and bilinear is around 20% faster.
However, even on my 2600k, on 1080p its only fast enough for around 45fps, so 50p or 60p content fails.
Is ffdshows HQ RGB converter multi-threaded, or just generally faster?
I can probably implement multi-threaded conversion at some point.
In general, i really recommend to let the renderer and the GPU do the RGB conversion, its so much faster, and can use much more advanced interpolation algorithms on the shaders.
madshi
16th August 2011, 10:35
I can't detect any visual difference between bilinear or bicubic, and bilinear is around 20% faster.
The difference between bilinear and bicubic is rather small, when talking about chroma upsampling. Furthermore, since chroma upsampling is always exactly 2x, you could even use a very simple hard wired logic like e.g. a 25/75% average of neighboring pixels. Might allow further speed optimizations (e.g. shifts instead of multiplications etc) with practically identical quality.
nevcairiel
16th August 2011, 10:35
I really don't feel like hacking up swscale or roling my own logic just for those few people that really want RGB output. :p
madshi
16th August 2011, 10:38
Yeah, agreed. Just mentioned that because you were talking about implementing multi threaded conversion. So I thought you were planning to write custom conversion code or something.
nevcairiel
16th August 2011, 10:41
I'll just do a "frame threading" kind of thing, allowing multiple images to be processed at the same time, but still with the same conversion in swscale. If it can do 45fps single-threaded, i can theoreticially get it to do 90fps with two threads. :p
But its nothing i plan on doing for the first release.
madshi
16th August 2011, 10:44
Ah ok, makes sense.
BTW, have you thought about implementing DXVA_ExtendedFormat in your video decoder's output media type? Would be quite useful.
nevcairiel
16th August 2011, 10:45
Its somewhere on my list of things to do.
madshi
16th August 2011, 10:59
Its somewhere on my list of things to do.
Ok, that's fine. For your reference:
primaries:
// DXVA_ExtendedFormat values:
// 2: BT.709
// 3: BT.470 System M
// 4: BT.601 (PAL, SECAM)
// 5: SMPTE 170M
// 6: SMPTE 240M
// 7: BT.601 (PAL, SECAM)
// 8: SMPTE C
// MPEG2, VC-1 and h264 bitstream values:
// 1: [DXVA: 2] 0.640 0.330, 0.300 0.600, 0.150 0.060, D65, BT.709, sRGB
// 4: [DXVA: 3] 0.670 0.330, 0.210 0.710, 0.140 0.080, C, BT.470 System M
// 5: [DXVA: 4] 0.640 0.330, 0.290 0.600, 0.150 0.060, D65, BT.601 (PAL, SECAM)
// 6: [DXVA: 8] 0.630 0.340, 0.310 0.595, 0.155 0.070, D65, BT.601 (NTSC), SMPTE C, SMPTE 170M
// 7: [DXVA: 6] 0.630 0.340, 0.310 0.595, 0.155 0.070, D65 SMPTE 240M
// 8: [DXVA: -] 0.681 0.319, 0.243 0.692, 0.145 0.049, C, Generic film (colour filters using Illuminant C)
decoding matrix:
// DXVA_ExtendedFormat values:
// 1: BT.709
// 2: BT.601
// 3: SMPTE 240M
// 7: YCgCo
// MPEG2, VC-1 and h264 bitstream values:
// 0: [DXVA: -] Y = G, Cb = B, Cr = R
// 1: [DXVA: 1] kr 0.2126, kb 0.0722, BT.709
// 4: [DXVA: -] kr 0.3000, kb 0.1100, United States National Television System Committee 1953 Recommendation for transmission standards for colour television, United States Federal Communications Commission Title 47 Code of Federal Regulations (2004) 73.682 (a) (20)
// 5: [DXVA: 2] kr 0.2990, kb 0.1140, BT.601 (PAL, SECAM)
// 6: [DXVA: 2] kr 0.2990, kb 0.1140, BT.601 (NTSC)
// 7: [DXVA: 3] kr 0.2120, kb 0.0870, SMPTE 240M
// 8: [DXVA: 7] YCgCo
transfer function:
// DXVA_ExtendedFormat values:
// 1: Linear
// 2: True 1.8 gamma
// 3: True 2.0 gamma
// 4: True 2.2 gamma, BT.470 System M
// 5: 0.45, 0.0990, BT.709, BT.601
// 6: 0.45, 0.1115, SMPTE 240M
// 7: 1/2.4, 0.0550, sRGB, scRGB(12)
// 8: True 2.8 gamma, BT.1700 (PAL, SECAM), BT.470 System B, G (PAL) -> change to BT.601
// 9: Logarithmic transfer characteristics (100:1 range)
// 10: Logarithmis transfer characteristics (100*sqrt(10):1 range)
// 11: xvYCC, IEC 61966
// 30: BT1361 extended colour gamut system
// 31: True 2.6 gamma, DCI
// MPEG2, VC-1 and h264 bitstream values:
// 1: [DXVA: 5] 0.45, 0.0990, BT.709
// 4: [DXVA: 4] True 2.2 gamma, BT.470 System M
// 5: [DXVA: 8] True 2.8 gamma, BT.1700 (PAL, SECAM), BT.470 System B, G (PAL)
// 6: [DXVA: 5] 0.45, 0.0990, BT.601
// 7: [DXVA: 6] 0.45, 0.1115, SMPTE 240M
// 8: [DXVA: 1] Linear
// 9: [DXVA: 9] Logarithmic transfer characteristic (100:1 range)
// 10: [DXVA: 10] Logarithmic transfer characteristic (100*sqrt(10):1 range)
// 11: [DXVA: 11] xvYCC, IEC 61966
// 12: [DXVA: 30] BT.1361 extended colour gamut system
h264 is specifying the largest list of possible values. MPEG2 and VC-1 only use a subset of the h264 supported values. But since there's no overlap anywhere, I think we can safely use the full h264 range of values for all h264, MPEG2 and VC-1. At least that's what I'm doing in madVR. Of course for formats other than h264, MPEG2 and VC-1 you'll need to find your own map of video bitstream index -> DXVA_ExtendedFormat index.
I've also extended the list of DXVA_ExtendedFormat values by those added by MediaFoundation, and those added by the (work in progress) Open Media Format. Shouldn't harm to use the full list of those values.
Sebastiii
16th August 2011, 10:59
Hi Nevcairiel,
I think it already been ask, it is possible to set output audio PIN (LAVAudio ofc) to not float ? humm sorry for my word !!! i hope you know what i try to explain :)
Is it possible to do this easily ?
I asking because i would like to Try MP Audio Renderer (Reclock Fork) for Mediaportal.
Thanks :)
nevcairiel
16th August 2011, 11:08
I think it already been ask, it is possible to set output audio PIN (LAVAudio ofc) to not float
Not yet.
http://code.google.com/p/lavfilters/issues/detail?id=10
You can compile your own version, and in LAVAudio.h set "REQUEST_FLOAT" to 0.
Sebastiii
16th August 2011, 11:15
Thanks Nevcairiel :) Will try when go to home :)
fastplayer
16th August 2011, 11:22
The difference between bilinear and bicubic is rather small, when talking about chroma upsampling. Furthermore, since chroma upsampling is always exactly 2x, you could even use a very simple hard wired logic like e.g. a 25/75% average of neighboring pixels. Might allow further speed optimizations (e.g. shifts instead of multiplications etc) with practically identical quality.
FYI, that's the method ffdshow is using (http://ffdshow-tryout.svn.sourceforge.net/viewvc/ffdshow-tryout?view=revision&revision=2646).
nevcairiel
16th August 2011, 11:44
If i feel one day like doing alot of assembler, i might as well create a more efficient custom scaler. swscales problem is that it supports scaling everything into everything, and that makes it slow. It has a "special" converter for YV12->RGB which is quite fast, but why that one is so absolutely horrible in quality, i cannot say.
Anyhow, for the first version of LAV Video, this will have to suffice. Yes, its too slow for 50/60p content, but shrug. Me personally, i will always let the renderer do the conversion. If you desperately need RGB32 conversion on 60p content, there is always ffdshow in the meantime.
roytam1
16th August 2011, 12:38
New nightly: http://roy.orz.hm/lavf-w32-nightlies/lavf-my110816_2-1b350b81.7z
Thunderbolt8
16th August 2011, 12:46
what do I need to do to get LAV video to play? I installed it, set it to prefer in mpc-hc, disabled ffdshow/coreavc and the mpc internal renderers, but theres no picture at all, aside that window with 'mpc-hc could not render some pins to the graph...'
STaRGaZeR
16th August 2011, 13:39
I can't detect any visual difference between bilinear or bicubic, and bilinear is around 20% faster.
However, even on my 2600k, on 1080p its only fast enough for around 45fps, so 50p or 60p content fails.
Is ffdshows HQ RGB converter multi-threaded, or just generally faster?
I can probably implement multi-threaded conversion at some point.
I can't see a difference either, plus it's quite a bit faster. Also screw my previous LAV screenshot, it was done with ffdshow in the middle. This (http://img844.imageshack.us/img844/5878/lavbilinear.png) is how it looks now, against ffdshow (http://img263.imageshack.us/img263/3103/ffdshowrgb32.png). The same in my book. Have you tried without SWS_ACCURATE_RND? Because I found this in swscale:
// reuse chroma for 2 pixels RGB/BGR unless user wants full chroma interpolation
811 if (flags & SWS_FULL_CHR_H_INT &&
812 dstFormat != PIX_FMT_RGBA &&
813 dstFormat != PIX_FMT_ARGB &&
814 dstFormat != PIX_FMT_BGRA &&
815 dstFormat != PIX_FMT_ABGR &&
816 dstFormat != PIX_FMT_RGB24 &&
817 dstFormat != PIX_FMT_BGR24) {
818 av_log(c, AV_LOG_ERROR,
819 "full chroma interpolation for destination format '%s' not yet implemented\n",
820 sws_format_name(dstFormat));
821 flags &= ~SWS_FULL_CHR_H_INT;
822 c->flags = flags;
823 }
824 if (isAnyRGB(dstFormat) && !(flags&SWS_FULL_CHR_H_INT)) c->chrDstHSubSample=1;
So maybe the bad quality is caused by missing SWS_FULL_CHR_H_INT only.
All these really need a bit of documentation...
SWS_FULL_CHR_H_INT
SWS_FULL_CHR_H_INP
SWS_DIRECT_BGR
SWS_ACCURATE_RND
SWS_BITEXACT
ffdshow's is both faster and multithreaded. Close to free with this CPU, even with 1080p60 content: 35-39%, against 33-37% YV12 output.
Also the idea of calling swscale for each frame in parallel is nice.
nevcairiel
16th August 2011, 13:50
Both SWS_FULL_CHR_H_INT and SWS_ACCURATE_RND are needed for it to look good. I started with SWS_FULL_CHR_H_INT at first, because it looked promising from the code, and it did improve it somewhat, but not nearly to the final result we have now.
Like i said, if i ever feel like hacking on YUV->RGB assembly code one day, its certainly a possibility to get something similar to ffdshows converter implemented. But its something for another day (and something that i personally wouldn't use, which gives it a somewhat lower priority)
The LAVPixFmtConverter class is however pretty straight forward, and it shouldn't be too much trouble to implement a new converter, if someone would want to do that. ;)
Another option would of course be to check how the YV12 -> RGB "special" converter in swscale works, and why it is doing such a crappy job. (it hides in libswscale/x86/yuv2rgb_template.c - yuv420_rgb32, looks like point scaling)
Mercury_22
16th August 2011, 15:53
Is there a way to make LAVSplitter override the default audio track (in a mkv file) and select, by default, the "better" audio (for the same language) e.g. select AC3 5.1 eng over AAC stereo (default) eng ?
nevcairiel
16th August 2011, 15:56
No, default is stronger then codec features.
This may be possible in the future when i implement the new selection magic.
SamuriHL
16th August 2011, 16:39
Nev, I posted a new thread on J River's forum. Getting a crash in LAVVideo.ax when trying to play MKV's. As I was typing this I decided to try it in MPC-HC with the same setup. Same crash. So I don't know what's happening there. madVR, LAV Splitter, LAV Audio, LAV Video. Blu-ray rip to MKV...all of them that I've tried recently. Let me know if you need me to do anything. Here's the line it's crashing on:
> LAVVideo.ax!CBaseOutputPin::CBaseOutputPin(const wchar_t * pObjectName, CBaseFilter * pFilter, CCritSec * pLock, HRESULT * phr, const wchar_t * pName) Line 2465 + 0x23 bytes C++
Seems bad. :)
nevcairiel
16th August 2011, 16:41
Thats not the line its crashing on, thats just the line it claims its crashing on.
It sometimes gets confused when crashing inside ffmpeg functions.
SamuriHL
16th August 2011, 16:43
Ok. I attached the debugger to it in hopes of providing you some useful info. Clearly I was mistaken. Any thoughts on what might be causing this crash? It happens on both my laptop and my desktop. I can't use LAV Video at all right now. It's been like that for me for a while now and I just now got around to trying to figure it out. If I switch to another video decoder it works fine.
nevcairiel
16th August 2011, 16:45
I get no crashes at all.
Default configuration?
Try my build
http://files.1f0.de/lavf/LAVFilters-0.32-rc3.zip
Someone else reported some crashes earlier, and it was caused by not having a updated ffmpeg in their build, or a broken build environment.
SamuriHL
16th August 2011, 16:47
Your build works. UGH. Do I even want to know why my builds are causing fatal crashes? sigh.
nevcairiel
16th August 2011, 16:48
Just install a clean MSYS, that solved it the last time.
Thats the one i'm using for building:
http://xhmikosr.1f0.de/tools/MSYS_MinGW_GCC_461_x86-x64_Full.7z
SamuriHL
16th August 2011, 16:50
I was still using 4.5.2 if that makes any difference. Also I have the VS 2010 SP1 security update that was just released installed. Wonder if that's related at all. I'll try your MSYS and see what happens. Thanks!
Thunderbolt8
16th August 2011, 17:02
I get no crashes at all.
Default configuration?
Try my build
http://files.1f0.de/lavf/LAVFilters-0.32-rc3.zip
Someone else reported some crashes earlier, and it was caused by not having a updated ffmpeg in their build, or a broken build environment.that one works for me as well (at least for AVC), the other nightly build didnt.
is interlaced VC-1 not supported yet by LAV Video? dont seem to get a picture.
nevcairiel
16th August 2011, 17:04
No, interlaced VC-1 does not work (and it'll be quite a while until it does)
Thunderbolt8
16th August 2011, 17:10
are there PQ wise any advantages to use LAV Video over CoreAVC or mpeg2 Dscaler mod?
SamuriHL
16th August 2011, 17:14
Nev, I think I see what happened. It's been a while since I built clean and you changed the names of the output dll's. I've updated the install builder script to deal with that, as well. I'll go attach a new version to the issue tracker.
EDIT: Unfortunately that didn't fix the crash. :( Even using your MSYS version my build crashes. Anyone want to bet that the VS 2010 security update is causing this problem? SIGH! Thank you, MS....thanks a lot.
nevcairiel
16th August 2011, 17:39
Anyone want to bet that the VS 2010 security update is causing this problem? SIGH! Thank you, MS....thanks a lot.
Highly unlikely, i dont even use those parts of the MFC that the patch updated.
SamuriHL
16th August 2011, 17:41
Highly unlikely, i dont even use those parts of the MFC that the patch updated.
SIGH. Well, I'm reapplying VS2010 SP1 now anyway. I guess the next step would be to dump the local rep on my hard drive and pull clean. Maybe something got corrupted. I'd like to get this resolved, though, as it's frustrating and I really like using LAV Video as my decoder of choice. (VC-1 interlaced not-withstanding, of course).
CruNcher
16th August 2011, 17:41
are there PQ wise any advantages to use LAV Video over CoreAVC or mpeg2 Dscaler mod?
Jep Deinterlacing is correct for Mpeg-2 Studio 4:2:2 in combination with Lav Splitter before only Lav Splitter + Mainconcept did it right in 1 EBU case 1080 50i with Nvidias Pixel Adaptive Deinterlacer via VMR9 ffdshow and dscaler both fail (though it's crazy hard noticeable visually in motion you see slight gray ghosting around edges very faint though it makes motion unfluid colors also seem to shift in certain motion scenes from objects) also the output of ffdshow (libavcodec,libmpeg2) differs from dscaler in this test case different field selection, in the end you get 3 different results :D from which all show the above issue only Mainconcept didn't and now Lav Video also as it looks like the Mainconcept result.
Certainly non of these issues with Lav Splitter->Lav Video->VMR9 on Nvidia (Motion absolute fluid like with Mainconcepts Decoder non of the strange ghosting especially visible @ moving edges in front of red,blue chroma backgrounds ) :)
VS CoreAVC their shouldn't be or it is flawed vs dscaler not sure didn't looked @ PQ yet (though the difference should be marginal in the area of idct differences) only this 1 specific Deinterlace issue ;)
SamuriHL
16th August 2011, 17:53
ARGH! I failed to copy them to my MC16 dir so yes, it was crashing on the old dll's still. I can't win today. My build with your new MSYS is working fine, Nev. Sorry for the idiot confusion. All is well in SamuriHL land today. Really. cough cough. :D
SamuriHL
16th August 2011, 18:11
http://www.mediafire.com/file/7opwuy9xqc89dt9/LAVFilters-0.32-RC3.exe
The latest WORKING :rolleyes: installer. Sorry about the issues for anyone that used my previous installers. Thanks, Nev, for helping me sort that nonsense out. A warning to others...Nev has changed the name of the output dll's to include a -lav in the name. If you have old ones kicking around, you'll wanna remove them and replace them with the new dll's.
P.S. I will be avoiding that issue from now on as I use this neat little script after I do a build:
@ECHO OFF
@SET ISCC="c:\Program Files (x86)\Inno Setup 5\ISCC.exe"
cd /d c:\dev\projects\LAVFSplitter
@echo [Building distribution]
@%ISCC% LAVFilters_SamuriHL.iss
xcopy LAVFilters-*.exe c:\users\samuri\downloads\video /Y
del LAVFilters-*.exe
ECHO ___________________________________
ECHO *****Updating distribution dir*****
ECHO -----------------------------------
set DEST="c:\users\samuri\downloads\video\LAVFilters"
del %DEST%\*.dll
del %DEST%\*.ax
xcopy bin_Win32\*.dll %DEST% /Y
xcopy bin_Win32\*.ax %DEST% /Y
xcopy README.txt %DEST% /Y
xcopy COPYING %DEST% /Y
xcopy CHANGELOG.txt %DEST% /Y
ECHO ____________________________________
ECHO *****Updating MC16 private copy*****
ECHO ------------------------------------
set DEST="C:\Users\Samuri\AppData\Roaming\J River\Media Center 16\Plugins\lav"
del %DEST%\*.dll
del %DEST%\*.ax
xcopy bin_Win32\*.dll %DEST% /Y
xcopy bin_Win32\*.ax %DEST% /Y
xcopy README.txt %DEST% /Y
xcopy COPYING %DEST% /Y
xcopy CHANGELOG.txt %DEST% /Y
PAUSE
:D
Thunderbolt8
16th August 2011, 18:49
Jep Deinterlacing is correct for Mpeg-2 Studio 4:2:2 in combination with Lav Splitter before only Lav Splitter + Mainconcept did it right in 1 EBU case 1080 50i with Nvidias Pixel Adaptive Deinterlacer via VMR9 ffdshow and dscaler both fail (though it's crazy hard noticeable visually in motion you see slight gray ghosting around edges very faint though it makes motion unfluid colors also seem to shift in certain motion scenes from objects) also the output of ffdshow (libavcodec,libmpeg2) differs from dscaler in this test case different field selection, in the end you get 3 different results :D from which all show the above issue only Mainconcept didn't and now Lav Video also as it looks like the Mainconcept result.
Certainly non of these issues with Lav Splitter->Lav Video->VMR9 on Nvidia (Motion absolute fluid like with Mainconcepts Decoder non of the strange ghosting especially visible @ moving edges in front of red,blue chroma backgrounds ) :)
VS CoreAVC their shouldn't be or it is flawed vs dscaler not sure didn't looked @ PQ yet (though the difference should be marginal in the area of idct differences) only this 1 specific Deinterlace issue ;)dscaler deinterlacing looked always a bit strange and broken to me, didnt provide good results. so I have always used either yadif or the ffmpeg deinterlacer
STaRGaZeR
16th August 2011, 19:23
Both SWS_FULL_CHR_H_INT and SWS_ACCURATE_RND are needed for it to look good. I started with SWS_FULL_CHR_H_INT at first, because it looked promising from the code, and it did improve it somewhat, but not nearly to the final result we have now.
Like i said, if i ever feel like hacking on YUV->RGB assembly code one day, its certainly a possibility to get something similar to ffdshows converter implemented. But its something for another day (and something that i personally wouldn't use, which gives it a somewhat lower priority)
The LAVPixFmtConverter class is however pretty straight forward, and it shouldn't be too much trouble to implement a new converter, if someone would want to do that. ;)
Another option would of course be to check how the YV12 -> RGB "special" converter in swscale works, and why it is doing such a crappy job. (it hides in libswscale/x86/yuv2rgb_template.c - yuv420_rgb32, looks like point scaling)
Indeed, SWS_ACCURATE_RND is what disables the so called optimized path. Unfortunately is all in assembly, and I don't understand it. ffdshow's is also written with intrinsics, more of the same. It should be fairly easy to port it to LAV (or take ideas from it) if you don't want to write a new one from scratch. It's all in ffdshow_converters.cpp
nevcairiel
16th August 2011, 19:25
I put it as a task on the bugtracker, i'll probably do it at some point, sometimes i need a day thinking about bits and assembler, instead of high level things - then i'll do it. :D
CruNcher
16th August 2011, 19:28
dscaler deinterlacing looked always a bit strange and broken to me, didnt provide good results. so I have always used either yadif or the ffmpeg deinterlacer
I meant using the Renderers Deinterlacer (Nvidia GPU) not Software ones and those results @ playback :)
so how does the Decoder behaves with VMRs internal Deinterlacing via Nvidias Pixel Adaptive Deinterlacer.
Lav Video gives Flawless results :)
STaRGaZeR
16th August 2011, 19:48
I put it as a task on the bugtracker, i'll probably do it at some point, sometimes i need a day thinking about bits and assembler, instead of high level things - then i'll do it. :D
No rush. So many interesting things to see implemented, like issue 16 :D
Thunderbolt8
16th August 2011, 22:31
I meant using the Renderers Deinterlacer (Nvidia GPU) not Software ones and those results @ playback :)
so how does the Decoder behaves with VMRs internal Deinterlacing via Nvidias Pixel Adaptive Deinterlacer.
Lav Video gives Flawless results :)ati here -.-
mindbomb
16th August 2011, 22:36
No, interlaced VC-1 does not work (and it'll be quite a while until it does)
i have the feeling this was mentioned before, but is there any chance you can incorporate an intel or microsoft vc-1 decoder in place of ffmpeg's?
or perhaps allow it to use ASVC1Vid.dll from arcsoft tmt5 similiar to how lav audio can use dtsdecoderdll.dll?
If that is possible, it would allow multithreaded vc-1 decoding as well as playback of interlaced vc-1.
Midzuki
16th August 2011, 23:01
or perhaps allow it to use ASVC1Vid.dll from arcsoft tmt5 similiar to how lav audio can use dtsdecoderdll.dll?
It would be interesting to see the VC-1 DMO decoder connect to a TS splitter. OK, ffdshow already does this, BUT it is not "aspect-ratio perfect" (yet - ?). ArcSoft's VC-1 decoder is not flawless either, see this:
http://forum.doom9.org/showthread.php?p=1519841#post1519841
nevcairiel
16th August 2011, 23:38
The MS VC-1 DMO decoder connects just fine to LAV Splitter when splitting TS files.
Anyhow, there are no plans to include any external video decoders at this time.
Midzuki
17th August 2011, 01:56
The MS VC-1 DMO decoder connects just fine to LAV Splitter when splitting TS files.
You are right :o , I wasn't aware of the fact that ffdshow has the power to prevent the direct access to the Microsoft wmv9 decoder. :mad:
roytam1
17th August 2011, 03:07
Newer nightly: http://roy.orz.hm/lavf-w32-nightlies/lavf-my110817-30d75eb3.7z
Notice: libav will commit Kostya's RM/RV patches which fixes the timestamping issue:
https://lists.libav.org/pipermail/libav-devel/2011-August/009461.html
https://lists.libav.org/pipermail/libav-devel/2011-August/009479.html
https://lists.libav.org/pipermail/libav-devel/2011-August/009536.html
But from my testing, its timestamps aren't better than the fake timestamps by NextPlayer's workaround patch.
So nevcairiel you may consider revert it in your ffmpeg.git branch once it is merged.
Midzuki
17th August 2011, 03:41
^ Thanks for the new build, gonna test it A.S.A.P.
For the time being... :devil:
Originally posted by mplayerc.exe
C:\Path-To\720x540.ts::Output
LAV Splitter::Video
Media Type 0:
--------------------------
Video: WVC1 960x540 (8:3) 29.97fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {D979F77B-DBEA-4BF6-9E6D-1D7E57FBAD53}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 139
VIDEOINFOHEADER:
rcSource: (0,0)-(960,540)
rcTarget: (0,0)-(960,540)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 333667
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 8
dwPictAspectRatioY: 3
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 67
biWidth: 960
biHeight: 540
biPlanes: 1
biBitCount: 12
biCompression: WVC1
biSizeImage: 777600
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 c0 03 00 00 1c 02 00 00 ........À.......
0010: 00 00 00 00 00 00 00 00 c0 03 00 00 1c 02 00 00 ........À.......
0020: 00 00 00 00 00 00 00 00 63 17 05 00 00 00 00 00 ........c.......
0030: 00 00 00 00 00 00 00 00 08 00 00 00 03 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 43 00 00 00 c0 03 00 00 ........C...À...
0050: 1c 02 00 00 01 00 0c 00 57 56 43 31 80 dd 0b 00 ........WVC1€Ý..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070:|00 00 00 01 0f e2 00 16 71 0d 0a 1d f8 43 7f 03 .....â..q...øC.
0080: 02 80 c8 80 00 00 01 0e 4c 10 80 .€È€....L.€
Media Type 1:
--------------------------
Video: WVC1 960x540 (8:3) 29.97fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {629B40AD-AD74-4EF4-A985-F0C8D92E5ECA}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 139
VIDEOINFOHEADER:
rcSource: (0,0)-(960,540)
rcTarget: (0,0)-(960,540)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 333667
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 8
dwPictAspectRatioY: 3
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 67
biWidth: 960
biHeight: 540
biPlanes: 1
biBitCount: 12
biCompression: WVC1
biSizeImage: 777600
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 c0 03 00 00 1c 02 00 00 ........À.......
0010: 00 00 00 00 00 00 00 00 c0 03 00 00 1c 02 00 00 ........À.......
0020: 00 00 00 00 00 00 00 00 63 17 05 00 00 00 00 00 ........c.......
0030: 00 00 00 00 00 00 00 00 08 00 00 00 03 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 43 00 00 00 c0 03 00 00 ........C...À...
0050: 1c 02 00 00 01 00 0c 00 57 56 43 31 80 dd 0b 00 ........WVC1€Ý..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070:|00 00 00 01 0f e2 00 16 71 0d 0a 1d f8 43 7f 03 .....â..q...øC.
0080: 02 80 c8 80 00 00 01 0e 4c 10 80 .€È€....L.€
Media Type 2:
--------------------------
Video: WVC1 960x540 (8:3) 29.97fps
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: 139
VIDEOINFOHEADER:
rcSource: (0,0)-(960,540)
rcTarget: (0,0)-(960,540)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 333667
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 8
dwPictAspectRatioY: 3
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 67
biWidth: 960
biHeight: 540
biPlanes: 1
biBitCount: 12
biCompression: WVC1
biSizeImage: 777600
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 c0 03 00 00 1c 02 00 00 ........À.......
0010: 00 00 00 00 00 00 00 00 c0 03 00 00 1c 02 00 00 ........À.......
0020: 00 00 00 00 00 00 00 00 63 17 05 00 00 00 00 00 ........c.......
0030: 00 00 00 00 00 00 00 00 08 00 00 00 03 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 43 00 00 00 c0 03 00 00 ........C...À...
0050: 1c 02 00 00 01 00 0c 00 57 56 43 31 80 dd 0b 00 ........WVC1€Ý..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070:|00 00 00 01 0f e2 00 16 71 0d 0a 1d f8 43 7f 03 .....â..q...øC.
0080: 02 80 c8 80 00 00 01 0e 4c 10 80 .€È€....L.€
Midzuki
17th August 2011, 04:27
Newer nightly: http://roy.orz.hm/lavf-w32-nightlies/lavf-my110817-30d75eb3.7z
By turning-off VC-1 decoding through ffdshow, MpegSplitter.ax can connect to the VC-1 DMO decoder, however LAV Splitter still cannot do it :confused:
As for LAV Video, it behaves the same as MPCVideoDec.ax, —
— that is to say, it still sucks at VC-1 -.-
Sebastiii
17th August 2011, 06:51
Not yet.
http://code.google.com/p/lavfilters/issues/detail?id=10
You can compile your own version, and in LAVAudio.h set "REQUEST_FLOAT" to 0.
Thank you,
I have tested yesterday and the connection is made but not all stream.
Is it possible that you can get a look on it please, just to know what is missing ? (i mean surely on MPAudio side or mediatype)
http://dl.dropbox.com/u/10536084/lav/Accurate_sync_ver_21a.zip
With this Audio Renderer for MP, it's really more smooth than Reclock, so it would be nice to make it work when LAVAudio :)
Cheers,
Seb.
This track didn't connect for example :
Audio
ID : 2
Format : DTS
Format/Info : Digital Theater Systems
Format profile : ES
Codec ID : A_DTS
Duration : 2h 37mn
Bit rate mode : Constant
Bit rate : 1 510 Kbps
Channel(s) : 7 canaux / 6 canaux
Channel positions : Front: L C R, Side: L R, Back: C, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48,0 KHz
Bit depth : 24 bits
Compression mode : Avec perte
Stream size : 1,66 Gio (21%)
Language : Français
Gaius
17th August 2011, 07:42
I signed up just to say thanks for LAV Filters. I was recommended them by a friend who mentioned you added a video decoder to it and since then, I've stopped using FFshow and just use LAV everything with MPC-HC.
nevcairiel
17th August 2011, 09:03
Notice: libav will commit Kostya's RM/RV patches which fixes the timestamping issue:
https://lists.libav.org/pipermail/libav-devel/2011-August/009461.html
https://lists.libav.org/pipermail/libav-devel/2011-August/009479.html
https://lists.libav.org/pipermail/libav-devel/2011-August/009536.html
But from my testing, its timestamps aren't better than the fake timestamps by NextPlayer's workaround patch.
So nevcairiel you may consider revert it in your ffmpeg.git branch once it is merged.
Your list here seems to lack the new RV30/RV40 parser, did you include that too in the test? Without it, it wouldn't work right.
Anyway, i'll test when its commited.
nevcairiel
17th August 2011, 09:27
As for LAV Video, it behaves the same as MPCVideoDec.ax, —
— that is to say, it still sucks at VC-1 -.-
If by sucks you mean it doesn't support interlaced, then sure.
Otherwise it just supports what ffmpeg supports, and all progressive files play just fine for me. If there are any decoding issues, then say ffmpeg sucks, because its the same shared component. :p
I also just updated ffmpeg for the AR and width/height fixes.
nevcairiel
17th August 2011, 09:33
Is it possible that you can get a look on it please, just to know what is missing ? (i mean surely on MPAudio side or mediatype)
That audio renderer is only designed to accept the exact same formats that WASAPI supports, and thats a absolutely *horrible* design.
DirectShow typically sends 24-bit as pure 24-bit, without padding. WASAPI on the other hand only likes 24-bit if its padded to 32-bit. Its the audio renderers job to do that!
Go complain at the people writing that audio renderer, its brain-dead stupid and should support simple sample-format conversion. As its designed right now, the only format it really understands is 16-bit integer. Thats a serious limitation, and i wouldn't use it.
Midzuki
17th August 2011, 09:44
As you wish, sir, ffmpeg sux :D
...
...
...that audio renderer, its brain-dead stupid and should support simple sample-format conversion. As its designed right now, the only format it really understands is 16-bit integer.
Man, that really suckxs :(
roytam1
17th August 2011, 09:44
Your list here seems to lack the new RV30/RV40 parser, did you include that too in the test? Without it, it wouldn't work right.
Anyway, i'll test when its commited.
Parsers were attached in 009479.html.
nevcairiel
17th August 2011, 09:47
btw, VC-1 interlaced in a MPEG-TS file, split with LAV Splitter, decoded with the MS DMO decoder.
Why would this not work?
http://images.gammatester.com/pics/e5e67090740325855f689cef159f527d.png
nevcairiel
17th August 2011, 11:28
Its time for another build!
This is Release Candidate 4, and from my side, the final release candidate before the final 0.32 at the end of the week.
x86: http://files.1f0.de/lavf/LAVFilters-0.32-rc4.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.32-rc4-x64.zip
Notable changes since the last build:
- Option for HQ pixel format conversion (note that HQ RGB conversion is right now way too slow for realtime 1080p 50/60fps content)
- ffmpeg updates
starla
17th August 2011, 11:40
That audio renderer is only designed to accept the exact same formats that WASAPI supports, and thats a absolutely *horrible* design.
DirectShow typically sends 24-bit as pure 24-bit, without padding. WASAPI on the other hand only likes 24-bit if its padded to 32-bit. Its the audio renderers job to do that!
Go complain at the people writing that audio renderer, its brain-dead stupid and should support simple sample-format conversion. As its designed right now, the only format it really understands is 16-bit integer. Thats a serious limitation, and i wouldn't use it.
Currently the audio renderer is in phase beta - not feature complete and it is stated that it doesn't support the resampling or bit depth conversions, those will come later. This is purely because of the development resources are lacking behind the real need (any free DS developers around? :)).
But thanks for the kind words anyways :)
br,
tourettes
nevcairiel
17th August 2011, 11:45
Currently the audio renderer is in phase beta - not feature complete and it is stated that it doesn't support the resampling or bit depth conversions, those will come later. This is purely because of the development resources are lacking behind the real need (any free DS developers around? :)).
But thanks for the kind words anyways :)
br,
tourettes
I didn't mean to offend anyone, but if it doesn't support anything more then 16-bit int, it just will not work with LAV Audio until the sample format conversion is implemented in either LAV Audio or the audio renderer. You can disable float in LAV Audio, but you cannot disable 24-bit integer for lossless sources.
starla
17th August 2011, 11:55
I didn't mean to offend anyone, but if it doesn't support anything more then 16-bit int, it just will not work with LAV Audio until the sample format conversion is implemented in either LAV Audio or the audio renderer. You can disable float in LAV Audio, but you cannot disable 24-bit integer for lossless sources.
No harm done. It was just a gap in communication about the features of in development component. Features that were kept away to simplify the testing of other parts (time strecthing, broken WASAPI drivers etc. were already hard enough to debug at once).
I really wish I would have time to work with the specific audio renderer, but other development has already stalled that work for about one year :(
Sebastiii
17th August 2011, 12:13
Thanks Nevcairiel and Starla for answer :)
SamuriHL
17th August 2011, 15:02
Its time for another build!
This is Release Candidate 4, and from my side, the final release candidate before the final 0.32 at the end of the week.
x86: http://files.1f0.de/lavf/LAVFilters-0.32-rc4.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.32-rc4-x64.zip
Notable changes since the last build:
- Option for HQ pixel format conversion (note that HQ RGB conversion is right now way too slow for realtime 1080p 50/60fps content)
- ffmpeg updates
Installer:
http://www.mediafire.com/file/ckd4xh7vvips7a6/LAVFilters-0.32-rc4.exe
nevcairiel
17th August 2011, 15:22
Notice: libav will commit Kostya's RM/RV patches which fixes the timestamping issue:
https://lists.libav.org/pipermail/libav-devel/2011-August/009461.html
https://lists.libav.org/pipermail/libav-devel/2011-August/009479.html
https://lists.libav.org/pipermail/libav-devel/2011-August/009536.html
But from my testing, its timestamps aren't better than the fake timestamps by NextPlayer's workaround patch.
So nevcairiel you may consider revert it in your ffmpeg.git branch once it is merged.
I actually tested the changes now, and the samples i have seem to work pretty good. I just had to change something in LAV Splitter to always use the DTS timestamps instead of the artificially generated PTS timestamps.
Here is a build with the ffmpeg changes applied, and the change to LAV Splitter, before i commit it:
http://files.1f0.de/lavf/LAVFilters-0.32-rc4-rm.zip
Please check if it works on your RM files as well, but i didnt have any issues with the samples you gave me, and i would greatly prefer to get rid of local changes, if the upstream changes work equally well.
mbordas
17th August 2011, 16:40
I hate to ask about anything to do with windows media player/center, cause I know the answer I'll probably get :)
But just out of curiosity, I have lavaudio & lavvideo working flawlessly in both by turning off all the tweaks in win7dsfilter EXCEPT the ms dtv-dvd video decoder, and by changing the registry keys for [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectShow\Preferred] to lavvideo.
The one thing that doesnt work is subtitles. But if I turn off the dtv-dvd decoder, I can't play dvds and I get really bad pq in live tv, as well as audio out of sync. I guess that's because wmp and wmc are locked to their decoder somehow and that's just the way it is. I just wondered if there might be some other workaround?
roytam1
17th August 2011, 16:50
I actually tested the changes now, and the samples i have seem to work pretty good. I just had to change something in LAV Splitter to always use the DTS timestamps instead of the artificially generated PTS timestamps.
Here is a build with the ffmpeg changes applied, and the change to LAV Splitter, before i commit it:
http://files.1f0.de/lavf/LAVFilters-0.32-rc4-rm.zip
Please check if it works on your RM files as well, but i didnt have any issues with the samples you gave me, and i would greatly prefer to get rid of local changes, if the upstream changes work equally well.
They plays smoothly here.
I only tested in avplay before, and the patchset works better in LAV Filters.
e-t172
17th August 2011, 18:08
WASAPI on the other hand only likes 24-bit if its padded to 32-bit.
That's only true for HDMI audio output. Most analog outputs work just fine with WASAPI Exclusive mode in "normal" 24-bit.
noee
17th August 2011, 18:34
That's only true for HDMI audio output. Most analog outputs work just fine with WASAPI Exclusive mode in "normal" 24-bit.
Yes and on my current ATI h/w (HD6570), multi-ch PCM out via HDMI works fine with 24bit WASAPI Excl. (using jRiver Media Center)
CruNcher
17th August 2011, 20:50
It seems absolute stable nev in it's current state also switch time in the Dshow chain is super fast :) i also see that it might not bad to actually combine MPC-HC and lav splitter because of certain playback scenarios where lav splitter could fail (especially renamed container) in this case low merrit included stuff becomes practical as it takes over.
PS: Also the Latm situation has improved allot :)
nevcairiel
17th August 2011, 22:09
I've been thinking about what i could do to improve the speed of swscale, because its really terribly slow, which i mostly attribute to the simple fact that its very generalized and not multithreaded.
It takes around 30ms to dither a 1920x1080 4:4:4 10bit frame to 4:4:4 8bit. Thats *alot* of time per frame. I have been thinking that i can do it alot faster in specialized code, which can only transform the most common formats.
Now, before i start implementing this, maybe someone that has also spent alot of time on this can comment on which dithering algorithms are preferable?
I'm currently looking at a standard ordered dithering (Bayes), which would be easy to implement and probably also quite fast.
As an alternative, i've been looking at Floyd-Steinberg error-diffusion dithering.
Any thoughts, or possible alternative ideas?
It shouldn't be a too complex algorithm, because it'll end up being slow, and plenty complicated to write in assembler. ;) Judging from that arguments, i would go with ordered. :d
Edit:
Some research shows that Floyd-Steinberg will most likely not be suitable for video dithering because it produces a jitter over the whole image when only small parts change.
madshi
17th August 2011, 22:46
Now, before i start implementing this, maybe someone that has also spent alot of time on this can comment on which dithering algorithms are preferable?
I'm currently looking at a standard ordered dithering (Bayes), which would be easy to implement and probably also quite fast.
As an alternative, i've been looking at Floyd-Steinberg error-diffusion dithering.
Any thoughts, or possible alternative ideas?
It shouldn't be a too complex algorithm, because it'll end up being slow, and plenty complicated to write in assembler. ;) Judging from that arguments, i would go with ordered. :d
Edit:
Some research shows that Floyd-Steinberg will most likely not be suitable for video dithering because it produces a jitter over the whole image when only small parts change.
AFAIK, Microsoft uses something similar (but not identical) to Floyd-Steinberg. I don't think there's any problem with jitter. We're not talking about reducing bitdepth to 1 bit, where such kind of jitter might be visible, we're reducing to 8 bit, where the dithering pattern should be pretty much invisible.
Best quality would of course be some kind of error diffusion. Floyd-Steinberg is a common used algorithm for that, but not necessarily the best. Ordered dither is a lot simpler and might be good enough. madVR currently uses TPDF dithering, similar to what is usually used in audio processing. TPDF dithering works like this:
(10bit + rand[0..3] - rand[0..3] + 2) >> 2 = 8bit
It might be better to increase the bitdepth of the whole calculation to achieve a better triangular distribution of the dithering noise. E.g.:
((10bit << 14) + rand[0..65535] - rand[0..65535] + 32768) >> 16 = 8bit
For the random values you could pre-calculate a full frame worth of white noise, and then choose a random offset into the frame for every new video frame. Or something like that...
Not sure whether ordered dithering or TPDF dithering is faster, cause I've never used ordered dithering yet.
nevcairiel
17th August 2011, 23:22
Ordered Dithering seems computationally speaking alot simpler then error diffusion, even a bit simpler then TPDF, but probably the same performance. swscale is doing ordered dithering now, and the result looks ok to me.
I don't think increasing the bitdepth is going to help. All the extra bits are 0, so only the first two bits will make a difference anyway. Or am i missing something?
Maybe i'll build some test version with two or three different algorithms to compare.
pankov
17th August 2011, 23:30
nevcairiel,
the sample mentioned in the madVR thread about then banding issue with VobSub does not play with LAV Splitter - it jumps directly to the end.
With Haali's splitter it plays fine.
Am I doing something wrong or is it a problem of LAV Splitter?
Here is the link if you can't find it
http://www.mediafire.com/?wbmyif3yf2mijti
nevcairiel
17th August 2011, 23:34
nevcairiel,
the sample mentioned in the madVR thread about then banding issue with VobSub does not play with LAV Splitter - it jumps directly to the end.
With Haali's splitter it plays fine.
Am I doing something wrong or is it a problem of LAV Splitter?
Here is the link if you can't find it
http://www.mediafire.com/?wbmyif3yf2mijti
The file seems to be H264 AnnexB muxed into MKV, such an format is very uncommon, not MKV spec-conform, and not supported (yet). :)
http://code.google.com/p/lavfilters/issues/detail?id=43
Midzuki
18th August 2011, 04:07
Just confirming, now LAV Video deals correctly with the AR flags in VC-1 :)
:thanks: :thanks: :thanks:
However, MpegSplitter.ax still is smoother than LAV Splitter. :devil:
Also, ffdshow still is faster than LAV Video. :devil: :devil:
BTW: any plans to add .vc1 (AND .264)to the input formats supported by LAV Splitter? :)
Fadeout
18th August 2011, 04:57
A problem I found is that this splitter doesn't seem to load linked/chaptered files. For example those anime where the OP is in a separate file to save space.
I was actually hoping to fix the other problem, the OP not playing well because the parameters aren't correctly loaded (only CoreAVC plays them fine).
JEEB
18th August 2011, 06:44
A problem I found is that this splitter doesn't seem to load linked/chaptered files. For example those anime where the OP is in a separate file to save space.
Ordered chapters-based segment linking is not supported by the libavformat demuxer yet. I remember elenril talking about implementing this with his playlist efforts, but so far he's been busy with other stuff.
tl;dr
LAV Splitter won't support this before libavformat will, unless nev codes it all in.
I was actually hoping to fix the other problem, the OP not playing well because the parameters aren't correctly loaded (only CoreAVC plays them fine).
Rephrase yourself, thank you. What exactly from the container or video stream does not get read?
Fadeout
18th August 2011, 07:55
What I mean is that with certain videos even with Haali + DXVA or internal CPU decoding some parts of these linked files aren't properly decoded (showing green screen with boxes of colors and corrupted stuff, but if you load the single segment it works fine), only CoreAVC does it properly (both in DXVA and CPU).
Possibly because the two segments are encoded in slightly different ways, so there's a possibility it can be fixed in the splitter, I don't know.
Barlow
18th August 2011, 10:25
What I mean is that with certain videos even with Haali + DXVA or internal CPU decoding some parts of these linked files aren't properly decoded (showing green screen with boxes of colors and corrupted stuff, but if you load the single segment it works fine), only CoreAVC does it properly (both in DXVA and CPU).
Possibly because the two segments are encoded in slightly different ways, so there's a possibility it can be fixed in the splitter, I don't know.
This is not a splitter issue. The problem is that some decoders do not like video parameters to change during playback. The internal MPC-HC video decoders have this problem (both DXVA and software) and the Microsoft DTV decoder has as well.
But CoreAVC is certainly not the only decoder to handle this correctly: both the LAV video decoder and the video decoder bundled with MadVR work correctly.
rpm7200
18th August 2011, 15:20
@nevcairiel
please, add lav cuvid decoder to the lav filters. sorry my bad english.
lauhangwoo
18th August 2011, 16:16
This (http://www.geocities.co.jp/lauhangwoo/etc/sample.zip) sample has no audio when I'm using LAV Splitter + WMP12 Decoder.
LAV Splitter + LAV Audio/ffdshow or MPC Splitter + any of these decoders works fine.
Also, I hope LAV Video's formats configuration having bit more organized order like LAV Audio's one, something like...
// ISO
mpeg1
mpeg2
mpeg4
msmpeg4
// ITU
h261
h263
h264
// Windows Media
wmv1/2
wmv3
vc-1
// On2
vp3 (including Theora)
vp6
vp8
// Sorenson
flv
svq
// Old QT
qtrle
qtrpza
// Old AVI
cinepak
indeo
// Camera
mjpeg
dv
// Real
rv1/2
rv3/4
// Game
smacker
bink
// Capture
camstudio
camtasia
fraps
// Compression
huffyuv
lagarith
zlib
qpeg
clsid
18th August 2011, 20:07
I noticed you added icons for the filters. Here are some comments:
- are the 256x256 icons really needed?
- 128x128 is not a size that Windows ever uses by default
- for the tray icon and start menu you only need 16x16 and 32x32
- the 16x16 icons do not look very good, partially because they do not use the full size, they have a transparent border like the larger ones, which is imo a waste for small sizes.
What do you think about something like this:
http://i.imgur.com/KBgLx.jpg
Thunderbolt8
18th August 2011, 20:17
I think the white letters are way better readable as small tray icon
nevcairiel
18th August 2011, 20:57
I didn't like the font you used, so i did some of my own in white with a slightly different layout
32x32:
http://files.1f0.de/icon/icon32.png or with softer scaling http://files.1f0.de/icon/icon32c.png
16x16
http://files.1f0.de/icon/icon16.png or with softer scaling http://files.1f0.de/icon/icon16c.png
pankov
18th August 2011, 21:03
nev,
I like your white letters but I really like the blue that clsid used (more intense). I guess it's because it's probably my favorite color ;)
nevcairiel
18th August 2011, 21:09
Yeah i thought it was too bright, the big white letters make it really look odd.
Thunderbolt8
18th August 2011, 21:27
so your white letters and clsids blue background and bingo
nevcairiel
18th August 2011, 21:39
Like that?
32x32:
http://files.1f0.de/icon/icon32d.png
16x16
http://files.1f0.de/icon/icon16d.png
Now i just need two more colors that look good, and i'm set. :p
Thunderbolt8
18th August 2011, 21:41
maybe even a tiny more deeper blue overall, but this one is pretty good as well
edit: actually its ok, leave it :p
madshi
18th August 2011, 21:46
I didn't like the font you used, so i did some of my own in white with a slightly different layout
32x32:
http://files.1f0.de/icon/icon32.png or with softer scaling http://files.1f0.de/icon/icon32c.png
16x16
http://files.1f0.de/icon/icon16.png or with softer scaling http://files.1f0.de/icon/icon16c.png
Don't like the font much. It's kinda blurred, but still the diagonals have aliasing. How about this:
http://madshi.net/lav.png
It's missing the background color fade, though. But I think the font is better / clearer.
pankov
18th August 2011, 21:46
That's perfect.
What for do you need the other colors?
nevcairiel
18th August 2011, 21:54
Don't like the font much. It's kinda blurred, but still the diagonals have aliasing. How about this:
http://madshi.net/lav.png
It's missing the background color fade, though. But I think the font is better / clearer.
Hm, i like that too. What font is that?
Also, your tool seems to use either a better/different downscaler, or font rasterizer. The antialiased edges look totally different to what GIMP produced here.
That's perfect.
What for do you need the other colors?
Splitter, Audio and Video need their own icon each. Blue is for Audio, sticking to the colors ffdshow used for convenience. I had yellow with black font for the Splitter, but the white font would make yellow look odd.
madshi
18th August 2011, 21:59
Hm, i like that too. What font is that?
Also, your tool seems to use either a better/different downscaler, or font rasterizer. The antialiased edges look totally different to what GIMP produced here.
That's Tahoma. For "AV" it's size 6, non-bold. For the "L" I've used size 8, and bold. Wasn't happy with the "L", so I've manually tweaked it.
No downsizing involved. The tool I'm using is (don't laugh) XP's MS Paint... :eek: I find it to work pretty well to draw antialiased fonts.
nevcairiel
18th August 2011, 22:00
Ah you drew the text on the 16x16 directly, its not downscaled?
I guess that can have its advantages, eventhough i have to do it for at least 16x16 and 32x32
madshi
18th August 2011, 22:07
Yes, it's drawn directly to 16x16. IMHO downsizing bigger bitmaps to 16x16 rarely produces satisfactory results. It's usually too blurred for my taste. I prefer creating 16x16 bitmaps from scratch.
clsid
18th August 2011, 22:11
I like the looks of madshi's text as well.
For colors I would suggest this:
audio: (dark) blue with white text
video: red with white text (I like the red tint of your current red icon)
splitter: white with black text
cuvid: orange with white text
A single pixel wide border might look nice as well in a dark color (black or a darker tint of the background).
madshi
18th August 2011, 22:14
Here's a 32x32 version, Tahoma bold, font sizes 10 + 18:
http://madshi.net/lav32.png
Again, no background color fade (MS Paint isn't good for that). Ideally you would do a nice background color fade with e.g. Gimp, and then add the fonts with MS Paint.
pankov
18th August 2011, 22:14
I think for the cuvid decoder you should consider "NVIDIA green" - #77B900
I'm pretty sure they wouldn't mind
;)
lauhangwoo
18th August 2011, 22:17
This (http://www.geocities.co.jp/lauhangwoo/etc/sample.zip) sample has no audio when I'm using LAV Splitter + WMP12 Decoder.
Oops, looks like the server doesn't allow direct linking.
Please copy&paste this URL into address bar.
http://www.geocities.co.jp/lauhangwoo/etc/sample.zip
nevcairiel
18th August 2011, 22:21
Here's a 32x32 version, Tahoma bold, font sizes 10 + 18:
http://madshi.net/lav32.png
Again, no background color fade (MS Paint isn't good for that). Ideally you would do a nice background color fade with e.g. Gimp, and then add the fonts with MS Paint.
I wish MS Paint could export its font rendering with transparent background for me to put ontop of the gimp background, so i don't have to draw the text 6 times...... :)
I also wish damn MS Paint on Win7 would allow more magnification then 800%, on 16x16 thats still damn small. I believe XP let you do 1600%, wtf MS. :P
madshi
18th August 2011, 22:29
I wish MS Paint could export its font rendering with transparent background for me to put ontop of the gimp background, so i don't have to draw the text 6 times...... :)
Yeah, that would be nice. However, MS Paint uses really weird colors for the antialiasing. I don't think a simple transparent background would produce the same results.
I also wish damn MS Paint on Win7 would allow more magnification then 800%, on 16x16 thats still damn small. I believe XP let you do 1600%, wtf MS. :P
No, it's max 800% in XP, too. And drawing the text only works in 100% view. Ouch. The good thing is: You only need to draw the icons once, then once you're done you should be good for the next couple of years.
nevcairiel
18th August 2011, 22:30
Text drawing works in 800% view on Win7, at least. :)
Well lets see if i can fit the chars similarly on my color faded background, and then do the same for two more colors.
madshi
18th August 2011, 22:34
Text drawing works in 800% view on Win7, at least. :)
There's been progress, after all!
Well lets see if i can fit the chars similarly on my color faded background, and then do the same for two more colors.
Yeah, that's going to be painful, especially cause you'll need to aim well, so that the letters are at exactly the same coordinates for all 6 icons. Good luck!
jmone
18th August 2011, 23:22
Very late to the party, how about something like this for LAV Audio:
32x32
http://www.pix01.com/gallery/84076774-9453-4C66-B83A-0DEA4D24CEB6/LAV_Icons/4386101810.jpg
16x16
http://www.pix01.com/gallery/84076774-9453-4C66-B83A-0DEA4D24CEB6/LAV_Icons/4386101811.jpg
nevcairiel
18th August 2011, 23:33
I don't like it, can't cram that much detail into a tiny image like that.
I'm done with my 3 icon sets.
For LAV Splitter:
http://files.1f0.de/icon/white16.png and http://files.1f0.de/icon/white32.png
For LAV Audio:
http://files.1f0.de/icon/blue16.png and http://files.1f0.de/icon/blue32.png
For LAV Video:
http://files.1f0.de/icon/red16.png and http://files.1f0.de/icon/red32.png
I'll do LAV CUVID another night, i needed those for the next LAV Filters release. ;)
Thanks to everyone who gave some input/idea, it was really more of a team effort. :D
SamuriHL
18th August 2011, 23:41
Looks good to me, Nev. Quite nice.
Thunderbolt8
19th August 2011, 00:34
there seems to be a problem in regards to audio delay when opening playlists of seamless branching movies. though is this case, it was not a movie, but a documentary playlist which played all 3 single parts together after another. problem is that at the end of each part, theres a small .m2ts file with only 7 seconds of length, but no audio or video track. I guess its meant to show the logo at the end of each part for some more time. the audio of the next part already starts playing as soon at he real .m2ts file of that documentary ends. the video stays still for those 7 seconds before the next part begins, but the audio doesnt and then has a headstart of those 7 seconds.
concerning regular seamless branching movies, how does delay behave in those cases? are audio gaps automatically taken into consideration and the movie would stay in sync all time through?
edit: didnt use lav audio, but the mpc-hc dts decoder with spdif output (via reclock wasapi (resampler bypassed))
JustinChase
19th August 2011, 00:35
Looks good to me, Nev. Quite nice.
Agreed. Simple, but very professional.
I've been wondering does LAV stand for anything, or is short for anything, or just "sounds good"?
Thanks again for all you do :)
Andy o
19th August 2011, 03:26
Yes and on my current ATI h/w (HD6570), multi-ch PCM out via HDMI works fine with 24bit WASAPI Excl. (using jRiver Media Center)
I think it pads 24 to 32 automatically if 24 is not accepted, just like foobar2000 does.
Aleksoid1978
19th August 2011, 06:17
Can anybody make Debug version of LAVSplitter ???
madshi
19th August 2011, 08:20
i'm done with my 3 icon sets.
lgtm.
nevcairiel
19th August 2011, 11:51
LAV Filters 0.32
General
- The installer will now add shortcuts to the start menu to open the filter configurations
- The ffmpeg DLLs have been renamed to carry a "lav" suffix to avoid collisions with other components
LAV Splitter
- Improved detection of AAC LATM tracks (previously mis-detected as mp1/mp2)
- Fixed playback of badly interleaved AVI files
- Smarter default stream selection for RealMedia files
- Improved stream language handling for Blu-rays
- Fixed a crash issue with the Forced Subtitle pin on Blu-rays
LAV Audio
- DTS decoding failures are now handled more gracefully
- Fixed Media Types for Stereo 44.1kHz Audio
LAV Video
- First official version - refer to release notes for details
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.32.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.32.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.32-x64.zip)
LAV Video
This release officially introduces the LAV Video decoder, a versatile video decoder based on the ffmpeg decoding libraries.
It can decode nearly all mainstream files (except interlaced VC-1), and aims at doing this with the highest quality possible.
Notable features:
- Full support for H.264, including 4:4:4 and 10-bit
- Support for native output of YUV 4:2:0, 4:2:2 and 4:4:4, in 8 or 10-bit each.
--- Dithering for 10-bit sources when using 8-bit output
- Proper flagging of interlaced fields for deinterlacing in the renderer.
- A wide range of formats:
--- H264, VC1, MPEG1/2/4, MS-MPEG4 (DivX3), VP3, VP6, VP8, WMV1/2/3, MJPEG/MJPEGB, DV, Theora, FLV1, SVQ1/SVQ3, H261, H263, Intel Indeo 3/5, Fraps, HuffYUV, TSCC/Camtasia, Bink, Smacker, Real Video 1-4, Lagarith, Cinepak, Camstudio, QPEG, ZLIB/MSZH, QTRle, QTRpza
Known issues:
- Converting YUV to RGB is not working optimally. You can choose between a very low quality variant (but fast), and a very slow variant (but high quality). A new RGB converter is planned, and will be available soon.
- Pixel Format conversions in general are slow. Its also planned to replace/optimize the most critical conversions. To avoid this, use madVR or another renderer which natively supports all pixel formats. This will only affect you if you actually play content that needs to be converted, though.
The decoder has already been tested extensively over the last month through the test versions posted here, and i'm quite confident that there are no major bugs left.
You can check the TODOs, open issues and plans on the bugtracker: http://code.google.com/p/lavfilters/issues/list
When reporting bugs in the video decoder, its crucial to get a sample file, and all important information about your playback setup - which player, which renderer and which source filter you used.
Everything else
The Installer will now install shortcuts into the start menu to open the configuration of the filters without requiring a player to do it.
Anyone that wants to integrate the filters in a codec pack, or something similar, you can now of course also offer a direct link to the property pages. The command is simple: "rundll32 LAVSplitter.ax,OpenConfiguration". The same for LAV Audio and LAV Video, of course.
The other changes all seem straight forward, the main focus since 0.31 was on the video decoder, and not much was done on the splitter or audio side.
Have fun with this version, and please report any issues you might have.
betaking
19th August 2011, 12:08
LAV Filters 0.32
General
- The installer will now add shortcuts to the start menu to open the filter configurations
- The ffmpeg DLLs have been renamed to carry a "lav" suffix to avoid collisions with other components
LAV Splitter
- Improved detection of AAC LATM tracks (previously mis-detected as mp1/mp2)
- Fixed playback of badly interleaved AVI files
- Smarter default stream selection for RealMedia files
- Improved stream language handling for Blu-rays
- Fixed a crash issue with the Forced Subtitle pin on Blu-rays
LAV Audio
- DTS decoding failures are now handled more gracefully
- Fixed Media Types for Stereo 44.1kHz Audio
LAV Video
- First official version - refer to release notes for details
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.32.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.32.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.32-x64.zip)
LAV Video
This release officially introduces the LAV Video decoder, a versatile video decoder based on the ffmpeg decoding libraries.
It can decode nearly all mainstream files (except interlaced VC-1), and aims at doing this with the highest quality possible.
Notable features:
- Full support for H.264, including 4:4:4 and 10-bit
- Support for native output of YUV 4:2:0, 4:2:2 and 4:4:4, in 8 or 10-bit each.
--- Dithering for 10-bit sources when using 8-bit output
- Proper flagging of interlaced fields for deinterlacing in the renderer.
- A wide range of formats:
--- H264, VC1, MPEG1/2/4, MS-MPEG4 (DivX3), VP3, VP6, VP8, WMV1/2/3, MJPEG/MJPEGB, DV, Theora, FLV1, SVQ1/SVQ3, H261, H263, Intel Indeo 3/5, Fraps, HuffYUV, TSCC/Camtasia, Bink, Smacker, Real Video 1-4, Lagarith, Cinepak, Camstudio, QPEG, ZLIB/MSZH, QTRle, QTRpza
Known issues:
- Converting YUV to RGB is not working optimally. You can choose between a very low quality variant (but fast), and a very slow variant (but high quality). A new RGB converter is planned, and will be available soon.
- Pixel Format conversions in general are slow. Its also planned to replace/optimize the most critical conversions. To avoid this, use madVR or another renderer which natively supports all pixel formats. This will only affect you if you actually play content that needs to be converted, though.
The decoder has already been tested extensively over the last month through the test versions posted here, and i'm quite confident that there are no major bugs left.
You can check the TODOs, open issues and plans on the bugtracker: http://code.google.com/p/lavfilters/issues/list
When reporting bugs in the video decoder, its crucial to get a sample file, and all important information about your playback setup - which player, which renderer and which source filter you used.
Everything else
The Installer will now install shortcuts into the start menu to open the configuration of the filters without requiring a player to do it.
Anyone that wants to integrate the filters in a codec pack, or something similar, you can now of course also offer a direct link to the property pages. The command is simple: "rundll32 LAVSplitter.ax,OpenConfiguration". The same for LAV Audio and LAV Video, of course.
The other changes all seem straight forward, the main focus since 0.31 was on the video decoder, and not much was done on the splitter or audio side.
Have fun with this version, and please report any issues you might have.
GOOD JOB!:thanks:
jmone
19th August 2011, 12:28
Well done! Couple of Q on the LAVVideo:
1) Can you just reject connection for VC1(i) or can you only reject all VC1?
2) What is everyone doing for a high quality de-interlacer?
nevcairiel
19th August 2011, 12:30
1) Can you just reject connection for VC1(i) or can you only reject all VC1?
I tried that, but it also blocks progressive content that was encoded at 60i with forced pulldown, like HD-DVDs, so i removed it again.
2) What is everyone doing for a high quality de-interlacer?
I only watch interlaced content with LAV CUVID. :)
If i werent, i would use ffdshow raw with yadif.
jmone
19th August 2011, 12:41
Yup LAVCUVID is still the best Video Decoder IMO as you get all the benefits of LAV Video + VC(i) and a quality deinterlacer all in one! Anyway, I know that we are in a holding pattern with ffmpeg support of VC(i), but in regards to deinterlacing, where do you see that it should be done:
1) adding something like YADIF to LAV Video, or
2) should it be the job of an existing Renderer (eg, a feature enhancement to madVR?), or
3) should it be a separate filter (possible to use the GPU for this)?
fastplayer
19th August 2011, 13:09
Thanks for LAVVideo, nev! :)
Found a small typo in /demuxer/LAVSplitter/SettingsProp.cpp, line 168:
switchign --> switching
adam777
19th August 2011, 13:26
great work, nev!
Something weird I noticed - when using the installer, although I setup MPC-HC to prefer the following filters (in order): File Source (Async.) -> LAV Splitter -> LAV Splitter source, it's LAV Splitter source that gets loaded.
In fact, in order to use File Source (Async.) + LAV Splitter, I need to explicitly block LAV Splitter Source, so it won't get loaded.
When using the ZIP file, everything seems OK, File Source (Async.) + LAV Splitter loads as expected.
Not sure it's that big an issue (what is File Source (Async.) good for, again? :) ), just weird...
nevcairiel
19th August 2011, 13:31
Technically thats a bug in MPCHC. The installer assigns lav splitter source directly to the expansion, using just the zip doesnt. If mpchc find such a extension mapping, its always stronger then any other setting, only when you block it completely, it overwrites it.
fastplayer
19th August 2011, 13:43
nev, can you change the line endings of changelog.txt and readme.txt to DOS instead of UNIX-style? It's just one long line in Notepad.
nevcairiel
19th August 2011, 13:56
Thats actually harder then it would appear to be, because Git stores text files with normalized line endings (meaning Unix style)
I can probably set it to make it Windows style on checkout..
JarrettH
19th August 2011, 14:12
Now for downmixing and I can kiss ffdshow goodbye :cool:
fastplayer
19th August 2011, 15:29
This file doesn't display correctly when using LAVSplitter:
http://www.mediafire.com/?to56a070x43dskn
It shows just one grey frame whereas Haali shows a horizontal gradient. Can somebody reproduce this?
nevcairiel
19th August 2011, 15:30
This file doesn't display correctly when using LAVSplitter:
http://www.mediafire.com/?to56a070x43dskn
It shows just one grey frame whereas Haali shows a horizontal gradient. Can somebody reproduce this?
The file seems to be H264 AnnexB muxed into MKV, such an format is very uncommon, not MKV spec-conform, and not supported (yet). :)
http://code.google.com/p/lavfilters/issues/detail?id=43
Someone reported that file already. :p
fastplayer
19th August 2011, 15:47
Argh, sorry for the noise then!
I'll just convert this abomination to spec-conform MKV :)
adam777
19th August 2011, 16:21
Technically thats a bug in MPCHC. The installer assigns lav splitter source directly to the expansion, using just the zip doesnt. If mpchc find such a extension mapping, its always stronger then any other setting, only when you block it completely, it overwrites it.
Oh, OK. :thanks:
Not a big issue, anyway.
ppp0941
19th August 2011, 16:32
There is some problem with changing the audio track
I get the same language from all track
But there are different language when not using LAV filter
6233638
19th August 2011, 16:48
Thought it might be of interest to people, just tested power consumption of my PC using LAV CUVID vs LAV Video Decoder and MadVR.
In short, LAV Video Decoder dropped power consumption of my system by about 50 watts.
I suspect the reason for this is that LAV CUVID keeps my GPU in its high performance mode, whereas LAV Video Decoder lets it drop down into the low power consumption mode after 20-30s of playback.
CPU usage on playback is 5-10% with CUVID, 20-30% with LAV Video Decoder.
Mercury_22
19th August 2011, 16:58
Thought it might be of interest to people, just tested power consumption of my PC using LAV CUVID vs LAV Video Decoder and MadVR.
In short, LAV Video Decoder dropped power consumption of my system by about 50 watts.
I suspect the reason for this is that LAV CUVID keeps my GPU in its high performance mode, whereas LAV Video Decoder lets it drop down into the low power consumption mode after 20-30s of playback.
CPU usage on playback is 5-10% with CUVID, 20-30% with LAV Video Decoder.
It'll be very interesting to know how this stands compare to MPC-HC's DXVA + EVR CP
P.S. My guess another 50 watts drop :p
nevcairiel
19th August 2011, 17:06
P.S. My guess another 50 watts drop :p
It'll most likely increase again.
6233638
19th August 2011, 18:11
It'll be very interesting to know how this stands compare to MPC-HC's DXVA + EVR CP
P.S. My guess another 50 watts drop :p
Initial power consumption with LAV CUVID + MadVR: 180W
LAV Video Decoder + MadVR: 130W
LAV Video Decoder + MadVR + Maximum Windows & BIOS Power Saving Options Enabled: 110W
EVR-CP + MPC-HC DXVA: 100W
Idle: 90W
I'm pretty happy with that, and 10W is worth it for the improvement MadVR + LAV brings.
Idle power consumption is a bit higher than I expected, but I do have five hard drives and two optical drives in there.
Mercury_22
19th August 2011, 18:23
Initial power consumption with LAV CUVID + MadVR: 180W
LAV Video Decoder + MadVR: 130W
LAV Video Decoder + MadVR + Maximum Windows & BIOS Power Saving Options Enabled: 110W
EVR-CP + MPC-HC DXVA: 100W
Idle: 90W
I'm pretty happy with that, and 10W is worth it for the improvement MadVR + LAV brings.
Idle power consumption is a bit higher than I expected, but I do have five hard drives and two optical drives in there.
As I was expected :)
But with an ( HTPC ) video card (like mine :p) the gain (in %) I'll bet it's much bigger
P.S. It'll be more interesting (more accurate) a comparison using EVR for all
nevcairiel
19th August 2011, 18:32
The difference will be smaller if your video card is actually a low-powered card specifically for HTPC dutys.
Maybe its already running on a certain level just with madVR so it pushes itself into high-performance mode.
Such a high difference is quite natural when your GPU is totally overpowered for video playback. The performance mode eats more power when its clocked higher. ;)
mindbomb
19th August 2011, 19:18
I have 2 inter-related questions about lav video:
by default, i assume hardware deinterlacing is used with evr cp since nv12 is used?
also, the high quality conversion option, that doesn't apply to outputting blurays to nv12, right?
nevcairiel
19th August 2011, 19:31
by default, i assume hardware deinterlacing is used with evr cp since nv12 is used?
It should work with both NV12 or YV12, but yes.
also, the high quality conversion option, that doesn't apply to outputting blurays to nv12, right?
It mostly only affects RGB conversions.
pirlouy
19th August 2011, 19:31
You mean LAV CUVID uses more power than LAV CPU Video decoder ??? I though one reason of CUVID was the fact it uses a dedicaced GPU processor which save ressources ??!!!!
Thanks for the new Video decoder. I'm doing tests right now. I notice MPEG1 videos are not decoded by LAV Video decoder if I disable MPEG1 support in ffdshow. It's the Windows default one which is used. Is it intended (lower merit) ? Does the MS one better then the ffmpeg one ?
Also, it does not decode MP1 audio (whereas ffdshow do). Intended ?
CruNcher
19th August 2011, 19:35
The difference will be smaller if your video card is actually a low-powered card specifically for HTPC dutys.
Maybe its already running on a certain level just with madVR so it pushes itself into high-performance mode.
Such a high difference is quite natural when your GPU is totally overpowered for video playback. The performance mode eats more power when its clocked higher. ;)
Btw nev did you compared (Bitstream support, eventual Software Bugs,Decoder Bugs and limits) Nvidias VP4 stability vs Intels yet also Deinterlacing Performance and Quality ?
We know that Performance through the shorter Paths is much better now but what about the SDK quality compared to Nvidias Ecosystem NVcuvid (heavily influenced from the get go by Donald Graft and Doom9),Nvcuvenc vs Intel MediaSDK 3 :) ?
Most reviews also not really go into details here and some HQV tests are quiet subjective after all and retests are virtually never done based on a new SDK release (UVD3 being the best example which suffered especially from this being so problematic in the beginning in bitstream support terms) :)
nevcairiel
19th August 2011, 19:37
If you use EVR-CP or something like that, Intels decoder is fine, deinterlacing quality is similar to the others. But the GPU itself is too slow for madVR.
The next generation might make it a good HTPC chip, if the GPU gets some more shader power, and the 24p bug is fixed.
nevcairiel
19th August 2011, 19:38
Thanks for the new Video decoder. I'm doing tests right now. I notice MPEG1 videos are not decoded by LAV Video decoder if I disable MPEG1 support in ffdshow. It's the Windows default one which is used. Is it intended (lower merit) ? Does the MS one better then the ffmpeg one ?
Also, it does not decode MP1 audio (whereas ffdshow do). Intended ?
With which splitter? Probably the media types are different.
pirlouy
19th August 2011, 19:58
I try to use only LAV stuff (except madVR decoders), and I confirm it's the LAV splitter. It's for all MPEG1 videos !
As you guess, these are poor quality videos.
Here is an example, with MPEG1 videos and MP1 audio:
http://dl.free.fr/vpgBXGDfH (5Mo)
6233638
19th August 2011, 20:29
You mean LAV CUVID uses more power than LAV CPU Video decoder ??? I though one reason of CUVID was the fact it uses a dedicaced GPU processor which save ressources ??!!!!Yes, but it makes my GPU (which is a gaming-class GPU rather than HTPC) go into its high power mode rather than staying in its low power mode which means the system ends up using considerably more power.
It probably doesn't need to be in the high power state, but there doesn't seem to be a way to force it to stay in the low power mode, it's automatic.
The CPU does the same thing when running LAV Video Decoder, clocking up to the full speed, but you can create a power management profile to keep it downclocked rather than going up to full speed to keep power consumption down. (as CPU usage isn't going over 30% it's fine in the low power state)
DXVA shaves off 10W compared to the CPU decoding, but I can't use MadVR with DXVA.
pirlouy
19th August 2011, 20:43
Yeah... I'm not really convinced. Maybe someone with a GT430 could tell his results.
The use of a special dedicaced processor should not interfere with GPU processor.
It seems to me it's better to use CPU decoder (LAV Video or MadVR -actual- decoders) than CUDA solution. CUDA is like DXVA: untrustworthy.
nevcairiel
19th August 2011, 20:45
The real advantage is the deinterlacing with lav cuvid. ;)
Plutotype
19th August 2011, 21:10
Hi Nev,
tested 0.32, so far no issues with video. I have couple of general questions:
- LAVvideo - what would speak for your LAVvideo decoder to be used instead of internal madVR or even ffdshow video decoder?+/-
- LAVvideo - number of threads is the number of physical cores or inclusive virtual ones?
- LAVsplitter - is File Source ( Async. ) still needed in the preffered list of external decoders?
- LAVsplitter - does "remove audio decoder before audio stream switch" work properly with MPC-HC? In what exactly does it help?
- should I use exe installer instead of .bat files?
Thanks
Pluto
madshi
19th August 2011, 21:35
- LAVvideo - what would speak for your LAVvideo decoder to be used instead of internal madVR or even ffdshow video decoder?+/-
Compared to the current version of the madVR internal decoders:
+ LAV fully supports Reclock
+ LAV allows you to use post processing, e.g. DirectVobSub
+ LAV supports more video codecs
o performance should be identical
- LAV doesn't support VC-1 interlaced, but doesn't reject it
Compared to ffdshow:
+ newer version of ffmpeg/libav library, I think
+ full support for 9bit & 10bit decoding, 4:2:0, 4:2:2 and 4:4:4
+ capable of outputting decoded video untouched to madVR
+ dedicated and active developer -> quick bugfixes etc
- LAV doesn't support VC-1 interlaced, but doesn't reject it
nevcairiel
19th August 2011, 21:37
- LAV doesn't support VC-1 interlaced, but doesn't reject it
If you tell me how. ;)
I tried, but the only method i could come up with was checking the interlaced flag in the header.
However, that flag is also set on 60i coded EVOs with forced pulldown, which decode just fine.
In the end, i decided to not block it.
madshi
19th August 2011, 21:42
If you tell me how. ;)
I tried, but the only method i could come up with was checking the interlaced flag in the header.
However, that flag is also set on 60i coded EVOs with forced pulldown.
In the end, i decided to not block it.
Well, it's a pity that ffmpeg/libav doesn't support interlaced decoding yet. I don't think there's anything you can do to fix the problem. madVR can work around it by simply switching to the Intel VC-1 decoder for interlaced content.
But truth be told, I consider the MS decoder to be superior to both the ffmpeg/libav and Intel VC-1 decoders, anyway. Consequently I've disabled the internal VC-1 decoder(s) in madVR by default. Maybe it would be worth a thought disabling the VC-1 decoder by default in LAV Video, too? I don't really see why anybody would want to use the ffmpeg/libav VC-1 decoder. It's slower than the MS VC-1 decoder, without having any advantages that I'm aware of. But maybe I'm missing something?
nevcairiel
19th August 2011, 21:46
The MS decoder doesn't work with EVO streams, don't ask me why not.
But i guess cannot make it right for everyone.
SamuriHL
19th August 2011, 21:48
I would prefer to keep EVO streams working. ;) Although I suppose you could add a toggle to turn off VC1.
nevcairiel
19th August 2011, 21:50
There are toggles. :p
SamuriHL
19th August 2011, 21:52
There are toggles. :p
Ah, yea, that's true. So.....what's the problem? :D
jmone
19th August 2011, 21:57
I've given up on keeping the EVOs and now almost finished remuxing all my HD-DVD content to Blu or just M2TS....Just 3 Box Sets of TV Series to go...
madshi
19th August 2011, 22:00
The MS decoder doesn't work with EVO streams, don't ask me why not.
It works just fine for me with EVO streams, using the Haali Media Splitter.
jmone
19th August 2011, 22:05
I actually see the need for a Deinterlacer as more of an issue than VC1(i) for simplifying the Filter environment. I'm thinking here of the MC16 RO setup, where if JR wanted to replace FFDSHOW with LAVVideo, VC1 handling would not change (RO already uses the preinstalled MS Filter for this anyway as this option is OFF in ffdshow), but they would still need to load FFDSHOW RAW to get the deinterlacing options like YADIF.
nevcairiel
19th August 2011, 22:09
It works just fine for me with EVO streams, using the Haali Media Splitter.
Right, i just found the issue that caused it to not work. Should've looked earlier. :)
I also broke EVO VC-1 decoding with LAV CUVID recently, its fixed now, but not yet released .. oh well. Screw those crazy EVOs. :)
SamuriHL
19th August 2011, 22:09
It works just fine for me with EVO streams, using the Haali Media Splitter.
Blasphemy! :p :D
SamuriHL
19th August 2011, 22:11
Right, i just found the issue that caused it to not work. Should've looked earlier. :)
I also broke EVO VC-1 decoding with LAV CUVID recently, its fixed now, but not yet released .. oh well. Screw those crazy EVOs. :)
ROFLMAO! I guess I'll need to build me a new LAV CUVID. :D
jmone
19th August 2011, 22:17
mmmm - I'm now almost tempted to just copy the EVOs from the TV Box Sets as they are already stored one per eps instead of remuxing them
Budtz
19th August 2011, 22:19
Is there a sharpening filter in the new video decoder or can i use ffdshow's in combination?
nevcairiel
19th August 2011, 22:20
Is there a sharpening filter in the new video decoder or can i use ffdshow's in combination?
You can use ffdshow raw as post-processor just fine.
Budtz
19th August 2011, 22:24
You can use ffdshow raw as post-processor just fine.
Is ffdshow raw different from the normal ffdshow tryouts?
and would there be any improvments to pq by doing this vs just using ffdshow alone for both decoding and postprocessing?
nevcairiel
19th August 2011, 22:26
There is too many factors involved to really comment on this right off the bat. ffdshow has some known issues, but if they affect you directly is impossible to say.
Plutotype
19th August 2011, 22:27
madshi,
thanks for your responses. Do you still see benefits to have internal video decoder inside of madVR when you can offload the progress on an video decoder to Nev? Competition is good, but how can a ordinary movie freak know what is going on?:)
Nev,
Could you please give me short answers my other questions I asked before?
thanks
Pluto
nevcairiel
19th August 2011, 22:30
- LAVvideo - number of threads is the number of physical cores or inclusive virtual ones?
If you want maximum performance, leave it on "Auto".
The fastest option is number of your cores (including the HT cores) * 1.5 - that is what Auto will use.
- LAVsplitter - is File Source ( Async. ) still needed in the preffered list of external decoders?
Not if you use the installer. But it doesn't hurt either.
- LAVsplitter - does "remove audio decoder before audio stream switch" work properly with MPC-HC? In what exactly does it help?
There are some minor issues with MPC-HC, but only if you disable the MPC-HC audio switcher. The advantage of that option is that it allows you to switch the audio decoder for different formats - if you only want the same for most formats anyway, just leave it off.
- should I use exe installer instead of .bat files?
I would use the real installer, it makes sure that everything is setup properly and the LAV Splitter is the preferred splitter. Otherwise you might need the File Source thing.
If LAV Filters are the only filters you install, it doesn't make much of a difference.
The .bat files really are more for people that want to control everything.
Budtz
19th August 2011, 22:38
You can use ffdshow raw as post-processor just fine.
to do this: Do i disable all decoders in ffdshow and then enable "Raw video"?
6233638
19th August 2011, 22:48
Yeah... I'm not really convinced. Maybe someone with a GT430 could tell his results.
The use of a special dedicaced processor should not interfere with GPU processor.
It seems to me it's better to use CPU decoder (LAV Video or MadVR -actual- decoders) than CUDA solution. CUDA is like DXVA: untrustworthy.I've just checked it again; as soon as I start using LAV CUVID, power consumption jumps considerably.
With the BIOS & CPU throttling changes I've made, the system now pulls 147W with MadVR & CUVID (rather than almost 180W) and 144W with EVR-CP & CUVID, compared to 100W with EVR-CP & DXVA.
Obviously with this being a gaming card, the difference in power consumption between its high and low power states is going to be considerably more than a HTPC card like the GT430.
If there's a way to get CUVID to do the decoding without kicking it into the high power state, it looks like it could shave off about 7W of power usage compared to CPU decoding. (which is currently at 110W)
UPDATE: Nvidia Inspector's "Multi Display Power Saver" tool lets me force the GPU to stay in the P8 (Video) mode rather than the P0 (Full 3D) power state. This drops power consumption to 103W with MadVR & LAV CUVID compared to 110W with CPU decoding, or 100W with EVR-CP & DXVA.
This is a less-than-ideal situation though, and it would be better if CUVID only put the GPU into the P8 power state rather than P0.
VipZ
19th August 2011, 22:49
Hi Nev, awesome work on LAV Video release :)
The recent change to allow MS VC1 on EVO's causes more issues than it solves IMO, this being wrong is pretty much the only thing making VC1 simple.
Because this is wrong, ffdshow (wrong fps and sync loss) or MS VC1 (sync but stutters) don't connect to LAV Spiltter on EVO's which don't work anyway. This way you can set any other VC1 decoder as a higher merit over LAV Video to handle VC1 in any other container where there are no issues, leaving LAV Video to handle VC1 in EVO perfectly.
I have pretty much replaced all my HD-DVD's but before this change LAV was the only filter set to be able to deal with EVO flawlessly.
I have yet to encounter any issues with decoding any content with LAV Video set to decode all formats, ffdshow set as disabled for everything but VC1 with wmv9, this is quite a simple setup, but I haven't come across any content which doesn't work with it.
Plutotype
19th August 2011, 22:56
Thanks,
Regarding selecting "auto" for number of threads at LAVvideo - I think I found a bug. When selecting auto and playing MPEG-2 video in 1080p content (m2ts file), MPC-HC crashes. It does not happen with VC-1/AVC videos (m2ts).
When I select any other number of threads for the same MPEG-2, it works fine ( tried some between 1-12 ).
Pluto
rahzel
19th August 2011, 23:15
thanks nev.
lav video works great on my desktop; gonna try it on my htpc later. I can hopefully ditch divx h264.
lauhangwoo
19th August 2011, 23:30
When I installed LAV Filters via installer, I can't complete Windows Experience Index testing anymore.
It fails at Windows Media Decoding optimization or whatever called in english.
This doesn't happen with zip version of LAV Filters x86/x64.
LAV Filters 0.32, Windows7 x64
pirlouy
19th August 2011, 23:43
But truth be told, I consider the MS decoder to be superior to both the ffmpeg/libav and Intel VC-1 decoders, anyway. Consequently I've disabled the internal VC-1 decoder(s) in madVR by default. Maybe it would be worth a thought disabling the VC-1 decoder by default in LAV Video, too? I don't really see why anybody would want to use the ffmpeg/libav VC-1 decoder. It's slower than the MS VC-1 decoder, without having any advantages that I'm aware of. But maybe I'm missing something?
Yes !
With MS decoder, I have some problems: even if it needs less CPU, the video in not always synchronized with audio (and subtitles), there is a delay after some time, or after seeking; and I don't have this problem with ffmpeg (madVR, ffdshow or LAV).
Like I never have problem with ffmpeg, I stay with it.
And it seems I don't have any interlaced videos (I don't have DVD).
mindbomb
19th August 2011, 23:45
to do this: Do i disable all decoders in ffdshow and then enable "Raw video"?
you can do this, but there already is an "ffdshow raw video filter" which is set up like this for convenience.
Also, speaking of that, how good is ffdshow at detecting when to use deinterlacing?
Also, what is wrong with the intel vc-1 decoder? I understand the problems with ffmpeg's, but i would think intel's would be fine.
I can hopefully ditch divx h264.
Heh, I was using divx h264 on one of my computers too, though now I am using lav video. It hasn't been updated for such a long time, I wonder if ffmpeg has more or less caught up to it in terms of performance.
pirlouy
19th August 2011, 23:50
UPDATE: Nvidia Inspector's "Multi Display Power Saver" tool lets me force the GPU to stay in the P8 (Video) mode rather than the P0 (Full 3D) power state. This drops power consumption to 103W with MadVR & LAV CUVID compared to 110W with CPU decoding, or 100W with EVR-CP & DXVA.
This is a less-than-ideal situation though, and it would be better if CUVID only put the GPU into the P8 power state rather than P0.
Thanks for your tests; I'm sure it can help people, and maybe Nevcairiel will find a solution to this problem.
6233638
20th August 2011, 00:01
Thanks for your tests; I'm sure it can help people, and maybe Nevcairiel will find a solution to this problem.As it's more CUVID related than LAV Filters (though it was the new LAV Video Decoder that got me started) I have moved discussion over to that topic: http://forum.doom9.org/showthread.php?p=1520556#post1520556
In short: I now have even lower power consumption than DXVA when playing back SD video using this tool.
There are three power consumption modes for my GPU:P12, low power for 2D
P8, medium power for Video
P0, full power for 3D
DXVA automatically kicks the GPU into P8 power consumption, so EVR-CP/DXVA uses 100W.
With this tool, MadVR/CUVID can run in the P12 state with SD videos, dropping consumption to 92W. (and P8 with HD, at 103W)
So I have effectively halved my power consumption when playing back SD video from 180W this morning to 92W now!
rahzel
20th August 2011, 00:38
Heh, I was using divx h264 on one of my computers too, though now I am using lav video. It hasn't been updated for such a long time, I wonder if ffmpeg has more or less caught up to it in terms of performance.
<--djskribbles from 'AHD'. ;)
bruce73
20th August 2011, 01:10
Sorry for the noob question, but I'm new to LAV and have a quick question about audio. I can't get DTS-HD MA bitstreamed with the LAV decoder with Daum. I have to use it's built-in decoder. Is there a setting I need to enable or disable?
Win 7/64
GT-430
Daum PotPlayer 1.5.29332 (x86)
LAV 0.32
STaRGaZeR
20th August 2011, 01:11
CUDA is like DXVA: untrustworthy.
Everything GPU related = problems. It's a huge mess, with only one culprit: drivers. Drivers suck, all companies the same.
nand chan
20th August 2011, 02:47
Everything GPU related = problems. It's a huge mess, with only one culprit: drivers. Drivers suck, all companies the same.
I can confirm this, drivers suck. Both manufacturer's GPU hardware has been easily capable of supporting 10-bit output now but neither company has actually written drivers worth a damn yet so we still can't use them.
@nevcairiel: Does this build of LAV Video include the swscale levels bug fix?
jmone
20th August 2011, 06:28
Anyone got a link to a build of LAVSplitter with the EVO fix in it I could test?
Thanks
Nathan
betaking
20th August 2011, 07:05
Anyone got a link to a build of LAVSplitter with the EVO fix in it I could test?
Thanks
Nathan
http://hotfile.com/dl/127317313/dd3abe3/LAVFilters-0.33_x86_(Svn).7z.html
cengizhan
20th August 2011, 07:43
I tried to use new version with dvbdream. video and audio is out of sync.
roytam1
20th August 2011, 08:04
I actually benchmarked this now:
Using a H264 4:4:4 10bit 1920x1080 movie, on a Core i7 2600K - in a debug build, release builds will be faster.
These times are *per frame*
Y410 (native) 7.5ms
AYUV 9.8ms
RGB32 20.8ms
YUY2 19.8ms
YV12 20.5ms
NV12 30.4ms
Granted, i just spent some time optimizing the AYUV/Y410 path before doing the measurements.
However, i do not see the higher processing requirements for AYUV.
These numbers show some interesting things, though. For example, it would be impossible to play this movie smoothly if it was 60fps, unless you renderer supports native 4:4:4 input. I am using a bicubic scaler for down-sampling the chroma, i'm sure the numbers for YUY2/YV12/NV12 would be alot lower if i switched to bilinear or even point scaling.
Also, swscale is not multi-threaded right now, but it could be in the future, so we'll see about that.
PS:
Why is there no planar 4:4:4 pixel format? That would be far more efficient then AYUV...
Edit:
Updated Y410 numbers after optimizing the path as well
It had in the past, YV24 (or I444).
but according http://forum.doom9.org/showthread.php?t=113362 , it is not in spec anymore.
AviSynth and VirtualDub will output raw YUV444p video in AVI with FourCC YV24.
for packed YUV 4:4:4, there is an alternative, IYU2.
http://www.fourcc.org/yuv.php#IYU2
jmone
20th August 2011, 08:23
http://hotfile.com/dl/127317313/dd3abe3/LAVFilters-0.33_x86_(Svn).7z.html
Thanks.
Did some testing with an EVO from "Heroes, S1E1"
MediaInfo reports it as:
Video
ID : 253 (0xFD)-85 (0x55)
Format : VC-1
Format profile : AP@L3
Duration : 53mn 17s
Bit rate : 18.6 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Scan order : 2:3 Pulldown
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.374
Stream size : 6.92 GiB (91%)
When I play it with LAVSplitter / LAVCUVID / madVR the movie is reported as 59.94 and I get presentation glitches and it parts it stutters badly.
The same file when remuxed to M2TS plays at 23.976 and while it does not have the presentation glitches it too does not look very good with panning and will stutter on these scenes badly.
Samples:
Original EVO: http://www.megaupload.com/?d=BOC0RSXW
Remuxed M2TS: http://www.megaupload.com/?d=H5USKBUW
VipZ
20th August 2011, 08:43
Thanks.
Did some testing with an EVO from "Heroes, S1E1"
When I play it with LAVSplitter / LAVCUVID / madVR the movie is reported as 59.94 and I get presentation glitches and it parts it stutters badly.
The same file when remuxed to M2TS plays at 23.976 and while it does not have the presentation glitches it too does not look very good with panning and will stutter on these scenes badly.
I'm Uploading samples:
Original EVO: TBA
Remuxed M2TS: TBA
Yep, the only way to play EVO's perfectly is natively with LAV Splitter/Audio/Video. I think Arcsoft may work and LAV CUVID, if you have ATI and why go though all the trouble, where LAV Video works perfectly.
Hero's S1 is the only HD-DVD I haven't replaced, but they work fine with the LAV combo.
nevcairiel
20th August 2011, 09:09
It had in the past, YV24 (or I444).
but according http://forum.doom9.org/showthread.php?t=113362 , it is not in spec anymore.
AviSynth and VirtualDub will output raw YUV444p video in AVI with FourCC YV24.
for packed YUV 4:4:4, there is an alternative, IYU2.
http://www.fourcc.org/yuv.php#IYU2
There is no use in weird formats if nothing else supports them. :)
@nevcairiel: Does this build of LAV Video include the swscale levels bug fix?
What bug fix?
roytam1
20th August 2011, 10:26
There is no use in weird formats if nothing else supports them. :)
What bug fix?
At least madVR will support YV24 and I444 ;-)
Morpheus_xx
20th August 2011, 10:37
Hi,
does the LAV splitter allow to use the AVCHD playlist files in same way as for BluRay discs?
I don't only mean the playback of the single *.MTS files, but also to use the playlist (*.MPL)
The AVCHD structure is nearly identical to BD, but uses short file extensions (3 chars), means: *.bdmv -> .BDM ; *.m2ts -> *.MTS
The main issue with such playlists is, they contain file references to *.m2ts, although the real filenames are *.MTS
(see also http://en.wikipedia.org/wiki/File:AVCHD_actual_file_structure.svg).
When you try to open the playlist with the LAV splitter it fails, because the referenced files are not found. Could the splitter be extended to support the short file extensions as kind of "fallback" source when reading the stream files?
Thank you
Morpheus_xx
dann23
20th August 2011, 13:32
@nevcairiel
Does lavvideo support subtitles in wmp12? I tried some mkv files but no subtitles. I see in wmp12 that lavvideo and lavaudio are used for decoding but no subtitles. I use the standard settings for lavsplitter and I even tried to put eng in the preffered languafes field.
cncb
20th August 2011, 14:15
I have some Blu-rays with 5.1 PCM audio that I want to send over HDMI to my AVR. I am able to do this successfully with LAVAudio in a player with WASAPI output. However, there is another Directshow player I want to use that doesn't support WASAPI output. Is the only way to do this by using ReClock or is there some other "trick" to get this to work? I really have no use for the other features of ReClock so I would like to minimize use of extraneous filters if possible. Thanks.
nevcairiel
20th August 2011, 14:58
I finished implementing the first hand-optimized pixel converter, in this case YUV 4:4:4 9/10bit -> AYUV, with dithering, in SSE2
Before: ~120fps at ~30% CPU usage
After: ~250fps at ~90% CPU usage
In both cases, the decoding is multi-threaded, but the conversion is not (Quad Core with HT, so 8 virtual cores)
The new code is fast enough to let the decoder run at nearly maximum speed. I call this success. :D
Its really painfully obvious now how SSE2 etc are really designed for image processing, the functions they offer just fit for what i need. :)
SamuriHL
20th August 2011, 14:59
Can't we have 250fps at ~30% CPU usage??? :D
VipZ
20th August 2011, 15:25
Nev, is there any chance to revert this change, e6bc58c658cd ?
Allowing the MS decoder to connect is pointless IMO as it can't decode VC1 in EVO with your splitter anyway, while LAV Video has no issues. This just makes VC1 more painful to make a solution around.
v0lt
20th August 2011, 15:27
FLICs do not play.
Example (http://samples.mplayerhq.hu/fli-flc/HWdopple.flc)
madshi
20th August 2011, 15:30
I finished implementing the first hand-optimized pixel converter, in this case YUV 4:4:4 9/10bit -> AYUV, with dithering, in SSE2
Before: ~120fps at ~30% CPU usage
After: ~250fps at ~90% CPU usage
Nice! JFMI, what kind of dithering have you ended up with? Ordered dithering?
Allowing the MS decoder to connect is pointless IMO as it can't decode VC1 in EVO with your splitter anyway
If that is the case then why not fixing this problem? Decoding VC1 in EVO works with the Haali Media Splitter, so it should be possible to make it work with the LAV Splitter, too.
nevcairiel
20th August 2011, 15:33
Nice! JFMI, what kind of dithering have you ended up with? Ordered dithering?
Yes, pretty standard ordered dithering with a Bayes matrix - 8x8, because it fits so perfectly on the SSE2 logic (8 16-bit pixels fit into a SSE2 register)
Nev, is there any chance to revert this change, e6bc58c658cd ?
Allowing the MS decoder to connect is pointless IMO as it can't decode VC1 in EVO with your splitter anyway, while LAV Video has no issues. This just makes VC1 more painful to make a solution around.
Decoding works for me on the few sample EVO clips people gave me. Needs FTC when using EVR-CP though, but is fine on madVR.
Thats what the change was all about, making it work. :)
In any case, i won't break a decoder on purpose. If people don't want to use it, their player should somehow manage that for them.
Midzuki
20th August 2011, 15:46
To whom this may concern :) , MPG-in-MP4 started to work after I un-registered MPC-HC's MP4Splitter.ax and all :devil: Haali DLLs. I don't know why, but the CPU-usage is reduced by 50% when I use LAV's MP4 splitter together with Cyberlink's MPEG decoder :) :) :)
P.S.: :thanks: again.
VipZ
20th August 2011, 16:00
that is the case then why not fixing this problem? Decoding VC1 in EVO works with the Haali Media Splitter, so it should be possible to make it work with the LAV Splitter, too.
The main reason, is that no one wants to put effort to fix EVO anymore as its a dead format, I am just trying to keep LAV working perfectly with EVO as it was.
Decoding works for me on the few sample EVO clips people gave me. Needs FTC when using EVR-CP though, but is fine on madVR.
Thats what the change was all about, making it work. :)
In any case, i won't break a decoder on purpose. If people don't want to use it, their player should somehow manage that for them.
I was under the impression that FTC on VC1 was never needed with LAV Spitter so never tried this.
The main reason I like that other filters never connected was that you could use ffdshow as a higher merit to handle any VC1 content via the wmv9 decoder which works very well, but still having LAV Video to solely deal with VC1 in EVO's. This setup is completely hardware independent and requires no real setup so anyone can easily achieve full VC1 playback.
Personally I am just reverting this commit in my builds to make it easier.
nevcairiel
20th August 2011, 16:02
I was under the impression that FTC on VC1 was never needed with LAV Spitter so never tried this.
It is for EVOs because the MS decoder does not produce 100% smooth timestamps because of the forced pulldown.
But it works perfectly otherwise.
STaRGaZeR
20th August 2011, 16:03
I finished implementing the first hand-optimized pixel converter, in this case YUV 4:4:4 9/10bit -> AYUV, with dithering, in SSE2
Before: ~120fps at ~30% CPU usage
After: ~250fps at ~90% CPU usage
In both cases, the decoding is multi-threaded, but the conversion is not (Quad Core with HT, so 8 virtual cores)
The new code is fast enough to let the decoder run at nearly maximum speed. I call this success. :D
Its really painfully obvious now how SSE2 etc are really designed for image processing, the functions they offer just fit for what i need. :)
http://www.xtremesystems.org/forums/images/smilies/clap.gifhttp://www.xtremesystems.org/forums/images/smilies/clap.gifhttp://www.xtremesystems.org/forums/images/smilies/clap.gif
Any chance to see the speed improvement of the conversion itself? :D
nevcairiel
20th August 2011, 16:05
Any chance to see the speed improvement of the conversion itself? :D
The big improvement is only visible in release builds, because debug builds do not fully optimize the intrinsics (for debugging purposes, its copies the values back into memory after every step, so the debugger can see them)
But in release builds, the debug timing logic is turned off..
Lets see if i can maybe activate the intrinsic optimization.
VipZ
20th August 2011, 16:12
It is for EVOs because the MS decoder does not produce 100% smooth timestamps because of the forced pulldown.
But it works perfectly otherwise.
Is there any harm in leaving FTC on all the time with your filters?
Also that commit, was this pretty much just against EVO or MPEG in general?
nevcairiel
20th August 2011, 17:19
Also that commit, was this pretty much just against EVO or MPEG in general?
No idea what you mean with "against" - the media type of VC-1 in EVO was just wrong, and i fixed it.
VipZ
20th August 2011, 17:42
No idea what you mean with "against" - the media type of VC-1 in EVO was just wrong, and i fixed it.
Let me try rephrase :)
The change in that commit to fix the VC1 media type, does this affect EVO files only, or mpeg in general.
nevcairiel
20th August 2011, 17:43
All mpeg-ps files, although i'm unsure if VC-1 exists in normal MPEG-PS files..
VipZ
20th August 2011, 17:49
Thanks for the info, was curious if I decided to keep the commit reverted in my builds what the side affects could be.
nevcairiel
20th August 2011, 18:20
I still don't get what thats good for. Just set LAV Video to be your preferred decoder, and it will be used.
If you want different decoders based on the source medium, maybe you should switch to a player that allows a fine-grained control like that. ;)
VipZ
20th August 2011, 18:37
LAV Video is my preferred decoder and already kicked ffdshow out with the exception for VC1 as it handles interlaced content perfectly. I am just torn between either VC1 interlaced or VC1 in EVO being more important, Before that commit I didn't have to decide as it just worked :)
With my Playback Kit I make, I want it to be universal in playback ability without needing to change settings based on content.
I am open to another suggestion to play back VC1 universally without any special requirements.
nevcairiel
20th August 2011, 18:46
If ffmpeg doesn't implement VC-1 "soon" (lets say, this year), i might be persuaded to implement the MS wmv9 decoder. But for now, alot of other things to do.
VipZ
20th August 2011, 19:10
Cool, glad to know you will consider it if it's becomes necessary :)
But agreed while VC1 is the only real annoyance, its not big enough to warrant putting on top of any list. The combo of LAV Video and ffdshow for VC1 will work for the time being.
lauhangwoo
20th August 2011, 19:14
When I'm using "Repeat forever" option in MPC-HC, this flv having proper video/audio in the 1st playthrough, but no video/audio in the 2nd playthrough.
http://www.geocities.co.jp/lauhangwoo/etc/sample2.zip
nautilus7
20th August 2011, 19:51
Anyone else having problems with the Arcsoft DTS decoder? I have placed the dll in the LAV directory but in status keeps saying "dca" when i play a master audio track.
VipZ
20th August 2011, 20:17
Nev, it seems the Read AR from stream option no longer works with h264/MKV's.
nevcairiel
20th August 2011, 20:31
Nev, it seems the Read AR from stream option no longer works with h264/MKV's.
The option works just fine, it looks like ffmpeg fails to read the AR from the H264 header...
Are you sure it worked before? :D
Midzuki
20th August 2011, 20:31
Anyone else having problems with the Arcsoft DTS decoder? I have placed the dll in the LAV directory but in status keeps saying "dca" when i play a master audio track.
What version of the DTSdecoder DLL do you have? :confused:
Mine is 1.1.0.1
Also, are you playing it thru LAV Splitter, or thru something else?
Budtz
20th August 2011, 20:46
Seems ffdshow added support for decoding H.264 10-bit 4:2:0 and 4:4:4 since r3954 so there seems not much difference between lav video and ffdshow other than ffdshow has lots more post processing and other configurations options. Or am i missing something?
Lav of cause is much easer to setup and use.
VipZ
20th August 2011, 21:20
The option works just fine, it looks like ffmpeg fails to read the AR from the H264 header...
Are you sure it worked before? :D
Yep, It used to work perfectly before. There have been so many changes recently, I have no clue when it stopped working, I can say it was a build older than Sunday last week.
This is just some guesses, but I would maybe think,
e89e21b0e39d-Ensure the Aspect Ratio is not 0
18505222dd93-Add support for the VIDEOINFOHEADER output format type.
I will try test old revisions and see which one broke it. EDIT, its between 06-08 and 14-08, so many changes :)
nevcairiel
20th August 2011, 21:40
Its not any change i did, ffmpeg just doesn't report a AR anymore. It works on some MPEG-2 streams where i knew the AR changes mid-stream, but on the MKV it just reports no AR at all.
If you could figure out in which of my uploaded versions it first broke, i could narrow down the range of ffmpeg commits, otherwise its insane to find it.
Edit:
I just tested "LAVFilter-video1.zip", the first version ever uploaded, and on the MKV i have it doesn't work. Yet, LAV CUVID somehow manages to figure it out.
I'm confused!
Edit2:
Or maybe it doesn't? It seems to go to the same AR as the file dimensions, this was 720x480, and it claims its 3:2, which matches exactly. Maybe i'm testing with a wrong file. :P
I did re-test my MPEG2, and i'm sure that the option itself works just fine.
VipZ
20th August 2011, 21:58
This is the sample stream is 4:3, but has a 16:9 MKV AR Flag, http://www.mediafire.com/?t1i1fqcj6qhwb4s
Under default conditions, this will display as 4:3, but if that use stream AR option was unticked, it would then take the 16:9 AR flag, a build I did on the 6th is working. I am battling with git to try get some intermediate builds.
EDIT: Took a guess and reverted this commit, e89e21b0e39d-Ensure the Aspect Ratio is not 0. It works again after this.
Yep its fixed :) Its not as dynamic as before, but that's not an issue. (Can switch to stream AR, but not back to flag AR)
nevcairiel
20th August 2011, 22:01
Oh, i know whats going on, i think.
Its really the other way around. Disabling that option doesn't really work. And i thought enabling it didn't work. :)
Should hopefully be fixed.
Cudo
20th August 2011, 22:52
Hi,
In MPC-HC x86 on Win 7 x64, no matter which decoders / splitter I use, I always have to set 250 ms audio delay to fix an A/V sync issue when playing x264 .mkv video files which contain DTS, DTS-HD or DTS-HD MA audio. However, unlike AC3Filter and ffdshow audio, LAV Audio decoder has no built-in option to set a delay. Is there anything I can do to work my way around this? My sound setup is analog 5.1 surround via onboard Realtek HD Audio. Any help would be greatly appreciated.
nevcairiel
20th August 2011, 22:54
MPC-HC itself has a feature to control audio delay.
Cudo
20th August 2011, 23:07
Anyone else having problems with the Arcsoft DTS decoder? I have placed the dll in the LAV directory but in status keeps saying "dca" when i play a master audio track.
No, my Arcsoft dll is 1.1.0.8 and LAV Audio status says it's DTS-HD MA.
Cudo
20th August 2011, 23:19
MPC-HC itself has a feature to control audio delay.Woow, that was fast! :D I can't see farther than the tip of my nose I guess lol. Thanks an octillion. :)
jmone
20th August 2011, 23:38
Nevcairiel - did you get a change to try these VC-1 samples?
Thanks
Nathan
Thanks.
Did some testing with an EVO from "Heroes, S1E1"
MediaInfo reports it as:
Video
ID : 253 (0xFD)-85 (0x55)
Format : VC-1
Format profile : AP@L3
Duration : 53mn 17s
Bit rate : 18.6 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Scan order : 2:3 Pulldown
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.374
Stream size : 6.92 GiB (91%)
When I play it with LAVSplitter / LAVCUVID / madVR the movie is reported as 59.94 and I get presentation glitches and it parts it stutters badly.
The same file when remuxed to M2TS plays at 23.976 and while it does not have the presentation glitches it too does not look very good with panning and will stutter on these scenes badly.
Samples:
Original EVO: http://www.megaupload.com/?d=BOC0RSXW
Remuxed M2TS: http://www.megaupload.com/?d=H5USKBUW
nevcairiel
20th August 2011, 23:41
VC-1 EVO being reported as 59.94 is normal, there is nothing really to be done. It looks like a interlaced stream at 60i, but when decoded only outputs 24 progressive frames per second. It just doesn't know any better.
The whole concept of forced pulldown is weird to handle, especially if you want auto-refresh rate switching to work. I'm so glad HDDVD is not the format that prevailed.
nautilus7
20th August 2011, 23:45
What version of the DTSdecoder DLL do you have? :confused:
Mine is 1.1.0.1
Also, are you playing it thru LAV Splitter, or thru something else?
No, my Arcsoft dll is 1.1.0.8 and LAV Audio status says it's DTS-HD MA.
Well, that's it. Problem is with v1.1.0.0. I tested with v1.1.0.8 which I also have and it's working fine.
jmone
21st August 2011, 00:29
VC-1 EVO being reported as 59.94 is normal, there is nothing really to be done. It looks like a interlaced stream at 60i, but when decoded only outputs 24 progressive frames per second. It just doesn't know any better.
The whole concept of forced pulldown is weird to handle, especially if you want auto-refresh rate switching to work. I'm so glad HDDVD is not the format that prevailed.
Thanks - for the explanation.
What I'm trying to work out is why my other EVO and remuxed M2TS play fine and are nice and smooth but both the sample EVO and M2TS looks terrible in comparison with all sorts of judder.
Check at the stutter around the 45-sec mark on the EVO and even the M2TS remux looks terrible to me.
The only thing I can think of is the rest have been either Movie Content (original 24fps), or Music Video (original 60i). I've just got to the first set of TV Series (?? on what it was originally shot at prior to encoding).
SamuriHL
21st August 2011, 01:20
VC-1 EVO being reported as 59.94 is normal, there is nothing really to be done. It looks like a interlaced stream at 60i, but when decoded only outputs 24 progressive frames per second. It just doesn't know any better.
The whole concept of forced pulldown is weird to handle, especially if you want auto-refresh rate switching to work. I'm so glad HDDVD is not the format that prevailed.
ARGH!!! Yes, you REALLY should be using eac3to to rip out that video!!!!! It'll deal with the pulldown correctly. The EVO's themselves, yea, I hear what you're saying. It's just VC1 that's the issue, however.
SamuriHL
21st August 2011, 01:20
Thanks - for the explanation.
What I'm trying to work out is why my other EVO and remuxed M2TS play fine and are nice and smooth but both the sample EVO and M2TS looks terrible in comparison with all sorts of judder.
Check at the stutter around the 45-sec mark on the EVO and even the M2TS remux looks terrible to me.
The only thing I can think of is the rest have been either Movie Content (original 24fps), or Music Video (original 60i). I've just got to the first set of TV Series (?? on what it was originally shot at prior to encoding).
Because you had the pulldown flags removed. ;) (or didn't on the one that isn't smooth)
jmone
21st August 2011, 01:29
The EVO sample is a RAW EVO straight from the HD-DVD. The M2TS sample is created from the streams being extract by eac3to with the pulldown removed and then remuxed with tsmuxer (hence it is now reported as 23.976). I've re-check with other EVO and remuxed M2TS versions and they look fine (including other TV show - Battlestar Galaxtica), so maybe it is just something bad with the Heroes encode.... does anyone see the stuttering issues on these samples or is it just me?
jmone
21st August 2011, 01:33
FYI - here is part of the eac3to log incase I missed something:
eac3to v3.24
command line: "x:\transcodes\eac3to\eac3to.exe" "D:" 3) 1: "x:\Output\Genesis\Chapters_1.txt" 2: "x:\Output\Genesis\Video_2.*" 3: "x:\Output\Genesis\Audio_3_English.W64" -progressnumbers -LOG="x:\Output\Genesis\LOGS\eac3to_PASS3_LOG.LOG"
------------------------------------------------------------------------------
EVO, 1 video track, 1 audio track, 2 subtitle tracks, 0:53:17
1: Chapters, 4 chapters with names
2: VC-1, 1080p24 /1.001 (16:9) with pulldown flags
3: E-AC3, English, 5.1 channels, 1536kbps, 48kHz, dialnorm: -27dB
4: Subtitle (DVD), English, "SDH"
5: Subtitle (DVD), French
Creating file "x:\Output\Genesis\Chapters_1.txt"...
[a03] The Nero decoder doesn't seem to work, will use libav instead.
[v02] Extracting video track number 2...
[a03] Extracting audio track number 3...
[v02] Writing new framerate "24fps /1.001" to bitstream.
[a03] Removing E-AC3 dialog normalization...
[v02] Removing VC-1 pulldown...
[a03] Decoding with libav/ffmpeg...
[a03] Remapping channels...
[a03] Reducing depth from 64 to 24 bits...
[a03] Writing W64...
[a03] Creating file "x:\Output\Genesis\Audio_3_English.W64"...
[v02] Creating file "x:\Output\Genesis\Video_2.vc1"...
[a03] Clipping detected, a 2nd pass will be necessary. <WARNING>
[a03] Starting 2nd pass...
[a03] Extracting audio track number 3...
[a03] Removing E-AC3 dialog normalization...
[a03] Decoding with libav/ffmpeg...
[a03] Remapping channels...
[a03] Reducing depth from 64 to 24 bits...
[a03] Writing W64...
[a03] Applying -0.36dB gain...
[a03] Creating file "x:\Output\Genesis\Audio_3_English.W64"...
Video track 2 contains 76658 frames.
eac3to processing took 23 minutes, 19 seconds.
Done.
SamuriHL
21st August 2011, 02:38
I'm home alone tomorrow for most of the day and I own Heroes season 1 on HD DVD so I can mess with it myself and see what I can come up with.
jmone
21st August 2011, 03:37
Thanks
FlashGordon
21st August 2011, 03:49
I can't get LAV Video to work with the MS DVD Navigator even though it plays individual VOB files just fine. Am I the only one experiencing this or is the navigator just not supported yet?
PepsiLee2001
21st August 2011, 03:58
Dear Sir,
I find two problems about LAV Splitter & audio decoder.
1. it seems that can't split TrueHD & DTS-HD MA 5.1 192K/24bit sound track currently. (from http://www.eastwindimport.com/product-info.asp?ProductId=647)
2. Dobly Digital Plus can't bitstream to AV Receiver. (from Super HiVi Cast)
dann23
21st August 2011, 05:31
wmp12 doesn't show subtitles when using lav filters. Is this normal or is it a bug?
ageback
21st August 2011, 06:08
How to translate LAV Filters' Setting dialogs to other languages?
VipZ
21st August 2011, 09:14
wmp12 doesn't show subtitles when using lav filters. Is this normal or is it a bug?
You will need to use ffdshow RAW for this or vsfilter, but haven't tried to use myself within WMP12
Nev, sorry to bug you again :)
Now that the MKV AR option is fixed, WMV AR is broken again.
Both MKV and WMV work if the following commits are reverted,
520504295eb6-Fix disabling of the Stream AR option
e89e21b0e39d-Ensure the Aspect Ratio is not 0
Also with the recent changes to promote using the MS VC1 decoder, which I am also now using. The MS VC1 Decoder within Windows XP doesn't connect to LAV Splittler but has no issues connecting to the MPC MPEG splitter, I don't care for XP and just occasional test stuff within my Virtual Machine, but I would think this would be an easy enough thing to fix. If you need me to do anything let me know.
Info on the connection,
Filter : Mpeg Splitter (low merit) - CLSID : {DC257063-045F-4BE2-BD5B-E12279C464F0}
- Connected to:
CLSID: {94297043-BD82-4DFD-B0DE-8177739C6D20}
Filter: WMVideo Decoder DMO
Pin: in0
- Connection media type:
Video: WVC1 1920x1080 29.97fps
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: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 149
VIDEOINFOHEADER:
rcSource: (0,0)-(0,0)
rcTarget: (0,0)-(0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 333666
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 16
dwPictAspectRatioY: 9
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1080
biPlanes: 0
biBitCount: 0
biCompression: WVC1
biSizeImage: 0
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 62 17 05 00 00 00 00 00 ........b.......
0030: 00 00 00 00 00 00 00 00 10 00 00 00 09 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 28 00 00 00 80 07 00 00 ........(...€...
0050: 38 04 00 00 00 00 00 00 57 56 43 31 00 00 00 00 8.......WVC1....
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070:|00 00 00 01 0f db fe 3b f2 1b ca 3b f8 86 f1 80 .....Ûþ;ò.Ê;ø†ñ€
0080: ca 02 02 03 09 a5 3e bf 07 fc 00 00 01 0e 1a df Ê....¥>¿.ü.....ß
0090: fc ef c8 6c 40 üïÈl@
- Enumerated media type 0:
Set as the current media type
Midzuki
21st August 2011, 10:57
^ Besides, and regarding ASF files, LAV Splitter still is somewhat slooow :devil: — probably Nev doesn't have a machine "old enough" :D for testing the LAV Filter suite exhaustively :rolleyes: Not sure if he's already studied the source-code for the GDCL ASF Demuxer, for example :p
http://www.gdcl.co.uk/downloads.htm
Gaius
21st August 2011, 11:26
^ Besides, and regarding ASF files, LAV Splitter still is somewhat slooow :devil: — probably Nev doesn't have a machine "old enough" :D for testing the LAV Filter suite exhaustively :rolleyes: Not sure if he's already studied the source-code for the GDCL ASF Demuxer, for example :p
http://www.gdcl.co.uk/downloads.htm
Or maybe ASF is dead as far as this forum is concerned and that porn enthusiasts should stick to WMP.
Midzuki
21st August 2011, 13:38
Or maybe ASF is dead as far as this forum is concerned and that porn enthusiasts should stick to WMP.
Very-well. Now go say that to the entire development team of the LAV Filters, not to me :rolleyes:
e-t172
21st August 2011, 13:49
I bet nevcairiel enjoys being referred to as an "entire development team" :D
mindbomb
21st August 2011, 16:21
i recommended lav video to a friend, and he says that with mediaportal, there is problems with mpeg 2 decoding.
Snowknight26
21st August 2011, 17:02
Installing the x64 LAV Video decoder causes the Explorer thumbnails for FPS1 (Fraps) streams in AVI files to show a green frame.
Plutotype
21st August 2011, 18:17
i recommended lav video to a friend, and he says that with mediaportal, there is problems with mpeg 2 decoding.
http://forum.doom9.org/showthread.php?p=1520551#post1520551
SamuriHL
21st August 2011, 18:19
Guys and gals, Nev said he's not going to be around this weekend, so, if you're finding bugs, please make sure you throw it up on the bug tracker with a sample file and good, clear instructions on how to repro the issue. That'll help Nev get a fix for you faster.
Tracker: http://code.google.com/p/lavfilters/issues/list
(P.S. search the tracker to see if an issue is already open! :))
nevcairiel
21st August 2011, 18:52
Thanks,
Regarding selecting "auto" for number of threads at LAVvideo - I think I found a bug. When selecting auto and playing MPEG-2 video in 1080p content (m2ts file), MPC-HC crashes. It does not happen with VC-1/AVC videos (m2ts).
When I select any other number of threads for the same MPEG-2, it works fine ( tried some between 1-12 ).
Pluto
Very odd.
Can you try this version?
http://files.1f0.de/lavf/LAVFilters-0.32-9-gd86e7ce.zip
All auto-detect should do is detect the number of cores you have, and multiply that with 1.5 (resulting in 12 threads for 8 cores)
All i can think of is that auto-detect somehow doesn't properly report your cores. What OS was this on?
SamuriHL
21st August 2011, 18:55
And....apparently Nev is back. LOL :D
nevcairiel
21st August 2011, 18:56
And....apparently Nev is back. LOL :D
Its 8pm on a sunday, the weekend is over now, and tomorrow is the first day back to work. :(
SamuriHL
21st August 2011, 18:59
Its 8pm on a sunday, the weekend is over now, and tomorrow is the first day back to work. :(
Ah, right, I forgot your timezone. I'm in east coast time zone so it's 2pm on a Sunday afternoon for me. I hear you about that Monday work day thing, though. UGH.
Plutotype
21st August 2011, 20:01
Very odd.
Can you try this version?
http://files.1f0.de/lavf/LAVFilters-0.32-9-gd86e7ce.zip
All auto-detect should do is detect the number of cores you have, and multiply that with 1.5 (resulting in 12 threads for 8 cores)
All i can think of is that auto-detect somehow doesn't properly report your cores. What OS was this on?
Hi Nev,
The MPC-HC crash exists also with this special build playing back MPEG-2 1080p video ( tried 3 different movies ). As I have wrote, the "auto" setting is ok with VC-1 or AVC/H.264 formats.
Im on Win7 SP1 64-bit, MPC-HC 1.5.3.3677, Reclock, madVR 0.73
Can somobody test a MPEG-2 1080p video with the "auto" setting for multithreading ( LAV video ) on a dual/quad core CPU please? I have a sixcore.
Pluto
nevcairiel
21st August 2011, 20:07
I tested on a quadcore, with HT, so 8 effective. The i7 980x that your signature names also has HT, right? so 12 effective, bringing my logic to 18 threads. Maybe thats where the error lies? I'll test with that many threads in a sec..
Edit:
Thats the issue, the mpeg2 decoders maximum limit is 16 threads. I set that as the hard limit in code now.
Plutotype
21st August 2011, 20:12
I tested on a quadcore, with HT, so 8 effective. The i7 980x that your signature names also has HT, right? so 12 effective, bringing my logic to 18 threads. Maybe thats where the error lies? I'll test with that many threads in a sec..
That seems to be the right direction...with 17 or 18 Cores setting it crashes the same way as with the "auto" setting. Again, only with MPEG-2 1080p videos.
Plutotype
21st August 2011, 20:14
I tested on a quadcore, with HT, so 8 effective. The i7 980x that your signature names also has HT, right? so 12 effective, bringing my logic to 18 threads. Maybe thats where the error lies? I'll test with that many threads in a sec..
Edit:
Thats the issue, the mpeg2 decoders maximum limit is 16 threads. I set that as the hard limit in code now.
Thanks Nev for a quick fix.
msoltyspl
21st August 2011, 20:48
Few things I noticed after some using:
- for ogm files, it seems that audio language preferences have no effect - always the first track is used. The tracks were marked properly, quick container change to mkv fixed the issue as well. I'll doublecheck with a few other files as well.
- I had problems with mp3 tracks in mkv/avi being recognized properly (#73 on tracker). It turned out they were recognized just fine, but LAV's merit (0x800003) was below ancient fraunhofer filter's default (0x810000). Now I'm scratching my head if that antiquity is some leftover mess from the past, or actually a windows default. FYI maybe it's something to adjust.
- I've experienced lots of crashes (while seeking only), with LAV splitter. They vanished when I moved back to haali, though I'm not sure if LAV is to blame, or perhaps something else. Will keep an eye on it.
Carpo
21st August 2011, 21:12
Has anyone managed to get thumbnails working on Windows 7 x86/64 with Lav filters? I have tried every registry tweak I could find and still no thumbnails on .mkv files :(
mindbomb
21st August 2011, 21:58
i recommended lav video to a friend, and he says that with mediaportal, there is problems with mpeg 2 decoding.
http://forum.doom9.org/showthread.php?p=1520551#post1520551
well, he was using an amd tri core, and he reported performance issues, no issue with crashing.
Mercury_22
21st August 2011, 22:26
Has anyone managed to get thumbnails working on Windows 7 x86/64 with Lav filters? I have tried every registry tweak I could find and still no thumbnails on .mkv files :(
This is working for meWindows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.mka]
@="WMP11.AssocFile.MKA"
"Content Type"="audio/x-matroska"
"PerceivedType"="audio"
[HKEY_CLASSES_ROOT\.mkv]
@="WMP11.AssocFile.MKV"
"Content Type"="video/x-matroska"
"PerceivedType"="video"
[HKEY_CLASSES_ROOT\.mkv\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]
@="{c5a40261-cd64-4ccf-84cb-c394da41d590}"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MKA]
@="Matroska Media File"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MKV]
@="Matroska Media File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\MLS\Extensions]
"mka"="audio"
"mkv"="video"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\Descriptions]
"819"="Matroska Media File (*.mkv;*.mka)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\MUIDescriptions]
"819"="Matroska Media File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\Types]
"819"="*.mkv;*.mka"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.mka]
"Extension.Handler"="WMP11.AssocFile.MKA"
"Extension.MIME"="audio/x-matroska"
"MediaType.Description"="Matroska Media File"
"PerceivedType"="audio"
"Permissions"=dword:0000000f
"Runtime"=dword:00000007
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.mkv]
"Extension.Handler"="WMP11.AssocFile.MKV"
"Extension.MIME"="video/x-matroska"
"MediaType.Description"="Matroska Media File"
"PerceivedType"="video"
"Permissions"=dword:0000000f
"Runtime"=dword:00000007
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Groups\Audio\MKA]
@="Matroska Media File"
"Extensions"=".mka"
"MIME Types"="audio/x-matroska"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Groups\Video\MKV]
@="Matroska Media File"
"Extensions"=".mkv"
"MIME Types"="video/x-matroska"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\MIME Types\audio/x-matroska]
@="Matroska Media File"
"Extension.Key"=".mka"
"Extensions.CommaSep"="mka"
"Extensions.SpaceSep"=".mka"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\MIME Types\video/x-matroska]
@="Matroska Media File"
"Extension.Key"=".mkv"
"Extensions.CommaSep"="mkv"
"Extensions.SpaceSep"=".mkv"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MediaPlayer\MLS\Extensions]
"mka"="audio"
"mkv"="video"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MediaPlayer\Player\Extensions\Descriptions]
"819"="Matroska Media File (*.mkv;*.mka)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MediaPlayer\Player\Extensions\MUIDescriptions]
"819"="Matroska Media File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MediaPlayer\Player\Extensions\Types]
"819"="*.mkv;*.mka"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\Extensions\.mka]
"Extension.Handler"="WMP11.AssocFile.MKA"
"Extension.MIME"="audio/x-matroska"
"MediaType.Description"="Matroska Media File"
"PerceivedType"="audio"
"Permissions"=dword:0000000f
"Runtime"=dword:00000007
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\Extensions\.mkv]
"Extension.Handler"="WMP11.AssocFile.MKV"
"Extension.MIME"="video/x-matroska"
"MediaType.Description"="Matroska Media File"
"PerceivedType"="video"
"Permissions"=dword:0000000f
"Runtime"=dword:00000007
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\Groups\Audio\MKA]
@="Matroska Media File"
"Extensions"=".mka"
"MIME Types"="audio/x-matroska"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\Groups\Video\MKV]
@="Matroska Media File"
"Extensions"=".mkv"
"MIME Types"="video/x-matroska"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\MIME Types\audio/x-matroska]
@="Matroska Media File"
"Extension.Key"=".mka"
"Extensions.CommaSep"="mka"
"Extensions.SpaceSep"=".mka"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\MIME Types\video/x-matroska]
@="Matroska Media File"
"Extension.Key"=".mkv"
"Extensions.CommaSep"="mkv"
"Extensions.SpaceSep"=".mkv"
Step 1 Clean any codec pack and mkv registry
2 install LAV and apply the above mkv reg
3 open WMC and browse to the videos (I know this last one seem strange but is the only way it's working for me for H264 without any other tweaks :))
otherwise you need to use clsid's tool (http://forum.doom9.org/showthread.php?t=146910)for H.264
roytam1
22nd August 2011, 02:15
New nightly: http://roy.orz.hm/lavf-w32-nightlies/lavf-my110822-7f03a198.7z
Carpo
22nd August 2011, 06:04
This is working for meWindows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.mka]
@="WMP11.AssocFile.MKA"
"Content Type"="audio/x-matroska"
"PerceivedType"="audio"
[HKEY_CLASSES_ROOT\.mkv]
@="WMP11.AssocFile.MKV"
"Content Type"="video/x-matroska"
"PerceivedType"="video"
[HKEY_CLASSES_ROOT\.mkv\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]
@="{c5a40261-cd64-4ccf-84cb-c394da41d590}"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MKA]
@="Matroska Media File"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MKV]
@="Matroska Media File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\MLS\Extensions]
"mka"="audio"
"mkv"="video"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\Descriptions]
"819"="Matroska Media File (*.mkv;*.mka)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\MUIDescriptions]
"819"="Matroska Media File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\Types]
"819"="*.mkv;*.mka"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.mka]
"Extension.Handler"="WMP11.AssocFile.MKA"
"Extension.MIME"="audio/x-matroska"
"MediaType.Description"="Matroska Media File"
"PerceivedType"="audio"
"Permissions"=dword:0000000f
"Runtime"=dword:00000007
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.mkv]
"Extension.Handler"="WMP11.AssocFile.MKV"
"Extension.MIME"="video/x-matroska"
"MediaType.Description"="Matroska Media File"
"PerceivedType"="video"
"Permissions"=dword:0000000f
"Runtime"=dword:00000007
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Groups\Audio\MKA]
@="Matroska Media File"
"Extensions"=".mka"
"MIME Types"="audio/x-matroska"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Groups\Video\MKV]
@="Matroska Media File"
"Extensions"=".mkv"
"MIME Types"="video/x-matroska"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\MIME Types\audio/x-matroska]
@="Matroska Media File"
"Extension.Key"=".mka"
"Extensions.CommaSep"="mka"
"Extensions.SpaceSep"=".mka"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\MIME Types\video/x-matroska]
@="Matroska Media File"
"Extension.Key"=".mkv"
"Extensions.CommaSep"="mkv"
"Extensions.SpaceSep"=".mkv"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MediaPlayer\MLS\Extensions]
"mka"="audio"
"mkv"="video"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MediaPlayer\Player\Extensions\Descriptions]
"819"="Matroska Media File (*.mkv;*.mka)"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MediaPlayer\Player\Extensions\MUIDescriptions]
"819"="Matroska Media File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MediaPlayer\Player\Extensions\Types]
"819"="*.mkv;*.mka"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\Extensions\.mka]
"Extension.Handler"="WMP11.AssocFile.MKA"
"Extension.MIME"="audio/x-matroska"
"MediaType.Description"="Matroska Media File"
"PerceivedType"="audio"
"Permissions"=dword:0000000f
"Runtime"=dword:00000007
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\Extensions\.mkv]
"Extension.Handler"="WMP11.AssocFile.MKV"
"Extension.MIME"="video/x-matroska"
"MediaType.Description"="Matroska Media File"
"PerceivedType"="video"
"Permissions"=dword:0000000f
"Runtime"=dword:00000007
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\Groups\Audio\MKA]
@="Matroska Media File"
"Extensions"=".mka"
"MIME Types"="audio/x-matroska"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\Groups\Video\MKV]
@="Matroska Media File"
"Extensions"=".mkv"
"MIME Types"="video/x-matroska"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\MIME Types\audio/x-matroska]
@="Matroska Media File"
"Extension.Key"=".mka"
"Extensions.CommaSep"="mka"
"Extensions.SpaceSep"=".mka"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Multimedia\WMPlayer\MIME Types\video/x-matroska]
@="Matroska Media File"
"Extension.Key"=".mkv"
"Extensions.CommaSep"="mkv"
"Extensions.SpaceSep"=".mkv"
Step 1 Clean any codec pack and mkv registry
2 install LAV and apply the above mkv reg
3 open WMC and browse to the videos (I know this last one seem strange but is the only way it's working for me for H264 without any other tweaks :))
otherwise you need to use clsid's tool (http://forum.doom9.org/showthread.php?t=146910)for H.264
Tried clsid's tool already, doesnt seem to work here, I selected CUVID as the h264 option, am trying your reg/wmc option now
edit: Seems to work, although all i get is a black thumbnail, will have to see about it after work :/
robpdotcom
22nd August 2011, 07:15
Seems to work, although all i get is a black thumbnail, will have to see about it after work :/
I only get a black thumbnail when the first frame of the video is black. Is there any tweak to look further into the video?
Carpo
22nd August 2011, 07:42
Not that I have found as of yet, I had been using DivX Plus Tech Preview to get the thumbnails before that
nevcairiel
22nd August 2011, 08:06
The default thumbnail plugin (from WMP) will always get the first frame of the video, which can of course be black, and for some codecs probably also full of artifacts (or green)
One would have to write a new explorer plugin that extracts the thumbnail from a position further into the video. This is however not trivial.
Note that LAV CUVID does not work for creating thumbnails.
Carpo
22nd August 2011, 08:35
So if clsid was to update his tool to select Lav Video, this would be a better option?
Mercury_22
22nd August 2011, 09:42
So if clsid was to update his tool to select Lav Video, this would be a better option?
I don't think so cause like Nev said The default thumbnail plugin (from WMP) will always get the first frame of the video, which can of course be black...
Also it seems I was wrong it looks like the new "AMD Media Codec Package" (http://sites.amd.com/us/game/downloads/Pages/radeon_win7-64.aspx#3) it's responsible for me getting thumbnails with H264 now(never had thumbnails for H264 before updating my drivers but I thought that the new changes in LAVVideo were responsible) and not LAVVideo cause I've just checked my reg + LAV in a VM and I don't get thumbnails for H264 so since I don't have anything else on my system that's the only conclusion I can draw
P.S. It's the same culprit for VC-1 so the "best" solution seem to remain DivX's thumbnail creator but I've heard (I've never try it) that you get some problems with explorer slowing down or even crashing, again I've never used it so....
Carpo
22nd August 2011, 10:09
suppose i best reinstall the divx plus package i was using before then to get the thumbs
nevcairiel
22nd August 2011, 10:51
MS locks down the decoders for some formats, which causes these problems. I believe with alot of fiddling it might be possible to get it to work, but i still don't understand the abolute need for thumbnails - for most content the first frame is usually black or something anyway. :)
Carpo
22nd August 2011, 11:45
MS locks down the decoders for some formats, which causes these problems. I believe with alot of fiddling it might be possible to get it to work, but i still don't understand the abolute need for thumbnails - for most content the first frame is usually black or something anyway. :)
With the DivX plus preview, it uses MF and it grabs a random frame, not the first one.
As to the need, I think its just more atheistically pleasing to some to have a preview of the film there instead of the MS icon or MPC-HC icon, or what ever player you use icon there.
But thats just my thought on it :)
With thumbs
http://img546.imageshack.us/img546/5234/withthumbs.th.jpg (http://imageshack.us/photo/my-images/546/withthumbs.jpg/)
Without thumbs
http://img805.imageshack.us/img805/6263/withoutthumbs.th.jpg (http://imageshack.us/photo/my-images/805/withoutthumbs.jpg/)
I fall into the former category not the later ;)
nevcairiel
22nd August 2011, 12:13
The thumbnailing with MF uses a different/new process, and is therefor better. The DirectShow thumb generator isn't even using DirectShow directly, it uses an ancient tech called MCI (with a compat module to interface with DirectShow), which was replaced by DirectShow 10 years go.
mzso
22nd August 2011, 12:15
With the DivX plus preview, it uses MF and it grabs a random frame, not the first one.
As to the need, I think its just more atheistically pleasing to some to have a preview of the film there instead of the MS icon or MPC-HC icon, or what ever player you use icon there.
But thats just my thought on it :)
I fall into the former category not the later ;)
And some prefer not to use windows explorer, because its so innefficient and cumbersome, and use something like total commander. :)
nevcairiel
22nd August 2011, 12:15
Also with the recent changes to promote using the MS VC1 decoder, which I am also now using. The MS VC1 Decoder within Windows XP doesn't connect to LAV Splittler but has no issues connecting to the MPC MPEG splitter, I don't care for XP and just occasional test stuff within my Virtual Machine, but I would think this would be an easy enough thing to fix. If you need me to do anything let me know.
I found the reason it didn't work, and i fixed it (it wasn't the media type). I'll commit the change when i get home.
PS:
AR is also fixed again.
PPS:
I also fixed the problem with WMV1/2 not showing any image with the WMVideo decoder, hooray. :)
Chillgurke
22nd August 2011, 13:17
First off all thanks @ Nev for all his work in LAV.
It works very well. I have only installed LAV Splitter / Audio / Video and LAV CUIVD.
I found two problems which i can´t grab out where they come from.
1. an old AVI/DIVX File. I´m able to play with LAV Video, but not with CLUID
2. i have one BD Folder ( AVHCD ) wich i can play, but it is shuttering very heavy. On the other hand an other AVHCD playes fine, without this issue. So i´m not sure where to search the problem. Issue occures with LAV Video / LAV CLUIV and MS Decoder. So is there a possibility that the files is corrupt ?
Carpo
22nd August 2011, 13:30
And some prefer not to use windows explorer, because its so innefficient and cumbersome, and use something like total commander. :)
Some might find TC inefficient and cumbersome ;) Also I have a version of TC installed as it's handy for renaming a lot of files in one go.
nevcairiel
22nd August 2011, 13:37
1. an old AVI/DIVX File. I´m able to play with LAV Video, but not with CLUID
If its a really old file, its likely that it contains MS-MPEG4, also called DivX3, which is not supported by the hardware decoder.
Hi,
does the LAV splitter allow to use the AVCHD playlist files in same way as for BluRay discs?
I don't only mean the playback of the single *.MTS files, but also to use the playlist (*.MPL)
The AVCHD structure is nearly identical to BD, but uses short file extensions (3 chars), means: *.bdmv -> .BDM ; *.m2ts -> *.MTS
The main issue with such playlists is, they contain file references to *.m2ts, although the real filenames are *.MTS
(see also http://en.wikipedia.org/wiki/File:AVCHD_actual_file_structure.svg).
When you try to open the playlist with the LAV splitter it fails, because the referenced files are not found. Could the splitter be extended to support the short file extensions as kind of "fallback" source when reading the stream files?
Thank you
Morpheus_xx
I only export the functionality libbluray offers, and thats only designed for Blu-rays. I have no idea if all the files internally have 100% the same structure, or not.
If you think they are 100% the same, it would be fairly easy to add, however it needs to be added in libbluray, not LAV Splitter.
clsid
22nd August 2011, 13:42
Does that means issue #31 is fully fixed now? Any other known problems remaining regarding ASF/WMV playback?
Would you ever consider making a shell extension for thumbs in the future? I think it could bring in a lot of donations. Maybe you could even add a dedicated donation page for it, and start work only once a specific goal was reached. I can help drive traffic to such a page.
nevcairiel
22nd August 2011, 13:45
Does that means issue #31 is fully fixed now? Any other known problems remaining regarding ASF/WMV playback?
I need to test some more files, i only have a very limited sample selection on my laptop.
Would you ever consider making a shell extension for thumbs in the future? I think it could bring in a lot of donations. Maybe you could even add a dedicated donation page for it, and start work only once a specific goal was reached. I can help drive traffic to such a page.
I'm already too busy as it is, and i have no interest in thumbnails.
I have a job that pays quite well, and no need to sell my free time as well. :p
AmshTemp
22nd August 2011, 14:37
In lav video project file (decoder\LAVVideo\LAVVideo.vcxproj), avformat-lav.lib is removed from Debug|Win32, while it is there in Debug|x64, Release|Win32 and Release|x64.
Is that intended?
mzso
22nd August 2011, 15:01
Am I missing something or TrueHD really doesn't work with LAV in combination with potplayer or kmplayer? Always the internal decoder gets loaded.
nevcairiel
22nd August 2011, 15:51
In lav video project file (decoder\LAVVideo\LAVVideo.vcxproj), avformat-lav.lib is removed from Debug|Win32, while it is there in Debug|x64, Release|Win32 and Release|x64.
Is that intended?
Just forgot to remove them
mindbomb
22nd August 2011, 16:08
can you add an install_all.bat and uninstall_all.bat that just installs and uninstalls everything in the folder?
nevcairiel
22nd August 2011, 16:08
can you add an install_all.bat and uninstall_all.bat that just installs and uninstalls everything in the folder?
Use the .exe installer.
hubblec4
22nd August 2011, 17:27
i have muxed a DVD (mpeg2 untouched) to a mkv-file with mkvmerge.
mkvmerge set the displaydimension to 1024x576 (DVD: 720x576). Its a 16:9 movie. With MPC HC and haali-splitter looks the video fine.
But when i use the LAV-splitter the video looks not correct. the aspectratio seems to be wrong.
ranpha
22nd August 2011, 17:37
Am I missing something or TrueHD really doesn't work with LAV in combination with potplayer or kmplayer? Always the internal decoder gets loaded.
http://i.imgur.com/EkvjTl.jpg (http://imgur.com/EkvjT)
Very possible if you ask me. Cannot use Haali Media Splitter though, only LAV Splitter.
ForceX
22nd August 2011, 18:16
This issue: http://forum.doom9.org/showthread.php?p=1515480#post1515480 seems to be back again.
mzso
22nd August 2011, 18:21
http://i.imgur.com/EkvjTl.jpg (http://imgur.com/EkvjT)
Very possible if you ask me. Cannot use Haali Media Splitter though, only LAV Splitter.
Interestingly, its more like the opposite. If I use potplayers internal or haali splitter, the audio is decodided by LAV but only as ac3 and the playback is crappy. But when I set LAV splitter as splitter then the internal audio decoder decodes TrueHD, and the playback is fine. Weird.
nevcairiel
22nd August 2011, 18:26
This issue: http://forum.doom9.org/showthread.php?p=1515480#post1515480 seems to be back again.
I can't reproduce any such issues.
Granted, stopping doesn't free any memory, but closing the file does, and opening multiple files in succession does not pile up any memory.
ForceX
22nd August 2011, 19:35
I can't reproduce any such issues.
Granted, stopping doesn't free any memory, but closing the file does, and opening multiple files in succession does not pile up any memory.
Funny, only happens with madVR 0.74. :/ However, FFDshow works ok with madVR 0.74.
msoltyspl
22nd August 2011, 20:11
Few things I noticed after some using:
- for ogm files, it seems that audio language preferences have no effect - always the first track is used. The tracks were marked properly, quick container change to mkv fixed the issue as well. I'll doublecheck with a few other files as well.
In context of ogm files I had to use full name - e.g. 'Japanese' (case sensitive as well) did the thing, usual 'jpn' was not enough.
Perhaps it would be good to add extra sentence or so, that certain containers require full name instead of just the code.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.