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

LigH
13th June 2017, 07:53
There are additional audio processors available (e.g. DeDynamic or TFM for DirectShow). LAV Filters may well be pure decoders.

nevcairiel
15th June 2017, 10:37
LAV Filters 0.70

General
- Official LAV Filters builds require a SSE2 capable CPU

LAV Splitter
- Fixed: Certain MP4/MOV files didn't play or seek correctly in recent versions of LAV Splitter
- Fixed: HEVC in MP4 without PTS timestamp is being signaled appropriately
- Fixed: Closing RTSP streams did not properly call the TEARDOWN function

LAV Video
- NEW: CUVID support for VP9 8/10-bit and HEVC 10/12-bit decoding
- NEW: DXVA2 support for VP9 10-bit decoding
- Changed: Simplified the internal dataflow to reduce overhead and improve performance
- Changed: Enabled P010 output to EVR on Windows 10 Creators Update
- Fixed: Y416 output was incorrect (required by madVR 0.91.8 and newer)
- Fixed: Parsing H.264 MVC SEI NALs could fail in some cases
- Fixed: CUVID decoding could deinterlace progressive streams under certain circumstances, degrading the quality

LAV Audio
- Fixed: LATM AAC streams with Program Config Elements (PCE) (common in DVB-T2 broadcast) played with audible distortions
- Fixed: Very short PCM audio streams didn't play properly


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

Its already been half a year again since the last release, so it was about time.

NVIDIA finally released the updated NVDEC SDK (formerly CUVID), which allowed adding support for new codecs and proper 10/12-bit decoding without too much trouble, for those people that still cling to NVDEC/CUVID decoding.
In addition to that, DXVA2 also supports VP9 10-bit decoding now - with the required hardware support of course.

Overall I spend some time cleaning and optimizing LAV Video, which should lead to a small performance increase across the board - it does depend on the video and decoding mode however, so the improvements vary.

Otherwise the same as every release, a bunch of fixes that didn't make the log, some in LAV and some inherited from FFmpeg.
As always, please do report regressions, preferably with a sample file to reproduce them.

madshi
15th June 2017, 10:41
Very nice, thank you!

Can you add some details for "Fixed: Parsing H.264 MVC SEI NALs could fail in some cases"? I'm asking just in case it might also be something I need to fix in my code somewhere.

nevcairiel
15th June 2017, 10:44
Can you add some details on "Fixed: Parsing H.264 MVC SEI NALs could fail in some cases"? I'm asking just in case it might also be something I need to fix in my code somewhere.

Doubtful. You don't parse any raw H.264 stuff anywhere, do you?

The problem was that I tried to parse the SEI without un-escaping it first, which would fail if the data contained a double zero byte (which is forbidden and therefor escaped). I don't know if any real world problems came from this (at worst the subtitle offsets might have been wrong), but it logged errors in some cases.

manolito
15th June 2017, 10:51
General
- Official LAV Filters builds require a SSE2 capable CPU

Could you please tell me which 0.69 nightly is the last version which works without SSE2? I'm too lazy to try them all... :scared:

Cheers
manolito

madshi
15th June 2017, 10:55
Doubtful. You don't parse any raw H.264 stuff anywhere, do you?

The problem was that I tried to parse the SEI without un-escaping it first, which would fail if the data contained a double zero byte (which is forbidden and therefor escaped). I don't know if any real world problems came from this (at worst the subtitle offsets might have been wrong), but it logged errors in some cases.
Thanks.

(Actually I do parse h264 in some situations in madVR. I'm doing that to extract video header information in case the video decoder doesn't properly report that to me. Not needed when using LAV Video Decoder, obviously.)

sneaker_ger
15th June 2017, 11:04
Could you please tell me which 0.69 nightly is the last version which works without SSE2? I'm too lazy to try them all... :scared:
Try LAVFilters-0.69.0-85.exe.

nevcairiel
15th June 2017, 12:36
Note that you can still make non-SSE2 builds if you choose to, it'll be slightly slower but it will work. Only the official builds will require it, the source itself does not.

manolito
15th June 2017, 14:08
I cannot build the binaries myself...
Any reliable source for "non-official" builds?

Virtual_ManPL
15th June 2017, 18:15
@ nevcairiel - Thank you very much for the new stable release! :thanks:

mzso
16th June 2017, 12:10
for those people that still cling to NVDEC/CUVID decoding.

I for one am not clinging to it, but I'm forced to use it since apparently that's the only way I can get decent deinterlacing. LAV's deinterlacer wouldn't work without HW accelerated decoding, madVR's apparently doesn't work at all.

huhn
16th June 2017, 16:51
because it doesn't work for does mean it doesn't work in general.

does it work with EVR? it is using the exact same deinterlancer.

nussman
16th June 2017, 17:40
I for one am not clinging to it, but I'm forced to use it since apparently that's the only way I can get decent deinterlacing. LAV's deinterlacer wouldn't work without HW accelerated decoding, madVR's apparently doesn't work at all.
LAV's deinterlacer = ?
GPU HW Deinterlacers work with software, dxva native and dxva copyback (and cuvid). With software or dxva it depends on the videorenderer, but with madVR and EVR / EVR Custom HW deinterlacing is just fine here (Win7, Win 8.1, Win10).

nevcairiel
16th June 2017, 17:44
His problems seem to come from his TV player application which somehow does a bad job of re-initing the directshow graph on channel changes, causing madVR to drop the deinterlacing. Could probably be fixed in madVR somehow, or perhaps in the player (or using a different one).

mzso
16th June 2017, 18:49
LAV's deinterlacer = ?
GPU HW Deinterlacers work with software, dxva native and dxva copyback (and cuvid). With software or dxva it depends on the videorenderer, but with madVR and EVR / EVR Custom HW deinterlacing is just fine here (Win7, Win 8.1, Win10).

In LAV I can only enable HW deinterlacing when I enabled HW acceleration.

because it doesn't work for does mean it doesn't work in general.

does it work with EVR? it is using the exact same deinterlancer.

It seems like deinterlacing is fine with EVR, when it works. Apparently ProgDVB crashes with LAV 0.70 and disabled HW acceleration.

His problems seem to come from his TV player application which somehow does a bad job of re-initing the directshow graph on channel changes, causing madVR to drop the deinterlacing. Could probably be fixed in madVR somehow, or perhaps in the player (or using a different one).

Sadly I can't find a better one. So far this seems to be the most decent. (Despite being buggy.)

nussman
16th June 2017, 19:57
You dont have to enable HW deinterlacing in LAV.
GPU/Hardware Deinterlacing setting is for cuvid/quicksync (?) only.

You can try another deinterlacing mode (aggressive or force) in LAV or another TV-Player (i.e. DVBViewer Pro).

P.S. I hope you are not using WinXP? :)

mzso
16th June 2017, 22:52
You dont have to enable HW deinterlacing in LAV.
GPU/Hardware Deinterlacing setting is for cuvid/quicksync (?) only.

You can try another deinterlacing mode (aggressive or force) in LAV or another TV-Player (i.e. DVBViewer Pro).

P.S. I hope you are not using WinXP? :)

I'm not sure what you're trying to say. (I took a look at DVBViewer, but I found the interface really cumbersome)

(I'm on 8.1)

el Filou
17th June 2017, 10:00
I'm not sure what you're trying to say. (I took a look at DVBViewer, but I found the interface really cumbersome)

(I'm on 8.1)
MediaPortal 1 supports madVR now, maybe try it?

I'll try the free version of ProgDVB when I have time, to see if I have the same problems as you.

mzso
17th June 2017, 10:42
MediaPortal 1 supports madVR now, maybe try it?

I'll try the free version of ProgDVB when I have time, to see if I have the same problems as you.
I believe I tried MediaPortal for something a while ago. But if memory serves it has a very cumbersome tv/remote oriented UI. (which is aggravated by the fact that I'm using a desktop pc to watch TV)

manolito
17th June 2017, 13:52
Try LAVFilters-0.69.0-85.exe.
Thanks... :thanks:

Yes, this is the last version which works without SSE2.

egandt
21st June 2017, 00:33
Any idea, it is a new setup using 0.70, and is working well, but I'm getting dual LAV splitters with what appear to be doing the same thing. When I look at the playback graph I see only one copy however.

Thanks,
ERIC

nevcairiel
21st June 2017, 07:05
Perhaps the player is using it to load external subtitles or an external audio file.

mzso
21st June 2017, 12:48
MediaPortal 1 supports madVR now, maybe try it?

I'll try the free version of ProgDVB when I have time, to see if I have the same problems as you.

Hi!

So, did you try it?

el Filou
21st June 2017, 18:17
Hi!

So, did you try it?
Yes, I've answered you with a screenshot in the madVR thread.
I can use GPU deinterlacing without any problem with LAV software decoding + madVR.

huhn
21st June 2017, 21:29
can you keep this to one thread please?

nussman
21st June 2017, 21:48
I think @mzso should start a new thread for his issue with all infos from LAV and madVR thread about it for supporters.

mzso
21st June 2017, 22:16
I think @mzso should start a new thread for his issue with all infos from LAV and madVR thread about it for supporters.

If I couldn't find a solution in the dedicated thread of the stuff I'm having troubles with I doubt there'd be any in a separate thread.

nussman
21st June 2017, 22:48
Do what ever you want, but hardware deinterlacing works just fine for most LAV/madVR users. So my guess is there must be something different on your system, but if you spread out the informations in different threads its harder to help you.

mzso
22nd June 2017, 08:35
Do what ever you want, but hardware deinterlacing works just fine for most LAV/madVR users. So my guess is there must be something different on your system, but if you spread out the informations in different threads its harder to help you.

I didn't I asked here whether I could have different LAV settings for a specific app, after which the conversation trailed toward to be identical to the one in the madVR thread.

chros
22nd June 2017, 19:57
@ nevcairiel - Thank you very much for the new stable release! :thanks:
Me too :)

VictorLS
27th June 2017, 22:33
nevcairiel

LAV Filters 0.70
LAV Video
- NEW: CUVID support for VP9 8/10-bit and HEVC 10/12-bit decoding
- Fixed: CUVID decoding could deinterlace progressive streams under certain circumstances, degrading the quality

That's great (Russian says in such cases "better later than never") - with my GTX750 on GM206 work both NVIDIA CUVID h265 10bit HW decoding and playing all artifacted files without artifacts by switching off Enable CUVID DXVA Processing in Win7x64.
But it's a pity in WinXP h265 10bit HW decoding still not work as with previous versions of LAV Video Decoder - except is 0.68.1.35 modified by Aleksoid1978 which works pretty well in WinXP - correct it in future releases, please.

nevcairiel
27th June 2017, 22:38
If its broken on XP, it'll likely remain broken.

VictorLS
28th June 2017, 06:40
If its broken on XP, it'll likely remain broken.
It's a pity 2.
Where you lost your Perfectionism?

QBhd
28th June 2017, 08:02
Are you kidding? XP is beyond old! Why would you think any developer would keep supporting this? Get a grip. Besides, XP is horrible for media playback.

QB

lvqcl
28th June 2017, 11:38
There are 2 ways to make LAVFilters more perfect:
1) fix all problems with WinXP (apparently won't happen)
2) make them require Vista+

(so VictorLS should be happy that nevcairiel isn't perfectionist ;) )

VictorLS
28th June 2017, 17:53
lvqcl
Logically you're quite right, but I like first variant ;)

XP is beyond old!
But works almost perfect, incl. while playing 4K h265 10bit with hardware acceleration with LAV Video Decoder 0.68.1.35 modified by Aleksoid1978.
Why would you think any developer would keep supporting this?
Aleksoid1978 even gave diff-file. Why just implement it in modern version of LAV Video Decoder with some updates to work in XP correctly?
Besides, XP is horrible for media playback.
You're right - if playing more then one videostream, sometimes WinXP lags, but I usually plays one videostream simultaneously )
And in one videostream in KMPlayer or donateware SAT-program SmartDVB it shows all ~20 4K h265 8-10bit SAT channels I can receive quite well without any stuttering (my monitor supports 50Hz input frequency natively) - in Win7x64 I see some stutter sometimes.
PS. I saw Smurfs2 4K h265 10bit HDR in WinXP with KMPlayer and MadVR with HDR->SDR conversion setting without any stutter too (my monitor supports 2*23,976=47,952Hz input frequency natively too).

nevcairiel
28th June 2017, 19:32
As I've mentioned many times in the past - before I'll spend time trying to fix something on XP (nevermind something that requires hardware decoding, and thus XP on actual hardware, not even a VM), I'll just disable XP support entirely. So if you still use XP, I would be very careful with what you ask for. :)

VictorLS
28th June 2017, 20:14
As I've mentioned many times in the past - before I'll spend time trying to fix something on XP (nevermind something that requires hardware decoding, and thus XP on actual hardware, not even a VM)
As usual first of all thanks for reply.
I know many people (and from various forums too) using LAV in WinXP but they don't watch 4K h265 10bit because they haven't GM206-based videocard, so they are satisfied, but I require maximum possible.
I want mention, Aleksoid1978 is MPC-BE developer and MPC-BE not work in WinXP many times ago, so people I know have to use MPC-HC instead, but Aleksoid1978 spend some (very few) time to modify LAV Video Decoder work perfect in WinXP.
So if you still use XP
Of course still - as minimum while my computer supports it.
I'll just disable XP support entirely
OK. I'll just use modified 0.68.1.35 as do it now :)
It's a pity I can't use LAV Splitter and Audio Decoder separately LAV Video Decoder. When was MpegSplitter.ax, MpaDecFilter.ax and MPCVideoDec.ax it was easy possible.

PS. If you want I can ask Aleksoid1978 (or you can ask him by yourself) what the secret of h265 10bit support under WinXP implementing. I hope he'll answer to me (or you).

Groucho2004
28th June 2017, 21:29
I'll just use modified 0.68.1.35 as do it now :)Got a link for that?

P.J
28th June 2017, 21:56
Why does the edge of saturated colors look bad in prores format?
I have this problem only with prores videos :confused:

http://screenshotcomparison.com/comparison/213956

sneaker_ger
28th June 2017, 21:59
It's probably a different output format than your other videos (10 bit 4:2:2?) and your renderer/GPU driver/OS messes up. Try madvr. (Or set LAV to only output RGB/4:4:4. I assume it has a better conversion.) It's a common artifact of low quality chroma upsampling.

nevcairiel
28th June 2017, 23:31
That certainly sounds like a possibility. 4:2:2 -> RGB upsampling appears to be of weird quality on some GPUs, so using madVR or LAVs upsampling (which might not be very fast on high resolutions, though, maybe I should make an AVX variant of it) could help.

VictorLS
29th June 2017, 06:04
Got a link for that?
It was here http://forum.doom9.org/showthread.php?p=1786045#post1786045
New link to download LAVFilters-0.68.1-35.exe (10MB) https://yadi.sk/d/ylhX_1Es3KapC6

P.J
29th June 2017, 10:13
It's probably a different output format than your other videos (10 bit 4:2:2?) and your renderer/GPU driver/OS messes up. Try madvr. (Or set LAV to only output RGB/4:4:4. I assume it has a better conversion.) It's a common artifact of low quality chroma upsampling.

Yes, prores is (8 bit) 4:2:2 and avchd is 8 bit 4:2:0
I'm using Win10 GTX960 EVR-CR


That certainly sounds like a possibility. 4:2:2 -> RGB upsampling appears to be of weird quality on some GPUs, so using madVR or LAVs upsampling (which might not be very fast on high resolutions, though, maybe I should make an AVX variant of it) could help.

LAVs upsampling = set LAV to only output RGB/4:4:4 ?

sneaker_ger
29th June 2017, 10:25
Correct.

Groucho2004
29th June 2017, 10:44
It was here http://forum.doom9.org/showthread.php?p=1786045#post1786045
New link to download LAVFilters-0.68.1-35.exe (10MB) https://yadi.sk/d/ylhX_1Es3KapC6Thanks.

nevcairiel
29th June 2017, 11:08
LAVs upsampling = set LAV to only output RGB/4:4:4 ?

Or at least disable 4:2:2 modes, that'll force 4:2:2 to 4:4:4/RGB but keep 4:2:0 as-is.

P.J
29th June 2017, 12:08
Or at least disable 4:2:2 modes, that'll force 4:2:2 to 4:4:4/RGB but keep 4:2:0 as-is.

Yea, I actually did that and now it's much better :thanks:
http://screenshotcomparison.com/comparison/214003

I'll test with Intel HD4600 too, not sure what to blame :D

e-t172
29th June 2017, 18:29
Of course still - as minimum while my computer supports it.

Running a decades-old OS which has stopped getting security updates long ago, and therefore constitutes a significant threat for yourself and others, is not a "matter of course". If anything, nev would be making the world a better place by disabling XP support, as it would encourage people like you to move to a more secure OS.

manolito
29th June 2017, 20:06
... as it would encourage people like you to move to a more secure OS.

A more secure OS like Win10 for example? :devil:
That's a good joke...
(You do not read any security news, do you? "Security" and "Microsoft", these two terms are mutually exclusive.)