View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
Mixer73
7th August 2014, 01:51
A simple test on a 4+4 Core i7 with 4k HEVC:
Good test, clsid. Using CPU utilisation is a useless metric.
It is clear the performance gain of most video-related processing is asymptotic as you add more cores, which is to be expected.
NikosD
7th August 2014, 04:31
To stay a bit on-topic. LAV uses 1.5x logical cores by default for the number of threads. So 12 threads on a 4+4 CPU. This performs a bit better than using 8 threads.
A simple test on a 4+4 Core i7 with 4k HEVC:
threads - fps
12: 98.3 (~3.2 per thread extra)
16: 102.6 (~1 per thread extra)
From your test, maybe you could change that x1.5 multiplier to x2
clsid
7th August 2014, 14:03
Not really. The gain is just too small. It won't have much benefit for realtime playback. More threads also means longer initial delay and more overhead.
ney2x
7th August 2014, 16:15
Hi guys!
Slightly off-topic:
A friend of mine is selling his Quadro K2000, does upgrading my existing GPU which is GTX 560 Ti worth it in terms of CUDA Processing?
Thanks in advance.
P.S. My CPU is Core i7 2600K, 16GB DDR3, Windows 7 x64. Running 3 Virtual VM's
Gravitator
7th August 2014, 19:37
Салам!
Picture crumbles when CUVID / MPEG-4 decoder > sample (http://files.videohelp.com/u/227452/test-HW-CUVID%20(sample).avi)
Asmodian
7th August 2014, 22:48
A friend of mine is selling his Quadro K2000, does upgrading my existing GPU which is GTX 560 Ti worth it in terms of CUDA Processing?
Not in the context of LAV; not unless you are doing something that wants double precision floating point. The K2000 is a 560Ti with half the memory bandwidth.
Aleksoid1978
8th August 2014, 00:11
Incorrect detect first audio stream as MP3 - but it's a aac(latm).
http://aleksoid.voserver.net/Sample/AAC_LATM/aac_latm_sample_cut.ts
foxyshadis
9th August 2014, 00:23
Hi huhn and All!
Just to doulbe check, I have made other trials with some clips with HD resolution and the 6670 is involved in the process of decoding the video stream. I agree on the fact that also for this resolution a lot depends on other parameters...but with my actual playlist, no issues so far (fortunately).
Afterwards i tried also to play an UHD video with around 17 Mbps rate and the CPUs were able to manage it without any stuttering (total load was around 61%). The rate of 125 Mbps of my intial testing clip was too much for them (load 100%)!
Of course I never pointed LAV filters as the guilty for this issue! My trials started as a simple curiosity and landed in the AMD epic fails on the 4K resolution management! :(
Is this an hardware issue or it will be possible to have it fixed through driver updates? Being a complete noob, is not only a question of redirect the video stram to the GPU?
Unfortunately, OpenCL decoding is primarily useful for the iDCT/MC/deblock, but at 125Mbps, you have a huge amount of mostly single-threaded CABAC overhead that's probably swamping the decoding time. With a 125Mbps clip, multiple independent slices or CAVLC would make more sense. (HEVC gives us wavefront, which lets massively parallel decoding work far better at huge bitrates.) I hope ffmpeg or libav eventually gets an OpenCL decoding implementation, it'd still help some for these crazy scenarios.
Casshern
10th August 2014, 11:43
There are some new features of mpls playlists being used on some blurays. The german version of "Grand Budapest Hotel" uses multi-angle mpls files to select the different language versions (they differ by localized inserts and title cards). Unfortunately LAV only picks the first playlist-angle out of such a mpls playlist, without any option to choose the other (sub-playlist) versions. This is completely different from multi-angle video streams.
kasper93
10th August 2014, 12:28
I wouldn't expect lav filters to support advance Blu-ray features. This is a job for separate filter. http://forum.doom9.org/showthread.php?t=164314 though it isn't integrated in any player yet.
Tapatalk 4 @ GT-I9300
Casshern
11th August 2014, 14:40
I wouldn't expect lav filters to support advance Blu-ray features. This is a job for separate filter. http://forum.doom9.org/showthread.php?t=164314 though it isn't integrated in any player yet.
Tapatalk 4 @ GT-I9300
Its not really an advanced bluray-feature. After all LAV allows to open mpls files and index.bmv files with chapters. This is just a special kind of mpls file.
starla
12th August 2014, 11:04
There are some new features of mpls playlists being used on some blurays. The german version of "Grand Budapest Hotel" uses multi-angle mpls files to select the different language versions (they differ by localized inserts and title cards). Unfortunately LAV only picks the first playlist-angle out of such a mpls playlist, without any option to choose the other (sub-playlist) versions. This is completely different from multi-angle video streams.
That Blu-ray is probably having HDMV or BD-J based logic that is selecting the angle based on the user selected language. If such is true then it would require full Blu-ray support to be present in the LAV splitter.
Mercury_22
12th August 2014, 14:07
@NEV Any chance you'll add up-mixing too to LAVAudio Mixer ?
huhn
12th August 2014, 14:33
@NEV Any chance you'll add up-mixing too to LAVAudio Mixer ?
I take this as yes:
https://code.google.com/p/lavfilters/issues/detail?id=11&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary%20Modified
Casshern
12th August 2014, 14:47
That Blu-ray is probably having HDMV or BD-J based logic that is selecting the angle based on the user selected language. If such is true then it would require full Blu-ray support to be present in the LAV splitter.
This purely a matter of an mpls feature. The playlist file contains all the "angles" - no bd-j logc necessary. At the moment LAV plays the first angle of such playlist files. It would be nice if it would expose a choice of which angle to play - just like LAV has chapter support. This is not hugely important and might not even be on the agenda of the LAV developers, but maybe its easy to implement. And even if not, then i hope its still interesting to see that such mpls files exist.
nevcairiel
12th August 2014, 15:16
Even if it did allow switching of angles, there is no guarantee that there is any information which angle is which, so you would probably still have to guess which to play.
starla
12th August 2014, 19:52
This purely a matter of an mpls feature. The playlist file contains all the "angles" - no bd-j logc necessary. At the moment LAV plays the first angle of such playlist files. It would be nice if it would expose a choice of which angle to play - just like LAV has chapter support. This is not hugely important and might not even be on the agenda of the LAV developers, but maybe its easy to implement. And even if not, then i hope its still interesting to see that such mpls files exist.
Yes the playlist will contain the possible angles, but as nevcairiel said the angle chosing logic is done in HDMV or BD-J side (or by end user by testing the all possible angles - not that user friendly when the first different clip based on the angle could be after a half of the movie is already watched :))
Casshern
12th August 2014, 21:37
Even if it did allow switching of angles, there is no guarantee that there is any information which angle is which, so you would probably still have to guess which to play.
This would be no different from having to guess which subtitle track is for the hearing impaired, contains only forced subtitles or is the regular subtitle track. Also with audio tracks sometimes it's not obvious which track is which (due to wrong language flags, or multiple english tracks for SDH, commentary, music only etc.).
With "Grand Budapest Hotel" it would not involve much guessing as the first localized titlecard appears right after the credit sequence.
Anyhow - it's not a "crucial" feature or anything. But as LAV opens mpls files it would be nice if it also supported this feature. And as you are aware now (or have been all along) that these files exist my mission is complete - the rest it up to your judgement, mood and time.
Manni
13th August 2014, 15:03
Hi everyone,
First of all, as this is my first post here, I'd like to thank all those responsible for LAV. Great work!
I have noticed a small incompatibility between LAV and MadVR (which I also reported to Madshi).
I'm using the KCP Black package but I can reproduce the issue if I install the latest LAV, MadVR and MPC-HC or MPC-BE packages, so not KCP or player related.
If I leave the auto display mode option empty in the MadVR settings (so MadVR doesn't switch to the closest refresh rate for the content being played), all is well.
As soon as I populate the line with valid refresh rates for my display (a JVC X30 / RS-45), i.e. 1080p23, 1080p24, 1080p50, 1080p59 and 1080p60, I get a black screen when launching a DVD (which switches the display mode from my default of 1080p23 to 1080p50 or 1080p59 depending on whether the DVD is PAL or NTSC).
The only way to keep the auto display mode is to select DXVA2 native h/w acceleration in the LAV Video settings instead of none.
Any other mode causes black screen after the refresh rate change when playing DVDs.
Any idea what might be causing this, and whether this is LAV or MadVR related?
Thanks!
Trioli
15th August 2014, 18:57
I've been using this since the very first version, it's very impressive how far it got :)
I wonder, is there any plan to implement some kind of Volume normalization? I realize that software amplification isn't very desireable but right now i have to use ffdshow audio processor for normalization, would like to see this in LAV.
nevcairiel
15th August 2014, 19:03
Unlikely to ever happen, sorry.
magic144
16th August 2014, 06:42
Any progress on this issue here: https://code.google.com/p/lavfilters/issues/detail?id=467&sort=-modified&colspec=ID%20Type%20Status%20Priority%20Filter%20Summary%20Modified
I know this is quite a long way back now, but I just got round to trying this on my system. The DTS sample provided plays back at the correct speed via bitstreaming to my external Yamaha amp over HDMI. My setup uses Zoom Player, LAV, and I have an AMD Radeon HD 5670 with the 14.4 drivers.
Just wanted to provide this feedback.
nevcairiel
16th August 2014, 07:47
I'm quite sure it should work, but maybe some receivers just don't do 44.1
clsid
16th August 2014, 15:11
That is possible, since AC3Filter has an option to disallow bitstreaming for 44.1.
theoneofgod
17th August 2014, 02:02
I know this is quite a long way back now, but I just got round to trying this on my system. The DTS sample provided plays back at the correct speed via bitstreaming to my external Yamaha amp over HDMI. My setup uses Zoom Player, LAV, and I have an AMD Radeon HD 5670 with the 14.4 drivers.
Just wanted to provide this feedback.
I was running through optical out.
SeeMoreDigital
17th August 2014, 10:43
I was running through optical out.
As nevcairiel has already mentioned. Not all receivers support DTS at 44.1KHz (as used with DTS-CD).
What does it say in your amplifiers user manual with regards to DTS support?
theoneofgod
18th August 2014, 12:29
As nevcairiel has already mentioned. Not all receivers support DTS at 44.1KHz (as used with DTS-CD).
What does it say in your amplifiers user manual with regards to DTS support?
Nothing about DTS CD or DTS at 44.1KHz, so that must be it.
Though it might be a limitation my AV has with the Optical input, not able to test with HDMI at the moment.
clsid
18th August 2014, 15:23
@nevcairiel
Another MS DMO/MFT bug?
http://forum.doom9.org/showthread.php?p=1690335
filler56789
19th August 2014, 12:37
@nevcairiel
Another MS DMO/MFT bug?
http://forum.doom9.org/showthread.php?p=1690335
Well, it looks like M$ managed to bork both the decoder and the encoder, so I don't see how (or why) LAV Video should provide workarounds for their bugs.
IanD
20th August 2014, 08:58
Is there an intention to incorporate MVC decoding in LAV filters once someone develops a stable decoder filter?
nevcairiel
20th August 2014, 10:01
Why, do you have one? :)
IanD
20th August 2014, 11:16
Why, do you have one? :)
I wish.
No, I would like to be able to watch my 3D Bluray on my HTPC with MPC/LAV and avoid all the commercial software crap and limitations, as a future option. I'm using MPC/LAV for most of my 2D viewing already, although I miss having DVD menu navigation with the EVR Custom renderer.
I notice that the open source community is having a lot of trouble getting a stable fast decoder for MVC.
nevcairiel
20th August 2014, 11:18
For a bit I considered building this with Intels software decoder in the MSDK, but I've not have the time to pursue these plans, plus you still need a video renderer to be able to deal with it, unless you just want Half-SBS as a work around.
The reason why there is no open-source decoder is that 3D is widely unpopular and mostly considered nothing more than a novelty, which I kinda agree with. 3D at home seems really underwhelming, maybe unless you have a giant projector setup, but on TVs it just doesn't work well IMHO.
ryrynz
21st August 2014, 08:10
Nevcairiel, will the patch for 453 (allowing selecting subtitles by substring match) be included in the next version? I'm finding this particularly useful, cheers.
IanD
21st August 2014, 08:13
The reason why there is no open-source decoder is that 3D is widely unpopular and mostly considered nothing more than a novelty, which I kinda agree with. 3D at home seems really underwhelming, maybe unless you have a giant projector setup, but on TVs it just doesn't work well IMHO.
I'm hoping Ultra-D and its ilk will change all that: partly because it should be possible to see a little around objects by moving the POV, like a hologram, and partly because of the lack of glasses.
I would love a TV that can present material as though looking through a window, where the viewer is not merely constrained to a face-on perspective. This is what 3D should have been when it was recently re-released.
I was not particularly impressed with cinema 3D using polarised glasses, but was more impressed with a brief dabble with a passive 3D TV in the home environment (apart from the resolution reduction).
As far as the 3D decoder, I would love an implementation that can perform hardware decoding to substantially speed up the process, whether by Intel or Nvidia or ATI mainstream domestic PU.
Djfe
21st August 2014, 17:46
@nevcairiel I wanted to ask whether you are interested in optimizing your LAV Splitter for programms like the TS Doctor if you have time
The LAV Splitter is awesome for playback but not for editing software which needs to now exact timecodes of shown frames and whether it is an I/B/P-Frame.
The Haali Media Splitter behaves better in that aspect but has sometimes other issues with playback
it would be really awesome if you could maybe even work together with Cypheros to implement a better handling of TS files/H264 for his software
nevcairiel
21st August 2014, 17:52
My focus is playback. Patches are welcome to improve any other use cases.
Djfe
21st August 2014, 19:46
OK, maybe in the future
atm I'm not really familiar with C++
andyvt
21st August 2014, 19:56
@nevcairiel I wanted to ask whether you are interested in optimizing your LAV Splitter for programms like the TS Doctor if you have time
The LAV Splitter is awesome for playback but not for editing software which needs to now exact timecodes of shown frames and whether it is an I/B/P-Frame.
FWIW, while you can edit with DS it's not the best framework for doing so. I've found that working directly on top of ffmpeg to be a much better approach.
Djfe
21st August 2014, 21:29
Well TSD just cuts the TS Stream and uses LAV and Haali to get an information at which ts packets it has to cut off the stream and show the user the video at these packets
you can use ffdshowtryout as a decoder but isn't as reliable as LAV though
I don't want to recode my videos/records I just want to cut the stream without loosing any quality
Richardw322
22nd August 2014, 00:33
Setting LAV as preferred is not the correct choice. You must set it to "USE MERIT" if you want xy-vsfilter to get loaded. It is explained in the help of Win7DSFilterTweaker. Do MKV files show up in the MC library? If not, that is why it refuses to play them. Some Registry tweaks are needed for MC to recognize such files. Use K-Lite Codec Pack (Basic version, with "LAV for everything" install profile) and everything will be configured correctly fully automatically.
Thanks for the tip, CLSID. Downloaded the LAV filters and have been going nuts trying to play MKV (Personal DVD rips, I have the disc) in Media Center. (Also doesn't help that the little woman has a sprained ankle and wont let me near the computer!!) :scared:
Djfe
23rd August 2014, 17:04
@nevcairiel can you take a look at the following file pls:
http://www.filedropper.com/02-2020-33-42paokfc-benfica
the lav filters only decode the audio tracks (except the dolby e/aes3 one, but that is expected since it's a commercial codec) but not the video track
it's MPEG HD and was muxed/encoded by an uplink
filler56789
23rd August 2014, 17:51
http://www.filedropper.com/02-2020-33-42paokfc-benfica
the lav filters only decode the audio tracks (except the dolby e/aes3 one, but that is expected since it's a commercial codec) but not the video track
it's MPEG HD and was muxed/encoded by an uplink
It seems the "uplink" produced a broken video stream. Mplayer displays the images, but also shows a warning when playing the demuxed .m2v file (no warning when playing the TS file). BTW, ffmpeg is unable to demux or remux that video (outputs a 0-byte file). I managed to demux via TSmuxer. FWIW, the MPEG-2 input plugin for VirtualDub is unable to open that stream as well.
P.S.: Next time, please choose a file host that lets us know the download size ;)
Djfe
24th August 2014, 00:51
as far as I know the video stream only consists out of P-Frames -> no I-Frames
even though it is probably broken in some way: there has to be a fix, else VLC, MPlayer, ffdshow and maybe other programms wouldn't be able to play the stream
interesting that even demuxers are are failing on it
maybe I should file a bug report for ffmpeg as well
nevcairiel
24th August 2014, 05:43
If you have a broken file, always test with FFmpeg/ffplay, and if it fails there as well, you cab immediately open an issue with them instead, since that's what LAV is based on.
Note that a stream without any key frames is likely to remain unplayable. Broken files are broken.
Personally, I'll at least not spent much time at all trying to fix obviously broken streams.
IanD
24th August 2014, 05:52
as far as I know the video stream only consists out of P-Frames -> no I-Frames
Not possible: P frames are just differences from I frames, you must have I frames to start with.
Perhaps you meant it's all I frames, in which case it would be very close to "motion jpeg".
Whatever the situation, it is up to sources to follow standards, not decoders to allow for every possible variation.
Kurtnoise
24th August 2014, 08:12
Build fails here. Pkg-config is unable to find the speex stuff.
Same error occurs here with libopus using a fresh copy of the trunk...
NikosD
24th August 2014, 08:17
No video with this sample using LAV x86/x64
HEVC incompatibility (I think LAV splitter)?
https://www.sendspace.com/file/rxsbka
Strongene's HEVC decoder plays fine in PotPlayer.
nevcairiel
24th August 2014, 08:43
HEVC in FLV is not supported and never will be (unless Adobe creates a spec). There is no official or even unofficial spec for that, and everything else is just random hacks, and neither me nor ffmpeg will support such practices.
Don't use flv, never flv.
NikosD
24th August 2014, 09:46
I don't.
But obviously others do.
Is there officially H.264 in FLV ?
Because if there is, then it will be for H.265, my guess.
The clip is from Strongene's samples and that's why they give an flv splitter along with their decoder.
But once again PotPlayer supports even that!
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.