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

ryrynz
19th November 2012, 23:38
so here is the final piece

Ahh nice. This new build fixes the subtitle selection bug I encountered last night. I wondered what was going on, I just ended up removing the subtitle selection language guess I can put it back now :p thanks!

sexus
20th November 2012, 13:30
hope this will be available for us madvr users too since apparently it dont work with madvr?

6233638
20th November 2012, 14:07
hope this will be available for us madvr users too since apparently it dont work with madvr?DXVA2 copy-back works perfectly with madVR and with the exception of some older GPUs, works just as well as DXVA2 native does. (doesn't push the card into its high-power state like CUVID does)

sexus
20th November 2012, 14:21
ok so selecting what i usually do aka cuvid in lav is all i need right, while madvr is my output renderer, if not then please make it so thanks , dont wanna have to select anything else than cuvid

Mangix
21st November 2012, 04:59
DXVA2 copy-back works perfectly with madVR and with the exception of some older GPUs, works just as well as DXVA2 native does. (doesn't push the card into its high-power state like CUVID does)

On AMD cards, performance is horrible with copy-back while fine with native, at least in my testing with various GPUs

kitame
21st November 2012, 08:40
stupid question about streaming media.

if i understand correctly, the client still decodes the streamed media. if it does then how do i set it so that the server decodes the media and sends it as a decoded media(or transcoded to something simpler), would LAV support it?

thinking of making my main PC send some big-ass videos to my phone and connecting it to my TV via HDMI, and voala! i just made a makeshift wireless TV >,> dang. sorry for OT.

edit: i think plex works like this... looking it up.

FreeFall
21st November 2012, 13:58
nevcairiel,

With the latest experimental build DVD subtitles using hardware decoding are drawn white and not in their original colours.

Tested with CUVID, DXVA2 Copy-Back and Native using a GeForce GTX 580, no problems with software decoding or using the previous build 0.53.2.

The same sample I previously uploaded, subtitles should be yellow.
http://www.mediafire.com/?a2b5hq1244f2ue8

Thanks,

FreeFall

Pomegranate
21st November 2012, 15:21
Hi!

I have two issues to report.

1) I can't play 24-bit / 192 KHz flac files in MPC-HC with LAV Audio Decoder + LAV Splitter. The file plays in foobar, but I don't like foobar's interface.

2) MLP files play well, but the seek bar is greyed out and MPC-HC does not display the duration.

hoborg
21st November 2012, 15:23
Hi!

I have two issues to report.

1) I can't play 24-bit / 192 KHz flac files in MPC-HC with LAV Audio Decoder + LAV Splitter. The file plays in foobar, but I don't like foobar's interface.

Is not that a DTS track in FLAC ?

Pomegranate
21st November 2012, 15:30
Is not that a DTS track in FLAC ?

No, it's a music recording. Mediainfo says it's a real flac.

Audio
Format : FLAC
Format/Info : Free Lossless Audio Codec
Duration : 3mn 36s
Bit rate mode : Variable
Bit rate : 5 153 Kbps
Channel(s) : 2 channels
Sampling rate : 192 KHz
Bit depth : 24 bits
Stream size : 133 MiB (100%)
Writing library : libFLAC 1.2.1 (UTC 2007-09-17)




If you feel like trying it out, you can find similar files at :

http://www.2l.no/hires/index.html


Edit:
Actually, I'm dumb..
It was an audio renderer issue regarding flac playback.

This is what I have :

http://i47.tinypic.com/o0fbk.jpg

Renderers #2 and #5 work, but no luck with "Directsound" or "System Default". (Renderers #3 & #7 are irrelevant.)

That's a problem to me, as DTS-HD MA cracks and pops and makes all sort of weird noises when using "WaveOut".

filler56789
21st November 2012, 16:52
2) MLP files play well, but the seek bar is greyed out and MPC-HC does not display the duration.

That's normal, .MLPs are "elementary streams" and don't support seeking when outside of a proper container — i.e., Matroska (.MKA) or MPEG program stream (.AOB).

Pomegranate
21st November 2012, 17:08
That's normal, .MLPs are "elementary streams" and don't support seeking when outside of a proper container — i.e., Matroska (.MKA) or MPEG program stream (.AOB).

Thanks for the tip! I just tried it and it works like a charm with Matroska.

After further testing (with madFlac, LAV Audio Decoder and mpc-hc's internal decoder), it would seem 192khz audio files can only be rendered through WaveOut when using MPC-HC, on my system at least. Can anyone tell me if it should be working with Directsound?

nevcairiel
21st November 2012, 20:24
Looks like you're on Windows XP, yes? On XP, the DirectSound mixer is tightly coupled to your Audio Cards driver, so if you have any issues with DirectSound output, its most likely your audio drivers fault.
On Vista and 7, the DirectSound mixer is whole lot better, and properly processes all audio you throw at it.

nevcairiel
21st November 2012, 20:45
With the latest experimental build DVD subtitles using hardware decoding are drawn white and not in their original colours.

Without being able to test right now, i think i see the issue in the code. I'll confirm on the weekend and fix, thanks.

Pomegranate
21st November 2012, 20:45
Looks like you're on Windows XP, yes? On XP, the DirectSound mixer is tightly coupled to your Audio Cards driver, so if you have any issues with DirectSound output, its most likely your audio drivers fault.
On Vista and 7, the DirectSound mixer is whole lot better, and properly processes all audio you throw at it.

Yes, I am using XP. :o

I thought it was the driver's fault too, but I just tried SMPlayer and the file played straight out of the box. Works fine with both directsound and what is labelled as "win32" (might be "WaveOut").

I also had Nero Showtime 3, which came bundled with Nero 7, and it plays the file fine with directsound, using madFlac source.

It's probably an MPC-HC bug, right?

nevcairiel
21st November 2012, 20:47
Might be MPC-HCs audio switcher, you can disable it and see if it changes anything.

mindbomb
21st November 2012, 20:50
enabling gx mode in the xonar drivers can screw up directsound stuff.

the other players are probably downsampling it to something more common than 24 bit/192khz I'm guessing.

Pomegranate
21st November 2012, 20:58
@nevcairiel : I don't use audio switcher, it's always off.

@mindbomb : GX was off the whole time. I've never used it, to be honest.

I'll do another XP install on an old drive and disable the Xonar, enable the onboard sound, and see what happens.

Also, is it possible to find out if the other players are downsampling?

filler56789
21st November 2012, 21:39
As a temporary / żlast? resort, give a try to ReClock. :)

sexus
21st November 2012, 21:48
Without being able to test right now, i think i see the issue in the code. I'll confirm on the weekend and fix, thanks.

would be nice , for us cuvid users ;)

Pomegranate
21st November 2012, 22:49
As a temporary / żlast? resort, give a try to ReClock. :)

I've tried it, and it still only works with WaveOut, and I get audio drops every now and then :( . I guess I'll just use foobar2000 for now.

Thank you for the tip though, kernel streaming looks interesting.

bjd
22nd November 2012, 10:57
I can't play 24-bit / 192 KHz flac files

Directsound input on Windows XP is limited to 96,000khz max. If you are bothering to listen to high resolution audio, far better to use an XP audio renderer that supports kernel streaming. Always found reclock to be best option.

egur
22nd November 2012, 16:51
Using ZoomPlayer, DVD playback, I can't have LAV (0.53.2) as video decoder and MadVR (0.85.1) as renderer.
ffdshow+madvr: OK
ffdshow+EVR: OK
lav+EVR: OK
lav+madvr: filters do not connect.
All output formats are enabled in LAV except RGB24.

aufkrawall
22nd November 2012, 18:03
nev, now that madVR works with DXVA2 native, is there a chance that you'll give 4k decoding via it a higher priority? :)

nevcairiel
22nd November 2012, 18:13
nev, now that madVR works with DXVA2 native, is there a chance that you'll give 4k decoding via it a higher priority? :)

4k content is as nonexistant as ever, so why would that change anything?

aufkrawall
22nd November 2012, 18:18
4k content is as nonexistant as ever, so why would that change anything?
It won't, but it'd be nice to have (honest answer :o ).

aufkrawall
22nd November 2012, 19:04
Menu of 12 Monkeys DVD doesn't work with DXVA2 native.
I've tried EVR & madVR, screen remains black except of some weird leftovers of the menu's buttons.

What files do you need if you want to fix it? :)

nevcairiel
22nd November 2012, 19:15
Doesn't anyone read my release notes? :P


If you still have a problematic menu, you can extract only the menu from a DVD by simply zip'ing up all the IFO/BUP files, the VIDEO_TS.VOB, and all VTS_xx_0.VOBs (VTS files ending with 0 are for menus, 1 and above are content).

aufkrawall
22nd November 2012, 19:30
Doesn't anyone read my release notes? :P
Ah, I knew I read it somewhere. :D

wtf
Copy protection is driving me crazy. 1 sec...
Rest via PM. ;)

egur
22nd November 2012, 19:56
Here's a problematic menu:
http://www.mediafire.com/?5ww02wdqf3c2u2q
Seems to work OK with libavcodec but with QuickSync there are issue, the correct menu image is not always displayed.

owlsroost
22nd November 2012, 21:24
Hi Nev,

Has anything changed in the handling of video stream discontinuities/errors using DXVA2 Native in the versions after 0.51.3 ?

I use LAV Video decoder in for playing live/recorded TV, and the handling of stream corruptions has always been fine with 0.51.3 and earlier, but with the later versions the video will often freeze after a corruption (and I know that it's stopped accepting input samples from the splitter when this happens).

It seems to be fine using 'None' or 'DXVA2 copy back', it's just 'DXVA2 Native' that has the problem (tested with nVidia and Intel GPU - both behave the same, using both LAV splitter and MediaPortal's own TS splitter on the same source file).

EDIT: It seems to be only H.264 that shows the problem - MPEG2 is definitely OK on the Intel GPU system at least.

Thanks,

Tony

nevcairiel
22nd November 2012, 21:39
Nothing really changed on how decoding is handled in a general sense that would affect this.

Its possible that a bad corruption might leak a reference from here or there which may result in running out of DXVA surfaces. What codec is this, MPEG2?

owlsroost
22nd November 2012, 22:33
As far as I can tell, it's H.264 only that's affected, and only in DXVA2 Native mode.

Tony

DragonQ
22nd November 2012, 22:48
Hi Nev,

Has anything changed in the handling of video stream discontinuities/errors using DXVA2 Native in the versions after 0.51.3 ?

I use LAV Video decoder in for playing live/recorded TV, and the handling of stream corruptions has always been fine with 0.51.3 and earlier, but with the later versions the video will often freeze after a corruption (and I know that it's stopped accepting input samples from the splitter when this happens).
Hmmmmmmmmm I wonder if this is why sometimes I get a black screen the first time I view an encrypted channel in MediaPortal. It only started happening recently and it would be taking a while to actually start receiving any video. Doubt it but you never know.

nevcairiel
23rd November 2012, 08:07
DXVA2 Native and CB are very similar in how they work. In fact they share like 99.9% of their code. There are only two differences, how the surfaces are managed, and what happens with them after decoding is finished. In my opinion, only the first part could even present any problems. In DXVA2-Native, if the decoder runs out of surfaces, it will freeze and wait until one is released somewhere, which usually will not happen unless the code explicitly tells the renderer or the decoder to release them. In DXVA2-CB, it would just re-use the oldest surface, even if its still in use somewhere, but never deadlock because of missing surfaces.

The problem is that i can't really imagine this happening with H.264. I specify 20 surfaces for H.264, which should be plenty. 16 for reference frames, one for the decoded frame, and 3 for delivering to the renderer (or more, depending on how many the renderer itself requests). Considering broadcasts don't even use 16 reference frames but only 4 or so, there should be plenty of surfaces available, so even if two or three are temporarily occupied because of corruption, there is still plenty to work with.

If you can re-produce the problem quite easily, i can give you a build with debug logging, maybe it can shed some light on this?

owlsroost
23rd November 2012, 09:42
If you can re-produce the problem quite easily, i can give you a build with debug logging, maybe it can shed some light on this?

I can reproduce it 100% with a test file I have, so I'm happy to try a debug version.

Tony

nevcairiel
23rd November 2012, 10:38
If you say file playback, does the problem also happen with LAV Splitter, or only with the MediaPortal TS source? With LAV would simply be a lot easier to test for me, which is why i am curious :)

owlsroost
23rd November 2012, 10:56
It happens with LAV splitter as well (I tested this last night just to check).

Tony

nevcairiel
23rd November 2012, 15:16
It happens with LAV splitter as well (I tested this last night just to check).


Ok this should be fixed, it was indeed what i expected it to be, for some reason the bitstream is corrupted in such a way that it suddenly wants to use all reference picture buffers, which caused it to run out of buffers, but that should be fine now (it was actually fixed before, because i now take the renderers request for buffers into account)

owlsroost
23rd November 2012, 15:38
Ok this should be fixed, it was indeed what i expected it to be, for some reason the bitstream is corrupted in such a way that it suddenly wants to use all reference picture buffers, which caused it to run out of buffers, but that should be fine now (it was actually fixed before, because i now take the renderers request for buffers into account)

Thanks :) - is there a version around that I can try ?

nevcairiel
23rd November 2012, 15:49
Here's a problematic menu:
http://www.mediafire.com/?5ww02wdqf3c2u2q
Seems to work OK with libavcodec but with QuickSync there are issue, the correct menu image is not always displayed.

Should be fixed.
Technically it was a QSDecoder issue. What happens is that i give it a frame with a specific timestamp, and when i get the frame back, it has a timestamp of 0, which confused my timestamp logic and caused it to drop the frame, but its now handled.

romulous
23rd November 2012, 16:24
Hi nev,

LAV v0.53.2, madVR v0.85.1 as the renderer, and Zoom Player as the player (all on Win7 64bit). The following clip will not play when LAV Video is set to DXVA2 Native:
https://dl.dropbox.com/u/105555957/JustCause2-H264.mkv (26.4MB)

Zoom just shows a black screen. If I change to DXVA2 Copy-Back, it plays - but avcodec is shown in LAV, indicating DXVA is not actually in use. Same with CUVID (NVIDIA GTX-460) - clip plays, but LAV shows avcodec in use. Just using the LAV installation defaults, except for changing the hardware acceleration type obviously (I normally use CUVID, but was just testing DXVA2 Native support in the new madVR release when I found the clip wouldn't play).

nevcairiel
23rd November 2012, 16:31
LAV v0.53.2, madVR v0.85.1 as the renderer, and Zoom Player as the player (all on Win7 64bit). The following clip will not play when LAV Video is set to DXVA2 Native:
https://dl.dropbox.com/u/105555957/JustCause2-H264.mkv (26.4MB)

Zoom just shows a black screen. If I change to DXVA2 Copy-Back, it plays - but avcodec is shown in LAV, indicating DXVA is not actually in use. Same with CUVID (NVIDIA GTX-460) - clip plays, but LAV shows avcodec in use. Just using the LAV installation defaults, except for changing the hardware acceleration type obviously (I normally use CUVID, but was just testing DXVA2 Native support in the new madVR release when I found the clip wouldn't play).

Works just fine for me, in DXVA2 Native/CB or CUVID.
I only tested in MPC-HC, so it may as well be a ZP issue (unlikely, but anything is possible), but i do not have ZP installed right now.

6233638
23rd November 2012, 17:17
Works just fine for me, in DXVA2 Native/CB or CUVID.
I only tested in MPC-HC, so it may as well be a ZP issue (unlikely, but anything is possible), but i do not have ZP installed right now.The clip isn't working for me in MPC-HC either. If I use DXVA2 Native, I get a black screen and can't play the video. (stays stopped)

With CUVID or DXVA2 copy-back, it uses avcodec to decode.

This is using LAVFilters-0.53.2-9-g1ea7611

nevcairiel
23rd November 2012, 17:49
Dunno what to tell you, but its just fine.

http://images.gammatester.com/pics/3b3a1402943144f3aa24e4bdb16bcc89.png

wanezhiling
23rd November 2012, 18:03
Works fine here too.

6233638
23rd November 2012, 18:17
Dunno what to tell you, but its just fine.

http://images.gammatester.com/pics/3b3a1402943144f3aa24e4bdb16bcc89.pngWeird, is that with Nvidia?

Not that most of these should make a difference, I've tried changing MPC-HC builds, going back to the release version of LAV 0.53.2, disabling LAV Splitter (source) using EVR instead of madVR, and changing to directsound output instead of ReClock.
The only other thing I can think to change other than that would be the video driver, which I would prefer not to do, as that has a habit of clearing my custom profiles for games.

Always switches to avcodec with CUVID or DXVA2 copy-back, and refuses to play with DXVA2 native.

nevcairiel
23rd November 2012, 18:20
Weird, is that with Nvidia?


Yes, a GTX 680 on 310.33
I also tried on my Intel HD 3000, and it also worked fine in DXVA2.

Its 1920x1200, maybe they blocked that in the driver for some reason, and only allow 1920x1080?
I guess i can install the 310.61 driver featured in your signature for testing, i dont have profiles to lose on this machine. :p

Might as well be a Win8 thing, i'm still on 7.

Edit:
Still works with 310.61.

You can try turning off the "High Quality Processing" checkbox for CUVID, that will then access the hardware more directly without any DXVA/Windows influence, maybe it helps. :D

clsid
23rd November 2012, 18:28
I get a black screen as well.
Win7 with 306.97 driver.

nevcairiel
23rd November 2012, 18:31
Might also be a Hardware thing. Did 1920x1200 ever work? Do other 1920x1200 clips work? I have a VP5 kepler card, which is even 4K capable, so it might be that. Maybe i simply need to reduce the limit from 1920x1200 to 1920x1080 (or finally implement proper probing for DXVA2-N)