View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
DragonQ
13th January 2012, 12:24
What deinterlacing does EVR use though? It famously has no options in most media players and the highest quality vector adaptive deinterlacing within CUDA is easily the best I've tried.
nevcairiel
13th January 2012, 13:16
It should use exactly the same. Its easy enough to compare with some artificial tests like the Cheese Slice test. Differences in the algorithms are clearly visible there.
wanezhiling
13th January 2012, 20:14
GT240 CUVID (http://we.pcinlife.com/data/attachment/forum/201201/14/031003e013h6sjjqyygs7c.png)
72.2765
GT240 DXVA2 (http://we.pcinlife.com/data/attachment/forum/201201/14/031003vi4bsjdnl6ot6svj.png)
71.8401
M HD4650 (http://we.pcinlife.com/data/attachment/forum/201201/13/174540sy8yaxcyy8spu84y.png)
52.3325
http://forum.doom9.org/showthread.php?p=1548287#post1548287
;)
CruNcher
13th January 2012, 20:18
It should use exactly the same. Its easy enough to compare with some artificial tests like the Cheese Slice test. Differences in the algorithms are clearly visible there.
Nev already a idea what goes wrong with dirac playback (slowmo) on the promos ?
Btw i find it nice to have now the possibility to switch between Yadif and Render Deinterlacing on the fly :) seeing the different in Realtime is cool how the GPU utilization goes up when the renderer does the deinterlacing and how it goes down when Yadif does it (and cpu therfore goes up) also comparing is cool this way doing everything Realtime now has such great possibilities for Encoding i love it :)
Though the Interface to the options is still to hard to reach some should start implementing those possibilities directly in the Player GUIs without needing to click 1000 times to get to them :P
Also using Lav Video + Av Splitter has some great potential it mostly has the same bugs though as Lav Splitter (Mp4 playback) but it allows to switch channels on the fly (.ts) and seems to work equally good with Lav Video (also it has the tray icon control many crave for, though personally i find it useless better is direct Player integration instead of this tray icon control stuff) :)
nevcairiel
13th January 2012, 22:12
Good news everyone!
I managed to implement VC-1 interlaced DXVA decoding.
That sure was a bitch, and locked up my GPU driver quite often while testing (thank god Win7 can recover from that), but now it seems to work just fine with both Frame Interlaced and Field Interlaced content!
hoborg
13th January 2012, 22:14
Nev, you rule! :D
SamuriHL
13th January 2012, 22:17
Damn, man, that's awesome. :)
Sebastiii
13th January 2012, 22:28
Yeah :) you are the best ;)
Reino
13th January 2012, 23:09
Is there a reason you skipped DXVA1 for DXVA2?
DragonQ
13th January 2012, 23:12
Well, DXVA is only useful for XP users since XP doesn't support DXVA2. Otherwise, DXVA2 is superior, so why not use it?
Supporting a ten year old OS is silly, IMO.
BatKnight
13th January 2012, 23:28
Good news everyone!
I managed to implement VC-1 interlaced DXVA decoding.
That sure was a bitch, and locked up my GPU driver quite often while testing (thank god Win7 can recover from that), but now it seems to work just fine with both Frame Interlaced and Field Interlaced content!
Nice!
Will it be possible to select DXVA for interlaced VC-1 and CUVID for H264 or MPEG-2? Now one can only select either DXVA or CUVID for everything.
Bat
wo0zy
14th January 2012, 00:50
Good news everyone!
I managed to implement VC-1 interlaced DXVA decoding.
That sure was a bitch, and locked up my GPU driver quite often while testing (thank god Win7 can recover from that), but now it seems to work just fine with both Frame Interlaced and Field Interlaced content!
Sweet!:D
I don't say it often enough so :thanks: for all your work!
This thread has everything! I follow it every day. Sometimes it makes me laugh, sometimes I cringe at the responses some people get (justified or not :) ) but mostly I feel educated by reading and look forward to testing something new!
Thanks Nev!
Wo0zy
nevcairiel
14th January 2012, 07:22
Is there a reason you skipped DXVA1 for DXVA2?
Several.
- DXVA1 doesnt allow frame copyback
- DXVA1 is only for Windows XP
- FFMPEG only supports DXVA2
nevcairiel
14th January 2012, 07:23
Nice!
Will it be possible to select DXVA for interlaced VC-1 and CUVID for H264 or MPEG-2? Now one can only select either DXVA or CUVID for everything.
Bat
Why would you want that? CUVID is superior.
Andy o
14th January 2012, 07:36
nev, do you know if HD MPEG2 software decoding handles errors differently than DXVA decoding? I've just started testing the 1080i and 720p wtv from OTA channels (I'm in the US so ATSC) recorded in Win 7's Media Center. They play relatively well, but with LAV Video's MPEG2 I get heavy gray blocking. With ffdshow, and the MS DTV-DVD decoder however, I don't get blocking, but I get slight color (reddish-greenish) and black level shifts. I don't get either when I just switch to EVR and a full DXVA chain, it plays just perfectly like on MC itself. So I still don't know for sure what's going on here, that's why I'm asking if errors from the capture could be the culprit, and somehow DXVA has better error resilience or something like that.
If it's not as simple as that, I could upload samples if anyone is interested to confirm.
robpdotcom
14th January 2012, 07:45
@ Andy o:
Are you using LAVSplitter? LAVvideo doesn't seem to like Microsoft's .wtv spltter (StreamBufferSource). If you use mpc-hc, block StreamBufferSource - you lose continuous live TV playback, but LAVSplitter works better for everything else, and gives you the ability to select audio streams.
Andy o
14th January 2012, 08:17
Thanks, you're right. I owe you a sandwich.
NikosD
14th January 2012, 11:34
Benchmark results - Signature system - Video clip requested - LAV 0.44 latest
GraphStudio 0.3.2/ GraphStudio Next 0.4.5.5 (same results - 0.1fps difference)
3 passes - Null Renderer
5750 50,4 fps - GPU load 48% - 50% - CPU Load Max frequency ~ 25% average
(6)750 56,2 fps - GPU load 52% - 53% - CPU Load Max frequency ~ 30% average
DXVA Checker v2.6.2
LAV Video DXVA2
(6)750 EVR 53/54/54 - GPU Load 0/33/74 - CPU load max frequency 22/23/27
(6)750 VMR 48/54/56 - GPU Load 0/33/74 - CPU load max frequency 22/24/27
MS DS (vanilla DXVA2)
A lot of artifacts - Not sure about valid speed
(6)750 EVR 58/66/69 - GPU Load 0/3/3 - CPU load LOWEST frequency@1.6 GHz 9/10/11
MS MFT(vanilla DXVA2)
Perfect decoding
(6)750 EVR 68/71/72- GPU Load 0/1/7 - CPU load LOWEST frequency@1.6 GHz 0/10/10
Nice try - I'll skip because of:
1) High GPU load
2) High CPU load
3) Low decoding performance
4) Absolutely no need for anything else than EVR renderer
Waiting for your DXVA vanilla solution.
UPDATE:
According to AMD and other sources over the Net, the only way to use Frame Copy with zero penalty is through OpenCL.
If you want to implement a fast DXVA Frame copy solution for ATI hardware, you have to use OVD API (OpenVideo Decode).
It's like NVCUVID and Intel's MSDK in its basic principle.
No other way. Sorry.
blexley
14th January 2012, 11:37
If you are running nothing but MPC-HC with LAV Filters do you only uncheck all the Transform Filters or do you uncheck all the Source Filters aswell. ?
All the guides seem to contradict each other with some even saying "Transform filters (Prefer) in 'External filters' override transform filters in 'Internal Filters' (usually). So there is no reason to disable all transform filters." :confused:
Midzuki
14th January 2012, 11:42
@ blexley:
Source Filters: use only for Audio CD and (S)VCD
Transform Filters: use none.
blexley
14th January 2012, 11:47
Awsome thanks alot Midzuki.
Think i'll just leave it as MPC-HC with LAV Filters as all this other stuff is confusing. :)
IanD
14th January 2012, 12:27
Just exploring the latest LAV package with MPC and MadVR on XP SP2, Nvidia 8400GS with 285.58 driver.
However, with HW decoding (Nvidia CUVID) enabled in the LAV Video Decoder, 720p mkv files are incredibly pixelated and torn: if I disable HW decoding, it is smooth and unpixellated. Divx avi is fine. Doesn't change if I use EVR instead of MadVR.
Is my 8400GS (the updated version, not the original) inadequate to support CUVID, or is something else wrong with my setup?
Mercury_22
14th January 2012, 12:53
@ Nev the latest x64 version ( "Revision 870a5b4451 dxva2: implement software fallback " ) it's just crashing (MPC-HC) while the x86 version it's not crashing (working with VC1i too :thanks:) but also has no DXVA just software
nevcairiel
14th January 2012, 12:55
@ Nev the latest x64 version ( "Revision 870a5b4451 dxva2: implement software fallback " ) it's just crashing (MPC-HC) while the x86 version it's not crashing (working with VC1i too :thanks:) but also has no DXVA just software
If VC1i is working, then you obviously have DXVA, because the software decoder doesn't decode it. :p
Note that MPC-HCs DXVA status display doesn't work with this decoder.
Mercury_22
14th January 2012, 12:58
If VC1i is working, then you obviously have DXVA, because the software decoder doesn't decode it. :p
Note that MPC-HCs DXVA display doesn't work with this decoder.
ok then ! waiting for the x64 fix :thanks:
Mixer73
14th January 2012, 13:22
However, with HW decoding (Nvidia CUVID) enabled in the LAV Video Decoder, 720p mkv files are incredibly pixelated and torn: if I disable HW decoding, it is smooth and unpixellated. Divx avi is fine. Doesn't change if I use EVR instead of MadVR.
Sounds to me like your files may not have been encoded in a DXVA compliant fashion. Perhaps post up MediaInfo for an offending file to confirm.
Are you using LAVSplitter? LAVvideo doesn't seem to like Microsoft's .wtv spltter (StreamBufferSource). If you use mpc-hc, block StreamBufferSource - you lose continuous live TV playback, but LAVSplitter works better for everything else, and gives you the ability to select audio streams.
Oh man, I have this symptom too, buuuut I am using DVR-MS, in this case just with MPEG2/AC3 inside, which LAV Splitter isn't set up for.
Nev: I believe everything DVR-MS is a small subset of WTV container, is it at all possible to support DVR-MS in LAV Splitter?
IanD
14th January 2012, 13:44
Sounds to me like your files may not have been encoded in a DXVA compliant fashion. Perhaps post up MediaInfo for an offending file to confirm.
Format : Matroska
Format version : Version 2
File size : 1.28 GiB
Duration : 41mn 53s
Overall bit rate : 4 363 Kbps
Encoded date : UTC 2012-01-03 12:05:59
Writing application : mkvmerge v5.2.1 ('A Far Off Place') built on Jan 2 2012 23:21:10
Writing library : libebml v1.2.3 + libmatroska v1.3.0
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings, CABAC : No
Format settings, ReFrames : 2 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 41mn 53s
Bit rate : 3 892 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.176
Stream size : 1.14 GiB (89%)
Language : English
Default : Yes
Forced : No
Color primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics : BT.709-5, BT.1361
Matrix coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177
Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : A_AC3
Duration : 41mn 53s
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
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 115 MiB (9%)
Language : English
Default : Yes
Forced : No
Also discovered it pixelates badly on Youtube flv files.
nevcairiel
14th January 2012, 13:58
ok then ! waiting for the x64 fix :thanks:
Should be fixed.
nevcairiel
14th January 2012, 14:17
Nev: I believe everything DVR-MS is a small subset of WTV container, is it at all possible to support DVR-MS in LAV Splitter?
DVR-MS works just fine with LAV Splitter, its just not a option in the installer. Just block the StreamBufferSource in MPC-HC and it should just work.
Mercury_22
14th January 2012, 14:20
Should be fixed.
Yes it is :thanks:
But maybe you can do something about the "DXVA" message cause even in the MPC-HC's stats (ctrl+J) it's saying "DXVA: Not using DXVA" ! :confused: and it's very confusing especially now with all this testing
nevcairiel
14th January 2012, 14:58
But maybe you can do something about the "DXVA" message cause even in the MPC-HC's stats (ctrl+J) it's saying "DXVA: Not using DXVA" ! :confused: and it's very confusing especially now with all this testing
I cannot.
I don't even know how that message worked, and frankly, i don't care. Complain to MPC-HC. :P
I've been thinking if i can change the name of the decoder itself in the filter list depending on which decoder is used, wonder if that would break anything.
SamuriHL
14th January 2012, 15:02
That message is notoriously unreliable.
Sent from my Xoom using Tapatalk
Kotik
14th January 2012, 15:07
Hiho,
Nev do you own an ATI card?
Cause i remember you mentioned that you don't have one.
Thanx once more for all your time.
P.S. waiting for a test build with VC-1i!!! :)
noee
14th January 2012, 15:19
I've been thinking if i can change the name of the decoder itself in the filter list depending on which decoder is used, wonder if that would break anything.
Yeah, probably, but it seems like a reasonable solution.
Running on an HD6570 here with a very underclocked/undervolted Propus, pretty solid. Though I don't have VC1i material, everything else I've thrown at it works well. I'm testing with madVR and MC17 (custom RO) and I built the latest pull.
Software fallback appears to be working fine now too.
**Edit**
Some quick and dirty power measurements, Kill-a-watt at the wall, Propus with K10Stat with P3 @ 700Mhz, .75Vcore
Machine idles at 78W (Seasonic SII 460, two HDs, HD6570 fanless, 4GB RAM, Win7 Ult)
Playback with MC17/LAV/madVR, using the same loop for each source, smooth, perfect playback all sources
LAV DXVA2
AVCHD 1080i60 (home video) madVR Deint On: 96W
MPEG2 NTSC DVD Rip Using madVR Deint On IVTC(3:2): 85W
VC1 BD rip (2001 Space Odyssey): 88W
VC1 BD rip (Blade Runner): 91W
One core bumps up to 1100Mhz occasionally, the others stick @ 700Mhz
LAV Software
AVCHD 1080i60 (home video) madVR Deint On: 111W (2 cores at P0:2300Mhz, 2 at P3)
MPEG2 NTSC DVD Rip Using madVR Deint On IVTC(3:2): 85W (all cores at P3)
VC1 BD rip (2001 Space Odyssey): 100W (1 core at P0, the other 3 jumping around a bit)
VC1 BD rip (Blade Runner): 105W (had to lock all 4 cores at P0:2300Mhz for watchable playback)
robpdotcom
14th January 2012, 15:46
DVR-MS works just fine with LAV Splitter, its just not a option in the installer. Just block the StreamBufferSource in MPC-HC and it should just work.
I also have to block WM ASF Reader.
[ReX]
14th January 2012, 16:04
It's just crashing with my Mobile Intel GM45.
I know it's bad, but I have to stick with it. :rolleyes:
http://i.imgur.com/6x4ni.jpg
This means it supports DXVA2, right?
LAV Video say so, too.
Superb
14th January 2012, 16:44
nev: Maybe you could provide some custom interface so that MPC-HC could query the information (regarding which decoder is active) when it finds LAV Video in the graph? Or do you already provide one?
nevcairiel
14th January 2012, 16:49
There already is an interface to get that information, but i don't understand why its so important. Set it up once, and enjoy the movie.
Anyhow, i accidentally fixed the DXVA display thingy when moving some logic around, don't ask me what triggers it and what doesnt..
nevcairiel
14th January 2012, 16:56
Here is a new test version:
http://files.1f0.de/lavf/LAVFilters-0.44-dxva2-test3.zip
New is DXVA2 VC-1 interlaced support (only in DXVA, not software), software fallback should now be functional, as well as some general fixings and improvements.
Here is also a second test version for users of older Intel GPUs, it may or may not improve things when using DXVA2:
http://files.1f0.de/lavf/LAVFilters-0.44-dxva2-test-gma.zip
I'm only going by some documentation i found, i don't actually have such a GPU. :(
Mercury_22
14th January 2012, 18:06
There already is an interface to get that information, but i don't understand why its so important. Set it up once, and enjoy the movie.
Anyhow, i accidentally fixed the DXVA display thingy when moving some logic around, don't ask me what triggers it and what doesnt..
Yes the "DXVA display thingy" it's showing now for all: mpeg2, H264 and VC-1 (i&P):thanks:
Now I only need an x64 DTS-HD decoder so I can get rid of the all x86 players & decoders for good :p
BatKnight
14th January 2012, 18:47
Why would you want that? CUVID is superior.
I was guessing DXVA could handle interlaced VC-1 better than CUVID?
I still can't get smooth playback on my Nine Inch Nails - Beside You In Time Blu-ray. (It's interlaced VC-1)
Audio gets desynced after a while.
Bat
nevcairiel
14th January 2012, 18:50
A video decoder would (theoretically) only cause desync if its too slow, but that would then also show as dropped frames in the renderer.
Its possible that something else is going wrong, but who knows.
BatKnight
14th January 2012, 19:44
A video decoder would (theoretically) only cause desync if its too slow, but that would then also show as dropped frames in the renderer.
Its possible that something else is going wrong, but who knows.
I'll try to gather more data/info on this and let you know later.
Bat
[ReX]
14th January 2012, 20:19
Wow, you're fast!
It seems to work very well.
Thank you so much for this, I really appreciate it.
nevcairiel
14th January 2012, 20:20
;1551594']Wow, you're fast!
It seems to work very well.
Thank you so much for this, I really appreciate it.
You tried the normal or the special intel version?
[ReX]
14th January 2012, 20:30
You tried the normal or the special intel version?
The Intel version.
But, weirdly enough, I've just tried the new normal version from the same post and it didn't crash.
CruNcher
14th January 2012, 21:57
i get a black screen on both VC-1 test samples (nev dxva2) mc.ts as well as cd.ts with quicksync decoder it works though with the old known decoding errors on mc.ts, cd.ts is absolute fine. Arcsoft and Cyberlinks Decoder have neither problems with both (all feed from lav splitter)
nevcairiel
14th January 2012, 22:03
DXVA2 doesnt support VC-1 on Intel, their VC-1 DXVA is non-standard, and i cba to figure out whats different.
CruNcher
14th January 2012, 22:04
also
Video: DRAC 640x360 25.00fps [Video]
Audio: MPEG Audio 48000Hz stereo 256kbps [Audio]
is still crawling @ 8 fps (droping frames like crazy did you miss to compile some important asm code ?) :(
nevcairiel
14th January 2012, 22:07
Sample, mine works fine.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.