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 509 510 511

Pat357
28th April 2012, 14:41
Nev,

LAV-Splitter mis-detects this VOB file as VC1 instead of MPEG2 VIDEO.
With MPC-build in splitter, the file plays fine.
MediaInfo also says the file is MPEG2.

It could have something to do with the latest FFmpeg : I noticed the recent FFPlay shows more errors than a build from 1 month back. Both decode the file correct as MPEG2.
Also Mplayer has no problem playing this file.

Any idea why LAV-splitter detects a VOB as VC1 ?

see : http://www.mediafire.com/conv/147404a2486e6a330428ee15394dc74e60c3243ab38e785564b89ba354f775f56g.jpg
or : http://www.mediafire.com/i/?n10pt5hl65t0s80

sample : http://www.mediafire.com/?50vac0r5bjahem9

_gl
28th April 2012, 15:48
LAV looks great, kudos.

But the splitter misidentifies 24bit and 32bit PCM in AVI files as 16bit = harsh white noise (32bit FLOAT works).

'AVI/WAV File Source' handles all formats correctly

AVI Samples (exported from Premiere):


UT / 24bit PCM (http://r-i-l.net/_pics/LAV/UT-24bitPCM.avi)
UT / 32bit PCM (http://r-i-l.net/_pics/LAV/UT-32bitPCM.avi)
UT / 32bit FLOAT (http://r-i-l.net/_pics/LAV/UT-32bitFLOAT.avi)

Would be great to get this fixed.

AVI/WAV File Source (24bit PCM):

http://r-i-l.net/_pics/LAV/aviwav_source.png

LAV (24bit PCM):

http://r-i-l.net/_pics/LAV/lav.png

nevcairiel
28th April 2012, 17:28
Lavsplitter mis-detects this VOB file as VC1 instead of MPEG2 VIDEO.

Should be fixed.

xiulet
28th April 2012, 21:35
hi nevcairiel i have just installed win8 customer preview and the lavfilters can't register, i will try with ffdshow for the hdaudio. https://i.minus.com/iFREFp0mrNax4.png

thanks a lot my friend :)


adéu.

andyvt
28th April 2012, 21:37
hi nevcairiel i have just installed win8 customer preview and the lavfilters can't register, i will try with ffdshow for the hdaudio. https://i.minus.com/iFREFp0mrNax4.png

thanks a lot my friend :)


adéu.

Is that CMD prompt elevated?

Pat357
28th April 2012, 21:43
hi nevcairiel i have just installed win8 customer preview and the lavfilters can't register, i will try with ffdshow for the hdaudio.

For correct installation from LAV-splitter, you should use the installer.
Did you try that ?

DIA888
28th April 2012, 23:43
Hello all, I have a question. Using potplayer and the latest LAVFilters-0.50.2, wondering about something........I have a Diamond Radeon HD 5750, in the settings I see "DXVA2 (copy-back) Available, DXVA2 (native) Available".....when I play a MKV video or a dxva vid,
it says "Active Decoder: avcodec".....is LAV using dxva correctly on this card?.....I know this card uses dxva in MPC-HC and Potplayer with built in codecs.

SamuriHL
29th April 2012, 00:02
I use it on W8 CP. Works fine.

xiulet
29th April 2012, 00:55
Is that CMD prompt elevated?

i don't remember jejeje, but i return to win7, metro is horrible...sorry for inconvenience :)

I am use to win7 and the normal cmd is prompt elevated in my system

ad1

jakmal
29th April 2012, 02:13
Hendrik,

I am testing out LAV Filters 0.50.2 on the ASRock Vision 3D 252B (Core i5-2520M + GT 540M), and I am having some issues getting consistent deinterlacing.

My test clip is here (https://skydrive.live.com/redir.aspx?cid=a9573b6c8fad772c&resid=A9573B6C8FAD772C!2062&parid=A9573B6C8FAD772C!2061&authkey=!ACKIU7KDD4jmY9w) (SkyDrive Link)

Screenshots of the behaviour that I have observed with both LAV Filters 0.50.2 and 0.50.1 are produced below:

CUVID + EVR

http://i.imgur.com/lry15l.jpg (http://imgur.com/lry15.jpg)


DXVA2 Native + EVR

http://i.imgur.com/J3bNCl.jpg (http://imgur.com/J3bNC.jpg)


DXVA2 Copy-Back + EVR (More than 95% of the playback time, we see very bad combing artifacts)

http://i.imgur.com/zQEQvl.jpg (http://imgur.com/zQEQv.jpg)


DXVA2 Copy-Back + EVR (Less than 5% of the playback time, deinterlacing seems to actually work)

http://i.imgur.com/MwfMel.jpg (http://imgur.com/MwfMe.jpg)


CUVID + madVR

http://i.imgur.com/RpDjZl.jpg (http://imgur.com/RpDjZ.jpg)


DXVA2 Copy-Back + madVR

http://i.imgur.com/2xJjKl.jpg (http://imgur.com/2xJjK.jpg)

I am also testing out jRiver MC 17 which auto configures LAV Video Decoder, and unfortunately, it seems to choose a combination which results in playback with artifacts (with no way to choose a good combination -- which seems to be DXVA2 CB + madVR in this case).

Any inputs on why we see this varied behavior, and is there any way to fix this for making it work out of the box?

SamuriHL
29th April 2012, 02:22
You can override the settings that MC17 uses.

jakmal
29th April 2012, 02:36
You can override the settings that MC17 uses.

Yes, Yes, I do know that MC17 is very flexible :) But, I am running with Red October Simple / Red October HQ, and in both these cases, LAV Filters are auto-configured with no way to change it:

http://i.imgur.com/gJjNNl.jpg (http://i.imgur.com/gJjNN.jpg)

But, this is a case for JRiver, not Hendrik, to 'fix'. I am wondering what default settings Hendrik has suggested to JRiver, because, clearly those default settings don't seem to work in the above case.

SamuriHL
29th April 2012, 02:45
AFAIK, when J River auto-configures LAV, it uses the LAV defaults. I could be wrong.

jmone
29th April 2012, 04:10
FYI - I've let the JR'ers know about these question on MC17 and LAV Autoconfig.

Matt Ashland
29th April 2012, 04:23
I replied to Ganesh in email about this, but I thought it might be good to copy the replies here as well.

Hi Ganesh,

Does toggling 'Use hardware acceleration' in Media Center > Options >
Video make any difference?

We don't enable acceleration (CUVID on your GT 540M) by default, due to
reliability concerns (there are a lot of old / bad drivers installed out
there).

I've cc'd Hendrik in case he has any other suggestions.

Thanks,
-Matt

And:
Hi Ganesh,

I'm not sure how much you've read about Red October, so I thought it might
help if I described the system a little.

There's a description here:
http://wiki.jriver.com/index.php/Red_October

But let me summarize a few key points:

1) The goal is to make video playback, using best-in-breed filters, simple
and reliable.

2) Red October uses its own filters and settings, making it immune to
filter-rot on a system. Filter-rot (bad, buggy, misconfigured, etc.
filters) was a huge problem for us before Red October.

2) Red October selects the correct filters automatically -- often this is
LAV, madVR, etc. but there are also many exceptions for DVD, WTV, certain
codecs, etc.

3) As much as possible, filter configuration is done automatically. If
important settings are required, they are exposed in Options > Video. Red
October Standard vs HQ, hardware acceleration, VideoClock, and
bitstreaming are the only video settings most users should ever need.

madVR is a bit of an exception because it has so many settings that it's
not possible to reliably auto-configure it for all systems.

4) Red October allows picking custom filters by picking "Custom" video
mode. You can use particular filters and specify rules (codecs,
containers, etc.) for when the filter should be used.

An important part of 'Custom' mode is that it allows using a manually
installed and configured LAV, madVR, etc. So if you need to manually
configure LAV, you could use 'Custom' video mode. However, if we've done
our job, you shouldn't need 'Custom' mode.

Best,
-Matt

jakmal
29th April 2012, 04:36
This is one of the first streams that I have encountered where I needed to play around with the settings. Here is the set of results (all with VideoClock off). Only Red October-HQ + HW Off seems to work and deliver deinterlacing. All the other modes didn't deinterlace -- including the RO - Default settings. I suspect LAV Splitter or Decoder is not letting the renderer know that it needs to deinterlace. This is most probably a one-off case:

Red October - Default ; HW Acceleration Off

http://i.imgur.com/9nQQth.jpg (http://i.imgur.com/9nQQt.jpg)


Red October - Default ; HW Acceleration On

http://i.imgur.com/yoey1h.jpg (http://i.imgur.com/yoey1.jpg)


Red October - HQ ; HW Acceleration Off

http://i.imgur.com/QwRp0h.jpg (http://i.imgur.com/QwRp0.jpg)


Red October - HQ ; HW Acceleration On

http://i.imgur.com/xMUfCh.jpg (http://i.imgur.com/xMUfC.jpg)


In the case where deinterlacing works, I get a frame drop or two every 10 seconds or so, but the CPU / GPU utilization is not that bad

http://i.imgur.com/ngGP9h.jpg (http://i.imgur.com/ngGP9.jpg)

Matt Ashland
29th April 2012, 04:51
I've been playing with your sample, and focusing on the left edge of Wright's face in the first 10 seconds. It shows jaggies if deinterlacing isn't working.

I'm using 'Custom' video mode in Media Center with a rule to use my manually installed LAV Video decoder. This is to avoid auto-configuration of the LAV Video decoder, thus allowing me to play with the settings manually.

And on your sample video, it only looks good if I enable the option 'Aggressive Deinterlacing' (which has the tooltip 'Force deinterlacing of all frames if the stream is flagged interlaced').

The default for this setting is off, and that is what Red October uses.

Do these findings match what you are seeing?

nevcairiel, do you have any insight on this?

In case it matters, I'm testing on a GTX 680. It doesn't seem to matter what video renderer I use or the deinterlacing mode used in LAV Video. The only trigger seems to be the 'Aggressive Deinterlacing' setting.

Thanks.

nevcairiel
29th April 2012, 06:34
The only trigger seems to be the 'Aggressive Deinterlacing' setting.

Thats exactly the problem. The fils is just broken.
To stick with the stats quoted above, only about 5% of all frames are actually marked as interlaced, all others are actually marked as progressive. Hence, no deinterlacing will take place by default.

This is not a LAV or a JRiver problem. If you run this in MPC-HC with eg. ffdshow, you'll get the same result.
madVR has an equal setting to "aggressive deinterlacing", which i believe is active by default. Any combination that will result in madVR doing deinterlacing should therefor look better. (Software or DXVA-CB + madVR)

I can't decide for you if you want "aggressive deinterlacing" on by default in MC17, the general consensus seemed to be that the good hardware deinterlacers would detect a progressive frame and not try to deinterlace it, so the harm may be minimal.

jmone
29th April 2012, 06:48
I agree with nevcairiel that trying to cater for every broken file is not a great idea..... the only issue is if there are enough of a particular broken filetype in cirulation it makes handling them a requirment

nevcairiel
29th April 2012, 06:49
I agree with nevcairiel that trying to cater for every broken file is not a great idea..... the only issue is if there are enough of a particular broken filetype in cirulation it makes handling them a requirment

This problem is sadly quite common in some countries broadcasts.

jmone
29th April 2012, 07:36
I can't believe the so called "professionals" in the industry produce this stuff.

OT: The other thing annoying me at present is I buy the TV Series we like on BD and expect to get the "best version", yet sadly half the time it is a low bit rate encode and 2.0 DD sound (yet was broadcast on HDTV in 5.1). It is just Lazy and helps promote downloads /OT

jakmal
29th April 2012, 07:47
This problem is sadly quite common in some countries broadcasts.

I agree. This is not the only sample which I have been given that exhibits this problem.

Matt, I think it would be nice if:

1. We go for aggressive deinterlacing even in RO-Standard.

2. If users can check what the 'auto-configured' settings for the various DS filters are (Right now, only madVR is 'clickable') (at least in RO-HQ)

egur
29th April 2012, 09:21
TVs assume an interlaced content all the time.
That's why they also have a Film Mode Detection (3:2, 2:2, etc.) that overrides the deinterlacer if the frames seem to come from a progressive source. 99% of the time this works very well.
Since TVs have a video processor (fast ASIC), it doesn't matter to them (performance/power) whether the content is actually progressive. They are designed to operate in the worst case scenario.
FMD algorithm take a few frames to lock so the quality will be fine.

TV broadcast encoders may choose to pack the frames as progressive in order to achieve better quality for a given bitrate in some scenes.

A PC on the other hand will have a hard time with TV broadcast since a PC relies on information embedded in the video stream.

A (simple?) solution for live TV (or transport streams in general) would be to mark all the frames as interlaced (e.g. via splitter interface). In this case the renderer or decoder must be potent enough to perform DI/FMD properly.

The only problem may be color reconstruction as progressive frames downsample CbCr differently.

The big problem is not the streams - that's the symptom. It's that we have to deal with deinterlacing in the first place. Interlacing is the stupidest method of compression and should have been killed with the move to digital television a long time ago.

Prior to Intel, I worked as a video algorithms engineer in a company that made video processors for TVs and projectors.

jmone
29th April 2012, 09:41
Interlacing is the stupidest method of compression and should have been killed with the move to digital television a long time ago.

+1 and we still have this in HD World. While we are at dumb ideas can we also scrap NTSC comaptibility, really dividing the frame rate by 1000/1001 in the modern age.

SamuriHL
29th April 2012, 12:28
Nev, just pulled the trigger on the 3770k. I should have it Tuesday sometime. I can't freaking wait! Will virtual allow me to use quicksync with my discrete gpu on that machine? I'm upgrading mostly for video encoding so that'd rock. Gaming should be "improved" as well. :)

Sent from my Xoom using Tapatalk 2

nevcairiel
29th April 2012, 12:56
Hardware decoding on the iGPU when you have an dedicated GPU is complicated. In theory the best way is to tell Windows about a "fake" VGA monitor, that way the iGPU stays active.
However, if you use HDMI that has quite some drawbacks (at least for me). Everytime you resume from sleep, that fake VGA screen will be your primary screen, because the HDMI connection takes too long to re-establish.

I just gave up on HW decoding for the time being, the CPU is fast enough as it is.

SamuriHL
29th April 2012, 13:00
Hmm that sucks. Not really the news I was looking for. Ah well. As you said the CPU is fast enough anyway. Guess I'll have to do some testing.

Sent from my Xoom using Tapatalk 2

nevcairiel
29th April 2012, 13:04
I never tried Virtu, maybe it just works.
The whole concept gives me a headache though.

SamuriHL
29th April 2012, 13:17
I guess I'll have to try. The benchmarks I saw on qs encoding were insane. I do a lot of h.264 encoding so that would rock if we can get it working. We'll see. At least I was finally able to order the CPU.

Sent from my Xoom using Tapatalk 2

Matt Ashland
29th April 2012, 13:41
I agree. This is not the only sample Matt, I think it would be nice if:

1. We go for aggressive deinterlacing even in RO-Standard.

Good idea.

Should it be used only to .ts files, or always?


2. If users can check what the 'auto-configured' settings for the various DS filters are (Right now, only madVR is 'clickable') (at least in RO-HQ)

This one is a little more complicated than you might guess. Normally filter configuration is done with a COM property sheet (madVR is an exception). A COM property sheet requires interfaces to be registered with the system.

Red October doesn't register the COM objects, but instead loads filters directly. This is how it stays immune to system filter-rot. But this means the property sheets won't work without some special work.

nevcairiel recently make a change that might make this easier, but another problem is that the sheets don't have a read-only mode. Allowing a user to make changes when we auto-configure creates a complex intersection (for us and the user).

For these reasons, the current approach of using 'Custom' video mode if you need to configure the filter has some advantages.

Even in the case of this problem, 'Custom' mode was really only needed to debug and fix the problem (the fix should go out Monday). A normal user should not have to think about this complexity at all.


The big problem is not the streams - that's the symptom. It's that we have to deal with deinterlacing in the first place. Interlacing is the stupidest method of compression and should have been killed with the move to digital television a long time ago.

Well put.

jmone
29th April 2012, 21:40
Good idea.

Should it be used only to .ts files, or always?

Such material can be muxed into just about any containder (in particular as MKV) as well as native TS.


This one is a little more complicated than you might guess. Normally filter configuration is done with a COM property sheet (madVR is an exception). A COM property sheet requires interfaces to be registered with the system.

Red October doesn't register the COM objects, but instead loads filters directly. This is how it stays immune to system filter-rot. But this means the property sheets won't work without some special work.

nevcairiel recently make a change that might make this easier, but another problem is that the sheets don't have a read-only mode. Allowing a user to make changes when we auto-configure creates a complex intersection (for us and the user).

For these reasons, the current approach of using 'Custom' video mode if you need to configure the filter has some advantages.

Even in the case of this problem, 'Custom' mode was really only needed to debug and fix the problem (the fix should go out Monday). A normal user should not have to think about this complexity at all.

I agree, the whole point of RO was to remove the complexity for the average user so video playback just works. For those that want to tinker then the custom approach is great. If we are going to go down the ability to custom config LAV Filters in RO STD/HQ then I'd suggest the vars are stored in the "playback info" field that way a user (that cares) could for instance apply features like "agressive deinterlacing" on a per file basis.

andyvt
30th April 2012, 01:28
Good idea.

Should it be used only to .ts files, or always?



What about applying some sort of heuristic during format detection / import that classifies the file as "interlaced"?

For e.g. a 1280x720 TV file is likely to be progressive, where a 1920x1080 one is likely to be interlaced, at least in the US...

jmone
30th April 2012, 01:48
My camcorder pushes out 1920x1080x50p in a M2T(S) container

andyvt
30th April 2012, 02:12
My camcorder pushes out 1920x1080x50p in a M2T(S) container

Would this get detected as a TV file though?

madshi
30th April 2012, 08:42
@nev,

is there any chance you could bump up priority of this one?

http://forum.doom9.org/showthread.php?p=1519740#post1519740

It seems it would help sorting out the VSFilter/xy-vsfilter color matrix problems (see xy-vsfilter thread).

nevcairiel
30th April 2012, 08:43
@nev,

is there any chance you could bump up priority of this one?

http://forum.doom9.org/showthread.php?p=1519740#post1519740

It seems it would help sorting out the VSFilter/xy-vsfilter color matrix problems (see xy-vsfilter thread).

As mentioned in that xy-vsfilter thread, this has been supported for many months already.

madshi
30th April 2012, 09:16
As mentioned in that xy-vsfilter thread, this has been supported for many months already.
Cool, nice work.

rlevis
30th April 2012, 10:03
Hi.

I just switched to LAV Audio Decoder for MediaPortal, mainly due to the audio delay feature which I need for my new TV. I was using Monogram for AAC+ and ffdshow Audio Decoder for everything else, but Monogram doesn't have an audio delay feature.

Unfortunately the AC3 audio is much quieter now, but AAC+ is normal volume, and this makes it a hassle when changing channels. In NZ we have some digital channels with AC3 surround and some AAC+ stereo. We only have stereo speakers.

I tried enabling the DRC audio compression checkbox but it hasn't made any difference I can notice.

I don't suppose there is any method to resolve this?

Skibicki
30th April 2012, 19:11
higher cpu usage during first 30 sec of file
setup in signature
http://www.mediafire.com/download.php?sdd2vuseixnfgcc

Caleb666
30th April 2012, 19:41
Hi,

I recorded this clip from an IPTV stream in MediaPortal: http://ifile.it/zrbpa0s
For some reason I get 2 dropped frames with LAV, but when I play the file in PotPlayer, I get 0 dropped frames.

Is anyone else experiencing dropped frames with that clip?

Skibicki
30th April 2012, 19:59
Is anyone else experiencing dropped frames with that clip? No, it worked with DXVA2 native and software.

Matt Ashland
1st May 2012, 00:22
What about applying some sort of heuristic during format detection / import that classifies the file as "interlaced"?

This went out in tonight's beta of Media Center (17.0.141) and should be public in a few days:

Changed: LAV video is set to "aggressively" de-interlace mpeg-2 video in Red October mode. This should fix broken TV streams that have some interlaced frames marked as progressive.

SamuriHL
1st May 2012, 01:40
Sweet. Thanks, Matt. I'll ask you specific questions over on the J River forum.

Soukyuu
1st May 2012, 14:24
I'm having a weird issue with my dvds. First I was getting the macrovision fail message which I fixed by registering that DVD navigator. Everything worked fine, including audio, now I tried playing another DVD today and there is no audio.
Went back to the DVD that worked yesterday, no audio either. The audio stream is still displayed correctly (stereo LPCM 48kHz) if I open it as DVD, but there is no sound actually coming out.

Now I tried opening the .vob directly and it works fine O_O

I'm not sure if it's LAV, the DVD navigator, madVR or anything else..
The question is, why did it work once (immediately after registering DVD navigator) but stopped working now...

My setup: LAV audio+video decoder, haali splitter, madVR and xy-vsFilter

heyer
1st May 2012, 15:13
Excuse me for asking, but I tried searching around a bit, and I couldn't find anything. So here goes: What are the benefits of LAV splitter over Haali? Does Haali have any benefits?

wanezhiling
1st May 2012, 16:31
:) AV Splitter is better than them just in terms of function.

nevcairiel
1st May 2012, 17:09
:) AV Splitter is better than them just in terms of function.

If you prefer something else, great, advertising in this thread is however just rude.

SamuriHL
1st May 2012, 18:02
I think they meant LAV Splitter, Nev. I hope. :)

heyer
1st May 2012, 18:09
So, what are the actual differences? Faster seeking? I'm geniunely curious here :)

wanezhiling
2nd May 2012, 01:35
If you prefer something else, great, advertising in this thread is however just rude.

Sorry, not my intention indeed.:scared:

So, what are the actual differences? Faster seeking? I'm geniunely curious here :)

Just try. For me Lav is much better than Haali.