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

Patrik G
14th February 2016, 17:19
A HDR TV can of course show a much higher dynamic range, since the panels are designed for a much higher range of brightness.


yes but HDR is not all about peak brightness isnt it?
the blacklevel is a more important factor to gain dynamic range.

lower the blacks twice and you have the same dynamic range as a tv with doubled peak brightness but higher blacklevel.

also high peakbrightness is not important if the panel cant show all steps from black to white needed for HDR right.
contrast ratio is one thing and dynamic range is another.

OLED tvs stil lacks "dynamic range" compared to the Kuros.
they just cant show all levels properly near black.

last
do you really need 1000 nits watching in a dim room.?
with sunglasses probably lol

nevcairiel
14th February 2016, 17:22
yes but HDR is not all about peak brightness isnt it?
the blacklevel is a more important factor to gain dynamic range.


That depends, any ordinary living room setup won't really benefit much from better black levels because of ambient light, many of todays TVs can easily reach values good enough for such usage, in such a setup moving the dynamic range up with higher peak brightness would be advantageous. If you have a pitch-black batcave, thats another topic, but the majority of consumers do not.

In any case, proper HDR TVs will show you more dynamic range than older TV models. How obvious that is we'll have to wait and see.

This does not really belong into the LAV thread though, if you want to continue to discuss the impact of HDR please consider opening a dedicated thread for that topic.

kolak
14th February 2016, 20:26
OLED tvs stil lacks "dynamic range" compared to the Kuros.
they just cant show all levels properly near black.

last
do you really need 1000 nits watching in a dim room.?
with sunglasses probably lol

Consumer OLEDs yes, but not Sony 4K OLED reference monitor. This blows everything on the planet (except prototype laser projectors) and it also does 1000 nits.
Most if not all HDR current titles are mastered on this Sony monitor (+ consumer TV on the side to see how it translate to consumer world).
1000 nits is only for peak (just some scenes or none depending on the content), where average brightness will be way lower, probably <500 nits.
HDR is nothing that special at all- it just brings display technology closer to real world and away from old and very restricted 100 nits mastering. This has been used for bit to long.

nevcairiel
16th February 2016, 13:59
There is a new nightly available in the usual place which adds support for demuxing H.264 MVC from Blu-ray SSIF files
https://files.1f0.de/lavf/nightly/

You'll need 0.67-92 or newer.
Bare in mind that its an early version, so it may not function properly on all files/discs yet.

This version does not yet read the eye-order metadata from the Blu-ray playlists, nor does it support opening a Blu-ray playlist directly - only straight SSIF files are supported so far.
It is however a big step towards achieving those missing features, as interleaving the two views into one for the decoder is an important step.

My current plan is to get direct Blu-ray demuxing to work as well before the next release, and hopefully soon as well, so that a new version can be officially released soon.
Lets hope my current plan to integrate this into the libbluray flow works out.

madshi
16th February 2016, 14:08
Awesome!! :)

:thanks:

SamuriHL
16th February 2016, 14:14
That's pretty sweet. Thanks, Nev!

FDisk80
16th February 2016, 14:31
There is a new nightly available in the usual place which adds support for demuxing H.264 MVC from Blu-ray SSIF files
https://files.1f0.de/lavf/nightly/

You'll need 0.67-92 or newer.
Bare in mind that its an early version, so it may not function properly on all files/discs yet.

This version does not yet read the eye-order metadata from the Blu-ray playlists, nor does it support opening a Blu-ray playlist directly - only straight SSIF files are supported so far.
It is however a big step towards achieving those missing features, as interleaving the two views into one for the decoder is an important step.

My current plan is to get direct Blu-ray demuxing to work as well before the next release, and hopefully soon as well, so that a new version can be officially released soon.
Lets hope my current plan to integrate this into the libbluray flow works out.

Awesome! :D Can't wait.

SamuriHL
16th February 2016, 14:41
Just tried it out and it doesn't seem to be working for me. Since MC21 doesn't open ssif files, I used MPC-HC to open the ssif off a mounted BD ISO. It's playing back in 2D and LAV video is showing avcodec as the active decoder. Opening an MKV with the same setup works just fine.

nevcairiel
16th February 2016, 15:06
MPC-HC is doing something evil and if you try to open any file from a Blu-ray (mounted or actual disc) it opens the main playlist instead.
Copying it off the disc first works, even as full structure, as long as its not at the root of a drive.

SamuriHL
16th February 2016, 15:13
Oh joy. Ok, I'll give that a shot when I get a moment.

SamuriHL
16th February 2016, 17:48
Yea, that worked. SSIF plays fine in 3D just like the MKV. Very nice!

nevcairiel
16th February 2016, 21:27
I also just pushed support for demuxing the H.264 MVC content directly from the Blu-ray using LAVs Blu-ray demuxer, so you can open it for title playback like any 2D Blu-ray.
It'll be in the next nightly (in about ~5 hours).

As the SSIF change before, its in a very early state and I do not know how well it works across a wide variety of discs. I only tested 3 or so which I had sitting around, although one of those uses seamless branching, so thats at least tested.
It will also export the eye-order metadata from the Blu-ray now if its available, so madVR can switch the eyes if needed.

Seeking is a bit complicated because it has to sync the main Blu-ray stream and the MVC extension stream which comes from a different file, but it seems to work decently fast in my tests (off of a HDD, not an optical drive, though).

It might be important to note that every 3D Blu-ray automatically gets this treatment, although due to how H264 works any decoder unaware of MVC support *should* just ignore the extra data and decode the 2D image like before.
At least that would be the hope.

One of these days I should sit down and actually watch an entire movie in 3D to test this more thoroughly.

clsid
16th February 2016, 22:04
You forgot to push the latest libbluray changes.

nevcairiel
16th February 2016, 22:07
Its all there now.

madshi
16th February 2016, 22:21
Wonderful, that actually sounds better than I had expected! So you had no trouble extending libbluray for 3D?

Is there anything still missing for 3D Blu-Ray support? Only thing coming to my mind right now would be subtitle specific 3D stuff (I think there is an SEI for that).

clsid
16th February 2016, 22:26
Just tested with a mounted 3D Bluray ISO and it is working great. Awesome work!

nevcairiel
16th February 2016, 22:26
Wonderful, that actually sounds better than I had expected! So you had no trouble extending libbluray for 3D?
I didn't extend it really, just use it to parse the metadata (only extended it slightly to expose more metadata).
3D Blu-rays are a bit funny. The .ssif files aren't actually the ones you are supposed to use for 3D playback, instead there is two m2ts files, one with the 2D Base, Audio and subtitles, and another one with just the MVC extension.

The SSIF is created through some magic on the file system level by combining the sectors of those two files into a virtual file (which makes a "naive" rip of such a disc twice as large)

So I just let libbluray read the 2D file like it usually does, and open the 3D file manually on the side and sync up the MVC frames to the base view.
Luckily libbluray sends me events when it switches clips, so I can also switch to the next 3D clip on seamless branching titles. Works surprisingly well!


Is there anything still missing for 3D Blu-Ray support? Only thing coming to my mind right now would be subtitle specific 3D stuff (I think there is an SEI for that).

I haven't looked into subtitles much yet, but from what I briefly skimmed over its a combination of BD metadata (ie. defining the available planes) with a combination of SEI (assigning planes to events)

madshi
16th February 2016, 23:14
3D Blu-rays are a bit funny. The .ssif files aren't actually the ones you are supposed to use for 3D playback, instead there is two m2ts files, one with the 2D Base, Audio and subtitles, and another one with just the MVC extension.
If you're not supposed to use the SSIF files, whey do they exist? Not important, just wondering...

So I just let libbluray read the 2D file like it usually does, and open the 3D file manually on the side and sync up the MVC frames to the base view.
Luckily libbluray sends me events when it switches clips, so I can also switch to the next 3D clip on seamless branching titles. Works surprisingly well!
Sounds good!

I haven't looked into subtitles much yet, but from what I briefly skimmed over its a combination of BD metadata (ie. defining the available planes) with a combination of SEI (assigning planes to events)
Subtitles aside, is there anything else missing for 3D Blu-Ray? Nothing coming to my mind atm.

nevcairiel
16th February 2016, 23:27
If you're not supposed to use the SSIF files, whey do they exist? Not important, just wondering...

Who knows. Maybe they are supposed to be used under some circumstances which I didn't find yet. But the playlist has an extension link to the MVC-only clips which lets me identify them directly and just open them in parallel. Doing it this way is so much easier - but it does require two MPEG-TS demuxers to run, maybe hardware doesn't like that, who knows.

Casshern
17th February 2016, 11:22
Who knows. Maybe they are supposed to be used under some circumstances which I didn't find yet. But the playlist has an extension link to the MVC-only clips which lets me identify them directly and just open them in parallel. Doing it this way is so much easier - but it does require two MPEG-TS demuxers to run, maybe hardware doesn't like that, who knows.

Just speculatiing here but maybe it's because optical drives (remember that blurays are supposed to be on optical disks) have absymal seek times. Reading two files on different locations on the disks is extremly slow. So they interleave the two m2ts files sector wise. The SSIF file might be a view to those (combined) interleaved files and makes seeking and sequential reading much easier. So i guess that by parsing the SSIF and reading from the ssif file may provide a means to read 3d blurays from optical drives efficiently..... both views are probably required - as opposed to ssif only - to provide backward compatibility for old players for 2d playback

IanD
17th February 2016, 14:13
Its all there now.

Can someone briefly document the requirements and limitations for playing Bluray 3D?

I gather it requires the latest MadVR and LAV filters, but can't seem to find whether it will work with XP and if using an Nvidia GT730 for example, whether Cuvid, DXVA or DXVA copyback should be selected or whether it works from a mounted ISO or only files copied to HDD.

nevcairiel
17th February 2016, 14:15
XP is not supported. You can safely assume that any new advanced features will generally not work on XP.
It does not use any kind of hardware acceleration, so it makes no difference what you select.

More specifically, the HDMI 1.4 3D Output through madVR requires Windows 8 or newer, although it could output SBS/TB or some interleaved format on earlier versions of Windows as well, at a loss of resolution.
Decoding will likely not work on XP however.

IanD
17th February 2016, 14:49
XP is not supported. You can safely assume that any new advanced features will generally not work on XP.
It does not use any kind of hardware acceleration, so it makes no difference what you select.

More specifically, the HDMI 1.4 3D Output through madVR requires Windows 8 or newer, although it could output SBS/TB or some interleaved format on earlier versions of Windows as well, at a loss of resolution.
Decoding will likely not work on XP however.
Thanks for the clarification.

Interestingly, Stereoscopic Player (Trial) works for me under XP to decode 3D SSIF and output as SBS/OU/interlaced/anaglyph. I can't test frame packing output as I don't have a suitable 3D TV yet, but even if that doesn't work, interlaced might still be useful for LG passive 3D TVs. You seem to suggest that MadVR could output interlaced, so I guess I should ask there, but I couldn't find any options when I tried the latest version recently (albeit hurriedly) with the latest nightly LAV.

Would be great to have this working under XP, even if limited in output, from open source.

clsid
17th February 2016, 15:12
The limitations are not directly in LAV itself, but in the Intel Media SDK that it uses for decoding MVC video. That most likely requires Vista+ and SSE2 capable CPU.

nevcairiel
17th February 2016, 15:27
Indeed, the decoder is not actually opensource, and it works where it works, but historically Intels MediaSDK libraries have not worked on XP.

IanD
17th February 2016, 15:38
The limitations are not directly in LAV itself, but in the Intel Media SDK that it uses for decoding MVC video. That most likely requires Vista+ and SSE2 capable CPU.

Indeed, the decoder is not actually opensource, and it works where it works, but historically Intels MediaSDK libraries have not worked on XP.

I have been quite partial to Cuvid hardware acceleration with XP because it seems to get around the XP limitation with Microsoft and Intel, so it is disappointing that this is no longer being developed into the MVC arena, leaving only CPU decoding (and that no longer supporting XP).

If the decoder isn't open source, I might as well just use Stereoscopic Player as that does work with XP, however I kind of like the MadVR/LAV PQ.

Stereodude
17th February 2016, 16:39
If the decoder isn't open source, I might as well just use Stereoscopic Player as that does work with XP, however I kind of like the MadVR/LAV PQ.
Well, you could get a modern OS instead of expecting programs to keep supporting it. XP is almost 15 years old now. I still have a few infrequently used computers running XP floating around my house, but I don't expect new software and features to work on them. What compelling reason do you have for still using XP as a media playback OS instead of Windows 7?

ryrynz
17th February 2016, 22:17
What compelling reason do you have for still using XP as a media playback OS instead of Windows 7?

Not to derail, but I don't know why people keep recommending or mentioning 7.. it's basically a dead OS. 8.1 minimum IMO, I've heard it does a better job of media presentation it's also considerably more up to date with some nice new features, a lot faster and from my experience 100% stable. Anyway I'm sure he has a good reason, IanD knows what he's doing, bit slow on the OS uptake though.. Windows 98SE in 2006 :3

Konrad Klar
17th February 2016, 22:29
Not to derail, but I don't know why people keep recommending or mentioning 7..
For some the GUI of Windows 8 and newer looks atrocious.

Manni
17th February 2016, 22:35
SSIF playback works great, well done.

The main upside of playing .mpls is to keep chapter info.

When playing the SSIF, it's like when playing the m2ts, you lose the ability to skip chapters.

Apart from that, it seemed to work great, at least with the movie I tested.

Stereodude
17th February 2016, 23:00
Not to derail, but I don't know why people keep recommending or mentioning 7.. it's basically a dead OS. 8.1 minimum IMO, I've heard it does a better job of media presentation it's also considerably more up to date with some nice new features, a lot faster and from my experience 100% stable. Anyway I'm sure he has a good reason, IanD knows what he's doing, bit slow on the OS uptake though.. Windows 98SE in 2006 :3
Because 7 is the next step after XP if you want to lag behind (We'll ignore Vista). Sure, 8.1 with Classic Shell would be the logical choice of a Windows OS for media playback. I put 8.1 x64 on my HTPC rebuild that I just put together in the past week.

FDisk80
17th February 2016, 23:43
Finally got home from work and tested the new Full 3D Bluray thing. IT'S MAGIC! RIP PowerDVD.
Everything just works. Supports ISO like a champ. No need to mount. It even enables and then properly disables the 3D feature in the nvidia control panel after the player is closed.
Picture quality is superb with madVR.

Had to drop from NNEDI 128 to Jinc for Full 3D playback though because there is no DXVA being used in 3D so the GPU went all the way to 100% but there is probably no point using it for Bluray's anyway. But I'm actually amazed that all the madVR picture enhancements like Sharpen Edges and SuperRes can be used in 3D mode.
That's sick! :)

A small issue that I notices. With exclusive mode everything works perfect but if I disable exclusive mode and switch between windowed and full screen the 3D picture freezes. And the only way to unfreeze it is to pause or rewind the video while in full screen. Then it continues playing perfectly.

Amazing work!

ileile
18th February 2016, 09:46
Finally got home from work and tested the new Full 3D Bluray thing.

does it support external subtitle for 3D Bluray?

I'm not at home, so haven't tested it myself.

nevcairiel
18th February 2016, 10:13
External subtitles would be handled by your player, not LAV. Just like with any 2D content.

ileile
18th February 2016, 12:05
External subtitles would be handled by your player, not LAV. Just like with any 2D content.

I see.

so if madvr can properly display external subtitles (from player) in 3D mode, then everything is fine.

Sunset1982
18th February 2016, 15:26
nev, is dolby atmos supported by lav?

I#m using latest lav nightly and mpc-hc to passthrough the dolby atmos soundtrack to my atmos capable receiver, but it only shows truehd...

nevcairiel
18th February 2016, 15:27
Passthrough should work, but I have no way to test it. Decoding is not supported, and will likely not be for a long time to come.

scollaco
18th February 2016, 15:33
I can confirm that Pass through works correctly for me and I get Atmos on my receiver. I'm also using latest LAV nightlies.

Also...Thanks so much for 3D support!!

Sunset1982
18th February 2016, 16:32
Passthrough should work, but I have no way to test it. Decoding is not supported, and will likely not be for a long time to come.

ok, thanks for the info. What is the reason for not supporting decoding it?

FDisk80
18th February 2016, 16:36
does it support external subtitle for 3D Bluray?

I'm not at home, so haven't tested it myself.

Didn't test yet. I think nevcairiel said he is working on it.

Edit: ah, nevermind. I missed a whole page of comments :D

madshi
18th February 2016, 16:37
ok, thanks for the info. What is the reason for not supporting decoding it?
The reason is that you didn't write a decoder yet, Sunset1982... ;) If you want to try, be my guest. It will be hard, though, because there's no detailed tech spec available for Atmos.

Sunset1982
18th February 2016, 18:13
The reason is that you didn't write a decoder yet, Sunset1982... If you want to try, be my guest. It will be hard, though, because there's no detailed tech spec available for Atmos.


ah, that's a good reason. I would code one if I where a talented coder like you or nev, but sadly I'm not a software developer. :(

Is DTS:X also supported for passthrough by lav?

ileile
18th February 2016, 19:35
this statement on the first page:

full DTS-HD support depends on the ArcSoft decoder DLL being installed

Is it still true?

I remember that the ArcSoft decoder is not needed anymore.

nevcairiel
18th February 2016, 19:36
No, external components are no longer required for full DTS-HD support.

Aleksoid1978
20th February 2016, 08:38
Hi nevcairiel.
About MVC output from LAV Source - as i see (debug LAV Source) you output combined H264+MVC Extension data even if mediatype is different from MEDIASUBTYPE_AMVC. I think that this is unnecessary, since video decoder anyway will not handle MVC Extension data.
And it only gives extra load on the disk system and RAM.

P.S. In MPC-BE i check output mediatype and output combined data only if equal MEDIASUBTYPE_AMVC. :)

And - thanks for you idea about muxing method 3D H264 data from Blu-ray.

nevcairiel
20th February 2016, 09:30
About MVC output from LAV Source - as i see (debug LAV Source) you output combined H264+MVC Extension data even if mediatype is different from MEDIASUBTYPE_AMVC. I think that this is unnecessary, since video decoder anyway will not handle MVC Extension data.
And it only gives extra load on the disk system and RAM.

I thought about doing that before, but I didn't implement it yet. Its done now though.

LigH
20th February 2016, 23:14
Is there any way that LAV Filters could help me reducing the annoying loudness difference in DVB, especially during commercials in private broadcaster programmes? I tried using DRC and preferring AC3 audio streams, but that doesn't help; I even wonder if that may be counterproductive?
__

Found a solution: Normalizing in mixing should be disabled. That was a mistake in my setup.

FDisk80
21st February 2016, 08:03
Is there any way that LAV Filters could help me reducing the annoying loudness difference in DVB, especially during commercials in private broadcaster programmes? I tried using DRC and preferring AC3 audio streams, but that doesn't help; I even wonder if that may be counterproductive?
__

Found a solution: Normalizing in mixing should be disabled. That was a mistake in my setup.

Isn't the whole point of Normalizing is to reduce loudness difference?

I don't get how disabling it solved your problem.

LigH
21st February 2016, 08:37
I am not sure what exactly happens when you activate this feature; but the tooltip warns that when enabled, downmixed multi-channel sources will get a lower volume than stereo sources. So it is probably not a kind of AGC, just a "pessimistic" scaling of the matrix values (just a coarse description, inexact: pessimistic ~ 1/n volume for n channels to ensure no clipping; optimistic ~ 1/sqrt(n) volume for n channels because negative mixdown factors will usually avoid excessive clipping).

Boardlord
21st February 2016, 15:37
Is there any way that LAV Filters could help me reducing the annoying loudness difference in DVB, especially during commercials in private broadcaster programmes? I tried using DRC and preferring AC3 audio streams, but that doesn't help; I even wonder if that may be counterproductive?
__

Found a solution: Normalizing in mixing should be disabled. That was a mistake in my setup.

For me this method is still the best:

http://forum.doom9.org/showthread.php?t=162433

I use LAV Filters to decode the audio and use ffdshow to process the raw audio, utilizing the RockSteady Winamp plugin. Unless of course you bitstream the AC3 streams to an external amplifier...