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

xerces8
24th August 2016, 23:51
Hi!

I installed 0.68.1 on Windows 8.1 64 bit and it works (had to associate files with WMP myself), but the "Play to" feature of WMP ("sending" the files to a DLNA/UPnP device like a TV) does not work. The files not natively supported by Windows do not send. (so MP3 and M4A files work fine)
I tried *.flac , *.ogg and *.opus files.

Can this be made to work? With LAV Filters? Or should try with some other codecs? (I only interested in streaming music file, the xiph dshow codec pack does not work either, the author confirmed it is a limitation of their woftware)

Regards,
David

nevcairiel
24th August 2016, 23:55
One guess would that "Play To" uses Media Foundation, so nothing a DShow decoder would handle, otherwise no idea what that does.

xerces8
25th August 2016, 02:14
Yes, that might be the case, as "Media Foundation FLAC Codec" works for PlayTo.
So LAV is not the solution for me?
Any ideas for MF for ogg/vorbis and opus?

chros
25th August 2016, 09:53
Yes, that might be the case, as "Media Foundation FLAC Codec" works for PlayTo.
So LAV is not the solution for me?
Any ideas for MF for ogg/vorbis and opus?
I think a normal DNLA service would be the right solution, on Windows e.g. Universal Media Server (http://www.universalmediaserver.com) , on Linux (e.g. on OpenWRT) minidlna (https://sourceforge.net/projects/minidlna/).

Sunset1982
26th August 2016, 13:55
nev, you have an idea what causes the rx480's HEVC decoder to get greenscreen? Is it LAV incompatibility or a madvr problem?

nevcairiel
27th August 2016, 16:19
nev, you have an idea what causes the rx480's HEVC decoder to get greenscreen? Is it LAV incompatibility or a madvr problem?

If history with AMD tells us anything, its their drivers. But I do not plan to buy such a card.

Schwartz
29th August 2016, 23:09
Not sure if this would be useful for anyone else, but for my laptop I would love the option to set the resolution limit for LAV hardware decoding by hand instead of those three checkboxes, since it's an older chip. What it can handle falls squarely between SD and HD.

Gravitator
3rd September 2016, 14:59
Привет.
CUDA when decoding AVC consumes 15% CPU : 12% GPU;
DXVA2 (copy-baсk) when decoding AVC uses 15% CPU : 52% GPU.
Of course, I will use CUDA! Only every time I have to switch manually to DXVA2 (copy-baсk) for HEVC.
Please make ability to automatically switch.

sneaker_ger
3rd September 2016, 15:07
CUDA when decoding AVC consumes 15% CPU : 12% GPU;
DXVA2 (copy-baсk) when decoding AVC uses 15% CPU : 52% GPU.
Did you compare GPU clocks using GPU-Z?

huhn
3rd September 2016, 15:09
CUDA is using a high powerstate while DXVA can be used with a low power state.

so GPU usage is pointless.
on top of it only hybrid decoding is using the CPU and the GPU.

real hardware acceleration in nvdia isn't using the GPU shaders.

LigH
3rd September 2016, 16:36
There is instead the "PureVideo" decoder.

Gravitator
3rd September 2016, 17:24
Did you compare GPU clocks using GPU-Z?
I use desktop gadget. The photo shows a big difference.
Like any ordinary user begins to worry about the rape of equipment :)

General
Unique ID : 242932764535472548733391206744208490955 (0xB6C32608A0F49ED889F89E75961CC1CB)
Complete name : U:\Кингсглейв Последняя фантазия XV.mkv
Format : Matroska
Format version : Version 4 / Version 2
File size : 3.96 GiB
Duration : 1h 55mn
Overall bit rate : 4 903 Kbps
Encoded date : UTC 2016-08-29 18:21:29
Writing application : mkvmerge v8.3.0 ('Over the Horizon') 64bit
Writing library : libebml v1.3.1 + libmatroska v1.4.2
DURATION : 01:55:32.896000000
NUMBER_OF_FRAMES : 216653
NUMBER_OF_BYTES : 332779008
_STATISTICS_WRITING_APP : mkvmerge v8.3.0 ('Over the Horizon') 64bit
_STATISTICS_WRITING_DATE_UTC : 2016-08-29 18:21:29
_STATISTICS_TAGS : BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1h 55mn
Bit rate : 4 422 Kbps
Width : 1 920 pixels
Height : 796 pixels
Display aspect ratio : 2.40:1
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.121
Stream size : 3.57 GiB (90%)
Language : English
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709

Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : A_AC3
Duration : 1h 55mn
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 317 MiB (8%)
Language : Russian
Default : Yes
Forced : No

Menu
00:00:00.000 : en:1
00:12:05.975 : en:2
00:15:47.529 : en:3
00:20:22.845 : en:4
00:25:40.996 : en:5
00:32:13.722 : en:6
00:39:01.212 : en:7
00:43:43.786 : en:8
00:50:05.292 : en:9
00:54:58.418 : en:10
01:02:12.518 : en:11
01:12:54.284 : en:12
01:20:59.227 : en:13
01:26:23.759 : en:14
01:37:17.370 : en:15
01:41:56.148 : en:16


Prompt method of placing text in a spoiler?

huhn
3rd September 2016, 19:52
like said before the GPU usage is not important.
it simply looks higher with DXVA because the GPU isn't running with it's max clock. but in the end it is saving power this way.

both are using the video engine not the shaders.

Gravitator
4th September 2016, 06:33
Then pay attention to the video memory consumption on the photo? CUDA 143MB and DXVA2 (copy-back) 880MB. :scared:

Asmodian
4th September 2016, 21:27
Then pay attention to the video memory consumption on the photo? CUDA 143MB and DXVA2 (copy-back) 880MB. :scared:

Is that bad? You aren't using that video memory for anything else and your GPU is using less power when using DXVA2 (copy-back).

captaiŋadamo
4th September 2016, 21:29
Then pay attention to the video memory consumption on the photo? CUDA 143MB and DXVA2 (copy-back) 880MB. :scared:

Yeah, and? What exactly is the problem? The GPU has that memory specifically for the purpose of it being used.

3421
6th September 2016, 02:31
I see MediaInfo writes video file YUV 8 bit. Graph writes this video file for lav splitter: video biBitcount 12 bit. MediaInfo writes YUV 10 bit, graph writes this video file for lav splitter: video biBitcount 15 bit. LAV Splitter convert color or?

huhn
6th September 2016, 07:26
no this is just bits per pixel and bits per component.

Gravitator
6th September 2016, 08:14
Did you compare GPU clocks using GPU-Z?
Indeed DXVA2 trying to reduce/save power consumption. Meaning marketing (nVidia-CUDA or DXVA2) also affects the choice/decision-making human :)

In such cases it would be good to enlighten users LAV/LOVE - display text explaining the effectiveness of decoders.

chros
6th September 2016, 10:54
Indeed DXVA2 trying to reduce/save power consumption. Meaning marketing (nVidia-CUDA or DXVA2) also affects the choice/decision-making human :)
In certain edge cases CUVID is still faster (= usable) than DXVA2 (probably thanks to its memory usage), e.g. with old hardware and h264 4K content. And you can also restrict powerstate of the GPU e.g. with nvidiainspector.

cnckane
6th September 2016, 14:56
Hi!

I just started to use MPC HC and LAV decoders a few weeks ago - everything works fine, but I noticed that some HEVC encodes are not playing well when hardware accelaration (DXVA2-both or CUVID) is enabled.

The TV Show rips in 720p and 1080p are okay with DXVA but there are occaisonal small stutters when Alternate Vsync is enabled - this can be an MPC HC/EVR issue though.

However a movie encode (1 minute sample can be downloaded here: https://mega.nz/#!ONhEkDxb!n3Dks1EeYa5of-LMbO3V-Xopzhqy2LOYr47zFuKeltI ) and "jellyfish" test videos are unwatchable - constant lags with black screen and video desync issues with DXVA2 enabled.

With CUVID it plays the movie but Hardware Accelaration doesn't work.


I have a GTX 970 which as far as I know does not fully support HEVC decoding - could this the cause of the issues ? I thought Cuvid supposed to offer a "hybrid" decoding mode using CUDA.

I also tried the latest nightlies but the same happens.

^^ You can use nVidia inspector to limit power states, even cuvid can work at the lowest 135-405 MHz that way.

P.J
6th September 2016, 15:19
Stay away from Hybrid.

/done

CruNcher
10th September 2016, 23:48
it seems the error here is somewhere in the muxing/demuxing/parsing but EVR + Lav Splitter + Lav CUVID is very robustly ignoring the issue it seems while EVR + Lav Splitter + Lav (any)DXVA falls still completely apart with it in a sync trauma with Nvidias Hybrid Decoder on GM204.

Lav DXVA
http://i1.sendpic.org/t/At/At4eSr6J11rSXnR5AmVFEivwCMX.jpg (http://sendpic.org/view/1/i/x5ERPCphwTWrBqi7KeJplN6Drmm.png)

Lav CUVID
http://i1.sendpic.org/t/3O/3OBwZ4AOuq35DPsP7GEGDERunWE.jpg (http://sendpic.org/view/1/i/ckxAfn9rhhqAfbcjWqIczYimz10.png)


Complete name : F:\hevc\8bit\LG_4K_View-the-Feeling.mp4
Format : MPEG-TS
File size : 347 MiB
Duration : 1mn 56s
Overall bit rate mode : Variable
Overall bit rate : 24.9 Mbps
Maximum Overall bit rate : 35.5 Mbps

Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : HEVC
Format/Info : High Efficiency Video Coding
Codec ID : 6

Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 2
Format profile : LC
Muxing mode : ADTS
Codec ID : 15
Duration : 1mn 56s
Bit rate mode : Variable
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy

http://demo-uhd3d.com/fiche.php?cat=uhd&id=101

Stay away from Hybrid.

/done

Sorry but i find this a totally wrong viewpoint you should rather use it when beneficial and leave it away when not if you don't plan to update your hardware with a full fixed function decoder it still can be beneficial depending on your systems overall configuration and Bitstream Complexity.
So why wasting CPU time and Energy for everything if you doesn't need to ?.


Also from a business point it would be not very wise ignoring GTX 970 user configurations GM204 VP6 Feature Set E as your Online Streaming target Platform.

So you have to provide either a High Quality H.264 Bitstream or a Complexity Nvidia Hybrid Decoder Adapted H.265 Bitstream

Also his Encoded Bitstream is not very complex @ all on the complexity scala the GM204 Hybrid Decoder can actually handle it's very very low and works without issues either with DXVA or CUVID, though it seems to be violating the rules.


Lav DXVA
http://i1.sendpic.org/t/vH/vH4spqE1uwUxR7X9up4d93e6J5a.jpg (http://sendpic.org/view/1/i/5YbZRZszPmpEGupv3zLb1aTJ76u.png)

VictorLS
11th September 2016, 06:36
I have bought GM206-150-A1 based videocard Palit nVIDIA GTX750 1GB (for MadVR 2GB better) NE5X750THD01-2065F about 100$ and it accelerates perfect under Win7x64 until h265 3840x2160 10bit (excluding h264 10bit) with DXVA2 (native or copy-back). But under XP it accelerates until h265 3840x2160 8bit only with NVIDIA CUVID. I knew it before buying videocard, but
if this file is h265 10 bit (HEVC) than CUVID can't deal with it.
Question to all: why CUVID can't deal with h265 3840x2160 10bit? NVIDIA wrote bad SDK? Or something else?

huhn
11th September 2016, 07:26
it doesn't support p010

VictorLS
11th September 2016, 08:59
huhn
Question is why. Who is wrong? NVIDIA? Many people sure that CUVID is almost same as DXVA (but I am not believe in it).

huhn
11th September 2016, 09:30
NVIDIA.

why should nvidia even change that DXVA is way better supported.

they are using the same decoders. the Nvidia PureVideo it would be very dumb to add 2 on the same chip to say it friendly.

CUVID is a different way to use these decoder.

VictorLS
11th September 2016, 14:28
huhn
Thanks for explanation. CUVID is much more XP friendly way )

CruNcher
11th September 2016, 17:06
huhn
Question is why. Who is wrong? NVIDIA? Many people sure that CUVID is almost same as DXVA (but I am not believe in it).

CUVID could be rather tricky for high quality content because it has no real protective path that DXVA has ;)

XP as a target is not taking into account 1 second anymore because it cant 1 second guarantee content protection.

Only Windows 7/8/8.1/10 can guarantee a fully content protected environment with the underlying UEFI structure over WDDM 1.1+.

So it is overall questionable if CUVID is going to continue anyway under Windows 10 i doubt it or Nvidia makes it PMP WDDM 2.0 ready but i really have my doubts they will invest any resources into this.

CUVID is very useful for Windows 7 users though seeing how much problems DXVA has their in Reality with Nvidia Hardware and Drivers especially for the Hybrid use cases, though Nvidia also continusly improved the Boost System Arbitrator and 3.0 seems to further reduce overall latency with it's new Optimal Performance Setup :)

http://www.alex-ionescu.com/?p=31

proved to be wrong and so still PMP is being taken as secure especialy with Secureboot and Intel AES (MME though lot of controversy the last years around it from russian attacks) and AMD Trustedzone.

And currently Nvidias Falcon Core has gotten as first Windows GPU Hardware a PlayReady certificate from Microsoft/Netflix for 4K 10bit HDR content Deployment at least under Windows 10 AMD is next with Polaris and Vega Hardware.

Sunset1982
11th September 2016, 17:26
If history with AMD tells us anything, its their drivers. But I do not plan to buy such a card.

seems you're right. HEVC decoding is now working on RX480 and LAV with latest crimson 16.9.1 drivers. :thanks:

CruNcher
11th September 2016, 17:29
Nice contribute results please to the Decoder Thread, we know some stuff from Reviews already but it's always good to have more input data, especialy since the driver changed especialy in the power efficiency domain and those changes never have been taken into account yet by reviewers :)

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

hoborg
11th September 2016, 17:44
Hello Nevcairiel.
I just want to say Thank you for continuing on this great piece of software!

NikosD
11th September 2016, 19:15
seems you're right. HEVC decoding is now working on RX480 and LAV with latest crimson 16.9.1 drivers. :thanks:
Can you decode this at 60fps ?

Netflix_TunnelFlag_4096x2160_60fps_x265_8bit_700Mbit.mkv (https://yadi.sk/i/swMdlJHMuB6yR)

CruNcher
11th September 2016, 20:19
According to the Reviewer Data the current UVD Core used shouldn't have enough Performance reserves todo it ;)

based on that Data i would say it would be nice allready to reach 30 fps ;)

oddball
12th September 2016, 09:25
I have a problem using LAV splitter in MPC-BE. I have a line to only show forced English subtitles.

eng:eng|f;eng:off;*:eng;*:*

But it is being ignored in MPC-BE. Subtitles continue showing for every video with subtitles even if it's English language audio and English language subs. It works correctly in MPC-HC but I have other issues with that player so wanted to use MPC-BE instead.

LAV splitter is set to high priority and is definitely being loaded as I can see/use it in the system tray.

nevcairiel
12th September 2016, 09:26
Some players simply override the stream choices, check its settings for anything related to that.

oddball
12th September 2016, 09:28
Some players simply override the stream choices, check its settings for anything related to that.

Wow! Fast reply!

I have but can't find anything in there regarding it. In MPC-HC there is an option 'Prefer forced and/or default subtitle tracks' which does not exist in BE. I am not sure if that is anything to do with why it works in one and not the other?

nevcairiel
12th September 2016, 09:31
LAV can only do an initial selection of streams, if the player then decides to select different streams, its not something LAV has any control over. So it absolutely depends on the player, if it honors the splitters choices or just does its own selection. Different players, different behavior.

oddball
12th September 2016, 09:39
LAV can only do an initial selection of streams, if the player then decides to select different streams, its not something LAV has any control over. So it absolutely depends on the player, if it honors the splitters choices or just does its own selection. Different players, different behavior.

OK thanks. I will have to ask in the BE player thread then.

Aleksoid1978
12th September 2016, 09:50
OK thanks. I will have to ask in the BE player thread then.

Uncheck this.
http://imgur.com/a/Jwtu7

oddball
12th September 2016, 12:49
Uncheck this.
http://imgur.com/a/Jwtu7

That did the trick thanks.

CruNcher
12th September 2016, 13:05
Soory nevcairiel for being of topic but some RX 4xx users are here.

Did some RX 460,470 480 user tried if Strongene Lentoids Hybrid OpenCL Decoder still works, as each IDCT,MC and PP part is generation individually optimized and chosen at runtime i wonder if it still works @ all on Polaris GCN 4.0 supporting the Decoding or fails or if it's going to fallback to the Tonga\Hawai or some Generic GPU/CPU Path ?

filler56789
18th September 2016, 00:20
Originally Posted by filler56789 View Post
apparently LAV Splitter doesn't support multichannel DTS Express

samples: http://www.mediafire.com/download/8i...SX-samples.zip

And that won't change until libdcadec supports DTS Express.

Now it does support :D — thanks again, Nev :thanks:

Hopefully we all can do without the Arcsoft DLL, from now on :)

Clemens
19th September 2016, 15:26
Hello,

I have heavy artifacts if I use dxva2 (native) with my GTX 960 4gb, with Software decoding or QSV it's no problem.

The content is of a TV channel, some of the times its just fine on that channel sometimes I get the artifacts.

Here you can download the sample (is SD and I think H.264): https://www.dropbox.com/s/2zxhgqx2dht68qg/DXVA_NVidia_bug.ts?dl=0
Is this a known bug? Is there a workaround? Have others also problems with Nvidia graphics playing this short sample?

If needed I want to make screen record of the artifact...

Thanks and kind regards,
Clemens

huhn
19th September 2016, 16:47
the same happens with my 960.

disable SD in hardware acceleration and you should be fine.

NikosD
19th September 2016, 18:37
I thought only very old ATI cards had that bug with SD H.264 clips.

And ATI has fixed that a long time ago.

And now Nvidia has the same bug ?

Is it only for Maxwell or Pascal too ?

huhn
19th September 2016, 19:19
this looks like broadcast. so this could be a simple error in the stream it can't handle.
there could be a bug in lav filter too because CUVID is handling this properly.

there is more than one clip that is know to make trouble with DXVA.

so just lay back and wait. we will see where the real issue comes from.

clsid
19th September 2016, 21:11
That file has invalid data at the start. Happens often with recorded .ts files. The software decoder can usually discard that and recover. You will notice black screen first two seconds. Hardware decoding doesn't have good error resilience.

CUVID also fails here (with a pretty old driver version).

Clemens
19th September 2016, 21:41
Thats not the problem I think, when looking at it live (and much longer) then the same artifacts are there no matter how much I restart the stream. (on that particular channel it isn't a problem all of the time, depends on what they broadcast haven't found a pattern yet).

But its no big deal off course, I can switch hardware decoder to another or turn hardware decoding off for SD. If the bug gets fixed nice if not then no problem, just wanted to report the bug also not quite sure if this is the right place for reporting bugs, if I can do something else please tell.

And thanks for looking at it...seems to be a very nice forum!

Kind regards

clsid
19th September 2016, 21:51
Well, FFplay shows errors. You can test for yourself if you want.

https://ffmpeg.zeranoe.com/builds/