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

huhn
25th September 2015, 01:30
the 970 has only an hybrid encoder.

have you checked if HEVC and UHD is checked under hardware acceleration?

don't be shocked if a 970 can't handle it.

nevcairiel
25th September 2015, 02:04
10-bit is only supported on the 950 and 960, and with Intel's Hybrid decoder, I think on Broadwell and Skylake.
Might need OS support as well, but I know it works on 8.1 and 10 at least.

rbej
25th September 2015, 08:04
Hi.

Where i find nightly version Lavfilters 0.66 build based on dev tree??

https://github.com/Nevcairiel/LAVFilters/commits/dev

On this site i see only 0.63-0.65 nightly build and stable 0.66 version.

http://files.1f0.de/lavf/nightly/

ryrynz
25th September 2015, 08:21
Where i find nightly version Lavfilters 0.66 build based on dev tree??
I see only 0.63-0.65 nightly build and stable 0.66 version.


Yeah, was waiting to see if that updated today with the dev tree, guess not.

P.J
25th September 2015, 09:46
10-bit is only supported on the 950 and 960, and with Intel's Hybrid decoder, I think on Broadwell and Skylake.
Might need OS support as well, but I know it works on 8.1 and 10 at least.

Can't Windows 7 output native P010? :confused:

nevcairiel
25th September 2015, 10:04
Yeah, was waiting to see if that updated today with the dev tree, guess not.

If I wanted it to build nightlies, I would've pushed it to master. ;)
The build box for the nightlies needs to be updated to VS2015 first as well.

Can't Windows 7 output native P010? :confused:

You tell me, I never said it doesn't work on 7, I only said that I know it works on 8.1 and 10, because I actually tested it there.

clsid
25th September 2015, 13:02
I can confirm it works on Win7 as well.

Piyoko
25th September 2015, 18:44
Was there a decision reached whether or not to implement a LFE low-pass function?

Watched V for Vendetta on Blu-ray the other night and during the big explosion there was an insane amount of crackling due to garbage in the LFE channel.

I use stereo headphones with a FiiO E10K so I can't do the filtering in my receiver because I don't have one.

huhn
25th September 2015, 18:59
he clearly said no.

try AC3 filter or FFdshow.

wait he said clearly no to lfe crossover. sorry i'm wrong.

Megalith
26th September 2015, 00:22
Is it just my imagination, or does downmixed surround audio sound better (louder) now with MPC-HC's Internal Audio Renderer?

IanD
26th September 2015, 03:58
Any suggestions on how to decode 4k and output as 1080p 10 bit 4:4:4 to retain as much detail and colour resolution from the source as possible?

I don't want 4k 4:2:0 to be reduced to 1080p 4:2:0 and I think a properly downconverted 4k could look almost as good on a 1080p TV as I seriously doubt there is much genuine 4k detail in 4k (just as there is likely little genuine 1080p detail in 1080p).

vivan
26th September 2015, 04:58
By using any video renderer, madVR in particular if you care about quality. It even supports 10-bit output.

huhn
26th September 2015, 05:22
Any suggestions on how to decode 4k and output as 1080p 10 bit 4:4:4 to retain as much detail and colour resolution from the source as possible?

I don't want 4k 4:2:0 to be reduced to 1080p 4:2:0 and I think a properly downconverted 4k could look almost as good on a 1080p TV as I seriously doubt there is much genuine 4k detail in 4k (just as there is likely little genuine 1080p detail in 1080p).

first of all your TV must be able to do 4:4:4 without the very common 4:2:2 or 4:2:0 subsampling for internal processing. i don't know any Tv brand that can do this with default settings they all need some kind of PC mode/ graphic mode.

and yes you need to sit pretty close to make use of UHD that's no secret.

but this is the wrong thread for all of this.

IanD
26th September 2015, 05:41
first of all your TV must be able to do 4:4:4 without the very common 4:2:2 or 4:2:0 subsampling for internal processing. i don't know any Tv brand that can do this with default settings they all need some kind of PC mode/ graphic mode.
and yes you need to sit pretty close to make use of UHD that's no secret.
but this is the wrong thread for all of this.

My TV will do 1080p 4:4:4 in graphics mode and I believe it is 10 bit capable, but you misunderstand my request: I want to know what I need to configure in LAV video decoder filter to ensure 4k doesn't lose quality in getting transformed to 1080p. I don't really understand the 10 bit P010 etc settings required.

If anyone has accompanying suggestions about how to configure MPC-HC to maintain the information during rendering, I would also be interested, but I appreciate it is not relevant to this thread.

I would have thought it appropriately related to LAV to discuss how best to optimise transfer of 4k sources to a 1080p TV, because I believe it should be possible to get near 4k actual quality on a suitable 1080p TV.

huhn
26th September 2015, 06:16
lavfilter default settings do this already.

it is only up to the video renderer to make the best out of it.

vivan said the rest.

Arm3nian
26th September 2015, 07:19
Is there any benefit to using gpu decoding if your cpu can handle everything with ease? I would rather leave all the gpu power to madvr since my cpu is sitting at idle.

tiresias
26th September 2015, 12:31
I've been experimenting with ILAVAudioSettings. You can start off with the current settings that were in the registry and then change specific settings using the ILAVAudioSettings functions. But these changes always seem to get written back to the registry.

You can instead call SetRuntimeConfig(TRUE) first, and the changes are NOT written to the registry, but you have to begin from a set of defaults - not the current registry settings.

Is there a way to have the behaviour of SetRuntimeConfig(TRUE), but starting off with the current registry settings instead of the defaults ?

The only way I can think of is to call every Get function and remember the values, then call SetRuntimeConfig(TRUE), then call every Set function to restore all the values, then make the required changes.

huhn
26th September 2015, 13:09
Is there any benefit to using gpu decoding if your cpu can handle everything with ease? I would rather leave all the gpu power to madvr since my cpu is sitting at idle.

only hybrid decoding takes GPU power the rest is a fixed function decoder. so you don't really lose GPU processing power when DXVA is used.

software decoding should have better error handling.

some GPU can't leave mid power state with DXVA like my very old 6770 this has an huge effect on madVR. but this is more than rare these days.

lolo258
27th September 2015, 04:28
Hi,

"Expand 6.1 to 7.1" in Lav Audio Decoder is useless, do you think it is possible to change it to "Expand 5.1 to 7.1"?

Thanks

nevcairiel
27th September 2015, 09:23
"Expand 6.1 to 7.1" in Lav Audio Decoder is useless, do you think it is possible to change it to "Expand 5.1 to 7.1"?

The option is perfectly fine and useful. Very few people have an actual 6.1 setup, so cloning the back center into l/r is a useful feature for those with 7.1 setups instead.

There are no plans for actual upmixing.

lolo258
27th September 2015, 10:19
The option is perfectly fine and useful. Very few people have an actual 6.1 setup, so cloning the back center into l/r is a useful feature for those with 7.1 setups instead.

There are no plans for actual upmixing.

Hi, thanks for the reply, but I still don't understand how to make it work.

Razoola
27th September 2015, 19:42
With 0.66 I get no sound at all when mixer is set to 5.1.... Going back to 0.65 fixes issue.

edit... Fixed it by enabling the legacy option... strange though cause this is 2015 gfx card and 2014 receiver.

nevcairiel
28th September 2015, 08:46
It also depends on the software, for example ReClock seems to have a bunch of problems with it. But ReClock has been dead for half a decade, so there is that.

Razoola
28th September 2015, 09:11
It also depends on the software, for example ReClock seems to have a bunch of problems with it. But ReClock has been dead for half a decade, so there is that.

I'm using reclock so that would be the issue.

chros
28th September 2015, 11:05
About the mixer part in lavaudio with 2 channel aac, mp3 files: if I set 5.1 in the mixer shall it create the other 4 channels with audio in any case? (e.g. if a matrix information is stored, though I don't know if it's possible). If yes, do you have a sample?
Right now, it outputs 6 channel but only the original 2 has audio.
(I have lots of old encodes and couple of web downloads with 2ch audio.)
Thanks for you work!

nevcairiel
28th September 2015, 15:10
Just FYI, LAV Nightlies are being build again, now that the build server has been updated to VS 2015. All future LAV builds by me will be using 2015 from now on.

mogli
28th September 2015, 18:50
I'm using reclock so that would be the issue.You could also 'update' ReClock yourself to use the modern side channel layout by adding a registry value ChannelMaskOverride_6 and set it to 0x60f.

foxyshadis
29th September 2015, 10:43
I'm using reclock so that would be the issue.

MPDN has a replacement for reclock now, you might be interested in trying that instead.

jkauff
30th September 2015, 05:25
I've always had a problem activating QuickSync on my machine with a dedicated graphics card. Sometimes the "fake monitor" trick worked, sometimes it didn't.

A couple days ago I bought a CompuLab Display Emulator on Amazon for $15. Plugged it into my motherboard HDMI port, and now the Intel iGPU thinks it's connected to a real display. These things are designed for remotely controlled computers with no monitors, but it works great for this purpose.

I "downgraded" to Win 8.1 from Windows 10, so I couldn't test it on 10, but I don't see any reason it wouldn't work in 10 as well since it's seen as a physical monitor.

I don't use QuickSync that often, but it's nice to have it available for when I do.

NikosD
30th September 2015, 07:34
Since my first QuickSync CPU - a SandyBridge of 2011 - I had never had any problems with QuickSync.

The trick I used from the beginning, was to connect the same monitor with both dGPU and iGPU at the same time using two different cables on two different ports of the monitor.

For example, using an HDMI cable to connect the monitor with iGPU and a VGA cable to connect the same monitor with the dGPU.

In that way, you have QuickSync always ON and by selecting the port of iGPU/dGPU as main monitor from the control panel of Windows, you can switch the DXVA native mode between dGPU and iGPU.

I have never used that "fake monitor" thing, since I have a real monitor with at least two ports, like all modern monitors!

huhn
30th September 2015, 09:53
for windows 8 and newer there is no need for a fake display or an active display it should work in headless mode.

if this doesn't work than there is something broken.

mindbomb
30th September 2015, 20:59
In the section of lav video where you can control what stuff gets hardware acceleration, in addition to codec and resolution, can there be a frame rate option as well? Like a 60 fps box?

nevcairiel
30th September 2015, 21:15
No, not likely. FPS information is too unreliable to bother.

CruNcher
1st October 2015, 00:04
It's really strange but with Lav Decoder i measure better threading performance and less jitter all the time for HEVC on the GTX 970 and WDDM 1.1 for Nvidias Cuvid Decoder
DXVA Performance and especially jitter behavior is in most test cases always behind (real on screen playback) and the craziest thing DXVA Copy Back is more efficient in those regards then Native with Lav Decoder.

Nvidias Cuvid Decoder always produces less jitter interferences then any of Lav Decoders DXVA options at least for HEVC Decoding with EVR Custom.

Either it's a Lav Decoder DXVA Performance issue or Nvidia improved CUVID so much with their Driver that they are now more efficient then DXVA @ least on Windows 7 WDDM 1.1 by now.

Maybe also more efficient/different Bitstream Handling from the parser.

wanezhiling
1st October 2015, 07:13
Hi, I found lav's mp3 parser has a problem in duration calculation.
At least it shows all my local mp3 files an incorrect duration..
for example: https://www.sendspace.com/file/249zup

http://i13.tietuku.com/0b0a66786f5d9e9c.jpg

madshi
1st October 2015, 07:49
Having problems playing video streams through Telekom Entertain (rtp://@239.35.10.2:10000). The hardware receiver plays these without any corruption, but when playing them with LAV I'm getting video corruption all the time, and sometimes audio corruption, too. Looks like many packets are getting lost or something. Anything that can be done there?

NikosD
1st October 2015, 08:04
for windows 8 and newer there is no need for a fake display or an active display it should work in headless mode.

if this doesn't work than there is something broken.
The headless mode of Win 8 or the fake display trick, is a very slow mode for QuickSync decoder/encoder.

It uses D3D11 which is well known that it has a performance penalty for QuickSync decoder.

Due to the very fast nature of Quicksync HW decoder, hopefully the performance penalty will not be observed in most common video decoding scenarios.

BUT, in order to be sure that all the decoding power of QuickSync HW is there when you need it, you have to connect your iGPU to an active monitor in order to be able to use DXVA native, as the only mode capable to use all the decoding power of any decoder.

hubblec4
1st October 2015, 08:29
Hi nevcairiel

- Fixed: Improved handling of a few DVD menu quirks

This fix work for me not.

I have an original DVD(Alien 2) on hard disk which plays fine in previous versions of LAV.

Now i dont see any "button". Only the mouse changed when comes over a "button".

When I start this DVD a black screen is only what I see.
After a jump in the timeline you see the screen.

Play chain: MPC-HC,madvr0.89.5,LAV0.66 AC3Filter

nevcairiel
1st October 2015, 08:30
Having problems playing video streams through Telekom Entertain (rtp://@239.35.10.2:10000). The hardware receiver plays these without any corruption, but when playing them with LAV I'm getting video corruption all the time, and sometimes audio corruption, too. Looks like many packets are getting lost or something. Anything that can be done there?

Maybe. Streaming works for some, not so well for others.
But its not a priority for me, and I would need access to a particular stream to reproduce the problems.

huhn
1st October 2015, 08:31
I've always had a problem activating QuickSync on my machine with a dedicated graphics card.

intel DXVA can't be used in this case. so it doesn't matter if it is faster.
i get 250 FPS by benchmarking a 39 mbit BD with a HD 4400. so performance wise it is pointless.

there should be no difference between a fake display and a real connected display it's not like the GPU knows the difference. of cause real headless mode can be slower.

LigH
1st October 2015, 08:38
Hi, I found lav's mp3 parser has a problem in duration calculation.
At least it shows all my local mp3 files an incorrect duration.

Most probably they are VBR MP3; if an MPA parser is not aware of "Xing"/"Info"/"VBRI" VBR tags (I believe they store a summary over the used per-block bitrates), then it may assume that the bitrate of the first block (often quite low due to silence) is the constant bitrate of the whole audio stream. It will probably not scan the whole file prior to playing it.

MPEG Audio Frame Header (http://www.codeproject.com/Articles/8295/MPEG-Audio-Frame-Header), chapter 2.3

NikosD
1st October 2015, 08:46
intel DXVA can't be used in this case. so it doesn't matter if it is faster.
i get 250 FPS by benchmarking a 39 mbit BD with a HD 4400. so performance wise it is pointless.

there should be no difference between a fake display and a real connected display it's not like the GPU knows the difference. of cause real headless mode can be slower.

No, you are wrong.

Of course you can use Intel DXVA with a system with a dedicated card and it's not the same thing - fake display and real connected display.

There is no way for fake display mode to use DXVA native.

I described it in my previous post when I said that you have to connect both cards iGPU and dGPU on the same monitor and use control panel to select the active graphics card which can use the DXVA native - in this case iGPU.

You can then switch to dGPU if you want to.

There are 4K H.264 clips that can't be played properly by Ivybridge in headless or fake display mode.

huhn
1st October 2015, 08:55
it's true you can start playback on the display connected to the intel GPU so intel DXVA is used and switch after wards to any other display. but who will do something like that every time?

it's not practical.

you can do the same with the fake display too. it's just pretty hard to do it blind.

nevcairiel
1st October 2015, 08:58
If you move the player to another GPU, by dragging or switching the settings, then DXVA Native will also re-init and use the decoder on the new GPU.
If you want to use the DXVA Native on a GPU, you also need to use it for everything else - thats the compromise you accept with DXVA Native decoding.

NikosD
1st October 2015, 09:02
For Windows 2D use and video playback I can't see how a dGPU can be more useful than iGPU - for madVR only ?

I think the real use of dGPU is 3D and GPU computing.

And what is the use of MadVR for 4K clips or high bandwidth 1080p clips ?

Carpo
1st October 2015, 09:13
Hi, I found lav's mp3 parser has a problem in duration calculation.
At least it shows all my local mp3 files an incorrect duration..


There is an option in the Foobar2000 media player to fix VBR mp3 - you could always make a copy of that mp3, run it through the fixer in foobar2000 and see if that helps, I have had a few VBR mp3s have an incorrect time after using EAC.

Then see if LAV still gives you a incorrect duration

huhn
1st October 2015, 09:19
switching connector is a waste of time. this alone is reason enough.
if you want to play a file you double click it and it has to run without playing around.

the main reason i see for quicksync as a decoder is for dGPU that have a limited hardware decoder like skylake CPU and a nvidia 970.

madVR is always needed. you need to get the YCbCr 4:2:0 to RGB. and a intel iGPU is enough to run it too.
the feature list of madVR freaking long. 3D LUT calibration, IVTC, 10 bit output and lots more.
for a normal display limited to 60 hz smooth motion is a must have.

If you move the player to another GPU, by dragging or switching the settings, then DXVA Native will also re-init and use the decoder on the new GPU.
If you want to use the DXVA Native on a GPU, you also need to use it for everything else - thats the compromise you accept with DXVA Native decoding.

good to know.

nevcairiel
1st October 2015, 09:32
I have an original DVD(Alien 2) on hard disk which plays fine in previous versions of LAV.

Now i dont see any "button". Only the mouse changed when comes over a "button".

When I start this DVD a black screen is only what I see.
After a jump in the timeline you see the screen.


I would need a sample of the menu to check. You can create a menu-only sample by taking the VIDEO_TS folder without the main movie .vobs

On most DVDs, just exclude the 1GB .vob files, usually those with their name being VTS_xx_1 (or ending with a higher number), while those ending with a zero are often for the menu.

However, if you are not even seeing the menu background image, then its unlikely to be related to the recent fixes, but maybe something else. I'll check if I get a sample. :)

NikosD
1st October 2015, 10:42
switching connector is a waste of time. this alone is reason enough.


It's the third time that I'm telling you that you don't have to switch to any connector.

The iGPU and dGPU are always connected on the same monitor and you just change active GPU from the Windows control panel.

huhn
1st October 2015, 18:20
It's the third time that I'm telling you that you don't have to switch to any connector.

The iGPU and dGPU are always connected on the same monitor and you just change active GPU from the Windows control panel.
i simply don't have the correct word for it. i know you don't have change a plug or something like.

this switch in the windows panel is totally unnecessary. why should someone even consider this? just totally annoying.