Log in

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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 [82] 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508

ney2x
10th July 2011, 07:05
FYI. Someone made a media foundation FLAC codec http://free-codecs.com/download/Media_Foundation_FLAC_Codec.htm . It's good news, cause if someone starts to make media foundation codec, I think this will be the "go signal" for other developers to migrate other codec into MF.

Superb
10th July 2011, 09:01
lol, how exactly is it a "go signal" for developers? :)

ney2x
10th July 2011, 11:07
lol, how exactly is it a "go signal" for developers? :)

That's why I said, " I think" --- there's a possibility, maybe or possible. :p

nevcairiel
11th July 2011, 12:55
Decoders are easy, i could probably add MF support to LAV Audio in a days work (not that i will). Source Filters is where all the hard work is at.

Po
11th July 2011, 22:12
Here a TS sample to improve LAV Splitter.

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

hoborg
13th July 2011, 21:40
@nevcairiel:
Will be possible to use LAV audio decoder with MS demultiplexer for eac3?
FFDshow audio decoder is working, but LAV refuse connection.

Here is an eac3 .ts sample (http://samples.libav.org/streams/ts/eac3/eac3.ts)

nevcairiel
13th July 2011, 22:50
@nevcairiel:
Will be possible to use LAV audio decoder with MS demultiplexer for eac3?
FFDshow audio decoder is working, but LAV refuse connection.

Here is an eac3 .ts sample (http://samples.libav.org/streams/ts/eac3/eac3.ts)

The MS MPEG-2 Demultiplexer does not open that file here.

hoborg
14th July 2011, 18:59
The MS MPEG-2 Demultiplexer does not open that file here.

You can try to play it in NPVR (http://forums.gbpvr.com/index.php) (or other PVR software based on MS demultiplexer).

I did some research, and it looks like it can be subtype problem.

LAV splitter and MediaPortal TS reader output EAC3 as {A7FB87AF-2D02-42FB-A4D4-05CD93843BDD} (both are working) but Ms demultiplexer use {71CFA727-37E4-404A-AEC0-34842532EFF7} (LAV audio decoder refuse connection).

http://www.volny.cz/hoborg/eac3.png

nevcairiel
14th July 2011, 19:02
Thats the ArcSoft DDPlus type. I added it on output of E-AC3 to LAV Splitter, but not on input in LAV Audio. I can add it, i guess.

Not feeling installing that silly player again, it installs some weird background thingy.

Edit:
Try this: http://files.1f0.de/lavf/LAVFilters-0.29-30-g60871ec.zip

hoborg
14th July 2011, 19:16
@nevcairiel:

Working. As always :D
http://www.volny.cz/hoborg/aec3_lav.png

:thanks:

So now only HE/LATM AAC remain :)

nevcairiel
15th July 2011, 21:32
LAV Filters 0.30

LAV Splitter
- Improved VC-1 playback with ffdshow DXVA
- Added support for outputting MPEG-4 Timed Text subtitles (only pure text supported)
- Better support for MLP audio
- I/O performance enhancements
- Added an option to toggle how LAV Splitter handles audio stream switching
- Added a hard-limit on queue sizes to avoid excessive memory usage when transcoding
- Added an experimental interface for the Player to control graph rebuilding

LAV Audio
- Further improvements to the DTS-HD parsing
- Better support for MLP audio
- Added more E-AC3 subtypes


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

No ground breaking changes this time around, alot of ffmpeg updates, some tweaking and fiddling.
The .zip files now contain a directory with information for developers that want to use LAV Filters in their players. All custom interfaces are included, as well as a (very) short readme what they do. Feel free to contact me for details.

A note on ffdshow DXVA with VC-1: You should set LAV Splitter into "automatic" VC-1 timestamp mode now, and it should do the right thing - hopefully.

Anyhow, i hope no new bugs sneaked in.

Have fun!

Sebastiii
15th July 2011, 21:50
Thanks :) very nice, and will happy to test new interface in MP :)

Kotik
16th July 2011, 03:08
Thank you,

Will try it out and report any findings.

jmone
16th July 2011, 22:30
nevcairiel, LAVSplitter does a great job IMO with the creation of the separate Forced Subs stream! Continuing the discussion on what "Magic" LAVSPliiter can do from the MC forum on Discs like LOTR EE - Blu, where the "forced subs" are not marked as such but in a completely separate PGS stream - some thoughts:
1) Would it be possible for LAVSplitter to identify them as the forced subs given there would be so few compared to the other PGS streams (or is this assumption poor)
2) Does LAVSplitter need to create an empty "Forced" sub stream at all?

Personally I'm going to remux these to my HTPC with the correct sub track marked as forced.

Thanks
Nathan

nevcairiel
16th July 2011, 22:33
1) Would it be possible for LAVSplitter to identify them as the forced subs given there would be so few compared to the other PGS streams (or is this assumption poor)

I don't know how many subs a stream has before its done playing. Besides, a commentary track could have way less subs then the normal track. If its not marked, there is no way to identify what a track is - especially before playback. I cannot scan the whole movie for subs.

2) Does LAVSplitter need to create an empty "Forced" sub stream at all?

See 1). I don't know if a stream contains subs marked as forced or not.

jmone
16th July 2011, 23:33
Thanks

madshi
17th July 2011, 07:14
I've noticed a bug, but I've not been using the very latest version, so maybe it's already fixed:

If I start MPC-HC, play 5 different files without closing MPC-HC, then try to delete the files (on the network server), the file deletion requests are executed without complaint, but the files reappear right away. They finally disappear after MPC-HC is closed. Very weird effect. Is it possible that LAV Splitter has a file handle leak or something like that?

CruNcher
17th July 2011, 08:41
LAV Filters 0.30

LAV Splitter
- Improved VC-1 playback with ffdshow DXVA
- Added support for outputting MPEG-4 Timed Text subtitles (only pure text supported)
- Better support for MLP audio
- I/O performance enhancements
- Added an option to toggle how LAV Splitter handles audio stream switching
- Added a hard-limit on queue sizes to avoid excessive memory usage when transcoding
- Added an experimental interface for the Player to control graph rebuilding

LAV Audio
- Further improvements to the DTS-HD parsing
- Better support for MLP audio
- Added more E-AC3 subtypes



Nice if this fixes the 30 fps lock for .ts @ Encoding that would be perfect (Playback/Transcoding) :)

I now also separated all of those special aac laatm muxes (bad ones, correct ones) testing them in combination with DivX AAC Decoder (Mainconcept) and the splitter/parser

PS: It looks crazy good so far in Player (Dshow) test of the 30 fps lock test shows @ 2x fast forward it gets crazy fast and doesn't locks to 30 fps max anymore after some second speedup like it used todo previously, it accelerates to the full 60 fps without problems now almost instantly under 1 sec (audio/video) that looks perfect Nev great work (now it seems even better then Cyberlinks Demuxer in those regards as good as Arcsoft and Mainconcepts) :) http://forum.doom9.org/showpost.php?p=1502471&postcount=3309 <- so without further testing just from the first player test seems fixed.
Also only 1 stream so far couldn't be played (though it was nicely falling back to MPCs internal Splitter and played) but im still into testing around 50 others of those 158 ;)

Being able now to use LavSplitter for Transcoding/Playback is a big usability step (also makes a combined framework with as less as possible dshow code bloat much easier) :)

Results (Play and Go test First Playback results File open play Video/Audio no switch test no seek test):

out of those 158 streams following new issues (their are a lot of laatm issues in combination with audio decoding but most are known, separated those streams now :) )

1 stream no parsing @ all switches to MPCs Internal Splitter (old issue, though not critical as this fallback works fine, and changing code because of only this 1 stream seems crazy risking to much)
1 new stream (Mpeg-2, Mainconcept Mpeg-2 Decoder) unsync issues (need to check Decoder side first before looking @ splitter and audio (lav audio sync functions (ac3), easier to avoid cross codec issues that way also testing only the Mpeg-2 streams for differences saves a lot of time ;) )
1 old H264 recording gets unsync (no possibility on the decoder side (Cyberlink Decoder) to change sync options) have to check how the HD PVR fix enabled changes the other streams behavior (as the HD PVR recordings actually work without issues since some time now without the HD PVR fix)

except those 3 issues and all the laatm related things everything else works 100% for .ts (including VC-1 (Lav Cuvid)) :)
I hope the 2 last issues are just a easy settings fix (decoder and splitter side) without impacting everything else, this would then reduce it to only 1 (Play & Go) issue that isn't really critical @ all :)

All of the streams Played back with VMR-9 Renderless and Vsync correction (MPC-HC) no issues :) switching between DXVA and Software where appropriate for the Mpeg-2 4:2:2 tests :)

Testing is done on Nvidias Framework (so stability and performance is VP2 and Nvidia Driver based Forceware 275.65 WHQL (DSP decoding part (DXVA)) with disabled Nvidia IVTC)

clsid
17th July 2011, 13:57
Do those LATM samples play correctly with the Monogram AAC decoder? If so, perhaps nevcairiel can mimic the behavior of that open source filter, since he mentioned before there is no official spec on how to handle it. Afaik, the monogram decoder works pretty well for LATM.

nevcairiel
17th July 2011, 14:18
Its mostly samples that are not demuxed correctly, no open source reference demuxer for that.

CruNcher
17th July 2011, 14:19
Nice if this fixes the 30 fps lock for .ts @ Encoding that would be perfect (Playback/Transcoding) :)

I now also separated all of those special aac laatm muxes (bad ones, correct ones) testing them in combination with DivX AAC Decoder (Mainconcept) and the splitter/parser

PS: It looks crazy good so far in Player (Dshow) test of the 30 fps lock test shows @ 2x fast forward it gets crazy fast and doesn't locks to 30 fps max anymore after some second speedup like it used todo previously, it accelerates to the full 60 fps without problems now almost instantly under 1 sec (audio/video) that looks perfect Nev great work (now it seems even better then Cyberlinks Demuxer in those regards as good as Arcsoft and Mainconcepts) :) http://forum.doom9.org/showpost.php?p=1502471&postcount=3309 <- so without further testing just from the first player test seems fixed.
Also only 1 stream so far couldn't be played (though it was nicely falling back to MPCs internal Splitter and played) but im still into testing around 50 others of those 158 ;)

Being able now to use LavSplitter for Transcoding/Playback is a big usability step (also makes a combined framework with as less as possible dshow code bloat much easier) :)

Results (Play and Go test First Playback results File open play Video/Audio no switch test no seek test):

out of those 158 streams following new issues (their are a lot of laatm issues in combination with audio decoding but most are known, separated those streams now :) )

1 stream no parsing @ all switches to MPCs Internal Splitter (old issue, though not critical as this fallback works fine, and changing code because of only this 1 stream seems crazy risking to much)
1 new stream (Mpeg-2, Mainconcept Mpeg-2 Decoder) unsync issues (need to check Decoder side first before looking @ splitter and audio (lav audio sync functions (ac3), easier to avoid cross codec issues that way also testing only the Mpeg-2 streams for differences saves a lot of time ;) )
1 old H264 recording gets unsync (no possibility on the decoder side (Cyberlink Decoder) to change sync options) have to check how the HD PVR fix enabled changes the other streams behavior (as the HD PVR recordings actually work without issues since some time now without the HD PVR fix)

except those 3 issues and all the laatm related things everything else works 100% for .ts (including VC-1 (Lav Cuvid)) :)
I hope the 2 last issues are just a easy settings fix (decoder and splitter side) without impacting everything else, this would then reduce it to only 1 (Play & Go) issue that isn't really critical @ all :)

All of the streams Played back with VMR-9 Renderless and Vsync correction (MPC-HC) no issues :)

Testing is done on Nvidias Framework (so stability and performance is VP2 and Nvidia Driver based Forceware 275.65 WHQL (DSP decoding part (DXVA)) with disabled Nvidia IVTC)

Arghh just realized DXVA is totally lost (with 275.65 moded Quadro WHQL driver)

Yep it switches to YUY2 (H.264 Cyberlink) and YV12 (Mpeg-2 Mainconcept) the issue on XP for this is to search in the Driver (or decoder needs to be updated to the new Driver) i will redo the test once i get hardware playback working again (Lav Cuvid works even with this new Driver that seems not working with DXVA,testing the 1080p 60 fps playback issues with VMR9 first (maybe i finally can leave @ least DXVA to get rid of these work/not work driver (3rd party decoder DXVA issues) once and for all WipeOut 1080p 60 fps BF3 1080p 60 Fps VMR9 test.

Sorry I totally forgot to check @ the DXVA status and or CPU behavior when testing :(
Until i tried .m2ts and came to hard DSP and non DXVA complaint streams that suddenly showed no issues i realized something is wrong (6Cat stream,Samsung stream,4 Girls stream) :( and then i saw all of them where Decoded by the Cyberlink Software part (YUY2) :(

So above test results are Software Decoding only for both and mostly in Software Decoding you have the least issues currently with anything Hardware Decoding is where most problems arise with the Splitter except the Transcoding issue (which is entirely on the Software Decoding level, though i will double check that too now from the transcoding layer not only fast forward in player to be sure this issue with the 30 fps lock is history when transcoding). :(

Maybe it's also a MPC-HC issue used the newest build i first have to find out why DXVA is currently failing with VP2 and the mentioned Decoders (i suspect the Driver which isn't even for the Geforce series but Lav Cuvid (Nvcuvid Api) works fine with it) :(

First though i will check the Splitter level it can cause and has caused DXVA issues with Decoders often in the past, especially when not made by the same vendor (also it's the easiest to test before trying to reinstall a Driver)

Update:

1st try Splitter = Negative MPC-HC splitter behaves the same with Cyberlinks Decoder all 1080p streams lost DXVA 720p works (so Driver or Decoder issue with the Driver is the most probable cause)
2nd try Driver = Gone back to 275.50 beta no good still DXVA doesn't work as it should going back some driver revisions before 275 i know that worked now :(

PS: This is serious my whole DXVA subsystem seems to go crazy not sure what code change initiated this but now i understand why Flash Player is also doing strange stuff and this doesn't even seem Driver related maybe some Directx issue Intel Board driver, actually i dunno CoreAVCs DXVA also stoped working and that can be reliable checked because of it's Red DXVA Icon :(
Maybe something wants to tell me it's the right time moving to NT 6 now ;)

cengizhan
17th July 2011, 21:50
I am currently using haali's splitter for mkv files because it is faster than your splitter while doing forward and backward jumps (2 seconds) continuously. Will your splitter be faster anytime? I want to use yours but it is slow for me.

hoborg
17th July 2011, 22:22
I have a question.
Can be possible to teach LAV audio decoder to play MOD audio files (http://en.wikipedia.org/wiki/MOD_%28file_format%29)? Here is a lot of MOD samples (http://modarchive.org/).

Right now, i am using DC-Bass Source filter to play them in DS. The problem is, that some camcorders record video with the same .MOD extension.
DC-Bass Source filter need source filter definition in registry - this will cause MOD video not working.
If i remove source filter definition from registry, MOD video will start to work, but MOD audio will stop :/

Similar problem have (?had?) VLC player (http://forum.videolan.org/viewtopic.php?f=7&t=47345).

clsid
17th July 2011, 22:29
A workaround for that would be to either rename the video ones, or the audio ones (and then also edit the reg key accordingly).

nevcairiel
17th July 2011, 22:30
ffmpeg does not support MOD audio, so there is nothing i can do.

hoborg
17th July 2011, 22:34
Too bad :/

pankov
18th July 2011, 03:15
Guys,
sorry for the little off-topic question but I know you are the experts here and most of you use ReClock in WASAPI Exclusive mode so I hope you can help me:
I've just upgraded my AV Receiver to an HDMI one (Integra 40.3) and I decided to try this WASAPI stuff but I've stumbled on a problem - my video card (NVIDIA GTX460 SE) doesn't like anything else except 16bit int as PCM Output. Is it only me or it's a limitation of all NVidia cards? Also what do I lose in this case? I guess there will be problems with 24bit streams but I've tried one and it worked just fine but I'm not sure if ReClock didn't alter the stream since it was already decoded by LAV Audio to 5.1 PCM.

Thunderbolt8
18th July 2011, 04:41
even if reclock doesnt alter the stream and says wasapi (bit exact) then afaik this only means bit exact from input to output of reclock processing, but not bit exact in general for the whole computer processing chain, until it reaches the final output or for what happens before it enters reclock. so if you card already transcodes 24-bit to 16-bit before it reaches reclock, then you lose indeed sound quality, at least theoretically.

Andy o
18th July 2011, 06:25
It's not a limitation of Nvidia cards. Have you tried 24-bit int padded to 32? That's the one that usually works.

nevcairiel
18th July 2011, 06:47
Does anyone have a H264 in AVI sample which can be used to easily spot the A/V sync issue when multithreading the other decoders suffer from?

I don't want to make the same mistakes everyone else did.... :)

fastplayer
18th July 2011, 07:27
This sample by Hypernova is supposed to show the sync issue:
http://forum.doom9.org/showthread.php?p=1511460#post1511460

e-t172
18th July 2011, 08:26
even if reclock doesnt alter the stream and says wasapi (bit exact) then afaik this only means bit exact from input to output of reclock processing, but not bit exact in general for the whole computer processing chain

That's theoratically true. In practice however, most sound cards will do bit exact output when used in WASAPI Exclusive Mode. All HDMI outputs in the market will.

if you card already transcodes 24-bit to 16-bit before it reaches reclock

That's not possible.

pankov
18th July 2011, 09:11
It's not a limitation of Nvidia cards. Have you tried 24-bit int padded to 32? That's the one that usually works.
10x
I thought I've tried it and it didn't work but now after you said that it usually works I did try it again and in fact it works. I guess I have to stop testing things at 4 in the morning with only one eye open
;)

btw
would you also recommend turning on the "16 bit integer for 16 bit sources" option?

and final two off-topic questions:
1. Is it normal to have some gap (~1 second) at the beginning of each file or after a seek/jump in one file?
2. Is it normal to hear some "click" from the receiver (as if it turns off the power amps) when I stop/pause a multi-channel audio stream? It shows "no signal" and then makes a "click"?

nevcairiel
18th July 2011, 09:15
I turned 16-bit integer for 16-bit sources off, because i have ReClock do resampling, and resampling is done in float - so if it converts the float to 24bit instead of 16, its better. :)

1. It usually takes a short while for the HDMI connection re-establish, thats why you get a small gap. It depends on your receiver how long it is - on mine its not even half a second, nothing that really worrys me. People refer to this problem as the "silent stream" bug.
2. That depends on your receiver, really. I really only hear it with bitstreaming, and nothing with PCM.

pankov
18th July 2011, 09:56
Thanks!
I knew I can find some helpful and knowledgeable users here.
:)

CruNcher
18th July 2011, 15:09
Did anyone ever lost the DXVA subsystem under XP completely or @ least it was damaged so heavily that it behaved extremely crazy ?, its my first time ever i looked for every acceleration knob i could find actually their are 3 locations accessible via a GUI i know myself Dxdiag,DirectX Controll Panel, and via the Advanced GFX Panel, everyone of them is active also the DirectX Installation seems ok still i don't get 1080p DXVA acceleration working @ all anymore
Nvcuvid isn't affected 720p,1080p no issues except the 1080p 60 fps problem because of that i actually preferred DXVA and automatic 4:2:2 Studio Profile Hardware/Software switching.

Tried to reinstall the GFX driver (several different revisions) no go i guess only the Panic Solution might be able to help a complete Internet Explorer and Windows Media Player re Installation hopefully it magically comes back after :(

Actually i found out you can use MPC-HC and it's internal DXVA very nicely @ least to test if it's working @ all
MPC-HC always tries to Decode with DXVA (it doesn't seem to ever fall back to Software Decoding when DXVA fails) if it's selected as internal decoder, result is a full black Screen on 1080p H.264 Videos currently :( with 720p Videos it works same behavior like Flash Player currently also CoreAVCs DXVA has a nice Indicator (the ATI RED CoreAVC icon that currently with 1080p videos switches to blue Software).

My Current Dilemma

http://img98.imageshack.us/img98/9794/notgoodg.th.png (http://img98.imageshack.us/img98/9794/notgoodg.png)

http://img818.imageshack.us/img818/4346/nothingdeadzerotot.th.png (http://img818.imageshack.us/img818/4346/nothingdeadzerotot.png)

its like 1080p acceleration never existed (and most here know VP2 is capable of it and i didn't imagined using it over all the years ;) )

wpoulson
19th July 2011, 11:14
Hello Nev,

Thanks for the passionate work. I've been reading through the thread but wanted to ask you about your filters and WMC7

Do I understand correctly that your filters are more than just a replacement splitter for Haali but also include video and audio decoders that can be used instead of WMF defaults? With nothing but your filter set installed, can I expect my MKVs and AVIs, etc. to play fine in WMC7, passing through DD 5.1 and DTS to my receiver. To accomplish this, would I need to use a filter tweaker after installing your filters, or does your installation application take care of that?

If what I want to do is play MKVs, MP4s, AVIs, and MOV files in the 64bit WMC and pass through the audio to my receiver, in addition to your filters, do I need FFDshow? Right now, I do not have any HD audio to bitstream. I have had a lot of problems getting FFDshow to work on the video side in WMC(most of my files are MKV with h264). Actually, things generally play fine with just Haali and Win 7 native codecs, but I have been looking for a setup that will more future-proof my HTPC.

I know your time is precious and I appreciate either your or someone else's time to help

Thanks

Warren

nevcairiel
19th July 2011, 11:21
With nothing but your filter set installed, can I expect my MKVs and AVIs, etc. to play fine in WMC7, passing through DD 5.1 and DTS to my receiver. To accomplish this, would I need to use a filter tweaker after installing your filters, or does your installation application take care of that?

You'll need a filter tweaker application thingy to over-rule the default MS filters, and you'll have to find a way to access the filters configuration, because WMC7 does not allow you to open it.

But once thats all done, you will be able to simply play your files and pass the audio directly to your receiver.

Note that at this time LAV Filters do only contain an Audio Decoder, not Video yet - so you can stick with the default decoders there, or grab ffdshow, or wait for LAV Video, which is due soon. :)


If what I want to do is play MKVs, MP4s, AVIs, and MOV files in the 64bit WMC and pass through the audio to my receiver, in addition to your filters, do I need FFDshow? Right now, I do not have any HD audio to bitstream.
You don't need ffdshow. LAV Audio can do all the audio work you require. Pass-through DD and DTS, decode everything else - even pass-through HD audio, if you ever get any.

I should probably implement an option to open the configuration dialog from the start menu, so that part of the whole setup is easier to handle.

jmone
19th July 2011, 11:52
....wait for LAV Video, which is due soon. :)

Tease! :)

nevcairiel
19th July 2011, 12:21
Tease! :)

It already works beautifully well for its early stage, it won't be much longer, i promise. :rolleyes:

BatKnight
19th July 2011, 12:48
Hi nev.

Tried to play a an album that I have in WAV files with DTS in them, but only got noise.
I am using your splitter and audio decoder. Am I doing something wrong, or DTS WAV files aren't yet supported?

I recall reading somewhere at J.River's forum that they are having the same problem too when using LAV Audio.

Thanks
Nuno

nevcairiel
19th July 2011, 12:49
DTS in WAV is not supported right now, but its on the list of things to fix.

Superb
19th July 2011, 15:33
It already works beautifully well for its early stage, it won't be much longer, i promise. :rolleyes:Yay.

I hope it will also accept RAW video. Why? I know it might not have post-processing capabilities yet, but I (and many others) need it for color-space conversion.

I'll explain: people who use Subtitle Workshop 2.51 (http://www.urusoft.net/), under Windows 7, encounter a bug where the program is unable to build a fully working DS graph for mkv-h.264 files when their system uses Microsoft's XDVA-H.264 decoder. They'll only hear audio. Video isn't shown. Apparently, SW isn't able to connect the NV12 output directly to the video renderer. Sad. I know. A workaround is to use ffdshow's RAW video handling capabilities and let it do a NV12->RGB32 conversion. It works. That's the ONLY reason I have ffdshow installed on my system. :( What's funny is that ffdshow even broke that colorspace conversion in recent builds (starting rev3765 it crashes (http://forum.doom9.org/showthread.php?p=1498171#post1498171)), and now I'm forced to use a pretty old revision.

Yeah, I know it's not a problem which affects many people, but it would be nice if you added this feature, which would probably also help you in adding post-processing in future versions.

Another nice feature would be integrating LAV CUVID Decoder to LAV Video, same way CoreAVC does it (software fallback is CUDA fails).

Heh, look at me. Writing feature requests even before you released the first version. :devil:

I appreciate all your wonderful work and wish you the best.

nevcairiel
19th July 2011, 16:05
There won't be support for RAW video anytime soon, its a decoder, not a video processor. Sorry.

Superb
19th July 2011, 16:26
Fair enough. What about the second feature (integrating CUVID Decoder)? Is it planned?

nevcairiel
19th July 2011, 16:27
Maybe one day, its not certain though. There are some technical things that don't make it as easy as it sounds.

nevcairiel
19th July 2011, 16:57
So, here it is.

A first test version of LAV Video Decoder.

http://files.1f0.de/lavf/LAVFilters-video1.zip

Features:
- Decoding of: H264, VC1 (progressive only), MPEG2, MPEG4-ASP, MS-MPEG4, MJPEG, VP8, RV40, WMV1/2/3
- Full support for H264 4:4:4, 4:2:2 and 4:2:0, in 8, 9 or 10bit (including native untouched output of all formats)
- Flagging of interlaced fields for hardware deinterlacing with EVR
- Can read the Aspect Ratio from the stream

Known Issues/TODOs:
- When using EVR, output is limited to YV12/NV12 (see remarks)
- Multi-Threading is prepared, but not yet activated
- H264 in AVI has timestamp issues (works fine with Frame Time Correction on in MPC-HC)
- No configuration
- Only tested with LAV Splitter
- On Start/After seeks, corrupted frames may be shown briefly
- I forgot to put a install_video batch file into the zip. :)

Did i mention that EVR sucks?
Its apparently the only renderer that cannot switch the pixel format on the fly, even the older VMR9 manages to do it. Anyhow, this means that EVR is limited to YV12/NV12 output, and will not get YUY2 for 4:2:2 content or any other pixel formats. Its not that terribly bad, like 99% of all content is 4:2:0 anyway.

Also, most output formats are not supported by EVR anyway, you'll need madVR for full quality 4:4:4 or 9/10bit content. But don't worry if you prefer EVR, there is proper chroma down-scaling in place using a bicubic filter, and dithering of 9/10bit to 8bit.

On Feedback:
If you encounter a sample that does not play properly with LAV Video, as always, please report as much details as possible, and uploading a small sample will greatly help. Without a sample file, i usually cannot do much.
I'm also looking for feedback which other video codecs should be added, i got all the "common" ones, not sure what content is out there otherwise.

Anyhow, have fun testing, if you wish.

noee
19th July 2011, 17:25
Wow, seems unthinkable to be able to lose FFDshow finally after all this time...now with two addl options.

FWiw, ran through a few H264 videos, SD and HD and no issues yet. LAVSplitter->LAVVideo->madVR...

Also, my initial impression is that it's faster loading than FFDshow.

Sebastiii
19th July 2011, 17:28
Amazing Nev :) A big thanks.

madshi
19th July 2011, 17:46
A first test version of LAV Video Decoder.
Well done! :)

On Start/After seeks, corrupted frames may be shown briefly
Haha. So you ran into exactly the same problem... :p Try the Haali Media Splitter, the problem occurs much less there.

Here's how to quickly solve it:
(1) don't flush in NewSegment, flush in EndFlush instead :p
(2) don't send any frames downstream, until you get the first decoded "AVFrame->key_frame" with a positive timestamp

Did i mention that EVR sucks?
Its apparently the only renderer that cannot switch the pixel format on the fly, even the older VMR9 manages to do it.
Have you tried all the various dynamic reconnection methods listed here?

http://msdn.microsoft.com/en-us/library/dd388731%28v=vs.85%29.aspx