View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
jkauff
6th September 2015, 00:24
Any likelihood that LAV video decoder might include frame interpolation for H.264 (or legacy mpeg using motion vectors) in future?
I'd say None, since that's something a renderer would do, not a decoder. SVP, which does what you're asking for, just had a very successful fundraiser. Watch for a totally re-written v.4 later this year or early next year.
IanD
6th September 2015, 07:18
I'd say None, since that's something a renderer would do, not a decoder. SVP, which does what you're asking for, just had a very successful fundraiser. Watch for a totally re-written v.4 later this year or early next year.
Actually, it would be a decoder feature since frames are computed from motion vectors in any case: it's just a matter of extending that decoding to create additional frames using a proportion of the motion vectors.
I believe all of the frame interpolation techniques at the moment rely on recreating motion vectors from the raw image data, once it has been decoded, which is much less efficient: it's basically decoding the data, re-encoding the data and then decoding again as I suggested.
Decoders are code optimised to be very fast, whereas most of the techniques use a higher level programming which is not very efficient. Unfortunately there wouldn't be many people capable of creating a new decoder.
vivan
6th September 2015, 07:54
I believe all of the frame interpolation techniques at the moment rely on recreating motion vectors from the raw image data, once it has been decoded, which is much less efficient: it's basically decoding the data, re-encoding the data and then decoding again as I suggested.SVP developers don't believe that MVs from decoder could help http://www.svp-team.com/forum/viewtopic.php?pid=49917#p49917
foxyshadis
6th September 2015, 10:24
Motion interpolation and optimal compression are completely different, and therefore the vectors shouldn't be shared. The exact same discussion was had for MVTools for Avisynth, and it turned out that while good coherent motion vectors are available in some blocks, mostly they're a ways off -- or even completely backward -- anywhere that it saves bits. A stream analyzer like CodecVisa will reveal just how crazy they're stored.
madshi
6th September 2015, 10:26
Motion interpolation and optimal compression are completely different, and therefore the vectors shouldn't be shared. The exact same discussion was had for MVTools for Avisynth, and it turned out that while good coherent motion vectors are available in some blocks, mostly they're a ways off -- or even completely backward -- anywhere that it saves bits. A stream analyzer like CodecVisa will reveal just how crazy they're stored.
That's good information, thanks. I always thought it would be a good idea to reuse compression motion vectors for things like SVP, but what you're saying makes a lot of sense.
mahmoud_a1
6th September 2015, 11:58
I have problem UHD TV (Ultra HD) cpu 100%
4670k core i5 and cant see video
and pc hang :(
any solve for this problem
huhn
6th September 2015, 12:12
some informations wouldn't be bad first. what are you trying to play which what player.
nussman
6th September 2015, 12:14
CPU 100% means your PC is too slow for UHD.
mahmoud_a1
6th September 2015, 14:17
some informations wouldn't be bad first. what are you trying to play which what player.
dvbviewer and lav filter
nussman
6th September 2015, 14:39
32bit HEVC Decoding is very slow and 4k HEVC in 10bit is very demanding.
James Freeman
7th September 2015, 16:04
...
and pc hang :(
DON'T OVERCLOCK
Now try to disable some enhancements in the renderer.
mahmoud_a1
8th September 2015, 01:38
DON'T OVERCLOCK
Now try to disable some enhancements in the renderer.
why use cpu not use gpu ?
maybe filter reason of problem ?
foxyshadis
8th September 2015, 07:48
why use cpu not use gpu ?
maybe filter reason of problem ?
Have you checked with GPU-Z that it doesn't? Intel has a hybrid decoder now, and the results are good, but it can only do so much (https://forum.doom9.org/showthread.php?p=1718243#post1718243). And if it's 10-bit UHD, GPU can't handle it at all. Alternately, perhaps your drivers are way out of date.
Otherwise, you're just pushing your system beyond what it can handle.
nussman
8th September 2015, 08:17
It is 10bit and CPU is too slow. So it wont play smooth anyway.
All you can try is a 64Bit Player with 64bit LAV.
In DVBViewer the renderer skips late frames (can be changed in settings) and that's why it seems to hang?
huhn
8th September 2015, 09:32
Have you checked with GPU-Z that it doesn't? Intel has a hybrid decoder now, and the results are good, but it can only do so much (https://forum.doom9.org/showthread.php?p=1718243#post1718243). And if it's 10-bit UHD, GPU can't handle it at all. Alternately, perhaps your drivers are way out of date.
Otherwise, you're just pushing your system beyond what it can handle.
the hybrid decoder are usually slower than pure x64 lav software decoder. at least it looks like this for higher mbit files.
and he is watching broadcast so it should be 10 bit HEVC with 20 to 60 MBIT. so you kind of need an gtx 950/960 to play it.
mahmoud_a1
8th September 2015, 17:52
I found solve
must use hardware decoder to use ( NVidia CUVID )
VIDEO SETTINGS Lav filter
now cpu 45-60 %
VictorLS
12th September 2015, 05:23
I found solve
congradulations, but you did not say what videocard do you have. I suppose that nVIDIA GTX 950 or 960.
it works only using SW decoding because there is no GPU capable for HW H.264 10bit decoding.
Are you shure that nVIDIA GTX 950 or 960 GPUs capable for HW H.265 10bit 4:2:0 decoding?
P.J says yes, but I want that someone say yes too (especially you, huhn, nevcairiel, Aleksoid1978...), because foxyshadis writed some posts upper: "if it's 10-bit UHD, GPU can't handle it at all".
In DVBViewer the renderer skips late frames (can be changed in settings)
where this settings exatly and what renderer? What Windows (XP,7-10)?
NikosD
12th September 2015, 05:48
Are you shure that nVIDIA GTX 950 or 960 GPUs capable for HW H.265 10bit 4:2:0 decoding?
P.J says yes, but I want that someone say yes too (especially you, huhn, nevcairiel, Aleksoid1978...), because foxyshadis writed some posts upper: "if it's 10-bit UHD, GPU can't handle it at all".
You changed the last number from H.264 to H.265.
There is no GPU to actually decode in pure fixed-function HW 10bit H.264 clips, but Nvidia 950 & 960 can really decode in HW 10bit H.265 clips.
Nowadays there are only those two pure 10bit HW decoders, but next - gen Intel iGPUs and AMD GPUs which can already decode 8bit H.265 in HW, they will add 10bit too.
foxyshadis
12th September 2015, 07:46
because foxyshadis writed some posts upper: "if it's 10-bit UHD, GPU can't handle it at all".
That was when I thought he only had Intel. If he'd given his full hardware and a MediaInfo from the start we could have fixed his problem in one post.
VictorLS
12th September 2015, 08:07
You changed the last number from H.264 to H.265.
I made it specially because you are quite right about h264 but I wanted to know about h265 from you, because I respect your posts )
There is no GPU to actually decode in pure fixed-function HW 10bit H.264 clips, but Nvidia 950 & 960 can really decode in HW 10bit H.265 clips. Nowadays there are only those two pure 10bit HW decoders
Thank you very much for full answer.
but next - gen Intel iGPUs and AMD GPUs which can already decode 8bit H.265 in HW, they will add 10bit too.
but I am sure that both Intel iGPUs and AMD GPUs will not support both XP and 47,952-50Hz in drivers. So I will wait for cheap nVIDIA GTX9x0. I hope it will in stock in early 2016 ...
That was when I thought he only had Intel. If he'd given his full hardware
I agree, but you scared me )
Because most of UHD from SATs are 10bit (and this is problem for Elecard HEVC Video Decoder which shows recorded UHD h265 10bit 4:2:0 well in i.e. MPC-HC (but UHD in KMP 3.9.1.135 hangs up, SD and HD h265 works perfect) with i.e. LAVsplitter, but in SAT programs (DVBViewer, ProgDVB x86 and x64 and DVBDream) it shows color abracadabra (((
VictorLS
12th September 2015, 21:22
UHD in KMP 3.9.1.135 hangs up, SD and HD h265 works perfect
I tried KMP 4.0.0.0 by Russian 7sh3 in Win7x64 with Elecard HEVC Video Decoder and all KMP Transform filters off. UHD h265 not hang up. Then I tried same player in WinXP with same settings and UHD h265 hangs up. But when I set KMP Video Transform Filter "Always Use (Strongly Recommended)" UHD h265 not hang up too.
mahmoud_a1
14th September 2015, 02:10
[QUOTE=VictorLS;1738272]congradulations, but you did not say what videocard do you have. I suppose that nVIDIA GTX 950 or 960.
QUOTE]
GTX 760
VictorLS
14th September 2015, 06:09
GTX 760
very unexpectedly and surprisingly. And what Windows?
mahmoud_a1
14th September 2015, 12:28
very unexpectedly and surprisingly. And what Windows?
windows 8.1 x64
dude2012
14th September 2015, 21:13
Hello, I have an Nvidia GTX770, Windows 10, and for a while have set Lav Video to use CUVID, but in light recent posts I have switched to DXVA2 (native). One thing I was wondering, though, is "Mpeg-4" becomes greyed out when I chose DXVA2 - can someone explain why that is/what it means?
Thanks.
NikosD
14th September 2015, 21:18
Because nobody has ever built a DXVA decoder for MPEG4 ASP for Nvidia.
LAV filters support that using CUVID only.
P.J
14th September 2015, 21:50
Because nobody has ever built a DXVA decoder for MPEG4 ASP for Nvidia.
LAV filters support that using CUVID only.
Eh, then these are useless?
MPEG4pt2_VLD_Simple: DXVA2/D3D11, SD / HD / FHD
MPEG4pt2_VLD_AdvSimple_NoGMC: DXVA2/D3D11, SD / HD / FHD
dude2012
15th September 2015, 14:49
Because nobody has ever built a DXVA decoder for MPEG4 ASP for Nvidia.
LAV filters support that using CUVID only.
Pardon my ignorance but practically speaking what is the effect of this if I play MPE4 ASP files with the DXVA setting, then?
LigH
15th September 2015, 14:57
If I'm not wrong, it is even more usual to have – at least partial – DXVA decoding acceleration support for AVC than for (A)SP...
Yes, MPEG4 Part 2 support from VDPAU feature set C on (https://en.wikipedia.org/wiki/Nvidia_PureVideo#Nvidia_VDPAU_Feature_Sets). Feature sets A and B already supported AVC, and some MPEG 1/2 and VC-1, but no ASP yet.
Asmodian
15th September 2015, 19:50
Pardon my ignorance but practically speaking what is the effect of this if I play MPE4 ASP files with the DXVA setting, then?
It uses software decoding instead.
baii
18th September 2015, 04:24
Getting video corruption in this setting
vp9 from youtube
using pot player build in parsers
x86 (same on x64)
try stable and latest git both get corruption
try mpc-be standalone decoder( I believe once said it is build on lav iirc?) no corruption with build 1.4.4, get corruption on 1.4.5.677.
no problem with potplayer build in decoder
no problem if not using pot player build in parser. (aka, a downloaded file)
no problem if using svp-tube I believe
not sure if potplayer stuff worthy of a fix, since it is... w.e.
P.s, cant seem to find bug tracker section on git, so posted here.
Aleksoid1978
18th September 2015, 05:50
Getting video corruption in this setting
vp9 from youtube
using pot player build in parsers
x86 (same on x64)
try stable and latest git both get corruption
try mpc-be standalone decoder( I believe once said it is build on lav iirc?) no corruption with build 1.4.4, get corruption on 1.4.5.677.
no problem with potplayer build in decoder
no problem if not using pot player build in parser. (aka, a downloaded file)
no problem if using svp-tube I believe
not sure if potplayer stuff worthy of a fix, since it is... w.e.
P.s, cant seem to find bug tracker section on git, so posted here.
I think it's bug in Pot's parser.
lcamara
18th September 2015, 09:33
hi,
sorry for this to be my first post but i was wondering if there could be a lfe option for stereo in lav audio decoder.
when i run stereo, there is no lfe except if i enable the crossover for my sound card. (even if i set lfe mix level to 1.00 or higher) the bass doesn't come out nice.
what i hope would happen was aside from channeling everything to stereo there would be an lfe option so that the sound comes out as 2.1 and doesn't route all the sound to plain stereo. (lfe should be separate).
thanks,
les
foxyshadis
18th September 2015, 09:40
That's really a job for your audio driver. LAVFilters doesn't work around driver bugs as a rule.
filler56789
18th September 2015, 13:42
hi,
sorry for this to be my first post but i was wondering if there could be a lfe option for stereo in lav audio decoder.
when i run stereo, there is no lfe except if i enable the crossover for my sound card. (even if i set lfe mix level to 1.00 or higher) the bass doesn't come out nice.
what i hope would happen was aside from channeling everything to stereo there would be an lfe option so that the sound comes out as 2.1 and doesn't route all the sound to plain stereo. (lfe should be separate).
One can always use ffdshow's audio processor or AC3Filter for downmixing according to their preference.
lcamara
19th September 2015, 23:25
One can always use ffdshow's audio processor or AC3Filter for downmixing according to their preference.
yeah. just wish ffdshow could handle atmos blurays (transformers 4). :(.
:thanks:
Q-the-STORM
19th September 2015, 23:56
yeah. just wish ffdshow could handle atmos blurays (transformers 4). :(.
:thanks:
You could let LAV decode and process with ffdshow afterwards...
huhn
21st September 2015, 07:36
yeah. just wish ffdshow could handle atmos blurays (transformers 4). :(.
:thanks:
with ATMOS you need bit streaming and you can't use a mixer when bitstreaming is used. every half decent AVR that can handle ATMOS can do an LFE cross over for stereo sources too.
nevcairiel
22nd September 2015, 11:00
LAV Filters 0.66
LAV Splitter
- NEW: Added options to increase the queue size for increased buffering
- Changed: Switched ASF/WMV demuxing to a new demuxer from Libav
- Fixed: Improved seeking with MPEG-TS files which contain teletext streams
LAV Video
- NEW: Support for DXVA2-Native decoding of HEVC 10-bit with EVR on supported GPUs
- Changed: 4K Video Decoding on AMD graphics card is now enabled (needs recent drivers to work properly)
- Changed: DXVA2-CB decoding uses less memory on NVIDIA graphics cards
- Fixed: H264 DXVA2 decoding failed when no SPS/PPS was available in the media type
- Fixed: Conversion of RGB48 to RGB32/24 did not properly use dithering
- Fixed: Improved handling of a few DVD menu quirks
- Fixed: Decoding 10-bit video with EVR could result in a black screen
LAV Audio
- Changed: 5.1 audio favors the "Side" 5.1 layout, which conforms to modern surround standards
Download: Installer (both x86/x64) (http://files.1f0.de/lavf/LAVFilters-0.66.exe) -- Zips: 32-bit (http://files.1f0.de/lavf/LAVFilters-0.66.zip) & 64-bit (http://files.1f0.de/lavf/LAVFilters-0.66-x64.zip)
This release was quite delayed to due vacation time in the summer and a lot of paying work to do since then, but I figured its about time to release a new version.
Nothing much to say beyond what the changelog above wouldn't already mention.
So simply have fun, and as always please report issues and regressions, in as much detail as possible, with sample files and reproducible test cases if applicable!
PS:
HEVC 10-bit DXVA2-Native is still blocked by MPC-HC, until they fix it in their code, it'll not work with that player.
filler56789
22nd September 2015, 11:57
LAV Filters 0.66
:thanks: for another stable release ^_^
Carpo
22nd September 2015, 12:30
damn it!!! I just did a clean OS image, and now you release this :rolleyes: :p
Installing now :D
Ver Greeneyes
22nd September 2015, 14:49
PS:
HEVC 10-bit DXVA2-Native is still blocked by MPC-HC, until they fix it in their code, it'll not work with that player.Any idea what's up with the lack of development recently on MPC-HC? There have been no commits on github since early August. Not asking for ETAs or anything, just curious if you happen to know.
clsid
22nd September 2015, 15:01
A fix for that has already been made. It just has not been pushed to the main repository yet. You can find the 'upcoming' changes in the Github repositories of the main devs. Their policy seems to be to only push to the main repo once a whole bunch of changes are ready. Imho, they could push a bit more frequently. Things are slow lately due to vacation period.
Ver Greeneyes
22nd September 2015, 15:55
Thanks, that's kind of what I figured but it's been long enough since commits that I was starting to wonder :)
aufkrawall
22nd September 2015, 16:54
Good to see new releases of the best open source decoder. :)
Regarding 4k decoding on AMD: Is this only for Tonga, Carrizo and Fiji?
James Freeman
23rd September 2015, 14:24
:thanks:
IanD
24th September 2015, 16:02
Motion interpolation and optimal compression are completely different, and therefore the vectors shouldn't be shared. The exact same discussion was had for MVTools for Avisynth, and it turned out that while good coherent motion vectors are available in some blocks, mostly they're a ways off -- or even completely backward -- anywhere that it saves bits. A stream analyzer like CodecVisa will reveal just how crazy they're stored.
It was my understanding that mpeg relies on motion vectors and prediction error to create a reduced bandwidth data stream than using I frames alone: when the prediction error is too high, the encoder falls back to full encode of the destination block. I am aware that predicted frames are decoded out of sequence temporally, but that should not create a problem because it is already handled.
Are you saying that in most mpeg encodes, there are many blocks that use full encode of the destination block, because motion vectors are no more efficient in those particular cases, and therefore there will be many blocks that won't have motion vectors that can be interpolated? Effectively, the source and destination blocks without motion vectors would need some other form of interpolation.
Do you have a direct reference to the MVTools discussion?
nevcairiel
24th September 2015, 16:05
Are you saying that in most mpeg encodes, there are many blocks that use full encode of the destination block, because motion vectors are no more efficient in those particular cases, and therefore there will be many blocks that won't have motion vectors that can be interpolated? Effectively, the source and destination blocks without motion vectors would need some other form of interpolation.
What he is saying is that the motion vectors in an encoded video will very often not represent "natural motion", but just some sense of mathematical motion, for the sole purpose of compression efficiency. If you would try to use these motion vectors for anything else that actually relies on it being actual natural motion (like interpolation), then you might end up with rather weird results.
kasper93
24th September 2015, 21:12
HEVC 10-bit DXVA2-Native is still blocked by MPC-HC, until they fix it in their code, it'll not work with that player.
As of version 1.7.9.156 HEVC 10-bit DXVA2-Native decoding is fully working in MPC-HC. You can get latest build here https://nightly.mpc-hc.org/ (will be up in 2 hours)
artins90
25th September 2015, 00:12
I have just upgraded to the new MPC-HC beta version and HEVC doesn't seem to work with my GTX 970, does the 970 support HEVC 10 bit hardware decoding? I am using the following sample file:
General
ID : 1014 (0x3F6)
Complete name : C:\Users\Artins\Downloads\Eutelsat.Demo.HEVC.ts
Format : MPEG-TS
File size : 488 MiB
Duration : 2mn 57s
Overall bit rate mode : Variable
Overall bit rate : 23.1 Mbps
Video
ID : 255 (0xFF)
Menu ID : 10202 (0x27DA)
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.1@Main
Codec ID : 36
Duration : 2mn 56s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate : 50.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
I get fps drops, the CPU ramps up and the decoder shows:
DXVA2 "available"
Active decoder: "avcodec"
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.