View Full Version : LAV Filters - DirectShow Media Splitter and Decoders


Pages : 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

robpdotcom
15th November 2011, 00:00
Do you only have the problem if the file is .m2ts? Do mkv files work fine?

dead_screem
15th November 2011, 00:19
I'm not talking about actually decoding the subtitles, all i planned was take the subtitle data, and output it untouched to the subtitle renderer (if any) - and if no-one wants it, just discard it.

Is there any reason why you can't have LAV's MPEG-2 Decoder handle them as DVD subpictures properly instead of relying on an external filter like dvobsub? especially if ffmpeg already supports it?

Midzuki
15th November 2011, 02:51
Is there any reason why you can't have LAV's MPEG-2 Decoder handle them as DVD subpictures properly instead of relying on an external filter like dvobsub? especially if ffmpeg already supports it?

The FFmpeg source-code for dealing with DVD subtitle pictures is not good-enough yet:

http://forum.doom9.org/showthread.php?p=1431125#post1431125

http://forum.doom9.org/showthread.php?p=1431370#post1431370

nevcairiel
15th November 2011, 07:48
Is there any reason why you can't have LAV's MPEG-2 Decoder handle them as DVD subpictures properly instead of relying on an external filter like dvobsub? especially if ffmpeg already supports it?

It certainly could, however is that really wanted?
I guess the quality argument isn't really valid, since DVD subs are ugly no matter what. Being a bit blurry would probably do them some good. :p

Regarding the ffmpeg issues, it would be a perfect opportunity to just fix them, wouldn't it. :)
PS: What you linked seems to refer to ffdshow, which does not use ffmpegs renderer, AFAIK.

The real issue is that the MPC-HC ISR and DirectVobSub don't natively support DVD Subpictures, even though its the same format as VobSub, just without the configuration header. When you force-feed it to them, it'll just be terribly ugly, because it doesn't have a default palette to get colors from.

Another option would be to just do what the MSDN thinks you should do, and render the subtitles, and output them as AYUV or ARGB32, which the renderer then should blend on the image. Sadly, this is only supported by EVR/VMR, and madVR lacks that functionality.

madshi
15th November 2011, 09:21
Another option would be to just do what the MSDN thinks you should do, and render the subtitles, and output them as AYUV or ARGB32, which the renderer then should blend on the image. Sadly, this is only supported by EVR/VMR, and madVR lacks that functionality.
That's on my to do list. Was already requested by the J.River MC16 developers. Of course I don't know when I'll find the time to implement that.

nevcairiel
15th November 2011, 09:40
I'll just go with piping the subtitles through the filter first, and see how it goes. Other options can be explored at a later time.

SeeMoreDigital
15th November 2011, 10:10
Do you only have the problem if the file is .m2ts? Do mkv files work fine?
The same thing happens with .MKV contained files...

I'm off to work now so I'll have to try GraphEdit when I get back....

dead_screem
15th November 2011, 11:00
It certainly could, however is that really wanted?yes. that way you can always be sure it'll work, assuming you implement it right. no worrying about external filter or renderer support.

Another option would be to just do what the MSDN thinks you should do, and render the subtitles, and output them as AYUV or ARGB32, which the renderer then should blend on the image. Sadly, this is only supported by EVR/VMR, and madVR lacks that functionality.
ummm, no. that's only for dvd line 21 cc or other things.
msdn says the dvd decoder should handle and mix video and subpicture together and output one video pin and another cc out pin for line 21 decoder 2, which needs vmr/emr. (or line 21 decoder which uses overlay)
http://msdn.microsoft.com/en-us/library/windows/desktop/dd388593(v=VS.85).aspx

I'll just go with piping the subtitles through the filter first, and see how it goes. Other options can be explored at a later time.well if it works, assuming the dvd navigator will not refuse like that. not exactly the best way to do it imo.

nevcairiel
15th November 2011, 11:15
yes. that way you can always be sure it'll work, assuming you implement it right. no worrying about external filter or renderer support.
I would however prefer not to start adding subtitle rendering, which is why i would prefer to just delegate rendering to a dedicated subtitle renderer.


ummm, no. that's only for dvd line 21 cc or other things.
msdn says the dvd decoder should handle and mix video and subpicture together and output one video pin and another cc out pin for line 21 decoder 2, which needs vmr/emr. (or line 21 decoder which uses overlay)
http://msdn.microsoft.com/en-us/library/windows/desktop/dd388593(v=VS.85).aspx

That article is rather old, probably from the times of VMR7/Overlay mixer, where the new option to alpha-blend streams in the renderer was not available.
MS's own MPEG-2 decoder will render the subtitles into a ARGB or AYUV plane, and send those to EVR - allowing a higher quality and more efficient blending done in the GPU.

dead_screem
15th November 2011, 11:29
That article is rather old, probably from the times of VMR7/Overlay mixer, where the new option to alpha-blend streams in the renderer was not available.
MS's own MPEG-2 decoder will render the subtitles into a ARGB or AYUV plane, and send those to EVR - allowing a higher quality and more efficient blending done in the GPU.

actually it's from xp/vista era vmr9/evr. there is an article about vista dvd enhancements, but nothing about vobsubs that way. is that method new to win7?

nevcairiel
15th November 2011, 11:31
Its not from Vista, or it would at least have mentioned the EVR, which was the new default renderer there, all it talks about is VMR and Overlay, which means XP.
MS's own MPEG-2 decoder also did not exist on XP, you needed a third-party decoder back then AFAIK, so its pretty clear that they didn't really care to add a smart way to handle subtitles.

dead_screem
15th November 2011, 11:46
Its not from Vista, or it would at least have mentioned the EVR, which was the new default renderer there, all it talks about is VMR and Overlay, which means XP.

http://msdn.microsoft.com/en-us/library/windows/desktop/dd388614(v=VS.85).aspx pageabout vista specifics.

http://msdn.microsoft.com/en-us/library/windows/desktop/dd318241(v=VS.85).aspx page about building the graph which mentions Overlay, VMR-7, VMR-9 and EVR.

so yes, it pertains to vista as well.

nevcairiel
15th November 2011, 11:50
All that means is that the one page was updated after Vista release, that does not mean the first page was written with Vista in mind.

In any case, if i ever add rendering of the dvd subpictures, it'll most likely not be soon.
I don't believe the decoder painting onto the video image is a good solution, ever.

madshi
15th November 2011, 12:01
What need is there for discussion if Microsoft's own MPEG2 decoder clearly outputs an additional ARGB/AYUV pin for DVD subpictures? That pretty much tells us what Microsoft thinks is the best way to go. End of story.

Midzuki
15th November 2011, 16:46
PS: What you linked seems to refer to ffdshow, which does not use ffmpegs renderer, AFAIK.


So, my guess is, the MPC-HC filters, libavcodec, ffplay, mplayer, and libmpeg2, they all do share a lot of "garbage source-code" :rolleyes: :D

Superb
15th November 2011, 16:56
The Microsoft DTV-DVD Decoder only outputs the AYUV/ARGB stream if it decodes using DXVA.*
On other cases (software decoding) it renders the subtitles to the frame itself.
But you guys should take into account the fact that MPC-HC doesn't create an input pin for AYUV/ARGB on its EVR/EVR-CP! That's why I cannot watch DVDs w/ subtitles there.
One would have to fix the pins creation if you want to go the AYUV/ARGB way. This issue was reported a LONG time ago on MPC-HC's trac. Can't find the ticket now... :/
EDIT: I think that fixing it requires adding a call to IEVRFilterConfig::SetNumberOfStreams

* I might be mistaken and it always outputs when connected to DXVA-enabled renderer (like EVR), which in turn also activates the MPEG-2 DXVA decoding on my machine.

nevcairiel
15th November 2011, 17:30
So, my guess is, the MPC-HC filters, libavcodec, ffplay, mplayer, and libmpeg2, they all do share a lot of "garbage source-code" :rolleyes: :D

Just because there is one bug with those half-D1 discs doesn't make everything garbage, the avcodec decoder (which is also in use by ffplay) looks pretty clean (code-wise), and fixing such bugs would surely be possible.
If you can, share a sample of those files, so that i can try to avoid the bug when i work on it.

MPC-HCs and ffdshows probably are just garbage, though. =)

SeeMoreDigital
15th November 2011, 17:51
Please do me a favor and give it a go with GraphStudio or GraphEdit this time:

File Source (async) > Lav Splitter > Lav Video > EVR
> Lav Audio > Def. D.Sound

And pls. tell me the result.
Hmmm... I can't get GraphStudio to connect to either of the following audio filters :eek:

http://img840.imageshack.us/img840/4986/graphstudio.png


This is crazy!

nevcairiel
15th November 2011, 19:38
You didn't activate bitstreaming which your hardware does not support?
Thats really the only reason the connection would completely fail.

Midzuki
15th November 2011, 19:39
Come on, Nevcairiel, I didn't say (and I didn't mean) they are 100% garbage, I said (and meant) they still contain many lines of copied-n-pasted b0rked code.

As for the "killer samples" --- it's pretty trivial to create some of them with your favorite DVD-authoring freeware :)

nevcairiel
15th November 2011, 19:42
Come on, Nevcairiel, I didn't say (and I didn't mean) they are 100% garbage, I said (and meant) they still contain many lines of copied-n-pasted b0rked code

Its more likely just some feature not implemented.

As for the "killer samples" --- it's pretty trivial to create some of them with your favorite DVD-authoring freeware
Sure i could do that, but then someone that cares could also try to help out, which might actually make me fix the problem, otherwise i might just ignore it :p

Midzuki
15th November 2011, 19:47
OK, you win. :rolleyes:

SeeMoreDigital
15th November 2011, 20:26
You didn't activate bitstreaming which your hardware does not support?
Thats really the only reason the connection would completely fail.

If you are referring to my posts, I can confirm I have been able to use your filters to bit-stream HD audio to my Onkyo amp... which also supports HD audio!

After further tests, I've found I can't even get "std-def" AC3 and DTS audio to connect to LAV audio...

Gleb Egorych
15th November 2011, 21:02
nevcairiel,

During testing 0.39.15 I found the hang bug had returned (can be reproduced by holding S key in Zoom Player). Release 0.39 seems to be OK.

Pat357
15th November 2011, 21:11
Hmmm... I can't get GraphStudio to connect to either of the following audio filters :eek:
To go back to your problem with LAV-splitter not being used to open .m2ts & .mkv files, can you please check the following keys in your registry :
[HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions\.m2ts]
"Source Filter"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"
and
[HKEY_CLASSES_ROOT\Wow6432Node\Media Type\Extensions\.mkv]
"Source Filter"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"

The value "Source Filter={B98D13E7-55DB-4385-A33D-09FD1BA26338} means that lav-splitter-(source) will be used to open .m2ts / mkv files.
If there is another value at this keys, just reinstall the LAV-filters and make sure these types are checked during installation.
IIRC, these values are only written to the registry when installing, not when you check/uncheck these in the Lav-splitter settings tab after installation.

SeeMoreDigital
15th November 2011, 21:12
Well would you "Adam and Eve" it...

After de-installing "LAV", re-booting, re-installing "LAV" and re-booting... I'm now able to bit-stream HD audio to my amplifier again :)

Computers eh?

nevcairiel
15th November 2011, 21:16
During testing 0.39.15 I found the hang bug had returned (can be reproduced by holding S key in Zoom Player). Release 0.39 seems to be OK.

Should hopefully be fixed again.

-----------------------------

Some news from the DVD front:
Accepting and just eating up the subtitles seems to do the job, DVDs play fine now. Did need some trickery though, but all in all, its playing the dvds just fine. It is lacking the interactive menu overlays of course, and subtitles won't show.

Considering the subtitles are used to render the button overlays as well, i'm kinda partial to the idea of drawing them directly onto the frames, in case no renderer accepts the AYUV/ARGB pictures. Forwarding the still encoded subtitles wouldn't work in this case.

Pat357
15th November 2011, 21:41
Well would you "Adam and Eve" it...

After de-installing "LAV", re-booting, re-installing "LAV" and re-booting... I'm now able to bit-stream HD audio to my amplifier again :)
Computers eh?
I guess something messed up your Lav-filters....
Did you install some other multi-media package or other codes after the last time you installed Lav-filters using the installer ?
Does Lav-splitter now get used when you open .m2ts / .mkv files ?

note : uninstalling Lav-filters probably was not needed, just reinstall over the existing installation should have done the trick, as long as you use the installer.

SeeMoreDigital
15th November 2011, 22:08
I guess something messed up your Lav-filters....
Did you install some other multi-media package or other codes after the last time you installed Lav-filters using the installer ?
Just the latest version of DVDFab Decrypter.


Does Lav-splitter now get used when you open .m2ts / .mkv files ?No...

rica
16th November 2011, 02:19
Hmmm... I can't get GraphStudio to connect to either of the following audio filters :eek:

http://img840.imageshack.us/img840/4986/graphstudio.png


This is crazy!

Yes it is, this is why i asked you to use GraphStuff to test.
The weird thing is why we do see speakers instead of blabla AVR in your case?
Checkout my listed audio renderers. Do you see any "speakers" statement? Are you sure Onkyo AVR (or whatsoever you have?) is selected by default on your playback devices? Or just speakers?

http://img21.imageshack.us/img21/7864/59105027.png (http://imageshack.us/photo/my-images/21/59105027.png/)


Not sure your AVR is connected to your PC properly or recognized properly by your PC.

The last test you should do to be sure, pls try this and forget bitstreaming for a while:

http://img208.imageshack.us/img208/2675/51597263.png (http://imageshack.us/photo/my-images/208/51597263.png/)

And last question: why don't you get rid of those Realtek drivers?

_ _

rica
16th November 2011, 03:40
If you are referring to my posts, I can confirm I have been able to use your filters to bit-stream HD audio to my Onkyo amp... which also supports HD audio!

After further tests, I've found I can't even get "std-def" AC3 and DTS audio to connect to LAV audio...

Pls tell us what your problem is?

After i've explored this post i'm not able to make any comment since i understood nothing?
You are able to use lavfilters to bitsream HD audio?
But you can not bitstream SD audio?
But what "even" means here???
I should understand normally "i can not bitsream HD even SD audio".... or what???

What is yor HW? Dunno?
How you connected your unknown AVR to your PC? Dunno?
What is your problem really? Dunno?

nevcairiel
16th November 2011, 07:27
You should learn to read, he said his problem was already fixed.

SeeMoreDigital
16th November 2011, 09:57
Yes my issue has been fixed.

Many, many thanks to everyone who kindly offered help and their suggestions. It's much appreciated.

Thank-you again...

Aleksoid1978
16th November 2011, 13:07
Hi Nevcairiel. LAV Video 0.39 have trouble with playback this sample in Software mode(with CUVID play fine)
http://www.multiupload.com/ZGDZFMT4Q0
play with ~43fps and micro jitter.

0.38 and 0.37 play fine.

nevcairiel
16th November 2011, 13:38
LAV Video 0.39 have trouble with playback this sample in Software mode(with CUVID play fine)
http://www.multiupload.com/ZGDZFMT4Q0
play with ~43fps and micro jitter.


No change in my code would cause this, seems like a ffmpeg regression, if it is indeed a bug. It doesn't say its failing to decode, it just doesn't give any frames back.
I'll try to look into it, but reporting it to them is a good idea no matter what.

Edit: I found the offending commit, its http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=ea2bb12e3e47baa0f8d50ef68be678f425c7e4cf if anyone cares. :p

STaRGaZeR
16th November 2011, 13:59
Another bug report here. This file (SFD, MPEG-1 + ADX) fails to decode smoothly if splitted with LAV Splitter. MPC's internal splitter plays it fine. Screenshots and file:

http://i42.tinypic.com/esnmut_th.png (http://i42.tinypic.com/esnmut.png) http://i43.tinypic.com/zn4n0o_th.png (http://i43.tinypic.com/zn4n0o.png)
LAV Splitter ---------------- MPC's internal

http://www.mediafire.com/?tur04krbed4fdc4

nevcairiel
16th November 2011, 14:44
This file (SFD, MPEG-1 + ADX) fails to decode smoothly if splitted with LAV Splitter. MPC's internal splitter plays it fine.

Fixed locally, thanks for reporting!

mylle
16th November 2011, 14:59
Im going to put in my new GT430 (instead of ATI 5770) today.

Should i just dl the latest driver from Nvidia or is there a preferred driver?

regards
Jacob

nevcairiel
16th November 2011, 15:18
Latest are usually fine.

STaRGaZeR
16th November 2011, 17:52
Fixed locally, thanks for reporting!

No prob, thanks for fixing it :)

joe42
16th November 2011, 18:14
This VC1 clip (from Bleak House) fails to play from MPC-HC when using the LAV Video decoder (also fails with MadVR video decoder). It plays fine with the WMVideo Decoder DMO.

http://www.mediafire.com/?njfncwonawz6pea

nevcairiel
16th November 2011, 18:14
This VC1 clip (from Bleak House) fails to play from MPC-HC when using the LAV Video decoder (also fails with MadVR video decoder). It plays fine with the WMVideo Decoder DMO.

http://www.mediafire.com/?njfncwonawz6pea

Without looking at the file, i guess its interlaced, and thus not supported.

Edit:
After looking at the file, i'm sure its interlaced.
Use the MS decoder. ;)

Gser
16th November 2011, 18:25
I'm curious as to what IDCT LAV video uses to decode MPEG2?

nevcairiel
16th November 2011, 18:51
I'm curious as to what IDCT LAV video uses to decode MPEG2?

Whatever is ffmpegs default IDCT, something they call "simple IDCT"

zerowalker
16th November 2011, 21:32
I canīt play raw x264 files, it just shows a black screen;O
Maybe itīs not supposed to work,. but it said fixed playback in the latest changelog, so sorry if itīs not about that;O

joe42
16th November 2011, 23:25
Without looking at the file, i guess its interlaced, and thus not supported.

Edit:
After looking at the file, i'm sure its interlaced.
Use the MS decoder. ;)

Do you mean the WMVideo Decoder DMO?

Is there a way to set the LAV decoder to only decode non-interlaced VC-1?

Because otherwise it seems kind of useless to include VC-1 decoding at all, since it messes up the filter preferences.

To clarify, if I put LAV Video decoder at the top of the filter list in MPC-HC, so it gets used for anything it can do, then WMVideo Decoder DMO beneath it in the filter list, is there any way that I can set things up so LAV Video decoder handles non-interlaced VC-1, but it automatically lets WMVideo Decoder DMO handle interlaced VC-1?

jmone
16th November 2011, 23:39
No - it is either On or Off for VC-1 decoding & I thought it was off by default in LAVVideo. Another choice is that if you have a nvidia card you can enable CUVID Mode as it handles VC-1(i) perfectly fine. FYI - there were some post a few weeks ago about the addition on VC-1(i) support in libavcodec....

joe42
16th November 2011, 23:43
FYI - there were some post a few weeks ago about the addition on VC-1(i) support in libavcodec....

Where was this post? I searched this thread and did not see it. Do you mean it was in a libavcodec thread?

jmone
17th November 2011, 01:18
Here you go .. no idea if there has been any progress on this code.

I revert all VC-1 patches because the new VC-1i decoding crashes more then it decodes anything, and if it decodes anything its only a corrupted mess - and on top of that, even introduced artifacts in previously working progressive samples.

chaddawkins
17th November 2011, 02:22
@nevcairiel or anyone with the knowledge to do this because i don't

this may help with thumbnail shell extension:
http://blogs.msdn.com/b/codefx/archive/2010/11/07/writing-windows-shell-extension-with-net-framework-4-c-vb-net-part-3-thumbnail-handler.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/bb774614(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/bb774618(v=VS.85).aspx

i would give it a go if i knew anything about .NET Framework 4 (C#, VB.NET)
i think this may be what icaros is???

zerowalker
17th November 2011, 02:35
Lagarith Playback doesnīt work properly, there is black screen and a big delay, then audio will start but it stays black.

ruinevil
17th November 2011, 04:45
Lagarith Playback doesnīt work properly, there is black screen and a big delay, then audio will start but it stays black.

http://samples.mplayerhq.hu/V-codecs/lagarith/
File takes a second to load, and then goes to end.

Lagarith is a bad lossless codec though. ffmpeg probably doesn't implement it correctly.

edit: http://forum.doom9.org/showthread.php?t=86148&page=7 , I guess it does, sorta.

nevcairiel
17th November 2011, 07:51
Because otherwise it seems kind of useless to include VC-1 decoding at all, since it messes up the filter preferences.


Thats why VC-1 decoding is off by default.

Lagarith Playback doesnīt work properly, there is black screen and a big delay, then audio will start but it stays black.

Thats why Lagarith is also off by default.

There have been a few patches for Lagarith the last week or so, which are not yet in LAV Video, and might improve the situation.
However, the speed issue remains, its right now neither SIMD'ed nor multi-threaded. (As i understand, its a intra-only codec, so multi-threading should work pretty easily?)

zerowalker
17th November 2011, 11:04
Thats why VC-1 decoding is off by default.



Thats why Lagarith is also off by default.

There have been a few patches for Lagarith the last week or so, which are not yet in LAV Video, and might improve the situation.
However, the speed issue remains, its right now neither SIMD'ed nor multi-threaded. (As i understand, its a intra-only codec, so multi-threading should work pretty easily?)

Okay, well letīs hope for the best than;D!

CruNcher
17th November 2011, 16:34
Hmm where are the problems with Lagarith i have some recordings from the last version and they so far all work decoding is not as performant as the vfw decoder but @ least watchable, maybe it's more a problem with older streams ?

El Topo
17th November 2011, 17:12
Hi Nev,

first: thanks for your work!

Any progress on supporting Intel Graphics HW Acceleration?

nevcairiel
17th November 2011, 17:15
Any progress on supporting Intel Graphics HW Acceleration?

That feature has been moved further into the future, alot of other things to do - and honestly, such Intel CPUs that support full hardware decoding are fast enough to decode anything you throw at it anyway - without even breaking a sweat.

iSeries
17th November 2011, 17:28
Hi,

I posted this issue in the MadVR thread however Madshi concluded that this is not a MadVR issue but possibly a splitter issue.

The problem I'm having is playback of blu ray via the index.bdmv or the mpls file. Playback is very choppy, with MadVR reporting 100's of dropped frames within minutes. Madshi has concluded that it's a timestamp issue, and that MadVR is receving frames with duplicate timestamps.

The odd thing is though, if I play the m2ts file directly then playback is perfectly smooth.

Would be grateful if someone can help pinpoint where the problem might be?

EDIT: I just tried playback using MPC-HC's internal splitter and playback of index.bdmv and mpls files is absolutely fine, using LAV splitter and I get the issue above.

nevcairiel
17th November 2011, 18:08
Here is a test build, with fresh ffmpeg:

http://files.1f0.de/lavf/LAVFilters-0.39-37-g56a1605.zip

Nothing noteworthy in there, just to make sure no regressions appeared - and one build before i start working on stuff that won't be ready for a while.

nevcairiel
17th November 2011, 18:13
The problem I'm having is playback of blu ray via the index.bdmv or the mpls file. Playback is very choppy, with MadVR reporting 100's of dropped frames within minutes. Madshi has concluded that it's a timestamp issue, and that MadVR is receving frames with duplicate timestamps.

The odd thing is though, if I play the m2ts file directly then playback is perfectly smooth.


Is that from the disc, or a rip? Possibly remuxed?
Maybe your remuxing tool did a poor job? :)

I've only ever played BD discs, and i really have no huge interest in testing all BD ripping software out there.

In any case, try with this version:
http://files.1f0.de/lavf/LAVFilters-0.39-37-g56a1605-debug.zip

Its a special debug version that should leave log files on your desktop. Note that it empties the log everytime its run again, so play it once and save the log somewhere.

Both LAV Splitter and LAV Video logs could be of interest. (If you're not using LAV Video, please try for the sake of getting a log)

iSeries
17th November 2011, 18:18
Hi,

Thanks - I just tried to register the splitter from the debug build and I got an error saying "The module "LAVSplitter.ax failed to load"?

I had used EasyBD to mux them - I've emailed their support about it but they are adamant that it is not an EasyBD issue. Indeed, all muxes made with EasyBD have played in my three standalone players perfectly.

nevcairiel
17th November 2011, 18:23
Thanks - I just tried to register the splitter from the debug build and I got an error saying "The module "LAVSplitter.ax failed to load"?

Ah, my bad, use this instead:

http://files.1f0.de/lavf/LAVFilters-0.39-37-g56a1605-debug2.zip

iSeries
17th November 2011, 18:33
Thanks Nev, here are the logs:

http://www.mediafire.com/?aue6muh3dba97t3
http://www.mediafire.com/?yssyx1p2ckvzkvb

nevcairiel
17th November 2011, 18:54
Thanks Nev, here are the logs:


In the LAV Splitter options, uncheck "Try to fix broken HD-PVR recordings" and see if that then breaks the m2ts playback?

That seems to be the only big difference between m2ts playback or Blu-ray playback.

VipZ
17th November 2011, 20:21
Nev, I read that you are looking to support DVD decoding and possibly putting the subs directly on the image. Hope this is part of the work you talking about that's wont be available for awhile :)

I assume LAV Video would need to deinterlace the video 1st for this, or not needed?

nevcairiel
17th November 2011, 20:22
I assume LAV Video would need to deinterlace the video 1st for this, or not needed?

Actually, i'm not sure. Since the subtitles don't move, i think it might be OK'ish.
For the future, i'm exploring ideas to send them to the renderer for painting onto the image after all its processing.

VipZ
17th November 2011, 20:29
Actually, i'm not sure. Since the subtitles don't move, i think it might be OK'ish.
For the future, i'm exploring ideas to send them to the renderer for painting onto the image after all its processing.

Yep, when I 1st thought about it I assumed it would be required, but as you say, they don't move so it may work. Also would doing such a thing mess the interlaced flags on the video stream?

I do prefer the rendering of subs to the renderer myself.

joe42
17th November 2011, 21:17
Without looking at the file, i guess its interlaced, and thus not supported.

Edit:
After looking at the file, i'm sure its interlaced.
Use the MS decoder. ;)

I found that madVR's video decoder works well if you include the Intel decoder DLL. It seems that madVR is smart enough to use the libav decoder for non-interlaced VC-1, and to automatically use the Intel decoder for interlaced VC-1.

I guess that is an advantage to the way madVR integrates its decoder? Or is it possible for LAV video decoder to do something similar?

nevcairiel
17th November 2011, 21:18
I found that madVR's video decoder works well if you include the Intel decoder DLL. It seems that madVR is smart enough to use the libav decoder for non-interlaced VC-1, and to automatically use the Intel decoder for interlaced VC-1.

I guess that is an advantage to the way madVR integrates its decoder? Or is it possible for LAV video decoder to do something similar?

I don't understand why you don't just simply use the Microsoft decoder? Its faster and decodes every VC-1 stream available.

jmonier
17th November 2011, 21:29
I don't understand why you don't just simply use the Microsoft decoder? Its faster and decodes every VC-1 stream available.

My experience with the Microsoft decoder is that it uses a lot more CPU time for VC-1 interlaced than non-interlaced. Since it's apparently not multi-threaded, that means that one processor can get close to the practical limit.

One VC-1 interlaced file that I have won't run smoothly on anything less than than an i7-960 using the Microsoft decoder.

nevcairiel
17th November 2011, 21:32
My experience with the Microsoft decoder is that it uses a lot more CPU time for VC-1 interlaced than non-interlaced. Since it's apparently not multi-threaded, that means that one processor can get close to the practical limit.

One VC-1 interlaced file that I have won't run smoothly on anything less than than an i7-960 using the Microsoft decoder.

The libav or Intel decoders aren't any better.
libav is not multi-threaded, and of course fails on interlaced completely. The Intel decoder seems generally to be pretty slow.

iSeries
17th November 2011, 21:45
In the LAV Splitter options, uncheck "Try to fix broken HD-PVR recordings" and see if that then breaks the m2ts playback?

That seems to be the only big difference between m2ts playback or Blu-ray playback.

Hi Nev,

I'm out at the moment but will do as soon as I'm home. So if I uncheck that and m2ts playback then also becomes bad does that mean a muxing issue?

nevcairiel
17th November 2011, 21:46
So if I uncheck that and m2ts playback then also becomes bad does that mean a muxing issue?

Yes, but it also means i can fix it.
It would probably help if you can cut a small sample off the m2ts and upload it to mediafire or similar (~20mb would be good). Use something like DGSplit, not a special mpegts splitter.

iSeries
17th November 2011, 21:51
Yes, but it also means i can fix it.

Hmmm the EasyBD guys were adamant to the point of dismissive that this is not an EasyBD muxing issue. Although if it was wouldn't playback also be choppy in a standalone player?

Glad that you can fix it though - although a bit annoyed that the software that I've paid for is at fault. Looks like I'll be going back to tsMuxer ;)

Will certainly provide a small sample for you.

joe42
17th November 2011, 21:54
I don't understand why you don't just simply use the Microsoft decoder? Its faster and decodes every VC-1 stream available.

I guess I like to minimize the number of external filters in my list. I don't have a good reason I can explain for my preference. But madVR appears to do what I wanted, so why do you think I should use the Microsoft decoder? Is it better than madVR's combo of libav for VC-1(p) and Intel for VC-1(i)?

And just to verify, by "Microsoft decoder", do you mean "WMVideo Decoder DMO"?

nevcairiel
17th November 2011, 21:55
I guess I like to minimize the number of external filters in my list. I don't have a good reason I can explain for my preference. But madVR appears to do what I wanted, so why do you think I should use the Microsoft decoder? Is it better than madVR's combo of libav for VC-1(p) and Intel for VC-1(i)?

And just to verify, by "Microsoft decoder", do you mean "WMVideo Decoder DMO"?

Thats the right filter, and yes, the MS decoder is better then those two.

nevcairiel
17th November 2011, 21:57
Will certainly provide a small sample for you.

Cut the sample off the start of the file, and if you can, also upload the Blu-ray metadata with it, the two bdmv files, the playlists and clipinfo files, so that i can directly see the difference.

iSeries
17th November 2011, 22:04
Cut the sample off the start of the file, and if you can, also upload the Blu-ray metadata with it, the two bdmv files, the playlists and clipinfo files, so that i can directly see the difference.

Ok no problem with the bdmv files etc, although how do I provide the metadata?

Thanks again!

nevcairiel
17th November 2011, 22:06
Ok no problem - how do I provide the metadata?

Thanks again.

Just zip up following files/directorys:

BDMV\index.bdmv
BDMV\MovieObject.bdmv
BDMV\PLAYLIST
BDMV\CLIPINF

Add to that some 20mb of sample from the m2ts, and it should be good.

Matching_Mole
17th November 2011, 22:16
Thats the right filter, and yes, the MS decoder is better then those two.

For VC-1 encoded blu-ray I use Arcsoft one because it is multithreaded and works perfectly on interlaced VC-1 file, so it is far better than these ones. Its (big) issue is it do not recognize other aspect ratio that the blu-ray one. But personally I don't care because I don't have other VC-1 file that the Blu-ray ones and so I'm happy with it.

I know that "reverse engineering" to use ASVC1Vid.dll is far too big but use it in LAV Video Filter as LAV Audio Filter do with dtsdecoderdll.dll would be the better situation possible... We can just hope that someday libav VC-1 decoder will be "finished".

jmonier
17th November 2011, 23:04
The libav or Intel decoders aren't any better.
libav is not multi-threaded, and of course fails on interlaced completely. The Intel decoder seems generally to be pretty slow.

The same file (that I mentioned earlier) shows balanced usage across four processors with the Intel decoder. The Microsoft decoder has considerably higher usage on one processor than the Intel thus the Intel allows the use of a considerably slower CPU than the Microsoft. So, at least for the worst case, the Intel is effectively considerably faster.

nevcairiel
17th November 2011, 23:11
You cannot really trust Windows per-core display, due to its scheduling the load will show up spread over cores rather randomly - even if you use one thread at 100%, it won't just fill up one core in task manager or any other tools for that matter.
The only thing you can really trust is the total CPU usage. When benchmarking the WMVideo decoder, i at least get around 25% usage on my 8 logical cores, so it does seem to use at least 2 cores for something.
Too bad you cannot benchmark madVR that way.

In reality, i just use my NVIDIA card to decode VC-1 anyway. :)

jmonier
18th November 2011, 01:18
You cannot really trust Windows per-core display, due to its scheduling the load will show up spread over cores rather randomly - even if you use one thread at 100%, it won't just fill up one core in task manager or any other tools for that matter.

Can you point me to a source that discusses this? My experience is the opposite. With the WMVideo decoder I can pretty well predict when I'm going to get problems by looking at the one core that shows more usage than the others. If it gets up to 70-80% I will see problems somewhere during the playing of the file. And when this happens, the total CPU usage is 25% or less on a cpu without hyperthreading and half that on one with hyperthreading.

It's very dependent on content. If I'm marginal, then the problems will show up only at a few places in the file, but it will be the same places every time.

So, based on experience that goes back several years on a number of different computers, I stand by my statement that the Intel decoder is better than Microsoft, at least with worst case material.

In reality, i just use my NVIDIA card to decode VC-1 anyway. :)

I agree that that would be the best as long as the "silent stream" bug is not a problem. As we've discussed before, it's unacceptable for me.

nevcairiel
18th November 2011, 07:51
Can you point me to a source that discusses this?

I'm sorry, but my brain is not wikipedia, its not archived with citations and source links for every piece of information.

My comment also only applies to Win7. Its pretty easy to test - wip up some tool that just runs an infinite loop. Its not multi-threaded, yet the task manager will show multiple cores with load instead of one being maxed out.

iSeries
18th November 2011, 09:28
Just zip up following files/directorys:

BDMV\index.bdmv
BDMV\MovieObject.bdmv
BDMV\PLAYLIST
BDMV\CLIPINF

Add to that some 20mb of sample from the m2ts, and it should be good.

Good morning Nev,

The sample you requested is here: http://www.mediafire.com/?8s14nh0pq1o1m92

And you were right, unticking "Try to fix broken HD-PVR recordings" does break m2ts playback and is as glitchy as playing the index.bdmv. I should add though that every mux with EasyBD has so far played perfectly in my standalones, and also the m2ts files have been played perfectly by my WDTV.

Many thanks again for your help!

nevcairiel
18th November 2011, 09:33
Good morning Nev,

The sample you requested is here: http://www.mediafire.com/?8s14nh0pq1o1m92

And you were right, unticking "Try to fix broken HD-PVR recordings" does break m2ts playback and is as glitchy as playing the index.bdmv. I should add though that every mux with EasyBD has so far played perfectly in my standalones, and also the m2ts files have been played perfectly by my WDTV.

Many thanks again for your help!

Thanks for that. The good news is, the problem is what i thought it was and i can fix it. The bad news is - if that problem did not occur on the original disc before the ripping, your ripping software did mess it up.
I guess its not too much to worry about, not many things actually try to use the information they messed up, since its not really required.

Check back with the next version, should be released on the weekend sometime, i think.

iSeries
18th November 2011, 09:48
Ok great - could you let me know exactly what / where the issues with the mux are so I can go to the developers of EasyBD with this information please? As so far they have dismissed me by saying it definitely isn't an issue with their software.

I have remuxed an EasyBD-muxed movie with tsMuxer, and guess what? Plays perfectly. I guess the saying 'you get what you pay for' isn't true at all sometimes!

Will remuxing the movies I have already muxed with EasyBD with tsMuxer solve these issues for me?

nevcairiel
18th November 2011, 10:22
Ok great - could you let me know exactly what / where the issues with the mux are so I can go to the developers of EasyBD with this information please?

It would appear the H264 sei_cpb_removal_delay & sei_dpb_output_delay no longer match the timestamps, causing ffmpeg to order the timestamps wrong. It may as well be a bug in ffmpeg for all i know - the other files that option was supposed to fix were broken far more obviously.

golagoda
18th November 2011, 10:25
I'm sorry, but my brain is not wikipedia, its not archived with citations and source links for every piece of information.

My comment also only applies to Win7. Its pretty easy to test - wip up some tool that just runs an infinite loop. Its not multi-threaded, yet the task manager will show multiple cores with load instead of one being maxed out.

If anyone wants to try this out just plug in something like

#include <iostream>

int main ()
{
loop:
int a = 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 * 99999999999999999999999999999999999999999999999999999999999999999999999999999999999;
goto loop;
}


into your favourite C++ compiler and see if it maxes out your CPU, if not just increase numbers to test it, here on this linux machine it only gets done on one core so I guess Microsoft managed to do something properly if it works as it says it will.

nevcairiel
18th November 2011, 10:37
Those numbers will already overflow the integer you're using. Anyway, its a endless loop and should max out one core 100%, however on Windows it won't show up as that - on a quadcore it will show 25% CPU usage, but the task manager won't show one core at 100%.

Edit:
http://images.gammatester.com/pics/ad5a21d0c447efda54a2185b996ed4e1.png

Thats running a endless loop once. If i run it 4 times, all cores are maxxed out properly.
While the first core shows more usage then the others, its not even close to 100%

I tried to dig up some documentation on the windows scheduler, but its really not all that publicly documented.

fastplayer
18th November 2011, 11:14
I tried to dig up some documentation on the windows scheduler, but its really not all that publicly documented.
Knock yourself out: http://download.sysinternals.com/Files/WindowsInternals-Ch05.pdf
Relevant chapters: Multiprocessor Systems, Multiprocessor Thread-Scheduling Algorithms (pages 434-444)

El Topo
18th November 2011, 13:30
That feature has been moved further into the future, alot of other things to do - and honestly, such Intel CPUs that support full hardware decoding are fast enough to decode anything you throw at it anyway - without even breaking a sweat.

At least not true for my up-to-date Sandy Bridge Celeron G530 (supports full hardware decoding). Here is what I get while trying to play a 1080p24 mkv file, using lav video + lav audio decoders:

http://s3.kkloud.com/gett/static/scaled/9hK1V7A-0.dkghyykgduslwhfr.jpg

nevcairiel
18th November 2011, 13:40
At least not true for my up-to-date Sandy Bridge Celeron G530 (supports full hardware decoding).

I suppose there will always be those people that mistakenly buy a Celeron instead of a CPU. Luckily, Microsoft even ships DXVA codecs that just work for those folk.

Xaurus
18th November 2011, 13:42
I suppose there will always be those people that mistakenly buy a Celeron instead of a CPU.
Thanks for making my day at work slightly funnier. :D

nevcairiel
18th November 2011, 13:45
Thanks for making my day at work slightly funnier.

But its true, those chips are artificially cut down in size, and really don't have any power anymore. But of course they appeal to people because you get them for $50 or something.

If i were to build a HTPC right now, i wouldn't go below the i3-2100, maybe even a bit up for some reserves.
Hardware decoding is all and well, but if it doesn't work for some reason, i would always want a system that can produce enough performance to run everything in software.

El Topo
18th November 2011, 13:45
... but making me cry! ;)

Xaurus
18th November 2011, 13:47
If i were to build a HTPC right now, i wouldn't go below the i3-2100, maybe even a bit up for some reserves.
It doesn't feel like my 2120T has much reserves, but it's awesome for a 35W chip. Best choice I ever made computer-wise.

nevcairiel
18th November 2011, 13:50
It doesn't feel like my 2120T has much reserves, but it's awesome for a 35W chip. Best choice I ever made computer-wise.

Well, the T series are down-clocked for less-power, aren't they?
The i3-2100 seems to be even faster then yours, but of course uses more power (65W)

I can't wait for Yvy Bridge, my HTPC is up for a rebuild. :)

fastplayer
18th November 2011, 13:54
At least not true for my up-to-date Sandy Bridge Celeron G530 (supports full hardware decoding).
According to Intel (http://ark.intel.com/products/53414), Clear Video HD Technology is disabled.

DragonQ
18th November 2011, 13:59
At least not true for my up-to-date Sandy Bridge Celeron G530 (supports full hardware decoding). Here is what I get while trying to play a 1080p24 mkv file, using lav video + lav audio decoders:

http://s3.kkloud.com/gett/static/scaled/9hK1V7A-0.dkghyykgduslwhfr.jpg
Well that clearly isn't using hardware decoding, is it? MPC-HC will say "DXVA" at the bottom if it's using hardware decoding. You can also press CTRL-J to see what rendering device and decoder are being used. LAV works with nVidia's CUDA but it doesn't work with Intel's equivalent, does it?

Personally I'm going Celeron G530 + nVidia GT430 for my HTPC. Using LAV CUVID the video card can handle all the difficult stuff with ease and the CPU is plenty for other things like DivX/Xvid. It can even handle MadVR.

Xaurus
18th November 2011, 14:06
Well, the T series are down-clocked for less-power, aren't they?
The i3-2100 seems to be even faster then yours, but of course uses more power (65W)

I can't wait for Yvy Bridge, my HTPC is up for a rebuild. :)
Yes, the 2100 is 3.1 GHz @ 65W while the 2120T is 2.6 GHz @ 35W.

In any case I use CUVID with the GTS 450 so no problem what so ever. :)

El Topo
18th November 2011, 14:07
According to Intel (http://ark.intel.com/products/53414), Clear Video HD Technology is disabled.

Thats right for the Hardware encoding part, but the decoding part is the same for all Sandy Bridge CPUs.

El Topo
18th November 2011, 14:11
Well that clearly isn't using hardware decoding, is it? MPC-HC will say "DXVA" at the bottom if it's using hardware decoding. You can also press CTRL-J to see what rendering device and decoder are being used. LAV works with nVidia's CUDA but it doesn't work with Intel's equivalent, does it?

Personally I'm going Celeron G530 + nVidia GT430 for my HTPC. Using LAV CUVID the video card can handle all the difficult stuff with ease and the CPU is plenty for other things like DivX/Xvid. It can even handle MadVR.

Of course this isn't using HW decoding, because the Intel CPU/GPU was used with LAV Video Decoder, which doesn't support HW decoding on Intel GPUs (yet).

DragonQ
18th November 2011, 14:13
Of course this isn't using HW decoding, because the Intel CPU/GPU was used with LAV Video Decoder, which doesn't support HW decoding on Intel GPUs (yet).

What was your point then? nevcairiel said the G530 had hardware decoding good enough for anything, not software decoding.

fastplayer
18th November 2011, 14:14
Thats right for the Hardware encoding part, but the decoding part is the same for alle Sandy Bridge CPUs.
Then their info (http://www.intel.com/content/www/us/en/architecture-and-technology/clear-video-hd/clear-video-hd-technology-general.html) is inaccurate because it says Clear Video HD Technology covers HW-accelerated decoding.

El Topo
18th November 2011, 14:23
Then their info (http://www.intel.com/content/www/us/en/architecture-and-technology/clear-video-hd/clear-video-hd-technology-general.html) is inaccurate because it says Clear Video HD Technology covers HW-accelerated decoding.

Yes, it's inaccurate. Have a look at this thread (http://www.avsforum.com/avs-vb/showthread.php?p=21015057#post21015057) and the post linked.

El Topo
18th November 2011, 14:35
What was your point then? nevcairiel said the G530 had hardware decoding good enough for anything, not software decoding.

While the Intel i3 and better ("CPUs" as Nev calls them :D) are capable of getting all the work done without HW decoding, the smaller Sandy Bridges (Celeron and Pentium) are too weak for the big challenges (1080p/i). Thats why I asked Nev to support HW decoding on Intel, which is on his todo list (at the very end I guess).

nevcairiel
18th November 2011, 14:44
While the Intel i3 and better ("CPUs" as Nev calls them :D) are capable of getting all the work done without HW decoding, the smaller Sandy Bridges (Celeron and Pentium) are too weak for the big challenges (1080p/i). Thats why I asked Nev to support HW decoding on Intel, which is on his todo list (at the very end I guess).

Not the very end, just not at the top either. :)

jmonier
18th November 2011, 15:51
I'm sorry, but my brain is not wikipedia, its not archived with citations and source links for every piece of information.

My comment also only applies to Win7. Its pretty easy to test - wip up some tool that just runs an infinite loop. Its not multi-threaded, yet the task manager will show multiple cores with load instead of one being maxed out.

Well, I'm not talking about test cases. I've described a real world sample that I have experience with over a long period of time and, believe me, it works just as I said. And my experience extends from XP to Win 7 (which is what I'm currently using).

andyvt
18th November 2011, 16:06
While the Intel i3 and better ("CPUs" as Nev calls them :D) are capable of getting all the work done without HW decoding, the smaller Sandy Bridges (Celeron and Pentium) are too weak for the big challenges (1080p/i). Thats why I asked Nev to support HW decoding on Intel, which is on his todo list (at the very end I guess).

For now you'll want to check out egur's custom build (http://forum.doom9.org/showthread.php?t=162442) of ffdshow.

linzki
18th November 2011, 16:45
why can't i see any difference when i use CUVID and adaptive, 50p/60p deinterlacing.

Shouldn't the difference be like when i use Splash players motion2 60p option.

i have: Intel core 2 quad CPU Q6600 @ 2.40 GHz, 4Gb ram, GeForce GTX 460, Windows 7 32-bit.

nevcairiel
18th November 2011, 21:05
Hi,

http://files.1f0.de/lavf/LAVFilters-0.39-47-g121fb24.zip

This build adds support for YADIF deinterlacing.
I have tested it quite a bit already, and it seems stable enough - however i cannot shake the feeling that i'm missing something.

Limitations:
- It only works on YUV 4:2:0 or 4:2:2 (8-bit only) (before output conversion)
- It does not work with the CUVID decoder (why would you want to anyway?)

Please give it a try, and if anything goes wrong, report the problems. :)

VipZ
18th November 2011, 21:20
Hi,

http://files.1f0.de/lavf/LAVFilters-0.39-47-g121fb24.zip

This build adds support for YADIF deinterlacing.
I have tested it quite a bit already, and it seems stable enough - however i cannot shake the feeling that i'm missing something.

Limitations:
- It only works on YUV 4:2:0 or 4:2:2 (8-bit only)
- It does not work with the CUVID decoder (why would you want to anyway?)

Please give it a try, and if anything goes wrong, report the problems. :)

Awesome :)

I have done some basic testing with forced RGB32 output, looks good to me. I got a feeling YADIF is not multithreaded or am I mistaken.

jmone
18th November 2011, 21:46
I've run through my Interlacted files and it works perfectly on all of them (well with the exception of VC1-(i) of course):
1) CPU Overhead seems to be low for me (only adding and extra 2-3% on my i7-920)
2) It play "nice" with madVR's (and it's deinterlacing), eg if you toggle LAV SW Deinterlacing on/off then madVR dynamically changes as well. I was using the 50/60p Video Mode though madVR still reported the stream as 25/29.970fps

I'm really pleased with the quality and the balance with the low CPU overhead.

nevcairiel
18th November 2011, 21:59
I got a feeling YADIF is not multithreaded or am I mistaken.

Its not, adding that would also be kinda hard.
Neither is ffdshows YADIF, fwiw.

It does feel fast enough for me to not worry about it.

VipZ
18th November 2011, 22:04
Its not, adding that would also be kinda hard.
Neither is ffdshows YADIF, fwiw.
I always thought ffdshow's was and also mentions this on their wiki.

It does feel fast enough for me to not worry about it.

I have a 1080i h264 ts file which often hits 12-13% CPU, with turbo up to 4.5ghz and seems like it dropping frames.

nevcairiel
18th November 2011, 22:17
I always thought ffdshow's was and also mentions this on their wiki.

Hm right, i just found the code, its well hidden, as everything in ffdshow. :p



I have a 1080i h264 ts file which often hits 12-13% CPU, with turbo up to 4.5ghz and seems like it dropping frames.

I don't think its performance is really all that much dependent on the complexity of the image, although if you want, try to cut a sample of such a file.
I tested a 1080i60 h264 track, decodes at around ~260 fps without YADIF, at ~180 fps with.

Maybe in the future i might try to add multi-threading support, but right now, considering the effort it would be, i don't see the need on numbers i see here.

VipZ
18th November 2011, 22:30
Hm right, i just found the code, its well hidden, as everything in ffdshow. :p

:) Would that code be easy to port from ffdshow or too messy and not worth the trouble?

With the toggle option for YADIF is there any reason to not have it ticked other than to use HW deinterlacing, or is there a chance it has side affects with some progressive content?

nevcairiel
18th November 2011, 22:31
:) Would that code be easy to port from ffdshow or too messy and not worth the trouble?

Way too messy.


With the toggle option for YADIF is there any reason to not have it ticked other than to use HW deinterlacing, or is there a chance it has side affects with some progressive content?
It shouldn't affect pure progressive content.

jmone
18th November 2011, 22:33
FYI, just tested on a lowly C2D Laptop - I'm seeing a big CPU improvement with LAVVideo+YADIF over FFDSHOW+YADIF (in MC's RO setting)

VipZ
18th November 2011, 22:46
Way too messy.

Thanks, guessed as much. Think it would be quite rare for a video to stress a single core of a SB CPU

Which deinterlacing would take precedence if NV12 to EVR is used with YADIF selected?

DragonQ
18th November 2011, 23:44
Hi,

http://files.1f0.de/lavf/LAVFilters-0.39-47-g121fb24.zip

This build adds support for YADIF deinterlacing.
I have tested it quite a bit already, and it seems stable enough - however i cannot shake the feeling that i'm missing something.

Limitations:
- It only works on YUV 4:2:0 or 4:2:2 (8-bit only) (before output conversion)
- It does not work with the CUVID decoder (why would you want to anyway?)

YADIF 2x (i.e. with frame doubling)?

Also, is this 32-bit only?

STaRGaZeR
18th November 2011, 23:55
BIG day for LAV Video ;)

Your implementation of avfilter is so clean, me likes. Using Yadif already, will report any problems. Very good perfomance in seeks. So far the only issue I see is that it requires a video restart (or the repeat function of MPC) to apply the changes in the output mode (same/double framerate), pressing the apply button doesn't work.

And now that I'm "suffering" this, a nice feature for the future would be configurable keyboard shortcuts to enable/disable stuff on the fly ala ffdshow, without having to open the properties page all the time.

EDIT:

- It's me or LAV does a better job at yadif than ffdshow? I have to test and compare more, but quality seems a lot better in some places like fast horizontal letters in DVB commercials. It looks way better than ATI's VA deinterlacing to my eyes, while ffdshow looks worse.
- It seems that there is no way to completely disable deinterlacing. If Yadif is off, hardware takes over. There was an option to send flags downstream (on/off), right? This is needed to avoid deinterlacing on samples that are properly flagged as interlaced but the content is actually progressive, like in most DVB movies here.

linzki
19th November 2011, 00:42
Hi,

http://files.1f0.de/lavf/LAVFilters-0.39-47-g121fb24.zip

This build adds support for YADIF deinterlacing.
I have tested it quite a bit already, and it seems stable enough - however i cannot shake the feeling that i'm missing something.

Limitations:
- It only works on YUV 4:2:0 or 4:2:2 (8-bit only) (before output conversion)
- It does not work with the CUVID decoder (why would you want to anyway?)

Please give it a try, and if anything goes wrong, report the problems. :)

Thanks a lot Nevcairiel. Now it's working :)

Mikey2
19th November 2011, 03:08
What is the difference between "LAV Splitter" and "LAV Splitter Source" ?

I cannot find anything in my research, and I have switched between the two multiple times and I do not see any differences.

jmone
19th November 2011, 05:29
It is two versions of the splitter, but one includes a "Source Filter", the other will connect to the std Source Filter already on you PC as a part of the std windows install.

nevcairiel
19th November 2011, 08:01
YADIF 2x (i.e. with frame doubling)?
Frame doubling is really the wrong term for that.
The two modes work like this:

- Create one frame for every field (results in 50 or 60 fps)
- Create one frame for every 2 fields (results in 25 or 30 fps)

It doesn't double anything, it just takes all of the original information and creates frames from that.
This means it keeps the full temporal resolution.

Anyway, yes its supported, in the small YADIF box set output to 50/60p (which is the default)

Also, is this 32-bit only?
64-bit is supported just fine, the test build i provided is 32-bit only, though.

The release will be 32 and 64, as always.


So far the only issue I see is that it requires a video restart (or the repeat function of MPC) to apply the changes in the output mode (same/double framerate), pressing the apply button doesn't work.

Making the apply button work with every setting is not a big priority. For some settings it would be easier then for others though, so maybe i can enable it for some.
For this particular feature, seeking should re-initialize it too.


- It's me or LAV does a better job at yadif than ffdshow? I have to test and compare more, but quality seems a lot better in some places like fast horizontal letters in DVB commercials. It looks way better than ATI's VA deinterlacing to my eyes, while ffdshow looks worse.

I noticed that scrolling texts looked really good, which did surprise me as well. NVIDIAs HW deinterlacing still looked better on other kind of content, though. I didn't compare to ffdshow.


- It seems that there is no way to completely disable deinterlacing. If Yadif is off, hardware takes over. There was an option to send flags downstream (on/off), right? This is needed to avoid deinterlacing on samples that are properly flagged as interlaced but the content is actually progressive, like in most DVB movies here.

Is that really an required option?
I removed it because its so easy to mess the configuration up and get interlacing artifacts, while running a deinterlacer on progressive content is only a minor issue. I can re-add the option, i suppose.

DVB is really constantly messed up, eh. Interlaced content flagged progressive, progressive content flagged interlaced....

STaRGaZeR
19th November 2011, 14:10
Making the apply button work with every setting is not a big priority. For some settings it would be easier then for others though, so maybe i can enable it for some.
For this particular feature, seeking should re-initialize it too.

Yep, seeking reinits it.

I noticed that scrolling texts looked really good, which did surprise me as well. NVIDIAs HW deinterlacing still looked better on other kind of content, though. I didn't compare to ffdshow.

The funny thing is that ffdshow uses vanilla ffmpeg's yadif filter_line and related functions, but multithreading and other stuff are custom. 100% vanilla really looks better, and awesome overall, dunno why.

Is that really an required option?
I removed it because its so easy to mess the configuration up and get interlacing artifacts, while running a deinterlacer on progressive content is only a minor issue. I can re-add the option, i suppose.

DVB is really constantly messed up, eh. Interlaced content flagged progressive, progressive content flagged interlaced....

Indeed it is. PAL DVDs are the same, and with SD content quality suffers, quite a bit more than with HD. This can be easily managed with an option to disable hardware deinterlacing like LAV previously had (we already have the Yadif one), and shortcuts to enable/disable them fast on the fly as the content requires it. It's unfortunately the only way as the filter doesn't know the actual nature of the content, only humans can do that.

nevcairiel
19th November 2011, 14:14
Indeed it is. PAL DVDs are the same, and with SD content quality suffers, quite a bit more than with HD. This can be easily managed with an option to disable hardware deinterlacing like LAV previously had (we already have the Yadif one), and shortcuts to enable/disable them fast on the fly as the content requires it. It's unfortunately the only way as the filter doesn't know the actual nature of the content, only humans can do that.

I can surely reintroduce the option, however regarding keyboard shortcuts - i'm somewhat hesitant to add those. For one there is no clear way to give feedback to the user that the key was pressed and received, except if i add some sort of OSD - secondly, i would really prefer such things be handled by the player, not some filter it happens to use (like thats going to happen, huh?)

It would probably also need some kind of configuration for the shortcuts, all alot of work for broken content.
I'll think about it, but don't expect keyboard shortcuts soon.

If anyone wants to contribute a component that takes keyboard shortcuts and changes the options on the fly, feel free. :)

PS:
If you happen to use madVR, it has shortcuts to disable its hardware deinterlacing.

Mercury_22
19th November 2011, 15:23
Your filters have made WMC a viable player / option so adding keyboard shortcuts (to be used with a remote control) for changing (turning on / off) audio and subtitles will definitely make WMC my preferred player ( cause whatever other may say WMC has a very good and nice interface) for my HTPC :)

nevcairiel
19th November 2011, 15:33
Your filters have made WMC a viable player

Damn, how i hate myself now.

STaRGaZeR
19th November 2011, 16:35
I can surely reintroduce the option, however regarding keyboard shortcuts - i'm somewhat hesitant to add those. For one there is no clear way to give feedback to the user that the key was pressed and received, except if i add some sort of OSD - secondly, i would really prefer such things be handled by the player, not some filter it happens to use (like thats going to happen, huh?)

It would probably also need some kind of configuration for the shortcuts, all alot of work for broken content.
I'll think about it, but don't expect keyboard shortcuts soon.

If anyone wants to contribute a component that takes keyboard shortcuts and changes the options on the fly, feel free. :)

PS:
If you happen to use madVR, it has shortcuts to disable its hardware deinterlacing.

The feedback issue is a tough one. In ffdshow the OSD is just a subtitle, passed to the subtitle filter. Maybe when you do something about issue 137 :p

Regarding the never ending debate of where to put features, yadif and any other option that is LAV specific has no place in the player, renderer, etc. IMHO.

I don't use madVR, nor HW deinterlacing unfortunately.

BTW I just tested some filters in LAV. Deband works just fine (needs gcc > 4.6.2) but unsharp is slow as molasses as it lacks SIMD optimizations, unusable for real time playback.

linzki
19th November 2011, 17:11
I use ffdshow's unsharp all the time and with LAV's latest filters and MadVR it works perfectly.

I have all queue options set on max in MadVR and they stay full.

---------
specs: Intel core 2 quad CPU Q6600 @ 2.40 GHz, 4Gb ram, GeForce GTX 460, Windows 7 32-bit and Acer
H5360 projector

nevcairiel
19th November 2011, 17:19
I use ffdshow's unsharp all the time and with LAV's latest filters and MadVR it works perfectly.

I have all queue options set on max in MadVR and they stay full.

---------
specs: Intel core 2 quad CPU Q6600 @ 2.40 GHz, 4Gb ram, GeForce GTX 460, Windows 7 32-bit and Acer
H5360 projector

Noone was talking about ffdshow here, though. :)

Thunderbolt8
19th November 2011, 18:31
unsharp is slow as molasses as it lacks SIMD optimizations, unusable for real time playback.is it the same filter as ffdshows unsharp mask? would be great if speed could be improved then, I still use for all my HD stuff, because my screen size is not 1080p.

then I could finally ditch ffdshow for good ;)

nevcairiel
19th November 2011, 18:33
There are certain priorities here, and improving the speed of ffmpegs post-processing filters is not high on the list. Hey, right now i won't even offer them. :p

Thunderbolt8
19th November 2011, 18:36
hm by reading that statement from stargazer I thought you had already integrated it. I guess he was refering to unsharp mask in ffdshow then in combination with lav video?

Keiyakusha
19th November 2011, 18:37
BTW I just tested some filters in LAV. Deband works just fine (needs gcc > 4.6.2) but unsharp is slow as molasses as it lacks SIMD optimizations, unusable for real time playback.
in LAV? These are some up & coming features or what? I hopes Nev doesn't plans to add crappy ffdshow's deband...

nevcairiel
19th November 2011, 18:50
You should all stop with the assumptions. :)
I'm not copying anything from ffdshow, and i'm not yet adding any processing other then yadif.
If you know how to modify code however, the (crude draft of a) infrastructure is now there to use libavfilter filters.

Gleb Egorych
19th November 2011, 19:01
nevcairiel,

Tested 0.39-47 and can confirm:
1. Hang bug (http://forum.doom9.org/showthread.php?p=1538967#post1538967) is fixed.
2. Black screen bug (http://forum.doom9.org/showthread.php?p=1538127#post1538127) is fixed too.

Thanks for your great work!

nevcairiel
19th November 2011, 19:03
nevcairiel,

Tested 0.39-47 and can confirm:
1. Hang bug (http://forum.doom9.org/showthread.php?p=1538967#post1538967) is fixed.
2. Black screen bug (http://forum.doom9.org/showthread.php?p=1538127#post1538127) is fixed too.

Thanks for your great work!

Great!

STaRGaZeR
19th November 2011, 19:24
in LAV? These are some up & coming features or what? I hopes Nev doesn't plans to add crappy ffdshow's deband...

Yes, in LAV. And no, that has nothing to do with LAV's future.

Keiyakusha
19th November 2011, 20:10
I'm not copying anything from ffdshow, and i'm not yet adding any processing other then yadif.Yes, in LAV. And no, that has nothing to do with LAV's future.

I see... BTW, don't get me wrong, I do want to see deband in LAV at some point, its just the one in ffdshow doesn't deserves to be in LAV cause of his poor quality and occasional brokenness.

pankov
19th November 2011, 20:18
nev,
this is a capture I've just made from my local cable TV.
http://www.mediafire.com/?2ub8kb1pdtlbt5f
It shows a problem with the field order which happens from time to time.
From what I see the first part is BFF while the end (and the usual for our PAL country) is TFF. It's just this news story (and rarely others like it) that is inverted.
I can manually fix by changing TFF or BFF but sadly its not very convenient and I was hoping the decoder can sense this and act accordingly.
Is there any hope or I should forget about it and simply blame the producers/broadcasters for this mess?

Edit:
Or could it be that the DVB App that I'm using (DVBViewer) messed it up?

nevcairiel
19th November 2011, 20:20
I was hoping the decoder can sense this and act accordingly.
Is there any hope or I should forget about it and simply blame the producers/broadcasters for this mess?

If the auto fieldorder setting doesnt work, then there isnt much hope.

STaRGaZeR
19th November 2011, 20:30
I see... BTW, don't get me wrong, I do want to see deband in LAV at some point, its just the one in ffdshow doesn't deserves to be in LAV cause of his poor quality and occasional brokenness.

The one in ffdshow is the one in avfilter. What brokenness? Don't blame avfilter when gcc breaks :p

BTW, what's the best deband filter out there? Speed?

Keiyakusha
19th November 2011, 21:10
The one in ffdshow is the one in avfilter. What brokenness? Don't blame avfilter when gcc breaks :p
But why deband is always the 1st thing that breaks and many other things continue to work as always? Or this is the only gcc-compiled part in ffdshow?
BTW, what's the best deband filter out there? Speed?
I don't think I tried all possible solutions but what I personally like is flash3kyuu (f3kdb) (https://github.com/SAPikachu/flash3kyuu_deband/tree/1.4.2), which is more optimised, available for 32 and 64 bit, supports up to 16bit bitdepth (input and output), has dithering to go from higher to lower bitdepth and gives visually much nicer results. EDIT: full-chroma colorspaces probably supported too, didn't actually tried

pankov
19th November 2011, 23:54
If the auto fieldorder setting doesnt work, then there isnt much hope.
It doesn't work for me
:(
Does it work for anybody?

STaRGaZeR
20th November 2011, 01:41
But why deband is always the 1st thing that breaks and many other things continue to work as always? Or this is the only gcc-compiled part in ffdshow?

Always? Sounds like deband is completely broken :p. After I changed it to use avfilter's code instead of the old, slow and non x64 friendly code there have been no issues except this one and it was caused by gcc, not by the code itself.

Why deband? You have to ask that question to the gcc devs, there was a bug that was triggered by something in gradfun's code and not by anything else. Everything ffmpeg related is compiled with gcc in Windows (LAV, ffdshow, madVR...). x264 has suffered gcc bugs in the past too.

THX-UltraII
20th November 2011, 07:48
@Nevcairiel:
Are you also planning to support frame doubling/smooth video for 1080p23,976 content in the future?

nevcairiel
20th November 2011, 08:35
@Nevcairiel:
Are you also planning to support frame doubling/smooth video for 1080p23,976 content in the future?

No, never.

Gleb Egorych
20th November 2011, 09:00
It doesn't work for me
:(
Does it work for anybody?
I suppose it could be a channel problem (neither cable provider problem nor DVBViewer/LAV problem). I see sometimes such problem even on analog TV.

ryrynz
20th November 2011, 09:34
No, never.

We could always hope for Avisynth support I guess.
Would that be much work to implement? Then it would be bye bye ffdshow :D

madshi
20th November 2011, 10:20
Everything ffmpeg related is compiled with gcc in Windows (LAV, ffdshow, madVR...). x264 has suffered gcc bugs in the past too.
I'm not sure what nevcairiel uses, but madVR is a mixture of MSVC++ and Delphi compiled exe/dll files. I'm not using gcc at all, except for creating the external ffmpeg dlls.

nevcairiel
20th November 2011, 10:40
Same here, only the ffmpeg dlls are compiled with GCC, libbluray and LAV itself are compiled with MSVC2010, but i think thats what he meant.

madshi
20th November 2011, 11:35
It read to me as if he meant LAV and madVR themselves would be compiled with GCC, too. But that could have been a misunderstanding on my part. Anyway...

kalston
20th November 2011, 12:19
@Nevcairiel:
Are you also planning to support frame doubling/smooth video for 1080p23,976 content in the future?

You can always use ffdshow post processing with avsynth for that.

I did try that because I was curious but I really don't think nev should bother implementing that in LAV, it butchers films and not that many people want it.
There are a lot of TVs that do it much better than software implementations anyway.

STaRGaZeR
20th November 2011, 13:18
I'm not sure what nevcairiel uses, but madVR is a mixture of MSVC++ and Delphi compiled exe/dll files. I'm not using gcc at all, except for creating the external ffmpeg dlls.

I was obviously talking about the ffmpeg dlls that all of them use.

madshi
20th November 2011, 13:27
Well, at least LAV is very much "ffmpeg related", too, seeing that in its core it's basically a DirectShow wrapper around ffmpeg/libav, so what you said was not that obvious. Anyway, doesn't matter, it's cleared up now.

STaRGaZeR
20th November 2011, 15:15
madVR is the same after all. You're the only one that knows what the hell is a decoder doing inside a DirectShow video renderer after all that talk about the correct place of putting things :D

e-t172
20th November 2011, 19:50
I'm trying to open a raw RGB24-in-AVI file (FourCC: "DIB") in LAV Splitter. The file plays correctly using the Microsoft AVI/WAV File Source and with VLC. LAV Splitter opens it but I can't connect it to anything (apart from ffdshow video in raw mode, but it crashes when I start playback). LAV Splitter exposes the {00000000-0000-0010-8000-00AA00389B71} subtype in its output pin and nothing else, whereas Microsoft AVI/WAV File Source exposes MEDIASUBTYPE_RGB24, which seems much more appropriate. Is this normal?

nevcairiel
20th November 2011, 19:59
I'm trying to open a raw RGB24-in-AVI file (FourCC: "DIB") in LAV Splitter. The file plays correctly using the Microsoft AVI/WAV File Source and with VLC. LAV Splitter opens it but I can't connect it to anything (apart from ffdshow video in raw mode, but it crashes when I start playback). LAV Splitter exposes the {00000000-0000-0010-8000-00AA00389B71} subtype in its output pin and nothing else, whereas Microsoft AVI/WAV File Source exposes MEDIASUBTYPE_RGB24, which seems much more appropriate. Is this normal?

Try with this?
http://files.1f0.de/lavf/LAVFilters-0.39-50-g6692e18.zip

e-t172
20th November 2011, 20:16
Problem solved, thanks!

MokrySedeS
20th November 2011, 21:38
I have a problem with Lav Video Decoder, with "Use Stream Aspect Ratio" option to be exact. Here (http://www.mediafire.com/?4vva0ay2iomnq91) are 3 sample files of x264 anamorphic encodes for you to reproduce the issue.
One of them plays at correct AR only with this option disabled, another one only with it being enabled and the last one plays correct either way.
I guess that it's a bug and hope that it will be fixed :-)

nevcairiel
20th November 2011, 22:17
I have a problem with Lav Video Decoder, with "Use Stream Aspect Ratio" option to be exact. Here (http://www.mediafire.com/?4vva0ay2iomnq91) are 3 sample files of x264 anamorphic encodes for you to reproduce the issue.
One of them plays at correct AR only with this option disabled, another one only with it being enabled and the last one plays correct either way.
I guess that it's a bug and hope that it will be fixed :-)

The only file that even display different behavior here is "Use.Stream.AR.Disabled.mkv", which i assume is supposed to run at 16:9. The problem with such files is that the AR is only properly flagged in the container, with a wrong AR in the bitstream. Sadly, this is quite common for MKV H264 files, and there is no easy fix.
One option would be to ignore the stream AR for files in MKV, however this is not always a good solution, as you could remux live tv into MKV, which could then change AR mid stream...

The other two files decode properly no matter what the option is set to.
"Use.Stream.AR.Enabled&Disabled.mkv" decodes at 16:9 with a target rectangle of 640x362, and "Use.Stream.AR.Enabled.mp4" decodes at 2.35:1 with a target rectangle of 1018x432
This of course depends on what splitter you use, because if "Use Stream Aspect Ratio" is off, the AR as defined by the splitter is used instead. I tested everything with LAV Splitter, of course.

Use.Stream.AR.Disabled.mkv is just a bad encode, while the other two work fine for me.

MokrySedeS
20th November 2011, 22:46
My bad, I wasn't using Lav Splitter for mp4 :o

mindbomb
21st November 2011, 00:04
i have this problem with a handful of files, where lav splitter can't seek through them
this one was muxed with haali, but the other files were muxed with mkvmerge.
I can't make a sample of it, so I'm posting the whole thing, in 2 zip pieces ( it is relatively small, lucky enough)

http://www.megaupload.com/?d=TT2YF81F
http://www.megaupload.com/?d=WWGJ44ZP

nevcairiel
21st November 2011, 08:08
1.6G is relatively small for you? :p
I'll see about download those later.

Xaurus
21st November 2011, 10:20
nev,

I have a few files here with double english audio tracks, one is marked "default" (says madvr trayicon) and is only 2.0 AAC, the other one is 5.1 AC3.

Now, lav audio selects the 2.0 by default - is there a way to override this?

nevcairiel
21st November 2011, 10:24
I have a few files here with double english audio tracks, one is marked "default" (says madvr trayicon) and is only 2.0 AAC, the other one is 5.1 AC3.

Now, lav audio selects the 2.0 by default - is there a way to override this?

A "default" flag overrides any other decisions based on audio stream quality.
So, no, there is not.

Xaurus
21st November 2011, 10:29
A "default" flag overrides any other decisions based on audio stream quality.
So, no, there is not.
Hmm would it be possible to add an "if_then" function, something like "if there exist several audio tracks of the same language and the higher channel track is not flagged as default, select this track anyway", as an option in control panel.

Just a thought.

CruNcher
21st November 2011, 10:59
Nev lav Splitter is somehow crashing MPC-HC (test builds) with Mainconcepts Mpeg-2 Decoder (SDK 9 DXVA) when drag and drop loading is involved while still playing back (tested so far only the .ts parsing part) doesn't happen with MPC-HC parser (and heavy drag and dropping) :(

Its easy reproducible with this simple order

1. Prefer Mainconcept Mpeg-2 Decoder
2. Prefer Lav Splitter
3. Load Mpeg2 ts
4. Start Playback
5. Drag and Drop same Mpeg-2 ts

Result: MPC-HC Window doesn't respond anymore and finally the program doesn't react anymore window appears.

Working:

1. Prefer Mainconcept Mpeg-2 Decoder
2. Select Internal .ts Parser
3. Load Mpeg-2 ts
4. Start Playback
5. Drag and Drop same Mpeg-2 ts

Result: MPC-HC cleanly closes the playing stream and opens the drag and drop one without issues

nevcairiel
21st November 2011, 11:01
Nev lav Splitter is somehow crashing Mainconcepts Mpeg-2 Decoder in MPC-HC when drag and drop loading is involved while still playing back (tested so far only the .ts parsing part) doesn't happen with MPC-HC parser :(

A crash is *always* the fault of the code actually crashing. No code should ever be able to crash just from some external input, or its just bad code.

CruNcher
21st November 2011, 11:25
Not sure what actually crashes what in the end just stops responding :) and its just the reaction to the task i try in different scenarios (Decoder) lav splitter is 0.39-47

tried Cyberlink DXVA as decoder it doesn't crash with MPC-HC in this task order with Lav Splitter i would say it's ultimate hard now to pinpoint who is doing it wrong on which side (MPC-HC, Lav Splitter or Mainconcept) :(

Gonna also try non MPC-HC test builds (as they have known init and clean close issues)

With the trunk MPC-HC builds the not responding (Lav Splitter + Mainconcept Mpeg2 Decoder SDK 9) doesn't happen with the Drag and Drop operation but with File->Close it shows the same symptoms as Drag and Drop in the test builds and again using the Internal Parser no problems :(

Also still lavsplitter-freeze.mp4 is still in 0.39-47 the Internal Parser still doesn't freeze

PS: tried also 0.39-50 same 2 issues that Internal parsers show no issues with, and also used another ffmpeg based splitter (av splitter 1.1.8.14 that as well doesn't show crash issues with Mainconcept and the Drag and Drop load while playing back test though it shows the same freeze issue with the mp4 and mov streams)

nevcairiel
21st November 2011, 12:09
i have this problem with a handful of files, where lav splitter can't seek through them
this one was muxed with haali, but the other files were muxed with mkvmerge.

It looks like the files are lacking Cue points (or ffmpeg fails at finding/parsing them), which ffmpeg sadly relys on for seeking.
The MKV spec says they are not required for seeking, but they do make it a whole lot easier.

It would be great to fix that in ffmpeg so that seeking without Cue points works, not sure when/if i'll have time for that, though.

Edit:
On second thought, it seems the Metaseek/Seekhead block is missing, which could certainly cause it to just not find the Cue data.
ffmpegs matroska parser is really rather limited. :(

CruNcher
21st November 2011, 12:54
Btw AV splitter has Programm Stream support, something really lacking in Lav Splitter compared to Potplayer parser, Mpc-hc splitter and now Av Splitter as well (though it can't instantly switch needs to restart the selected stream, its more crashy than potplayers parser, and it has a ton of black screen *.ts issues that are fixed in lav splitter (first by Video Stream Parsing later without)) :)

madshi
21st November 2011, 12:54
A crash is *always* the fault of the code actually crashing. No code should ever be able to crash just from some external input, or its just bad code.
Oh well, I don't 100% agree here. E.g. imagine you send an uncompressed video frame downstream with incorrect width/height information. This could result in the downstream filter reading over the bounds of the allocated IMediaSample buffer, resulting in an access violation. In this situation the crash would be your fault, IMHO. Or imagine the pitch you're using is smaller than the pitch the downstream filter is expecting. If the pitch you're using is too small, once again a potential access violation would be your fault.

Of course I'm not saying that any of this is happening between LAV Splitter <-> Mainconcept Mpeg-2 Decoder. After all in these cases you're sending bitstream and there's not so much that can go wrong there (no width, height, pitch involved etc). So I would say that it's very likely that the crash is the fault of the Mainconcept Mpeg-2 Decoder.

Weirdo
21st November 2011, 13:00
Hi nevcairiel, do you think it'd be possible to add audio/speaker delay settings separately for each channel to LAV Audio? It'd be of great help to us with crappy audio card drivers not giving the option. The only way I can do it now is to use ffdshow and its delay setting.

nevcairiel
21st November 2011, 13:11
Oh well, I don't 100% agree here. E.g. imagine you send an uncompressed video frame downstream with incorrect width/height information. This could result in the downstream filter reading over the bounds of the allocated IMediaSample buffer, resulting in an access violation. In this situation the crash would be your fault, IMHO. Or imagine the pitch you're using is smaller than the pitch the downstream filter is expecting. If the pitch you're using is too small, once again a potential access violation would be your fault.

IMHO, the consumer of the data should do some basic validations, like checking the size of the buffer. It would already catch alot problems and avoid crashes.
I at least validate that the renderer provides a buffer big enough for what i think should be the stride, and if it doesnt fit, i just refuse instead of crashing. Granted, this only applys to your examples - but you get the point. :)

Hi nevcairiel, do you think it'd be possible to add audio/speaker delay settings separately for each channel to LAV Audio? It'd be of great help to us with crappy audio card drivers not giving the option. The only way I can do it now is to use ffdshow and its delay setting.

Not going to happen, sorry.
Global delay is easy, per channel delay is exponentially more complicated.

madshi
21st November 2011, 13:50
IMHO, the consumer of the data should do some basic validations, like checking the size of the buffer. It would already catch alot problems and avoid crashes.
I at least validate that the renderer provides a buffer big enough for what i think should be the stride, and if it doesnt fit, i just refuse instead of crashing. Granted, this only applys to your examples - but you get the point. :)
You're right in that a few security checks definitely don't harm. But I still don't agree that a crash is always the fault of the code actually crashing. You could argue that if the code is crashing then it is obviously missing a necessary security check. But that's like saying that if you shoot me then it's my own fault for not wearing a bullet proof vest. Or if memset crashes when being called with "memset(buffer, 0, tooLarge)" then it's the fault of memset that there's a crash, and not the fault of the code calling memset. That is a weird way of seeing things, IMHO.

nevcairiel
21st November 2011, 13:56
Good code should be able to cope with any input data, no matter how corrupted. It can try to recover or just bail out, i don't care, but crashing is never acceptable.
I'm not saying my filters would qualify for this, however, if i find a crash that is caused by a broken file or bad interaction with something else, i at least add checks to avoid the crash, even if i cannot fix the root problem.

SEt
21st November 2011, 13:59
A crash is *always* the fault of the code actually crashing. No code should ever be able to crash just from some external input, or its just bad code.
Good code should be able to cope with any input data, no matter how corrupted.
Seriously, if you crash in CoTaskMemFree - it's your fault, not the one's who passed you memory allocated with malloc regardless of documentation. :devil: (Oh, no, it's actually MS fault - it throws exception in ntdll.)
And good luck avoiding crash by calling ->Release() on pUnknown pointer in some structures when caller wasn't bothered by initializing it to zero.

nevcairiel
21st November 2011, 14:03
Seriously, if you crash in CoTaskMemFree - it's your fault, not the one's who passed you memory allocated with malloc regardless of documentation. :devil:

The exception that proves the rule. :D
Granted, if some API a filter exposes is not honoring the contract in such a *bad* way, its nothing you can do, and the crash would still show up as being your fault - even if it isn't. Especially if there isn't even a check you can do to make sure its all secure.

Apparently the original issue that caused this discussion wasn't even a crash, but a hang - Cruncher just cannot express himself in a way that anyone would understand. :rolleyes:

SamuriHL
21st November 2011, 14:07
It is always the responsibility of the crashing code to handle the exception gracefully. That's why exception handling exists in the first place. And if the crashing code involves memory management then it should definitely have proper exception handling! Developers get lazy in this area... To the detriment of their users.

Sent from my Xoom using Tapatalk

nevcairiel
21st November 2011, 14:09
With such very bad mistakes like allocating the memory with the wrong function, i would even say its better to crash then to try to hide it, because its the only way to find such problems immediately and hope for the programmer on the other side trying to fix it. Its not a "random" condition, its a 100% occurrence, and should be fixed or some hidden problems occur later on.

SamuriHL
21st November 2011, 14:12
Yea I've heard that theory before from coworkers. I've never been a fan of the "let it crash to expose the bug" methodology. The exception should be caught and logged properly imo, but that is a religious debate to be sure. ;)

Sent from my Xoom using Tapatalk

SEt
21st November 2011, 14:18
"Proper exception handling" is utopia invented by some high-level programmers. If you can catch any C++ exception doesn't mean you also can handle something actually serious, like completely wrong stack pointer after return to your code.

madshi
21st November 2011, 14:29
"Proper exception handling" is utopia invented by some high-level programmers. If you can catch any C++ exception doesn't mean you also can handle something actually serious, like completely wrong stack pointer after return to your code.
Agreed.

I'm all for adding security checks and trying to catch exceptions where they happen. But blame should be put where it belongs. A missing security check is a *much* smaller "error" than code which produces grossly invalid data, writes over the bounds of allocated memory, corrupts the stack or jumps to random addresses. All of which are things which happen surprisingly often in real life.

SamuriHL
21st November 2011, 14:43
As I said... A religious debate. :) My personal philosophy as a developer is that the customer should not see a crash. Yes the code is broken and should be fixed. No one is arguing against that. I just think that it should be handled a bit more gracefully. But then I'm focused on user experience. In any case, broken code... Needs to get fixed.

Sent from my Xoom using Tapatalk

madshi
21st November 2011, 15:07
Now we've moved from "who is to blame for a crash?" to "should crashes be hidden from the user or not?". Totally separate topic. I've my own opinion on that, too, but maybe we should stop here.

nevcairiel
21st November 2011, 20:13
LAV Filters 0.40

LAV Splitter
- Improved demuxing of raw PCM streams
- Fixed VC-1 in MP4 with the MS WMVideo Decoder
- Improved playback of files with TrueHD audio streams
- Added support for a requested stop time from the player
- Improved playback of Blu-ray rips created by EasyBD
- Added support for RGB24 raw video in AVI

LAV Audio
- Improved decoding of formats with extremely large audio frames

LAV Video
- Added YADIF software deinterlacing
- Rewritten Interlaced options
- Added new "Aggressive" deinterlacing mode
- Moved many interlaced related options to global level
- Fixed an issue with stream compatibility detection in the CUVID decoder, causing a software fallback when not required


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.40.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.40.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.40-x64.zip)

There we go, already the third release this month.

Noteworthy this time around might be the YADIF deinterlacing.
I've gotten reports that its better quality then ffdshow, however due to not being multithreaded, it could be slower. On my PC, it did seem to run just fine with not much added CPU load - but results will differ, i'm sure.

In addition to YADIF, the handling of interlaced streams was revised quite a bit, which is also evident by the re-factored options on the matter. Alot of the options that previously only affected CUVID deinterlacing are now applicable to YADIF deinterlacing, as well as the flags applied to frames before sending them to the renderer (and still CUVID of course).

Anyway, not much to say.
If you run into trouble, as always, please report with as much details as you can.

Have fun!

mindbomb
21st November 2011, 20:19
It looks like the files are lacking Cue points (or ffmpeg fails at finding/parsing them), which ffmpeg sadly relys on for seeking.
The MKV spec says they are not required for seeking, but they do make it a whole lot easier.

It would be great to fix that in ffmpeg so that seeking without Cue points works, not sure when/if i'll have time for that, though.

Edit:
On second thought, it seems the Metaseek/Seekhead block is missing, which could certainly cause it to just not find the Cue data.
ffmpegs matroska parser is really rather limited. :(

do you know why the problem just seems to disappear when the file is muxed again?

To me, the formation of these unseekable files is rare and random, but they sure are annoying.

nevcairiel
21st November 2011, 20:19
do you know why the problem just seems to disappear when the file is muxed again?

Thats obvious, on muxing the muxer will write the missing parts (Cue & Seek Heads)
The more important question is - why did it not do so from the start?

There are plans in motion to be able to seek those files at some point, note however that this will mean opening these broken files will be significantly slower, because it will have to build up a seeking index first.

mindbomb
21st November 2011, 20:40
alright, and lastly, does it make sense that this is video and muxer agnostic?

i have a vc-1 file muxed with mkvmerge that shows the same problem as this h264 file muxed with haali.

and on a totally different note, for lav video, it appears that the only output formats that perform well with the mpc hc subtitle renderer are the yuv formats. is that correct? i get a massive drop in performance rendering subtitles with rgb32 output, but I love lav's HQRGB conversion. :(

rica
21st November 2011, 23:35
Hi nev.

Normally pcm files muxed to m2ts need a decoder while they don't need any decoder when they are muxed into an mkv container.
I can directly connect those PCM_mkv files to ReClock via Haali or MPC matroska splitter and no issues.

But when i use Lav Splitter, even directshow automatically connects the audio pin to ReClock (btw ReClock is configured to bitexact streaming see: http://forum.doom9.org/showpost.php?p=1534720&postcount=188) i get this popout and no sound at all:

http://img827.imageshack.us/img827/2678/notsupported.png (http://imageshack.us/photo/my-images/827/notsupported.png/)

And i need to use a decoder like lavaudio or ffdshow.

Here is a test file:

96_24 pcm mkv:

http://www.mediafire.com/?het2xcoug60hvni

Thanks in advance.


Should be fixed for the next version. Raw PCM was not getting the appropriate media type in some cases.


Thanks for the new build but no fix for LavSplitter > raw pcm mkv > ReClock issue yet. Hoping for 040 build.
Best.


Great, raw pcm included in mkv container issue is fixed with this build.
Thanks a lot for trying to meet all of our expectations and thx for all new stuff too!

http://img215.imageshack.us/img215/6861/lav040.png (http://imageshack.us/photo/my-images/215/lav040.png/)

_ _ _ _

DragonQ
21st November 2011, 23:59
LAV Filters 0.40

LAV Splitter
- Improved demuxing of raw PCM streams
- Fixed VC-1 in MP4 with the MS WMVideo Decoder
- Improved playback of files with TrueHD audio streams
- Added support for a requested stop time from the player
- Improved playback of Blu-ray rips created by EasyBD
- Added support for RGB24 raw video in AVI

LAV Audio
- Improved decoding of formats with extremely large audio frames

LAV Video
- Added YADIF software deinterlacing
- Rewritten Interlaced options
- Added new "Aggressive" deinterlacing mode
- Moved many interlaced related options to global level
- Fixed an issue with stream compatibility detection in the CUVID decoder, causing a software fallback when not required


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.40.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.40.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.40-x64.zip)

There we go, already the third release this month.

Noteworthy this time around might be the YADIF deinterlacing.
I've gotten reports that its better quality then ffdshow, however due to not being multithreaded, it could be slower. On my PC, it did seem to run just fine with not much added CPU load - but results will differ, i'm sure.

In addition to YADIF, the handling of interlaced streams was revised quite a bit, which is also evident by the re-factored options on the matter. Alot of the options that previously only affected CUVID deinterlacing are now applicable to YADIF deinterlacing, as well as the flags applied to frames before sending them to the renderer (and still CUVID of course).

Anyway, not much to say.
If you run into trouble, as always, please report with as much details as you can.

Have fun!

Great work, thanks. :)

P.S. The "Force Deinterlacing" tickbox needs to move up one pixel. :p

STaRGaZeR
22nd November 2011, 00:07
New treat as progressive option working perfectly, thanks for adding it. Image quality aside, from an HTPC perspective it saves quite a bit of power (and associated heat) when watching badly flagged non interlaced HD streams. Waiting for those shortcut options to be added now :p

psymed
22nd November 2011, 00:41
By any chance, are there any speed increases or better performances?

CruNcher
22nd November 2011, 01:12
Yea I've heard that theory before from coworkers. I've never been a fan of the "let it crash to expose the bug" methodology. The exception should be caught and logged properly imo, but that is a religious debate to be sure. ;)

Sent from my Xoom using Tapatalk

Im seeing this all the time in NT6 (Win7) happening oh my gosh it registers so many applications fails in the background (watson is absolute silently working) though the user would never realize something is happening it's totally silent and working with the application doesn't get interrupted it feels absolutely non invasive http://forum.doom9.org/showthread.php?t=162986 :)

But yeah as Nev said it's no crash but a hang as i said the "application is not reacting message" is coming up after some clicks into the unresponsive window.

SamuriHL
22nd November 2011, 01:22
Im seeing this all the time in NT6 (Win7) happening oh my gosh it registers so many applications fails in the background (watson is absolute silently working) though the user would never realize it http://forum.doom9.org/showthread.php?t=162986 :)

We've ended this discussion in this thread for good reason. :) I'm not suggesting we simply ignore errors. I'm simply saying we should strive to make it a bit friendlier for the end user. Blatant crashing is generally NOT user friendly. :D Giving the user a way to help the developer with a nice log and graceful exit.....that should be the ideal. But, again, this is a religious debate among developers and really doesn't belong in this thread.

CruNcher
22nd November 2011, 01:32
We've ended this discussion in this thread for good reason. :) I'm not suggesting we simply ignore errors. I'm simply saying we should strive to make it a bit friendlier for the end user. Blatant crashing is generally NOT user friendly. :D Giving the user a way to help the developer with a nice log and graceful exit.....that should be the ideal. But, again, this is a religious debate among developers and really doesn't belong in this thread.

Yep and that's whats going in in Win7 all the time @ least i realize much more going on their then it was the case for NT5 (XP) it's just very well hidden and as said absolute non invasive avg joe would never realize that a exception was caught the application still works as nothing happened (i dunno how this can work) anyways i opened the other thread for this as i was amazed by it and the amount of data it collects :)

SamuriHL
22nd November 2011, 01:34
Yep and that's whats going in in Win7 all the time @ least i realize much more going on their then it was the case for NT5 (XP) it's just very well hidden and as said absolute non invasive avg joe would never realize that a exception was caught the application still works as nothing happened anyways i opened the other thread for this as i was amazed by it and the amount of data it collects :)

And I'm honestly AGAINST that. I don't want the issues to be hidden. At all. They'll never get fixed that way. The software should be robust, yes, but, you can't hide issues from the user or they won't report them.

CruNcher
22nd November 2011, 01:39
And I'm honestly AGAINST that. I don't want the issues to be hidden. At all. They'll never get fixed that way. The software should be robust, yes, but, you can't hide issues from the user or they won't report them.

ehh watson immediately sends out what happened to Microsoft :D

SamuriHL
22nd November 2011, 01:40
ehh watson immediately sends out what happened to Microsoft :D

Oh good. Then Nev and madshi can not worry about it and let MS fix it. :rolleyes: :D ROFL!

CruNcher
22nd November 2011, 03:35
Moving pictures are always better than 1000 words ;)

http://www.mediafire.com/?xy58iy19fzqs57f <- Mainconcept Mpeg-2 Decoder Hang issue

Midzuki
22nd November 2011, 04:25
@ SamuriHL:

THEY ;) have hired CruNcher alright. :D

chaddawkins
22nd November 2011, 08:15
Sure, some day. Its not high priority (for me), as i don't even have a single file that would need it. :)
Its also alot of work...

yeah, i don't use chapters either, but if this was developed I def would
+1

chaddawkins
22nd November 2011, 08:45
hold up, i've only been using this for a week and i just now opened a mkv file with graphedit and it tells me that i'm using microsoft video decoder to decode my file. i assumed lav splitter chooses lav audio AND video decoders .... am i missing something here? do i need to use a registry hack to get lav video to work? what am i missing?

nevcairiel
22nd November 2011, 08:54
LAV Splitter does not choose any decoder, its all up to the application to choose which decoders are used.

chaddawkins
22nd November 2011, 09:07
LAV Splitter does not choose any decoder, its all up to the application to choose which decoders are used.

ok... i've been using WMP
I thought it chose like Haali can choose CoreAVC withouit any registry hacks...
well, then i suggest lav splitter do this :D

CruNcher
22nd November 2011, 12:35
You know whats really crazy seeing Mainconcepts DXVA implementations failing with so many bitstreams it's crazy both their H.264 as well as Mpeg-2 have major issues they even get beaten by Potplayers (which is damn good for a no name ISV) implementation :D

teplex
22nd November 2011, 12:48
As I don't have patience to read through 360+ pages of this topic, I'd like to ask if it is planned to get CUVID hardware decoder to work with 10-bit depth (CoreAVC also doesn't work with hardware decoding and 10-bit). Is this even doable or problem is of hardware nature (limitation of CUDA video decoder in nvidia drivers). I'm asking this because I have poor CPU (A64 X2 3800+) and 10-bit videos in 1080p reolution sometimes lag on my PC.

kirakami
22nd November 2011, 12:54
is LAV Player planned?

nevcairiel
22nd November 2011, 13:23
As I don't have patience to read through 360+ pages of this topic, I'd like to ask if it is planned to get CUVID hardware decoder to work with 10-bit depth (CoreAVC also doesn't work with hardware decoding and 10-bit). Is this even doable or problem is of hardware nature (limitation of CUDA video decoder in nvidia drivers). I'm asking this because I have poor CPU (A64 X2 3800+) and 10-bit videos in 1080p reolution sometimes lag on my PC.

Its not possible, it would have to be supported by the hardware - and the hardware does not support it.

chaddawkins
22nd November 2011, 13:32
could someone kindly direct me to a non auto-loading version of DirectVobSub. thank you.

kirakami
22nd November 2011, 14:43
could someone kindly direct me to a non auto-loading version of DirectVobSub. thank you.

1st do regsvr32 /u %system32%\vsfilter.dll
create dir & copy vsfilter.dll to program files\vsfilter\
Run MPC-HC
go to External Filters > Add Filter > Browse to program files\vsfilter\
Uncheck auto-loading version of DirectVobSub
Done.

Paladin77
22nd November 2011, 14:56
chaddawkins: http://www.free-codecs.com/download/directvobsub.htm, Google's first result.

Hello Nevcairiel,
I have just started using this amazing splitter/decoder/filter. Thank you very much for this. I am having absolutely no issue so far with playing various formats I use with it (mostly 8 and 10 bit anime titles). I just want to ask from you to check if the settings am using are OK (if you have a minute of course :)):

Player: MPC-HC Build 1.5.3.3849
Internal filters used: None (All Disabled).
Output (EVR-custom pres.)
Filter Order:
Haali Media Splitter (for ordered chapter support).
File source (Async.).
LAV splitter.
madflac Decoder.
Reclock audio Renderer.
LAV audio Renderer.
LAV video Renderer.

With the above setup I can play all files flawlessly without a hiccup on my relatively old system (see my signature), even 10 bit 720p videos play at a relatively low CPU load (around 30%). If you have any input on further tweaking this for even better performance I would be appreciative.

Kind regards and thanks again for this masterpiece.

tetsuo55
22nd November 2011, 16:32
Microsoft really does fix problems, they will even contact ISV's and help them find a solution.

To get to this point though you have to be in the top10 issue list.

SamuriHL
22nd November 2011, 16:39
Microsoft really does fix problems, they will even contact ISV's and help them find a solution.

To get to this point though you have to be in the top10 issue list.

Only if the problem is really on their end, though. If there's a bug in madVR or LAV Filters, I'm thinking they're not going to fix those. LOL! :)

kirakami
22nd November 2011, 17:10
chaddawkins: http://www.free-codecs.com/download/directvobsub.htm, Google's first result.

Hello Nevcairiel,
I have just started using this amazing splitter/decoder/filter. Thank you very much for this. I am having absolutely no issue so far with playing various formats I use with it (mostly 8 and 10 bit anime titles). I just want to ask from you to check if the settings am using are OK (if you have a minute of course :)):

Player: MPC-HC Build 1.5.3.3849
Internal filters used: None (All Disabled).
Output (EVR-custom pres.)
Filter Order:
Haali Media Splitter (for ordered chapter support).
File source (Async.).
LAV splitter.
madflac Decoder.
Reclock audio Renderer.
LAV audio Renderer.
LAV video Renderer.

With the above setup I can play all files flawlessly without a hiccup on my relatively old system (see my signature), even 10 bit 720p videos play at a relatively low CPU load (around 30%). If you have any input on further tweaking this for even better performance I would be appreciative.

Kind regards and thanks again for this masterpiece.

What does File source (Async) do?
where can i download it?
i googled but couldnt find download link only msdn info

andyvt
22nd November 2011, 17:15
What does File source (Async) do?


Reads data from files and presents it as a MEDIATYPE_Stream, saving splitters from having to implement the file source logic themselves.


where can i download it?
i googled but couldnt find download link only msdn info

It's included in the OS.

HeadlessCow
22nd November 2011, 17:34
Only if the problem is really on their end, though. If there's a bug in madVR or LAV Filters, I'm thinking they're not going to fix those. LOL! :)

Nah, they'll investigate and report problems in third-party code and provide crash dumps and, in some circumstances, analysis about what the bug is (and how to fix it).

chaddawkins
22nd November 2011, 22:34
1st do regsvr32 /u %system32%\vsfilter.dll
create dir & copy vsfilter.dll to program files\vsfilter\
Run MPC-HC
go to External Filters > Add Filter > Browse to program files\vsfilter\
Uncheck auto-loading version of DirectVobSub
Done.

This works for MPC-HC but I use WMP.
I need a VSFilter.dll that I can regsvr32 /s vsfilter.dll and it not be auto-loading.

chaddawkins: http://www.free-codecs.com/download/directvobsub.htm, Google's first result.

This is the auto-loading version.
I need one that is not by default

thanks anyways guys/gals but i'm still where i was yesterday :(

CruNcher
22nd November 2011, 23:33
All of those that are really on the edge of being able to playback something and evr custom is still to resource heavy should try either Potplayers Direct3D Renderer or the same one from Mirillis inside Splash Player those are really low resource renderer and @ least with Mirillis you have everything available like on EVR (Shader,Subtittle) including DXVA :)

Only if the problem is really on their end, though. If there's a bug in madVR or LAV Filters, I'm thinking they're not going to fix those. LOL! :)

Ehh why should they fix others problems nope they wont but they gonna contact them (if the userbase is big enough the problem can be related to, the priority list tetsuo55 talked about) and also make them a offer to get access to further telemetry it's a win win situation :)

DragonQ
22nd November 2011, 23:50
Should be getting my HTPC parts on Friday (minus the stupid out of stock tuner card). Will be hopefully using LAV + CUVID + MadVR in MediaPortal :D. I don't think MadVR works in MediaPortal though so I'll probably have to use MPC-HC as an external player.

pirlouy
23rd November 2011, 00:29
is LAV Player planned?
You did not have answer because it has already been asked since Nevcairiel officially criticizes MPC-HC code (hence player).
He said it might work on a player... when this list (http://code.google.com/p/lavfilters/issues/list?can=2) is empty.
Yes, it's dead. :D

rica
23rd November 2011, 00:42
He said it might work on a player... when this list (http://code.google.com/p/lavfilters/issues/list?can=2) is empty.


Such kind of a list would never be empty for professional players as well.

So should be better:

Splitter:
Some additional codes for acceptance of DVD and BD.

Video Decoder:
DXVA support for Ati and Sandy.

Audio Decoder:
None for the time being while using free codecs.

Dunno if you are awared of PDVD, TMT and WinDVD have several issues which is listed above?

Pat357
23rd November 2011, 03:49
Nev,

IIRC you fixed .h264 playback (raw stream) a while ago. I remember I tested it and it worked perfect then.
Now I wanted to playback the same .h264 files, but it doesn't work anymore for me...:scared: playback "stalls" at the beginning.
I tried using the Mediaconcept splitter and the Elecard video decoder : playback is OK. The latest FFPlay (16-11-11) I have also works fine.
I'm not sure if it's a splitter problem or a decoding problem in Lav-video (could still be FFmpeg related though).
I obviously had "raw video" enabled in Lav-vid.
Can you have a look at it ?

suanm
23rd November 2011, 04:13
thanks a lot,keep on improving it,please

roytam1
23rd November 2011, 04:28
new nightly (mkv branch):
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111123-mkv-rv34seekkeyframe-ee26771.7z

diff (yes it is still the rv3/4 key frame seek patch):
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111123-mkv-rv34seekkeyframe-ee26771.diff

Pat357
23rd November 2011, 04:31
Splitter:
Some additional codes for acceptance of DVD and BD.

Video Decoder:
DXVA support for Ati and Sandy.
Why exclude NVidia ?
We have HW decoding using CUDA/CUVID which is of coure already very nice and very stable,
but DXVA2 might be more efficient as we don't need to copy the frames to "PC" RAM and back to GPU.
DXVA would skip this the copy process of the frames from GPU to PC RAM and back before rendering.
But to be honest, I believe more in software decoding than in DXVA : look how much problems & limitations DXVA (and HW decoding in general) has.
I only use CUVID for (interlaced) VC-1 because there is no proper software solution available.
It either doesn't work (FFMpeg) or it's slow/single threaded (MS, Intel SDK).

Audio Decoder:
None for the time being while using free codecs.
Huh.. ??
What about a channel "matrix" for properly down-mixing everything to stereo, or 7.1 to 5.1, ... ? And elementary "sound processing" from libav ?
It's already in the libav lib, so it's more a matter of calling the right filters from libav then having to code everything from scratch.

Dunno if you are awared of PDVD, TMT and WinDVD have several issues which is listed above?
This is so much true ; just have a look at the forums !

Pat357
23rd November 2011, 04:43
This works for MPC-HC but I use WMP.
I need a VSFilter.dll that I can regsvr32 /s vsfilter.dll and it not be auto-loading.



This is the auto-loading version.
I need one that is not by default

thanks anyways guys/gals but i'm still where i was yesterday :(
Why don't you just configure it to "never autoload" ?
General -> loading -> choose "do not load" and untick the 3 boxes.
Does it still load in WMP after this ?
(I guess it's best to "log off" or restart after making the changes.)
Does this help ?

nevcairiel
23rd November 2011, 06:52
IIRC you fixed .h264 playback (raw stream) a while ago. I remember I tested it and it worked perfect then.
Now I wanted to playback the same .h264 files, but it doesn't work anymore for me...:scared: playback "stalls" at the beginning.

I just tried again and it seems to work just fine with LAV Splitter + LAV Video.

new nightly (mkv branch):
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111123-mkv-rv34seekkeyframe-ee26771.7z


Please don't post that branch yet, it'll be broken quite alot before it starts being usable. Right now there is zero difference, but once i activate it, it'll break quite a bit before its finished. :)
There usually is a reason when i do stuff in branches - its not ready to be used by everyone yet. :p

Edit:
I changed my mind, its somewhat ready-ish for testing, if someone dares to.

CruNcher
23rd November 2011, 10:59
Why exclude NVidia ?
We have HW decoding using CUDA/CUVID which is of coure already very nice and very stable,
but DXVA2 might be more efficient as we don't need to copy the frames to "PC" RAM and back to GPU.
DXVA would skip this the copy process of the frames from GPU to PC RAM and back before rendering.
But to be honest, I believe more in software decoding than in DXVA : look how much problems & limitations DXVA (and HW decoding in general) has.
I only use CUVID for (interlaced) VC-1 because there is no proper software solution available.
It either doesn't work (FFMpeg) or it's slow/single threaded (MS, Intel SDK).

Huh.. ??
What about a channel "matrix" for properly down-mixing everything to stereo, or 7.1 to 5.1, ... ? And elementary "sound processing" from libav ?
It's already in the libav lib, so it's more a matter of calling the right filters from libav then having to code everything from scratch.

This is so much true ; just have a look at the forums !

Bitstream wise it seems no issue @ all see how CoreAVC and Mirillis fixing most issues that others DXVA implementation fail on without creating much more overhead :) the only real limits you have are anything above 8 bit and 4:2:0 though for those you can switch to the Software Decoder part for now until they get hammered for consumers into hardware which might still take a while :P

tetsuo55
23rd November 2011, 11:11
Only if the problem is really on their end, though. If there's a bug in madVR or LAV Filters, I'm thinking they're not going to fix those. LOL! :)They are not going to fix bugs in LAV Filters or madVR, but IF their bugs got into the top10 they would contact madshi or nev and try to help them solve it, not by direct coding but by giving advice and tools.

somy
23rd November 2011, 11:38
I have a stupid question regarding which output format to choose for EVR on ATI HD5770.
It seems that NV12 is preferred for hardware deinterlacing and pulldown detection, but EVR does a pretty bad job converting NV12 to RGB32 (noticable banding allover). If I choose RGB32 I get perfect PQ, but what about deinterlacing and pulldown detection?

chaddawkins
23rd November 2011, 12:21
Why don't you just configure it to "never autoload" ?
General -> loading -> choose "do not load" and untick the 3 boxes.
Does it still load in WMP after this ?
(I guess it's best to "log off" or restart after making the changes.)
Does this help ?

i'm good now, i can use the auto-load version.

Just for shits and giggles, you can try my personal codec pack for wmp
http://netload.in/datei4yM2MArCTq/WMP_Playback_Pack_2.1.exe.htm

it is LAV, VSfilter, MediaInfo, Icaros & correct registry entries to associate/play/enquue WMP with MKV, FLV and Blu-ray
x86 & x64

CruNcher
23rd November 2011, 12:33
did someone compared Microsofts MFT vs Icaros in terms of thumbnail buildup speed/memory/io/cpu/gpu usage for @ least the default supported formats and crash stability (buffer overflows) ? bringing something so sensitive deep down into the system i wouldn't feel good without testing it carefully.

Kurtnoise
23rd November 2011, 13:52
completely off topic...

SamuriHL
23rd November 2011, 14:44
They are not going to fix bugs in LAV Filters or madVR, but IF their bugs got into the top10 they would contact madshi or nev and try to help them solve it, not by direct coding but by giving advice and tools.

Admittedly that is pretty sweet.

Sent from my Xoom using Tapatalk

nevcairiel
23rd November 2011, 14:47
Please don't post that branch yet, it'll be broken quite alot before it starts being usable. Right now there is zero difference, but once i activate it, it'll break quite a bit before its finished. :)
There usually is a reason when i do stuff in branches - its not ready to be used by everyone yet. :p

I changed my mind, after i push all changes in a few hours, it should be working ok-ish for people that dare to test it.
You can follow progress here: http://code.google.com/p/lavfilters/issues/detail?id=139
Basics done, advanced features missing. ;)

Qaq
23rd November 2011, 14:54
EVR does a pretty bad job converting NV12 to RGB32 (noticable banding allover). If I choose RGB32 I get perfect PQ, but what about deinterlacing and pulldown detection?
Nothing. Use EVR CP and its dithering, 16/32 floating point surfaces options.

Sebastiii
23rd November 2011, 16:39
I changed my mind, after i push all changes in a few hours, it should be working ok-ish for people that dare to test it.
You can follow progress here: http://code.google.com/p/lavfilters/issues/detail?id=139
Basics done, advanced features missing. ;)

I will try :)
Thanks :)

DragonQ
23rd November 2011, 17:06
Nothing. Use EVR CP and its dithering, 16/32 floating point surfaces options.
How does one change EVR's options? The options for EVR within MPC-HC are rather limited and that's the only way I've ever used EVR.

Qaq
23rd November 2011, 20:18
How does one change EVR's options? The options for EVR within MPC-HC are rather limited and that's the only way I've ever used EVR.
I said EVR CP, not just EVR. Check this thread: http://forum.doom9.org/showthread.php?t=161047

somy
23rd November 2011, 20:44
Nothing. Use EVR CP and its dithering, 16/32 floating point surfaces options.

The thing is, I'm using a media center which only supports overlay and EVR :(

VipZ
24th November 2011, 00:36
I changed my mind, after i push all changes in a few hours, it should be working ok-ish for people that dare to test it.
You can follow progress here: http://code.google.com/p/lavfilters/issues/detail?id=139
Basics done, advanced features missing. ;)

Looking good so far, all mkv's tested working good and the LAV Video stream AR option working as before :)

Wodde
24th November 2011, 01:04
@nevcairiel:

First: LAV is Great, love it :)

I just want to know whats the Status with the BluRay Title Selection?
You're still working on it?

Thanks in Advance, Wodde

rica
24th November 2011, 01:12
Why exclude NVidia ?

It is already supporting CUDA and i use it too. So i didn't need to say "it should support CUDA as well."

jmone
24th November 2011, 02:17
@nevcairiel:

First: LAV is Great, love it :)

I just want to know whats the Status with the BluRay Title Selection?
You're still working on it?

Thanks in Advance, Wodde

Thanks to LAV Splitter and MC17 we already have BD Title Selection.

rica
24th November 2011, 02:58
Q: Can LAV Audio decode DTS-HD?
A: Kind of. On its own, it cannot. But, LAV Audio supports using the ArcSoft DTS decoder, which allows decoding of full DTS-HD. Just drop the "dtsdecoderdll.dll" from the TMT3/5 Codecs directory into LAV Audio's directory, and enjoy. NOTE: This only works on 32-bit!


No it doesn't work for me. I carried dtsdecoderdll.dll into LAVFilters directory and unticked "DTS-HD" bitstreaming on LavAudio properties page. (so as to decode it to PCM)
Can you tell me what i am missing?

SamuriHL
24th November 2011, 03:11
No it doesn't work for me. I carried dtsdecoderdll.dll into LAVFilters directory and unticked "DTS-HD" bitstreaming on LavAudio properties page. (so as to decode it to PCM)
Can you tell me what i am missing?

I'm going to point out the obvious one that people overlook....you're doing this with the 32 bit version of LAV and NOT the 64 bit version.............right? :)

roytam1
24th November 2011, 03:12
I changed my mind, after i push all changes in a few hours, it should be working ok-ish for people that dare to test it.
You can follow progress here: http://code.google.com/p/lavfilters/issues/detail?id=139
Basics done, advanced features missing. ;)

OK. New nightly:
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111124-mkv-rv34seekkeyframe-5b59265.7z

diff ( " " ):
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111124-mkv-rv34seekkeyframe-5b59265.diff

mindbomb
24th November 2011, 03:52
i can confirm that it fixes all my previous problem files.

seeking is perfect now!

golagoda
24th November 2011, 03:55
OK. New nightly:
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111124-mkv-rv34seekkeyframe-5b59265.7z

diff ( " " ):
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111124-mkv-rv34seekkeyframe-5b59265.diff

Thanks for this, I was going to request for someone to post one so I could test it since I don't have visual studio to compile it :p

I'll test it out and see how it is, thanks nev and roytam.

SamuriHL
24th November 2011, 03:57
Thanks for this, I was going to request for someone to post one so I could test it since I don't have visual studio to compile it :p

I'll test it out and see how it is, thanks nev and roytam.

http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express

You can TRY to compile it with that. Not sure if it'll work or not, but, you never know. :)

Wodde
24th November 2011, 04:49
Thanks to LAV Splitter and MC17 we already have BD Title Selection.

have i missed something?
I have LAV 0.40 installed, but there is no Titleselection?

EDIT: Ah, J.River 17.

Well thats fine, but thats a paid software, i prefer a free one ;)

What about MPC HC?

roytam1
24th November 2011, 05:39
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express

You can TRY to compile it with that. Not sure if it'll work or not, but, you never know. :)

Without some files from Pro Edition, you can't compile it. (I can't remeber well, it seems to be some afx* files)
And I'm waiting for alexins' new Cross-mingw package. (I'm still using Cross-mingw XvidVideo.ru 4.6.1 V.2)

SamuriHL
24th November 2011, 05:43
Without some files from Pro Edition, you can't compile it. (I can't remeber well, it seems to be some afx* files)
And I'm waiting for alexins' new Cross-mingw package. (I'm still using Cross-mingw XvidVideo.ru 4.6.1 V.2)

Ah well. It was worth a shot.

Sent from my Xoom using Tapatalk

nevcairiel
24th November 2011, 07:58
Good to hear that the new MKV demuxer seems to be working alright so far.
I'll implement some more missing features, and after that post an "official" test version, so that it can be tested over the weekend. I'm sure there will be some bugs to work out.

BeNooL
24th November 2011, 10:17
will this also fix playback of mkv generated by X264 where one cannot seek (using MeGui to encode) ?

When trying to seek, playback always goes back to start of video.

nevcairiel
24th November 2011, 10:36
Most likely, yes.
There will be a delay on the first seek while it builds a index, but further seeks should be working just fine and fast.

sneaker_ger
24th November 2011, 10:38
You mean we might have to wait for like 5 minutes, similar to ffmpegsource?

madshi
24th November 2011, 10:44
Most likely, yes.
There will be a delay on the first seek while it builds a index, but further seeks should be working just fine and fast.
Wouldn't it make sense to start building the index in a background thread right when the video file is loaded? Then, when the first seek isn't done right away, it might already work instantly?

nevcairiel
24th November 2011, 10:45
You mean we might have to wait for like 5 minutes, similar to ffmpegsource?

If the file is multiple gigabytes and does not have a seeking index in the file, it is quite possible that it will take a while - i'm unsure about 5 minutes though.

I have a 1.6GB file without such an index, and it takes about 10 seconds on a relatively slow harddrive to build that index. If the file is say a 1080p Blu-ray rip of 20GB, it would i guess take around 2 minutes or so (or even less on better hardware)

In general, you should rather remux those files to add an index instead. MKV sadly is not designed to seek without an index - so either you have one in the file, or you need to build one.
This is still a great advantage over the situation now, because now it doesn't allow seeking at all.

Wouldn't it make sense to start building the index in a background thread right when the video file is loaded? Then, when the first seek isn't done right away, it might already work instantly?

Building the index requires seeking through all clusters in the file (well, actually in 10MB steps, which could be increased to speed up index creation for the cost of more "inaccurate" seeks), which could have a serious impact on fluid playback.
It looks like Gabest MKV splitter always builds the index on opening, while Haali also builds it on demand (Hey, i'm using Haalis matroskaparser library afterall!)

Such files are just not perfect. If anything, they should only result as intermediate files in a encoding process, your final file should always have a Cue index, otherwise the mux is just wrong.

mindbomb
24th November 2011, 10:55
my experience has been that with my incomplete files muxed with haali's muxer, there is a slight delay.

However, the seeking problems with mature files muxed with mkvmerge have also gone away, and there is no delay at all in that case, despite they're large size.

sneaker_ger
24th November 2011, 10:59
I have a 1.6GB file without such an index, and it takes about 10 seconds on a relatively slow harddrive to build that index.

So that's why harddrives are so expensive today. I thought 160 MB/s was fast... ;)

Such files are just not perfect. If anything, they should only result as intermediate files in a encoding process, your final file should always have a Cue index, otherwise the mux is just wrong.

I agree, index is a must. I only use it for intermediate files/testing, so I can have a preview of the current x264 output, to decide whether I'm happy with the result or if I have to stop the encoding process.

nevcairiel
24th November 2011, 11:06
So that's why harddrives are so expensive today. I thought 160 MB/s was fast... ;)


It doesn't read every block of the file. It looks for a Cluster, reads its timecode, jumps 10MB further ahead, looks for the next cluster, rinse and repeat. I would guess it reads maybe 1/10th of the whole file, with alot of seeking involved.

ffmpegsource indexes the timestamp of every frame for frame-accurate seeking/editing, so it will be slower.
I would suggest to wait and test before drawing any more conclusions. :)

As an alternative to the index building i could implement a binary search seek, but that would mean seeking is never fast on such files, but there is no initial delay either. Not sure if thats better - but its surely alot of effort for files that are not really *that* common for normal users.

Sebastiii
24th November 2011, 13:25
have i missed something?
I have LAV 0.40 installed, but there is no Titleselection?

EDIT: Ah, J.River 17.

Well thats fine, but thats a paid software, i prefer a free one ;)

What about MPC HC?

You can try Mediaportal with BlurayHandler plugin (based on LAF Filter of course) :
http://www.team-mediaportal.com/extensions/movies-videos/bluray-handler-0-9-7
http://forum.team-mediaportal.com/mediaportal-plugins-47/bluray-handler-0-9-7-beta-81068/

Or Internal Bluray Menu on Mediaportal too :
http://forum.team-mediaportal.com/general-development-no-feature-request-here-48/native-blu-ray-support-102375/

Thanks :)

Sebastiii
24th November 2011, 13:27
Most likely, yes.
There will be a delay on the first seek while it builds a index, but further seeks should be working just fine and fast.

Yep, i can confirm that :)
Nice :)

GRENDIZER
24th November 2011, 14:02
Hello, I'm a new user of LAV and I have a question about bitstreaming.

My config: HTPC running Win7 64, soundcard; Realtek HD audio in motherboard, audio receiver and speakers: Logitech Z5500, cable: optical.

I've been checking if AC3 audio is working on these speakers, and it works. Testing the file "Test AC3 v2.0.avi", my audio receiver displays "Dolby Digital" and the surround test works.

One thing I do not understand is that in the LAV audio options, under "bitstreaming", wether "Dolby Digital (AC3)" is checked or not, the surround sound works, and the Audio receiver says it's "Dolby Digital". I thought that when it's not checked, LAV decodes the AC3 and in that case, the audio receiver would not receive any proper data?

Thanks
Gz

masonwu
24th November 2011, 14:28
haha nevcairiel ,thank you for your work effort on these filter . and could i use the binary filter in my HTPC product ? :readfaq:

sneaker_ger
24th November 2011, 14:30
You have to follow the GPLv2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html), I guess.

nevcairiel
24th November 2011, 16:52
One thing I do not understand is that in the LAV audio options, under "bitstreaming", wether "Dolby Digital (AC3)" is checked or not, the surround sound works, and the Audio receiver says it's "Dolby Digital". I thought that when it's not checked, LAV decodes the AC3 and in that case, the audio receiver would not receive any proper data?


Some audio drivers have an option to compress any audio into AC3 when connected via Optical, so that you can send multi-channel PCM over the link, and are not limited to stereo.

In any case, as long as you get audio and it sounds good, all is well!

Fullmetal Encoder
24th November 2011, 19:04
...while Haali also builds it on demand (Hey, i'm using Haalis matroskaparser library afterall!)

Does this mean we are a step closer to having full MKV ordered chapters support? :p

nevcairiel
24th November 2011, 19:14
Baby steps. :p

STaRGaZeR
24th November 2011, 20:25
Isn't this the same parser as Haali uses for mkv? Seeking works surprisingly similiar (read: very good) :p

nevcairiel
24th November 2011, 20:26
Isn't this the same parser as Haali uses for mkv? Seeking works surprisingly similiar (read: very good) :p

Since its the parser he wrote, i would assume its also used by his DirectShow filter. :p

STaRGaZeR
24th November 2011, 21:01
Me likes :D

rica
24th November 2011, 21:12
I'm going to point out the obvious one that people overlook....you're doing this with the 32 bit version of LAV and NOT the 64 bit version.............right? :)

Yes, it is 32 bit version on Seven 32 SP1 and i'm trying to decode a dtshd-master audio.

Mr.White
24th November 2011, 21:41
I carried dtsdecoderdll.dll into LAVFilters directory

Did you put it in the \LAV Filters\x86 folder?

rica
24th November 2011, 21:51
Did you put it in the \LAV Filters\x86 folder?

I extracted 32 bit zipped version to C:\Lav Filters folder and there is no x86 sub-folder inside the Lav Filters folder? Are you using Seven 64?

Thunderbolt8
24th November 2011, 22:00
whats the difference of the normal compared to the .mkv branch? does it use haalis stuff for parsing?

Mr.White
24th November 2011, 22:12
I extracted 32 bit zipped version to C:\Lav Filters folder and there is no x86 sub-folder inside the Lav Filters folder? Are you using Seven 64?

Win7 32
I use the LAV installer, and there is an x86 folder inside the LAV Filters folder where i put the dtsdecoderdll.dll.

Sebastiii
24th November 2011, 22:16
For sure i put dll where is .ax :)

robpdotcom
24th November 2011, 22:20
Have you tried a different version of the dtsdecoderdll.dll? I had a similar problem once, and using version 1.1.0.8 fixed it.

rica
24th November 2011, 22:31
Have you tried a different version of the dtsdecoderdll.dll? I had a similar problem once, and using version 1.1.0.8 fixed it.

It is already 1.1.0.8.

Sebastiii
24th November 2011, 22:40
No it doesn't work for me. I carried dtsdecoderdll.dll into LAVFilters directory and unticked "DTS-HD" bitstreaming on LavAudio properties page. (so as to decode it to PCM)
Can you tell me what i am missing?

Did you uncheck dts too ?
:)

rica
24th November 2011, 22:52
Did you uncheck dts too ?
:)

Yes but i've explored LavSplitter doesn't recognize audio as DTS or DTS-HD in my case. Btw i'm trying to read from original BD. I'll keep you informed.

nevcairiel
24th November 2011, 23:04
Here is a "official" test build using the new MKV demuxer:

x86: http://files.1f0.de/lavf/LAVFilters-0.40-16-g19c9e9f.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.40-16-g19c9e9f-x64.zip

What does "new MKV demuxer" mean for you, you ask?
Well, it does fix some issues, and improve other things. For one, playing of incomplete files should be working much better now (eg, Issues 42 and 103), and seeking should generally be faster (for MKV only, of course).

Ideally, there shouldn't be any regressions.
So if you feel like testing, grab the build above, and go test. If you find any MKV file that does no longer play properly, but did play fine before - please report that.

Otherwise, i hope it will be a smooth ride.
There is one known limitation though - you cannot have more then 64 tracks in a MKV. 64 is plenty though, and Haali already craps out at 32. ;)

rica
24th November 2011, 23:19
Yes but i've explored LavSplitter doesn't recognize audio as DTS or DTS-HD in my case. Btw i'm trying to read from original BD. I'll keep you informed.

OK guys, thanks a lot.

Unregistered all lav filters first and deleted all files under Lav Filters folder.
I copied dtsdecoderdll.dll first inside this empty LavFilters folder and unzipped 32 bit version and registered again all lav filters and fixed the issue :)

sneaker_ger
24th November 2011, 23:27
Just to be sure, the new mkv builds work totally independent from any installed Haali Media Splitter?

nevcairiel
24th November 2011, 23:34
Just to be sure, the new mkv builds work totally independent from any installed Haali Media Splitter?

Of course.
Its a plain old code library that Haali published quite a while ago which only does a low level parsing of the file. It has nothing to do with its DirectShow filter, except that it probably also uses it.

sneaker_ger
24th November 2011, 23:47
Of course.
Its a plain old code library that Haali published quite a while ago which only does a low level parsing of the file. It has nothing to do with its DirectShow filter, except that it probably also uses it.

Great. Only asking because ffmpegsource actually requires an installed HMS for certain file types.

rica
25th November 2011, 00:14
Gave it a go and sure 0.41 is ready to be published :)
Thanks nev for all your efforts.

SamuriHL
25th November 2011, 00:17
Yes, it is 32 bit version on Seven 32 SP1 and i'm trying to decode a dtshd-master audio.

Just thought i'd ask. :) It looks like you got it fixed now, so, all is well. :)

rica
25th November 2011, 00:23
Just thought i'd ask. :) It looks like you got it fixed now, so, all is well. :)

Yes, thanks but i think dtsdecoderdll.dll has to be already existent inside Lav Filters folder before registering Lav Audio.ax.
Dunno whether i'm right or not :)

SamuriHL
25th November 2011, 00:24
Yes, thanks but i think dtsdecoderdll.dll has to be already existent inside Lav Filters folder before registering Lav Audio.ax.
Dunno whether i'm right or not :)

That's not what I remember but if that's what works for you then it's all good. :)

rica
25th November 2011, 00:38
That's not what I remember but if that's what works for you then it's all good. :)

Yes you are right.
I tried again.
I re-unregistered all lav filters and deleted all the contents of Lav Filters folder and re-unzipped and re-registered all filters and copied dtsdecoderdll.dll later. Everything works again.
I must have made something wrong but anyway feedback is feedback? :)

SamuriHL
25th November 2011, 00:46
Absolutely. If you have an issue with getting it to work, feedback is definitely welcome. I'm just glad you got it working again. :) I have scripts that take care of this for me since I build my own LAV Filters and update my MC17 private copy. My script handles copying the dtsdecoderdll.dll file from TMT5 into my MC17 private copy of LAV. Works great.

rica
25th November 2011, 00:54
Thanks dude but what is MC 17?

SamuriHL
25th November 2011, 00:55
JRiver's MediaCenter version 17. A commercial player that can use directshow filters such as LAV Filters, madVR, etc. It's a great player.

rica
25th November 2011, 00:58
Yeah. I remember it from my earlier Kernel/Wasapi bitstreaming trials :)

These are the audio-only applications which have wasapi plugins:

Foobar2000

XMPlay

and commercial MediaCenter13 (no plug-in seperately)

http://img19.imageshack.us/img19/3636/audiou.th.png (http://img19.imageshack.us/my.php?image=audiou.png)

quoted from avsforum's HTPC section. (March 8th, 2009)

SamuriHL
25th November 2011, 00:59
I would think you'd appreciate the audio capabilities built into that player. ;)

rica
25th November 2011, 01:08
I'm sure if you are saying. I will try MC again. Thanks.

SamuriHL
25th November 2011, 01:12
It's the player I've been using the most. It works EXTREMELY well with LAV Filters. I have it set to decode all my audio and turn on a feature they call Video Clock. Basically it emulates what ReClock does. Apparently madshi worked with them on that feature which is why it works really well with madVR, as well. I haven't even begun to dive into the audio features, but, this thing is loaded. WASAPI exclusive? No problem. Event driven WASAPI exclusive? No problem. Basically it just rocks.

rica
25th November 2011, 01:15
Then please post your scripts.

SamuriHL
25th November 2011, 01:27
My scripts wouldn't be useful to anyone else. Highly customized for my build environment. Nonetheless if you want the copy script:


@ECHO OFF

set SRC="\\SAMURI-PC\Users\Samuri\Downloads\Video\LAVFilters"

ECHO ____________________________________
ECHO *****Updating MC17 private copy*****
ECHO ------------------------------------

set DEST="C:\Users\Samuri\AppData\Roaming\J River\Media Center 17\Plugins\lav"

robocopy %SRC% %DEST% /PURGE

set SRC="C:\Program Files (x86)\ArcSoft\TotalMedia Theatre 5\Codec"
robocopy %SRC% %DEST% dtsdecoderdll.dll

PAUSE


The reason I'm using a network path is that any machine on my network can run this script and get my updated LAV Filters. My build script copies them to the Downloads\Video\LAVFilters folder. As you can see it purges all the files in the private lav folder in MC17. This is in case any files change/get removed between LAV versions. Hasn't happened lately but it has happened before so I add the purge in there. That means anything that's not in my Downloads\Video\LAVFilters folder will be deleted. After that's done, it copies in the DTS decoder from TMT5. I do it that way in case they release a new version that updates it. That way I always have the latest. Unlikely this is going to help anyone, but, there it is if you need it.

rica
25th November 2011, 01:40
OK, i've changed my PC's name to "Samuri" and it works :)
Sure just a joke, thanks for the info.

SamuriHL
25th November 2011, 01:41
ROFL :) I told you it was highly customized! :D hehehehe

rica
25th November 2011, 01:50
Sorry i forgot to say i even put Lav Filters folder into samuri\downloads\video folder :D

SamuriHL
25th November 2011, 01:51
Excellent, you're ALL set now! :D

rica
25th November 2011, 01:59
Yes i know it seems very fake-selfcustomized, anyways :D

rica
25th November 2011, 02:43
Gave it a go and sure 0.41 is ready to be published :)
Thanks nev for all your efforts.

I felt i need to repeat that since it might have been lost in our chat with samuri.

Sebastiii
25th November 2011, 03:55
Here is a "official" test build using the new MKV demuxer:

x86: http://files.1f0.de/lavf/LAVFilters-0.40-16-g19c9e9f.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.40-16-g19c9e9f-x64.zip


Hi :)
So far i can tell, it works really nice :) it solve my seeking issue on some sample (by creating an index so first seek can take some second (10 seconds) but after that seek was ok).

Chapters is working.
Subtitles too.

Maybe (on my side) audio switching between stream was a little slower but working :)

Ofc all related to mkv :)
Thanks Nevcairiel :)

roytam1
25th November 2011, 07:43
@nev:
I'm getting git submodule update issue:
/d/lavfsplitter$ git submodule update
fatal: reference is not a tree: 8fd7a6e82ff6e54cc66001e6ae38dddaffb8b29c
Unable to checkout '8fd7a6e82ff6e54cc66001e6ae38dddaffb8b29c' in submodule path 'ffmpeg'

nevcairiel
25th November 2011, 08:08
@nev:
I'm getting git submodule update issue:
/d/lavfsplitter$ git submodule update
fatal: reference is not a tree: 8fd7a6e82ff6e54cc66001e6ae38dddaffb8b29c
Unable to checkout '8fd7a6e82ff6e54cc66001e6ae38dddaffb8b29c' in submodule path 'ffmpeg'


Just use the same ffmpeg as from the mkv branch, i didn't update the reference on the master branch because it seemed useless. :p

roytam1
25th November 2011, 08:38
Just use the same ffmpeg as from the mkv branch, i didn't update the reference on the master branch because it seemed useless. :p

I see.

New nightly (mkv branch with master changes merged):
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111125-mkv-rv34seekkeyframe%2bmaster-19c9e9f.7z

diff (RV3/4 key frame with master changes merged):
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111125-mkv-rv34seekkeyframe%2bmaster-19c9e9f.diff

fastplayer
25th November 2011, 14:38
nev, is the new MKV demuxer also used for WebM files?

nevcairiel
25th November 2011, 14:40
nev, is the new MKV demuxer also used for WebM files?

WebM files are just mkv files with some feature limitations, so yes of course.

fastplayer
25th November 2011, 14:45
WebM files are just mkv files with some feature limitations, so yes of course.
Thanks for confirming. :)
Seeking got better (faster, more responsive) with the new demuxer although the old one was already pretty good.

GRENDIZER
25th November 2011, 15:49
Sorry if this question has been asked before but I can't figure how to search inside threads.
LAV doesn't have any systray icon, but is there a way to check if the LAV audio decoder is active while playing a video?
Thanks
Gz

Nevilne
25th November 2011, 18:24
I'm not getting default subtitles selected in any mkv with new demuxer.

Paladin77
25th November 2011, 18:32
Sorry if this question has been asked before but I can't figure how to search inside threads.
LAV doesn't have any systray icon, but is there a way to check if the LAV audio decoder is active while playing a video?
Thanks
Gz
If you're using MPC-HC. While the video is playing right click anywhere in the video, choose filters. I think that is the case too in Potplayer (correct me if am wrong anyone).

Here is an example. Credits to Haruhichan weblog: http://haruhichan.com/img/Guides/filtersf.png

BloodySword
25th November 2011, 20:51
ADTS AAC + LAV 0.40 + ffDSHOW libfaad2 = auto seek to EOF, no playback. :/
works only with isomM4a or with libavcodec as AAC decoder in ffDSHOW.

nevcairiel
25th November 2011, 21:50
I'm not getting default subtitles selected in any mkv with new demuxer.

Should be fixed.

ADTS AAC + LAV 0.40 + ffDSHOW libfaad2 = auto seek to EOF, no playback. :/
works only with isomM4a or with libavcodec as AAC decoder in ffDSHOW.

Then, why not just use libavcodec? :)
Also, it should be fixed - it was however ffdshows fault, it accepts a media type which it doesn't understand, faulty design imho.

GRENDIZER
25th November 2011, 23:55
Hello Palladin, thanks for your answer. Is there another way to check if LAV Audio is active? Cause I'm using Windows Media Center on Win 7 64.

STaRGaZeR
26th November 2011, 04:17
nev, found a bug in your last "official" build: default flags are ignored. The first audio track and the no subtitle track are always selected, as if the file had no flags.

mindbomb
26th November 2011, 05:13
edit
you know, i think something just went wrong with the muxing, so this isnt a lav splitter issue.

roytam1
26th November 2011, 05:17
nev, found a bug in your last "official" build: default flags are ignored. The first audio track and the no subtitle track are always selected, as if the file had no flags.
Did you tried the newest revision?

New nightly:
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111126-rv34seekkeyframe-65b6e66.7z

diff( " " ):
http://roy.orz.hm/lavf-w32-nightlies/lavf-my111126-rv34seekkeyframe-65b6e66.diff

nx6
26th November 2011, 06:11
Then, why not just use libavcodec? :)


I'm using libfaad, too actually.

There was an issue with libavcodec's AAC decoder playing certain types of AAC streams that didn't have issues on the older libfaad decoder. However, if I remember the release notes from the latest CCCP, the new version of ffdshow it ships with should have gotten those issues fixed. I haven't tried it to find out though.

leewalk
26th November 2011, 07:55
Looks like LAV is only seeing 5.1 audio inside a DTS-HD MA 7.1 file like http://www.trailerz.demo-world.eu/hd/hd_dts_sfx_short_lossless.rar, even with dtsdecoderdll.dll in use?

Known issue?

Thanks, Lee

nevcairiel
26th November 2011, 07:58
Looks like LAV is only seeing 5.1 audio inside a DTS-HD MA 7.1 file like http://www.trailerz.demo-world.eu/hd/hd_dts_sfx_short_lossless.rar, even with dtsdecoderdll.dll in use?

Known issue?

Thanks, Lee

Its just a cosmetic issue, if you decode it, LAV Audio should say 8 channels on its status page - just LAV Splitter doesn't know that.


nev, found a bug in your last "official" build: default flags are ignored. The first audio track and the no subtitle track are always selected, as if the file had no flags.
That was fixed last night. :)

leewalk
26th November 2011, 08:03
Its just a cosmetic issue, if you decode it, LAV Audio should say 8 channels on its status page - just LAV Splitter doesn't know that.



That was fixed last night. :)

LAV Audio says 6 channels. I tried a couple of different demo 7.1 files, but LAV Audio says all of them are 5.1.

Lee

leewalk
26th November 2011, 08:20
For a sanity check, I tried a Dolby HD 7.1 clip http://www.trailerz.demo-world.eu/hd/hd_dolby_catalyst_lossless.rar and both LAV Splitter and LAV audio reported 7.1.

nevcairiel
26th November 2011, 10:17
For a sanity check, I tried a Dolby HD 7.1 clip http://www.trailerz.demo-world.eu/hd/hd_dolby_catalyst_lossless.rar and both LAV Splitter and LAV audio reported 7.1.

Then you failed at putting the dts dll in the proper directory, or are using a very old version of the dll and forgot to install the required runtime (which would be automatically installed if you installed TMT. :p)

fastplayer
26th November 2011, 11:47
Interesting commit over at ffmpeg.git:
lavfi: add libass based subtitles renderer (http://git.videolan.org/?p=ffmpeg.git;a=commit;h=28338bc2a3bb316cde2dfc308722c3cdc3d7b046)

nevcairiel
26th November 2011, 11:58
Interesting commit over at ffmpeg.git:
lavfi: add libass based subtitles renderer (http://git.videolan.org/?p=ffmpeg.git;a=commit;h=28338bc2a3bb316cde2dfc308722c3cdc3d7b046)

TBH, that change isn't all that useful for us.

fastplayer
26th November 2011, 12:06
It was more of an FYI. Quite a few times people have asked for a libass-based sub renderer here on D9. Now it's on ffmpeg which is "usually" a good sign.

Paladin77
26th November 2011, 16:38
Hello Palladin, thanks for your answer. Is there another way to check if LAV Audio is active? Cause I'm using Windows Media Center on Win 7 64.

http://fileforum.betanews.com/detail/Win7DSFilterTweaker/1262732488/1

You can use this tool to set your preferred DirectShow Decoder in w7. Select LAV audio for audio formats you want MC to decode and MC should use it.

gav1577
26th November 2011, 17:24
Hi Nev would you possibly consider at some point adding a sharpening filter like swscaler? Tbh its the only reason i still use ffdshow raw filter, its the best sharpener i have have used to date.

kennae
26th November 2011, 17:31
Hello nev. Remember when you asked few months back what feature people would still need? I think most votes had the stereo downsampling request, since now you need to add ffdshow to the mix and most would like to get rid of it. Same goes for me. Just to remind you.

I can live like this, since you are a genious and made such a wonderful product for us to enjoy for free. :)

I have used the trunk builds from the start and had no real problems and thats impressive. Keep up the great work!

fastplayer
26th November 2011, 18:10
Just to remind you.
To remind you: http://code.google.com/p/lavfilters/issues/detail?id=11

STaRGaZeR
26th November 2011, 18:30
That was fixed last night. :)

Sweet :cool:

BloodySword
26th November 2011, 20:00
AAC decoding with libavcodec has problems with some SBR and PS files. So I'd like to use libfaad2.
The werid thing is, that only in ADTS it does not work. In isomM4A it works perfectly.

nevcairiel
26th November 2011, 20:25
ADTS has a special header so that you can switch channel count mid-stream, which is not supported otherwise. A clear short-coming of libfaad, imho. :)
Thats also the reason the header was not removed - because with it LAV Audio supports on-the-fly channel layout changes (which happen on live tv). Stupid ffdshow somehow accepted my special ADTS media type...

BloodySword
26th November 2011, 21:34
Can't it be controlled by media type? So that LAV Audio uses another media type for the header and the media type FFDshow libdaad2 uses for without the header?

nevcairiel
26th November 2011, 22:02
Can't it be controlled by media type? So that LAV Audio uses another media type for the header and the media type FFDshow libdaad2 uses for without the header?

Thats what i did, yet ffdshow still accepted it, because its stupid.
I fixed it, though.

Reino
26th November 2011, 22:43
LAV Filters 0.40 bug report (splitter in particular):

MKV[H.264+Vorbis] sample (http://www.degeelebosch.nl/reino/H2O - Just Add Water_sample.mkv)
For some mysterious reason the LAV Splitter refuses to connect to FFDShow's Audio Decoder. The LAV Audio Decoder always kicks in. Just try this sample in MONOGRAM GraphStudio and manually add FFDShow's Audio Decoder. The LAV Splitter and FFDShow's Audio Decoder don't seem to agree with each other.

BloodySword
26th November 2011, 23:01
Found another problem: When I have a MKV file with WAVEPack audio in hybrid mode (lossy) with 96KHz 32 bit float, the WAVEPack decoder messes eveything up, the renderer tries to render it with 16 bit, the playback is 50% slow, is distorted and the video is stuttering. When I think of it, I can not realize what goes wrong here. When I play the WAVEPack file alone, everything works fine.

BloodySword
26th November 2011, 23:03
LAV Filters 0.40 bug report (splitter in particular):

MKV[H.264+Vorbis] sample (http://www.degeelebosch.nl/reino/H2O - Just Add Water_sample.mkv)
For some mysterious reason the LAV Splitter refuses to connect to FFDShow's Audio Decoder. The LAV Audio Decoder always kicks in. Just try this sample in MONOGRAM GraphStudio and manually add FFDShow's Audio Decoder. The LAV Splitter and FFDShow's Audio Decoder don't seem to agree with each other.

After updating ffDShow, Vorbis won't be decoded anymore because they removed the tremor decoder. I had to enable libavcodec and it worked well for me.

leewalk
27th November 2011, 02:21
Then you failed at putting the dts dll in the proper directory, or are using a very old version of the dll and forgot to install the required runtime (which would be automatically installed if you installed TMT. :p)

TMT is installed - latest version. Trying to cover all the bases - still no luck:

C:\>dir "c:\Program Files (x86)\LAV Filters\dts*.*" /s
Volume in drive C is OS
Volume Serial Number is E273-295C

Directory of c:\Program Files (x86)\LAV Filters

10/29/2010 09:31 PM 936,512 dtsdecoderdll.dll
1 File(s) 936,512 bytes

Directory of c:\Program Files (x86)\LAV Filters\x64

10/29/2010 09:31 PM 936,512 dtsdecoderdll.dll
1 File(s) 936,512 bytes

Directory of c:\Program Files (x86)\LAV Filters\x86

10/29/2010 09:31 PM 936,512 dtsdecoderdll.dll
1 File(s) 936,512 bytes

Total Files Listed:
3 File(s) 2,809,536 bytes
0 Dir(s) 53,208,334,336 bytes free

C:\>
Any guess on what might be wrong with my setup?

Kado
27th November 2011, 05:15
subtitles with undetermined language will not be displayed by default unless a "und" 3-letter code is added to the subtitle option in the splitter.

Cheers!

nevcairiel
27th November 2011, 08:15
subtitles with undetermined language will not be displayed by default unless a "und" 3-letter code is added to the subtitle option in the splitter.



Thats how its supposed to work.

Reino
27th November 2011, 11:03
After updating ffDShow, Vorbis won't be decoded anymore because they removed the tremor decoder. I had to enable libavcodec and it worked well for me.I don't see what this has anything to do with Tremor. Libavcodec has been the only Vorbis audio decoder in FFDShow for some time now.
This MKV[H.264+Vorbis] sample is the exception. I have a lot more MKV-files where the LAV Splitter connects to FFDShow's Audio Decoder effortlessly. I just can't figure it out.

ragg987
27th November 2011, 12:11
Hi, I am new to LAV and previously used ffdshow. Loving the rules-based subtitle functionality in LAV splitter.

I am tying to use audio decoder as follows:
- if audio is DTS-HD, bitstream
- if audio is DTS, do not bitstream

I wish to use reclock to slow down my PAL DTS DVDs, hence need PCM out with DTS audio.

How can I achieve this? The options in the audio decoder only permit DTS-HD to be bitstream if DTS is also bitstreamed.

Using ATI5750 card with HDMI, Windows 7 32-bit and MPC-HC.

BloodySword
27th November 2011, 13:35
I don't see what this has anything to do with Tremor. Libavcodec has been the only Vorbis audio decoder in FFDShow for some time now.
This MKV[H.264+Vorbis] sample is the exception. I have a lot more MKV-files where the LAV Splitter connects to FFDShow's Audio Decoder effortlessly. I just can't figure it out.

Seems to be a problem in the initialization header of the vorbis stream. It is AOTUV, could you check it if you mux standard vorbis?

When I Demux it, the audio file plays normal with LAV Splitter and ffDSHOw, only in MKV it does not play sound at all.

MKV is very buggy I think. I get problems with WAVEPack audio in 32 bit float. It plays as 16 bit signed integer and it sounds slow and distorted.

Just use MP4 with AAC SBR+PS. Sounds not as good as vorbis, but it just works and it is standard.

But I think as soon as LAV Splitter and the Audio and Video filters have the functionality I need wich is in ffDSHOW, I will remove ffDSHOW.

I only need kernel deinterlacer and yadif for interlaced material, audio seems to be ok.

Qaq
27th November 2011, 13:46
I am tying to use audio decoder as follows:
- if audio is DTS-HD, bitstream
- if audio is DTS, do not bitstream

How can I achieve this? The options in the audio decoder only permit DTS-HD to be bitstream if DTS is also bitstreamed.
Hmm.. uncheck DTS-HD in LAV at all, use ffdshow for DTS-HD bitstream.

nevcairiel
27th November 2011, 13:52
LAV Filters 0.40 bug report (splitter in particular):

MKV[H.264+Vorbis] sample (http://www.degeelebosch.nl/reino/H2O - Just Add Water_sample.mkv)
For some mysterious reason the LAV Splitter refuses to connect to FFDShow's Audio Decoder. The LAV Audio Decoder always kicks in. Just try this sample in MONOGRAM GraphStudio and manually add FFDShow's Audio Decoder. The LAV Splitter and FFDShow's Audio Decoder don't seem to agree with each other.

Fixed


MKV is very buggy I think.

MKV is a container, Containers cannot be "buggy". Its most likely just the muxer that produced something horrible, or the demuxer not reading it properly (or the format just being screwed up in general, like WavPack Hybrid, horrible idea of a format)

MP4 is a even worse container, fwiw.
Take a already horrible container based on QuickTime, and try to add some rather odd ideas an top, and then call it a ISO standard .. voila, MP4

PS:
If you ever want something fixed, i need a sample of a failing file.


How can I achieve this? The options in the audio decoder only permit DTS-HD to be bitstream if DTS is also bitstreamed.

Not with LAV Audio. DTS-HD is DTS, just with some extra data, separating the logic for the two would add quite some complexitiy for some rather obscure use-cases. I mean, if you want to use ReClock, just decode all audio.

BloodySword
27th November 2011, 14:14
To use binary XML for a container format is a very bad idea. It's just too complicated to deal with, I hate MKV and I always remux files with H264 and AAC to MP4, because it just works - and it just works on my Samsung Galaxy S, too. I got several problems with MKV, so I dropped it.

I did a draft for a simple but universal container format. If you are interested, write a PM.

What is wrong with WAVEPack Hybrid? It sounds 10000x better than any psycho format like mp3, AAC and vorbis, because it does not touch the frequency spectrum. That's why I wanted to use this.

The WAVEPack decoder in libavcodec is not usable, it is very buggy. Sometimes you can hear "ticks" and sometimes any channel gets muted. The original decoder filter of core codec does not work when demuxed from MKV.

@PS: How can I cut an MKV to a piece of 3 seconds? Does MKVMerge support it?

nevcairiel
27th November 2011, 14:54
The name of the format is WavPack, not WAVEPack.
I have no idea how good the decoder in avcodec is, and i honestly don't care because its not a format i ever used. The lossless mode seems to decode fine, though.
In any case, there is an official DirectShow decoder, so just use that. :)

Kurtnoise
27th November 2011, 14:56
Hi Nev,

I tested your last commits against the test suite (http://www.matroska.org/downloads/test_w1.html) from matroska.org.

All pass well except test4.mkv :

4. Live stream recording

This file is using the EBML feature that allows Master elements to have no known size. It is used for live streams because they don't know ahead of time the size of the Segment (virtually infinite) and even sometimes the size of the Clusters (no caching on the server side). The first timecode of the file also doesn't start at 0 since it's supposed to be a capture from something continuous. The SegmentInfo also doesn't contain any Duration as it is not know.

The sample comes from the Big Buck Bunny open project. It contains Theora video (1280x720), Vorbis audio, uses only SimpleBlock (matroska DocType v2)

A similar file can be created with mkclean using the "--live" option

I don't know if you want to include this feature or not...

BloodySword
27th November 2011, 15:00
The name of the format is WavPack, not WAVEPack.
I have no idea how good the decoder in avcodec is, and i honestly don't care because its not a format i ever used. The lossless mode seems to decode fine, though.
In any case, there is an official DirectShow decoder, so just use that. :)

I want to use it. But only when wrapped in MKV, the decoder seems to output an media type similar to s16l although it is 32 bit IEEE float. So video is half as fast as it should be and the sound makes me dizzy when listening to it: White noise on the left channel and distorted music on the left.

How can I cut any MKV without much effort to provide you a sample file?

nevcairiel
27th November 2011, 15:04
All pass well except test4.mkv

I dont think thats a feature that is used by anyone. Also, no MKV splitter i know of can read them, which even reduces the chances that such files exist.

Reino
27th November 2011, 15:27
When I Demux it, the audio file plays normal with LAV Splitter and ffDSHOw, only in MKV it does not play sound at all.That's correct, same here.
Thanks for the fix nevcairiel, though I still wonder why it refused to connect. I haven't done anything differently (with x264, nor oggenc2 (aotuv), nor with mkvmerge).
@PS: How can I cut an MKV to a piece of 3 seconds? Does MKVMerge support it?http://forum.doom9.org/showthread.php?p=1050021#post1050021

Midzuki
27th November 2011, 16:15
What is wrong with WAVEPack Hybrid? It sounds 10000x better than any psycho format like mp3, AAC and vorbis, because it does not touch the frequency spectrum. That's why I wanted to use this.

*Because* lossy WavPack doesn't use any "psycho-sorcery" :p , it requires more bitrate for sounding acceptable. But IF bitrate and storage space are not a concern, THEN why not use MP1 :devil: or DTS :D

Also:

Why Lossless Audio Codecs generally suck

http://codecs.multimedia.cx/?p=313

The biggest curse in codec design

http://codecs.multimedia.cx/?p=315

nevcairiel
27th November 2011, 16:28
Why Lossless Audio Codecs generally suck


Lossless codecs only suck or dont suck if you want to write a decoder for it - otherwise, they are lossless, and there is nothing to "suck". Kostya likes to ramble about how everything is so bad in the codec world - don't mind him. :p
I fail to even see a conclusion in his post, it seems to just go around the fact that there are so many of them.

rica
27th November 2011, 16:40
Hi, I am new to LAV and previously used ffdshow. Loving the rules-based subtitle functionality in LAV splitter.

I am tying to use audio decoder as follows:
- if audio is DTS-HD, bitstream
- if audio is DTS, do not bitstream

I wish to use reclock to slow down my PAL DTS DVDs, hence need PCM out with DTS audio.

How can I achieve this? The options in the audio decoder only permit DTS-HD to be bitstream if DTS is also bitstreamed.

Using ATI5750 card with HDMI, Windows 7 32-bit and MPC-HC.

DTS-HD is not an individual format; it always includes dts core and without that core it wouldn't work seperately.

DTS-HD Audio consists of a backwards-compatible 5.1-channel core (44.1 kHz or 48 kHz sampling frequency) and new
coding extensions for improved audio performance and features to support new high definition HD DVD and Blu-ray Disk optical disk formats.
On the other hand DolbY's THD is individual.

Finally, you can not decode DTS core seperately but you can bitstream dts or dts-hd alone. (just untick dts or dtshd options.)

Kado
27th November 2011, 16:51
Thats how its supposed to work.

Was loading fine before the 0.38 version that changed the subtitle stuff...

Midzuki
27th November 2011, 16:58
Lossless codecs only suck or dont suck if you want to write a decoder for it - otherwise, they are lossless, and there is nothing to "suck".

Demonstration needed :)

And BTW, please don't forget to visit "The Suck Report (http://suckreport.com/)" :D on a weekly basis.

ragg987
27th November 2011, 17:18
Hmm.. uncheck DTS-HD in LAV at all, use ffdshow for DTS-HD bitstream.Not sure how to get both ffdshow and LAV audio to do this and switch automatically depending on audio stream.

Not with LAV Audio. DTS-HD is DTS, just with some extra data, separating the logic for the two would add quite some complexitiy for some rather obscure use-cases. I mean, if you want to use ReClock, just decode all audio.I accept that this is not a priority for you, using full decoding of both DTS types for now. Thanks for the programs.

ragg987
27th November 2011, 17:23
DTS-HD is not an individual format; it always includes dts core and without that core it wouldn't work seperately.Understand this, however ffdshow has the option to select DTS-HD as bitstream and DTS-HD as PCM. Nevcariel believes this is not a mainstream requirement, which I am OK with.

rica
27th November 2011, 17:43
Understand this, however ffdshow has the option to select DTS-HD as bitstream and DTS-HD as PCM. Nevcariel believes this is not a mainstream requirement, which I am OK with.

In my trials ffdshow never decoded core dts of a dtshd stream. BTW you can decode full dtshd with LavAudio which has to use TMT's dtsdecoderdll.dll. But it can never decode core dts by alone like ffdshow can not do either. As for the dts DVD's i will check them and report here.

BloodySword
27th November 2011, 18:14
*Because* lossy WavPack doesn't use any "psycho-sorcery" :p , it requires more bitrate for sounding acceptable. But IF bitrate and storage space are not a concern, THEN why not use MP1 :devil: or DTS :D

Also:

Why Lossless Audio Codecs generally suck

http://codecs.multimedia.cx/?p=313

The biggest curse in codec design

http://codecs.multimedia.cx/?p=315

320 kbps MP3 sounds very bad to me, WavPack sounds very good. Also MP1, MP2, MP3 don't support 96000 Hz Samplingrate and even DTS can destroy the frequencys and DTS is highly patented.

For those with damaged hearing (physical or psychologically), MP3 and co might be good, but not for me.

The reason for the problematic packaging and many container formats is the big block size of about one second. The smaller the frame is, the worser is the prediction and the worser the prediction, the more detail is in the differential signal.

For MKV this should not be a big deal but since MKV has a very bad design, there can always be problems.

Andy o
27th November 2011, 19:20
We're not bats like you, so we can't hear above 20 kHz anyway (me personally, about 16.5 kHz).

Seriously now, look into learning how to perform ABX tests and you'll save yourself a few headaches (by realizing that mp3 might not be so bad after all).

BloodySword
27th November 2011, 19:41
You can not hear above 20 KHz, that's right. But the higher the samplingrate is, the better the frequencys are stored below 20 KHz. See "Nyquist-Sampling-Theorem".

I testet mp3 for myself and I notice it very strongly, that even 320 kbps does even not suit my needs. Sometimes it is like... I'm hearing any mp3, think the quality is good, then it comes to any detailed part in the song and it is totally messed up so I get heavy migraine.

Personally I find soft quant-error noise not as bad as audiopsychoacoustic artefacts and the artefacts resulting of the way how mp3 and aac works.

Midzuki
27th November 2011, 20:06
@ BloodySword: Yes, you have very-good points. :thanks:
I had forgotten :o that formats like .mpa, .dca and .ac3 were designed before the "Hi-Def" era :), so, and sadly, their maximum sampling frequency is only 48kHz :( On the other hand, I still think (because I am no actual audiophile) high sampling frequencies (88.2kHz and beyond) sound best :o when compressed losslessly. Differently from DTS-MA, WavPack CAN do without the "hybrid-mode". And again, except for being "bitrate hungry", lossy WavPack is fine. ;)

nevcairiel
27th November 2011, 20:07
Please move any off-topic discussions on what audio format prefer to a more appropriate place, though.

Andy o
27th November 2011, 20:17
Sorry Nev, I just want to point out that Nyquist-Shannon actually says the opposite, you don't need more than 2x highest frequency to accurately reproduce the wave. Not going to argue about formats anymore :)

SamuriHL
27th November 2011, 20:19
What's the command line option for the installer to specify a location?

fastplayer
27th November 2011, 20:22
/DIR="full path"

SamuriHL
27th November 2011, 20:23
Thanks!

BloodySword
27th November 2011, 20:23
A little sample: Imagine a 20 KHz sinus sampled at 40 KHz. It is no sinus anymore, it's a triangle. So you did not understand the Nyquist-Shannon-Theorem at all. It does not say you don't need any more than 2x than the highest freq, it says you need AT LEAST 2 times the sampling to reproduce it. It's like with images. The higher the resolution, the naturallier the image will look.

@nev: How can I cut an MKV so that I can give you a sample of my WavPack problem?

SamuriHL
27th November 2011, 20:25
Darn, it still adds the x86/x64 dirs. I think I'll create my own custom install script for what I wanna do. :D

nevcairiel
27th November 2011, 20:41
I've been pondering on creating a new installer script, adding better and smarter options, separating 32 and 64 in the process, but I hate working on the damn script. :p

SamuriHL
27th November 2011, 20:43
That'd be nice. For now I'm making a custom script that only deals with 32 bit so that I can use it to do an actuall INSTALL into the MC17 private copy dir. Don't ask. :D I'm insane. But to do that I can't have that x86 stuff on it. I do agree, working on the install script isn't enjoyable. :)

SamuriHL
27th November 2011, 21:24
Excellent. So I took your ISS, Nev, and modified it so that it only builds and installs the 32 bit version. I set the default path in the new script to the private copy of LAV in MC17. Now I can run a silent uninstall, and then silent install to update my private copy of LAV. This is useless for almost anyone else, but, for my environment it's pretty awesome. I just have to keep my ISS file in sync with yours. I'm not doing version stuff so I couldn't care less about that. But if you add/remove files I have to modify my script. This is pretty sweet. :) Yes, little things that make my life easier amuse me. :D

Reino
27th November 2011, 21:31
@nev: How can I cut an MKV so that I can give you a sample of my WavPack problem?You should have a better look at my replies.

STaRGaZeR
27th November 2011, 21:32
Found something interesting today. I was looking at getting rid of the splitter/decoder mess needed to properly generate thumbnails in Explorer x64, so I tried removing everything and leaving LAV splitter+video+audio. Everything worked well until it failed to generate the thumbnail in some files. After some investigation it seems related to subtitles. Files with ass subs failed. After installing ffdshow the same files worked, so after some more investigation I think I found why: the video pin and the subtitle pin have to be connected to the same filter. LAV video has no in subtitle pin so subtitles went to who knows where. The DS graphs below are what graphstudio's "Render media file" outputs with each set of options, and probably the same Explorer is using:

- Situation 1, LAV only (FAILS):

LAV splitter (video pin) --> LAV video (video decoder) --> renderer
LAV splitter (ass pin) --> Internal Script Command Renderer

- Situation 2, LAV+ffdshow with LAV as video decoder and ffdshow as subtitle renderer (FAILS):

LAV splitter (video pin) --> LAV video (video decoder) --> ffdshow RAW (video PP) --> renderer
LAV splitter (ass pin) ----------------------------------> ffdshow RAW (video PP)^

- Situation 3, ffdshow as decoder but not accepting subs (FAILS):

LAV splitter (video pin) --> ffdshow (video decoder) --> renderer
LAV splitter (ass pin) --> Internal Script Command Renderer

- Situation 4, ffdshow eating both video and subs (WORKS):

LAV splitter (video pin) --> ffdshow (video decoder) --> renderer
LAV splitter (ass pin) -----> ffdshow (video decoder)^


To tell ffdshow to accept or refuse subtitle connection you have to enable/disable the checkboxes of enabled formats in the subtitle filter. It doesn't matter if the filter is enabled or not.

Do you guys know if this is a known issue and/or fixable in any way?

nevcairiel
27th November 2011, 21:40
Its probably not "to the same filter", its more likely the "Internal Script Command Renderer" is doing shenanigans again. Its no good, and i should probably just deny connection to it inside LAV Splitter - it serves no real purpose.

clsid
27th November 2011, 21:41
One solution would be to let the splitter expose no subtitle pin when loaded by Explorer.

Here is a FLV sample (http://www.mediafire.com/?404hbc6reir4fhh) that doesn't get a thumbnail. Possibly do to dynamic resizing/cropping?

STaRGaZeR
27th November 2011, 21:48
Its probably not "to the same filter", its more likely the "Internal Script Command Renderer" is doing shenanigans again. Its no good, and i should probably just deny connection to it inside LAV Splitter - it serves no real purpose.

Dunno but situation 2 fails too, and it doesn't have that thing in the graph.

nevcairiel
27th November 2011, 22:11
Dunno but situation 2 fails too, and it doesn't have that thing in the graph.

Well the ISCR causes issues in other situations as well.

Disabling subtitles when the thumbnail-generator loads it is probably nothing that would hurt either.

Andy o
27th November 2011, 22:36
A little sample: Imagine a 20 KHz sinus sampled at 40 KHz. It is no sinus anymore, it's a triangle. So you did not understand the Nyquist-Shannon-Theorem at all. It does not say you don't need any more than 2x than the highest freq, it says you need AT LEAST 2 times the sampling to reproduce it. It's like with images. The higher the resolution, the naturallier the image will look.


Open another thread if you wanna keep discussing this, but there's plenty of info around the net. It doesn't work like that.

AmshTemp
27th November 2011, 22:41
Is this reported issue of subs and thumbnailing releated?
http://code.google.com/p/lavfilters/issues/detail?id=68

Anyway I am now using Icaros instead of Windows thumbnail generator, and although it is a little bit unstable it really wokrs most of times... say 98% of the times.

e-t172
27th November 2011, 22:47
Sorry for feeding the OT, but I have to do this (http://xkcd.com/386/).

A little sample: Imagine a 20 KHz sinus sampled at 40 KHz. It is no sinus anymore, it's a triangle.

It may look like a triangle to you, if you're drawing straight lines between samples. Fortunately, Digital-to-Analog converters don't work like that. They follow the Whittaker–Shannon interpolation formula (http://en.wikipedia.org/wiki/Whittaker%E2%80%93Shannon_interpolation_formula), which will output a pure 20 kHz sinusoid, not a triangular waveform.

So you did not understand the Nyquist-Shannon-Theorem at all. It does not say you don't need any more than 2x than the highest freq, it says you need AT LEAST 2 times the sampling to reproduce it.

You are completely wrong, and Andy o is right. Let's read the theorem again:

If a function x(t) contains no frequencies higher than B hertz, it is completely determined by giving its ordinates at a series of points spaced 1/(2B) seconds apart.

Read the bold part again. Protip: in this context, "completely determined" means "lossless".

It's like with images. The higher the resolution, the naturallier the image will look.

Not at all. The human perception of the spatial resolution of an image as observed by the eye has nothing to do with the human perception of the temporal resolution of sound.

Andy o
27th November 2011, 22:58
OK sorry nev, I'm starting a thread myself where we can take this.

http://www.avsforum.com/avs-vb/showthread.php?p=21265964#post21265964

I assume most of us are also AVS regulars. Doom9 doesn't seem to have a section for this kind of topic.

STaRGaZeR
27th November 2011, 23:28
Well the ISCR causes issues in other situations as well.

Disabling subtitles when the thumbnail-generator loads it is probably nothing that would hurt either.

That sounds good and it'll probably fix it. There is no need for subtitles in a thumbnail after all.

Is this reported issue of subs and thumbnailing releated?
http://code.google.com/p/lavfilters/issues/detail?id=68

I'd say it's the same issue. Don't know about the XP part thou.

rica
27th November 2011, 23:40
In my trials ffdshow never decoded core dts of a dtshd stream. BTW you can decode full dtshd with LavAudio which has to use TMT's dtsdecoderdll.dll. But it can never decode core dts by alone like ffdshow can not do either. As for the dts DVD's i will check them and report here.

I checked lav filters with dts DVDs and it works with or without dtsdecoderdll.dll:

http://img221.imageshack.us/img221/1645/lavisworkingfk.png (http://imageshack.us/photo/my-images/221/lavisworkingfk.png/)


http://img849.imageshack.us/img849/7988/lavisworking2.png (http://imageshack.us/photo/my-images/849/lavisworking2.png/)

_ _ __ _

Pat357
28th November 2011, 00:14
To use binary XML for a container format is a very bad idea. It's just too complicated to deal with, I hate MKV and I always remux files with H264 and AAC to MP4, because it just works - and it just works on my Samsung Galaxy S, too. I got several problems with MKV, so I dropped it. It's not the MKV container that is bad, but you'll find a lot bad muxes everywhere.
A properly muxed MKV should give no problems at all. Also MKV's can handle almost any content there is. I did a draft for a simple but universal container format.
Hmm.. interesting : will we soon see this container in the wild ?
What content can it / can it not handle ? Any plans maybe for writing a muxer/demuxer for it ? What is wrong with WAVEPack Hybrid? It sounds 10000x better than any psycho format like mp3, AAC and vorbis, because it does not touch the frequency spectrum. That's why I wanted to use this. I agree, hybrid wavepack is a very nice concept.
I still have to test the wavepack DS-filter : I wish it can connect to standard splitters like Lav-splitter, Haali and other MKV/MP4 splitters. It seems to have it's own "splitter" though, what makes me think it will only work with that...
The WAVEPack decoder in libavcodec is not usable, it is very buggy. Sometimes you can hear "ticks" and sometimes any channel gets muted. The original decoder filter of core codec does not work when demuxed from MKV. Are you talking about the DS-filter for wavepack ? (=Wavpackdsdecoder.ax) @PS: How can I cut an MKV to a piece of 3 seconds? Does MKVMerge support it? Yup, see the tab "global" (in the MMG GUI) and look for "enable spliiting". It's also possible to do it from the MKVMerge command line using the proper switches.

fastplayer
28th November 2011, 10:14
@rica: You have already been told before to use thumbnails. Why aren't you now?!
Some of us check in on the thread with mobiles.

nevcairiel
28th November 2011, 10:22
@rica: You have already been told before to use thumbnails. Why aren't you now?!
Some of us check in on the thread with mobiles.

I don't get the point of his posts 90% of the time anyway, so not posting them at all would be fine by me, too!

golagoda
28th November 2011, 11:37
I hate to be 'that guy' but I just wanted to ask how high of a priority ordered chapters support is or if there's any ETA on when it might be implemented, it's the only feature forcing me and other users to use haali splitter and ordered chapters itself is a very under-rated yet extremely useful feature.

I always stay up to date compiling LAVFilters from the git and I'd be happy to use it even as an experimental feature to test it out.

Just wanted to keep this a bit more on topic and not turn into a rica bashing thread :p

AmshTemp
28th November 2011, 13:52
I'd say it's the same issue. Don't know about the XP part thou.

I fixed the report.
Both Win XP and 7 have the same issue.

nevcairiel
28th November 2011, 13:56
I just wanted to ask how high of a priority ordered chapters support is or if there's any ETA on when it might be implemented

How about "sometime in 2012" ? :)

Superb
28th November 2011, 18:08
How about "sometime in 2012" ? :)
It will be fixed sometime in 2012 (that's vague enough an estimation to have a chance of being correct).Freakin' conspiracy! :O

nautilus7
28th November 2011, 19:27
They are Germans. What would you expect? :P

Plutotype
28th November 2011, 19:51
Hi Nev,

I have added DVD Navigator using this methodhttp://forum.doom9.org/showthread.php?t=159492, but instead of LAVvideo, Cyberlink is being used. Does LAVvideo offer DVD decoding or should I wait?

And how about DVD audio stream switching and subtitles support? Also in 2012?:):)

Thanks and keep up the good work.
Pluto

nevcairiel
28th November 2011, 19:52
LAV Video does not support DVD decoding at this time, but its on the list to be done "soon".

The DVD Navigator is responsible for managing streams on a DVD, there is nothing that can be done.

rica
28th November 2011, 21:46
@rica: You have already been told before to use thumbnails. Why aren't you now?!
Some of us check in on the thread with mobiles.

Hey man, i didn't like your style of telling me what to do or what not to do.

Samuri politely asked smaller pictures instead of 1920*1080 caps and he was right and i saved them as 1280*720 later which is matching with any current ordinary 19 inch monitor.
If you want thumbnails, pls click on the picture i uploaded before and you will find all the links you need:

http://img9.imageshack.us/img9/8199/covereiu.th.png (http://imageshack.us/photo/my-images/9/covereiu.png/)

_ _ _ _

rica
28th November 2011, 21:55
I don't get the point of his posts 90% of the time anyway, so not posting them at all would be fine by me, too!

Thanks anyway @nevcairiel (for the filters). At least i know anymore why you don't post at all.
I think you got the point here (10%) and you kindly gave a response for PCM-mkv issue, thx for fixing the issue and answering me:

http://forum.doom9.org/showpost.php?p=1540263&postcount=7196


Just wanted to keep this a bit more on topic and not turn into a rica bashing thread :p

Bashing thread ??? HOW? :D

pankov
28th November 2011, 23:11
rica,
I think you didn't undestand fastplayer's post.
The idea of using thumbnails is to save both bandwidth and monitor estate. On a slow connection your pictures takes too much time to load and could be pretty expensive depending on the used data plan.
And do have in mind that many people use tablets or mobile phones to follow this forum and these devices have lower resolution.
So if you are kind enough, please, do use thumbnails in the future.

kalston
28th November 2011, 23:25
I posted earlier in this thread to ask why DTS-HD decoding wasn't working for me. Well, silly me but I hadn't tried different versions of the dtsdecoder.dll, had only tried the 1.1.0.0 one (the only one that works flawlessly for me when using eac3to).
So after reading the last few pages of this thread where someone had the same issue, I put the 1.1.0.7 one in the LAV folder and woosh, it works! :)

Thank you nev (and madshi) I can finally watch ALL my BRs without having to rip any of them if I want lossless playback in mpc-hc (a blessing now that HDDs are so expensive).

The only small thing I'd like now is the ability to downmix the audio without having to use ffdshow, any ETA on that? Soon or not too soon?

DVD playback will be nice as well of course, although I don't often watch these.

rica
29th November 2011, 00:03
rica,
I think you didn't undestand fastplayer's post.
The idea of using thumbnails is to save both bandwidth and monitor estate. On a slow connection your pictures takes too much time to load and could be pretty expensive depending on the used data plan.
And do have in mind that many people use tablets or mobile phones to follow this forum and these devices have lower resolution.
So if you are kind enough, please, do use thumbnails in the future.

I did but but i didn't like his style as i told before.
BTW this is gonna be my last post here on this thread and no huge caps or small thumbnails anymore.
Thanks pankov.

Andy o
29th November 2011, 00:45
The only small thing I'd like now is the ability to downmix the audio without having to use ffdshow, any ETA on that? Soon or not too soon?
Do you have a stereo setup? The Windows mixer is working just fine for me to downmix to stereo, also downmixes 7.1 to 5.1 pretty well, last time I checked.

Nevilne
29th November 2011, 00:49
It's mostly meant to save some processing power on reclock resampling 2 channels instead of 8.

Andy o
29th November 2011, 01:37
Is that an actual problem? Never knew.

leewalk
29th November 2011, 03:21
I checked lav filters with dts DVDs and it works with or without dtsdecoderdll.dll:


I see 6 channels in your sample screenshots - have you ever seen 8 channels working, with or without dtsdecoderdll.dll?

Thanks, Lee

Andy o
29th November 2011, 04:24
There's no 8 channels with legacy DTS. Max you get 6.1 with DTS-ES and LAV can decode it just fine. It can also decode the core out of a DTS-HD stream, even if the core is 6.1 DTS-ES. dtsdecoderdll is only needed for full DTS-HD decoding, and with it 8 channels works just fine, as well.

CruNcher
29th November 2011, 04:53
rica,
I think you didn't undestand fastplayer's post.
The idea of using thumbnails is to save both bandwidth and monitor estate. On a slow connection your pictures takes too much time to load and could be pretty expensive depending on the used data plan.
And do have in mind that many people use tablets or mobile phones to follow this forum and these devices have lower resolution.
So if you are kind enough, please, do use thumbnails in the future.

Though if you see it from a practical point its a shame that it is like that ;) and that we don't have smart enough devices or forum software yet that fix such problems automatically sure the data plan thing is another problem though using efficiently the available cache would also make it less problematic ;)
I mean is it so hard to detect that the user posted a to big image and forgot the thumbnail then parse from which service it was posted and correct the post ?

robpdotcom
29th November 2011, 06:01
There's no 8 channels with legacy DTS. Max you get 6.1 with DTS-ES and LAV can decode it just fine. It can also decode the core out of a DTS-HD stream, even if the core is 6.1 DTS-ES. dtsdecoderdll is only needed for full DTS-HD decoding, and with it 8 channels works just fine, as well.

Whether I use the dtsdecoder.dll or not, I get 5.1 from all DTS-ES streams. The only way I get 6.1 is if I bitstream and let my AVR handle the decoding. The same is true for DTS-ES and DTS-HD ES. :confused:

nevcairiel
29th November 2011, 07:33
6.1 DTS-ES (not HD) can even be decoded with just the ffmpeg decoder, works fine for me on eg. the Star Wars discs.
Note that alot of receivers seem to have issues understanding 6.1 through HDMI, which is why i added the option to expand 6.1 to 7.1

Andy o
29th November 2011, 07:50
Wasn't that an issue with the NV HDMI device though, and not the receiver? I forget if when I put in my NV card I could do 6.1 LPCM, probably didn't even test for it.

nevcairiel
29th November 2011, 07:52
Who knows, something doesn't like 6.1, but since most people have 5.1 or 7.1 setups (and not 6.1), the expand to 7.1 option seemed like a good idea at the time. :)

Andy o
29th November 2011, 08:11
Yeah, 6.1 was a huge failure until 7.1 came along :) I remember I bought one of the special editions of the Lord of the Rings DVDs for my 6.1 computer speakers. Then I don't think I played anything else until blu-ray came along.

madshi
29th November 2011, 10:06
There's no 8 channels with legacy DTS.
FWIW, the legacy DTS format does support the XXCh extension which can do 7.1. But I don't have any samples, so it's possible it was never used in real life.

Andy o
29th November 2011, 10:15
Maybe DTS was saving it for another format (and hardware) upgrade, but since more than 5.1 didn't catch on they just canned it. Not only there's no samples, but there's no mention of it anywhere else that I know of.

AmshTemp
29th November 2011, 15:20
nev:
In Engadget podcasts I can navigate chapters and hear audio however the video remains static on one picture the entire time.
ffplay can seek and change the pictures without problems

http://www.engadget.com/podcasts/EngadgetHD_Podcast_275.m4a

nevcairiel
29th November 2011, 16:02
nev:
In Engadget podcasts I can navigate chapters and hear audio however the video remains static on one picture the entire time.
ffplay can seek and change the pictures without problems

http://www.engadget.com/podcasts/EngadgetHD_Podcast_275.m4a

The file seems to use multiple edit lists, a mp4 feature which is not fully supported yet, and causes the frame timestamps to be majorly screwed up. Not sure why ffplay behaves any better, maybe it just ignores frame timing informations .. i've seen that before.

SamuriHL
29th November 2011, 16:57
Nev, I've got an issue to report. I wasn't sure if it was an actual issue until I accidentally reset my LAV Video settings on my nVidia machine (so it wasn't using CUDA decoding). When playing back WTV files in MC17 with LAV Video as the decoder, I get little blocks every few frames. If I switch to another decoder, heck even turning on CUDA decoding on the nVidia machine, the problem goes away. The WTV content in this case is simply MPEG2 captured from a Hauppauge 950q. Nothing special. It's using EVR for WTV playback. Any thoughts? I can get you a sample if you need it. I first noticed it on my AMD machine and thought it might be something locally wrong, but, when I saw it on the nVidia machine, as well, it seems more like an issue. Just wondering if anyone else has noticed this. Thanks!

nevcairiel
29th November 2011, 17:05
The only MPEG-2 WTV i have is some tennis match, and its not blocky, just boring - so a sample would be good.

SamuriHL
29th November 2011, 17:06
Ok, I'll get you one later today. I don't actually have a recording saved at the moment. I'll create one when I get a chance, verify it has the issue, and post it. Thanks!

SamuriHL
29th November 2011, 17:43
http://www.mediafire.com/?rq12ycyahrfsd8y

A very small sample file. About 40 seconds. The corruption isn't as pronounced in this one, but, at around 11 seconds or so it does corrupt. It should be noted that if I run these through Video ReDo and output them as WTV files, they play fine. So I suspect there's something wrong with my recordings. That being said, since other decoders can play them fine, I'd really appreciate if this can be handled in LAV Video. I know the "easy" solution is to just run them through VRD to clean them up, but, the reason I want this fixed is so that I can watch my recordings shortly after they're done recording without having to do any post processing on them. Thanks for looking at this and let me know if you need anything else. I have a much larger file (around 4 gigs, unfortunately) that has the corruption pretty much every other frame.

nevcairiel
29th November 2011, 17:58
The problem only occurs if you use the MS source for MPEG-2, it must be doing something rather odd..

SamuriHL
29th November 2011, 17:59
I don't have control over the graph MC17 builds to play it. ARGH.

nevcairiel
29th November 2011, 18:06
Not sure i can do something about it. The problem only occurs with the MS source, so its incredibly hard to provide a reproducible report for the ffmpeg developers (because they'll just say the demuxer is broken. :P)

SamuriHL
29th November 2011, 18:08
Well that sucks. Ah well. I'll put the PDVD11 decoder back for that file type on my AMD machine. That seems to work fine. And CUDA decoding works on the nVidia machine with LAV Video. At least now you know about the issue in case it comes up again. :)

kalston
29th November 2011, 19:57
Do you have a stereo setup? The Windows mixer is working just fine for me to downmix to stereo, also downmixes 7.1 to 5.1 pretty well, last time I checked.

I thought that didn't work when using WASAPI exclusive but I just used a test file and it indeed works. Silly me :)

nevcairiel
29th November 2011, 20:08
LAV Filters 0.41

LAV Splitter
- New MKV Demuxer (see release notes for details)
- Fixed a bug with the Vorbis Media Type
- Disabled Subtitles when generating Thumbnails in Explorer

LAV Video
- Fixed a overflow in 10 -> 8 bit dithering and NV12 output


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.41.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.41.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.41-x64.zip)

New MKV Demuxer
What does that bring us?
- Faster and more accurate seeking
- Better handling of incomplete/broken files

No really "new" features yet, just a new basis for future enhancements. It will usually work much smoother then before, however, and so far no regressions have been reported.

Important: If a MKV file breaks that played fine with 0.40 or earlier, please report those cases, preferably with a sample file!
I hope it won't happen too often, but i would be surprised if it never happens, but here is hoping!

The other changes are pretty minor, fixed a small glitch in the 10 -> 8bit dithering code that could overflow in some cases, but nothing really widely spread i suppose, since it took so long until it was noticed.

Anyway, take care and have fun - and as always, please report any issues you might have (especially regressions)!

Sebastiii
29th November 2011, 20:20
Thanks m8 :)
Works really nice for now :)

SamuriHL
29th November 2011, 20:23
Just built my MC17 installer for it and will test it out after work today. Thanks, Nev!

STaRGaZeR
29th November 2011, 20:31
It seems adding explorer.exe to the blacklist is needed for the problematic thumbnails to work. dllhost.exe is not enough.

nevcairiel
29th November 2011, 20:34
It seems adding explorer.exe to the blacklist is needed for the problematic thumbnails to work. dllhost.exe is not enough.

But dllhost is the actual .exe that runs the filter graph, and did resolve quite a few issues for me.

Did you add it to the list, and does it fix it?

STaRGaZeR
29th November 2011, 20:40
Exactly. With dllhost only it's like before 0.41, it tries to generate the thumbnail without success. Adding explorer to the list fixes it.

nevcairiel
29th November 2011, 20:44
Exactly. With dllhost only it's like before 0.41, it tries to generate the thumbnail without success. Adding explorer to the list fixes it.

Ok then, must have been yet another issue that adding dllhost fixed, i'll add it to the list as well.

AmshTemp
29th November 2011, 20:52
Can you do a fast re-release of 0.41 with that change?

nevcairiel
29th November 2011, 20:53
Can you do a fast re-release of 0.41 with that change?

No, it'll be in the next.
Once something is published, it doesn't get changed.

STaRGaZeR
29th November 2011, 21:30
Ok then, must have been yet another issue that adding dllhost fixed, i'll add it to the list as well.

Thanks!

Can you do a fast re-release of 0.41 with that change?

You can try with this build, it's 0.41 plus the change (lastest git basically). Unofficial, use at your own risk :p

http://www.mediafire.com/?g86qd0ms45oag0k

Reino
29th November 2011, 23:00
LAV Filters 0.41

LAV Splitter
- New MKV Demuxer (see release notes for details)
- Fixed a bug with the Vorbis Media TypeI can confirm the Vorbis Media Type bug has been fixed now, but I can't say I'm all too happy with the "new MKV Demuxer". There's a lot of stutter and it feels like half the framerate or even less. Always the case with MKV[H.264], never with MKV[XviD].

http://img215.imageshack.us/img215/6284/lavfilters040041.th.jpg (http://img215.imageshack.us/img215/6284/lavfilters040041.jpg)

nevcairiel
29th November 2011, 23:26
II can't say I'm all too happy with the "new MKV Demuxer". There's a lot of stutter and it feels like half the framerate or even less. Always the case with MKV[H.264], never with MKV[XviD].

I have tried a great many MKV files with H264, with a variety of different decoders, and i never encountered any such issues - neither did anyone else (or they didn't report them).

You should've finished reading the release notes, specifically the part about providing samples. :)
(Also mentioning which decoder you're using would maybe help, don't you think. :))

Reino
29th November 2011, 23:31
uhm...
http://forum.doom9.org/showthread.php?p=1541279#post1541279

LAV Splitter, MPC-HC Video Decoder (DXVA) and FFDShow

nevcairiel
29th November 2011, 23:34
uhm...
http://forum.doom9.org/showthread.php?p=1541279#post1541279

That same sample shows problems for you? Plays perfectly for me.
Also, still missing the information which decoder. :p

Reino
29th November 2011, 23:45
And not only just that sample, A LOT more MKV-files.
First I thought it was an issue with mkvs created with MKVToolNix 5.0.0 and higher, but an mkv (created with MKVToolNix 4.3.0) had the same issue. Funny thing is, mkvs spat out by MeGui (created with Haali Matroska Writer), don't have this problem.

FWIW;

AMD Athlon XP 3200+ (Barton, 2300Mhz)
ASUS A7N8X-E Deluxe (nVidia nForce2 Ultra 400)
Sapphire HD 3850 (512MB GDDR3, AGP, DVI)
Onboard: Realtek ALC650 (nVidia SoundStorm)

Windows XP Pro SP3 (nLited)
MPC - Homecinema 1.5.3.3847.0 (VMR9 renderless)
FFDShow rev.4052

pirlouy
29th November 2011, 23:48
The guy said:
Once something is published, it doesn't get changed.
So don't edit your post, he won't see it else ! :D

robpdotcom
30th November 2011, 02:59
6.1 DTS-ES (not HD) can even be decoded with just the ffmpeg decoder, works fine for me on eg. the Star Wars discs.

Now I know why it wasn't working for me. The Star Wars are DTS-ES Discrete, while all the files I tested before were DTS-ES Matrixed. I guess there's no decoder that can pull the 6.1 from matrixed DTS-ES, or Dolby EX, for that matter.

BTW, when testing, I noticed that the "Expand 6.1 to 7.1" option doesn't work unless I used the dtsdecoder.dll. No problem for me, but thought I'd pass it along.

andyvt
30th November 2011, 03:43
Is saving configuration changes made to LAV Video to the registry after programmatic use intentional? Now that it supports SW DI, I'd like to add support to DTB for use during transcoding. The current implementation means that changes I make for that purpose are forced on other apps.

If possible, I'd prefer that persistence was an explicit choice.

SamuriHL
30th November 2011, 03:46
Yikes. Persistence needs to be optional because other programs are going to use the interfaces, as well. That seems bad. :)

noee
30th November 2011, 04:01
If possible, I'd prefer that persistence was an explicit choice.

From LAVVideoSettings.h:
// Switch to Runtime Config mode. This will reset all settings to default, and no changes to the settings will be saved
// You can use this to programmatically configure LAV Audio without interfering with the users settings in the registry.
// Subsequent calls to this function will reset all settings back to defaults, even if the mode does not change.
//
// Note that calling this function during playback is not supported and may exhibit undocumented behaviour.
// For smooth operations, it must be called before LAV Audio is connected to other filters.


ILAVVideoSettings::SetRuntimeConfig(bool);

* the comments in the include reference LAVAudio, but it's the same

andyvt
30th November 2011, 04:14
From LAVVideoSettings.h:
// Switch to Runtime Config mode. This will reset all settings to default, and no changes to the settings will be saved
// You can use this to programmatically configure LAV Audio without interfering with the users settings in the registry.
// Subsequent calls to this function will reset all settings back to defaults, even if the mode does not change.
//
// Note that calling this function during playback is not supported and may exhibit undocumented behaviour.
// For smooth operations, it must be called before LAV Audio is connected to other filters.


ILAVVideoSettings::SetRuntimeConfig(bool);

* the comments in the include reference LAVAudio, but it's the same

Thanks.

SamuriHL
30th November 2011, 04:14
Excellent. Very good.

mindbomb
30th November 2011, 05:27
so once libavcodec has interlaced vc-1 decoding support, will vc-1 be enabled by default in lav?

Andy o
30th November 2011, 08:56
I thought that didn't work when using WASAPI exclusive but I just used a test file and it indeed works. Silly me :)

What audio device are you using? Exclusive mode should bypass the mixer. What I said implied using DirectSound or shared mode. I don't see a reason to use WASAPI exclusive if you only got stereo, unless you're using HDMI and want your receiver to do the downmixing.

madshi
30th November 2011, 09:22
so once libavcodec has interlaced vc-1 decoding support, will vc-1 be enabled by default in lav?
Hopefully only if it finally catches up in performance to the MS VC-1 decoder. Currently it's significantly slower, even with progressive streams. At least on my PC.

nevcairiel
30th November 2011, 09:24
It indeed is significantly slower. Once it gets multi-threading, it might be a worthy alternative.
I should build some smart logic so that VC-1 is only disabled in software and not in hardware, otherwise its somewhat confusing right now.

jmone
30th November 2011, 09:54
I should build some smart logic so that VC-1 is only disabled in software and not in hardware, otherwise its somewhat confusing right now.

Great Idea

6233638
30th November 2011, 11:16
The new MKV splitter is working great. The old one was rather slow with some of my Blu-ray rips, and seeking was poor—it would only jump "blocks" rather than to a specific point I clicked—and now it works just as well as playing the .m2ts file off the disc.


Speaking of playing files off the disc, I watched a couple of films last night (Batman Begins and The Dark Knight) and rather than loading up the m2ts files as I usually do, I tried using the index.bdmv as someone mentioned that it worked now.

It did work, but I had problems with the sound going out of sync, and having to seek through the file to resync it. Pausing and resuming playback actually made the sync worse.

I haven't had this problem playing back m2ts files before, though I will admit I didn't have the time/patience to try with the m2ts files from those specific films.

nevcairiel
30th November 2011, 11:44
I've watched many BDs and i never noticed any sync issues.
The BD demuxer really is just a smart way to find out which m2ts to play, so if there is a significant difference between the two, it would be rather weird indeed (Especially if the disc is not seamless branching)
I will test again however, since i didnt play discs for a while, not that something broke..

nevcairiel
30th November 2011, 12:23
And not only just that sample, A LOT more MKV-files.
First I thought it was an issue with mkvs created with MKVToolNix 5.0.0 and higher, but an mkv (created with MKVToolNix 4.3.0) had the same issue. Funny thing is, mkvs spat out by MeGui (created with Haali Matroska Writer), don't have this problem.

I found the issue, its actually the audio and not the video as i initially thought - doesn't happen with LAV Audio fwiw. :p

I basically know whats wrong, but i need to dig deeper to find a proper solution that doesn't break anything else.

mzso
30th November 2011, 13:41
LAV Filters 0.41
No really "new" features yet, just a new basis for future enhancements. It will usually work much smoother then before, however, and so far no regressions have been reported.


Are you planning to implement matroska editions now?

nevcairiel
30th November 2011, 13:53
Are you planning to implement matroska editions now?

Planning, sure. ETA? How is 2012 for you? Its bad for me, so lets say 2013? :)

Sebastiii
30th November 2011, 13:56
I found the issue, its actually the audio and not the video as i initially thought - doesn't happen with LAV Audio fwiw. :p

I basically know whats wrong, but i need to dig deeper to find a proper solution that doesn't break anything else.

Cool :) and good luck :)

mzso
30th November 2011, 14:14
Planning, sure. ETA? How is 2012 for you? Its bad for me, so lets say 2013? :)

It requires that much work?

nevcairiel
30th November 2011, 14:42
It requires that much work?

Could be, no idea.
I just have loads of stuff to do, and that feature is not much fun. :p

mbordas
30th November 2011, 18:25
when I play a file with 16 bit ac-3 audio, reclock reports the audio stream is "PCM IEEE float", and not bit exact. It's easy enough to turn off 32 bit float in lav audio, and set reclock to output 32bit or 24 padded, and then it reports bit exact. Is this an ok solution, or is the lav audio output wrong?

nevcairiel
30th November 2011, 18:26
AC3 is a lossy format, there is no such thing as "bit exact" for lossy formats.

mbordas
30th November 2011, 18:36
good point :) But why is it outputting 32 bit float?

nevcairiel
30th November 2011, 18:37
good point :) But why is it outputting 32 bit float?

Because thats the format the decoder works in.

mbordas
30th November 2011, 18:52
yet the lossless codecs use 24bit? Interesting. So the answer is, don't worry about it. Thanks.

nevcairiel
30th November 2011, 19:43
yet the lossless codecs use 24bit? Interesting. So the answer is, don't worry about it. Thanks.

Thats pretty much the standard.
Most lossy decoders work internally in 32-bit float, and therefor outputting that is the right thing to do.

For lossless formats, they always output what you put in, which is most of the time 16-bit integer or 24-bit integer.

nevcairiel
30th November 2011, 20:05
LAV Filters 0.42

LAV Splitter
- Fixed a timestamping bug in the new MKV demuxer
- Futher enhancements to explorer thumbnail generation


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.42.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.42.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.42-x64.zip)

Just some small fixes, the first one seemed somewhat important, although it only affects those people using ffdshow for audio decoding..... :)

DragonQ
30th November 2011, 21:40
What happens if "Use stream aspect ratio" is unticked? Does it use the aspect ratio specified in the container instead? Might be useful for me since I have a few MPEG2 files that are correctly specified as 16:9 in the MKV container but the stream says they're something like 2.35:1 for some reason.

nevcairiel
30th November 2011, 22:13
What happens if "Use stream aspect ratio" is unticked? Does it use the aspect ratio specified in the container instead? Might be useful for me since I have a few MPEG2 files that are correctly specified as 16:9 in the MKV container but the stream says they're something like 2.35:1 for some reason.

It then uses whatever value the source filter sends, most likely a container value if set.

Reino
30th November 2011, 22:20
- Fixed a timestamping bug in the new MKV demuxerPerfect! Playback is all smooth now. Thanks a lot for the 2 small fixes.

Perhaps "only those people using ffdshow for audio decoding" are a majority for all we know. I can understand you'd like people to use all 3 of your filters, but let's say if you'd only allow the LAV Splitter to connect to the LAV Audio/Video Decoder, I don't think it would've been such a success as it is now.

DragonQ
30th November 2011, 22:22
Yeah ffdshow has so many options that it'll be hard to beat to be honest. LAV is fantastic for me due to CUVID support and great hardware de-interlacing but I like the custom channel mapping that ffdshow offers me in the audio department, for now at least.

Metasyntactic
30th November 2011, 22:49
Hi all,

First off, i want to thank any of you who work on LAV filters (esp. Nevcariel) for the exceptional work done. LAV has worked amazingly for me and has given me a single install that allows me to watch high def content hardware accelerated on my ION2 from apps like Media Player and Media Center.

That said, there's still a remaining issue that i'm looking for help with.

Right now i can use LAV for nearly all content, except for content with subtitles. for that i use Media Player Classic. While MPC works fine for me, it does mean i can't always use something like Media Center for all my media.

The problem i've run into is that when i try to use LAV along with something to render the subtitles, it seems to suddenly make CPU usage jump to a point where i can't watch 1080p smoothly. My guess is that the subtitles cause things to no longer be hardware accelerated, and then my CPU can't handle it.

I was wondering if people knew of a way to use LAV along with some subtitle renderer that would allow me to still use hardware acceleration and handle 1080p content. I don't need anything fancy as most of my subtitles will be just SRT text form. Also, my subtitles are always embedded, not external.

Any help would be appreciated here.

Thanks much!

CruNcher
30th November 2011, 23:02
LAV Filters 0.42

LAV Splitter
- Fixed a timestamping bug in the new MKV demuxer
- Futher enhancements to explorer thumbnail generation


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.42.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.42.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.42-x64.zip)

Just some small fixes, the first one seemed somewhat important, although it only affects those people using ffdshow for audio decoding..... :)

Both major issues are still resident:

MP4/MOV parser certain H.264 bitstream freezes while playing back (directly exported from FinalCut) (some official edited Apple quicktime trailers, studio files)

MPC-HC hang situation with Mainconcepts Mpeg-2 SDK9 Decoder on certain Player actions (file close,drag and drop new file for playback)

both issues doesn't show up with the Internal MPC-HC TS/PS MP4/MOV parser (state is fully reproducible)

nevcairiel
30th November 2011, 23:16
Both major issues are still resident:


Those are not major issues, they are rather minor - and since they only bother you, i might even call them features. :D

You're welcome to provide something helpful, like a patch to fix the "issues", though!
Last i checked, the Mainconcept codec is not free, either. I'm not going to pay for it, you can donate a license if you want fixes. :)

kalston
1st December 2011, 00:06
What audio device are you using? Exclusive mode should bypass the mixer. What I said implied using DirectSound or shared mode. I don't see a reason to use WASAPI exclusive if you only got stereo, unless you're using HDMI and want your receiver to do the downmixing.

Asus Xonar DS. I believe it is the Xonar drivers that are doing the downmixing rather than Windows.
WASAPI exclusive clearly does not bypass the Xonar mixer like ASIO does since changing the sampling rate or the number of channels in the Asus control panel actually works. With ASIO, I can't do anything to the audio, be it in the Windows settings or the Asus CP.

I don't like Directsound as I don't trust it. I prefer to bypass all the Windows things when possible. I believe I can tell a difference in sound quality (with lossless music) between DS and ASIO/WASAPI and I don't really care whether that's placebo or not. WASAPI exclusive and ASIO also have the huge advantage of muting all the other sounds, which is great for the peace of mind (just like the "fullscreen exclusive mode" in madvr if you see what I mean).

Midzuki
1st December 2011, 01:07
...

MPC-HC hang situation with Mainconcepts Mpeg-2 SDK9 Decoder on certain Player actions (file close,drag and drop new file for playback)

Unless things have changed a lot very-recently, the MPEG decoder from MainConcept is designed to work "best" :p with their own media splitters :mad: Not to mention it's also somewhat slooooowww ;)

OTOH :) , their "outdated" and 8 y-o :eek: PS splitter still works very-well with PDVD9's MPEG decoder :cool: :cool: :cool:

Andy o
1st December 2011, 02:12
Asus Xonar DS. I believe it is the Xonar drivers that are doing the downmixing rather than Windows.

I suspected it was an Asus card. I think you're right. I have a DX.

I don't like Directsound as I don't trust it. I prefer to bypass all the Windows things when possible. I believe I can tell a difference in sound quality (with lossless music) between DS and ASIO/WASAPI and I don't really care whether that's placebo or not. WASAPI exclusive and ASIO also have the huge advantage of muting all the other sounds, which is great for the peace of mind (just like the "fullscreen exclusive mode" in madvr if you see what I mean).
That's OK if you're happy with it, but if it's placebo, while it might not be important to you, is to others if you're requesting actual features on the basis of that belief.

I don't understand why some people don't care to know if it's placebo though, when having that knowledge will either make the "issue" go away, and have it simpler, or it could prove to be an actual issue and may make it easier to resolve it.

SamuriHL
1st December 2011, 02:17
Let's not take this too far offtopic, but, it should be noted that because the ASUS was one of the first cards to support PAP, they went overboard in "protecting" the driver. So, it takes control of the ENTIRE audio path. That's great and all, but, not....in a lot of ways.

Andy o
1st December 2011, 02:20
Actually it's not PAP, it's the way Asus cards have worked always. For instance my DX is older than the HDAV cards.

SamuriHL
1st December 2011, 02:21
Seriously? I always assumed it was PAP. That's just sad then. :) I wish the Xonar cards would play Houdini and disappear. :D

Andy o
1st December 2011, 02:56
Dunno, for me it's a nice side effect cause I use it for headphones and can apply Dolby Headphone without having to switch ReClock out of WASAPI mode :)

SamuriHL
1st December 2011, 03:02
I suppose :)

gendouhydeist
1st December 2011, 09:28
just one quick question guys, does the mkv thumbnail generation relies on divx mkv media foundation? cause it ain't generating thumbnails for me. Only on known file extension e.g. .mp4 .avi

nevcairiel
1st December 2011, 10:14
just one quick question guys, does the mkv thumbnail generation relies on divx mkv media foundation? cause it ain't generating thumbnails for me. Only on known file extension e.g. .mp4 .avi

My filters by themself do not generate thumbnails, I only provide the option to use the filters in a thumbnail generator.

gendouhydeist
1st December 2011, 10:20
@nevcairiel
where can I see that option? also is there anyway to generate thumbnails by the current filters? like ffdshow.

kalston
1st December 2011, 10:37
That's OK if you're happy with it, but if it's placebo, while it might not be important to you, is to others if you're requesting actual features on the basis of that belief.

I don't understand why some people don't care to know if it's placebo though, when having that knowledge will either make the "issue" go away, and have it simpler, or it could prove to be an actual issue and may make it easier to resolve it.

I didn't really mean it like that, I could still use a downmixing feature on my XP laptop with an USB soundcard (there I really DO need to downmix, even with DS). And I'm sure there are people who would like to down/up mix as well before sending the signal to their soundcard or a receiver (obviously not everyone has a Xonar like card), and nev did say himself that he would implement it anyway (I was only asking for an ETA, not asking for any additional features).

Proving that there is or isn't a difference between DS/ASIO etc will be hard in most cases I think and thus I'm not even gonna bother trying to do it.
Even if you have a receiver that tells you whether you're outputting bit perfect or not I wouldn't be surprised if telling the difference between bit perfect and not bit perfect were to be impossible for most people - if not everyone. But because I'm an audiophile I do all I can to get the purest possible sound, it's as simple as that. Hence why I use ASIO, WASAPI exclusive and pay attention to the sampling rate settings, digital volume sliders etc.

bjd
1st December 2011, 12:51
The CMedia 8788 based Xonar Cards have their strengths and weaknesses. The strength is the high quality PCM output. I have both a Xonar D2 and an Auzentech Meridian. The Auzentech has had the op-amps swapped out for Burr Brown OPA627s (2 per socket/8 in all) and acts as a high quality 7.1 pre-amp feeding four separate power amps. The weakness though is the handling of SPDIF input/output as it is always passed through the DSP unless using ASIO drivers, so for two channel bit exact WASAPI/KS output another solution is needed in my case the onboard Realtek AL888 which has pretty poor PCM output by comparison but does not mess with the SPDIF providing the DSP/Mixer inputs are disabled. The only downside is the manual SPDIF sample rate selection, but at least I can pass a disguised DTS wave through it.

As for Direct Sound, as the mixer in Vista/Windows 7 always converts and works in 32bit float regardless of the source, it is best to bypass expecially if you have gone to the trouble of installing LAV audio for proper 24 bit audio support ;).

ppp0941
1st December 2011, 14:37
how can I generate thumbnail in win7 x64???
THX

nevcairiel
1st December 2011, 14:40
Let me make that clear one last time:

LAV does NOT generate thumbnails for you!
It never has, and it never will. The Thumbnail generator in Explorer will just use whatever DirectShow filters you have installed to create thumbnails - which could be LAV, but LAV is otherwise in no way related to thumbnails!

kerimcem
1st December 2011, 15:42
not open thumbnail mkv and flv
where option?
x86 win7:(

nevcairiel
1st December 2011, 15:43
I give up, people just don't read.
I wish i could ban people from my own thread for failing basic reading comprehension.

SamuriHL
1st December 2011, 15:50
Holy snikes people are stupid. Basic reading comprehension 101 = FAIL!

kerimcem
1st December 2011, 15:51
I give up, people just don't read.
I wish i could ban people from my own thread for failing basic reading comprehension.

sorry :stupid:my bad english..
http://www.videohelp.com/tools/Icaros
ıcaros works well mkv thumb..

SamuriHL
1st December 2011, 15:52
sorry :stupid:my bad english..
http://www.videohelp.com/tools/Icaros
ıcaros works well mkv thumb..

But that's also not part of LAV Filters. It can USE LAV Filters, but, Nev didn't write it. :)

Paladin77
1st December 2011, 15:55
LOL!

Nev you could suggest doom9 admins give Recognized developers privileges to lets say Recognized developers lol. These have control over their created threads. At least that is what we do at xda developers.

and as kerimcem said. Icaros works well with LAV in thumbnail generation.

gendouhydeist
1st December 2011, 16:02
I've just found a solution to it, use Codec Tweak Tool then enable mkv thumbnails that's it. Though there will be the problem with thumbnail offsets... otherwise use Icaros.
http://www.free-codecs.com/download/codec_tweak_tool.htm

Shark007
1st December 2011, 18:20
otherwise use Icaros.

THIS UPDATE (http://code.google.com/p/lavfilters/source/detail?r=79323509fc684215351dc0a19d164047fcdb1a73) where you added explorer.exe to list of applications breaks Icaros ability to provide thumbnails.

EDIT: The Icaros author has requested that I recant this post until he has time for further testing.

nevcairiel
1st December 2011, 19:01
All that it does is disable subtitles when running under explorer.exe, if it breaks his thumbnails, he is doing it wrong. :P

Midzuki
1st December 2011, 20:23
Video thumbnails in Windows Explorer are pointless,
don't use them,
case solved. :) :p :D

SamuriHL
1st December 2011, 20:29
At the very least, thumbnails have NOTHING to do with LAV Filters...The tools can consume LAV Filters in order to create the thumbnails, I guess, but, players consume LAV Filters, too. :D

T3rm1
1st December 2011, 21:40
I just installed LAV Audio and LAV Splitter and for the first time my AV receiver lights up the DolbyTrueHD sign, yay!
Unfortunately I discovered that the audio is slightly out of sync. It's not very much, maybe 50ms.
LAV Audio has an option "Auto A/V Sync correction". What does it do? Does it turn on the HDMI Lib Sync Feature?

I discovered the 50 ms delay on a scene with gunfire. If I play it on VLC and on my pc monitor with sound coming from pc speakers it matched perfectly. However on my TV with sound coming from the AV receiver it's slightly off.

:(

Paladin77
1st December 2011, 23:14
I just installed LAV Audio and LAV Splitter and for the first time my AV receiver lights up the DolbyTrueHD sign, yay!
Unfortunately I discovered that the audio is slightly out of sync. It's not very much, maybe 50ms.
LAV Audio has an option "Auto A/V Sync correction". What does it do? Does it turn on the HDMI Lib Sync Feature?

I discovered the 50 ms delay on a scene with gunfire. If I play it on VLC and on my pc monitor with sound coming from pc speakers it matched perfectly. However on my TV with sound coming from the AV receiver it's slightly off.

:(

Well I am an ultra super newbie to this. So anyone, feel free to intervene and correct me am Still learning slowly lol. But may I suggest you trying reclock (http://www.free-codecs.com/download/ReClock_DirectShow_Filter.htm) to fix your sound sync issues. Here is a good tutorial for it: http://www.homecinema-hd.com/reclock_en.html

hope it helps

pirlouy
2nd December 2011, 00:35
@T3rm1: Maybe this delay is caused by your AVR being slow to decode DolbyTrueHD ! If you disable bitstreaming, do you have this delay ?

Andy o
2nd December 2011, 02:23
I'd say he's running two different audio devices and displays so anything's possible. The obvious way to test would be to decode with LAV both times, and not with switch to VLC (or not switch monitors/audio devices when switching to VLC). T3rm1, are you running different refresh rates for the two scenarios you describe? Is the audio delayed, or the video? If so to the former, try running your TV at the same rate as the monitor and see if it's the same then.

TDiTP_
2nd December 2011, 03:00
Lav Audio decodes this TrueHD 6.1 configuration:
http://thumbnails66.imagebam.com/16229/dc8211162281602.jpg (http://www.imagebam.com/image/dc8211162281602)
to WAVE_FORMAT_EXTENSIBLE with MaskChannels = 0x1060F (FL FR FC LF SL SR TBC). I think it isn't properly, there is no 'Top Back Center' in such configuration. Correct Mask must be 9743 (FL FR FC LF SL SR TFC). BTW eac3to uses just such mask for decoding this type of THD 6.1.

The same story for this configuration:
http://thumbnails59.imagebam.com/16229/db0a9a162281605.jpg (http://www.imagebam.com/image/db0a9a162281605)
Lav Audio decodes it to WAVE_FORMAT_EXTENSIBLE with MaskChannels = 0x1060F (FL FR FC LF SL SR TBC). I think mask must be 3599 (FL FR FC LF SL SR TC). Again, eac3to uses the same.

I have done samples for each configuration: http://www.mediafire.com/?gxd8v5vb3ck8a6d (there're input wavs and output THDs).

mr.duck
2nd December 2011, 03:23
I have TS files where the subtitles do not show. They are from DVB-T recordings. It could be a bug in LAVSplitter or maybe it needs to be supported in MPC HC subtitle renderer? I could provide a sample.


Plus here's a handy little INSTALL.BAT file (rather than having 3 separate install .BATs)...

FOR %%G IN (*.ax) DO (regsvr32 %%G)

chapas
2nd December 2011, 06:12
Hello nevcairiel.
I was using LAV Splitter 0.37 with nice results, and I updated to 0.42 and now seeking in mkv files has delays. It happens with all h264 files it seems.
I'm decoding audio with ffshow, and video with CoreAVC.

The one I tried is:
Video: MPEG4 Video (H264) 1280x720 23.98fps [Video]
Audio: Dolby AC3 48000Hz 6ch 384kbps [Audio]

LAV Splitter 0.37 + CoreAVC = Fast seeking
LAV Splitter 0.42 + CoreAVC = Sloppy seeking
LAV Splitter 0.42 + ffdshow video = Fast seeking
Haali Splitter + CoreAVC = Sloppy seeking

Maybe it's the new splitter?

Sorry if this was mentioned or known, but I read a couple pages back and nothing came up.

Thanks.

nevcairiel
2nd December 2011, 09:27
Lav Audio decodes this TrueHD 6.1 configuration to WAVE_FORMAT_EXTENSIBLE with MaskChannels = 0x1060F (FL FR FC LF SL SR TBC). I think it isn't properly, there is no 'Top Back Center' in such configuration. Correct Mask must be 9743 (FL FR FC LF SL SR TFC). BTW eac3to uses just such mask for decoding this type of THD 6.1.

The same story for this configuration:
Lav Audio decodes it to WAVE_FORMAT_EXTENSIBLE with MaskChannels = 0x1060F (FL FR FC LF SL SR TBC). I think mask must be 3599 (FL FR FC LF SL SR TC). Again, eac3to uses the same.

Thanks, i found the problem and a patch to solve it, will apply it later, it should make all "unusual" channel layouts behave more sanely.
Not sure which typical speakers those should be output to, though - who really has a TFC or TC speaker? :d

XadoX
2nd December 2011, 11:45
Can the LAV Video decoder use DXVA or CUVID?

golagoda
2nd December 2011, 11:58
Can the LAV Video decoder use DXVA or CUVID?

Yes it can, there's an option to enable CUVID hardware decoding in the lav video options... it's set to not be used by default though since it only works on Nvidia GPU's.

XadoX
2nd December 2011, 12:53
Ok thx for the feedback.

dann23
2nd December 2011, 13:23
Yes it can, there's an option to enable CUVID hardware decoding in the lav video options... it's set to not be used by default though since it only works on Nvidia GPU's.

we also hope that someday maybe nevcairiel thinks about radeon owners :) and I won't mentions subtitles support because he already feels guilty that many people are using wmp and wmc with lav splitter :D

Mixer73
2nd December 2011, 13:35
we also hope that someday maybe nevcairiel thinks about radeon owners :) and I won't mentions subtitles support because he already feels guilty that many people are using wmp and wmc with lav splitter :D

Actually AMD needs to think about Radeon owners...

Pat357
2nd December 2011, 20:22
Haali Splitter + CoreAVC = Sloppy seeking
That's kind of odd, because the "recent" changes in HMS are the results of a very close corporation between HMS developer and CoreAVC developer(s).
As you certainly know, CoreAVC comes even bundled with the Haali splitter as their default splitter!
Maybe it's the new splitter?
Not sure, but, as I understand it, recent lav-splitter versions are a more "Haali alike" then say v0.37. It could of course as well be an issue with CoreAVC.
I stopped using CoreAVC shortly after the v3.0 release and went to LAV video. I don't think I'll ever consider switching back : CoreCodec is a way too slow for me for fixing issues & releasing bugfixes.
Anyway, I'm currently very happy with LAV (splitter + audio + video) !

chapas
3rd December 2011, 01:20
I have an ATI card, so no hardware acceleration for LAV Video, hence CoreAVC. I read the MKV splitter changed for the latest LAV Filter releases, so I wanted to confirm if the problem is indeed CoreAVC.

nevcairiel
3rd December 2011, 01:28
CoreAVC is known for its slow seeking.

T3rm1
3rd December 2011, 01:33
I'd say he's running two different audio devices and displays so anything's possible. The obvious way to test would be to decode with LAV both times, and not with switch to VLC (or not switch monitors/audio devices when switching to VLC). T3rm1, are you running different refresh rates for the two scenarios you describe? Is the audio delayed, or the video? If so to the former, try running your TV at the same rate as the monitor and see if it's the same then.

The audio plays too late. Same problem with DolbyDTS. TV has same refresh rate.

mkanet
3rd December 2011, 06:10
Hi nevcairiel (and fellow experienced video experts):

I have a 4 year old mystery I've been trying to solve. I have the ability to capture the original mpeg2 transport stream 1080i recordings from my digital cableTV provider's cable box. For some reason, these streams are very difficult to playback smoothly on many devices. They play fine on standalone hardware media playback devices such as sageTV HD300. On my old Nvidia GT8500, these files played back perfectly as well.

However on devices that can't play it back correctly, they playback with stutter/judder. I have seen this on a few different PCs (Nvidia 8800GT, 9800GT, GT 545)

I just recently played back these files with the latest LAV Video decoder + CUVID + Nvidia GT545.

I used Reclock to see what framerate LAV Video is decoding at... and, I think I may have found the problem (or at least one problem). The frame rate for the same media file changes relatively frequently anywhere from 24fps to 47.952fps to 59.940 to 60.000fps throughout the video. If I have LAV Aggressive Deinterlacing enabled, the FPS starts changing much more frequently; sometimes within just a couple of seconds.

When the video is detected at 24.000fps, the video plays back smoothly. However, it doesn't stay on that FPS for very long.

Could you please try both samples below to see if there's a clever way to stabilize the FPS for this type of media WITHOUT adversely affecting other media files that already play back correctly? I am guessing the correct FPS is supposed to be 24fps; since that offers the most stable playback on my PC.


http://www.filedropper.com/dexter-sinofomission
http://www.filedropper.com/missionimpossible_1


Thanks a million,
MKANET

Andy o
3rd December 2011, 07:33
Haven't downloaded yet, but from the titles, it's certainly telecined content. I could do IVTC with CUVID deinterlacing and decimating with an avisynth script in ffdshow's processor (I think it was tdecimate). Right now I'm back on AMD though.

mkanet
3rd December 2011, 08:28
Hi Andy, Nvidia IVTC doesnt work on this type of content like it does with other telecined digital TV content. I'm hoping someone here can figure out a way to play these files back automatically in directshow; just like other telecined content that does playback correctly. I dont want to add processing to other files that dont need it though. The interesting thing is even my old junky Nvidia 8500GT which could barely do inverse telecine for 1080i did it just fine.. smooth as silk; and, very sharp. It would be nice to know what makes these types of files so special. Comcast has been using this format for over a decade on their non-local TV channels.

Haven't downloaded yet, but from the titles, it's certainly telecined content. I could do IVTC with CUVID deinterlacing and decimating with an avisynth script in ffdshow's processor (I think it was tdecimate). Right now I'm back on AMD though.

Andy o
3rd December 2011, 08:43
What software/filters were you using with the 8500GT to have IVTC?

mkanet
3rd December 2011, 08:58
Nothing fancy. All mpeg2 decoders with hardware acceleration enabled played these files back with no problem on the 8500GT. I vaguely remember using Nvidia Purevideo HD mpeg 2 decoder and SageTV's mpeg2 decoder (I think it's based off Mediaconcepts mpeg2 decoder. There were no LAV based video decoders back then. Intrestingly, the 8800GT; which was relatively close to the 8500GT in decoding capabilities had the same kind of stuttering issues my brand new display adapter has with this kind of media.

What software/filters were you using with the 8500GT to have IVTC?

chaddawkins
3rd December 2011, 09:41
LAV Audio playback is noticeably quieter than when I play movies with AC3Filter for every type of audio. Why? Is there some way to change this? Gain?
thanks

EDIT:
My setup - computer to tv via hdmi, tv to soundbar via optical, soundbar to sub via wireless
I barely hear anything coming from the sub.

SoBizarre
3rd December 2011, 10:01
Dexter clip (http://www.filedropper.com/dexter-sinofomission) posted by mkanet plays (almost) smoothly using PotPlayer internal MPEG2 decoder, while using LAV decoder makes it unwatchably choppy. Also, Reclock is recognizing video stream as 23.976 fps and reports changing playback speed to 24fps, while madVR is reporting file being 29,970fps. Why is all that? :confused:

dead_screem
3rd December 2011, 13:15
this probly has to do with pulldown being used but not flagged/flagged improperly in the stream. nev has done work in the past to get dvd's with non-flagged pulldown playing back right, but without the ivtc so you won't get the 24fps playback :( however lav still fails with hd mpeg2 content. you can get these to play smoothly by enabling the "treat as progressive" option, but you'd have to disable it again to get actual interlaced content working again...
fwiw mpc-hc's internal mpeg-2 decoder (libmpeg2) always plays back such content correctly.

kasper93
3rd December 2011, 15:57
There is bug with internal MPC-HC mpeg2 splitter and LAV Video. Audio goes out of sync. With any other video decoder it works fine. I use lav splitter anyway, but I think you should know about this bug.

nevcairiel
3rd December 2011, 17:05
Could you please try both samples below to see if there's a clever way to stabilize the FPS for this type of media WITHOUT adversely affecting other media files that already play back correctly? I am guessing the correct FPS is supposed to be 24fps; since that offers the most stable playback on my PC.

I tried downloading the files several times with different browsers, but all it got me were broken files (everytime in a different size!)
Please use a better file hoster.

Anyway, the problem with such files in general is that when broadcast they are quite commonly mixed progressive and telecined content - with one additional problem: Everything is coded as interlaced.
Its basically impossible to properly detect this. The only solution for "fluid" playback is to simply use half-rate deinterlacing, which means it'll deinterlace the frames, removing all interlacing artifacts, but not add additional frames. This can be done with the CUVID decoder or YADIF deinterlacing (set it to 25p/30p mode), if you rely on the renderer for deinterlacing, you cannot do this.

MPC-HCs MPEG-2 decoder by default uses its own deinterlacing, and does not send the flags to the renderer. If it would, you would probably see similar issues.

Overall, such content is just horrible, and i have no real interest and spending hours trying to fix it, i'll leave that to people that get paid to deal with crappy designs like this. (I don't watch such content either, our broadcasts are pretty sane - also, madVR seems to hide the timestamp jitter pretty well, i only really see issues with EVR-CP)

fastplayer
3rd December 2011, 17:24
I've uploaded one file to a more reliable hoster. The other one is impossible to download:
http://www.mediafire.com/?vp7lg2182d4fqag

clsid
3rd December 2011, 17:30
Can it be solved by manually overriding the (incorrect) flags?
A future tray icon could harbor such an option, shown only for content that is known for possibly having incorrect flags (like MPEG-2). For example submenu called "Interlacing" with entries like Auto-detect/Assume Progressive/Assume Interlaced/Assume IVTC. The override naturally only applies to current playback session and resets to default audio-detect for next file. Changing the setting should give on-the-fly effect, or auto perform a seek to make it apply.

sneaker_ger
3rd December 2011, 17:54
Here's the other sample:
https://rapidshare.com/files/1326861093/Dexter-SinofOmission.zip

nevcairiel
3rd December 2011, 18:01
What could be done to make them play better would be to just apply the soft-telecine if its flagged properly, resulting in a hard-telecined fluid 30fps stream. If someone wanted, they could probably IVTC that back then with AviSynth or such.
This is however a post-processing task IMHO. I set the repeat flags on the output samples, so a post-processor could handle it completely.

mr.duck
3rd December 2011, 22:39
nevcairiel, do you know much about DVB-T subtitle support in LAV splitter/MPC HC ?

I have TS files where the subtitles do not show. They are from DVB-T recordings. It could be a bug in LAVSplitter or maybe it needs to be supported in MPC HC subtitle renderer? I could provide a sample.


Plus here's a handy little INSTALL.BAT file (rather than having 3 separate install .BATs)...

FOR %%G IN (*.ax) DO (regsvr32 %%G)

mkanet
4th December 2011, 00:55
Hi NevCariel (and others), sorry for the previous unreliable file hoster. I posted on two new file hosting sites below; which should hopefully be better. I really would like some smart people to personally try to play these files.

Maybe I might have given the wrong idea... These videos aren't just a couple of unique video encodings that I'm trying to playback. Regardless of how bad of an encoding these files are, millions of people play this exact video encoding format every day 24/7 (for the last several years...and for many more); as this is the native format that the largest cable TV provider in the United States uses... Comcast. At least, this is EXACTLY how they encode all their "Premium HD" channels (not local channels). Various types of cableboxes and hardware "HD" media players have no problems decoding these files at full quality (using ALL frames). Hardware based mpeg2 decoding on modern Nvidia display adapters may need some help (not sure about ATI or Intel).

I'm hoping someone here can find a clever way to find an automatic directshow playback solution that playback these files and other files completely automatic (system-built filtergraghs and respective filter settings) without compromising picture quality; just like standalone HD media players. Ideally, having LAV Video decoder handle these types of encodings properly/automatically without quality loss.

Here they are...

http://hotfile.com/dl/136663686/0a58c79/Dext.zip.html
http://hotfile.com/dl/136662412/0ddc195/MissionImpossible.zip.html

http://www.megaupload.com/?d=8D8Q1Q5G
http://www.megaupload.com/?d=D8X708QK

Thanks so much! I would be forever grateful if there's a full quality automated directshow solution for these and other more standard files in hopefully a single video decoder.
-MKANET
I tried downloading the files several times with different browsers, but all it got me were broken files (everytime in a different size!)
Please use a better file hoster.

Anyway, the problem with such files in general is that when broadcast they are quite commonly mixed progressive and telecined content - with one additional problem: Everything is coded as interlaced.
Its basically impossible to properly detect this. The only solution for "fluid" playback is to simply use half-rate deinterlacing, which means it'll deinterlace the frames, removing all interlacing artifacts, but not add additional frames. This can be done with the CUVID decoder or YADIF deinterlacing (set it to 25p/30p mode), if you rely on the renderer for deinterlacing, you cannot do this.

MPC-HCs MPEG-2 decoder by default uses its own deinterlacing, and does not send the flags to the renderer. If it would, you would probably see similar issues.

Overall, such content is just horrible, and i have no real interest and spending hours trying to fix it, i'll leave that to people that get paid to deal with crappy designs like this. (I don't watch such content either, our broadcasts are pretty sane - also, madVR seems to hide the timestamp jitter pretty well, i only really see issues with EVR-CP)

mindbomb
4th December 2011, 01:56
i have a question.
my friend is watching the movie up, which has a 6.1 dts-hd es matrix.

he says it works, though i thought lav audio doesnt work with dts es?

Andy o
4th December 2011, 04:42
Both LAV and the dtsdecoderdll.dll do regular DTS-ES just fine, but not ES matrix. That disc has a dts-es matrix core, but the DTS-HD MA audio appears to be 5.1. I never saw the point of DTS-ES matrix, and luckily neither did most disc producers, cause there's very few discs with that audio.

mkanet
4th December 2011, 05:21
I didn't believe it until I saw it with my own eyes. Potplayer plays it very well and very sharp in detail using it's internal mpeg2 decoder with hardware acceleration without any post processing. It looks like Potplayer might have been tested with these types of interlaced television files.

NevCariel, please... could you try to see why Potplayer's FFmpeg-based hardware decoding can; and, see if it's possible to get LAV video decoder to decode these types just as well? I would very, very much appreciate it.

http://i67.photobucket.com/albums/h283/mkanet/th_Potplayer.jpg (http://i67.photobucket.com/albums/h283/mkanet/Potplayer.jpg)

Dexter clip (http://www.filedropper.com/dexter-sinofomission) posted by mkanet plays (almost) smoothly using PotPlayer internal MPEG2 decoder, while using LAV decoder makes it unwatchably choppy. Also, Reclock is recognizing video stream as 23.976 fps and reports changing playback speed to 24fps, while madVR is reporting file being 29,970fps. Why is all that? :confused:

Nozomi
4th December 2011, 06:00
How can I downmix AC3 5.1 to stereo 2 speakers output in my Windows 7 notebook with LAV? Do I need to install another directshow mixer? In this case how can I connect LAV 6 channels output to this mixer?

v0lt
4th December 2011, 06:57
How can I downmix AC3 5.1 to stereo 2 speakers output in my Windows 7 notebook with LAV?
http://i.imgur.com/R9m4ps.png (http://imgur.com/R9m4p)

Mixer73
4th December 2011, 07:13
I didn't believe it until I saw it with my own eyes. Potplayer plays it very well and very sharp in detail using it's internal mpeg2 decoder with hardware acceleration without any post processing. It looks like Potplayer might have been tested with these types of interlaced television files.

Ponder, I play almost all MPEG2 content and I use PotP but I'm in the habit of deleting all the internal decoders, maybe I shouldn't.

Then again nevcairel is a real smart cooking and quick draw developer :0

nevcairiel
4th December 2011, 08:57
NevCariel, please... could you try to see why Potplayer's FFmpeg-based hardware decoding can; and, see if it's possible to get LAV video decoder to decode these types just as well? I would very, very much appreciate it.

You're using software decoding, not hardware. (See the hardware acceleration on the right, MPEG2 says Disabled)
Switch LAV Video to software for MPEG-2 as well, and playback should be better. At least for me, in software mode it seemed acceptable, even fine.

I have no control over CUVID hardware decoding, either it works or it doesnt - if it doesnt, complain to NVIDIA. :p

Dogway
4th December 2011, 09:46
I had some problems with lavfilters, first it couldn't properly render a corrupted mp3, being corrupted there wasn't much to discuss but winamp had no problems whatsoever so that made me think it could be improved. I deleted it by mistake, even when I had in mind to keep it for you to check :/

Also please check the clip in this thread (http://forum.doom9.org/showthread.php?t=163014&highlight=small), in graphedit I could split audio and decode it, but not video despite I was using ffdshow with its MS Video->libavcodec module setted on. So my guess is LAV Splitter wasn't communicating well with ffdshow.

At last there is something very annoying lately. I don't think its MPC-HC fault but I explain. When I have a file with a video and audio stream, and in the same folder another audio file with the same name, when I open the video I get LAV duplicates for Splitter and Audio. This is very strange and makes both audio play at the same time without the ability to disable, or select just one of them. Before it was one LavSplitter and inside you could see all the possible streams and choose alike.

nevcairiel
4th December 2011, 10:39
Also please check the clip in this thread (http://forum.doom9.org/showthread.php?t=163014&highlight=small), in graphedit I could split audio and decode it, but not video despite I was using ffdshow with its MS Video->libavcodec module setted on. So my guess is LAV Splitter wasn't communicating well with ffdshow.


I tried to play it, and it crashed in ffdshow somewhere, my guess is that ffdshow just doesn't like that format much.
Even crashes with MPC-HCs internal AVI splitter or the MS AVI splitter.

I could probably try adding support for this format to LAV Video, though.


At last there is something very annoying lately. I don't think its MPC-HC fault but I explain. When I have a file with a video and audio stream, and in the same folder another audio file with the same name, when I open the video I get LAV duplicates for Splitter and Audio. This is very strange and makes both audio play at the same time without the ability to disable, or select just one of them. Before it was one LavSplitter and inside you could see all the possible streams and choose alike.

Thats MPC-HCs fault. It opens external audio streams so you can choose in the player. MPC-HCs UI isn't really all that good for it, though.

To stop multiple tracks playing at the same time, you need to enable MPC-HCs internal audio switcher.

Dogway
4th December 2011, 11:26
I checked now with an "old" version I had 0.38 and it was the same, same when using ffdshow so I must have been mistaken with mkv playback behaviour, or when I had audio switcher on by default for audio delay, not now anymore since you added it to lavaudio (I use it a lot so thanks!) so enabling audio switcher is yet another resources hog for the player I thought I had got ridden since then. Do you recommend another player which LAVFilters work best?

Also it's really pitty I deleted the mp3 because it was a good straight to the point case that I don't happen to encounter much. I tried to get it back with recuva but nothing. I will come back again if I find something worth for you to improve the filters.

ryrynz
4th December 2011, 12:41
Nevcairiel, I have a flash video that causes the media player stop responding. If I playback and enter the LAV settings during playback then exit via OK, Cancel or Apply and then seek afterwards it occurs.
Tested with both the latest SVN and official release MPC and Potplayer using LAV 0.42. I gave the latest nightly LAV a go as well but no change, sample below.

http://www.mediafire.com/?246bybvmhpyhakc

nevcairiel
4th December 2011, 13:55
Nevcairiel, I have a flash video that causes the media player stop responding. If I playback and enter the LAV settings during playback then exit via OK, Cancel or Apply and then seek afterwards it occurs.
Tested with both the latest SVN and official release MPC and Potplayer using LAV 0.42. I gave the latest nightly LAV a go as well but no change, sample below.

http://www.mediafire.com/?246bybvmhpyhakc

The only "issue" i see with this file is that its been cut after about 2 minutes of time, so seeking after that will skip to the end, of course. I cannot reproduce any issues if i limit my seeking to the first 2 minutes.

Reino
4th December 2011, 14:08
I tried to play it, and it crashed in ffdshow somewhere, my guess is that ffdshow just doesn't like that format much.
Even crashes with MPC-HCs internal AVI splitter or the MS AVI splitter.

I could probably try adding support for this format to LAV Video, though.Known problem (http://forum.doom9.org/showthread.php?p=1542893#post1542893).
LAV Splitter works fine with FFDShow (< rev3823) on CRAM and RLE video though.

clsid
4th December 2011, 16:21
Those are paletted formats. Libavcodec expects the palette in a SideData packet. It must be extracted from the extradata and put in a sidedata packet. When using libavfromat that might get done automatically? That is possibly why it works with LAV splitter and not with MS splitter.

Paladin77
4th December 2011, 20:11
For the OCD :p there is a typo in LAV splitter description of option: Remove Audio Decoder on Audio stream switch.

Switching is misspelled switchign :D

Description: Remove the old Audio Decoder from the playback chain before switching (misspelled Switchign) the audio stream, forcing Directshow to select a new one.

This option ensures that the preferred decoder is always used, However it does not work properly with all players.

ryrynz
4th December 2011, 23:13
I cannot reproduce any issues if i limit my seeking to the first 2 minutes.

Actually nevermind, it appears to be an issue on this PC, thanks.

mkanet
5th December 2011, 02:03
Actually lav software decoder is pretty bad for this kind of video too; especially with YADIF; at least on my machine.

If someone is smart/kind enough to figure out a way to play these media files perfectly in directshow with the hardware I have, I would gladly donate good money for it via paypal.

You're using software decoding, not hardware. (See the hardware acceleration on the right, MPEG2 says Disabled)
Switch LAV Video to software for MPEG-2 as well, and playback should be better. At least for me, in software mode it seemed acceptable, even fine.

I have no control over CUVID hardware decoding, either it works or it doesnt - if it doesnt, complain to NVIDIA. :p

fastplayer
5th December 2011, 07:38
Switching is misspelled switchign :D
I've reported (http://forum.doom9.org/showthread.php?p=1520417#post1520417)this already a few months ago. It's line 204 now in /demuxer/LAVSplitter/SettingsProp.cpp.

nevcairiel
5th December 2011, 07:41
Actually lav software decoder is pretty bad for this kind of video too; especially with YADIF; at least on my machine.

I didn't say enable YADIF.
Disable YADIF, disable CUVID, Enable NV12 output, disable any post-processing filters (NO ffdshow raw or anything else), use a renderer that can deal with this kind of thing, like EVR. Its the only way to get even half-good playback of such files.

Anyway, i can only repeat myself:
I have no interest in working on such cases at this time, because its highly annoying and i personally have 0 content of such nature. To properly handle it, you would need a post-processor that can deal with soft and hard telecine mixed into one, which is not a trivial task.
My resources are very limited, so you'll forgive me when i work on stuff that i consider fun to be working on. :)

e-t172
5th December 2011, 08:58
I have no interest in working on such cases at this time, because its highly annoying and i personally have 0 content of such nature. To properly handle it, you would need a post-processor that can deal with soft and hard telecine mixed into one, which is not a trivial task.

Unfortunately, mixing soft and hard telecine (sometimes even switching between the two several times per second) is very common on US HDTV broadcasts. For example, I use CBS as my "torture test" for IVTC.

My experimental ffdshow IVTC filter (http://forum.doom9.org/showpost.php?p=1505475&postcount=13623) was specifically designed to handle this kind of nightmare; mkanet, you might want to give it a try. No promises though.

madshi
5th December 2011, 17:04
sometimes even switching between the two several times per second
Ouch, that's nasty! You don't happen to have a sample available like that?

Pat357
5th December 2011, 17:48
[QUOTE=e-t172;1543090
My experimental ffdshow IVTC filter (http://forum.doom9.org/showpost.php?p=1505475&postcount=13623) was specifically designed to handle this kind of nightmare; mkanet, you might want to give it a try. No promises though.[/QUOTE] "Not Found"
"The requested URL /files/ffdshow-r3867-pulldown-et172.7z was not found on this server."
Apache/2.2.21 (Debian) Server at e-t172.net Port 80

Do you maybe have another link for this ? I'd really like to test it.
Any plans to make an Avisynth 2.6x plugin ? I think it should not be too much work and this would make it far more universal & portable.

VipZ
5th December 2011, 19:08
With latest compiled LAV Filters I am getting the following message when closing down PotPlayer if it was bitstreaming,
http://dl.dropbox.com/u/19338638/Bitstream%20crash.JPG

Was ok with 0.42

nevcairiel
5th December 2011, 20:07
Any plans to make an Avisynth 2.6x plugin ? I think it should not be too much work and this would make it far more universal & portable.

Avisynth is not capable to handle mIxed content like that because it lacks frame duration information, iirc.

mkanet
5th December 2011, 21:39
Hi e-t172, thanks so much. I would love to try it. Could you please post an updated link to it? Your link points to a post to a another link which refers to yet another link, which ultimately points to a direct link to a file that doesnt exist anymore:
http://www.e-t172.net/files/ffdshow-r3867-pulldown-et172.7z

http://e-t172.net/files/

Unfortunately, mixing soft and hard telecine (sometimes even switching between the two several times per second) is very common on US HDTV broadcasts. For example, I use CBS as my "torture test" for IVTC.

My experimental ffdshow IVTC filter (http://forum.doom9.org/showpost.php?p=1505475&postcount=13623) was specifically designed to handle this kind of nightmare; mkanet, you might want to give it a try. No promises though.

nevcairiel
5th December 2011, 23:01
With latest compiled LAV Filters I am getting the following message when closing down PotPlayer if it was bitstreaming

Should be fixed again

VipZ
5th December 2011, 23:08
Should be fixed again

Thanks for the quick fix as always :)

Which MinGW do you recommend to build with now?

nevcairiel
5th December 2011, 23:09
Which MinGW do you recommend to build with now?

Why would that change? I still use the same MinGW i used month ago.

e-t172
5th December 2011, 23:10
Hi e-t172, thanks so much. I would love to try it. Could you please post an updated link to it? Your link points to a post to a another link which refers to yet another link, which ultimately points to a direct link to a file that doesnt exist anymore

Sorry for that. I just fixed the link, it should work now.

Ouch, that's nasty! You don't happen to have a sample available like that?

Unfortunately, not anymore. I used to have some when I developed the filter some time ago, but I lost them. If you can get your hand on some 1080i recordings of TV shows broadcast on CBS, you'll probably see some of this madness. I remember when I used CBS recordings of "The Unit" to test my filter, they made me completely redesign the entire thing just so it could handle such huge amounts of insanity.

I believe there is some kind of drug out there which makes engineers randomly switch telecine modes during broadcast. Or maybe there's some children locked in the production who spend their time playing with the buttons on some console. I don't know. Maybe these engineers got their ideas from the ones who produce telecined Blu-rays in Japan.

VipZ
5th December 2011, 23:11
Why would that change? I still use the same MinGW i used month ago.

Was wandering if 4.6.2 was preferred over 4.6.1 now or not

SamuriHL
5th December 2011, 23:14
Sorry for that. I just fixed the link, it should work now.



Unfortunately, not anymore. I used to have some when I developed the filter some time ago, but I lost them. If you can get your hand on some 1080i recordings of TV shows broadcast on CBS, you'll probably see some of this madness. I remember when I used CBS recordings of "The Unit" to test my filter, they made me completely redesign the entire thing just so it could handle such huge amounts of insanity.

I believe there is some kind of drug out there which makes engineers randomly switch telecine modes during broadcast. Or maybe there's some children locked in the production who spend their time playing with the buttons on some console. I don't know. Maybe these engineers got their ideas from the ones who produce telecined Blu-rays in Japan.

I might be able to grab a sample off my TiVo Wednesday night. MPEG2 HD 1080i. On CBS. Is that what you're referring to that's all messed up? If so I can grab my Survivor recording off the TiVo and split out a few hundred megs and output it as an MPG file if that'd help?

e-t172
5th December 2011, 23:20
Well, it's not always like that. If I remember correctly, most of the time it's just switching from time to time (like every 10 minutes of so). You'll probably have to record for a long time to catch a "insane fast-switching" moment. Maybe that just happens when they let the children unattended in the production room.

SamuriHL
5th December 2011, 23:26
That's not easy to find then. UGH.

mkanet
6th December 2011, 00:13
I tried every single combination possible of settings (along with EVR); but unfortunately either saw intermittent stutter during scene panning or deinterlace combing artifacts or both. I definitely dont blame you for not wanting to work on a solution if you dont need to play these types of files. I can't even comprehend how much work would be involved for getting playback to be smooth with LAV Video decoder.

Anyway, I'll ask around avsforum to see if someone might be interested in helping me play these types of files back smoothly/clearly via a directshow based solution using existing directshow filters (ie avisynth, ffdshow, etc).

I really appreciate your time and effort for LAV filters!
-MKANET

I didn't say enable YADIF.
Disable YADIF, disable CUVID, Enable NV12 output, disable any post-processing filters (NO ffdshow raw or anything else), use a renderer that can deal with this kind of thing, like EVR. Its the only way to get even half-good playback of such files.

Anyway, i can only repeat myself:
I have no interest in working on such cases at this time, because its highly annoying and i personally have 0 content of such nature. To properly handle it, you would need a post-processor that can deal with soft and hard telecine mixed into one, which is not a trivial task.
My resources are very limited, so you'll forgive me when i work on stuff that i consider fun to be working on. :)

mkanet
6th December 2011, 03:15
Mystery resolved! Thanks to an AVS forum member for catching this and pointing me to this:

http://experts.windows.com/w/experts_wiki/71.aspx

The 29/59 Frame Rate Issue

Solution:
There is only one true solution to this problem: Encode the video with the correct metadata to begin with. The solution is the responsibility of the entity that encoded the video, which means contacting the broadcaster, cable network, or cable company that encoded the video and working with their engineers to resolve the issue.

Workaround
In lieu of attempting the solution listed above, there is a workaround available. A number of GPUs have been identified as able to play back content with the bad frame rate metadata without stuttering or other adverse effects, provided there are no other issues with the system and the correct settings are applied. Note: Other issues and/or incorrect settings in the GPU software may cause stuttering and/or other adverse effects.
Note to wiki editors: Please ensure you have confirmed smooth playback with content that switches frame rates between 29.97 Hz and 59.9401 Hz before adding GPUs to this list.

Display adapters that can switch interlacing on/off quick enough.

NVIDIA

GeForce 8600 GTS
GeForce 9300
GeForce 9400 (including ION platforms)
GeForce GT 430
GeForce GT 440 (same core as 430)
ATI

Radeon HD 4200
Radeon HD 4550
Radeon HD 4650
Radeon HD 5450 with Dynamic Contrast Adjustment turned off
Radeon HD 6850
Intel

Core i3 (Clarkdale)

dpks
6th December 2011, 04:53
First off, thanks to nevcairiel for all your hard work on LAV Filters, very much appreciated.

Question for you - how hard would it be to add RAW YUV input support to LAV Video Decoder? e.g. MEDIASUBTYPE_YUY2, MEDIASUBTYPE_YV12, MEDIASUBTYPE_NV12, etc. I'd settle for just one of those, whichever is easiest, and can do any required colorspace conversion beforehand.

My application captures interlaced (480i, 576i, or 1080i) from a video camera source, and I want to deinterlace it immediately before resizing and encoding. It'd be awesome if I could use LAV's CUDA or YADIF support to do this.

I'm somewhat familiar with DirectShow coding (but not so much with libav* stuff) - if you give me some rough pointers I could even take a stab at it and contribute the patch back.

nevcairiel
6th December 2011, 07:42
Question for you - how hard would it be to add RAW YUV input support to LAV Video Decoder? e.g. MEDIASUBTYPE_YUY2, MEDIASUBTYPE_YV12, MEDIASUBTYPE_NV12, etc. I'd settle for just one of those, whichever is easiest, and can do any required colorspace conversion beforehand.


It probably wouldn't be extremely hard, however LAV Video Decoder is focused on being a decoder, not a post-processor a this time.
Once the decoding functionality is finished (or at least closer to finished), this may change, right now i have no interest in accepting raw video, though.

Right now, you're probably better off using ffdshow as a post-processor.

PS:
While using YADIF would be possible, i'm not exactly sure if the CUDA deinterlacer can be fed with raw video - or if it can, how.

madshi
6th December 2011, 10:36
Unfortunately, not anymore. I used to have some when I developed the filter some time ago, but I lost them. If you can get your hand on some 1080i recordings of TV shows broadcast on CBS, you'll probably see some of this madness. I remember when I used CBS recordings of "The Unit" to test my filter, they made me completely redesign the entire thing just so it could handle such huge amounts of insanity.
That's too bad, would have helped my development. I do have a number of broadcasts some of which might be problematic. But it's kinda hard to find the problematic sequences.

I tried every single combination possible of settings
Try DScaler IVTC Mod. Or wait for a future madVR version.

DragonQ
6th December 2011, 11:08
Display adapters that can switch interlacing on/off quick enough.

NVIDIA

...
GeForce GT 430
...
Yay my GPU is on the list! On the other hand, I live in PAL-land so telecine isn't a problem anyway.

nevcairiel
6th December 2011, 13:47
I think i found a rather crude yet theoretically working solution for playback of those mixed soft-telecined / hard-telecined files with CUVID deinterlacing.

A soft-telecine stream typically looks like this:

rtStart: 0, diff: 0, key: 1, repeat: 0, interlaced: 1, tff: 1
rtStart: 333667, diff: 333667, key: 0, repeat: 1, interlaced: 0, tff: 1
rtStart: 834222, diff: 500555, key: 0, repeat: 0, interlaced: 1, tff: 0
rtStart: 1167889, diff: 333667, key: 0, repeat: 1, interlaced: 0, tff: 0
rtStart: 1668333, diff: 500444, key: 0, repeat: 0, interlaced: 1, tff: 1
rtStart: 2002000, diff: 333667, key: 0, repeat: 1, interlaced: 0, tff: 1
rtStart: 2502556, diff: 500556, key: 0, repeat: 0, interlaced: 1, tff: 0
rtStart: 2836222, diff: 333666, key: 0, repeat: 1, interlaced: 0, tff: 0
rtStart: 3336667, diff: 500445, key: 0, repeat: 0, interlaced: 1, tff: 1
rtStart: 3670333, diff: 333666, key: 0, repeat: 1, interlaced: 0, tff: 1

The problem:
- Switching the deinterlacer on/off seems to cause performance issues
- The timestamps of soft-telecined material match a 60 fps stream, instead of 24p (not really a "bad" issue as long as the renderer will match to vsync anyway)
- Double-rate deinterlacing of soft-telecined material causes quite odd results (only the "interlaced: 1" frames above get doubled)

My idea:
- Detect soft-telecined (constant repeat 0/1 switching pattern)
- If detected:
--- Force deinterlacing of all frames, BUT, limit it to 25p/30p mode (no frame doubling) - this eliminates all combing, and doesnt require switching between interlaced/progressive
--- Delay frames with the repeat flag by one field, giving proper 24p timestamps (as an alternative, show frames without the repeat flag one field earlier)

The combination of those options would ensure that there is no combing because the full adaptive deinterlacer is being used, in addition, the timestamps should be smoothed out to ensure smooth playback, even with "stupid" renderers.

The only challenge is properly detecting the soft-telecine. Assuming the pattern is always constant, i could just activate it as soon as i find a repeat flag and turn it off again when there are 2-3 frames without a flag, but that will need investigation on different streams.

Thoughts?
Implementation would probably be somewhat simple.
Note: This mostly only applys to CUVID decoding and deinterlacing. Software decoding is another matter entirely, because i cannot control deinterlacing there.

STaRGaZeR
6th December 2011, 15:09
Quick question: all the filters settings are stored in HKEY_CURRENT_USER\Software\LAV, right?

nevcairiel
6th December 2011, 17:01
Quick question: all the filters settings are stored in HKEY_CURRENT_USER\Software\LAV, right?

Yes, they are.
People have been advocating for splitting x64 and x86, which would mean x86 would move to Software\Wow6432Node\LAV, but i'm still not sure if that will ever happen.

STaRGaZeR
6th December 2011, 17:19
Yes, they are.
People have been advocating for splitting x64 and x86, which would mean x86 would move to Software\Wow6432Node\LAV, but i'm still not sure if that will ever happen.

Gotcha. In that case why not put everything in Software/LAV like ffdshow does with Software/GNU? Makes life easier :p

Shark007
6th December 2011, 17:39
Yes, they are.
People have been advocating for splitting x64 and x86, which would mean x86 would move to Software\Wow6432Node\LAV, but i'm still not sure if that will ever happen.

I would suggest Software\LAV and Software\LAV64
making it simple to incorperate.

Inspector.Gadget
6th December 2011, 22:25
Hello nevcairiel.
I was using LAV Splitter 0.37 with nice results, and I updated to 0.42 and now seeking in mkv files has delays. It happens with all h264 files it seems.
I'm decoding audio with ffshow, and video with CoreAVC.

The one I tried is:
Video: MPEG4 Video (H264) 1280x720 23.98fps [Video]
Audio: Dolby AC3 48000Hz 6ch 384kbps [Audio]

LAV Splitter 0.37 + CoreAVC = Fast seeking
LAV Splitter 0.42 + CoreAVC = Sloppy seeking
LAV Splitter 0.42 + ffdshow video = Fast seeking
Haali Splitter + CoreAVC = Sloppy seeking

Maybe it's the new splitter?

Sorry if this was mentioned or known, but I read a couple pages back and nothing came up.

Thanks.

I can confirm a similar situation on all H.264-in-MKV content with the change from .39 to .41 or .42. The new parser seems to always behave as if "Fast seek (on keyframe)" is disabled in MPC-HC, while the old parser exhibited the expected behavior (instant but less precise seeking when that option was checked, precise but slightly slow/momentarily-out-of-sync seeking when unchecked). I use MPC-HC with all filters disabled, EVR-CP, LAV Splitter + Decoders, ffdshow audio processor to downmix. My computer is definitely capable of decoding complex high-def content in a reasonable time. I don't know for certain whether this is related to the "Fast seek (on keyframe)" option, but the fact that previous versions of LAV Filters were affected by that option, and the current version is not, is suggestive.

Nevilne
6th December 2011, 22:51
Can confirm the keyframe seeking situation with PotPlayer as well.

nevcairiel
7th December 2011, 00:14
What am i doing right with my system that seeking is fast, no matter what? :D
Anyway, the so-called key-frame seeking is kind of broken by design. The Matroska Index it uses only applys to the video stream, however not to audio or subtitles. So to ensure that audio and subtitles can start immediately after the seek as well, it may happen that it seeks shortly before the requested point.

I can try to turn that off if the requested time matches a index entry exactly, i suppose. Edit: So i did.

XadoX
7th December 2011, 09:30
Since I am using LAV splitter for watching my mkv files in MediaPortal the files are stuttering in the first secons. With haali splitter there was no stuttering.

Chillgurke
7th December 2011, 09:33
Hi Nev,

i have one small problem with LAV Audio. Iīm using Mediaportal for Video and TV. I only have this problem by SKY HD Channels.

Watch LIVE TV ( SKY SPORT HD f.e. / Football ) --- normal sound volume
SKY switch to advertisement --- normal sound volume
SKY switch back to the Game --- low sound volume

I have to stop LIVE TV and rebuild the Graph. After this i have normal sound volume.

What i thing is, that during the Advertisment SKY changes the Audio format ( Dolby --> MPEG --> Dolby ). During this LAV seems to have a problem. At this moment i have no sample or exact plan what could couse this.

Please give me an hint, how to search this problem. What do you need ? Sample file ?

nevcairiel
7th December 2011, 10:11
LAV Audio has no concept of volume, it does not adjust it or do anything else of the kind.
Its quite possible that whatever filters come after LAV Audio (maybe a mixer or something like that) get confused by a channel switch (2.0 -> 5.1 -> 2.0, or maybe 5.1 -> 2.0 -> 5.1), and therefor adjust their processing to compensate, but don't adjust it back on the second switch.

If thats the case, the only viable option is to wait until i implement a mixer in LAV Audio, so you don't need to rely on any other filter.
Its impossible to know for sure what causes this, without access to such a system, though.

Chillgurke
7th December 2011, 12:06
I think you are living just right of me ;) .... so you cloud get access to this device :D

nevcairiel
7th December 2011, 14:55
Since I am using LAV splitter for watching my mkv files in MediaPortal the files are stuttering in the first secons. With haali splitter there was no stuttering.

What kind of CPU do you have?
Possibly a somewhat slower model, only Dual-Core, or so?

It may be running very close to a limit there, causing the queue filling at playback start to haven an impact on playback.

XadoX
7th December 2011, 14:59
What kind of CPU do you have?...

AMD Brazos - Dual-Core Processor E350/E350D with an Integrated AMD Radeon HD 6310.

kasper93
7th December 2011, 16:19
nsv stream does not work in MPC-HC with LAV splitter. For example this one: http://antywawamp3-02.eurozet.pl:8600/;stream.nsv It works fine with internal splitter.

Reino
7th December 2011, 17:26
No problem here;

NSV-file --> LAV Splitter --> FFDShow Video Decoder (VP31)
\-> FFDShow Audio Decoder (MP3)

Never mind. Video streams...I have to read better.

nevcairiel
7th December 2011, 17:40
Its not supposed to support streaming.

nevcairiel
7th December 2011, 18:25
Ok test build time:

http://files.1f0.de/lavf/LAVFilters-0.42-10-gabb9707.zip

@mkanet
Please test CUVID mode with your Soft-Telecined material. Enable CUVID, set to Adaptive deinterlacing, and (hopefully) enjoy.

@Inspector.Gadget / Nevilne:
Please test if your key-frame seeking seems to be working better again

@XadoX
Try if anything changed?

fastplayer
7th December 2011, 18:54
Argh! I didn't know that MPC's "Fast seek on keyframe" affects LAV's MKV demuxer too. So I had it disabled...
Now when enabled, seeking doesn't kill my slow 2.4GHz X2 anymore! :)

Nevilne
7th December 2011, 19:27
Keyframe seek works better now, yes. Good way to test it was to hold seek key, in 0.42 it would stop on one frame sometimes.
(my keyboard repeat rate is set high though)

mkanet
7th December 2011, 21:40
Hi nevcairiel, I can provide as many test streams as you need. I want to thank you so much for considering to look into this. I know that if anyone in this world can solve this problem, it would be you. The hard part was getting you interested :)

It would surely make a lot of people happy who record TV using Windows Media Center, Cablecards, R5000 based cableTV boxes. Most people dont even know why this stuttering is happening.

I would be very grateful for any help you can offer. I wont get my hopes too high, but can't help but hope you might have a "LAV" based solution :)


I think i found a rather crude yet theoretically working solution for playback of those mixed soft-telecined / hard-telecined files with CUVID deinterlacing.

A soft-telecine stream typically looks like this:

rtStart: 0, diff: 0, key: 1, repeat: 0, interlaced: 1, tff: 1
rtStart: 333667, diff: 333667, key: 0, repeat: 1, interlaced: 0, tff: 1
rtStart: 834222, diff: 500555, key: 0, repeat: 0, interlaced: 1, tff: 0
rtStart: 1167889, diff: 333667, key: 0, repeat: 1, interlaced: 0, tff: 0
rtStart: 1668333, diff: 500444, key: 0, repeat: 0, interlaced: 1, tff: 1
rtStart: 2002000, diff: 333667, key: 0, repeat: 1, interlaced: 0, tff: 1
rtStart: 2502556, diff: 500556, key: 0, repeat: 0, interlaced: 1, tff: 0
rtStart: 2836222, diff: 333666, key: 0, repeat: 1, interlaced: 0, tff: 0
rtStart: 3336667, diff: 500445, key: 0, repeat: 0, interlaced: 1, tff: 1
rtStart: 3670333, diff: 333666, key: 0, repeat: 1, interlaced: 0, tff: 1

The problem:
- Switching the deinterlacer on/off seems to cause performance issues
- The timestamps of soft-telecined material match a 60 fps stream, instead of 24p (not really a "bad" issue as long as the renderer will match to vsync anyway)
- Double-rate deinterlacing of soft-telecined material causes quite odd results (only the "interlaced: 1" frames above get doubled)

My idea:
- Detect soft-telecined (constant repeat 0/1 switching pattern)
- If detected:
--- Force deinterlacing of all frames, BUT, limit it to 25p/30p mode (no frame doubling) - this eliminates all combing, and doesnt require switching between interlaced/progressive
--- Delay frames with the repeat flag by one field, giving proper 24p timestamps (as an alternative, show frames without the repeat flag one field earlier)

The combination of those options would ensure that there is no combing because the full adaptive deinterlacer is being used, in addition, the timestamps should be smoothed out to ensure smooth playback, even with "stupid" renderers.

The only challenge is properly detecting the soft-telecine. Assuming the pattern is always constant, i could just activate it as soon as i find a repeat flag and turn it off again when there are 2-3 frames without a flag, but that will need investigation on different streams.

Thoughts?
Implementation would probably be somewhat simple.
Note: This mostly only applys to CUVID decoding and deinterlacing. Software decoding is another matter entirely, because i cannot control deinterlacing there.

nevcairiel
7th December 2011, 22:46
I wont get my hopes too high, but can't help but hope you might have a "LAV" based solution :)

Just try the test version posted above, and see how it works for you.

Leader
7th December 2011, 22:57
Found some problems:
1. When you open the Start menu - All Programs - LAV Audio Decoder, the properties of the decoder was called to trim the video (look at screenshot)
2. Is it possible to LAV Audio Decoder automatically included for all audio output selected only the most necessary, as I have, for example, does not support the "32 bit floating point", because of what the decoder does not work. Have long puzzled as to why he could not boot. Thanks in advance.

dead_screem
8th December 2011, 00:10
Ok test build time:

http://files.1f0.de/lavf/LAVFilters-0.42-10-gabb9707.zip

@mkanet
Please test CUVID mode with your Soft-Telecined material. Enable CUVID, set to Adaptive deinterlacing, and (hopefully) enjoy.

@Inspector.Gadget / Nevilne:
Please test if your key-frame seeking seems to be working better again

@XadoX
Try if anything changed?

works great on my 9800GTX with everything I threw at it.
is something like this possible with YADIF?

Also, Should there be an option to disable this?

Inspector.Gadget
8th December 2011, 01:45
Ok test build time:

http://files.1f0.de/lavf/LAVFilters-0.42-10-gabb9707.zip

@Inspector.Gadget / Nevilne:
Please test if your key-frame seeking seems to be working better again



Yes, this build exhibits the preferred behavior. Thank you for your tireless work on these filters. :thanks:

mkanet
8th December 2011, 02:03
Okay I tested the new decoder with CUVID enabled and adaptive deinterlacing enabled.

1. There are NO MORE INTERLACING ARTIFACTS!!!
2. Video is perfectly smooth except for certain scenes have video stutter. Video stutter seems a little more milder.

Rather than send you long/big videos showing smooth video with random stutter... I decided to narrow down EXACTLY part of the video that stutters on my setup in the previous one minute Dexter clip.

Here's the 14 second video with stutter every time:
http://www.megaupload.com/?d=P827WH5F

Thanks a million,
MKANET

Ok test build time:

http://files.1f0.de/lavf/LAVFilters-0.42-10-gabb9707.zip

@mkanet
Please test CUVID mode with your Soft-Telecined material. Enable CUVID, set to Adaptive deinterlacing, and (hopefully) enjoy.

@Inspector.Gadget / Nevilne:
Please test if your key-frame seeking seems to be working better again

@XadoX
Try if anything changed?

mkanet
8th December 2011, 03:32
The 9800GTX might be in the family of display adapters that can already handle the soft/hard-telecine switching issue (if that's what the probably actually is). Below are the Nvidia cards that are reported not to have have this issue. I have no idea what's unique about them to be more tolerant to these type of encodings.

NVIDIA
GeForce 8500GT 8600 GTS
GeForce 9300
GeForce 9400 (including ION platforms)
GeForce GT 430
GeForce GT 440 (same core as 430)

works great on my 9800GTX with everything I threw at it.
is something like this possible with YADIF?

Also, Should there be an option to disable this?

XadoX
8th December 2011, 07:05
...@XadoX
Try if anything changed?

Thx for the fast feedback. At first tests the stuttering seems to be gone. I have to do some more testing to be realy sure.

nevcairiel
8th December 2011, 13:12
is something like this possible with YADIF?
Not completely. If you set YADIF to 25p/30p mode, it would be possible to do something similar, however switching YADIF between the two modes on the fly is not as easy as it is for CUVID.

I can run some tests, i guess, but also isn't known to work 100% on telecined material, so artifacts may happen.

Also, Should there be an option to disable this?
Not sure, the code is rather safe, all it really does is force some deinterlacing settings, so the worst thing that can happen is that you won't get 60p output when the stream is improperly flagged as soft telecine.

It relys on constant repeat flags, which means every second frame has to have a repeat flag, or it'll switch out of soft-TC mode again, so there really isn't much that can go terribly wrong.

clsid
8th December 2011, 15:57
Can you consider implementing an "load VSFilter" option in the splitter or video decoder?

The problem is that WMP12 often refuses to load VSFilter by itself. The auto-load VSFilter option in Haali splitter works great, but only works for embedded subtitles. External subs won't load when using ffdshow or LAV video as preferred decoder. Oddly enough, they do work when using the crappy MS decoder.

I know WMP sucks, but many people do use it.

Since this problem only affects WMP/MC afaik, the workaround only needs to be applied for those players. Other players are smart enough to do things properly themselves.

mkanet
8th December 2011, 18:32
The last link I posted would probably be the best possible example. Whatever nevcairiel did in the last test build of the video filter completely eliminated combing artifacts (which isn't by accident); however, there's still some remaining video judder. I'm presuming the soft-telecine flag is being detected; and "something" is being done, but not quite right.

Ouch, that's nasty! You don't happen to have a sample available like that?

sometimes even switching between the two several times per second

nevcairiel
8th December 2011, 18:44
Here's the 14 second video with stutter every time:
http://www.megaupload.com/?d=P827WH5F


I'm not sure this can be further improved without a full blown IVTC, which i'm not willing to invest in right now.
One thing you can try, change the CUVID deinterlacer to 25p/30p, and see if that helps at all?

mkanet
8th December 2011, 19:37
When I enable 25p/30p to occur all the time, the parts that have video judder look exactly the same. It appears the the video is being switched to 25p/30p already when soft-telecine is detected; however, this doesnt seem to completely eliminate the video judder.

Whatever you did helped a lot (which I'm sure isn't coincidence). I will definitely use your test build until the next official release.

Do you know what exactly is the cause for the remaining video judder? Can you see the same thing I am in that short video clip? Could you or someone please be kind enough to tell me how to supplement the correct directshow component to handle the remaining video judder please? Someone mentioned Dscaler IVTC; however, I dont know to supplement that with LAV Video AND still have CUVID for AVC/VC-1. The only other IVTC I know is the partially working experimental build of ffdshow with IVTC.

Anyway, if all else fails, at least I would have gained a new and improved LAV Video filter. I really appreciate all you help nevcairiel, now at least the video is pretty much watchable. :)

I'm not sure this can be further improved without a full blown IVTC, which i'm not willing to invest in right now.
One thing you can try, change the CUVID deinterlacer to 25p/30p, and see if that helps at all?

madshi
8th December 2011, 20:34
Someone mentioned Dscaler IVTC; however, I dont know to supplement that with LAV Video AND still have CUVID for AVC/VC-1.
The DScaler IVTC Mod only decodes MPEG2, so giving it a try wouldn't affect AVC/VC-1 decoding at all. Just set DScaler to "preferred" in MPC-HC (if you're using MPC-HC). Which renderer are you using, btw, and which display refresh rate?

sexus
8th December 2011, 20:51
hows that dvd support comin along? nevcairiel

p.s: merry christmas and a happy new year to yall in advance xD

mkanet
8th December 2011, 21:26
Hi Madshi,
I only use sageTV; which is directshow based. It can use as a video renderers: "EVR", "VMR", and "System Default" (which will most likely NOT work with MadVR). I'm able to define any external DS mpeg2 decoder (like LAV Video) OR use SageTV's builtin mpeg2 decoder along with a dscaler deinterlace filter (all the old ones that used to come with dscaler). I might be able to use a dscaler deinterlace filter that's not part of the old dscaler package.

My display refresh rate is 59.940hz. It can also do 60.000hz. I use 23hz (23.976 or as close as possible to it) for Blu-ray media.

Please see sageTV configuration options in the screenshots below. It looks like it can use all the old school dscaler deinterlace filters; but, not with LAV Video; unless somehow sageTV allows a post-process DS filter to insert itself in the filtergraph that sageTV uses.

EDIT: I just downloaded and installed Dscaler 5 mpeg2 DS filter. I didnt even know there was one! It has builtin IVTC. I can't wait to go home and try it!!!

http://i67.photobucket.com/albums/h283/mkanet/th_sagetv-dscaler.jpg (http://i67.photobucket.com/albums/h283/mkanet/sagetv-dscaler.jpg)

http://i67.photobucket.com/albums/h283/mkanet/th_dscaler-deinterlace-options.jpg (http://i67.photobucket.com/albums/h283/mkanet/dscaler-deinterlace-options.jpg)

The DScaler IVTC Mod only decodes MPEG2, so giving it a try wouldn't affect AVC/VC-1 decoding at all. Just set DScaler to "preferred" in MPC-HC (if you're using MPC-HC). Which renderer are you using, btw, and which display refresh rate?

madshi
8th December 2011, 22:44
I'm able to define any external DS mpeg2 decoder (like LAV Video) OR use SageTV's builtin mpeg2 decoder along with a dscaler deinterlace filter (all the old ones that used to come with dscaler). I might be able to use a dscaler deinterlace filter that's not part of the old dscaler package.
The DScaler IVTC Mod I was talking about is not a deinterlace filter. It's a modded DScaler MPEG2 decoder with built in IVTC.

My display refresh rate is 59.940hz. It can also do 60.000hz. I use 23hz (23.976 or as close as possible to it) for Blu-ray media.
If you have proper IVTC running then you should set your display to 23Hz for 1080i60 movie content, too.

EDIT: I just downloaded and installed Dscaler 5 mpeg2 DS filter. I didnt even know there was one! It has builtin IVTC. I can't wait to go home and try it!!!
The standard DScaler MPEG2 decoder does not do proper/complete IVTC. Only the DScaler IVTC Mod does. You can find it at AvsForum. I guess we're OT here, though, so I'll stop discussing that here. If you do a search on DScaler IVTC Mod you should find all the help that you need.

mkanet
9th December 2011, 05:06
All:
I apologize for bringing this forum thread off topic. I want to thank nevcairiel and madshi for all your help and time. I really means a lot to me.

There is no more stutter!!! Dscaler IVTC mod mpeg2 decoder can handle removing 3:2 pulldown from weird TV movie encodings that have quickly changing framerates; and, restore it properly to 23.976fps framerate.. It also knows what to do for when there's interlaced/progressive Video content.

Dscaler settings:
3. 3:2 playback smoothing= Disabled
4. Inverse Telecine= Enable only if IVTC flags are found
5. Adjust FPS if Any Telecined Film=Set to 23.976/24 FPS

I am using Reclock's VBscript to change my display automatically to 24.000hz when "film" material is detected and fine tunes 23.976fps to original framerate at 24.000fps; and also restores original audio pitch/speed (resampled audio still sounds great). When Video content is detected, Reclock changes the display to 59.940hz/59.940fps

Of course, I still use LAV video for everything else; just not mpeg2.

If you have proper IVTC running then you should set your display to 23Hz for 1080i60 movie content, too.

The standard DScaler MPEG2 decoder does not do proper/complete IVTC. Only the DScaler IVTC Mod does. You can find it at AvsForum. I guess we're OT here, though, so I'll stop discussing that here. If you do a search on DScaler IVTC Mod you should find all the help that you need.

Pat357
9th December 2011, 15:28
I'm not sure this can be further improved without a full blown IVTC, which i'm not willing to invest in right now.
One thing you can try, change the CUVID deinterlacer to 25p/30p, and see if that helps at all?

Using the Gabest Mpeg-splitter with lav video seems doesn't show the judder : very smooth playback like this.
Any idea why this is ?

mark0077
9th December 2011, 18:40
Hi nev,

Just one tiny issue I notice with the wvc1 cuvid decoder in LAV Video. When seeking, the image becomes corrupt / shows lots of blocky squares briefly.
With ffdshows wvc1 decoder there is no such corruption on seek, and with lav video with cuvid for vc1 disabled there is no such corruption either, only with cuvid vc1 decoder enabled.

Could it be an nvidia issue, or something with the way you're handling something in the cuvid implementation.

I'm on Win 7, using NVidia GTX 295.
It quickly clears itself up but noticible nonetheless. If interested in looking at this at some point, and you need more input from me let me know.

DragonQ
9th December 2011, 18:41
Does anyone know what the best colour space output is best when using EVR? I have the LAV Video Decoder setup to output NV12 but I notice some banding when watching TV using EVR in MediaPortal.

fairchild
9th December 2011, 18:54
Does anyone know what the best colour space output is best when using EVR? I have the LAV Video Decoder setup to output NV12 but I notice some banding when watching TV using EVR in MediaPortal.

NV12 gives you hardware accelerated (DXVA/2) deinterlacing with EVR on ATI (not sure if on Nvidia you'd use CUVID anyways and it's deinterlacing). RGB32 output you lose that deinterlacing through DXVA/2 with EVR but gain dithering I believe which should reduce banding, also with YADIF software deinterlacing, you can use that, so it's a win win to use RGB32 when using EVR IMO. If I'm missing something, hopefully someone should correct/fill me in.

DragonQ
9th December 2011, 19:03
I use CUVID with vector adaptive deinterlacing for everything it supports, I don't think DXVA is even being used. I'll try RGB32 as you suggest and see if it improves the banding. :)

For some reason I need the nVidia Control Panel set to output 0-255, otherwise I get grey blacks - maybe this exacerbates the problem. Strangely, my Xbox 360 needs to be set to "Standard" (16-235) to avoid crushed blacks. No idea why they're different.

Paladin77
9th December 2011, 19:42
Just dropped by to say Merry Christmas Nev. Great Job on this nifty filter.

oh and Merry Christmas everyone.

mark0077
9th December 2011, 19:47
nev, may I ask what method does LAV Video / Audio use to keep audio / video in sync.

The reason I ask, is that I have many DVDs that I have converted to mkv over the years, and I know the DVDs themselves were badly made in the first place with most video / decoders showing a noticeable audio blip / stutter at some points such as chapter changes.

I am testing with one mkv today and am delighted to see seeking so accurate and fast with the latest lav filters. But lav video / audio still give the frame stutter / jump, and audio blip / buzz at at the same areas as other decoders.
I can actually get rid of the audio blip / buzz sound by disabling LAV Audios a/v sync correction setting but of course things get noticibly out of sync then. I assume its this a/v sync feature of other decoders I have used that also causes the blip / stutter effect.

So my question really is, is it somehow possible to make corrections to a/v desync like this, less noticible, like a way of more slowly bringing a/v back to sync perhaps rather than in one chunk?

dead_screem
9th December 2011, 20:24
nev, may I ask what method does LAV Video / Audio use to keep audio / video in sync.

The reason I ask, is that I have many DVDs that I have converted to mkv over the years, and I know the DVDs themselves were badly made in the first place with most video / decoders showing a noticeable audio blip / stutter at some points such as chapter changes.

I am testing with one mkv today and am delighted to see seeking so accurate and fast with the latest lav filters. But lav video / audio still give the frame stutter / jump, and audio blip / buzz at at the same areas as other decoders.
I can actually get rid of the audio blip / buzz sound by disabling LAV Audios a/v sync correction setting but of course things get noticibly out of sync then. I assume its this a/v sync feature of other decoders I have used that also causes the blip / stutter effect.

So my question really is, is it somehow possible to make corrections to a/v desync like this, less noticible, like a way of more slowly bringing a/v back to sync perhaps rather than in one chunk?
he can't fix anything without a sample file first.

nevcairiel
9th December 2011, 20:25
he can't fix anything without a sample file first.

There is nothing to fix. If there is a gap or overlap in the timestamps, you will hear it. Personally i rather have one glitch rather then a few smaller glitches spread out over a few seconds.

DragonQ
10th December 2011, 11:54
For some reason I need the nVidia Control Panel set to output 0-255, otherwise I get grey blacks - maybe this exacerbates the problem. Strangely, my Xbox 360 needs to be set to "Standard" (16-235) to avoid crushed blacks. No idea why they're different.

OK, I've just tested this by comparing to my PC monitor upstairs. The TV when receiving 16-235 has washed out colours but when receiving 0-255, it has black crush. I wonder if it's to do with the TV's brightness and contract settings? I'm sure I calibrated according to Lagom's LCD test website but maybe it needs adjusting.

Leader
10th December 2011, 13:13
Dear nevcairiel, please fix a bug with the withdrawal of a sample "32-bit Floating Point" in Windows XP formats DTS, A_DTS, AC3, A_AC3. There is a lot of noise.

nevcairiel
10th December 2011, 13:14
Dear nevcairiel, please fix a bug with the withdrawal of a sample "32-bit Floating Point" in Windows XP formats DTS, A_DTS, AC3, A_AC3. There is a lot of noise.

There is no bug, you just have a crappy audio driver.
Disable float output, and everything is fine.

Leader
10th December 2011, 13:21
Thanks for the answer, but it is strange that in ffdshow Audio Decoder 32-bit Float is working properly. So the problem is not my sound card driver.

Gleb Egorych
10th December 2011, 13:54
Leader, are you sure ffdshow outputs 32-bit float? To be sure you need to uncheck all output formats except 32-bit float.

Leader
10th December 2011, 14:12
Yes, it works exactly the 32-bit float, rest all the samples are turned off. Even the built-in MPC Decoders works fine sample IEEE Float in Windows XP. So I am sure that is the problem LAV Audio Decoder.

nevcairiel
10th December 2011, 14:45
Yes, it works exactly the 32-bit float, rest all the samples are turned off. Even the built-in MPC Decoders works fine sample IEEE Float in Windows XP. So I am sure that is the problem LAV Audio Decoder.

32-bit Float output is exactly the same between LAV Audio and MPC-HCs decoder.
The only difference is that MPC-HCs decoder by default downmixes AC3 to stereo, and LAV Audio doesn't. Most XP drivers have issues with 5.1 Float audio, while they can deal with Stereo just fine.

I just changed it that Float is disabled by default when running on XP, so users running a legacy OS stop bothering me. :p

Pat357
10th December 2011, 15:08
All:
Dscaler settings:
3. 3:2 playback smoothing= Disabled
4. Inverse Telecine= Enable only if IVTC flags are found
5. Adjust FPS if Any Telecined Film=Set to 23.976/24 FPS
Just a quick question : how did you adjust this settings ?
MPC-HC crashes when trying to access the Dscaler Mpeg decoder settings (well known problem, reason is DEP) and if I change the settings in Graphstudio, they don't seem to retain.
Have you find a way to exclude your player from DEP ?

dead_screem
10th December 2011, 15:36
Just a quick question : how did you adjust this settings ?
MPC-HC crashes when trying to access the Dscaler Mpeg decoder settings (well known problem, reason is DEP) and if I change the settings in Graphstudio, they don't seem to retain.
Have you find a way to exclude your player from DEP ?

maybe he wasn't using win 7?

anyway, they are stored in the registry. goto "HKEY_CURRENT_USER\Software\DScaler5\MpegVideo Filter" in regedit and edit what you want. or you could paste the following into a .reg file (edit if you want before hand) then merge to the registry by double clicking.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\DScaler5\MpegVideo Filter]
"Display Forced Subtitles"=dword:00000001
"3:2 playback smoothing"=dword:00000000
"Inverse Telecine"=dword:00000001
"Change FPS"=dword:00000000
"Deinterlace Mode"=dword:00000000
"Video Delay"=dword:00000000
"Use accurate aspect ratios"=dword:00000000
"DVB Aspect Preferences"=dword:00000000
"Hardcode for PAL with ffdshow"=dword:00000000
"IDCT to Use"=dword:00000002
"Colour space to output"=dword:00000000
"Do Analog Blanking"=dword:00000001
"Force Field 1 first Flag"=dword:00000000

Leader
10th December 2011, 16:03
Thank you very much, dear nevcairiel for a change, I'm sorry that bother you, just found the problem and decided to report it, but please do not forget to adjust the settings window LAV Audio Decoder opening in Windows XP, go to Start \ All Programs \ LAV Filters.:cool:

mindbomb
10th December 2011, 18:48
So, now that madvr has dxva deinterlacing, would it be possible to implement hardware acceleration using openvideodecode?
or is the api too hard to work with?

also, is this amd specific, or would it work with ivy bridge in the future?

nevcairiel
10th December 2011, 19:09
would it be possible to implement hardware acceleration using openvideodecode?
or is the api too hard to work with?

It always was possible, but i have absolutely no interest in it.



also, is this amd specific, or would it work with ivy bridge in the future?
Its an API invented by AMD, what makes you think Intel would support it any time?

mindbomb
10th December 2011, 19:17
i was thinking because intel is adding support for opencl, so it may work, but it looks like openvideodecode is specifically for uvd, right?

is it like really hard to work with, since i think the coreavc attempted to add it in their decoder, but they ended up just using dxva instead.

madshi
10th December 2011, 21:08
OpenVideoDecode is stupid. It's not any easier than DXVA, it requires the use of OpenCL, for which AMD offers no Direct3D9 interop at the moment, it doesn't support deinterlacing and it's strictly AMD, only. NVidia's CUDA Decoding solution is much better, it's much easier to use than DXVA, it offers CUDA access with Direct3D9 interop and it does support deinterlacing. Furthermore, NVidia is very fast at GPU -> System RAM copy, while AMD is very slow with that. NVidia's solution: All good. AMD's solution: All bad. Sorry, but that's the honest truth.

sexus
10th December 2011, 21:15
hows that dvd support comin along? nevcairiel

fastplayer
10th December 2011, 21:25
hows that dvd support comin along? nevcairiel
Here's your new browser homepage:
http://code.google.com/p/lavfilters/issues/detail?id=47

sexus
11th December 2011, 01:22
i see so i guess he still working on it xD

SamuriHL
11th December 2011, 01:29
i see so i guess he still working on it xD

And that's pretty much a safe bet until he comes out and says "it's done". :) You'll not miss it being announced when he's finished it, I'm quite sure. Either it'll be in a special build to try it out, or, it'll be in the release notes for a future version.

XadoX
11th December 2011, 09:42
Thx for the fast feedback. At first tests the stuttering seems to be gone. I have to do some more testing to be realy sure.

The stuttering ist gone, thx for the quick bugfix.

CruNcher
11th December 2011, 18:03
OpenVideoDecode is stupid. It's not any easier than DXVA, it requires the use of OpenCL, for which AMD offers no Direct3D9 interop at the moment, it doesn't support deinterlacing and it's strictly AMD, only. NVidia's CUDA Decoding solution is much better, it's much easier to use than DXVA, it offers CUDA access with Direct3D9 interop and it does support deinterlacing. Furthermore, NVidia is very fast at GPU -> System RAM copy, while AMD is very slow with that. NVidia's solution: All good. AMD's solution: All bad. Sorry, but that's the honest truth.

I remember times where this was the exact opposite its heavy how fast Nvidia overrun ATI in Digital Video (though it took some years and theirfore ATI hit them in 3D/Power performance) especially realizing early on how much better its is to make their APIs available not only to NDA subscribers and really open their whole DSP portfolio and creating a huge ecosystem where everyone is involved from big isv partner to home coder and end user fixing bugs early on, though still ATI/AMD have some nice additional stuff inside their driver currently that Nvidia doesn't have yet like the realtime deshaking (ATI/AMD where first with that) :)
AMD was really to late to this Open ecosystem idea with exclusive NDA stuff and resheduling realeases over and over (to be exact 2 years to late) also this gave Intel time to catch up which also buildup a big High Quality ecosystem like Nvidia did early on :)

Though ATI/AMD where always straight on implementing stuff directly from their Labs into their Drivers like the Realtime Deshaking,adaptive sharpening and so on :)

mkanet
11th December 2011, 19:13
I don't use mpc-hc. To be honest I didn't even know there was a problem's using other players. Sagetv player does exactly what graphstudio does.. except it inserts EVR as video tenderer. What is DEP by the way?

PS: As an additional performance enhancement, I changed default colorspace to yv12 instead of yuy2. Im still trying to make my mind up yo use ivtc=when flag detected or ALWAYS. "Always" has better results for ivtc but seems to adversely affect true Video based material.


Just a quick question : how did you adjust this settings ?
MPC-HC crashes when trying to access the Dscaler Mpeg decoder settings (well known problem, reason is DEP) and if I change the settings in Graphstudio, they don't seem to retain.
Have you find a way to exclude your player from DEP ?

Thunderbolt8
11th December 2011, 19:31
could you please try if this VC-1 video plays? doesnt for me (was only a first try though). its from the latest BBC blu-ray: http://www.mediafire.com/?vhxgz1qwxmc2u6b

edit: nvm it does, its ffdshow raw video which creates trouble.

mbordas
12th December 2011, 01:03
what's the difference or affect of choosing mpeg-2 under lav video "codecs for hardware decoding" versus under the formats tab? I only ask cause I finally got dscaler5 to more or less work with mpc-hc for 24fps on soft telecined dvds, and figured I probably want to disable one or both of these?

sneaker_ger
12th December 2011, 01:13
If you don't select mpeg-2 under the formats tab, LAV Video will never accept mpeg-2, neither for software nor hardware decoding. If you turn off mpeg-2 in "codecs for hardware decoding" LAV Video will decode mpeg-2 in software mode.

mbordas
12th December 2011, 01:36
thx. on further inspection, it doesn't seem to matter - mpc uses the dscaler decoder, probably because the merit is higher.

funny thing is, dscaler seems to have been around for years. Wonder why its ivtc capabilities never made it into ffmpeg?

Pat357
12th December 2011, 02:35
I don't use mpc-hc. To be honest I didn't even know there was a problem's using other players. Sagetv player does exactly what graphstudio does.. except it inserts EVR as video tenderer. What is DEP by the way?

DEP = Data Execution Prevention
It's a Windows security thing ; most modern processors also have it on HW level.
See http://windows.microsoft.com/en-US/windows-vista/Data-Execution-Prevention-frequently-asked-questions#

I still can't use the Dscaler decoder IVTC because of this...
Some players don't require DEP, for example with Zoomplayer I can access the Dsaler dec properties, but they don't retain on my system. Even not after changing the Dscaler setting directly in the registry.
I'm out of ideas how to use it in MPC-HC. :(:( Unless a MPC-HC version with DEP requirements disabled comes along, I'm pretty sure it's plain *impossible* to use the Dscaler decoder. :(

dead_screem
12th December 2011, 02:40
thx. on further inspection, it doesn't seem to matter - mpc uses the dscaler decoder, probably because the merit is higher.

funny thing is, dscaler seems to have been around for years. Wonder why its ivtc capabilities never made it into ffmpeg?

maybe because it doesn't reliably detect soft pulldown. it's only officially supported on 1080i. whether it works on other formats is a crapshoot (576i dvb doesn't seem to work, 480i dvd does. not sure about others...)


I'm out of ideas how to use it in MPC-HC. :(:( Unless a MPC-HC version with DEP requirements disabled comes along, I'm pretty sure it's plain *impossible* to use the Dscaler decoder. :(have you tried disabling DEP in your system BIOS? (that is, if your system has the option...)

Pat357
12th December 2011, 02:46
thx. on further inspection, it doesn't seem to matter - mpc uses the dscaler decoder, probably because the merit is higher.
Nice ! I trying to get it working with MPC too, but till now, no success.
I mean the decoder loads in the graph and can decode MPEG-2, but the IVTC is not enabled. I can't enable it because accessing the properties always crashes MPC.
What OS are you running ? I've W7 Professional x64 SP1.

FlashGordon
12th December 2011, 04:39
Pat, try accessing the filter properties for Dscaler IVTC using Graph Studio (http://blog.monogram.sk/janos/download/dl-graphstudio.php)

mbordas
12th December 2011, 07:04
maybe because it doesn't reliably detect soft pulldown. it's only officially supported on 1080i. whether it works on other formats is a crapshoot (576i dvb doesn't seem to work, 480i dvd does. not sure about others...)


ha. you're right, I forgot to test it on some hard telecined files and it's no good. It just sets everything to 23.976. Oh well, it was worth the try...

mkanet
12th December 2011, 08:46
It looks like Dscaler's IVT mod can correctly handle popular American standard HDTV and DVD file formats:

480i/1080i film 1080i video

It can even handle 720p HDTV; however, for some odd reason YUY2 needs to be selected for the colorspace instead of YV12; otherwise, "white dot" unwanted artifacts appears in the video. Also, if "Enable Always" for IVTC is selected, it seems to cause video based playback to play at 23.976. So, use only if flag detected is best if playing back video based content too.

ha. you're right, I forgot to test it on some hard telecined files and it's no good. It just sets everything to 23.976. Oh well, it was worth the try...

Paladin77
12th December 2011, 10:09
Noob Question ladies and Gentlemen. How to force lav splitter to ALWAYS load subtitles using mpc-hc internal renderer, becuase sometimes sub groups forget to flag the subtitle track as default which will always be loaded by lav as part of the settings. However when I looked for the always load option it wasn't there.

golagoda
12th December 2011, 10:38
Noob Question ladies and Gentlemen. How to force lav splitter to ALWAYS load subtitles using mpc-hc internal renderer, becuase sometimes sub groups forget to flag the subtitle track as default which will always be loaded by lav as part of the settings. However when I looked for the always load option it wasn't there.

Setting your lav splitter settings to something like this should work, assuming we're talking about english subtitles. I put und there incase anything isn't set and is detected as undetermined.

http://i.imgur.com/s63Y5.png

Works fine for me at least.

ryrynz
12th December 2011, 11:01
Nevcairiel, Potplayer has a seamless playback feature which appears to replace Lav Splitter with the Seamless Parser when enabled.
Does this mean that this features ability to read ahead is something that can be implemented into the splitter?
It's quite nice having the next file play instantly without waiting for Avisynth to load it's script.

nevcairiel
12th December 2011, 11:09
Does this mean that this features ability to read ahead is something that can be implemented into the splitter?

No, it does not. A source filter can only open one file, it cannot open another one "ahead", it something the player has to implement.

DragonQ
12th December 2011, 12:42
OK, I've just tested this by comparing to my PC monitor upstairs. The TV when receiving 16-235 has washed out colours but when receiving 0-255, it has black crush. I wonder if it's to do with the TV's brightness and contract settings? I'm sure I calibrated according to Lagom's LCD test website but maybe it needs adjusting.

I think I figured it out. When sending 0-255, the information is definitely there in the image. I think the reason for the black crush is just the poor quality of the TV - if I play with the contrast and brightness settings I can significantly reduce the crush but it also raises the black level to be more grey. I've currently set it kind of in the middle as a compromise between deep blacks and shadow detail. Hopefully will have a chance to play with it more later, but I know for sure that using 16-235 levels is just a washed out mess.

Paladin77
12th December 2011, 16:24
Setting your lav splitter settings to something like this should work, assuming we're talking about english subtitles. I put und there incase anything isn't set and is detected as undetermined.

http://i.imgur.com/s63Y5.png

Works fine for me at least.


Brilliant thanks! I already put English and that always displayed subs flagged as English. I just needed a way for non flagged subs and putting und did the trick. Many thanks golagoda.

Awesome work Nev.

nevcairiel
12th December 2011, 21:25
Here is a recent test build.

x86: http://files.1f0.de/lavf/LAVFilters-0.42-20-g34e6d90.zip
x64: http://files.1f0.de/lavf/LAVFilters-0.42-20-g34e6d90-x64.zip

There isn't really anything note-worthy to test, however there were alot of ffmpeg updates, including a new audio decoding API, and i need to make sure everything still works.

So if you can, run this version, and see if anything breaks that worked before. :)

Thanks!

sneaker_ger
12th December 2011, 21:33
Error 404

nevcairiel
12th December 2011, 21:37
Error 404

My fault, fixed the links. :p

dead_screem
12th December 2011, 22:31
Some ISDB-T TS files have their 1seg sub program auto selected instead of the main program, started happening some time after 0.42, first happens in previous test build 0.42.10.
http://www.megaupload.com/?d=QBRH6F6I

Its about time we had proper program switching added, and also to do away with automatically selecting the "best" program and just default to the first program.

Mangix
12th December 2011, 22:51
useless post...

mindbomb
12th December 2011, 23:23
what is the state of ffmpeg and interlaced vc-1?

golagoda
13th December 2011, 00:52
what is the state of ffmpeg and interlaced vc-1?

The one perfect word to describe it is 'horrendous' :p

It is getting a lot better though, I have a VC-1i file here I've been testing against ffmpeg (that I update and build daily from the git) using ffplay and mplayer2 for a few weeks since there's been a lot of commits for the vc1 decoder.

It's basically just laggy/jumpy (but with low CPU usage) and gives a lot of obviously incorrect playback, ffplay still spits out errors saying VC-1i playback isn't finished yet too.

Pat357
13th December 2011, 12:57
Pat, try accessing the filter properties for Dscaler IVTC using Graph Studio (http://blog.monogram.sk/janos/download/dl-graphstudio.php)

That works, but the settings don't retain in MPC-HC.

Skinleech
13th December 2011, 14:10
This issue with Dscaler, MPC & DEP has cropped up in a few places.

Work arounds I've seen are:

Using Zoomplayer to configure Dscaler.

Using MPC-HC builds around 1.3.1249 to change settings.

Post 16508 on the below thread gives you a batch file to toggle DEP on/off with MPC:

http://forum.doom9.org/showthread.php?t=123537&page=826

VideophileII
13th December 2011, 17:21
Hi nevcairiel,

I am the developer of Videophile II and have found that graph-building in my application fails when I have LAV Filters installed. Specifically, the SampleGrabber filter doesn't seem to play nicely with LAV Filters. Is this something that you are aware of and, more importantly, can it easily be resolved?

Regards...

Reino
13th December 2011, 22:34
Last time you fixed me a Vorbis Media Type bug...I found some more, that your LAV Video/Audio Decoder can handle, but where the splitter and FFDShow have a tough relationship:

Atrac3 Audio
- Atrac3 in WAV sample (http://samples.mplayerhq.hu/A-codecs/ATRAC3/mc_sich_at3_105.wav): LAV Splitter connects to FFDShow no problem.
- Atrac3 in RM sample (http://samples.mplayerhq.hu/real/AC-atrc/mc_sich_ra8_105.rm): connecting to FFDShow fails.

Cook Audio
- Cook in RM (obviously) sample (http://samples.mplayerhq.hu/real/AC-cook/mc_sich_ra8_44.rm): connecting to FFDShow fails.

Real Video 2
- RV20+Cook (RM) sample (http://samples.mplayerhq.hu/real/VC-RV20/Dolby7.5fps1.rm): FFDShow can handle RV20 (as well as Cook), but connecting LAV Splitter to FFDShow fails (Cook, same story).
(with Real Video 3 and 4 though LAV Splitter connects to FFDShow no problem)

Real Video 1
- RV10+AC3 (RM) sample (http://samples.mplayerhq.hu/real/VC-RV10/thankyou.rm): I can't tell at the moment, because LAV Splitter + FFDShow crashes immediately on RV10 and I don't know which one's the cause.
LAV Splitter + LAV Video Decoder works fine of course ;), but surprisingly MPC-HC's internal RM Splitter + FFDShow works fine too.

All tested with 0.42-20-g34e6d90, but the same applies to 0.42 as well.

nevcairiel
13th December 2011, 22:36
RealMedia stuff is not meant to connect to anything but LAV Audio/Video.
RM uses some rather weird special format of codec extradata, and re-constructing that is a tedious task i would rather avoid - use LAV Audio/Video. :p

CruNcher
13th December 2011, 23:49
Hi nevcairiel,

I am the developer of Videophile II and have found that graph-building in my application fails when I have LAV Filters installed. Specifically, the SampleGrabber filter doesn't seem to play nicely with LAV Filters. Is this something that you are aware of and, more importantly, can it easily be resolved?

Regards...

Nice application Edwin :) though i have still hope that someone implements mediainfo directly as a windows explorer shell extension (with colum details list integration) :)

VideophileII
14th December 2011, 03:05
Nice application Edwin :)

Thanks. But where did you get Edwin from?

ryrynz
14th December 2011, 12:31
If I take the first three letters from Edwards and the last two letters from Colin I get Edwin. :p

VideophileII
14th December 2011, 14:48
If I take the first three letters from Edwards and the last two letters from Colin I get Edwin. :p

Of course. Obvious, really. Silly me...:p

CruNcher
14th December 2011, 19:13
Thanks. But where did you get Edwin from?

If I take the first three letters from Edwards and the last two letters from Colin I get Edwin. :p

Oops sorry Colin, yeah i guess somehow that happened ;)

VideophileII
15th December 2011, 00:20
Oops sorry Colin, yeah i guess somehow that happened ;)

No problem. ;)

sneaker_ger
15th December 2011, 15:17
What method does LAV Splitter use to determine the source fps it reports to e.g. madVR (I mean the framerate used for refresh rate switching)? It seems to report the bitstream timings, which IMHO does not make sense, because for the actual playback only the mkv timecodes are used. (Talking about h264 in mkv)

madshi
15th December 2011, 15:24
Well, you could consider an MKV file in which the timecodes contradict the bitstream as being "broken". In theory you could have an MKV file with 3 different bitstreams: (1) video bitstream fps (2) MKV header fps (3) actual timecodes. I've seen such files. Which fps information should LAV Splitter forward to madVR then? Just add VFR to the mix and the mess is complete...

nevcairiel
15th December 2011, 15:32
What method does LAV Splitter use to determine the source fps it reports to e.g. madVR (I mean the framerate used for refresh rate switching)? It seems to report the bitstream timings, which IMHO does not make sense, because for the actual playback only the mkv timecodes are used. (Talking about h264 in mkv)

In my experience, trusting the MKV header information is even worse (it commonly has 60 fps for interlaced 60i content, which is just not correct). The only reliable thing would be to decode some frames and see what we get, but thats really alot more effort then worth (and VFR still blows that ouf of the water)

IHMO, the encoders are usually more sane then the MKV muxers. ;)

THX-UltraII
15th December 2011, 15:42
Hi Nevcairiel, I just send you a PM

sneaker_ger
15th December 2011, 15:44
In my experience, trusting the MKV header information is even worse (it commonly has 60 fps for interlaced 60i content, which is just not correct). The only reliable thing would be to decode some frames and see what we get, but thats really alot more effort then worth (and VFR still blows that ouf of the water)

IHMO, the encoders are usually more sane then the MKV muxers. ;)

Well, you could consider an MKV file in which the timecodes contradict the bitstream as being "broken". In theory you could have an MKV file with 3 different bitstreams: (1) video bitstream fps (2) MKV header fps (3) actual timecodes. I've seen such files. Which fps information should LAV Splitter forward to madVR then? Just add VFR to the mix and the mess is complete...

Since no one actually uses (1) for playback, I'd rule that one out. Decision between (2) and (3) is not that easy, because header could say 23.976, because the file is mostly 23.976, even though it may begin at 29.97.

My point is: (1) is never used, so it should be either (2) or (3). Since (2) is not always present it might be easiest to just always use (3).

Ideally, bitstream and container would agree, but currently it is easy to change the e.g. framerate in mkvtoolnix, but it does not change the bitstream information. (Though Mosu said he has plans to also change the bitstreams infos eventually.)

madshi
15th December 2011, 15:48
Timecodes might jitter a lot, depending on how the file was muxed. You can only get reliable FPS information from (3) by parsing large parts of the file. IMHO that doesn't really make sense for a splitter. Loading MKV files would be very slow that way.

sneaker_ger
15th December 2011, 15:57
Shouldn't the first few timecodes be sufficient? I can't see the bitstream information being more reliable.

nevcairiel
15th December 2011, 15:58
MKV timecodes typically only have a very rough precision, which means for 23.976 they jitter between 41ms and 42ms, so to 100% measure the difference between 23.976 and 24.000 you need to decode around 30-40 frames, which is just not practical. For H264 specifically, you also need to actually *decode* the frames, otherwise you will have a really hard time to re-order the timecodes from PTS to DTS.
Anyway, i had some issues with MKV header information before, so i'm sticking with bitstream now.

sneaker_ger
15th December 2011, 16:02
MKV timecodes typically only have a very rough precision, which means for 23.976 they jitter between 41ms and 42ms, so to get the difference between 23.976 and 24.000 you need to decode around 30-40 frames, which is just not practical.

Oh, that is too much already? For mkvmerge they already differ on the sixth frame, but I guess it depends on the muxer.

Anyway, i had some issues with MKV header information before, so i'm sticking with bitstream now.

With the respective header being optional, we couldn't rely on that only anyways.

nevcairiel
15th December 2011, 16:06
Oh, that is too much already? For mkvmerge they already differ on the sixth frame, but I guess it depends on the muxer.

"Differ", maybe, but to really be sure, you need to decode enough so that when you average them the precision is high enough to ensure you don't get it wrong. 20 was not enough in the past, and caused it to detect 23.976 as 24.000 quite frequently, so it was increased to 40, until i turned that logic off (because it also doesn't work properly with telecine flags and some interlaced codings)

Millisecond precision is sadly a default of the MKV spec, and even though it can be increased by the muxer, it appears not many do so.

madshi
15th December 2011, 16:17
Oh, that is too much already? For mkvmerge they already differ on the sixth frame, but I guess it depends on the muxer.
The timecodes are also not necessarily continuous. They might jump up and down, due to the I, P and B frame logic. Looking at timecodes and figuring out the correct FPS from them isn't a trivial task, not if you want it to be *reliable* for most MKV files out there. FWIW, I've a similar logic in eac3to and although it works fine most of the time, it sometimes (often enough to not rely on it) misdetects the timestamps FPS.

sneaker_ger
15th December 2011, 16:21
I see. I guess the bottom line is: it would be possible, but overly complicates while being relevant in just a few cases.

Do you have such detection for all video formats? The only other advantage with using the mkv info would be that it that the detection could work regardless of the video codec.

nevcairiel
15th December 2011, 16:42
Do you have such detection for all video formats? The only other advantage with using the mkv info would be that it that the detection could work regardless of the video codec.

Its really up to ffmpeg, when a format does not provide its own timings, it'll try to measure it by reading some frames. I only tweaked the logic some to fit my needs.

CruNcher
16th December 2011, 00:11
Hmm nev i encountered a very interesting FLV seek issue (instability) that isn't apparent in the Native MPC-HC splitter though it was with the latest official release not the newer update you posted recently (didn't checked that yet) i added this flv issue to my list, if i checked the latest update and it's still their i gonna post a sample of this issue.

THX-UltraII
16th December 2011, 09:36
Hi Nevcairiel,

First of all I would like to thank you for creating LAV filters.

I want to ask you if something is possible:

You ever heard of D-Box motion code system? People (D-Box owners) where looking for a HTPC solution for D-Box for years and a guy from the AVS forum modified your LAV version to finally achieve what D-Box self told was impossible: simultaneously audio output of 2 streams at the same time; one stream with the HD audio (going to a receiver via HD video card to be able to get HD audio) and one stream with the lossy dts/dd stream (going to D-Box decoder via external spdif usb audio card). This was needed because D-Box motion systems uses only the lossy dts/dd streams to be able to detect movies. With a player like PowerDVD you can only select one audio stream and one audio device. That is a problem for Blurays because you cannot use the HD streams (TrueHD, DTS-HD or LPCM) and the D-Box system simultaneously.
So a guy from the AVS forum modified MPC-HC and your LAV Filters to use two audio streams with two audio devices:

- The HD audio will be sent through HDMI to the A/V Receiver (bitstream).

- The lossy AC3 or DTS will be sent as bitstream through SPDIF (digital or coax) to the D-Box controller


His latest version is 0.40 and every time you release a new version he has to modify it and release a separate version (can t get in contact with him for a month now and I really want the new features that 0.42 brought).

Is there a change you can integrate this in your official versions or post a 'D-Box version' everytime you release a new LAV version?

nevcairiel
16th December 2011, 13:44
I have no interest in such a feature, and my limited time is better spent on features that i do have an interest in, because thats more fun doing. :)

Anyhow, i'm not totally against such an idea, so if anyone wants to provide a clean patch to do what it needs to do (and is willing to work with me to get it in proper shape) I'm willing to listen, and at least look it over.

THX-UltraII
16th December 2011, 15:04
I understand that you are not interested in this but thanks you are willing to cooperate with this!

Here s the site where Germain (a D-Box user) modified your LAV filters to get the result D-Box users need.

http://htpcfordbox.over-blog.com/

I tried to reach him for almost a month now but can t get in contact with him anymore since the last update to 0.40 he did. I need some fixes you implemented in 0.41 and 0.42 but don t have a clue how to modify your version to his version.

Reino
16th December 2011, 19:09
Unlike MPC-HC's internal MKV Splitter, letting LAV Splitter handle this, DVD-Audio-testfile (ARAW;24bit,96000Hz,4608Kbs).mka (http://www.mediafire.com/?km42s999u8rgfcc), file results in an immediate crash.
It's the original DVD-Audio-testfile.wav (iirc also posted here somewhere on the forum) converted to WavPack and put in a Matroska container.

nevcairiel
16th December 2011, 21:06
Unlike MPC-HC's internal MKV Splitter, letting LAV Splitter handle this, DVD-Audio-testfile (ARAW;24bit,96000Hz,4608Kbs).mka (http://www.mediafire.com/?km42s999u8rgfcc), file results in an immediate crash.
It's the original DVD-Audio-testfile.wav (iirc also posted here somewhere on the forum) converted to WavPack and put in a Matroska container.

Thats so odd.

- LAV Splitter + LAV Audio = crash
- LAV Splitter + ffdshow = all fine
- Other splitter + LAV Audio = all fine

I think i figured it out though, the new ffmpeg audio decoding API is at fault here.

Edit:
Fixed

mllmx
17th December 2011, 09:40
Long time reading, first time posting. First I want to thank nevcairiel for developing this amazing filters. I've just upgraded from an htib Onkyo to a Denon AVR-2112, I used to have the Onkyo plugged to the analog outputs and use dtsdecoderdll.dll for DTS-HD decoding. Now I'm bitstreaming everything and I couldn't help to notice something odd in the chain using graphstudio. It goes Lav Splitter -> Lav Audio Decoder -> DirectSound. The issue is this: I can't get Lav Splitter to output 24 bit audio.
Every file I test is shown in the out pin of Lav Splitter as 16 bit. MediaInfo shows the bitdepth ok.

The results in grapstudio are:
16/48->16/48
24/48->16/48
24/96->16/96

I'd really like to know what am I doing wrong here, since when I was using the analog path with reclock it was 24 bit from start to end of the chain.
Hope someone can help.

nevcairiel
17th December 2011, 10:25
The bitdepth communicated by LAV Splitter is of little consequence. Whats important is what LAV Audio shows on its status page.

Reino
17th December 2011, 22:16
Fix confirmed, thank you.

While both the LAV Splitter and LAV Splitter Source have the same merit by default, I noticed after a setup install the latter is being used in almost all cases, instead of File Source (Async) + LAV Splitter (manual install). Why's that and can you tell me what the difference between them is?


I got some more LAV Splitter troubling samples for you:

IMA ADPCM Audio
shuffle-ima41.mov (http://samples.mplayerhq.hu/A-codecs/ima-adpcm/shuffle-ima41.mov): connecting to FFDShow fails.

QDM2 Audio
sample_sorenson.mov (https://support.apple.com/kb/ht1425): connecting to FFDShow fails.

AMV[AMVV+IMA ADPCM AMV]
comedian.amv (http://samples.mplayerhq.hu/amv/comedian.amv):
- seeking bar unavailable
- although FFDShow is capable of decoding both the video and audio part ("Other MJPEG" and "Other ADPCM" on Codecs-tab of Video and Audio Decoder config respectively), it fails to connect to FFDShow.
- no problem with MPC-HC's internal AVI Splitter.
- funny notice: although LAV Audio Decoder can decode the audio part, in MPC-HC the LAV Splitter, without any decoding, passes it through to the build-in Audio Switcher (if it's enabled),...resulting in horrible noice. :p

Reino
18th December 2011, 01:17
Nellymoser
http://samples.mplayerhq.hu/A-codecs/Nelly_Moser/nellymoser-in-flv.flv (http://samples.mplayerhq.hu/A-codecs/Nelly_Moser/nellymoser-in-flv.flv): seeking bar unavailable.
http://samples.mplayerhq.hu/A-codecs/Nelly_Moser/h264_NellyMoser.mp4 (http://samples.mplayerhq.hu/A-codecs/Nelly_Moser/h264_NellyMoser.mp4): connecting to FFDShow Audio Decoder fails.

LAV Splitter - Subtitle Selection Mode
While testing today's build (by XhmikosR (http://xhmikosr.1f0.de/lavfilters/LAVFilters-0.42-20111217_1256.exe)) I noticed something strange. It seems the "Subtitle Selection Mode"-option has been compromised for some(!) files (at least when set to "Default". haven't tested the others).
Somehow no subtitle stream is automatically selected while starting a movie with embedded subs of which 1 is flagged as default. LAV Filters 0.42 from 30 november doesn't have this issue.
I'd like to stress though that it only concerns 'some'(!) files. But after a lot of searching I couldn't find the determining factor. The only thing that caught my attention was MPC-HC's Properties window on 2 different movies:
LAVFilters 0.42 (30112011):

Video: MPEG4 Video (H264) 1280x544 24.00fps [Video]
Audio: Dolby AC3 48000Hz 6ch 448kbps [Audio]
Subtitle: UTF-8 [Subtitle]

Video: MPEG4 Video (H264) 864x360 23.98fps [Video]
Audio: Vorbis 48000Hz stereo [Audio]
Subtitle: UTF-8 [Subtitle]
====================================
LAVFilters 0.42 (17122011):

Video: MPEG4 Video (H264) 1280x544 24.00fps [Video]
Audio: Dolby AC3 48000Hz 6ch 448kbps [Audio]
Text [Subtitle]

Video: MPEG4 Video (H264) 864x360 23.98fps [Video]
Audio: Vorbis 48000Hz stereo [Audio]
Text [Subtitle]

Paladin77
18th December 2011, 11:27
+1 I was facing a similar problem when I was told that the subs weren't flagged properly as default (don't bite my head off that's what encoders told me, probably whoever encoded the file didn't do a good job in flagging sub stream as default). Anyways a few pages back when I asked for a workaround: http://forum.doom9.org/showpost.php?p=1544529&postcount=7666

FYI I am using latest compiled build of LAV filters as well by XhmikosR

EDIT Confirmed. I blocked Haali and tried a multi subtitle stream mkv file WITHOUT that workaround. Default stream doesn't load I get no subtitles and have to load it manually or use that workaround I mentioned above.

Sample here: http://www.filesonic.com/file/1015487831/haruhi_suzumiya_no_yuutsu_hare_hare_yukai.mkv

EDIT 2: Just as control I retried with Haali an subs load normally. So the Stream is indeed flagged as default. Will try to hunt an old LAV version and try again.

nevcairiel
18th December 2011, 12:15
EDIT Confirmed. I blocked Haali and tried a multi subtitle stream mkv file WITHOUT that workaround. Default stream doesn't load I get no subtitles and have to load it manually or use that workaround I mentioned above.

Sample here: http://www.filesonic.com/file/1015487831/haruhi_suzumiya_no_yuutsu_hare_hare_yukai.mkv


The first subtitle stream is properly flagged default, and LAV activates it just fine for me.
Subtitle Selection Mode set to "Default". Tried with both no languages configured and languages configured to "eng" and "eng,und"

Maybe the build you're using is defective. :)
There haven't been any changes to the selection logic for a while, and everything seems fine for me.

Try with this instead: http://files.1f0.de/lavf/LAVFilters-0.42-25-g8c422f8.zip
No changes, just a build that i know is working.

Paladin77
18th December 2011, 13:21
Fixed thank you. Must've been a defective build as you said. Sorry for the hassle.

dead_screem
18th December 2011, 20:41
Some ISDB-T TS files have their 1seg sub program auto selected instead of the main program, started happening some time after 0.42, first happens in previous test build 0.42.10.
http://www.megaupload.com/?d=QBRH6F6I

Its about time we had proper program switching added, and also to do away with automatically selecting the "best" program and just default to the first program.

nev, you had a chance to look into this bug?

Mosu
19th December 2011, 11:20
In my experience, trusting the MKV header information is even worse (it commonly has 60 fps for interlaced 60i content, which is just not correct). The only reliable thing would be to decode some frames and see what we get, but thats really alot more effort then worth (and VFR still blows that ouf of the water)

Matroska headers do NOT have a field for the number of frames per second. It's a common misconception. They do have a field that indicates the default duration for a frame. Its inverse is often used as the number of FPS which is correct often enough, but it simply is not the same (nor is it meant to be).

The rules for a block's duration are simple (in decreasing order of priority):

If a BlockGroup contains a Duration element then use that.
If the track's headers contain a DefaultDuration element then use that.
Else use the difference between the current block's timecode and the next block's timecode.

The rules for timecodes are even simpler: Each block has a timecode on the container level. This one trumps everything else (e.g. if the bitstream itself contains a timecode or something else calculated on e.g. default_duration & number of frames).

It doesn't matter whether or not other container formats (e.g. MP4) have different semantics. These are the semantics that Matroska use.

nevcairiel
19th December 2011, 11:27
Matroska headers do NOT have a field for the number of frames per second. It's a common misconception. They do have a field that indicates the default duration for a frame.

Which is even another argument for not using it as FPS information, and rather use the bitstream or try to measure it.

PS:
There never was a question about the actual timecodes, just how to figure out the fps of the file.

madshi
19th December 2011, 11:43
@Mosu, just to explain: Any "FPS" information retrieved by trying to interpret the MKV file is not actually "used" during playback, but the DirectShow system expects a splitter to forward a generic FPS information to the downstream filters. This information is what the discussion was about. This FPS information field is often used by display mode / refresh rate switchers to switch the GPU into the right display mode / refresh rate. Because of that it's kinda important to get this information right and since MKV doesn't have a reliable and always set correctly "FPS" field, the big question is how to best get an "FPS" information from an MKV file.

Or in other words: How can a refresh rate switcher quickly look at an MKV file and decide which refresh rate to switch the GPU to, for playback of this MKV file?

e-t172
19th December 2011, 12:00
FWIW, ReClock doesn't trust any FPS information from the source filter and just calculates the FPS from the first 5 seconds of timestamps or so. That's why ReClock only starts a few seconds after the beginning of playback. When used with a refresh rate script, this means that the refresh rate will change a few seconds after playback starts. Which is a little annoying, but at least it's reliable.

My opinion is that it's the job of the video renderer to determine the correct refresh rate, and it should do so using the timestamps on the first 5 frames or so. In this case we don't need enormous precision on the FPS value since the possible refresh rates are given by the OS anyway. Also, the renderer should constantly watch the timestamps for changes in average FPS and switch again if it changes. One typical application would be live TV, where the renderer would automatically switch between 60p and 24p when IVTC kicks in and out.

nevcairiel
19th December 2011, 12:09
One typical application would be live TV, where the renderer would automatically switch between 60p and 24p when IVTC kicks in and out.

Thats absolutely not practical, as on todays monitors/TVs a switch is a rather disruptive process. There is VFR material which switches quite frequently between 24p and 30p, doing a refresh rate change every time would entirely destroy the viewing experience.

madshi
19th December 2011, 12:13
FWIW, ReClock doesn't trust any FPS information from the source filter and just calculates the FPS from the first 5 seconds of timestamps or so. That's why ReClock only starts a few seconds after the beginning of playback. When used with a refresh rate script, this means that the refresh rate will change a few seconds after playback starts. Which is a little annoying, but at least it's reliable.

My opinion is that it's the job of the video renderer to determine the correct refresh rate, and it should do so using the timestamps on the first 5 frames or so. In this case we don't need enormous precision on the FPS value since the possible refresh rates are given by the OS anyway. Also, the renderer should constantly watch the timestamps for changes in average FPS and switch again if it changes. One typical application would be live TV, where the renderer would automatically switch between 60p and 24p when IVTC kicks in and out.
All true, but it's not as easy as you make it sound. The framestamps of broadcasts are often not reliable. I have samples where even the timestamps of I-frames are juddering like hell. Looking at the first 5 frames, only, wouldn't work at all to get a reliable FPS information, especially if you want to support both 24fps and 25fps sources. Even worse, if you want to support 23.976fps and 24.000fps sources. But I agree with you that the video renderer should watch over timestamps and react according to the circumstances. That's on my to do list for madVR. I just don't think that 5 frames will cut it. Not even close.

BTW, the funny part starts if you have film sources with video overlay. Do you switch to 24Hz or 60Hz for such sources? What if the video overlay comes and goes for a couple of frames, all the time? (These are rhethorical questions.)

sneaker_ger
19th December 2011, 12:16
One answer: get a 120 Hz display.

STaRGaZeR
19th December 2011, 14:07
One answer: get a 120 Hz display.

http://img854.imageshack.us/img854/2237/sinttuloqo.th.png (http://imageshack.us/photo/my-images/854/sinttuloqo.png/)

;)

There are problems thou: lack of quality monitors, lack of TVs, crappy HDMI not supporting 1080p120, 25/50 if you live in Europe, possible incompatibility with 48p and other retarded "new" framerates, etc.

nevcairiel
19th December 2011, 16:05
IMA ADPCM Audio
shuffle-ima41.mov (http://samples.mplayerhq.hu/A-codecs/ima-adpcm/shuffle-ima41.mov): connecting to FFDShow fails.

QDM2 Audio
sample_sorenson.mov (https://support.apple.com/kb/ht1425): connecting to FFDShow fails.

No idea why ffdshow doesn't like those, it doesn't seem to do anything much different then i, but then again, i honestly don't care about some odd-ball formats. I added a special interface to LAV Audio to ensure that nearly all audio can be decoded, even when there is no "standard" DirectShow type between them, and for the rare/odd/old formats, i suggest to just use it.


AMV[AMVV+IMA ADPCM AMV]
comedian.amv (http://samples.mplayerhq.hu/amv/comedian.amv):
- seeking bar unavailable
- although FFDShow is capable of decoding both the video and audio part ("Other MJPEG" and "Other ADPCM" on Codecs-tab of Video and Audio Decoder config respectively), it fails to connect to FFDShow.
- no problem with MPC-HC's internal AVI Splitter.
- funny notice: although LAV Audio Decoder can decode the audio part, in MPC-HC the LAV Splitter, without any decoding, passes it through to the build-in Audio Switcher (if it's enabled),...resulting in horrible noice. :p

Should be fixed, except the seeking bar. It just doesn't have a duration for the file, no duration = no seeking, thats a issue more for the ffmpeg guys then me. ;)

nevcairiel
19th December 2011, 16:16
nev, you had a chance to look into this bug?

There isn't technically a "bug".
The logic does what its supposed to do - select the first program in a file which has audio and video - in your case its just not the program you want.

I could probably try to add some more logic to also prefer higher resolution content, however i would rather not add any more temporary hacks and just work on program switching at some point in the future. When, i cannot say.

looney
19th December 2011, 17:10
Also, you seem to be repeating yourself.

infact-infact it aint nice thing to say ;) or mock up just because i didnt lector myself, those was my troubles written up onto forum post, i wasnt try to sell a book.

I get full 100% CPU usage when benchmarking the x86 version on a quad-core, which means it uses multi-threading just fine.

Try to set the threads option to some specific value, something like 4 or 6, maybe Auto isn't working right.

Default MTn for 0.37-0.39 and now 0.42 is 2 threads (i didnt mess anything just install). But still 36% is way lower (by praised W7 by 14%) than underclocked x4 can do @2.5GHz. So to repeat myself as you stated x86-64 works with at least two cores, while x86 version is stucked on one core only when LAV default settings MTn=2cores are selected. It wans't on Auto (FO=Auto but my source is progressive and i can diff those two)
Sry, if my kb eat up some chars.

Reino
19th December 2011, 18:37
I added a special interface to LAV Audio to...Don't get me wrong, LAV Audio does a good job. It's LAV Splitter that's concerned here! With these 2 files it does connect to FFDShow's Video Decoder, but not to its Audio Decoder.Should be fixed, except the seeking bar. It just doesn't have a duration for the file, no duration = no seeking, thats a issue more for the ffmpeg guys then me. ;)Ok, well thanks for your effort though. It's just that with this file the MPC-HC AVI Splitter connects to FFDShow's Video and Audio Decoder no problem AND seeking is possible.
I thought your aim was to at least equal MPC-HC filters their capabilities, so that's why I'm reporting.

nevcairiel
19th December 2011, 18:47
Don't get me wrong, LAV Audio does a good job. It's LAV Splitter that's concerned here! With these 2 files it does connect to FFDShow's Video Decoder, but not to its Audio Decoder.

Since there is no "standard" for these formats, i could as well just claim that my way is the right way, and ffdshow is doing it wrong, but thats just pointless.

The point is, i will not spend extra effort to support ffdshow on these rather obscure codecs (especially considering no-one even knows how or why ffdshow does some things)
LAV Audio only works because there is magic going on between LAV Splitter and LAV Audio which will allow like 99% of all audio to be decoded.

FWIW, it does actually seem to be a ffdshow problem. It has some strict restrictions on accepting these codecs, even though those wouldn't be required.
This falls into my category of not adding "hacks" to support broken filters.


Ok, well thanks for your effort though. It's just that with this file the MPC-HC AVI Splitter connects to FFDShow's Video and Audio Decoder no problem AND seeking is possible.
I thought your aim was to at least equal MPC-HC filters their capabilities, so that's why I'm reporting.

The MPC-HC AVI Splitter doesn't even get used for that file for me, it falls back to the MS Avi Splitter.
I didn't try forcing it manually in GraphStudio or something, just in MPC-HC itself.

Reino
19th December 2011, 20:17
No problem! I can understand you'd like to keep your code "clean". I don't know the details, but iirc QuickTime support in FFDShow is done with lots of hacks, so I can understand your reasoning. Thanks for the info.

boyumeow
20th December 2011, 03:59
@CoRoNe & Paladin77,
RoyTam build is at http://roy.orz.hm in case U need it to compare with. Thanks.

dead_screem
20th December 2011, 04:27
There isn't technically a "bug".
The logic does what its supposed to do - select the first program in a file which has audio and video - in your case its just not the program you want.yes, there is. It worked perfectly fine in 0.42, the main program gets selected. starting in 0.42.10 1seg gets selected. And unless there is something else to it... the main 1080i mpeg2 program IS the first program as far as i can tell by looking in mediainfo.


I could probably try to add some more logic to also prefer higher resolution content, however i would rather not add any more temporary hacks and just work on program switching at some point in the future. When, i cannot say.
seeing as this used to work fine... I would imagine that finding out what was changed between 0.42 and 0.42.10 and see what broke it.

Aleksoid1978
20th December 2011, 04:44
The MPC-HC AVI Splitter doesn't even get used for that file for me, it falls back to the MS Avi Splitter.
I didn't try forcing it manually in GraphStudio or something, just in MPC-HC itself.

Internal MPC Avi Splitter work fine with comedian.amv
http://i031.radikal.ru/1112/05/f0f5286218dct.jpg (http://radikal.ru/F/i031.radikal.ru/1112/05/f0f5286218dc.png.html)

nevcairiel
20th December 2011, 09:07
Internal MPC Avi Splitter work fine with comedian.amv
http://i031.radikal.ru/1112/05/f0f5286218dct.jpg (http://radikal.ru/F/i031.radikal.ru/1112/05/f0f5286218dc.png.html)

thats not the internal avi splitter, thats the stand-alone registered version. :P

nevcairiel
20th December 2011, 09:39
seeing as this used to work fine... I would imagine that finding out what was changed between 0.42 and 0.42.10 and see what broke it.

I found what changed, but anyway, that doesn't change the fact that its basically coincidence that the program you want is the first in the file.

Aleksoid1978
20th December 2011, 11:31
thats not the internal avi splitter, thats the stand-alone registered version. :P

No - it's internal filter. I don't have MPC-HC filter as external in system. It's connect to File Async source.

nevcairiel
20th December 2011, 20:58
Here is a test build of all changes up until now. You can consider it a release candidate.

http://files.1f0.de/lavf/LAVFilters-0.42-45-gbd824b1.zip

There have been a few regressions caused by the audio API change in ffmpeg, however i do hope that i got all of those fixed by now.

Preliminary changelog since 0.42:
- Improved mkv keyframe seeking
- Improved handling of soft-telecine material and cuvid deinterlacing
- Performance enhancements during buffering (less likely to cause your playback to glitch)
- Media Type fixes for some audio formats
- Disabled Float audio by default on Windows XP to avoid buggy audio drivers
- Improved support for 10-bit 4:2:2 content
- Fixed a crash in LAV Video when the downstream filter did not provide a aligned buffer
- Support for AMV decoding

I plan to release this tomorrow or the day after, so if you still find/know of any regression since 0.42 (or maybe another bug), say so now. :)

mkanet
20th December 2011, 22:11
Some of you might remember the issue I mentioned with mixed soft/hard telecined mpeg2 HDTV content.

Strictly for academic purposes (trying to educate myself), I was hoping someone would be nice enough to explain why people see the stuttering effect during soft-telecined sections of these type of mixed videos on specific video cards.

Is it that the video card doesn't honor soft-telecine flags in mixed content? What would be the best explanation to why the below Nvidia display cards can comfortably handle these parts of the videos; and, other display cards can't as well. I noticed that my Nvidia 545GT stutters even worse during the soft-telecine sections of the video when adding video processing such as edge enhancement, color enhancement, and AAx16).

Do some display cards with extra mpeg2 hardware decoding capabilities introduce a bug; or, is it performance related? I'm not sure why my old junky 2nd gen Purevideo HD GeForce 8500GT would playback this content very nicely; but my 4th generation Nvidia 545GT can't handle it. Both display cards have an IVTC option that's supposed to work; which I'm guessing only works when my display is set to 23.976hz:
http://i67.photobucket.com/albums/h283/mkanet/th_2IVTC.jpg (http://i67.photobucket.com/albums/h283/mkanet/2IVTC.jpg)
http://i67.photobucket.com/albums/h283/mkanet/2IVTC.jpg

This is the list of cards that are reported to not have any issues. All I have to do is swap my 545GT with the 8500GT for the stuttering to completely go away on mpeg2 (same computer, drivers, settings, and directshow filters):

GeForce 8500 GT
GeForce 8600 GT/GTS
GeForce 9300
GeForce 9400 (including ION platforms)
GeForce GT 430
GeForce GT 440

nevcairiel
20th December 2011, 22:20
This is not a topic directly related to LAV Filters, so please take it to a new thread for discussion.

FWIW, my GTX 570 and GTS 450 have no issues either.

mkanet
20th December 2011, 22:52
So sorry Nev. I didn't mean any disrespect. I guess I got spoiled by all the smart friendly people in this thread. I'll post my questions in a different thread. I will try to latest build to see if it will help any with the issue.

This is not a topic directly related to LAV Filters, so please take it to a new thread for discussion.

FWIW, my GTX 570 and GTS 450 have no issues either.

hubblec4
21st December 2011, 00:29
hi nevcairiel

this fearure:
Added support for MKV nested chapters

means that its possible to play a mkv with multiple editions?

i have tested it with the movie Green Lantern. there are two editons.
when i play the video i cant find any way to select the editions. the video plays the entire file (first editon and the rest).

nevcairiel
21st December 2011, 00:32
this fearure:
Added support for MKV nested chapters

means that its possible to play a mkv with multiple editions?


No, it does not. It means what it says, it allows you to navigate into nested chapters, ie a structure like this:

A
-> A1
-> A2
-> A2.1
B

Before, it would only show A and B.

It does not change playback at all. People need to stop assuming so many things. You mention MKV and chapter, and they are like "OMG OMG". Jeez. MKV has normal chapters, too! :)

sexus
21st December 2011, 07:24
Or just use LAV Audio decoder, it can decode pretty much everything.

Even though it's based on ffmpeg, which is (or was) limited to 16 bit in ffdshow for flac, I think nevcariel fixed that issue.


However, for guaranteed compatibility, it would be nice if madshi and nevcariel would access madflac in LAV Audio directly, the way he has with the Arcsoft DTS decoder.

Then we would have one complete audio decoder for everything. And stream switching, even for different audio types, should just work.


is this possible to integrate into your lav filters nevcairiel ? then we wouldnt have to use madflac anymore , since madflac crashes my mpchc on switching flac tracks in my movie -.-'







Here is a test build of all changes up until now. You can consider it a release candidate.

http://files.1f0.de/lavf/LAVFilters-0.42-45-gbd824b1.zip

There have been a few regressions caused by the audio API change in ffmpeg, however i do hope that i got all of those fixed by now.

Preliminary changelog since 0.42:
- Improved mkv keyframe seeking
- Improved handling of soft-telecine material and cuvid deinterlacing
- Performance enhancements during buffering (less likely to cause your playback to glitch)
- Media Type fixes for some audio formats
- Disabled Float audio by default on Windows XP to avoid buggy audio drivers
- Improved support for 10-bit 4:2:2 content
- Fixed a crash in LAV Video when the downstream filter did not provide a aligned buffer
- Support for AMV decoding

I plan to release this tomorrow or the day after, so if you still find/know of any regression since 0.42 (or maybe another bug), say so now. :)


well still waiting for dvd support ;)

ryrynz
21st December 2011, 07:50
Yeah having that is going to be awesome.
He's started on it as shown below, hopefully can make it into the next release.

http://code.google.com/p/lavfilters/issues/list

sexus
21st December 2011, 09:31
yeah i hope so too so we can finally remove ffdshow video from the equation for good ...

hubblec4
21st December 2011, 11:56
No, it does not.

Have you planned for the future such a function?

It is very important, as more and more films appear with two versions.I would like to keep both versions, and only Haali splitter can handle properly at the moment.

bjd
21st December 2011, 12:15
@nevcairiel

I am just testing the latest version of the video decoder and in particular the "Treat as Progressive" option.

1) If "Treat as Progressive" is enabled for mpeg2 source either soft telecine NTSC region1 dvd or region2 PAL and the cuvid decoder set to 50p/60p, I get either 50p or 60p rendered. Should I not get the same frame rate as I input as it is supposed to be a progressive stream being decoded so interlacing should be ignored ?

nevcairiel
21st December 2011, 12:50
I am just testing the latest version of the video decoder and in particular the "Treat as Progressive" option.

1) If "Treat as Progressive" is enabled for mpeg2 source either soft telecine NTSC region1 dvd or region2 PAL and the cuvid decoder set to 50p/60p, I get either 50p or 60p rendered. Should I not get the same frame rate as I input as it is supposed to be a progressive stream being decoded so interlacing should be ignored ?

Works fine here, no frame gets deinterlaced, it generates 24/25 fps on soft-telecine or PAL material respectively.

bjd
21st December 2011, 13:22
thanks Nev, that is what i expected it do :confused:

I will do some more testing as i am getting the same results on two different systems. So just to confirm i should be able to pass 23.976 from NTSC soft telecine or 25p PAL to MadVR with this option enabled ?

nevcairiel
21st December 2011, 13:23
Sure, but at least for soft-telecined NTSC the mediatype will most likely say 29.97, and not 23.976, sadly thats not easy to correct.

bjd
21st December 2011, 13:43
Thanks again.

It seems having Bob or Adaptive enabled overrides "Treat as Progressive" for me. None (Weave) corrects the issue,and then i can use the 47i madvr hack to get the display rate correct in madvr for NTSC source.

nevcairiel
21st December 2011, 16:21
LAV Filters 0.43

LAV Splitter
- Improved MKV seeking and demuxing performance
- Improved buffering for smoother playback (especially at start/after seeks)
- Fixed a few audio media type issues
- Fixed a minor resource handle leak

LAV Audio
- Updated to new ffmpeg audio decoding API
- Disabled Float Audio output on Windows XP by default

LAV Video
- Fixed handling of soft-telecined MPEG2/H264 broadcasts in CUVID mode
- Improved support for 4:2:2 10-bit streams
- Fixed a crash related to unaligned memory buffers on Windows XP
- Added support for decoding AMV streams


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.43.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.43.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.43-x64.zip)

Nothing to see here, move along!
In case you find a regression or another kind of bug, you may stay and report it, however.

Merry Christmas to everyone!

DragonQ
21st December 2011, 16:29
Thanks for the frequent and meaningful updates, nevcairiel. :)

fastplayer
21st December 2011, 16:30
I don't mind early Christmas presents! :D
Merry Christmas to you, too!
:thanks:

Inspector.Gadget
21st December 2011, 16:38
Thanks for the frequent and meaningful updates, nevcairiel. :)

This perfectly captures my thoughts on the matter. Hope you find time to rest up and recharge over the holiday period to bring us more innovation :thanks:

ney2x
21st December 2011, 18:22
As usual, perfect, smooth and flawless playback. Thanks! Merry Christmas to all!

STaRGaZeR
21st December 2011, 19:06
Merry Christmas to everyone!

Seems to work fine. Merry christmas :)

sexus
21st December 2011, 19:54
yes and possible dvd playback ....finally ...woot!!! xD

was hoping itd be an early christmas present but ...well guess you cant have everything at once ey? xD

keep it up nevcairiel the community would be a sad place without you ...or madshi xD

merry christmas and a happy new year in advance btw hohohohohohoh!!!! lolz xD

THX-UltraII
21st December 2011, 20:17
Hi Nevcairiel,

Sorry to bother you again with this LAV D-Box version thing but I would like to know something.

Is it possible that I somehow modify the setup version of LAV filters 'dbox edition' from 0.39 to 0.43 (http://htpcfordbox.over-blog.com/)

I ask this because I need some fixes you brought in 0.41 and 0.42 and the problem is that I can t get in touch anymore with the guy who wrote LAV filters D-Box edition which can be found in the link I mentioned above and he hasnt updated anymore since 0.40.

XadoX
21st December 2011, 20:36
Hmm somehow the stuttering is back again for me on my AMD Brazos E350. The stuttering is only at the beginning of a movie for around 30-60seks.

nevcairiel
21st December 2011, 20:46
Hmm somehow the stuttering is back again for me on my AMD Brazos E350. The stuttering is only at the beginning of a movie for around 30-60seks.

Sounds like you need a faster PC then. I changed nothing.
It sounds like your PC is barely able to keep up, which means when its still reading the file, it lags the decoders. I already reduced the priority of the file reading thread, but if that doesn't help (which apparently it did at first), then there is nothing to do. It needs to fill its buffers, or some features just won't work properly.

sexus
21st December 2011, 20:49
+1 lolz , talk about harsh facts xD

nevcairiel
21st December 2011, 22:52
Hi Nevcairiel,

Sorry to bother you again with this LAV D-Box version thing but I would like to know something.

Is it possible that I somehow modify the setup version of LAV filters 'dbox edition' from 0.39 to 0.43 (http://htpcfordbox.over-blog.com/)

I ask this because I need some fixes you brought in 0.41 and 0.42 and the problem is that I can t get in touch anymore with the guy who wrote LAV filters D-Box edition which can be found in the link I mentioned above and he hasnt updated anymore since 0.40.

There is nothing that can be done, because the guy didn't post the changes he did to the filters (which btw violates the license of LAV)

Paladin77
22nd December 2011, 00:05
Again and again. Great work Nev. Smooth playback and random crashes when seeking an mkv seems to be gone. Just one question: I have been reading the madVR thread as well as this thread regarding the choice of media players. I personally couldn't care less what the player looks like (madVR's fullscreen exclusive mode is a godsend). I was wondering which player would you recommend. I read a few pages back that mpc was criticised (what was, is and so far my only choice for a mediaplayer, I use a commercial product for DVDs for now *nudge nudge*). Anyway I was wondering what would be your recommendation for a media player?

Finally I would like to say: MERRY CHRISTMAS and a HAPPY NEW YEAR!

nevcairiel
22nd December 2011, 00:12
Meh, its really subjective which player you like. What i really dislike is people that claim "there is only one choice" (and in the same sentence also try to shut down any discussion)

I'm fine with MPC-HC just for simple playback. If you use a real PC for playing (not a couch controlled HTPC), its as simple as you're going to get - but controlling it with a remote control from your couch is annoying.
For my HTPC i'm using now JRiver Media Center, its easily controlled with my Logitech Harmony and natively supports LAV and madVR these days, and once i figured out its library, it lets me do all i want (need some learning time, though, which is why people also seem to prefer XBMC, its library is "automatic", but you sacrifice alot of flexibility with that). Its not free, however.

[ReX]
22nd December 2011, 00:21
The Splitter doesn't seem to respect the installer settings.
I disable MKV and MP4 using the installer, but when I go check the Splitter settings, they are still enabled.

nevcairiel
22nd December 2011, 00:39
;1546534']The Splitter doesn't seem to respect the installer settings.
I disable MKV and MP4 using the installer, but when I go check the Splitter settings, they are still enabled.

The installer needs a big overhaul anyway, however that specific bug should be fixed for the next version.

XadoX
22nd December 2011, 08:42
Sounds like you need a faster PC then. I changed nothing.
It sounds like your PC is barely able to keep up, which means when its still reading the file, it lags the decoders. I already reduced the priority of the file reading thread, but if that doesn't help (which apparently it did at first), then there is nothing to do. It needs to fill its buffers, or some features just won't work properly.
Thx for the fast feedback. Then I have to switch back to haali :(

mindz
22nd December 2011, 10:23
With this new version i get a ReClockHelpder.dll has stopped working error whenever i start an .MKV. Ive reverted back to 0.42 and the error went away. Looks like it has to do with the new version 0.43!

nevcairiel
22nd December 2011, 10:30
With this new version i get a ReClockHelpder.dll has stopped working error whenever i start an .MKV. Ive reverted back to 0.42 and the error went away. Looks like it has to do with the new version 0.43!

Works just fine here.
Also, i didn't really change anything that changes the external behaviour of the splitter in any way.

mindz
22nd December 2011, 11:01
Works just fine here.
Also, i didn't really change anything that changes the external behaviour of the splitter in any way.

Alright, ive uninstalled LAV Filters and ReClock, then reinstalled LAV Filters 0.43 and reinstalled ReClock after, now its working :).

nevcairiel
22nd December 2011, 11:02
How odd!
At least its working now.

DragonQ
22nd December 2011, 11:08
mindz, did you restart your machine after updating to 0.43? I didn't (most of the time software says it needs a restart, it's lying) and MediaPortal crashed when trying to play a video file. A reboot fixed it.

Paladin77
22nd December 2011, 11:41
Well not a very odd behaviour if you have overwritten the files instead of a clean install. Also reclock is known to cause RANDOM issues when a new player/filter is reinstalled (they do recommend reinstalling it in the readme files even).

Nev. Thanks for the prompt reply. I never said one player was good. I have a whole lot of player around here (pot,zoom, etc). I always keep an open mind regarding trying new things but still so far mpc-hc is comfortable as hell which explains why I keep coming back to it :)

Merry Christmas!

e-t172
23rd December 2011, 00:16
Question: I would like to use yadif deinterlacing together with CUVID hardware decoding. Is this possible with LAV Video? It seems that as soon as I select CUVID, LAV Video switches to hardware deinterlacing and there's nothing I can do about it.

Also, bug report: it seems that this video (http://e-t172.net/files/tf1hd-interlaced.wtv) (HDTV recording, TF1HD, France) isn't deinterlaced at all when using CUVID (tested on a GeForce 9400), even with "Force deinterlacing" and "Aggressive deinterlacing" checked. yadif is fine. Is there something you can do about it? What's strange is that the video is deinterlaced properly by the WMC renderer, which AFAIK calls the NVidia deinterlacer, like LAV Video.

nevcairiel
23rd December 2011, 00:17
Question: I would like to use yadif deinterlacing together with CUVID hardware decoding. Is this possible with LAV Video? It seems that as soon as I select CUVID, LAV Video switches to hardware deinterlacing and there's nothing I can do about it.


It should do it when you set the deinterlacer to weave.

I'll look at the other video later.

e-t172
23rd December 2011, 00:31
It should do it when you set the deinterlacer to weave.

Doesn't seem to work with the aforementioned video. With yadif enabled and hardware deinterlacing set to "None" the video is not deinterlaced. As soon as switch to software decoding, yadif kicks in and the video is deinterlaced properly.

nevcairiel
23rd December 2011, 00:37
Also, bug report: it seems that this video (http://e-t172.net/files/tf1hd-interlaced.wtv) (HDTV recording, TF1HD, France) isn't deinterlaced at all when using CUVID (tested on a GeForce 9400), even with "Force deinterlacing" and "Aggressive deinterlacing" checked. yadif is fine. Is there something you can do about it? What's strange is that the video is deinterlaced properly by the WMC renderer, which AFAIK calls the NVidia deinterlacer, like LAV Video.

The file seems to deinterlace just fine for me.

Doesn't seem to work with the aforementioned video. With yadif enabled and hardware deinterlacing set to "None" the video is not deinterlaced. As soon as switch to software decoding, yadif kicks in and the video is deinterlaced properly.

I just remembered, the NVIDIA decoder outputs NV12, and YADIF doesn't like that as input (and there is no conversion).

Any particular reason for wanting this? :d

e-t172
23rd December 2011, 00:58
The file seems to deinterlace just fine for me.

Surprising. I'm wondering if my GeForce 9400 is capable of deinterlacing 1080i content. But then again, it doesn't explain why deinterlacing works with WMC's renderer.

Come to think of it, I think I managed to make CUVID deinterlacing work *once* with this video, but I couldn't reproduce it. Seems like there is some voodoo magic going on here…

I just remembered, the NVIDIA decoder outputs NV12, and YADIF doesn't like that as input (and there is no conversion).

Any particular reason for wanting this? :d

Well, I prefer yadif over NVidia's adaptive deinterlacing. IMHO NVidia uses bob way too aggressively. There is very noticeable bobbing on static images, like the score count on a sports game, or still photos presented on live TV. Yadif seems much better at handling the content I'm watching.

Problem is, my HTPC doesn't have a very fast CPU. It can decode HDTV in software, or it can deinterlace it in software, but it can't do both at the same time. So the ideal solution for me would be to decode on the GPU and deinterlace on the CPU using yadif. Hence my request.

wanezhiling
23rd December 2011, 06:12
Hi nev

I remember LAV CUVID decoder (http://forum.doom9.org/showthread.php?t=160290) has mpeg4 asp support,why LAV Video decoder(CUVID mode) cancel this?

You know UVD3.0 could use wmp12/PotPlayer/tmt5 to decode mpeg4 asp, but I never heard another one(expect LAV CUVID) could do this for nVidia...

So, is there any plan to return the mpeg4 asp support to LAV.:stupid:

DragonQ
23rd December 2011, 10:38
Well, I prefer yadif over NVidia's adaptive deinterlacing. IMHO NVidia uses bob way too aggressively. There is very noticeable bobbing on static images, like the score count on a sports game, or still photos presented on live TV. Yadif seems much better at handling the content I'm watching.
Strange, I don't notice any "bob" at all with a GT430 using CUVID and "adaptive" deinterlacing (and I watch a lot of football so I'd have noticed with the time/score graphics).

It is possible that older nVidia cards have worse implementations of adaptive deinterlacing - IIRC AMD cards have "adaptive", "motion adaptive" and "vector adaptive" (getting progressively better) but older/weaker cards can't handle the latter one or two. It's also possible that your card simply can't do adaptive deinterlacing so when you choose it, it just defaults to bob?

Also, this page (http://www.missingremote.com/guide/basic-overview-gpu-hd-video-processing) indicates that newer drivers may break adaptive deinterlacing on your GPU. Have you tried using 182.5 as it suggests there?

hoborg
23rd December 2011, 23:27
Hi.
I have problem with new apple trailers, i cannot play them by any video decoder.
Here is a sample (http://www.megaupload.com/?d=3EVHE0SF).

Is possible to make it working or it is not supported by FFmpeg?

clsid
23rd December 2011, 23:55
I remember LAV CUVID decoder (http://forum.doom9.org/showthread.php?t=160290) has mpeg4 asp support,why LAV Video decoder(CUVID mode) cancel this?It was removed because:
1) It did not work properly
2) It is pointless to use HWA for formats that need very little CPU resources to decode

Pat357
24th December 2011, 03:50
It was removed because:
1) It did not work properly
Why do you think that ? Did you notice any problems with the Mpeg4 -ASP HW decoding ?
I used it with the older LAVCUVID and never had any worse results then with the ffmeg-based SW decoding.
2) It is pointless to use HWA for formats that need very little CPU resources to decode
Is there really such a big difference in decoding between similar content (say 1920x1080 @ 60 fps) encoded using h264 (BD compatible) and Divx ?
Would it need 2 times, 5 times or 10 times or more less resources for decoding compared to h264/AVC1 on BD ? Any idea about the factor ?
However what you say is probably true because divx encoding was popular in for encoding up to analog TV/DVD and lower resolution content,
while h264/AVC1 is used for much higher resolutions like HD content.
I haven't seen much HD content encoded using Divx, I don't know if that's even possible. I'll try it just to see what comes out. :)

mkanet
24th December 2011, 03:57
It looks like you're downloading broken files. There might be something wrong with your Internet connection or web browser. I just downloaded the latest trailers from apple. 720p and 1080p work fine using LAV video decoder.

720p Trailer:
http://trailers.apple.com/movies/wb/thedarkknightrises/darkknightrises-tlr1_h720p.mov

File size: 93.2 MB (97,800,718 bytes)
MD5 sum: 66e33d08ab273f5a01a35a4d887413ee

Hi.
I have problem with new apple trailers, i cannot play them by any video decoder.
Here is a sample (http://www.megaupload.com/?d=3EVHE0SF).

Is possible to make it working or it is not supported by FFmpeg?

mkanet
24th December 2011, 04:20
Does the "Maximum pre-rendered frames" setting on nvidia cards make a difference on LAV video CUVID? If so, does anyone know what would the theoretical optimal value would be for content with 3:2 pulldown? The default value that shows on my system is "3". I'm probably wrong, but I was thought maybe "4" would be the ideal setting since it takes 4 unique frames to complete one full 3:2 pulldown sequence before starting the cycle again; and, queuing up any extra frames would be wasteful.

nx6
24th December 2011, 10:36
Is there really such a big difference in decoding between similar content (say 1920x1080 @ 60 fps) encoded using h264 (BD compatible) and Divx ?
Yes.

You wouldn't encode in resolutions like that with XviD anyway. From what I hear the overhead of the AVI container format becomes unruly at those sizes, and if you're using MP4 or MKV then there's not much reason to use a less efficient codec like XviD anyway.

People encode to XviD/AVI for one reason only nowadays, and that's for PMPs or Divx DVD players. And in both those situations you're limited to 576p anyway. A PMP that supports HD resolutions will support h264 Main profile in MP4 container from what I've seen. Any modern PC you'd use for HD playback should be able to handle h264 (High) at HD resolutions in CPU.

If your system is that starved for horsepower you'd want to reserve the graphics card power for picture rendering only, unless you system really is built that lopsided.

ney2x
24th December 2011, 17:18
♪♫ Merry Christmas Everyone! ♪♫

VideophileII
24th December 2011, 23:16
Further to my earlier post, I can report that there is no problem with LAVFilters and SampleGrabber using version 0.43. Having said that, on this occasion I uninstalled CCCP (which had previously bestowed LAV upon my system) and am now using a bare-bones self-install of ffdshow tryouts and LAV 0.43.

I hope this info is useful to you (even though my earlier post was ignored or, hopefully, just overlooked)

Regards...

joe42
25th December 2011, 04:05
I tried 0.43 of LAV filters, but I found that seeking (jumping forward with MPC-HC) was sometimes taking a lot longer than with 0.42. For example, I have one key in MPC-HC set to jump forward 6 seconds. But with 0.43, the screen would sometimes freeze for about 5-10 seconds just to jump forward 6 seconds. I downgraded to 0.42 and seeks were fast again.

Alexey1975
25th December 2011, 09:32
Hello dear navcariel!

If installed GeForce 285.62 Driver (or later) there is an issue with LAV Video Codec: When using DVBViewer and LAV Video Codec to watch HD-broadcast, video image is crumbling to pieces. But if using any other codec to watch and record the stream, LAV Video Codec playing back this recorded stream with no any problem!
Please, take a look what is this.

Thanks.

Mixer73
25th December 2011, 09:40
Question: I would like to use yadif deinterlacing together with CUVID hardware decoding. Is this possible with LAV Video? It seems that as soon as I select CUVID, LAV Video switches to hardware deinterlacing and there's nothing I can do about it.

Hey Nev, I would like this too ;)

I just remembered, the NVIDIA decoder outputs NV12, and YADIF doesn't like that as input (and there is no conversion).

I guess given the above, its not possible then.

I also have a strange symptom with LAV Filters that if I do anything on my second screen, my video sometimes reverses fields. This started after I re-formatted so I'm presuming its one of the specific Nvidia settings, and am wondering if you could help me narrow down which GPU settings might be able to cause this sort of issue?

Win7/GTX260/Dual head...

e-t172
25th December 2011, 11:23
I guess given the above, its not possible then.

He meant that there is no conversion right now in LAV Video. It's actually quite easy (and lossless) to convert from NV12 to YV12 to make yadif happy.

nevcairiel
25th December 2011, 22:09
Making it convert from NV12 to YV12 internally is probably rather easy, can possibly just let avfilter do its on its own using swscale, such a simple conversion even it should manage. ;)
I just didn't think it would matter, as on my "newer" GPUs the adaptive GPU mode looks way better.

e-t172
26th December 2011, 10:28
I've posted this feature request as issue 154 (http://code.google.com/p/lavfilters/issues/detail?id=154).

DragonQ
26th December 2011, 11:44
If I set LAV to output only RGB32 whilst using CUVID, does it actually output RGB32 or is it still outputting NV12? Just wondering because RGB32 is supposed to help with banding (from what I've read) but it doesn't seem to make much difference.

nevcairiel
26th December 2011, 12:46
If I set LAV to output only RGB32 whilst using CUVID, does it actually output RGB32 or is it still outputting NV12? Just wondering because RGB32 is supposed to help with banding (from what I've read) but it doesn't seem to make much difference.

If you disable all output formats except RGB32, it will output RGB32, no matter what decoder is used or what it outputs.

Most renderes won't really produce any noticeable banding anyhow, there are some exceptions of course.
As a general rule, with madVR use the native formats (enable all output formats), with EVR use RGB32. This won't hold up for everyones needs, but its a good general guideline, imho.

DragonQ
26th December 2011, 13:07
Thanks. I am using EVR (only good option MediaPortal has) and have just RGB32 ticked. It's kinda hard to tell though because I've only noticed really obvious banding once and that was on a documentary about telescopes with many scenes containing big colour blocks (sky, space).

nevcairiel
27th December 2011, 14:15
I've posted this feature request as issue 154 (http://code.google.com/p/lavfilters/issues/detail?id=154).

Should be working just fine now. Luckily avfilter has a built-in functionality for format conversions.

adam777
27th December 2011, 19:11
Hi nev,
I'm having some issues with version 0.43, which seems to be related to the "Improved MKV seeking and demuxing performance" part of the changelog.
Basically, using 0.43 I get a lot more dropped frames comparing to 0.42 (usually "lots" vs "none").
While watching MKV video, every few minutes madVR's render and present queues (if I remember correctly) suddenly drops which results in dropped frames and a slideshow for a few (or more than few) seconds.
I tried playing a 10 minutes MKV video (1080p, H.264, DTS Core) using LAV filters (splitter+audio+video) and madVR - 0.42 had no dropped frames, 0.43 had 139.
The thing is, it does not happen in specific parts (so no sample) but happens in pretty much every MKV I tried.
Adam.

nevcairiel
27th December 2011, 19:14
That MKV change is unlikely to cause any negative effects, all that changed is that it no longer reads data that is not needed, instead of reading it and discarding it later.
How is your CPU load during watching, close to 100% maybe? Thats the only reason why it would ever happen, anyhow.

adam777
27th December 2011, 22:07
Weird, after trying many files and trying again the file mentioned above, now it works fine.
CPU isn't close to 100%, somewhere in the regions of 60%. Haven't seen any unusual external CPU activity.
I guess I'll keep an eye open should the problem arise in a more specific way.
Thanks.

nevcairiel
27th December 2011, 22:08
They do say talking about your problems helps...... :)

[ReX]
28th December 2011, 00:43
Just posting this in case it's helpful to anyone having the same problem.
I was having problems with inaudible voices with 6ch AC3 in AVI container (I assume it's commonly caused by the audio not being converted to Stereo), so I thought it was LAV Audio's fault, installed ffdshow (after trying a couple of old LAV Splitter versions) and made sure AC3 was decoded using it inside of MPC-HC, now the audio worked fine.
But I didn't settle for that, I then disabled AC3 decoding in ffdshow and re-enabled it in LAV Audio, and played the file using GraphStudio, the audio worked fine too.

Turns out the culprit was actually MPC-HC's internal AVI splitter, as soon as I disabled it and let LAV Splitter do its thing, the problem disappeared.

Edit: D'oh! Same thing happens with Haali if there's 6ch AC3 on MKV.

Edit #2: Everything started to magically work again without any workarounds, I don't know what the hell happened, but I'm glad it did.

Milardo
28th December 2011, 10:38
Hi, will lavfilters support decoding raw video anytime soon?

kypec
28th December 2011, 14:03
Maybe this is the solution :)

OR newer Microsoft Visual C++ 2010 SP1 Redistributable Package (x86) (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=c32f406a-f8fc-4164-b6eb-5328b8578f03) & Microsoft Visual C++ 2008 SP1 Redistributable Package (x64) (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=BA9257CA-337F-4B40-8C14-157CFDFFEE4E)
or increase the merit or remove (if exist) Haali's
Is there anything else I have to do in order to enable MKV playback in WMP? I've installed LAV Filters 0.43 with default settings and then installed VC++ 2010 runtimes (x86 & x64). I never installed Haali or anything like that...
Just for clarification - I do not want to use WMP as my preferred PC media player but I need it to be able to play MKV as this is the way how I stream media files from Windows 7 to my Samsung TV over LAN.

clsid
28th December 2011, 14:17
The runtimes are not needed anymore.

This will make WMP/WMC recognize mkv files:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.mkv]
"PerceivedType"="video"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\MLS\Extensions]
"mkv"="video"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.mkv]
"Runtime"=dword:00000007
"Permissions"=dword:0000000f
"PerceivedType"="video"

kypec
28th December 2011, 14:44
The runtimes are not needed anymore.
This will make WMP/WMC recognize mkv files:

Thanks clsid, much appreciated. Unfortunately, though this registry hack indeed made MKV playable in WMP they're still not visible on my TV. Other containers (AVI/WMV/MP4) stream just fine, oh well, I'll have to live with portable USB HDD (un)plugging once in a while between my PC and TV for the time being...

Mercury_22
28th December 2011, 17:51
Thanks clsid, much appreciated. Unfortunately, though this registry hack indeed made MKV playable in WMP they're still not visible on my TV. Other containers (AVI/WMV/MP4) stream just fine, oh well, I'll have to live with portable USB HDD (un)plugging once in a while between my PC and TV for the time being...
Try this Windows 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"

kypec
28th December 2011, 19:24
Mercury, thanks for info but I installed AllShare software (DLNA server provided by Samsung) meanwhile and it works just fine. Its configuration is also much more convenient for me so I'll just stick with that ;)

mllmx
29th December 2011, 02:52
Guys,
today I tried to bistream some DTS in WAV and sadly it didn't work. It either crashed the player (tested with Zoom Player, MPC-HC and Graph Studio) or resulted in some strange noise clicks in the speakers connected to the receiver (Integra DTR-40.3).
Strangely it worked a few times but only if I start the playback without bitstreaming and enable it afterwards in LAV Audio's config.
Is this problem happening only to me or there is some kind of general limitation? If it's not possible to make it work is it at least possible to make it not crash the player?
I have absolutely no problems with such files if I decode the stream with LAV Audio and then send it as multichannel PCM over the HDMI output of my video card.

having the same issue with .43, any other way to get bitstreaming to work?

mindbomb
29th December 2011, 06:15
any chance you can add a screen capture type thing to lav video?
so you can take screenshots with madvr.

Andy o
29th December 2011, 06:35
That's more like a renderer thing.

ryrynz
29th December 2011, 08:04
Use FRAPS or Afterburner for screenshots with MadVR FSE or use windowed mode.

Mr.White
29th December 2011, 16:42
having the same issue with .43, any other way to get bitstreaming to work?

Bitstreaming DTS in WAV works for me with MPC-HC, LAV Splitter and ReClock.
It doesn’t work if i ad LAV Audio to External Filters in MPC-HC so it gets loaded, then MPC-HC crash!

mllmx
29th December 2011, 17:20
Bitstreaming DTS in WAV works for me with MPC-HC, LAV Splitter and ReClock.
It doesn’t work if i ad LAV Audio to External Filters in MPC-HC so it gets loaded, then MPC-HC crash!

So I removed the wav headers with wav2dts and put them inside an mka with mkvmerge(I found that it also works if I just use the wav without using wav2dts as mkvmerge removes the header itself) and they play just fine by disabling lavaudio and letting ffdshow do the bitstreaming. I wonder if lavaudio has an issue with the header stripping part or maybe with the sampling rate, who knows? I just wish I could use lavaudio for this files too, since I’m already using it to bitstream DTS-HD and TrueHD to my receiver.

I just find out that disabling the "use DTD-HD framing for all DTS types" option allows lavaudio to bitstream without crashing MPC, but the sound is really pitchy, it's like 1.5x faster than it should(I've never heard the chipmunks singing a Beatles song before)

DragonQ
29th December 2011, 17:32
I'm probably missing something obvious but what is the advantage of bit-streaming to your receiver or TV, rather than simply decoding and sending PCM (which is supported by HDMI up to 7.1, 24 bit, 192 kHz).

mllmx
29th December 2011, 17:59
I'm probably missing something obvious but what is the advantage of bit-streaming to your receiver or TV, rather than simply decoding and sending PCM (which is supported by HDMI up to 7.1, 24 bit, 192 kHz).
Well it’s really more of a personal preference thing, but I can tell you from my own experience that for instance the PCM signal is fairly quitter than the bitstreamed one so I have to use more power to achieve the same volume, I can’t use any sound mode with PCM (PLIIx, etc), I have to rely on windows mixer that may or may not alter the original signal or use reclock with WASAPI exclusive hence adding one more link to the filter chain, you also may encounter with the Bluray swap surround thing (BS-SS) and finally I really like to see my receiver lighting up the DTS, DTS-HD logo instead of the “MULTCH IN 7.1” legend.

DragonQ
29th December 2011, 20:26
I have an MKV file that plays fine when using the MPC-HC decoder but not when using the LAV Video Decoder (CUVID disabled). It plays a second or so, then freezes, then continues, with a crazy graph. Here's a sample:

http://www.mediafire.com/?54asyk494jkgd20

It doesn't seem to matter if I tick or untick LAV Splitter (which is set to "preferred") within MPC-HC, although I'm not entirely sure whether it's being used or not.

Mr.White
29th December 2011, 21:29
I have an MKV file that plays fine when using the MPC-HC decoder but not when using the LAV Video Decoder (CUVID disabled). It plays a second or so, then freezes, then continues, with a crazy graph. Here's a sample:

http://www.mediafire.com/?54asyk494jkgd20

It doesn't seem to matter if I tick or untick LAV Splitter (which is set to "preferred") within MPC-HC, although I'm not entirely sure whether it's being used or not.

Same for me if i use LAV splitter/Audio/Video + EVR, plays fine if i switch to madVR!

dbone1026
30th December 2011, 15:22
Nev,

This is going to sound like a rather dumb question. Using Lav + MPC HC, if I have these settings checked off only subtitles that have been flagged as forced will be presented to MPC HC, correct?

http://i44.tinypic.com/14brf9t.jpg

The reason why I ask, I was doing a test to see if MakeMKV was setting the forced subtitle flag. I created an mkv of District 9, and using the LAV setting above the forced subtitles appear properly in MPC HC (which would indicate that the forced flag has been properly set).

However, if I take the same mkv and dump it into mkvmerge the subtitles are not flagged as forced, just default. I am guessing now that this may just be an issue with how mkvmerge shows (possibly not keeping the flag MakeMKV creates)

http://i40.tinypic.com/m8z2fm.jpg

nevcairiel
30th December 2011, 15:32
Sounds like mmg has it wrong.
You can always check in MPC-HC by going to the Filters -> LAV Splitter context menu, which would show the flags it detected.

dbone1026
30th December 2011, 15:38
Sounds like mmg has it wrong.
You can always check in MPC-HC by going to the Filters -> LAV Splitter context menu, which would show the flags it detected.

Thx, that is what I thought. Just wanted to confirm before I spoke with the mmg dev. Have a happy new year

robpdotcom
30th December 2011, 15:51
I don't think MakeMKV is capable of setting a "forced" flag on streams yet. However, LAV is capable of detecting forced subs that are part of the full subtitle stream. I suspect that is why you are seeing the correct subs displayed, even though none of the streams are flagged as forced.

MakeMKV might have extracted the forced subs, created a new stream that contains only the forced subs, but still kept the flag for each individual line. So, the entire stream does not have the forced flag in the mkv header, but each line within the stream is flagged as forced.

mmg probably has it right - you can check by opening the file in mmg's header editor, and look to see if the streams are set with the forced flag (and set the flags if they aren't). You could also extract the stream with mkvExtract - run it through BDsup2sub, and I'll bet it tells you that all of the subs are forced subs.

nevcairiel
30th December 2011, 15:57
I. However, LAV is capable of detecting forced subs that are part of the full subtitle stream. I suspect that is why you are seeing the correct subs displayed, even though none of the streams are flagged as forced.

That might also be the case.
In any case, look at the stream list in MPC-HC and see which flags are there.

dbone1026
30th December 2011, 15:58
I don't think MakeMKV is capable of setting a "forced" flag on streams yet. However, LAV is capable of detecting forced subs that are part of the full subtitle stream. I suspect that is why you are seeing the correct subs displayed, even though none of the streams are flagged as forced.

MakeMKV might have extracted the forced subs, created a new stream that contains only the forced subs, but still kept the flag for each individual line. So, the entire stream does not have the forced flag in the mkv header, but each line within the stream is flagged as forced.

mmg probably has it right - you can check by opening the file in mmg's header editor, and look to see if the streams are set with the forced flag (and set the flags if they aren't).

I think it is the second point as MakeMKV is extracting the forced subtitles, not keeping the full subtitle stream. Interesting, I did not know each line could have its own flag. If this is the case then is LAV looking at each line and not the full stream?

dbone1026
30th December 2011, 15:58
That might also be the case.
In any case, look at the stream list in MPC-HC and see which flags are there.

Going to look at now

glorp
30th December 2011, 16:53
Sounds like mmg has it wrong.
You can always check in MPC-HC by going to the Filters -> LAV Splitter context menu, which would show the flags it detected.

MediaInfo GUI also shows the status of the forced and default flags in an mkv now. IIRC, a recent (and welcome) addition.

graeme
30th December 2011, 18:04
Hi Nev.

Is there any chance you could provide a workaround for this crash in graphedit when the LAV decoders are installed? I know it's not a problem of your making, but really want to be able to GraphEdit with the LAV decoders install. I'm happy to avoid using the LAV decoders with GraphEdit, but I'd like it to not crash with LAV installed.

I want the LAV decoders to work well with my application (NextPVR previously known as GBPVR), but for now I've had to leave the LAV decoders uninstalled because I really need GraphEdit working. I have tried numerous times in the past few years to use GraphStudio, but it's just not for me. I prefer to work in GraphEdit.

Is there possibly some workaround you can do in the decoder if the process name is "GraphEdit.exe", or if some registry flag is set?

nevcairiel
30th December 2011, 18:05
Is there any chance you could provide a workaround for this crash in graphedit when the LAV decoders are installed? I know it's not a problem of your making, but really want to be able to GraphEdit with the LAV decoders install. I'm happy to avoid using the LAV decoders with GraphEdit, but I'd like it to not crash with LAV installed.

Use GraphStudio. Workaround as good as any.

graeme
30th December 2011, 18:13
I commented above about not wanting to use GraphStudio.

There must be something else we could do to get GraphEdit to function on a machine with LAV installed?

nevcairiel
30th December 2011, 18:17
There must be something else we could do to get GraphEdit to function on a machine with LAV installed?

There is not.
It crashes as soon as one filter has more then 100 media types registered. You cannot make that conditional.

I see no reason to not use GraphStudio, it offers basically everything GraphEdit offers, plus more. Anyhow, its your choice. I'll not artificially cripple my filters to support a broken tool.

clsid
30th December 2011, 18:21
You would have to manually reduce the number of mediasubtypes in the filterdata to avoid the crash with graphedit. GSpot has the ability to edit the filterdata. You will lose the ability to play any formats for which you remove the subtype.

graeme
30th December 2011, 18:38
You would have to manually reduce the number of mediasubtypes in the filterdata to avoid the crash with graphedit. GSpot has the ability to edit the filterdata. You will lose the ability to play any formats for which you remove the subtype.That'd be fine with me. The reality is I'll only ever use LAV for certain audio video formats (those used in digital tv). I just want it not to crash GraphEdit having these decoders installed. Thanks - I'll check it out.

Mixer73
31st December 2011, 00:28
Nev,

I mainly use my machine for playing back DVR-MS files recorded by the TV Scheduler Pro program, basically just MPEG2 content in DVR-MS for compatibility with Windows Media Centre.

I note your splitter doesn't support DVR-MS, is this something that could be added?

mindbomb
1st January 2012, 20:24
I just experienced a bug.

While watching an mkv with several different vobsub tracks, the subtitle track actually switched mid video without me doing anything.

DragonQ
1st January 2012, 20:33
Nev, could you have a look at this file please?
I have an MKV file that plays fine when using the MPC-HC decoder but not when using the LAV Video Decoder (CUVID disabled). It plays a second or so, then freezes, then continues, with a crazy graph. Here's a sample:

http://www.mediafire.com/?54asyk494jkgd20

It doesn't seem to matter if I tick or untick LAV Splitter (which is set to "preferred") within MPC-HC, although I'm not entirely sure whether it's being used or not.

If it's EVR's fault then I guess not much can be done but if it's an LAV problem hopefully it can be fixed!

nevcairiel
1st January 2012, 21:11
I just experienced a bug.

While watching an mkv with several different vobsub tracks, the subtitle track actually switched mid video without me doing anything.

Thats impossible, either your player did something or the track itself suddenly contained something different.

mindbomb
1st January 2012, 23:21
yea, i thought it was very peculiar too.
I think it may be an mpc hc bug then.

edit:
On further analysis, yea, it looks it was a problem with the bluray itself. They screwed up their subtitles.

RBG
2nd January 2012, 21:07
Bug report.

I've got video file from cam. recorder, every time I try to rewind it forward, video just stops and sound keeps going. The bug occurs when LAV decoder is being used with every avi splitter present in my system(mpc avi, pot avi, avslplitter, windows avi splitter), except LAV splitter itself. When I am using another AVC decoder(Cyberlink, Arcsoft) everything is fine with all splitters.

http://www.filefactory.com/file/c1bbb12/n/00000002.AVI - sample.

mediaInfo

Video
ID : 0
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L5.0
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Format settings, GOP : M=1, N=15
Codec ID : H264
Duration : 3mn 3s
Bit rate : 8 389 Kbps
Width : 1 440 pixels
Height : 1 080 pixels
Display aspect ratio : 4:3
Frame rate : 15.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.360
Stream size : 183 MiB (90%)

Stephen R. Savage
3rd January 2012, 03:40
nevcairiel,

I don't know if this has been requested before, but can you make it so LAV Splitter exports track information such that the audio track can e.g. be selected from the "Languages" menu in MPC-HC? If not, a tray icon to switch tracks would be appreciated, as currently the only way to change tracks is to go to Filters --> <filename> --> Submenu, which can be quite tedious.

Edit:
Also, can you comment on this suggestion I made several pages ago?

Well, might as well as another question. nevcairiel, is support for tags planned? It'd be neat to show Author/Track information for stuff like MP3, MP4, FLAC, OGG, etc. like in audio players.

nevcairiel
3rd January 2012, 07:49
I don't know if this has been requested before, but can you make it so LAV Splitter exports track information such that the audio track can e.g. be selected from the "Languages" menu in MPC-HC? If not, a tray icon to switch tracks would be appreciated, as currently the only way to change tracks is to go to Filters --> <filename> --> Submenu, which can be quite tedious.


You can use Navigate -> Audio Language/Subtitle Language, those should already populate and work fine.
Not sure what other Language option you would mean? I see nothing. :)


Well, might as well as another question. nevcairiel, is support for tags planned? It'd be neat to show Author/Track information for stuff like MP3, MP4, FLAC, OGG, etc. like in audio players.
I suppose thats possible, not sure any player would actually show it. There is one pre-defined API from MS which has fields for Author and (Track-)Title (and some other fields), but its no generic way to export all metadata.

CruNcher
3rd January 2012, 11:13
@Nev
Im really amazed mostly the whole *.ts database plays flawless only 2 issues are left where im not quiete sure if they might be splitter related
http://forum.doom9.org/showpost.php?p=1548466&postcount=360

Especially the unsync issue and when seeking it becomes sync :)

Else its perfect but for now i tested only with ffdshow-quicksync .ts and with forcing deinterlacing off (no deinterlacing results yet)
MPC-HC splitter in comparison shows much more real Playback issues (from black screens upto hangs, though major feature difference would be still programm switching capability)

nevcairiel
3rd January 2012, 17:39
Nev, could you have a look at this file please?
If it's EVR's fault then I guess not much can be done but if it's an LAV problem hopefully it can be fixed!

That file is just broken, its timestamps are all over the place.
Its quite interesting that madVR can handle that properly.

For the record, i also get the same effect when using the MPC-HC decoder.
Only thing that seems to work is ffdshow, but i also know why. It usually ignores any MPEG2 timestamps and trys to come up with its own - which is a terrible idea. So easy to go out of sync.

nevcairiel
3rd January 2012, 18:09
Bug report.

I've got video file from cam. recorder, every time I try to rewind it forward, video just stops and sound keeps going. The bug occurs when LAV decoder is being used with every avi splitter present in my system(mpc avi, pot avi, avslplitter, windows avi splitter), except LAV splitter itself. When I am using another AVC decoder(Cyberlink, Arcsoft) everything is fine with all splitters.

http://www.filefactory.com/file/c1bbb12/n/00000002.AVI - sample.

Fixed, at least in software mode. In CUVID mode it still happens, will need some magic there, i think.

RBG
3rd January 2012, 19:48
Fixed, at least in software mode. In CUVID mode it still happens, will need some magic there, i think.

Thanks. I guess, I just have to wait for 0.44 version. By the way, same situation with FFdshow Quick Sync rev4185, video playback stops after rewind on this sample.

psymed
3rd January 2012, 20:34
Does the movie gladiator at 3h02m40-45s skip to the credits for anyone else?
Is the movie supposed to be 3h09m45s?

edit: nvm

DragonQ
4th January 2012, 02:16
That file is just broken, its timestamps are all over the place.
Its quite interesting that madVR can handle that properly.

For the record, i also get the same effect when using the MPC-HC decoder.
Only thing that seems to work is ffdshow, but i also know why. It usually ignores any MPEG2 timestamps and trys to come up with its own - which is a terrible idea. So easy to go out of sync.
OK thanks for checking it out. I tried to run the raw MPEG2 stream through ReStream but it comes out with the same problems. :(

mark0077
4th January 2012, 20:25
nev, how is lav video decoder designed to handle acceleration of vc-1 on Nvidia cards that support only VDPAU feature set A. My GTX 295 only supports Set A which according to wikipedia is as follows

Feature Set A
Complete acceleration for H.264
Partial acceleration for MPEG-1, MPEG-2, VC-1/WMV9

When I watch vc-1, with cuda enabled all is fine for the most part, until certain scenes where the image will appear blocky for a second or so.

Of course I would love to leave cuda on for vc1 so in my case should I manually disable it, or is there anything that can be done from the lav video side to allow me to use this "partial acceleration" and still see a valid image? Cheers

nevcairiel
4th January 2012, 20:34
Its a bug in the driver, seems to have appeared a while ago. You could try different drivers, otherwise there isn't anything that can be done.

nevcairiel
4th January 2012, 22:45
Test version time!

http://files.1f0.de/lavf/LAVFilters-0.43-52-g1ec5766.zip

This is the latest build, and amongst mostly fixes and tweaking, it includes egur's QuickSync decoder for Intel GPUs.
The QuickSync decoder still has some glitches and rough edges, but its mostly ready for some action, so get nuts on it.

It does not yet support hardware deinterlacing, its a pure decoder so far - but because the Intel hardware is so fast, its still worth it.
In contrast to the CUVID decoder which probably even costs extra power, this one has the potential to actually save a bit. ;)

I only tested it with Sandy Bridge, but it supposedly also works with previous Intel GPU series, as long as they have SSE 4.1 - which means Penryn or newer. It will however only be really fast on QuickSync enabled CPUs - Sandy Bridge and newer.

PS:
Also supported now is YADIF in conjunction with hardware decoding, so that the Intel decoding isn't left interlaced. :p

PPS:
The code on google code isn't up2date right now because pushing results in some odd error... my personal git host is updated, however.

DragonQ
4th January 2012, 23:01
Very nice! I shall try it tomorrow on my laptop - it doesn't have Sandy Bridge so no QuickSync but it has a first generation i5-430M (Arrandale) so it'll be interesting to see if it uses less CPU than pure software decoding.

pirlouy
4th January 2012, 23:11
(If I'm not wrong) Notice that you can't use QuickSync if you use a ATI or NVidia card. I don't know if it's an Intel imitation, or if it's Egur's one.

DragonQ
4th January 2012, 23:18
You can if you use Lucid Virtu with a Z68 motherboard.

pirlouy
4th January 2012, 23:32
Lucid Virtu is for crazy people who search problems, isn't it ? :D

CruNcher
4th January 2012, 23:32
you don't even need Virtu, Virtu is just the interface to alot new features in NT6 ;)

Test version time!

http://files.1f0.de/lavf/LAVFilters-0.43-52-g1ec5766.zip

This is the latest build, and amongst mostly fixes and tweaking, it includes egur's QuickSync decoder for Intel GPUs.
The QuickSync decoder still has some glitches and rough edges, but its mostly ready for some action, so get nuts on it.

It does not yet support hardware deinterlacing, its a pure decoder so far - but because the Intel hardware is so fast, its still worth it.
In contrast to the CUVID decoder which probably even costs extra power, this one has the potential to actually save a bit. ;)

I only tested it with Sandy Bridge, but it supposedly also works with previous Intel GPU series, as long as they have SSE 4.1 - which means Penryn or newer. It will however only be really fast on QuickSync enabled CPUs - Sandy Bridge and newer.

PS:
Also supported now is YADIF in conjunction with hardware decoding, so that the Intel decoding isn't left interlaced. :p

PPS:
The code on google code isn't up2date right now because pushing results in some odd error... my personal git host is updated, however.

Perfect :) especially having Yadif right there for EVR Custom though makes i guess more sense to use MadVRs Render Deinterlacer (DXVA2) with it then going to the CPU (For the Realtime Playback Case) but the more options the better :)

Btw Im not sure what happened but Arcsofts DXVA Decoder works better for VC-1 AP and MP (WMV3) now with Lav Splitter (it doesn't goes out of sync anymore, though it glitches heavily @ the start for the film test (WMV-HD Encode) until it locks the framerate right (over 10sec) and so gets the sync right, happens visibly and hearably faster with Arcsofts own Splitter only 3 seconds or so) and EVR Custom :) it's not as good as with Arcsofts own splitter (less glitches generally for a lot of files that even with the WMV-ASF reader show heavy peak issues in the middle of the stream somewhere and cause double paint time issues for a small time) but Arcsofts Splitter cant parse as much files from the test database even crashes MPC-HC experimental on the Microsoft Build 2011 Official WMV Keynote Download (which is strange, tough largest non AP test with 5.6 GB)

STaRGaZeR
4th January 2012, 23:45
You need to have your monitor connected to the IGP in order to use it right? Or is just having it activated enough?

pirlouy
4th January 2012, 23:53
With my Radeon plugged, I have no image on motherboard connectors. Maybe it's different with NVidia (remember Nevcairiel mentioning something about it).
But I remember having read on Anandetch that IGP should be disabled as soon as a third party GPU is detected...

STaRGaZeR
5th January 2012, 00:00
No, the IGP can be active and functional at the same time, check your BIOS. You have to be on W7 thou. But I'm afraid that in order to use this the IGP has to drive the monitors. I can run Virtu, but it doesn't work properly. Plus dual link DVI is just a no-no with Intel, so I'm out.

RBG
5th January 2012, 02:13
(If I'm not wrong) Notice that you can't use QuickSync if you use a ATI or NVidia card. I don't know if it's an Intel imitation, or if it's Egur's one.

In fact you can. You have to create virtual VGA display connected to Intel HD graphics, then extend your primary desktop there, and after that you can use QS decoder even if you have Nvidia/Ati card as a main device.

http://forum.doom9.org/showthread.php?p=1532786#post1532786 - full instruction here.

asasadad_1
5th January 2012, 02:30
here (http://uploading.com/files/3dcc8ba9/rmvb.mkv/) is a mkv file contain realvideo&cooker, LAV splitter + LAV decoder(A+V), audio stutter;AV splitter +LAV decoder(A+V) ok.

Superb
5th January 2012, 02:34
I've started recommending using LAV Filters in my codec installation instructions on a Hebrew site.
Few things people reported:
a) When enabling CUVID on a system w/o a NVIDIA card, opening a (H.264/mkv) file seem to be "much" slower. Probably it figuring out CUDA isn't available, right? (is this supposed to take a while)
Proposed solution: make the installer check for the availability of CUDA (and now QS as well) and choose it automatically on such systems.

b) People reported a much lower volume levels (than ffdshow w/ mixer enabled) when playing 5.1 audio streams (ac3 or dts) on a 2.0 hardware setup.
Probable cause: windows mixer? sound drivers?
Workaround I give such people: enabling (http://i.imgur.com/Bv2rz.png) system-wide volume normalization.
I'm really not sure about a proper/proposed solution here. I mean, how will a built-in mixer in LAV Audio differ from the Windows mixer...?

clsid
5th January 2012, 04:16
I am not a fan of the Loudness Equalization feature of Win7. I prefer controlling volume just for video playback. Everything else is already loud enough.

A mixer is already on Nev's ToDo list. Hopefully that will include an option to apply a gain to the center channel when downmixing. That is one way to solve the volume issue. Another would be a simple normalization option like in ffdshow.

Superb
5th January 2012, 04:27
I'm not a fan of it either, but it's a temporary workaround.
Does ffdshow apply a gain to the center channel automatically (when using its mixer w/ the 2.0 preset)? That would explain why people say they had a higher volume w/ it (than the Windows built-in mixer).
Note: they didn't turn on normalization in ffdshow. The higher volume was "out-of-the-box" after choosing 2.0 channel mixer in the installer.

EDIT:
Until a custom built-in mixer will be available in LAV Audio... Maybe it would be possible to control the Windows mixer a bit:
http://msdn.microsoft.com/en-us/library/ms678838.aspx (the SetLevel method inherited from IPerChannelDbLevel)

Midzuki
5th January 2012, 04:58
Another possible "temporary workaround": AC3Filter :)

( I'm assuming it works properly on Windows 7, on my Vista-64 notebook it works very well :cool: )

Superb
5th January 2012, 05:13
Another possible "temporary workaround": AC3Filter :)

( I'm assuming it works properly on Windows 7, on my Vista-64 notebook it works very well :cool: )It does work. And so does ffdshow. But I rather have the least number of filters in my chain, don't you?

dead_screem
5th January 2012, 07:12
Its a bug in the driver, seems to have appeared a while ago. You could try different drivers, otherwise there isn't anything that can be done.

258.96 is the last ver to work right. And I think its actually hardware deinterlacing related. cause if i set CUVID to weave with newer drivers the blocking goes away.

nevcairiel
5th January 2012, 07:45
258.96 is the last ver to work right. And I think its actually hardware deinterlacing related. cause if i set CUVID to weave with newer drivers the blocking goes away.

It still is somehow related to partial acceleration, because it doesn't happen on cards with full acceleration capabilities. It might just be coincidence and depend on the series of the card, but somewhere is another factor in there. :)

nevcairiel
5th January 2012, 07:47
(If I'm not wrong) Notice that you can't use QuickSync if you use a ATI or NVidia card. I don't know if it's an Intel imitation, or if it's Egur's one.

Like others already said, you need the GPU to be active.
There are several ways to fake that, the most useful being the "fake" VGA monitor which you can just trick Windows into using.

I think it was also linked before, but so everyone sees it, here its again:

http://forum.doom9.org/showthread.php?p=1532786#post1532786

Another general limitation is that the decoder only works on Vista/7, but thats a limitation in Intels drivers and i doubt it'll ever change. So, no XP love for you!

STaRGaZeR
5th January 2012, 13:12
Eh, the fake screen trick seems to work. Will report my findings later. For now, it looks very promising: same power consumption as DXVA :D

magilvia
5th January 2012, 13:18
Hi folks, I'd like to report a possible bug with lav splitter and the lord of the ring italian blu-ray extended edition. All my others blu-ray plays flawlessly but with these ones the audio tracks are not recognized correctly. LAV recognizes 6 tracks in the stream, see the image attached: the first (english eac3 mono) according to the package specs, should be DTS-HD 6.1 and crashes MPC if selected. The second (italian ac3 stereo) should be DTS-HD 6.1 too but outputs no audio if selected. The others are commentary and work good.
Power dvd recognizes 6 audio tracks too, english,italian,4x english and works good with each one.
Media info report attached (doesn't make much sense to me too)

Thank you very much for your hard work.

betaking
5th January 2012, 13:20
to:nevcairiel i Compiling last lav but i can not see IntelQuickSyncDecoder.dll ?
i not install intel media sdk !but comp ffdshow i can Comp IntelQuickSyncDecoder.dll! do i need install last intel media sdk beta?

cyberbeing
5th January 2012, 13:42
If I load LAVSplitter.ax in MPC-HC as an external filter (using Browse) without it actually being registered, I've occasionally been getting crashes in MPC-HC citing avformat-lav-53.dll when opening a new video. No idea if this is a MPC-HC bug or a LAV bug, but even though this is non-standard usage, I'd be nice if it worked reliably.

nevcairiel
5th January 2012, 13:44
That mode is somewhat unstable in MPC-HC for filters that rely on external dlls, i tried to fix it some time ago, but it never worked 100%. Its a MPC-HC bug. Register the filters already. :)

nevcairiel
5th January 2012, 13:46
Hi folks, I'd like to report a possible bug with lav splitter and the lord of the ring italian blu-ray extended edition. All my others blu-ray plays flawlessly but with these ones the audio tracks are not recognized correctly. LAV recognizes 6 tracks in the stream, see the image attached: the first (english eac3 mono) according to the package specs, should be DTS-HD 6.1 and crashes MPC if selected. The second (italian ac3 stereo) should be DTS-HD 6.1 too but outputs no audio if selected. The others are commentary and work good.
Power dvd recognizes 6 audio tracks too, english,italian,4x english and works good with each one.
Media info report attached (doesn't make much sense to me too)

Thank you very much for your hard work.

I would need a short sample from the m2ts file on the disc (maybe 20-30mb), otherwise there isn't anything i can do.
Use a tool like DGSplit to cut the first few MB off, and then upload it to mediafire or multiupload.

cyberbeing
5th January 2012, 13:50
Register the filters already. :)
Does LAV Filters backup and revert the Media Type registry settings to their previous values on unreg, uninstall, and when unselecting a format?

Qaq
5th January 2012, 14:00
AFAIK, DTS-HD, DTS-ES 6.1/6.0 requires ArcSoft DTS Decoder v.1.1.0.0. 7 & 8 have troubles with 6.1.

nevcairiel
5th January 2012, 14:04
Does LAV Filters backup and revert the Media Type registry settings to their previous values on unreg, uninstall, or when unselecting a format?

It reverts them to defaults on uninstall, not the previous value. This only applies to the installer, unregistering does no magic.
Unselecting through the filter properties does nothing to media types, because its not running with elevated access.

I've been pondering on removing all sorts of media type handling from the DLL and let only the installer do it, that way it would seem more consistent (and only registering the filter would not do "harm", because it wouldn't touch anything)

AFAIK, DTS-HD, DTS-ES 6.1/6.0 requires ArcSoft DTS Decoder v.1.1.0.0. 7 & 8 have troubles with 6.1.

.8 at least works perfectly fine with 6.1, only 6.0 is broken (by broken i mean you only get 5.0 instead of 6.0). I've never seen anything use a 6.0 track, though.
Also, that only applies to decoding of course, the issue reported above seems to be an issue with identifying the streams in LAV Splitter, long before decoding happens. :)

nevcairiel
5th January 2012, 14:21
Proposed solution: make the installer check for the availability of CUDA (and now QS as well) and choose it automatically on such systems.


Somehow i expect users to at least know what kind of video card they have. Hey, even if not, when selecting the option in the GUI it checks for availability and tells the user - if they leave the option on anyway, not my fault. :p
I can probably make the software fallback process a bit faster, though.

One of these days i will need to make the installer smarter, however duplicating the compat checks in the installer is somewhat annoying.
If the auto-select process is fast enough i might add an "Auto" option that probes and selects the appropriate HW decoder.

to:nevcairiel i Compiling last lav but i can not see IntelQuickSyncDecoder.dll ?
I do not see a point in duplicating the code in my repository. If you want to build it, get the code from the official repository at http://sourceforge.net/projects/qsdecoder/

cyberbeing
5th January 2012, 14:28
It reverts them to defaults on uninstall, not the previous value. This only applies to the installer, unregistering does no magic.
Unselecting through the filter properties does nothing to media types, because its not running with elevated access.

I've been pondering on removing all sorts of media type handling from the DLL and let only the installer do it, that way it would seem more consistent (and only registering the filter would not do "harm", because it wouldn't touch anything)

If you removed the media type handling from the DLL, that may be helpful. Isn't it possible to add optional install switches to be used with regsvr32? That may let you have it both ways.

My main concern with installing splitters which support a lot of formats like LAV, is their tendency to break the Media Type registry settings for most other installed splitters/source-filters, including windows default splitters/source-filters which use quartz.dll and are unable to be easily re-registered, and even when you don't want to use the splitter you just installed for those formats.

Currently I'm forced to backup my registry key each time I install/test a new splitter so my system doesn't get left in a completely broken state if I choose the disable/uninstall at some point. This gets rather annoying, which is why the MPC-HC feature to use external filters without installing/registering is handy, it it was working reliably.

betaking
5th January 2012, 14:31
Somehow i expect users to at least know what kind of video card they have. Hey, even if not, when selecting the option in the GUI it checks for availability and tells the user - if they leave the option on anyway, not my fault. :p
I can probably make the software fallback process a bit faster, though.

One of these days i will need to make the installer smarter, however duplicating the compat checks in the installer is somewhat annoying.
If the auto-select process is fast enough i might add an "Auto" option that probes and selects the appropriate HW decoder.


I do not see a point in duplicating the code in my repository. If you want to build it, get the code from the official repository at http://sourceforge.net/projects/qsdecoder/

OK!big thanks!

Budtz
5th January 2012, 14:49
I am using lav audio and also reclock. If I play a dolby digital 5.1 file or a dts 5.1 file, I get dolby digital 5.1 wich is fine. If I play dts-es file however, I dont get digital surround but just dolby pro logic. Is there anything I can do to make my setup work with dts-es or 6.1 surround files?

Superb
5th January 2012, 15:39
Somehow i expect users to at least know what kind of video card they have.You would be surprised. People don't even know if they have a x64 system or not. (or "what is x64?")

If the auto-select process is fast enough i might add an "Auto" option that probes and selects the appropriate HW decoder.
That would be the ideal solution IMO.

Thanks for the answer.

fastplayer
5th January 2012, 16:24
MPC-HC freezes with this video (http://video.ch9.ms/ch9/08a6/26175b1f-8fb7-4d85-b1ce-9fb9011108a6/RefreshandresetyourPC_high_ch9.mp4) [36MB, MP4]. LAV Video (from build g1ec5766) together with madVR seem to be the cause as I couldn't reproduce the issue when using different combinations of MPC's internal filters, EVR-CP and LAV Filters. Disabling Multi-threading in LAV Video helps a bit, allowing to at least properly close the player.

If I use the release version of LAV 0.43, the video plays just fine with madVR as the renderer.

Setup: MPC-HC rev3936, LAV Filters (QS test build: g1ec5766), madVR 0.80

Edit: Builds 76ad254, 7ac7d48, 6fca483 and 8cc6a5a are affected as well. Build 49c4c15 is the last known working one that I could find.

magilvia
5th January 2012, 17:27
Hi Nevcairiel, I splitted the stream in chunks of 25M, the first chunk is processed with haali media source which exposes just the 4 commentary tracks. The successive chunks are instead processed by lav splitter and all 6 tracks are correctly recognised, two as DTS-HD 7 channels, and work good. There must be something wrong at the very beginning of the stream. BTW it's just "the two towers", disk 1 and 2 which presents this problem.
Here are the first chunks:
1st chunk 25M (http://www.megaupload.com/?d=BD5C3F8Q)
2nd chunk 25M (http://www.megaupload.com/?d=1MJ8MNC4)

STaRGaZeR
5th January 2012, 18:18
Here are some results from my limited QS tests:

- DXVA-like power consumption.
- Seeking creates a bit of corruption around moving stuff in the first frame after the seek. It doesn't happen with all H.264 files, x264 encodes are fine, but some BDs suffer it like this one (http://img269.imageshack.us/img269/3601/88596576.png).
- Seeking does something funny. If you seek to, for example, 00:20, audio starts playing from 00:20 as it should. But video most of the time starts from 00:15 or so. It plays normally, out of sync, from 00:15 until it decides to jump to the proper frame. This jump can be a simple skip, which is perceived as a 2-3 second jump, or it plays those 2-3 seconds very fast to catch the audio. Here's a graph that shows it (http://img849.imageshack.us/img849/9899/71750009.png). The spikes are the seek, and a bit later the fast movement to the proper position.
- It seems 16 ref frames are not properly supported. Sometimes you can get some seconds of proper playback, but it hangs the player shortly afterwards. Or it hangs the player without showing a single frame.
- Yadif double framerate mode results in 60fps for a 30i source as it should, but those frames are delivered at 30fps, which result in half video speed while the audio keeps going at normal speed.

DragonQ
5th January 2012, 18:55
I tried the QuickSync version but unfortunately it doesn't work with a pre-Sandy Bridge i5 (Arrandale). It just says "not supported" and even if I do select it, CPU usage is unaffected.

bjd
5th January 2012, 22:10
.8 at least works perfectly fine with 6.1, only 6.0 is broken (by broken i mean you only get 5.0 instead of 6.0).

Works here too providing the 'expand 6.1->7.1 flag' is ticked

nevcairiel
5th January 2012, 23:40
- Seeking creates a bit of corruption around moving stuff in the first frame after the seek. It doesn't happen with all H.264 files, x264 encodes are fine, but some BDs suffer it like this one (http://img269.imageshack.us/img269/3601/88596576.png).

It doesn't have a flag yet to tell me about corrupted frames, but i hope that can be added. Otherwise i'll try to hack something up.


- Seeking does something funny. If you seek to, for example, 00:20, audio starts playing from 00:20 as it should. But video most of the time starts from 00:15 or so. It plays normally, out of sync, from 00:15 until it decides to jump to the proper frame. This jump can be a simple skip, which is perceived as a 2-3 second jump, or it plays those 2-3 seconds very fast to catch the audio. Here's a graph that shows it (http://img849.imageshack.us/img849/9899/71750009.png). The spikes are the seek, and a bit later the fast movement to the proper position.

Managed to reproduce it as well as figure out why it happens, not sure how to fix yet.
Stupid Intel Media SDK uses unsigned for timestamps, and negative timestamps don't make it all too happy.....



- Yadif double framerate mode results in 60fps for a 30i source as it should, but those frames are delivered at 30fps, which result in half video speed while the audio keeps going at normal speed.

That seems odd, even impossible, YADIF will always take the timestamps of frame 1 and frame 2, make a new frame at exactly 1.5, in the center of the two, which will result in perfect doubling of the fps.
The only thing that doesn't change right now is the reported frame rate, which will remain at 30 fps.
I'll try to test it, but i doubt it.

Edit:
Seems to work just beautifully here.

mark0077
6th January 2012, 00:06
Its a bug in the driver, seems to have appeared a while ago. You could try different drivers, otherwise there isn't anything that can be done.

ty, you're right. If anyones interested, heres some nvidia drivers I tried, showing vc1 decoding was broken somewhere between 280.36 and 285.27 on these cards at least. (I tried using the working cuda related dlls with the newer drivers but that doesn't seem to work very well :P )

Nvidia Driver - Cuda dll version - Status
285.62 - 8.17.12.8562 - broken
285.38 - 8.17.12.8538 - broken
285.27 - 8.17.12.8527 - broken
280.36 - 8.17.12.8036 - working
280.26 - 8.17.12.8026 - working

Nev, regarding cuvid decoding in lav video. I am trying to push the quality of avisynth / svp frame interpolation settings on my machine again and so am trying to make sure all load during playback is spread as evenly across my machine to make best use of it.

I notice that lav video only seems to use one of the two gpus on my machine though. Is this by design or is this something that could be implemented in a future release of lav video?

PS: I'm using gpu-z to check the load on each of the gpus during playback.

nevcairiel
6th January 2012, 00:08
I notice that lav video only seems to use one of the two gpus on my machine though. Is this by design or is this something that could be implemented in a future release of lav video?


It'll always use the first compatible GPU it finds, and it cannot use two at the same time to spread the load, thats just plain impossible.

kalston
6th January 2012, 00:27
Works here too providing the 'expand 6.1->7.1 flag' is ticked

Works for me too without even ticking the 6.1 to 7.1 flag, using the Arcsoft 1.1.0.7 and not 8 though.

mark0077
6th January 2012, 00:27
ah I understand, no problem.

Would it possible to allow the user to choose which gpu to use in such cases, even via registry setting, like gpu_to_use=0 or gpu_to_use=1? My goal is to use svp on one gpu and lav video decoder on the other, to ensure both arn't maxing out one gpu, leaving the other idle... If its a big job to make it configurable no worries at all. I'm just greedy :D

nevcairiel
6th January 2012, 00:28
Pure decoding only uses the hardware decoder, a part of the GPU that SVP doesn't even touch. Don't worry about it.
(And interlaced material already gets deinterlaced to 50/60 fps, no need for SVP then)

mark0077
6th January 2012, 00:34
I know but I'm thinking more about heat than performance. I can see temperatures on one gpu reaching 80's and the other is 20c lower. When the gpu gets to ~90 I think it is, it starts throttling down and frames start getting dropped obviously because of that. Do you think putting cuda on the other gpu would bring this down a few degrees... I'd love to try if you're ever interested in making it configurable.

STaRGaZeR
6th January 2012, 01:33
That seems odd, even impossible, YADIF will always take the timestamps of frame 1 and frame 2, make a new frame at exactly 1.5, in the center of the two, which will result in perfect doubling of the fps.
The only thing that doesn't change right now is the reported frame rate, which will remain at 30 fps.
I'll try to test it, but i doubt it.

Edit:
Seems to work just beautifully here.

Okay, just found the cause. As you say, LAV works fine. That crap only happens with ffdshow (YV12 input to the normal video decoder, not that raw filter stuff) between LAV and the renderer doing some postprocessing. However it doesn't happen in software mode, so there's something in there to look after. I'm using ffdshow r3978, just in case.

Good luck on the other issues :)

Pat357
6th January 2012, 03:03
It seems that Lav-video can not play dirac video.
The lav-splitter connects and lav-audio is also working (I hear the audio), but the screen stays black.
In the filter list I see only Lav-spitter and lav-audio : lav-video is missing.

This is on the video-out pin from Lav-splitter :
Filter : LAV Splitter - CLSID : {171252A0-8820-4AFE-9DF8-5C92B2D66B04}

- Enumerated media type 0:

Video: DRAC 640x360 (160:99) 24.00fps

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {63617264-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 112

VIDEOINFOHEADER:
rcSource: (0,0)-(640,360)
rcTarget: (0,0)-(640,360)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 416667

VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 160
dwPictAspectRatioY: 99
dwControlFlags: 0x00000000
dwReserved2: 0x00000000

BITMAPINFOHEADER:
biSize: 40
biWidth: 640
biHeight: 360
biPlanes: 1
biBitCount: 12
biCompression: drac
biSizeImage: 345600
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0

pbFormat:
0000: 00 00 00 00 00 00 00 00 80 02 00 00 68 01 00 00 ........€...h...
0010: 00 00 00 00 00 00 00 00 80 02 00 00 68 01 00 00 ........€...h...
0020: 00 00 00 00 00 00 00 00 9b 5b 06 00 00 00 00 00 ........›[......
0030: 00 00 00 00 00 00 00 00 a0 00 00 00 63 00 00 00 ........*...c...
0040: 00 00 00 00 00 00 00 00 28 00 00 00 80 02 00 00 ........(...€...
0050: 68 01 00 00 01 00 0c 00 64 72 61 63 00 46 05 00 h.......drac.F..
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................


The files play fine in FFmpeg's Fplay and mplayer (uses the FFmpeg's codec too) :
Video: dirac (drac / 0x63617264)

Is it possible to at support for Dirac ? (is open format, sources are available and free to use)

nevcairiel
6th January 2012, 11:43
MPC-HC freezes with this video (http://video.ch9.ms/ch9/08a6/26175b1f-8fb7-4d85-b1ce-9fb9011108a6/RefreshandresetyourPC_high_ch9.mp4) [36MB, MP4]. LAV Video (from build g1ec5766) together with madVR seem to be the cause as I couldn't reproduce the issue when using different combinations of MPC's internal filters, EVR-CP and LAV Filters. Disabling Multi-threading in LAV Video helps a bit, allowing to at least properly close the player.

That was an odd bug, i can't explain why it didn't happen with 0.43, but anyhow, i fixed it.

Boltron
6th January 2012, 12:14
Lately I have been having problems seeking (by chapters usually) in many of my mkv movies. I finally decided to investigate and it seems to be caused by Lav 43. I went back to Lav 42 and it works fine. I have not had these kinds of seeking issues in a very long time. It doesn't seem to happen on all movies but I can tell you that it happens on Avatar EE and LotR The Two Towers both rips from Bluray into mkv created my MKVmerge.

I did try with MPC-HC 3898 and 3933 but it made no difference, only reverting to LAV 42 fixes the problem. I use the standard official releases of 42 and 43 btw and not any of the interim builds.

I use LAV, madVR and MPC-HC.

Boltron
6th January 2012, 12:17
Forgot to add, when I seek ahead by chapters and the seek problem occurs, my disk i/o reads jumps up to max until eventually the point is reached and playback resumes, it may take 20 seconds or longer.

nevcairiel
6th January 2012, 12:36
I have been over my library and all seek fine, no issues whatsoever. I even remuxed by Avatar EE Blu-ray to MKV and tested that, all fine!
In fact, the only changes to mkv seeking were to ignore any tracks that are currently inactive, because reading those is kind of a waste. :)

In any case, i reverted one change that also was in 0.43, although for this to cause any issues you would probably have to have a very underpowered system.
Anyway, try this, if you can:

http://files.1f0.de/lavf/LAVFilters-0.43-58-g2596e21.zip

fastplayer
6th January 2012, 12:46
That was an odd bug, i can't explain why it didn't happen with 0.43, but anyhow, i fixed it.
No issues with your g2596e21 build. :thanks:

Boltron
6th January 2012, 14:47
OK thank you, I will tonight and get right back to you.

ageback
6th January 2012, 14:53
How can I build IntelQuickSyncDecoder.dll?
The current build batch file doesn't generate this.

bjd
6th January 2012, 15:27
Lately I have been having problems seeking (by chapters usually) in many of my mkv movies. I finally decided to investigate and it seems to be caused by Lav 43. I went back to Lav 42 and it works fine.

I have the same issue although it only happens on .mkv with a forced .srt stream and seems to be just searching by chapters.

Anyway, try this, if you can:
http://files.1f0.de/lavf/LAVFilters-...8-g2596e21.zip

I just have, this did not fix the problem

nevcairiel
6th January 2012, 15:58
I have the same issue although it only happens on .mkv with a forced .srt stream and seems to be just searching by chapters.


Thanks, the subtitle hint helped, i managed to reproduce it on one file. The problem seems to be when subtitles are spread way too thin around the file, it would occasionally take really long to find one.

I basically changed it to not look for subtitles, and instead just assume they'll show up when they do. ;)

Give this a try:
http://files.1f0.de/lavf/LAVFilters-0.43-68-g049ef73.zip

bjd
6th January 2012, 16:27
I basically changed it to not look for subtitles, and instead just assume they'll show up when they do.

Give this a try:
http://files.1f0.de/lavf/LAVFilters-...8-g049ef73.zip

Thanks for the quick fix - working fine again now

nevcairiel
6th January 2012, 17:25
Is it possible to at support for Dirac ? (is open format, sources are available and free to use)

Done.

Pat357
6th January 2012, 18:20
Nev, if you would like a sample of a Dirac video, just say the word(s) :D
For decoding this video format, is it a matter of just enableling Dirac, or is there more involved ?
I gues (but could be wrong) in the worst cause you'd need to add the Schroedinger sources (free available) and compile these in in Lav-video.
But because FFmpeg already supports dirac video decoding, maybe things are a lot less cumbersome.

Damn, Nev, you are really fast !! :D

nevcairiel
6th January 2012, 18:56
- It seems 16 ref frames are not properly supported. Sometimes you can get some seconds of proper playback, but it hangs the player shortly afterwards. Or it hangs the player without showing a single frame.


I couldn't find a file with such problems, got any link to a known broken file?
Its possible that this was caused by a multi-threading bug in the decoder. I disabled the multi-threading parts for the time being.

Please re-test with the build below, and if it still happens, a link would be great.

nevcairiel
6th January 2012, 19:04
Another test build, something i consider a release candidate:

http://files.1f0.de/lavf/LAVFilters-0.43-70-g8105d18.zip

It contains an updated version of the Intel decoder which fixes a bug with mid-stream AR changing and some other minor fixes.

In addition, my integration of the decoder has been greatly improved, and most known issues resolved. The only issue remaining is that after seeks sometimes it can show a bit of corruption, but thats really nothing big, IMHO. :P
Ideally thats something the splitter should avoid by sending enough data, which is a topic i will address in LAV soon'ish. MKVs should hopefully already work pretty good, its mostly MPEG-TS that should suffer from this (and other some other formats)

A full changelog will follow with the release, i'm mostly looking for feedback on the Intel decoder right now. :)

nevcairiel
6th January 2012, 19:52
Hi Nevcairiel, I splitted the stream in chunks of 25M, the first chunk is processed with haali media source which exposes just the 4 commentary tracks. The successive chunks are instead processed by lav splitter and all 6 tracks are correctly recognised, two as DTS-HD 7 channels, and work good. There must be something wrong at the very beginning of the stream. BTW it's just "the two towers", disk 1 and 2 which presents this problem.
Here are the first chunks:
1st chunk 25M (http://www.megaupload.com/?d=BD5C3F8Q)
2nd chunk 25M (http://www.megaupload.com/?d=1MJ8MNC4)

I downloaded both chunks, and they seem to identify both just fine, and i properly get audio. :)
I had to enable the expand 6.1 to 7.1 option, though, for some reason the Windows mixer doesn't like downmixing 6.1 to stereo. :p

Please re-test with the test version posted just above this post ^
(Or with 0.44 once its available)

nevcairiel
6th January 2012, 20:13
I tried the QuickSync version but unfortunately it doesn't work with a pre-Sandy Bridge i5 (Arrandale). It just says "not supported" and even if I do select it, CPU usage is unaffected.

How odd, i would've thought it works.
That thing has a Intel GPU (not just CPU), and the GPU is being used, right?

Which driver version? I would recommend a update, the 2559 version is what i'm running, but granted thats on a SNB. ;)

STaRGaZeR
6th January 2012, 20:24
I couldn't find a file with such problems, got any link to a known broken file?
Its possible that this was caused by a multi-threading bug in the decoder. I disabled the multi-threading parts for the time being.

Please re-test with the build below, and if it still happens, a link would be great.

I just found something interesting thanks to your post. Get this clip (http://www.multiupload.com/96E38TN3HI). With MT enabled it works, with it disabled it doesn't (hangs in second 4 or so). However, even with MT, if you seek several times you can hang the player too.

Everything else I reported is fixed. Great work on the seeking BTW. Was going to report that a 2500x1700 or something clip didn't quite work as it should, but you disabled >2048 :P

I also found a bit of corruption in the VC-1 Matrix BD, at 00:50:35, when Morpheus kicks Neo. Guess this is a bug in the driver or the hardware, so meh.

On a side note, it'll be nice for the installer overhaul you have planned that when updating LAV the installer didn't overwrite the settings. It's easy to restore them with a .reg file, but for joe average can be a nuisance :p

nevcairiel
6th January 2012, 20:39
I just found something interesting thanks to your post. Get this clip (http://www.multiupload.com/96E38TN3HI). With MT enabled it works, with it disabled it doesn't (hangs in second 4 or so). However, even with MT, if you seek several times you can hang the player too.

How odd that it works with multi-threading, its just a thing in the interface to the decoder. Well, i'll report it to the author of the decoder, and we'll see what happens.



I also found a bit of corruption in the VC-1 Matrix BD, at 00:50:35, when Morpheus kicks Neo. Guess this is a bug in the driver or the hardware, so meh
Yeah we've reported quite a few VC-1 issues to the Intel driver team, but most of them seemed to only occur with Interlaced material. Anyhow, nothing that i can directly influence, so yeah, meh.

STaRGaZeR
6th January 2012, 21:16
Nice. Have you tried DVBViewer with QS? The corruption seems a lot more pronounced when changing channels, not minor at all in my book heh :p. Also one of the H.264 channels shows a black screen for 20-30 seconds, then it plays correctly.

nevcairiel
6th January 2012, 21:27
Have you tried DVBViewer with QS? The corruption seems a lot more pronounced when changing channels, not minor at all in my book heh :p.
Well, the only thing that can really be done is try to not show an image until the corruption is gone, which with live tv doesn't really help you, you still have to wait. ;)


Also one of the H.264 channels shows a black screen for 20-30 seconds, then it plays correctly.
Possible that its not sending a SPS/PPS, or might be a bug .. maybe i have on of those, gotta check
Edit: Seems i have one of those, hehe. Lets see!
Seems to happen on MPEG-2 > H264 changes, but not on H264 -> H264 changes, how odd.

nevcairiel
6th January 2012, 21:42
Found the reason for the 20-30 seconds delay, will get fixed i hope. :)

DragonQ
6th January 2012, 22:01
How odd, i would've thought it works.
That thing has a Intel GPU (not just CPU), and the GPU is being used, right?

Which driver version? I would recommend a update, the 2559 version is what i'm running, but granted thats on a SNB. ;)
Yes, the laptop doesn't have a separate GPU and I have the latest Intel HD Graphics drivers.

kolak
6th January 2012, 22:16
Is it possible to implement v210 or v410 or RG48 output?

What is Y410 is it 10 bit 4:4:4 YUV?

nevcairiel
6th January 2012, 22:19
Is it possible to implement v210 or v410 or RG48 output?

Possible, sure, useful ... why?
The formats currently implemented are the recommended 8, 10 and 16 bit formats by Microsoft, and while RGB48 might be useful, what can actually use it?


What is Y410 is it 10 bit 4:4:4 YUV?
Yes.

http://msdn.microsoft.com/en-us/library/windows/desktop/bb970578(v=vs.85).aspx

nevcairiel
6th January 2012, 22:59
Also one of the H.264 channels shows a black screen for 20-30 seconds, then it plays correctly.

Use this:
http://files.1f0.de/lavf/IntelQuickSyncDecoder-fix1.zip

It should also take care of the 16 ref-frame issue.

For anyone building their own version, the DLL is currently slightly modified with two fixes, egur knows about them and hopefully also commits them to the repository "soon".

STaRGaZeR
6th January 2012, 23:53
Yes, the laptop doesn't have a separate GPU and I have the latest Intel HD Graphics drivers.

Do you have the dll in its proper place?

Use this:
http://files.1f0.de/lavf/IntelQuickSyncDecoder-fix1.zip

It should also take care of the 16 ref-frame issue.

Gone is the 20 second issue :)

No issues after torturing some 16ref stuff either! :)

Boltron
6th January 2012, 23:56
I am happy to report that with LAVFilters-0.43-70-g8105d18 my seeking issues are gone. Thanks Nev.

DragonQ
7th January 2012, 00:25
Do you have the dll in its proper place?

Erm...I think I just downloaded the ZIP, extracted it somewhere and then ran the install.bat files. I left the DLL in the folder where the rest of the LAV Filters files are.

mindbomb
7th January 2012, 04:23
I have a few questions about the intel hardware acceleration.

it is for h264, vc-1, and mpeg 2, same like cuvid?
or just h264?

nevcairiel
7th January 2012, 10:02
I have a few questions about the intel hardware acceleration.

it is for h264, vc-1, and mpeg 2, same like cuvid?
or just h264?

It supports all 3.
That was one question btw, not "a few". :p

roytam1
7th January 2012, 11:13
It supports all 3.
That was one question btw, not "a few". :p

Sorry to bother you but did you forget to push your ffmpeg.git up?
I can't checkout new submodule updates:
/d/lavfsplitter$ git submodule update
fatal: reference is not a tree: 197257ad2a8a9f6eee9e64e9f45655b72a3ac1ee
Unable to checkout '197257ad2a8a9f6eee9e64e9f45655b72a3ac1ee' in submodule path 'ffmpeg'

nevcairiel
7th January 2012, 12:10
Fixed

Superb
7th January 2012, 12:19
@nevcairiel: I wonder, are you trying to push some of your local ffmpeg changes/fixes to the official ffmpeg trunk, or are they LAV-specific and won't fit there?

nevcairiel
7th January 2012, 13:09
@nevcairiel: I wonder, are you trying to push some of your local ffmpeg changes/fixes to the official ffmpeg trunk, or are they LAV-specific and won't fit there?

There are maybe 2 or 3 changes left that could use pushing, but nothing big. I've already submitted all other push-worthy changes to upstream. I usually wait at least for a while so that i can be sure they work. (Like, one LAV release cycle)

STaRGaZeR
7th January 2012, 15:28
How does Intel HW deinterlacing work? Never tried it TBH. Is it possible to obtain already deinterlaced frames from the QS decoder?

nevcairiel
7th January 2012, 15:29
How does Intel HW deinterlacing work? Never tried it TBH. Is it possible to obtain already deinterlaced frames from the QS decoder?

Yes its possible, but its not implemented yet.
The quality supposedly isn't on par with NVIDIA or ATI though, not sure how it compares to YADIF, so we'll see when its implemented.

DragonQ
7th January 2012, 15:54
Nev, you said that it was now possible to use YADIF with hardware decoding but I can't see any option for this in the Video Decoder settings window.

nevcairiel
7th January 2012, 15:56
Nev, you said that it was now possible to use YADIF with hardware decoding but I can't see any option for this in the Video Decoder settings window.
why would there need to be a new option?
Just activate it.

rack04
7th January 2012, 16:36
The Intel QuickSync decoder shows unavailable with my setup. Any thoughts?

http://i11.photobucket.com/albums/a199/rack04/LAVVideo.jpg

http://i11.photobucket.com/albums/a199/rack04/CPUZ.jpg

nevcairiel
7th January 2012, 16:44
The Intel QuickSync decoder shows unavailable with my setup. Any thoughts?

You need a H67 or Z68 board, and a screen connected to the onboard GPU. I also have no idea how it works with Virtu, if you run that.
Also, recent drivers help.

If you run a dedicated GPU, you can try to setup a "fake" screen on the Intel GPU following this guide:

http://forum.doom9.org/showthread.php?p=1532786#post1532786

rack04
7th January 2012, 16:59
You need a H67 or Z68 board, and a screen connected to the onboard GPU. I also have no idea how it works with Virtu, if you run that.
Also, recent drivers help.

If you run a dedicated GPU, you can try to setup a "fake" screen on the Intel GPU following this guide:

http://forum.doom9.org/showthread.php?p=1532786#post1532786

Does it matter that this is a laptop using the laptop display? I have a core i5-2540m with latest drivers.

DragonQ
7th January 2012, 17:23
why would there need to be a new option?
Just activate it.
Erm, activate what? I have YADIF enabled but when CUVID is enabled, so is hardware deinterlacing. Do you mean I have to set hardware deinterlacing to "None (weave)"?

nevcairiel
7th January 2012, 17:24
Erm, activate what? I have YADIF enabled but when CUVID is enabled, so is hardware deinterlacing. Do you mean I have to set hardware deinterlacing to "None (weave)"?

Thats kinda obvious, isn't it? :p
You don't want hardware deint, so turn it off.

STaRGaZeR
7th January 2012, 18:28
Yes its possible, but its not implemented yet.
The quality supposedly isn't on par with NVIDIA or ATI though, not sure how it compares to YADIF, so we'll see when its implemented.

Nice to hear that, can't wait to see it implemented.

mindbomb
7th January 2012, 21:15
That was one question btw, not "a few". :p

i was also gonna ask if the new intel atoms would work with this decoder, but then it seemed like a stretch, plus netbooks and nettops are going out of fashion it seems.

nevcairiel
7th January 2012, 21:17
i was also gonna ask if the new intel atoms would work with this decoder, but then it seemed like a stretch, plus netbooks and nettops are going out of fashion it seems.

No it doesn't work. The Atoms don't have the required hardware or instruction set support.

nevcairiel
7th January 2012, 22:35
LAV Filters 0.44

LAV Splitter
- Fixed a seeking regression in the mkv demuxer introduced in 0.43
- Fixed a bug that caused stream descriptions to vanish after the file finished playing
- Improved playback of WMVA video with commercial decoders
- Added support for the new OpenType MIME type produced by mkvtoolnix > 5.2.0

LAV Audio
- Fixed LATM AAC playback with some source filters

LAV Video
- Added Intel QuickSync hardware decoder
- Added support for YADIF with hardware decoding
- Added support for Dirac decoding
- Added support for DNxHD decoding
- Added support for v210/v410 output
- Improved dynamic reconnection with post-processing filters
- Fixed a seeking related corruption issue with MPEG4-ASP


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.44.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.44.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.44-x64.zip)

Intel QuickSync Decoder
The decoder is based on Eric Gur's decoder which is also used in ffdshow.
In theory, it should work with all Intel GPUs since Penryn, however i can only guarantee for Sandy Bridge based GPUs. Note, however, that it only works if the GPU is active, which means you need a monitor connected, or "fake" it.
Its limited to Windows Vista/7, it does NOT work on Windows XP.

For Multi-GPU setups, you can read this:
http://forum.doom9.org/showthread.php?p=1532786#post1532786

For general questions about QuickSync decoding, you can also refer to this thread:
http://forum.doom9.org/showthread.php?t=162442

If it doesn't work for you, the only things i can recommend checking is that the GPU is active and the drivers are up2date.
I do not have many experience with weird setups, i have monitors connected to my Intel GPU, and thus no experience with "fake" setups or Laptops with switchable graphics. You're free to ask, of course, but i cannot help you. :)

For everyone building their own version:
This build is using v0.22 of Erics decoder, which is r18 in his repository.

Known Issues:
- v210 output to madVR does not work properly. I think thats a madVR bug, but i cannot be sure until madshi gets back to me.

Midzuki
7th January 2012, 22:58
From the Changelog.txt:

LAV Video
...
...
- Added support for Dirac decoding
- Added support for DNxHD decoding
...
- Improved dynamic reconnection with post-processing filters
...

Great! :cool:

:goodpost: && :thanks:

kolak
7th January 2012, 23:25
Very great :) :thanks:

but I can't load DNxHD- look like splitter issue, not decoder :(
Works with 8bit DNxHD- is there no 10bit decoding?

update: it's not 10bit problem.

Problematic file is from AE- this seams to be issue.

nevcairiel
8th January 2012, 00:26
Problematic file is from AE- this seams to be issue.

I only had 2 sample files that both worked fine, if something isn't working, provide a sample so i can check it out.

kolak
8th January 2012, 00:51
I also tried another 2 files- 8bit and 10bit from AVID- both were fine. Decoding is in single thread thought and at about 30fps on i7 990x (4GHz).

nevcairiel
8th January 2012, 01:06
Yes, DNxHD is not multithreaded.

kolak
8th January 2012, 01:18
I've reinstalled filters and it works now.

It's quite funny- DNxHD encoder is multithreaded, but decoder not. ProRes is opposite :)

Here is something strange:

I've made AVI Prores file and it works fine except when it's loaded to some software directly it gets decoded in one thread.
When I load same AVI through avisynth (directshow source) than it works fine- all cores are working and speed is good.

Why?

Can we also have dithering as an option?

nevcairiel
8th January 2012, 01:58
Can we also have dithering as an option?

Dithering is always on, it cannot be turned off.

kolak
8th January 2012, 02:07
Dithering is always on, it cannot be turned off.

Ok :)

Mixer73
8th January 2012, 03:27
Hey Nev

Been testing JRMC as I seem to be too much of a noob to get the performance I want out of PotP or MPC-HC :P

I got the following on the second file:

Problem signature:
Problem Event Name: APPCRASH
Application Name: Media Center 16.exe
Application Version: 16.0.181.0
Application Timestamp: 4e9de255
Fault Module Name: LAVSplitter.ax
Fault Module Version: 0.37.0.0
Fault Module Timestamp: 4e8d4447
Exception Code: c0000005
Exception Offset: 000094bb
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 3081
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789


Was playing an MPEG2 in DVR-MS format... Using Red October HQ.

Using Nvidia 280.26 on Win7 64bit.

I also had 0.43 crash my media center yesterday playing a h264/mkv file but it crashed so bad I couldn't get a crash report out of it. Had to RDP in and kill ehshell.

CruNcher
8th January 2012, 04:39
LAV Filters 0.44

LAV Splitter
- Fixed a seeking regression in the mkv demuxer introduced in 0.43
- Fixed a bug that caused stream descriptions to vanish after the file finished playing
- Improved playback of WMVA video with commercial decoders
- Added support for the new OpenType MIME type produced by mkvtoolnix > 5.2.0

LAV Audio
- Fixed LATM AAC playback with some source filters

LAV Video
- Added Intel QuickSync hardware decoder
- Added support for YADIF with hardware decoding
- Added support for Dirac decoding
- Added support for DNxHD decoding
- Added support for v210/v410 output
- Improved dynamic reconnection with post-processing filters
- Fixed a seeking related corruption issue with MPEG4-ASP


Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.44.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.44.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.44-x64.zip)

Intel QuickSync Decoder
The decoder is based on Eric Gur's decoder which is also used in ffdshow.
In theory, it should work with all Intel GPUs since Penryn, however i can only guarantee for Sandy Bridge based GPUs. Note, however, that it only works if the GPU is active, which means you need a monitor connected, or "fake" it.
Its limited to Windows Vista/7, it does NOT work on Windows XP.

For Multi-GPU setups, you can read this:
http://forum.doom9.org/showthread.php?p=1532786#post1532786

For general questions about QuickSync decoding, you can also refer to this thread:
http://forum.doom9.org/showthread.php?t=162442

If it doesn't work for you, the only things i can recommend checking is that the GPU is active and the drivers are up2date.
I do not have many experience with weird setups, i have monitors connected to my Intel GPU, and thus no experience with "fake" setups or Laptops with switchable graphics. You're free to ask, of course, but i cannot help you. :)

For everyone building their own version:
This build is using v0.22 of Erics decoder, which is r18 in his repository.

Known Issues:
- v210 output to madVR does not work properly. I think thats a madVR bug, but i cannot be sure until madshi gets back to me.

The overall behavior for .WMV .ASF in general seems much better (though i found already some files witch strangely don't seek with Lav splitter/Lav Video but do with Microsofts ASF Reader), i wouldn't say its only for WMVA :)

ajp_anton
8th January 2012, 09:12
It seems that when using QS on any video (h264 or mpeg2, don't have vc1) in mkv or mpg with any splitter and any renderer gives a chaotic frame order. GPU is HD3000 (only).

easyfab
8th January 2012, 09:41
It seems that when using QS on any video (h264 or mpeg2, don't have vc1) in mkv or mpg with any splitter and any renderer gives a chaotic frame order. GPU is HD3000 (only).

I don't think the GPU is that important because QS is a separate hardware transcoder. For example in encoding tasks with QS, you have almost the same speed with a i5 2300 and a i7 2600

CruNcher
8th January 2012, 10:00
@ajp_anton
be sure to have the latest driver installed currently 15.22.50.2509 (32bit )15.22.50.64.2509 (64bit) using a old driver (the main hardware library gets updated with the driver libmfxhw/32/64-i1.dll) with a newer MSDK build can result in strange decoding behavior. It's comparable to Nvidias nvcuvid.dll/nvcuvenc.dll just in 1 lib

vivan
8th January 2012, 10:44
Actually 2559 are newer (15.22.52.64.2559)... Even their tool suggest it (http://2.firepic.org/2/images/2012-01/08/dltvo1mnli6j.png). But it seems that Intel removed them, since all links are dead.
Anyway, same problem with 2559. Downgraded to 2509 - works fine.

CruNcher
8th January 2012, 10:50
Actually 2559 are newer (15.22.52.64.2559)... Even their tool suggest it (http://2.firepic.org/2/images/2012-01/08/dltvo1mnli6j.png). But it seems that Intel removed them, since all links are dead.
Anyway, same problem with 2559. Downgraded to 2509 - works fine.

indeed http://webcache.googleusercontent.com/search?q=cache:FW2q-fo2vqYJ:downloadcenter.intel.com/Detail_Desc.aspx%3FDwnldID%3D20676 i had no real issues with 2559 strange that they backuped to 2509

Paladin77
8th January 2012, 10:55
Hi Nev!

I am having issues playing some realmedia files. If I use madVR renderer I get weird diagonal and side green lines. If I revert to EVR I get corruption and sound dropouts. Sample: http://megaupload.com/?d=IQZI23J6

Using latest LAV,madVR, MPC. both lower end system (in sig) and other rig (5650 ATI card).

Thank you so much for you work!

EDIT. Ok initial troubleshooting shows its splitter related. Activating MPC source alleviated the issue. Will test further!

DragonQ
8th January 2012, 12:28
Hi Nev, could you expand on this fix please?:

LAV Audio
- Fixed LATM AAC playback with some source filters

Does it address the issue in MediaPortal where audio on channels with LATM AAC would sometimes just disappear (possibly on changes from/to 2.0/5.1) or not work at all?

nevcairiel
8th January 2012, 12:40
Does it address the issue in MediaPortal where audio on channels with LATM AAC would sometimes just disappear (possibly on changes from/to 2.0/5.1) or not work at all?

Possibly, go test it? :p
I don't use Media Portal, so it might as well have been another error, but an error of that kind was fixed.

Reino
8th January 2012, 14:23
I'd like to report a little bug. Initially reported as a MPC-HC bug by someone else, but it looks like to be a Lav Splitter bug instead.
http://sourceforge.net/apps/trac/mpc-hc/ticket/1933

Paladin77
8th January 2012, 14:34
Hi Nev!

I am having issues playing some realmedia files. If I use madVR renderer I get weird diagonal and side green lines. If I revert to EVR I get corruption and sound dropouts. Sample: http://megaupload.com/?d=IQZI23J6

Using latest LAV,madVR, MPC. both lower end system (in sig) and other rig (5650 ATI card).

Thank you so much for you work!

EDIT. Ok initial troubleshooting shows its splitter related. Activating MPC source alleviated the issue. Will test further!
ok It seems LAV splitter doesn't like that specific file. Tried another file and it works well. EVR corrupts and sound drops while madVR I get a nasty diagonal green line.

nevcairiel
8th January 2012, 15:08
I'd like to report a little bug. Initially reported as a MPC-HC bug by someone else, but it looks like to be a Lav Splitter bug instead.
http://sourceforge.net/apps/trac/mpc-hc/ticket/1933

Was a LAV Audio bug, but fixed

ok It seems LAV splitter doesn't like that specific file. Tried another file and it works well. EVR corrupts and sound drops while madVR I get a nasty diagonal green line.

Fixed with madVR, didn't encounter issues with EVR

AmshTemp
8th January 2012, 15:25
The installer doesn't check for x64 before installing IntelQuickSyncDecoder.dll.


Source: bin_x64\IntelQuickSyncDecoder.dll; DestDir: {app}\x64; Flags: ignoreversion restartreplace uninsrestartdelete skipifsourcedoesntexist; Components: lavvideo32

Should have been:

Source: bin_x64\IntelQuickSyncDecoder.dll; DestDir: {app}\x64; Flags: ignoreversion restartreplace uninsrestartdelete skipifsourcedoesntexist; Components: lavvideo64

Reino
8th January 2012, 15:36
Was a LAV Audio bug, but fixedLav Audio has nothing to do with this. It's all about the splitter. It hangs/crashes with 0.44.

nevcairiel
8th January 2012, 15:42
Lav Audio has nothing to do with this. It's all about the splitter. It hangs/crashes with 0.44.

Plays just perfectly.
There was a bug that caused it to never output any audio when lav audio was used, which i fixed.
That was also the original bug report.

Reino
8th January 2012, 16:36
You're right, I take it back. Normally I only use MPC-HC, but after having tested the wav-file in Zoom Player and with MONOGRAM GraphStudio, where it plays perfectly fine, I have to conclude that MPC-HC is indeed the culprit, like the guy said. :o

nevcairiel
8th January 2012, 16:41
But, it works fine in MPC-HC for me. :)

DragonQ
8th January 2012, 17:38
Possibly, go test it? :p
I don't use Media Portal, so it might as well have been another error, but an error of that kind was fixed.
OK well I've selected LAV Filters for my LATM AAC decoder in MediaPortal but I don't know when I'll get to test it - I only watch/record Freeview HD channels (which use LATM AAC audio) when my DVB-S2 decoder is in use!

I'll let you know if I get any more problems though.

STaRGaZeR
8th January 2012, 18:48
nev, when seking in this VC-1 file using QS the image freezes. It doesn't hang the player, but it doesn't recover either.

http://www.multiupload.com/2403BDXAFT

ajp_anton
8th January 2012, 21:40
I don't think the GPU is that important because QS is a separate hardware transcoder. For example in encoding tasks with QS, you have almost the same speed with a i5 2300 and a i7 2600It was the shortest way of saying I don't have a pre-Sandy Bridge CPU, and no additional GPU connected.

Anyway, updated drivers and it works now. Didn't think it would make a difference since ffdshow used to work before.

egur
8th January 2012, 22:38
It seems that when using QS on any video (h264 or mpeg2, don't have vc1) in mkv or mpg with any splitter and any renderer gives a chaotic frame order. GPU is HD3000 (only).

I've seen this before.
Do you have Lucid Virtu installed and and playing using the 64 bit version?
If so, then it's a lucid Virtu bug. Somehow it's mixing the frame order. 32 bit was fine (on 64 bit OS).

CruNcher
9th January 2012, 02:23
@nev
ftp://132.185.142.44/video/maybefinal/diracpromo-tr1500.ts plays way to slow (8 FPS) compared to VLC

also can you please add wma lossless to lav audios selection (WMAL) option so that it wont try to playback streams with it and fallback to wmaudio decoder accordingly http://roundup.libav.org/issue421 putting wmaudio decoder above lav audio works too but it's not the correct way of handling it :)

Pat357
9th January 2012, 12:01
I've reinstalled filters and it works now.

It's quite funny- DNxHD encoder is multithreaded, but decoder not. ProRes is opposite :)
Where are the ProRes and DNxHD codecs available ?

Here is something strange:
I've made AVI Prores file and it works fine except when it's loaded to some software directly it gets decoded in one thread.
When I load same AVI through avisynth (directshow source) than it works fine- all cores are working and speed is good.
Why?
Are you running an MT version from Avisynth ?
I have this often with lossless codecs, where the VfW codec is multithreaded, but the Dshow (Libav, FFmpeg) version is not.
Also the VfW is often more optimized then the Dshow version. (UTVideo, Lagarith,...)
Because you're using directshowsource, you 're basically using the Dshow version, so the speed difference is not clear to me;
the avisynth way should not be noticeble faster unless using MT version....
Can we also have dithering as an option?
I think ditthering is not dependent from the codec, you probably have already dithering if you're using Lav-video.

nevcairiel
9th January 2012, 12:17
Intra-only codecs are usually very easy to multi-thread in decoding, because every frame is "stand-alone" and doesn't have to wait for the previous reference frames to be decoded.
Multi-threaded decoding was just recently added to ffmpegs UtVideo decoder. Adding the same for DNxHD would probably be rather easy, someone just has to do it.

egur
9th January 2012, 17:34
QS decoder rev20 is committed.
Changes are:
Added MT copy. A mild performance gain. Added flag to disable it
Fixed bad seeking in VC1 (nev's report). On every seek in every codec, the entire session is destroyed. Works smoothly.
Added flag to report a corrupted frame (what MSDK reports).
Cosmetics.

FYI, I'm not building a version myself ATM, I want to address 2 other issues.
One of them is VC1 decoder sends the same buffer over and over with different time stamps which breaks my code.

kolak
9th January 2012, 18:19
Where are the ProRes and DNxHD codecs available ?


Are you running an MT version from Avisynth ?
I have this often with lossless codecs, where the VfW codec is multithreaded, but the Dshow (Libav, FFmpeg) version is not.
Also the VfW is often more optimized then the Dshow version. (UTVideo, Lagarith,...)
Because you're using directshowsource, you 're basically using the Dshow version, so the speed difference is not clear to me;
the avisynth way should not be noticeble faster unless using MT version....

I think ditthering is not dependent from the codec, you probably have already dithering if you're using Lav-video.

LAV decoder supports ProRes and DNxHD.

Problem is opposite what you described.

I wrap ProRes into AVI and when it's loaded to some application- eg Premiere it works slow.
If I load it through avisynth (directshowsource) using fake AVI (virtual file system for avisynth) than it's fine- all cores are used. Not sure why it's happening.

STaRGaZeR
9th January 2012, 18:50
QS decoder rev19 is committed.
Changes are:
Added MT copy. A mild performance gain. Added flag to disable it
Fixed bad seeking in VC1 (nev's report). On every seek in every codec, the entire session is destroyed. Works smoothly.
Added flag to report a corrupted frame (what MSDK reports).
Cosmetics.

FYI, I'm not building a version myself ATM, I want to address 2 other issues.
One of them is VC1 decoder sends the same buffer over and over with different time stamps which breaks my code.

Looks like you forgot to commit some new files to the repository :p. Will test it as soon as you upload these.

egur
9th January 2012, 19:10
Looks like you forgot to commit some new files to the repository :p. Will test it as soon as you upload these.

Working too hard lately...
Rev 20 has the files

Cyber-Mav
9th January 2012, 20:08
i dont get hardware acceleration on xvid standard definition files. gpu = gtx560 ti.

Superb
9th January 2012, 20:35
i dont get hardware acceleration on xvid standard definition files. gpu = gtx560 ti.LAV Video doesn't support CUVID accelaration of MPEG-4 ASP files AFAIK.

Asmodian
9th January 2012, 21:45
i dont get hardware acceleration on xvid standard definition files. gpu = gtx560 ti.

This isn't a major issue as your CPU can handle SD Xvid quite well I assume?

STaRGaZeR
9th January 2012, 23:47
Working too hard lately...
Rev 20 has the files

That VC-1 file works with this revision :)

However I had to disable the VS option "Treat compiler warnings as errors" because there are warnings that weren't there before.

Pat357
10th January 2012, 01:47
LAV decoder supports ProRes and DNxHD..
I should have asked about the encoders :D Where are these available ?

Midzuki
10th January 2012, 02:03
^ ffmpeg can encode to both DNXHD and ProRes

( or at least the command-line "ffmpeg -codecs" says so :-P ).

blexley
10th January 2012, 07:25
Can anybody get LAV audio working with crystalplayer as LAV video is working. ?

skingery
10th January 2012, 07:55
Running Lav splitter, audio and video and MPD-HC. I just tried the new .44 version and when I enable hardware decoding with QuickSync I get nothing but stuttering. Doesn't matter if I use EVR CP or MADVR. I have an i3.
Any ideas? Could it be the version of MPC-HC?

kolak
10th January 2012, 11:06
I should have asked about the encoders :D Where are these available ?

ffmpeg, ffmbc, Carbon Coder, Telestream Episode (if we talk about PC)

egur
10th January 2012, 15:59
That VC-1 file works with this revision :)

However I had to disable the VS option "Treat compiler warnings as errors" because there are warnings that weren't there before.

Yes, forgot to turn off static analysis on the standalone project. Fixed with rev21.

Cyber-Mav
10th January 2012, 18:00
yes my cpu can handle xvid playback fine, i just thought i would test it to see if it works. i though the lavcuvid had mpeg4-asp hardware decode working.

could be my graphics driver, im using 275.33. may need to update not sure.

STaRGaZeR
10th January 2012, 18:04
When the input is 4:2:2 (any bitdepth) and all 4:2:2 formats are unticked in the settings, LAV Video prefers downsampling to 4:2:0 instead of upsampling to 4:4:4 or RGB. I see the logic in this, but wouldn't it be better not to destroy any color information?

nevcairiel
10th January 2012, 19:29
I suppose that can be argued, i don't care either way, easy enough change to prefer RGB.

STaRGaZeR
10th January 2012, 20:19
It'd be nice not to destroy any info, definitely.

madshi
10th January 2012, 21:18
I'd suggest to use YCbCr 4:4:4 then, if checked and supported by the renderer. Otherwise I'm not sure if I would vote for RGB. RGB has the problem that most video renderers passthrough RGB untouched, ignoring their own "levels" option. So for most video renderers LAV Video Decoder would have to be configured to use either video or PC levels RGB output, depending on whether the display/TV/projector needs PC or video levels. I don't find it intuitive that the user has to setup a video decoder filter to satisfy a monitor's specific needs, especially not with native YCbCr content. So I think RGB output should only be chosen if the content is native RGB, or if no YCbCr connection is available at all. Just my 2 cents, of course. In the end it's not really important to me.

nevcairiel
10th January 2012, 21:33
Nothing really supports 4:4:4 (AYUV), EVR claims to accept it, but on most hardware its using software emulation which is incredibly slow, which is why i'm reluctant to prefer it. In the end, if you turn off 4:2:2, its your own damn fault. :)
Sadly, i cannot make this dependent on the renderer, because i need to expose the media type before the renderer connects, and at least EVR is too stupid to allow me to switch pixel format after connection.

STaRGaZeR
10th January 2012, 21:38
So I think RGB output should only be chosen if the content is native RGB, or if no YCbCr connection is available at all.

So you prefer 4:2:0 YUV over RGB coming from a 4:2:2 or 4:4:4 source? ;)

nevcairiel
10th January 2012, 21:40
4:4:4 will always use RGB over downsampling chroma, fwiw.

The whole list of which format is preferred for what decoding format, see the table here:
http://git.1f0.de/gitweb?p=lavfsplitter.git;a=blob;f=decoder/LAVVideo/LAVPixFmtConverter.cpp;h=e671f18a7c877295e532972d3dd7502977522a3d;hb=HEAD#l58

dann23
10th January 2012, 21:44
now that there is support for hardware decoding using intel and nvidia gpu, can we hope for something similar for ati?

madshi
10th January 2012, 21:49
So you prefer 4:2:0 YUV over RGB coming from a 4:2:2 or 4:4:4 source? ;)
You were talking about 4:2:2, not 4:4:4. Of course castrating 4:4:4 to 4:2:0 is even more painful than downconverting 4:2:2 to 4:2:0. I don't really think there's an ideal solution if the renderer neither supports 4:2:2 nor 4:4:4 YCbCr. Using YCbCr 4:2:0 has its pros and cons in this situation, so does RGB. Personally, for 4:2:2 content I'd still prefer YCbCr 4:2:0 over RGB, due to the RGB levels problem. Not sure what I'd prefer with YCbCr 4:4:4 content, though. Anyway, the real problem is that most video renderers don't treat RGB input correctly, IMHO. Passing it through untouched isn't a good idea, I believe. If LAV Video Decoder could simply output RGB without having to worry whether the user gets correct levels then choosing RGB output would be an easy choice for LAV Video Decoder with 4:2:2 YCbCr content, if the renderer doesn't support 4:2:2. But well, you know, we had this discussion before. You like video renderers to passthrough RGB untouched, I think it's a bad solution. We couldn't agree last time, so probably we won't this time, either... :D

Edit: Btw, did you ever check whether the RGB level autodetection works in the newer madVR builds? I believe it should be pretty much perfect now. I dare you to make it fail (without resorting to clearly broken setups like configuring ffdshow to output PC levels while letting an avisynth script convert to video levels at the same time).

STaRGaZeR
10th January 2012, 22:32
4:4:4 will always use RGB over downsampling chroma, fwiw.

The whole list of which format is preferred for what decoding format, see the table here:
http://git.1f0.de/gitweb?p=lavfsplitter.git;a=blob;f=decoder/LAVVideo/LAVPixFmtConverter.cpp;h=e671f18a7c877295e532972d3dd7502977522a3d;hb=HEAD#l58

Yep, that's why I was curious as of why did you put NV12 and YV12 over AYUV and RGB in case of 4:2:2.

You were talking about 4:2:2, not 4:4:4.

Yes, but you said "if no YCbCr connection is available at all". Hence the question. The situation is the same thou. You'd be destroying information. And when you use one of these formats, it's because you have information to keep.

Personally, for 4:2:2 content I'd still prefer YCbCr 4:2:0 over RGB, due to the RGB levels problem. Not sure what I'd prefer with YCbCr 4:4:4 content, though. Anyway, the real problem is that most video renderers don't treat RGB input correctly, IMHO. Passing it through untouched isn't a good idea, I believe. If LAV Video Decoder could simply output RGB without having to worry whether the user gets correct levels then choosing RGB output would be an easy choice for LAV Video Decoder with 4:2:2 YCbCr content, if the renderer doesn't support 4:2:2. But well, you know, we had this discussion before. You like video renderers to passthrough RGB untouched, I think it's a bad solution. We couldn't agree last time, so probably we won't this time, either... :D

Edit: Btw, did you ever check whether the RGB level autodetection works in the newer madVR builds? I believe it should be pretty much perfect now. I dare you to make it fail (without resorting to clearly broken setups like configuring ffdshow to output PC levels while letting an avisynth script convert to video levels at the same time).

Maaan, not again. I don't want renderers to do XXX or YYY, I asked for a simple option so we can do XXX and YYY, nothing more, nothing less. You refused so now I'm using EVR CP with some custom code that does everything I ever wanted madVR to do while consuming less power and producing less heat. Might consider going back if you offer the same thou ;)