View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
clsid
2nd September 2018, 18:04
You can set a source filter as preferred with this registry key:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Media Type\Extensions\.ts]
"Source Filter"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"
Value in above example is for LAV Splitter Source.
mzso
2nd September 2018, 18:05
You can set a source filter as preferred with this registry key:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Media Type\Extensions\.ts]
"Source Filter"="{B98D13E7-55DB-4385-A33D-09FD1BA26338}"
Value in above example is for LAV Splitter Source.
Well, I set it as preferred internally in MPC, but didn't help.
clsid
2nd September 2018, 18:21
That usually doesn't work as expected for source filters because the above overrides the merit system.
mzso
2nd September 2018, 18:32
That usually doesn't work as expected for source filters because the above overrides the merit system.
Well, the internal LAV filter is loaded instead of what I have set so I'm not so sure this is the case.
Anyways, making the change to the registry key doesn't seem to change anything.
clsid
2nd September 2018, 18:55
Can you upload the SmartDVB filter somewhere?
mkver
2nd September 2018, 19:00
I have now downloaded and tested SmartDVB64 myself:
1. If I open the file via Open Media File, all of your files play well regardless of whether I use LAV or Microsoft's splitter/decoder. Even the MS splitter+LAV decoder is good.
2. If I use LAV's decoder and play via "Play Transport Stream DVB file", SmartDVB uses its own source filter and I get stutters with your two sports video, but not with the National Geographic documentary.
3. If I remux the bicycle race file so that each of the fields is in its own PES packet (with own timestamps), the additional stutters that one saw in 2. are gone. Here (https://www.dropbox.com/s/if2fk4i5r2oepqj/tdf2.ts?dl=0) is the file. Note: The procedure I used to create said file unfortunately also increased the pts to dts offset a bit, but I don't think that this is important.
4. I also tested LAV 0.69 (that's before LAV decoder decided to not parse when connected to LAV filters) and it doesn't differ from more recent versions.
The differing behaviour of 2. and 3. confirms my suspicion that it is a result of there being two fields with only one timestamp.
I don't know why the National Geographic file seems to work; it could be because ffmpeg is able to guess the pts of the second field. Or it could be that we don't see the stutters because the video content is actually progressive. Or it could be because the National Geographic file uses only two reorder frames, whereas the bicycle race file uses three. I don't know. Hopefully SmartDVB's developers can find out more.
mzso
2nd September 2018, 19:32
I have now downloaded and tested SmartDVB64 myself:
1. If I open the file via Open Media File, all of your files play well regardless of whether I use LAV or Microsoft's splitter/decoder. Even the MS splitter+LAV decoder is good.
2. If I use LAV's decoder and play via "Play Transport Stream DVB file", SmartDVB uses its own source filter and I get stutters with your two sports video, but not with the National Geographic documentary.
3. If I remux the bicycle race file so that each of the fields is in its own PES packet (with own timestamps), the additional stutters that one saw in 2. are gone. Here (https://www.dropbox.com/s/if2fk4i5r2oepqj/tdf2.ts?dl=0) is the file. Note: The procedure I used to create said file unfortunately also increased the pts to dts offset a bit, but I don't think that this is important.
4. I also tested LAV 0.69 (that's before LAV decoder decided to not parse when connected to LAV filters) and it doesn't differ from more recent versions.
The differing behaviour of 2. and 3. confirms my suspicion that it is a result of there being two fields with only one timestamp.
I don't know why the National Geographic file seems to work; it could be because ffmpeg is able to guess the pts of the second field. Or it could be that we don't see the stutters because the video content is actually progressive. Or it could be because the National Geographic file uses only two reorder frames, whereas the bicycle race file uses three. I don't know. Hopefully SmartDVB's developers can find out more.
Hi!
Thanks for the info. Indeed the Open Media File doesn't use the same filter chain. When viewing tv channels LAV cannot be used.
The big question is, why does the issue only present itself when I use LAV for deinterlacing. When using a different decoder, or turn off deinterlacing (and use madVR, EVR deinterlacing) the issue doesn't present itself. It might be a LAV bug yet.
mzso
2nd September 2018, 19:35
Can you upload the SmartDVB filter somewhere?
Here's the filters folder (Most recent version):
https://drive.google.com/open?id=1gFZrQQ6Ezy4Fqn4yXua8Zc2_2oslNLgE
VictorLS
2nd September 2018, 22:09
About https://forum.doom9.org/showpost.php?p=1846579&postcount=22960 and from https://forum.doom9.org/showpost.php?p=1847019&postcount=22982 to https://forum.doom9.org/showpost.php?p=1847554&postcount=23011
I've spent evening to get positive result of playing Zee TV20180716-203544.ts in Win7x64 with MPC-HC and app SmartDVB https://www.videohelp.com/download/AviSynth_260.exe and https://www.videohelp.com/download/ffdshow_rev4533_20140929_clsid.exe and yadif17.zip in the bottom of https://avisynth.org.ru/yadif/yadif.html
Unpack yadif.dll at root of disk C. In LAV Video Decoder set Deinterlacing mode Disabled (Progressive)
add in SmartDVB's Connection, Video Process (or in External filters of MPC-HC) ffdshow raw video filter
with my Avisynth script there:
LoadCPlugin("C:\yadif.dll")
ffdShow_source()
AssumeFieldBased()
Weave()
Yadif(mode=3,opt=3,order=-1)
PS. For ТНТ HD20180722-203510.ts I had to use None hardware acceleration instead of NVIDIA CUVID to get sync audio and video.
PPS. Bad thing is not automatic switching between ordinary and half vertical sized files - that's why I wanted to LAV Video Decoder could process such streams.
Plutotype
7th September 2018, 07:50
Hi folks,
Just wondering, is it possible to support HDR10plus content or its the same situation as with Dolby Vision on a LAV/MADVR based HTPC? I mean passing through the dynamic HDR metadata to HDMI and display.
Thanks
mclingo
7th September 2018, 10:20
Not sure it makes sense to put any work into this right now, HDR is still in flux, probably better to wait a couple of years to see which versions win out before spending time coding for this.
Megalith
10th September 2018, 22:28
Is there any real point to hardware acceleration if you already have a powerful CPU and GPU?
I've been dealing with an issue in which my CPU/motherboard will make "chirping" noises during playback of 4K video. Turning off video acceleration and stressing the CPU seems to make it go away.
LigH
10th September 2018, 22:38
Hardware accelerated decoding (which mainly means, letting the GPU help at least partially in the decoding) is less important if your CPU alone is powerful enough for software-only decoding, but it can make a difference if your CPU alone is a bit late in cases of complex and high-resolution video. If your GPU supports (at least partial) decoding of this specific video format.
Chirping noise is already a known issue. You could search for it.
nevcairiel
12th September 2018, 15:18
LAV Filters 0.72.0-12 and newer have experimental support for AV1 decoding using libaom - software only, of course.
https://files.1f0.de/lavf/nightly/LAVFilters-0.72.0-12.exe
It is planned to replace the libaom decoder with a ffmpeg built-in decoder once that becomes available, hopefully later this year.
clsid
12th September 2018, 16:28
Awesome.
nevcairiel
12th September 2018, 16:30
That build above is fully automated from latest Git, so my "nightly" build managed just fine with the included build scripts. Must be something weird on your end. -lpthread should actually be coming automatically through the aom.pc file anyway.
RealSnoopyDog
13th September 2018, 00:22
This one also sounds interesting:
Add preliminary support for passing Closed Caption data to a renderer
mzso
13th September 2018, 14:27
LAV Filters 0.72.0-12 and newer have experimental support for AV1 decoding using libaom - software only, of course.
https://files.1f0.de/lavf/nightly/LAVFilters-0.72.0-12.exe
It is planned to replace the libaom decoder with a ffmpeg built-in decoder once that becomes available, hopefully later this year.
It get a crash when trying to play mkv's produced by youtube-dl/ffmpeg. Maybe it's not standardized yet, but crashing is a little harsh.
The extension is automatically chosen. Not sure why, maybe ffmpeg can't mux AV1 into webm yet? Which is odd since it can mux it into mkv.
(And it never could mux the opus audio into mp4, so that's bypassed.)
nevcairiel
13th September 2018, 18:41
I just tried that, and no crashes.
youtube-dl -f 399+bestaudio https://www.youtube.com/watch?v=k2qgadSvNyU
Output file works fine for me.
mzso
13th September 2018, 20:03
I just tried that, and no crashes.
youtube-dl -f 399+bestaudio https://www.youtube.com/watch?v=k2qgadSvNyU
Output file works fine for me.
Doesn't seem as straightforward as it first did. It doesn't always crash, bat apparently always if I try to play after a fresh start of the player.
I only get this message:
https://abload.de/img/av1-crash6edkd.png
So I have no clue how to verify if the crash in fact happens within LAV.
clsid
14th September 2018, 13:46
The closed caption change causes MPC-HC to freeze when opening a DVD.
clsid
16th September 2018, 19:19
This FFmpeg commit causes crashes:
http://git.videolan.org/?p=ffmpeg.git;a=commit;h=662558f985f50834eebe82d6b6854c66f33ab320
Sample file can be found here:
https://github.com/clsid2/mpc-hc/issues/21
mkver
16th September 2018, 20:55
There is already a discussion about this on the mailing list (https://ffmpeg.org/pipermail/ffmpeg-devel/2018-September/234187.html).
lvqcl
16th September 2018, 21:05
And even firefox is (was?) affected: https://bugzilla.mozilla.org/show_bug.cgi?id=1486080
nevcairiel
16th September 2018, 22:33
Should be resolved for the next nightly.
Prinz
17th September 2018, 01:07
I have a question about the Advanced Track Selection, i set to:
Audio: eng,ger
Subtitle: eng:eng|f;ger:ger|f;*:off
After using a Header Editor to fix the incorrect und marked audio track to eng and making sure the forced sub track is correctly set, the subtitle was not selected.
After some time i discovered that the file ad Tags in them and this is probably the reason didn't work since the tag says also und as audio language.
<Targets>
<TrackUID>1</TrackUID>
<TargetTypeValue>50</TargetTypeValue>
<TargetType>MOVIE</TargetType>
</Targets>
<Simple>
<Name>CREATION_TIME</Name>
<String>2018-09-05 17:15:26</String>
<TagLanguage>und</TagLanguage>
<DefaultLanguage>1</DefaultLanguage>
</Simple>
<Simple>
<Name>LANGUAGE</Name>
<String>und</String>
<TagLanguage>und</TagLanguage>
<DefaultLanguage>1</DefaultLanguage>
</Simple>
Is this the way it suppose to work? Prioritize the Tags over the set language in the header.
clsid
17th September 2018, 18:49
I think I found a bug in FFmpeg.
In libavformat/mov.c function mov_seek_stream
timestamp -= (sc->min_corrected_pts + sc->dts_shift);Seems wrong to me. Because for index entries min_corrected_pts is already subtracted in function mov_fix_index. dts_shift is also already added to min_corrected_pts.
I have a MP4 where seeking to keyframe was slow because of wrong timestamp value. Removing the above line fixes that.
nevcairiel
17th September 2018, 20:16
mov_fix_index is not used by LAV, and that line isn't new in the latest build. So that doesn't seem right to me. Please provide a file that seeks slower then it used to.
clsid
17th September 2018, 20:37
It isn't a recent bug, but already before 0.72. Will PM a link.
Megalith
21st September 2018, 01:59
Anyone ever run into an issue in which a bitstreamed track turned into a high-frequency, garbled mess of noise? I am getting that in my rip of "Den of Thieves," in exactly the same position, every time. I'm going to assume it's an issue with the DTS-HD MA track, as none of my other movies have the same problem, but it does play back fine if I have LAV decode it to PCM, and no error messages popped up during muxing...
el Filou
22nd September 2018, 11:44
Does that also happen when you play the original M2TS directly ?
If yes then it may be a compatibility issue of your AVR's decoder with that particular track.
vosya
23rd September 2018, 08:14
Should be resolved for the next nightly.
Did I understand correctly that this was related to: "The closed caption change causes MPC-HC to freeze when opening a DVD."? Because LAVFilters-0.72.0-13 the problem of hanging playing dvd did not solve for me.
lvqcl
23rd September 2018, 13:55
No, it was related to "This FFmpeg commit causes crashes" message.
Use MPC-HC 1.8.2 with its internal LAV Filters, it should fix the problem.
vosya
24th September 2018, 10:00
Use MPC-HC 1.8.2 with its internal LAV Filters, it should fix the problem.
I am absolutely satisfied with the PotPlayer, using the external LAVFilters-0.72.0-3.
rack04
25th September 2018, 00:20
MPC-BE freezes when trying to play DVD mounted as ISO using LAVFilters-0.72.0-12 and LAVFilters-0.72.0-13. Works fine with LAVFilters-0.72.0-3. I'm using MPC-BE.1.5.2.3968.x64 and madVR v0.92.16.
rack04
25th September 2018, 04:10
MPC-BE freezes when trying to play DVD mounted as ISO using LAVFilters-0.72.0-12 and LAVFilters-0.72.0-13. Works fine with LAVFilters-0.72.0-3. I'm using MPC-BE.1.5.2.3968.x64 and madVR v0.92.16.
Fixed in LAVFilters-0.72.0-15.
rolandha
26th September 2018, 16:40
I tried to build LAVfilter on Windows with Visual Studio 2015, using the instructions provided. Unfortunately this was not possible as they are incomplete.
In your script you are using Vswhere. Any documentation or reference about that is missing. Vswhere can be downloaded from
https://github.com/Microsoft/vswhere and need to be placed in a specific folder "C:\Program Files (x86)\Microsoft Visual Studio\Installer" as the script uses an absolute path.
nevcairiel
26th September 2018, 17:58
In your script you are using Vswhere. Any documentation or reference about that is missing. Vswhere can be downloaded from
https://github.com/Microsoft/vswhere and need to be placed in a specific folder "C:\Program Files (x86)\Microsoft Visual Studio\Installer" as the script uses an absolute path.
vswhere is part of VS2017, which is really the requirement now.
But using that script is not needed anyway, its just convenience. You can just run the shell scripts and then compile the solution yourself.
mytbyte
2nd October 2018, 13:23
Anyone have trouble with both LAV 0.72 and LAV 0.72-15 Nightly and 4K content? it detects my my GTX 960 in D3D11 drop down menu but CPU does all the decoding (HW decoding for 4K is checked). It goes for both D3D11 and DXVA2 Native, but 1080 content does activate hw decoding. MPC-HC's internal LAV decoder 0.70-2.1-git does hw accelerate 4K.
P.S. the problem seems to be limited to 4K HFR (60 fps) content. I am using MadVR but even EVR doesn't run it at 60 fps and it's choppy
mclingo
2nd October 2018, 13:33
no issues here on AMD RX 580 on either version. Driver 18.9.3.
Do you have it set to NATIVE or have you chosen your card from the drop down with D3D11, it should be set to NATIVE as far as i'm aware.
clsid
2nd October 2018, 14:44
Can you also export the metadata "comment" value from FFmpeg (as description) for embedded cover art? Then I can use that in MPC-HC to choose the best cover.
sneaker_ger
2nd October 2018, 14:52
Anyone have trouble with both LAV 0.72 and LAV 0.72-15 Nightly and 4K content? it detects my my GTX 960 in D3D11 drop down menu but CPU does all the decoding (HW decoding for 4K is checked). It goes for both D3D11 and DXVA2 Native, but 1080 content does activate hw decoding. MPC-HC's internal LAV decoder 0.70-2.1-git does hw accelerate 4K.
P.S. the problem seems to be limited to 4K HFR (60 fps) content. I am using MadVR but even EVR doesn't run it at 60 fps and it's choppy
What does LAV Video state as "Active Decoder" during playback? Is EVR+DXVA2 native fluid? Codec is HEVC 10 bit main10 profile 4:2:0 or something else (copy&paste MediaInfo here)?
mytbyte
2nd October 2018, 15:56
@mclingo:
It's set to Automatic (Native)
@sneaker_ger: it states "avcodec". Codec is as you describe. My other very lowly computer (core2Quad) is very happy to play it smoothly via GT 1030, drivers are the latest Nvidia 411.70, though not sure about the LAV version, can't get to that comp right now)
mclingo
2nd October 2018, 16:01
thats unusual then, unless you've done what i've done once or twice, installed LAV and a player and then not set LAVs as external filters in the player so you are essentially still using the internal player LAV settings.
mytbyte
3rd October 2018, 13:13
Lo and behold, I just reverted LAV filters to 0.71 and now it's as it should be (DXVA2 and DXVA11 accel taking place for all 4K content, the problem was not just HFR as I first thought)...so there is something wrong with 0.72, at least on my system.
nevcairiel
3rd October 2018, 17:37
Nothing in hardware decoding really changed since 0.71. It makes no sense to me how it would work on one system and not another, and on one resolution and not another. Smells like something on your system to me.
mytbyte
3rd October 2018, 18:20
Nothing in hardware decoding really changed since 0.71. It makes no sense to me how it would work on one system and not another, and on one resolution and not another. Smells like something on your system to me.
Could be my system (can't imagine what) but why does it work then with the previous version? I changed nothing else, just removed the 0.72 and installed 0.71.
huhn
4th October 2018, 06:42
can you be a more precise so i can try to reproduce the problem with a sample file or something like that?
mytbyte
4th October 2018, 10:22
can you be a more precise so i can try to reproduce the problem with a sample file or something like that?
I'm using Win 10 updated to 1809, MPC-HC 1.7.13 and latest Nvidia drivers 411.70 (Please note that the same happened before Win update and with older Nvidia drivers 398.xx). There is no hardware decoding in 0.72 with either D3D11 or DXVA2 setting (there is no DXVA2 or D3D11 indication in OSD (Ctrl-J).
However the LAV version that comes internal with MPC-HC does work albeit it doesn't support D3D11 option yet, but with DXVA2 works, as does LAV 0.71.
Sample files can be any 4K content, but specifically B.l.y L.nn which is HFR and is obviously too much for the CPU decoding (AMD FX-8320 slightly o.c. to 3.8 Ghz) even with EVR (50-56 fps wen it needs to be 60).
:thanks:
clsid
4th October 2018, 14:21
Try MPC-HC 1.8.2
clsid
4th October 2018, 14:22
Can you also export the metadata "comment" value from FFmpeg (as description) for embedded cover art? Then I can use that in MPC-HC to choose the best cover.I have made a patch:
https://github.com/clsid2/LAVFilters/commits/master
mytbyte
4th October 2018, 15:10
Try MPC-HC 1.8.2
Thanks, now it works, both internal and external 0.72.x.x...
nevcairiel
5th October 2018, 09:27
I have made a patch:
https://github.com/clsid2/LAVFilters/commits/master
I've picked that patch with some additions for the second attachment case, thanks.
nevcairiel
5th October 2018, 12:43
LAV Filters 0.73
LAV Splitter
- Changed: Export the description of cover art and attachments for use by players
- Fixed: Properly marked the packet allocator as providing read-only packets, to avoid crashes with in-place transform filters
LAV Video
- NEW: Support for AV1 decoding using libaom
- Changed: Enabled VP9 hardware acceleration by default
- Fixed: The aspect ratio of certain WMV/VC-1 files was not being properly respected in the WMV9 MFT decoder
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.73.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.73.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.73-x64.zip)
AV1 Support
This is the first officialy LAV Filters release with AV1 support. LAV Splitter can read compliant files, and LAV Video can decode AV1 using the libaom decoder.
The alternative dav1d decoder is still under active development, and at this time is not quite ready for widespread use yet. It'll be included in the future, once the dust settles.
Otherwise, not much changed. General house keeping and some small corrections. New FFmpeg version of course.
As always, please report issues, specifically regressions, in as much detail as possible with a sample file if applicable.
Have fun!
mclingo
5th October 2018, 12:56
bit a noob question this as its never come up as i've only recently started updating the LAV filters in the KODI DS build, to update the LAV filters you normally just copy the filters from: C:\Program Files (x86)\LAV Filters\x86 to \KODI DS\system\players\dsplayer\LAVFilters - or whereever you have it instsalled.
This time they didnt overwrite as the DLL names have changed, do these always change with major build changes nevcairiel?, I assume I'll just delete the old filters and copy the new ones in there.
If you're not sure i'll ask on the DS forum,
Cheers for the new version ! :)
NikosD
5th October 2018, 12:57
AV1 Support
This is the first officialy LAV Filters release with AV1 support. LAV Splitter can read compliant files, and LAV Video can decode AV1 using the libaom decoder.
The alternative dav1d decoder is still under active development, and at this time is not quite ready for widespread use yet. It'll be included in the future, once the dust settles.I think that libaom is in active development too.
Are you going to follow their new releases too ?
They are probably doing great steps regarding SMT, ASM and SIMD optimizations not in every new release of course, but certainly they haven't stopped development.
Also we must have a way to benchmark those two different decoders for AV1.
It would be extremely useful to add both decoders in LAV in order to test which is faster as they release new versions.
nevcairiel
5th October 2018, 13:07
LAV has no real possibility to choose between two decoders based on FFmpeg. If you want to benchmark them, I suggest you use FFmpeg itself - although the dav1d decoder module for FFmpeg has not landed yet, partially because dav1d keeps changing (its just not ready yet).
I'll include whichever ends up better, but just from history I have far more trust in the people working on dav1d to provide the fastest AV1 software decoder. The FFmpeg vp9 decoder, from the same developer, runs leaps around libvpx.
nevcairiel
5th October 2018, 13:14
This time they didnt overwrite as the DLL names have changed, do these always change with major build changes nevcairiel?, I assume I'll just delete the old filters and copy the new ones in there.
The name change was already in February, so 0.72 already had them.
The names change when FFmpeg updates to a newer major version. The old ones should just be deleted.
mclingo
5th October 2018, 13:16
I probably had some really old ones in there then I hadnt removed, thanks for the info, I just tested KODI DS and it works fine.
Thanks again for your excellent work.
:)
clsid
5th October 2018, 13:26
Thanks for the release!
If you get bored, could you take a look at this bug report (https://github.com/clsid2/mpc-hc/issues/26).
NikosD
5th October 2018, 16:43
@nevcairiel
Yes, ffvp9 is a lot faster than libvpx and when SIMD arrives in dav1d it will be a lot faster than libaom.
But right now I would like to test them both.
Thanks.
James Freeman
6th October 2018, 11:17
Video playback in MPC-HC freezes when AAC 5.1 audio stream is selected with newest 0.73 build.
Once a different audio stream is selected, the video continues to play.
This problem did no occur in 0.72.
sneaker_ger
6th October 2018, 11:23
I cannot confirm this. Sample?
James Freeman
6th October 2018, 11:42
I cannot edit a video to cut a sample, I don't know how.
I can post a picture of what audio stream freezes the playback, and the LAV Audio Pin Info of that stream.
Meanwhile I'll try to change output formats and see if it helps.
Filter : LAV Audio Decoder - CLSID : {E8E73B6B-4CB3-44A4-BE99-4F7BCB96E491}
- Connected to:
CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Filter: LAV Splitter Source
Pin: Audio
- Connection media type:
Audio: AAC 48000Hz 6ch
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Audio {73647561-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {53544441-0000-0010-8000-00AA00389B71}
formattype: FORMAT_WaveFormatEx {05589F81-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 256000
cbFormat: 25
WAVEFORMATEX:
wFormatTag: 0x4441
nChannels: 6
nSamplesPerSec: 48000
nAvgBytesPerSec: 0
nBlockAlign: 1
wBitsPerSample: 0
cbSize: 7 (extra bytes)
pbFormat:
0000: 41 44 06 00 80 bb 00 00 00 00 00 00 01 00 00 00 AD..€»..........
0010: 07 00|13 30 56 e5 9d 48 00 ...0VåH.
EDIT:
Something in 0.72.0.12 created this bug for me, 0.72.0.3 works fine, as far as the nightly builds I can test.
EDIT2:
I found the problem, it is LAV Splitter.
0.73 Audio and Video work fine with the older 72.03 Splitter.
-
LigH
6th October 2018, 15:02
Attachments in this forum take a while to get approved. Please use a public image hoster instead (frupic, imgur, tinypic, etc.).
clsid
6th October 2018, 15:21
Here is a little tool to cut a sample from front of file:
http://rationalqm.us/dgsplit/dgsplit12.zip
nevcairiel
6th October 2018, 21:25
Without a sample file its unfortunately impossible to help with such problems. Do use the tool clsid linked, it can easily make a small sample from the beginning of the file. Please confirm after cutting that it does infact reproduce the problem still! :)
James Freeman
7th October 2018, 05:35
https://www114.zippyshare.com/v/CmyHXgS7/file.html
This is 5MB from start of the video.
The video doesn't freeze with this segment unlike the complete file (300MB), but there is no audio when selecting the 5.1 track.
I have tested with 0.73 and 0.72.3 LAV Splitter and kept 0.73 audio+video, still the same results, only 0.72.03 Splitter produces audio with the 5.1 track.
LigH
7th October 2018, 06:57
The complete file is only 300 MB small? MediaFire can hold that. Maybe in an encrypted 7-zip archive (doesn't need the strongest compression, media content is hardly compressible).
nevcairiel
7th October 2018, 08:46
The small sample is fine, thanks.
mytbyte
7th October 2018, 09:38
https://www114.zippyshare.com/v/CmyHXgS7/file.html
This is 5MB from start of the video.
The video doesn't freeze with this segment unlike the complete file (300MB), but there is no audio when selecting the 5.1 track.
I have tested with 0.73 and 0.72.3 LAV Splitter and kept 0.73 audio+video, still the same results, only 0.72.03 Splitter produces audio with the 5.1 track.
Can't be bothered to revert to LAV older than 0.73 but your 5.1 track indeed doesn't work with me either. However, my other files with 5.1 AAC audio do work, the difference being that yours, that don't work, is he-aac, mine are aac le. But, the he-aac from here: https://www2.iis.fraunhofer.de/AAC/multichannel.html does produce sound, the difference being 44100 vs 48000 kHz.
manolito
7th October 2018, 19:06
This uploaded sample is indeed interesting...
First of all DGSplit did not bother to correct the duration, loading it into mkvmerge and remuxing it fixes it. No big deal...
I can also reproduce that LAVSplitter 0.73 cannot handle the first audio track. Going back to LAVSplitter 0.72.03 does fix it like James Freeman reported.
But there is another thing about this first audio track which is problematic. Both MediaInfo and FFProbe report that the track has 2 audio channels. But importing it into AviSynth with DirectShowSource using LAV Audio results in a 6-ch audio track. When using ffms2 instead the track appears as 2-ch in AviSynth.
Who is right here? Since MediaInfo and FFProbe and ffms2 all agree that the number of channels is 2 could it be that LAV Audio has a problem recognizing this track correctly?
Cheers
manolito
sneaker_ger
7th October 2018, 19:11
First of all DGSplit did not bother to correct the duration
Naturally. DGSplit simply cuts X bytes on the binary level.
But there is another thing about this first audio track which is problematic. Both MediaInfo and FFProbe report that the track has 2 audio channels. But importing it into AviSynth with DirectShowSource using LAV Audio results in a 6-ch audio track. When using ffms2 instead the track appears as 2-ch in AviSynth.
Who is right here? Since MediaInfo and FFProbe and ffms2 all agree that the number of channels is 2 could it be that LAV Audio has a problem recognizing this track correctly?
Do you have LAV Audio set to mix to 5.1?
nevcairiel
7th October 2018, 19:33
The first track is stereo, and LAV also shows it like that for me. The second track is 5.1 and the one this issue is about - which is already fixed for the next nightly.
manolito
7th October 2018, 23:29
Do you have LAV Audio set to mix to 5.1?
No, the LAV Audio mixer is disabled.
And of course nevcairiel is correct, I stumbled over an audio track peculiarity when using AviSynth with DirectShowSource for audio.
When using audio via DirectShowSource there is no way to specify a track number. Up to now I thought that the first audio track will always get used in such cases.
For this uploaded sample it works differently (tested with AVS 2.61 and also the current version of AVS+). The problematic 5.1 audio track is the second audio track here. But AviSynth will always open this 5.1 track and not the first track which is stereo. In the LAV Splitter configuration the option "Prefer Audio Stream with the Highest Quality" is unchecked.
AVS script:
a = DirectShowSource("f:\download\098 - A Final Attack_0.mkv", video = false)
v = DSS2("f:\download\098 - A Final Attack_0.mkv")
AudioDub(v, a)
AVSMeter report:
AVSMeter 2.6.5 (x86) - Copyright (c) 2012-2017, Groucho2004
AviSynth 2.61, build:May 17 2016 [15:57:42] VC6 (2.6.1.0)
Number of frames: 479
Length (hh:mm:ss.ms): 00:00:19.978
Frame width: 640
Frame height: 480
Framerate: 23.976 (10000000/417083)
Colorspace: YV12
Audio channels: 6
Audio bits/sample: 32 (Float)
Audio sample rate: 48000
Audio samples: 960946
I did not find any information about this behavior in the AviSynth docs. Is this a bug or a feature? :confused:
Whatever, I learned something new again... :devil:
Cheers
manolito
sneaker_ger
7th October 2018, 23:51
Second track is marked as [default], right? Not because of AviSynth.
manolito
8th October 2018, 00:03
Second track is marked as [default], right? Not because of AviSynth.
Ouch, you got me... :o
Now I need to make a bg report for AVStoDVD about the handling of more than 1 audio tracks...
Cheers
manolito
James Freeman
8th October 2018, 16:06
My problem is fixed in 0.73.01, thanks Nev!
manolito
8th October 2018, 19:26
Confirmed...
nevcairiel
11th October 2018, 09:44
LAV Filters 0.73.1
LAV Video
- Fixed: Container-provided color information will only overwrite video bitstream color information if its set and valid
LAV Audio
- Fixed: Certain multi-channel AAC streams did not decode in 0.73
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.73.1.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.73.1.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.73.1-x64.zip)
Just a quick bugfix release for two issues I fixed since 0.73, one of which was a regression.
If you haven't seen the 0.73 release, check its release notes here (https://forum.doom9.org/showthread.php?p=1853965#post1853965)
As always, please report issues, specifically regressions, in as much detail as possible with a sample file if applicable.
Have fun!
mclingo
11th October 2018, 10:19
LAV Filters 0.73.1
[CODE]
....
Have fun!
awesome thanks :):):):):):):)
max79
18th October 2018, 21:54
Problem with "LAV Splitter Source", on these [HLS]-LIVEstreams it didn't output the highest possible quality for video stream:
http://85.238.112.40:8810/hls_sec/online/list-renome.m3u8
http://85.238.112.40:8810/hls_sec/online/list-ont.m3u8
https://strm.yandex.ru/kal/zvezda_supres/zvezda_supres0.m3u8
https://strm.yandex.ru/kal/fresh/fresh0.m3u8
and on these [HLS]-LIVEstreams it can't even connected:
https://strm.yandex.ru/kal/zvezda/zvezda0.m3u8
https://strm.yandex.ru/kal/euronews/euronews0.m3u8
Any feedback would be appreciated.
max79
18th October 2018, 21:56
Problem with "LAV Splitter Source", on these [HLS]-VoDstreams it can't even connected:
https://media.culture.ru/video/204/204.,144p,240p,360p,576p,.mp4.urlset/master.m3u8
https://media.culture.ru/video/204/204.576p.mp4/index-v1-a1.m3u8
Any feedback would be appreciated.
LigH
19th October 2018, 07:18
Any feedback would be appreciated.
To be taken serious, always avoid "Comic Sans MS", everywhere... :sly:
max79
19th October 2018, 17:08
To be taken serious, always avoid "Comic Sans MS", everywhere... :sly:
forgive me magnanimously, if it's inappropriate, I won't do it again. I only tried to thoroughly describe a problem that really annoys me, so in desperation I stopped watching the HLS-LIVEstreams at all.
nevcairiel
19th October 2018, 17:15
You should probably use software thats actually designed for playing live streams, if you want an actual decent experience. LAV Splitter is designed for file playback first and foremost, and thats always going to be the main focus of its development and my time.
max79
19th October 2018, 18:02
You should probably use software thats actually designed for playing live streams...
roger that. And I'm express my gratitude to you for the excellent work to eliminate the issue from my "SUPPORT REQUEST - #1". Thank you it's really needed for me!
cyberscott
20th October 2018, 04:20
@nevcairiel. I think I found a bug. HDR no longer works properly in 0.73.1. I get distorted video when displaying any HDR file. Problem goes away if I roll back to 0.73.
I first noticed it when launching HDR videos in MPC-HC v1.8.3 which has LAV Filters 0.73 built in.
MPC-HC would work fine but MPC-BE, which was configured to use LAV 0.73.1 would fail. Took one more step and over-write MPC-HC with 0.73.1 and it starting failing running HDR videos as well.
I'm Running latest madvr, Windows 10 64 Pro ver. 1803 and latest nvidia drivers. (2080 Ti)
nevcairiel
20th October 2018, 08:11
There is literally only two changes in 0.73.1 over 0.73, and if the one affecting video breaks HDR for you, then your HDR file has broken metadata.
A sample file would be needed. Alas HDR still works for many other people.
Manni
20th October 2018, 08:53
@nevcairiel. I think I found a bug. HDR no longer works properly in 0.73.1. I get distorted video when displaying any HDR file. Problem goes away if I roll back to 0.73.
I first noticed it when launching HDR videos in MPC-HC v1.8.3 which has LAV Filters 0.73 built in.
MPC-HC would work fine but MPC-BE, which was configured to use LAV 0.73.1 would fail. Took one more step and over-write MPC-HC with 0.73.1 and it starting failing running HDR videos as well.
I'm Running latest madvr, Windows 10 64 Pro ver. 1803 and latest nvidia drivers. (2080 Ti)
There is literally only two changes in 0.73.1 over 0.73, and if the one affecting video breaks HDR for you, then your HDR file has broken metadata.
A sample file would be needed. Alas HDR still works for many other people.
I confirm that 0.73.1 works fine here with HDR using MPC-BE.
cyberscott
20th October 2018, 15:49
There is literally only two changes in 0.73.1 over 0.73, and if the one affecting video breaks HDR for you, then your HDR file has broken metadata.
A sample file would be needed. Alas HDR still works for many other people.
Thank your for the response!
Weird thing with software... I repeated my tests using known, good HDR video files, same results.. working with 0.73 and not with 0.73.1.
However... decided to take the "nuclear" option, completely removed LAV, both MPC-HC and BE, madvr. Used DDU to remove Nvidia drivers (which is something I always do when installing new Nvidia drivers). Proceeded to re-install everything, rebuild profiles, etc.
Now HDR is working for me with Lav 073.1 on all HDR files I have.
It is just weird how consistent the failure was prior to re-installing the drivers and programs. Go figure! :p
NikosD
22nd October 2018, 15:57
Using a new PC with Win x64 October 2018 and a Skylake i5 6500 (HD 530) I couldn't make it work with LAV filters for hybrid VP9 acceleration (DXVA2 native VP9)
It falls back to SW.
Latest versions and updates for everything.
Does it work ?
ryrynz
24th October 2018, 03:36
I've ticked wmapro in the LAV Audio formats page but I still get MPC-BE choosing the WMAudio Decoder DMO for pro V9 files, should this happen?
Having this decode causes stuttering on seek so I have to set MPC-BE's internal decoder for this format.
nevcairiel
24th October 2018, 07:29
It depends how you've setup LAV in MPC-BE. If you've set them to be the preferred filters, it should work. If not, then the MS decoders may have a higher merrit. You could also block the MS decoder on MPC-BE and it should then use LAV.
Personally I just use LAV as the preferred decoders in MPC-HC/BE. Some people don't recommend doing that, but if I want external LAV for everything, I don't see why I shouldnt. :)
VictorLS
24th October 2018, 13:56
Personally I just use LAV as the preferred decoders in MPC-HC/BE.
I'm usually (why not always read lower in this post) too. Because only last version of MPC-BE begins showing video with half-height H265 files but quality without script is worse (with script equal) then with external LAV Video Decoder.
My script https://forum.doom9.org/showthread.php?p=1850467#post1850467 for ffdshow raw works well enough in SmartDVB already (due to implementing LAV Splitter in it) too so I can watch such SAT channels directly from SAT in almost maximum (I'd prefer hardware deinterlacing over yadif x2 in script but don't know how reach it) quality.
MainConcept is working on half-height files supporting but ffmpeg seems not. This is answer on my yesterday's request - I'm sure it's not a secret:
The file you sent us 20180923-225044_CT 24.ts (17MB) https://yadi.sk/d/BfOGlnU7Ftir0g is interlaced. - I know that ;)
We support this in new version of HEVC Video Decoder (v.10.0).
This new SDK version is under final testing now and it'll be available soon...
Btw only MainConcept HEVC Video Decoder due to decoding only key-frames shows first 8K test from Turkish SAT - half-minute record 20181024-132601_TURKSAT_8K_TEST.ts (307MB) https://yadi.sk/d/70tUNE7oK21xfA and longer than minute 20181024-222320_TURKSAT_8K_TEST.ts (761MB) https://yadi.sk/d/7ALFkaKuIMUfRA
I'm not only one who want this feature http://smartdvb.net/bb/viewtopic.php?f=13&t=1699
PS. Elecard with Skip Non-key setting:
REGEDIT4
[HKEY_CURRENT_USER\Software\Elecard\Elecard HEVC Video Decoder\SmartDVB.exe]
"Quality"=dword:00000001
shows that 8K well too.
NikosD
25th October 2018, 08:42
@nevcairiel
Any news regarding VP9 hybrid support of Skylake ?
Do you have one to test it ?
nevcairiel
25th October 2018, 08:45
No, I don't have a Skylake CPU. And as a general answer, LAV has no conditions to check for hardware compatibility (at least not for VP9), it'll just try to open the device in the videos resolution, and if it succeeds, then it'll use it.
Hence if its not being used, then opening the device did not succeed.
The closest I have is a Apollo Lake NUC with a 9th Gen HD500 GPU, but I don't know if there are any media differences between that and Skylake (even though they were released very close to each other and are both 9th Gen).
NikosD
25th October 2018, 09:20
Apollo Lake NUC has full hardware decoding support for HEVC and VP9 for both 8bit/10bit, so it's a lot different and closer to Kabylake's GPU.
It should work for that GPU.
I'll try different drivers, probably.
Thanks.
wanezhiling
25th October 2018, 09:37
Apollo Lake has no 10-bit VP9 ability, Gemini Lake does.
NikosD
25th October 2018, 17:03
No, I don't have a Skylake CPU
Just found out an ancient post of you (late 2015) at benchmark thread.
You owned that time a Skylake NUC and ran a VP9 DXVA2 benchmark too :)
On my NUC5PPYH (ie. Pentium N3700)
Decode Benchmark: 25/31/50, at 40% CPU usage
The clip would maybe just barely run, but probably not quite fluid.
nevcairiel
25th October 2018, 17:16
Pentium N3700 is not Skylake, thats Braswell, ie. an Atom core.
But I probably still have that one somewhere.
VictorLS
25th October 2018, 21:26
Pentium N3700 is not Skylake, thats Braswell
You're quiet right - it is in notebooks and its graphic core accelerates movies h265 4:2:0 3840x2160 24Hz (and may be 30Hz) well. But 50Hz and of course 60Hz (i.e. from SATs) bad.
ryrynz
26th October 2018, 08:19
How did NikosD mess that one up? :P WB wanezhiling.
NikosD
26th October 2018, 17:00
I can explain my mistakes and never repeat them again.
I saw two VP9 device decoders in an old DXVA Checker screenshot for Apollo and I thought that one of them was 10bit, but no - it was just VP9 from Intel.
And I saw the benchmarks regarding hybrid VP9 so I thought we were talking about Skylake, but no - it was Braswell.
Both my mistakes were minor and don't alter the main meaning of the content that they were referring to, so I can live with that [emoji14]
And both Wanez and Nevcairiel are excellent debuggers (along with huhn) so the rest of the people can be sure that everything is properly corrected :)
FreeFall
27th October 2018, 07:41
nevcairiel,
I've ran into a couple of DVD problems using Lav Filters 0.73.1
DVD Audio Sample (at the menu play all)
https://www.dropbox.com/s/u2eiarh9an8rfrc/DVD%20Sample%20Audio.zip?dl=0
There is an audio glitch (audio is delayed / distorted) during the start of playback when the ending credits play after the episode preview, going back to 0.71.0 fixes the problem.
DVD Subs Sample (at the menu play all)
https://www.dropbox.com/s/5qpf6qbntizsbfu/DVD%20Sample%20Subs.zip?dl=0
The last subtitle lines displayed are stuck on screen during playback, The Microsoft and PowerDVD decoders work without problems. I've included the subtitle files with the sample in case that helps track down the problem.
Winows 7 64bit Pro.
MPC-HC 1.8.3 64bit EVR Custom Presenter S/PDIF Output.
Thanks.
NikosD
29th October 2018, 12:26
VP9 hybrid works fine for Skylake and LAV Filters with the help of DXVA Checker tool.
You have to go to the GPU menu below left of the first screen and then to "Driver settings" and enable VP9 acceleration by setting ON instead of AUTO the VP9 Decode setting.
It seems that Intel disables VP9 hybrid acceleration by default in their drivers.
After the new setting, VP9 hybrid acceleration works for any app (DXVA Checker, MPC-HC etc)
VictorLS
9th November 2018, 09:23
Can anybody test 50fps 4:2:2 H265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563MB) https://yadi.sk/d/m0s5ztpj3XnUyw on RTX2080 with NVIDIA CUVID hardware acceleration (according to https://developer.nvidia.com/nvidia-video-codec-sdk#NVDECFeatures - I hope ** 4:2:2 is not natively supported on HW just forget to remove from NVDEC section after Turing out - it may be accelerated successfully)? Btw theoretically must LAV Video Decoder be changed to support hardware acceleration not only 4:2:0 according to * The Video Codec SDK, which exposes new decoder improvements and features of Turing will be released soon... before or after that release (in new driver?)?
nevcairiel
9th November 2018, 12:07
4:2:2 decoding is not supported in hardware.
el Filou
9th November 2018, 20:16
I hope ** 4:2:2 is not natively supported on HW just forget to remove from NVDEC section after Turing out - it may be accelerated successfully)?How I understand this is Turing supports 4:2:0 and 4:4:4, but not 4:2:2 (or else it would in the table along with 4:4:4, which is only available on Turing).
VictorLS
10th November 2018, 10:29
How I understand this is Turing supports 4:2:0 and 4:4:4, but not 4:2:2
I understand the same but it seemed very strange. And I hope this is just mistake jn that page - I need 4:2:2 hardware acceleration for SAT feeds - record of one of them I've mentioned above. CPUs that can fluently play that (like i7 or top Ryzen) are very expansive but i.e. RT(X)2030 must be cheap enough...
ryrynz
10th November 2018, 11:46
nevcairiel said there isn't hardware acceleration for it and that's it. There's no mistake, he would know.
VictorLS
10th November 2018, 12:07
nevcairiel said there is hardware acceleration for it
There is or there isn't? ;)
I agree with one thing - before Turing there wasn't any hardware acceleration for non-4:2:0 by any desktop videocard for home use (may be special videocards was able decode 4:2:2 because some very expansive SAT set-top-boxes support 4:2:2 decoding in their hardware).
ryrynz
10th November 2018, 12:12
Obvious typo :P
milousebw
10th November 2018, 15:21
Hello,
I have a problem with my Ryzen 2400G and D3D11 mode. In DXVA2 mode, no problem, the video is perfectly fluid. But in D3D11, the image seems to be raffrachied only once a second instead of the usual 24.
Anybody have this bug too ?
Thanks for your help.
el Filou
10th November 2018, 18:15
Even with "Automatic (Native)" ?
Manni
10th November 2018, 19:41
@Nevcairiel
Two quick questions:
1) when a HDR metadata file has 0 for MaxMDL, do you replace it with a default value, and is that default value 1100nits? I'm asking because I get this value reported by MadVR on the OSD when the metatada reported on the disc is 0, fo example with Life of Pi US. Not a big deal but it would be nice to know for sure where it comes from.
2) For some titles, the metadata reported by LAV is changed to completely different values compared to what's on the disc. For example, with Goodfellas UK, the values on the disk are 247/60 for MaxCLL/MaxFALL, they become 500/200 when reported by LAV. I don't think this is a LAV issue because Mediainfo reports the same altered values when reading the mkv file, so it most probably happens during decryption, but I'm wondering if it could be related to some studios hiding a watermark during the rip of the disc in the metadata, as reported here: https://www.makemkv.com/forum/viewtopic.php?t=17008. Do you have an opinion on this, or have you come across it and do you have an explanation?
Thanks!
milousebw
10th November 2018, 20:23
Even with "Automatic (Native)" ?
I just tried the opposite setting (by choosing the graphics card) and it works! Thank you for the advice but what is the difference between these two modes (Automatic (Native) and the other?)
SamuriHL
10th November 2018, 21:17
Hey, Nev, are you aware of any more issues with ATMOS audio tracks? This is a Disney seamless branching UHD (Incredibles 2) that I'm dealing with. I've tried ripping it with two different pieces of software but the audio track is giving me all kinds of issues. It's far worse if I try to bitstream (audio cuts out completely at one point, restart the movie and have sync issues, pops where the audio drops and comes back, etc) than if I decode to PCM. But even PCM the audio has artifacts (pops due to audio drops, sync issues). I've tried with both MC and MPC-HC and I have pretty consistent results. Not sure if this is a problem with ripping the title but I've tried MakeMKV 1.14.1 and CloneBD and end up with issues with both. Thanks!
el Filou
10th November 2018, 23:17
@milousebw: if you select a specific GPU then you put D3D11 in copyback mode so it works with any renderer but the decoded frames need to be transfered back to main memory which is often more demanding of system resources and so is not recommended for iGPUs.
If you leave it on Automatic you get native mode which needs to connect directly with the renderer and currently only works with madVR, but is supposed to be lighter on the system (the renderer is working directly with the decoded frames already in video memory).
Automatic (Native) is supposed to have better performance, but maybe there are bugs with this particular mode with AMD's driver.
Were you using madVR when you tried it?
milousebw
11th November 2018, 00:22
Yes I use MadVR, and I update my drivers many times since my first installation, but with no effect.
Grimsdyke
12th November 2018, 13:14
Hi Nev, I was wondering if it would help 'weaker' hardware to add to 'queue settings' maybe also 'minimum values' ?? Kind of a first buffer before the renderer kicks in ??
huhn
12th November 2018, 18:49
buffers like this can be shared between decoder and the renderer and a high buffer may even break decoding (nev already limited buffer sizes for known cases like this.).
if you want a bigger buffer for weak hardware both EVR CP and madVR support custom buffer sizes.
tasosss
12th November 2018, 20:55
Hello.
I'm facing the following problem.
I'm using umedia server and its player (http://www.umediaserver.net/umediaserver/download.html)
When i use lav filters with no hard acceleration (just avcodec) and i move the player's window from one monitor to another
the image becomes black.
Moreover after watching for a few minutes(without moving between monitors) then suddenly it also freezes.
The former doesn't always happen.It may happen after 2-3 minutes or 10-20 or never.
When using hardware acceleration(cuvid) then the image is working fine(i can move the window between monitors) but audio is lost...
Using ffdshow or even using the windows' implementation(no external filters) i have no problems.
I was looking to find a solution for a few months now and i couln't believe that it was due to this.
Any ideas please?
BTW thanks for your work nevcairiel.
Thanks!
VictorLS
18th November 2018, 04:35
Btw Aleksoid1978 (big THANKS) did special version of MPC Video Decoder with skip non Intra (and standard standalone version with skip B-) frames option is in ffmpeg so SAT-amateurs don't need to use MainConcept HEVC Video Decoder for non-accelerated h265 4K and 8K streams to watch slideshow http://smartdvb.net/bb/posting.php?mode=edit&f=13&p=6596
Grimsdyke
18th November 2018, 18:27
@Nev. I have the following problem.
MPC-BE (4176) + LAV (73.1) with Splitter and Splitter Source prefered trying to play AVI => BE hangs !
- Set 'Splitter source' to blocked => AVI plays but no sound !!
- BE all internal plays the files just fine.
And do I really have to install both Splitter and 'Splitter Source" ? What's the difference between these two ?
mogli
19th November 2018, 09:11
LAV Splitter vs LAV Splitter Source (https://forum.doom9.org/showpost.php?p=1491938&postcount=1583)
Hm, do we need to add File Source (Async) for MPC-BE, too?
justnobody
21st November 2018, 20:05
I have to report a bug in LAV Video
if we enable avs script in video player, like Potplayer, with LAV Video, avs script won't work, player saying you are using DXVA, how could that possible, I've always set DXVA to none in LAV Video
I've tested the filters one by one, found out that the problem is LAV Video, switch to other video decoders it works again
please fix, thanks
@nevcairiel
Antonio
28th November 2018, 00:14
Hi, and firstly, thank you very much for the job done with Lav Filters, that I appreciate using with mpc-hc.
I just tried the new dav1d decoder with latest SIMD optimisations included, through a recent mpv build, and the performance is astonishing. 4K samples that could not be played in a good way even with an hexacore are now handled very smoothly with little CPU occupation. I wonder if it would be possible to integrate this code in a future version of lav filters (as ffmpeg does) in order to benefit from this work. It seems to be in a compatible open source license, so I suppose that it would be allowed, but I guess it would need some work, so maybe if you happen to get some spare time some day...
max79
28th November 2018, 21:09
Is it possible to somehow supply the user agent in LAV Splitter Source ? I'm noticed that i can connect to this radio stream only if run it like this:
ffmpeg -user_agent Mozilla -i http://95.188.107.89:8008/LR_Russian.mp3
Any feedback would be appreciated.
sneaker_ger
28th November 2018, 22:23
Hi, and firstly, thank you very much for the job done with Lav Filters, that I appreciate using with mpc-hc.
I just tried the new dav1d decoder with latest SIMD optimisations included, through a recent mpv build, and the performance is astonishing. 4K samples that could not be played in a good way even with an hexacore are now handled very smoothly with little CPU occupation. I wonder if it would be possible to integrate this code in a future version of lav filters (as ffmpeg does) in order to benefit from this work. It seems to be in a compatible open source license, so I suppose that it would be allowed, but I guess it would need some work, so maybe if you happen to get some spare time some day...
LAV author has already said he will likely include dav1d in the future (unless some other free decoder ends up being faster which is unlikely). I bet dav1d will be in LAV filters long before you (or me) use AV1 for anything other than samples. :p There is no need to rush.
Sunspark
6th December 2018, 05:18
I'm noticing something strange, if I connect my Android tablet to the PC using MTP and view the directory of files, LAV will place multiple copies of its icon in the systray.
I am not opening or playing files, yet something is being triggered.
When I hover the mouse over the LAV icons, they will all disappear one by one.
Image of systray (https://www.dropbox.com/s/hml3y0c31ilpqox/lav.png?raw=1)
nevcairiel
6th December 2018, 09:11
Something in the background is using LAV to look at the media files apparently. And its not closing down the filter graph properly so that LAV doesn't get a chance to fully remove its systray icon again.
clsid
6th December 2018, 17:49
Use for example ProcessExplorer to see which process (.exe) is loading LAV. Then it could be added to the trayicon blacklist.
MTP is really annoying. It checks if the files are compatible with formats supported by your device.
Grimsdyke
7th December 2018, 15:34
@ nev. Would it maybe an idea to add (basic) profile ability ??
I am asking because on my system I can use DXVA2-copyback on everything up to 1080p but unfortunately I do need D3D11-native for UHD !!
nevcairiel
7th December 2018, 16:09
There are no plans for profiles.
ryrynz
8th December 2018, 06:45
Perhaps the ability to specify a hardware decoder for each of the three resolution types SD, HD, 4K?
Some might even find it useful to select a different hardware device for each resolution type also.
A lot less involved than profiles.
dbezerra
12th December 2018, 01:41
Nev, I have noticed issues with Atmos drop outs on the Incredibles 2 disk and others are reporting the same on different threads such as
https://club.myce.com/t/atmos-audio-drop-outs-details-thread/399840/106?u=careca
https://yabb.jriver.com/interact/index.php/topic,114628.msg818879.html#msg818879
One of the users posted a log file in the JRiver thread. Is this something you are aware of? Do you need a sample MKV?
Thanks
SamuriHL
12th December 2018, 01:52
I posted about the same thing but did not get a response.
https://forum.doom9.org/showthread.php?p=1857328#post1857328
Aleksoid1978
12th December 2018, 02:00
Nev, I have noticed issues with Atmos drop outs on the Incredibles 2 disk and others are reporting the same on different threads such as
https://club.myce.com/t/atmos-audio-drop-outs-details-thread/399840/106?u=careca
https://yabb.jriver.com/interact/index.php/topic,114628.msg818879.html#msg818879
One of the users posted a log file in the JRiver thread. Is this something you are aware of? Do you need a sample MKV?
Thanks
Can you split problem's .m2ts file and upload short(100-500mb) sample ??
nevcairiel
12th December 2018, 11:22
I can probably look at that soon, but if its even happening in decoding, its likely the disc is fubared.
dbezerra
12th December 2018, 17:34
I can probably look at that soon, but if its even happening in decoding, its likely the disc is fubared.
I will update a sample tonight. But Nev - when I play the disk directly everything is fine. It's only when I use my PC with the 1:1 MKV Rip that the problem shows up.
SamuriHL
12th December 2018, 18:33
Which is why I have an issue open with CloneBD to look at because I TRULY believe it's a problem with shoving the seamless branching streams into an MKV container. All the ripping tools show the same issue when putting it in an MKV.
hubblec4
12th December 2018, 22:14
Which is why I have an issue open with CloneBD to look at because I TRULY believe it's a problem with shoving the seamless branching streams into an MKV container. All the ripping tools show the same issue when putting it in an MKV.
chapterEditor can mux seamless branching Blu-rays to mkv, with the help of eac3to.
strumf666
12th December 2018, 22:48
Is there anything wrong with this two clips? Because with LAV filters I get only green screen during playback; with Potplayers in-built decoder&splitter works correctly. Tested with MadVR and EVR-CP as renderer.
https://wetransfer.com/downloads/9e9b7664c3bc72f4a190e9c2f696abcb20181212214205/4e3b94a2c9a4152d7ee238e9f8b6f9e820181212214205/571970
sneaker_ger
12th December 2018, 22:58
Seems to work fine here. What version of LAV are you using? Are you using both LAV Splitter and LAV Video? Are you using software or hardware decoding? If hardware: what GPU/OS, what kind of hardware decoding?
strumf666
12th December 2018, 23:40
LAV 0.73.1 (splitter, video and audio), windows 10 1809 vega64 18.12.1
D3D11 native, all HW decoders ticked.
edit: works in software mode (also correctly fall-backs if I just untick HEVC in hw decoders). Should/can this be fixed in LAV filters or is it and amd bug, which amd should fix?
dbezerra
13th December 2018, 04:04
I will update a sample tonight. But Nev - when I play the disk directly everything is fine. It's only when I use my PC with the 1:1 MKV Rip that the problem shows up.
Here is a link to the first 5min of Incredibles 2 UHD with Atmos.
https://ufile.io/1vw1x
Make sure you watch from the beginning. Most of us see an audio drop around the 3:17 mark, but not if you just skip to somewhere close to it (which could give a clue to what is causing it - a buffer issue?)
SamuriHL
13th December 2018, 18:12
chapterEditor can mux seamless branching Blu-rays to mkv, with the help of eac3to.
Sure, all the tools can handle seamless branching. That isn't what I meant. I'm saying that for the Incredibles 2 UHD, there seems to be an issue with any of the tools muxing that into an MKV container where the ATMOS audio track gets corrupted. It seems like an issue with how the seamless branching is handled with that particular title.
jmone
13th December 2018, 21:55
In my testing of Increadbiles 2 UHD Atmos Drop out issue:
- MC (LAV) with Bitstreaming = drop outs (first is 3:16) (played from folder structure)
- MC (LAV) with Decoding = no drop out at 3:16 (played from folder structure)
- XBOX One S with Bitstreaming = no drop out at 3:16 (original disc)
I rip to Folder structure so it is not a remux issue.
Warner306
13th December 2018, 23:19
Do other any other audio decoders play the track correctly?
SamuriHL
14th December 2018, 01:46
Decoding was certainly better for me, probably because the ATMOS extensions are ignored when decoding, it still wasn't perfect. I had issues with that, as well.
SamuriHL
14th December 2018, 20:23
I want to update here as I've already posted on the JRiver MC forum. The ripping tool I use updated today with a fix for ATMOS sub-types. So I re-ripped Incredibles 2 MKV. LAV is still having audio drops and eventually the audio completely drops out. Playing the same file on my SHIELD shows no audio drops at all. Hopefully Nev can nail this one down and find the issue.
Aleksoid1978
15th December 2018, 07:03
I want to update here as I've already posted on the JRiver MC forum. The ripping tool I use updated today with a fix for ATMOS sub-types. So I re-ripped Incredibles 2 MKV. LAV is still having audio drops and eventually the audio completely drops out. Playing the same file on my SHIELD shows no audio drops at all. Hopefully Nev can nail this one down and find the issue.
Re-upload sample.
SamuriHL
15th December 2018, 16:21
I didn't upload a sample. I won't have time today to make one but should be able to tomorrow.
Sent from my Pixel XL using Tapatalk
nautilus7
18th December 2018, 01:50
Hi, I was given a recording from a satellite channel (https://www.sendspace.com/file/e40odh). The file contains an AC3 audio stream, which is not decoded at all (no sound) with lav filters. Even ffplay can't decode it:
Could not find codec parameters for stream 1 (Audio: ac3 ([129][0][0][0] / 0x0081), 0 channels, fltp): unspecified sample rate
Is there anything that can be done to get sound? The user who sent it to me said his satellite receiver can decode it... :confused:
Thanks!
LigH
18th December 2018, 09:57
Funny sample. DGIndexNV locks up, trying to open it to demux the audio. MKVToolnix-GUI ignores the stream; tsMuxeR GUI as well. PVAStrumento can't demux it.
TSPE 0.301 calls it: AC-3 (ATSC A/53B audio).
DGAVCIndex reports an interesting issue:
---------------------------
Audio Detection Mismatch
---------------------------
The audio type determined from reading the PAT/PMT program information (AC3)
does not match the detected audio (MPA). In many cases, this is caused by emulation
of audio headers (false detection) and the PAT/PMT type is the correct type.
Hit Yes to use the PAT/PMT type. Hit No to use the detected type. Hit Cancel to disable this stream.
---------------------------
Sounds like there is in fact MPEG Audio in a stream multiplexed as if it was AC-3. But neither mode produces a sensible demultiplexed audio stream.
manolito
18th December 2018, 10:38
This would be very weird and uncommon:
I have never heard of any SAT broadcasts transmitting AVC video with MPA (MP2) audio. FOR SD broadcasts it is MPEG2 video with either MPA or AC3 audio, for HD broadcasts it is AVC video with AC3 audio.
LigH
18th December 2018, 10:45
Well, DGAVCIndex may be right that it is not one of the common AC-3 encodings; but it may be wrong that it is MPA instead. The video is AVC.
nautilus7
19th December 2018, 00:22
Hi again... thanks for the information.
What is more interesting about this audio is that whether it plays ok or not depends on the satellite receiver used. The user who is giving me these samples has 2 receivers, one of which is able to decode the audio and the other is not. So, I asked for new samples. Here are 2 recordings (https://www.sendspace.com/file/etlwlz): One is made with the "good" receiver where audio is decoded fine, and the other with the "bad" receiver where audio is not decoded. The audio in this channel is indeed AC3.
ffplay from the "good" recording:
Stream #0:1[0x7e6]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s
ffplay from the "bad" recording:
Stream #0:1[0x7e6](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 0 channels, fltp
The exact same thing happens for him on a different channel as well. So here's another pair of recordings (https://www.sendspace.com/file/h183ko), one with audio ok ("good" receiver), the other with no audio ("bad" receiver). The audio in this channel is MP2.
ffplay from the "good" recording:
Stream #0:1[0x1f5]: Audio: mp2, 48000 Hz, stereo, s16p, 192 kb/s
ffplay from the "bad" recording:
Stream #0:2[0x1f5]: Audio: mp3 ([4][0][0][0] / 0x0004), 0 channels
LigH
19th December 2018, 08:59
Quite certainly LAV Filters is not to be blamed here. It can only detect correctly flagged and stored content. I would suggest to discuss that in a separate thread...
nautilus7
19th December 2018, 11:54
That was my thought after getting the new samples with sound. Perhaps I'll make a new thread in the audio section. Thanks.
dbezerra
20th December 2018, 07:19
Re-upload sample.
There is no need to upload new samples. The original one I shared before works just fine on ShieldTV (bitstreaming Atmos) but hit dropouts when playing on Windows with Lav+MPC-HC or DSPlayer.
SamuriHL
21st December 2018, 03:00
There is no need to upload new samples. The original one I shared before works just fine on ShieldTV (bitstreaming Atmos) but hit dropouts when playing on Windows with Lav+MPC-HC or DSPlayer.
Which is exactly the same behavior I'm seeing even with the new rip I did.
Damien147
21st December 2018, 17:46
Hello!I can finally run high bitrate 2160p(:)) but...
Do I lose picture quality running D3D11(native) instead of D3D11 copy back?Wanted to try copy back but when I set hardware device it returns to automatic.
GPU:RX 470(polaris)
sneaker_ger
21st December 2018, 22:43
No quality loss with D3D11 native.
Damien147
21st December 2018, 23:07
Bye bye software decoding then.Thank you.:)
nautilus7
21st December 2018, 23:16
Dobly truehd tracks with 7.1 channels muxed in mkv are displayed as "7.1".
Dobly e-ac3 tracks with 7.1 channels muxed in mkv are displayed as "8 channels" instead.
See attached picture:
http://i65.tinypic.com/11b6dk0.png
This is not an issue of matroska, as it only stores a single number for the total number of channels (2, 6, 8, etc) and not the layout.
The layout information is something that lav filters find, probably by bitstream parsing or something. But whatever they do, it's not done for the eac-3 tracks.
This is purely a cosmetic issue, but would be nice if it could be fixed. Thanks.
nevcairiel
22nd December 2018, 01:03
I wouldn't expect that to change, really. Determining the proper channel layout for Blu-ray style eac3 is kinda complicated, and its plenty that the decoder knows how to do it, the demuxer really doesn't need that info, and it would be complex code to add for cosmetics.
nautilus7
22nd December 2018, 01:24
OK, I see. Thanks.
Aleksoid1978
22nd December 2018, 04:58
Here is a link to the first 5min of Incredibles 2 UHD with Atmos.
https://ufile.io/1vw1x
Make sure you watch from the beginning. Most of us see an audio drop around the 3:17 mark, but not if you just skip to somewhere close to it (which could give a clue to what is causing it - a buffer issue?)
I check playback in MPC-BE on my A/V receiver(it's support TrueHD but don't support Atmos extension) - and have no drop. Play from start for end of sample.
SamuriHL
22nd December 2018, 05:55
Yea, it's without a doubt an issue with the ATMOS extensions. People who've decoded to PCM report no problems, as well.
Aleksoid1978
22nd December 2018, 06:54
Yea, it's without a doubt an issue with the ATMOS extensions. People who've decoded to PCM report no problems, as well.
I'm test on bitstream - no drops.
SamuriHL
22nd December 2018, 17:59
I'm test on bitstream - no drops.
Bitstreaming the TrueHD only or ATMOS? Cause it matters.
huhn
22nd December 2018, 18:26
as he said before his AVR doesn't support atmos.
SamuriHL
22nd December 2018, 19:07
Yup...and as I said before, it's only bitstreaming the ATMOS extensions that shows the issue. ;)
dbezerra
22nd December 2018, 21:27
I'm test on bitstream - no drops.
Test only the TrueHD piece is not enough to reproduce the problem. You need an Atmos capable receiver to reproduce it.
Manni
24th December 2018, 23:43
I'm test on bitstream - no drops.
Bitstreaming the TrueHD only or ATMOS? Cause it matters.
as he said before his AVR doesn't support atmos.
Yup...and as I said before, it's only bitstreaming the ATMOS extensions that shows the issue. ;)
I tested the Incredibles 2 file bitstreaming Atmos (Denon X8500H, see my sig). No drop. MPC-BE+LAV latest.
You might need to list your software + AVR to narrow this down, because not everyone gets these drops.
SamuriHL
25th December 2018, 04:19
My software is J River MC. And I definitely get drops on my Pio VSX-303 receiver.
Manni
25th December 2018, 11:33
My software is J River MC. And I definitely get drops on my Pio VSX-303 receiver.
You could try with MPC-BE (using latest external LAV) and see if you still get drops. If not, that would rule LAV out and you could ask jRiver to fix it.
Im not saying you are not getting drop. I am saying that not everyone does, and that here LAV works fine with this file. See the rest of my config in my sig, anything else could be a contributing factor (including OS or GPU driver version).
If everyone having this issue posts their detailed software and hardware config, it might help those affected to find the common denominator. If Nevcairiel cant reproduce, it is unlikely to get fixed otherwise.
Aleksoid1978
25th December 2018, 13:41
You can try MPC-BE without using LAV.
SamuriHL
25th December 2018, 21:27
I've tried using MPC-HC with its internal LAV and I still get drops.
SamuriHL
25th December 2018, 21:38
You can try MPC-BE without using LAV.
That, however, was an interesting idea. I'm not getting drops with this. Definitely seems to be pointing to something with LAV.
EDIT: Spoke too soon. Nope, drops with this, as well, just in different spots.
EDIT 2: On a hunch I tried going back to the driver version Manni uses and it did not change anything. Thought it could be an nVidia issue. I'm on 416.94 (I won't touch the 417.xx drivers yet until they fix the HDR issues.....AGAIN). Just trying to give as much info as I can to help figure out what's going on. But drops in MPC-xx with and without internal LAV filters are still happening.
mikhaelkh
28th December 2018, 08:48
VLC 3.0.5 released with AV1 decoder based on dav1d library, but still libaom decoder by default.
dbezerra
28th December 2018, 22:12
That, however, was an interesting idea. I'm not getting drops with this. Definitely seems to be pointing to something with LAV.
EDIT: Spoke too soon. Nope, drops with this, as well, just in different spots.
EDIT 2: On a hunch I tried going back to the driver version Manni uses and it did not change anything. Thought it could be an nVidia issue. I'm on 416.94 (I won't touch the 417.xx drivers yet until they fix the HDR issues.....AGAIN). Just trying to give as much info as I can to help figure out what's going on. But drops in MPC-xx with and without internal LAV filters are still happening.
I also tried with MPC-BE and its internal filters. No go - drops as well. The same MKV playing from the same server works just fine on NVidia shield with the same receiver (Denon 3200) and JVC RS500 projector. The only variables are Windows 10 (Fall Edition), NVidia 1080 and MPC-HC+Lav filters/MPC-BE.
SamuriHL
28th December 2018, 23:15
I also tried with MPC-BE and its internal filters. No go - drops as well. The same MKV playing from the same server works just fine on NVidia shield with the same receiver (Denon 3200) and JVC RS500 projector. The only variables are Windows 10 (Fall Edition), NVidia 1080 and MPC-HC+Lav filters/MPC-BE.
Are you getting the drops in the same place as MPC-HC with LAV when playing with MPC-BE with internal filters? For me the drops are in different spots which is why I originally said it was good. It took a bit longer, but, it started happening. I'm on the latest Windows 10 build with all the updates, the last nVidia 416 driver (come on nVidia), and a 1060 ggb.
Undead Sega
29th December 2018, 02:03
Its a DirectShow filter, it can be used in any software which uses DirectShow for video decoding - which WMP is one of. Software which doesn't use DirectShow also cannot use a DirectShow filter. See how that works? :D
So sorry for my late reply, things in life got in the way and there has been ups and downs (back to being down again)!
Well when I used Premiere Pro awhile back with ffdshow at default settings, I can see it was active and doing the decoding of my MPEG-2 sources, which was unfortunately causing some glitches cause of the two programs conflicting, thus how I discovered it was doing the decoding (when I disabled it).
Also it was further evident when I saw the taskbar icon appearing at the bottom corner :D
So I can assure you that ffdshow was definitely doing some work, you can actually force it to in the setting of the program:
https://forum.doom9.org/attachment.php?attachmentid=16633&stc=1&d=1546045514
Is there no way you can implement the same thing for LAV filters??? It would help sooo much! :)
ryrynz
29th December 2018, 02:56
Upload your images somewhere else.
LigH
29th December 2018, 15:08
Usual suggestions: frupic, tinypic, imgur...
clsid
29th December 2018, 19:11
ffdshow only has a blacklist/whitelist option, which defines which applications are allowed to use it.
Which decoder is used is not controlled by the filters themselves. The application decides what to use. When using the standard graph builder it uses whatever decoder is set as preferred in Windows for a specific mediatype, or whichever filter has the highest merit.
You can use Codec Tweak Tool to change preferred decoder settings.
Undead Sega
30th December 2018, 02:38
So how does ffdshow is able to decode video within Premiere Pro and LAV filters can't? :(
LigH
30th December 2018, 03:19
If Premiere Pro uses the default graph builder, it asks the DirectShow system: "Which filter can help me decoding this source?" - and ffdshow yells the loudest: "Here, I can best, use me!" ... so if you want to give LAV Filters a chance, you first need to tell ffdshow: "Shup up, this kind of source is not your task." by either deactivating this format in its DirectShow filter configuration, or even by uninstalling it ... or by making LAV Filters yell even louder than ffdshow (which is not easy, because ffdshow is already quite loud).
But if Premiere Pro uses a different algorithm to build its filter graphs, how shall we know what to do?
el Filou
30th December 2018, 11:19
Funny sample. DGIndexNV locks up, trying to open it to demux the audio. MKVToolnix-GUI ignores the stream; tsMuxeR GUI as well. PVAStrumento can't demux it.
TSPE 0.301 calls it: AC-3 (ATSC A/53B audio).
DGAVCIndex reports an interesting issue:
Sounds like there is in fact MPEG Audio in a stream multiplexed as if it was AC-3. But neither mode produces a sensible demultiplexed audio stream.Sorry for the off-topic, but TS Doctor says the audio stream is (partly) encrypted and that's why it won't decode:Broadcast standard selected: DVB
Broadcast standard detected: DVB
PES WARNING: PID 07EA scrambled 66,67%
2027 (07EB): 90% = H264 Video (PES_StreamID E0 = Video_Stream_0) {00000001} [PCR,PTS,DTS]
2026 (07EA): 9% = [SCRAMBLED 66,67%]
0 (0000): 0% = PAT
2028 (07EC): 0% = PMT
Selecting PMT with PID 2028 (07EC) at position 00000725
CRC OK!
Conforming PMT entry 1 to DVB standard
Deleting PMT entry: PID 2025 (07E9) type 134 = Private stream type Audio DTS (DTS)
PID 07EA is encrypted and will be removed
halcom
3rd January 2019, 06:21
To anyone that has compiled LAVFilters 0.73.1.
Which version of ffmpeg are you using?
1)Tried cloning the master here (v3.4):
https://github.com/Nevcairiel/FFmpeg
First error is "missing avpriv_mpegts_add_stream"
2) Tried fork V3.3 from MPC-HC
https://github.com/mpc-hc/FFmpeg/releases
First error is "missing av_demuxer_iterate"
3) Official ffmpeg site
https://www.ffmpeg.org/download.html
Missing lots of things as expected.
Please let me know if I am posting to the wrong area.
Any help greatly appreciated!
nevcairiel
3rd January 2019, 10:05
The version of FFmpeg LAV uses is referenced both in the readme as well as the first post in this thread, as well as directly linked to the sources through a Git submodule. It should really not be that hard to find it.
Megalith
4th January 2019, 04:26
Why does LAV Audio output in 32-bit float for 24-bit TrueHD and DTS-HD MA tracks? Doesn't that mean the track is no longer bit-perfect?
EDIT: Okay, apparently it does on a technical level, but some DACs seem to sound different when the bit-depth is upconverted...
huhn
4th January 2019, 04:45
integar -> float conversation are "lossy".
are you using the mixer or something? this will turn the audio into float point because that's more "accurate" lossy processing is usually better done in float with audio in mind.
and you wouldn't even believe what a DAC has to do to lossless audio before it is doing the conversation...
Megalith
4th January 2019, 05:31
Oh, duh, yes...the mixer is active, as I only have a stereo setup.
lvqcl
4th January 2019, 13:04
but some DACs seem to sound different when the bit-depth is upconverted...
No, they don't.
amichaelt
4th January 2019, 18:29
Why does LAV Audio output in 32-bit float for 24-bit TrueHD and DTS-HD MA tracks? Doesn't that mean the track is no longer bit-perfect?
No, single-precious float can represent all possible 24-bit integers.
https://en.wikipedia.org/wiki/Single-precision_floating-point_format
EDIT: Okay, apparently it does on a technical level, but some DACs seem to sound different when the bit-depth is upconverted...
There's no "upconverting" unless you think that 24 and 24.0 are different numbers.
nautilus7
4th January 2019, 23:42
Sorry for the off-topic, but TS Doctor says the audio stream is (partly) encrypted and that's why it won't decode:
Hi, yes you are correct. I was able to solve the problem by fixing a descrambling bug in the software. Audio plays ok now. Thanks.
v0lt
6th January 2019, 08:48
LAV Video decoder has problems after rewinding in software mode and DXVA2 on these files.
https://yadi.sk/i/jteUfal9hY7QR
https://yadi.sk/i/JZeFZiDFfXlmRg
The problem is in ffmpeg. There is a solution.
https://trac.ffmpeg.org/ticket/3705#comment:10
PS: Files on which artifacts appeared when using option "-flags2 +showall".
https://cloud.mail.ru/public/9krZ/vP4undPnV
foxyshadis
12th January 2019, 12:10
No, they don't.
I honestly wouldn't be surprised. I've seen a lot of terrible implementations in my day, and int vs float sounds like just the thing to trigger them.
nevcairiel
12th January 2019, 12:20
I honestly wouldn't be surprised. I've seen a lot of terrible implementations in my day, and int vs float sounds like just the thing to trigger them.
The float audio is never going to leave your PC though. It'll always be converted back to typically 16 or 24-bit int (at most 32-bit, typically for ASIO).
clsid
14th January 2019, 17:55
It has been 4 months since last FFmpeg update. Time for another update? ;)
OvejaNegra
15th January 2019, 09:05
Hi: PLayback of full chroma seems to be broken (High 4:4:4), is affecting the mpch 1.8.4 and the lavfilter pack, confirmed using graphstudio next, output looks garbage.
Switching off color formats or, multithreading does not helps, can anybody confirm this?
Thanks
sneaker_ger
15th January 2019, 10:10
Is it an old x264 encode? There are bugs in old x264 4:4:4 encoding mode. Upload sample.
nevcairiel
15th January 2019, 13:37
This is most likely the case. Old x264 produced out-of-spec files, which was since fixed, and the decoders updated to handle proper in-spec files.
The decoder can still handle old files, but only if the files properly identify as such - ie. the x264 SEI is still present that identifies the version of the encoder. If this SEI is missing, either deliberately removed, or lost due to a cut, then the file is quite simply broken now.
darkrenata
27th January 2019, 06:27
I was getting dropouts on an Atmos track watching Incredibles 2 4k Bluray (also Incredibles 1 as well) with LAV filters version .72 as well as latest.
My receiver is an Anthem MRX-1120.
I downgraded to .71 LAV filters and the issue seemed to go away.
max79
30th January 2019, 12:58
@Nevcairiel
Please have a look at the issue that i describe here(FFMPEG site moderator didn't give me a details):
https://trac.ffmpeg.org/ticket/7707
I never came across with a similar form of answers to common simple questions. I didn't like it.
Any feedback would be appreciated.
AsadAlrafidain
1st February 2019, 21:48
I was wondering....when using advanced mode for subtitles in splitter settings, the rules seem to work only for embedded subtitles and ignore external subtitles.....is it just on my part or is the splitter intended to work this way ?
I was using this rule:
jap:eng|!f jap:jap|!f eng:ara eng:eng|!f
However when using this on a video with English audio, embedded English subtitles and external Arabic subtitles, lav splitter choose embedded English subtitles even though i preferred Arabic subtitles before English subtitles in the above rule....so what's the deal ?
nevcairiel
1st February 2019, 21:49
The splitter is not involved with external subtitles. Thats solely a feature of your player.
AsadAlrafidain
1st February 2019, 21:59
@nevcairiel
well, that's a shame....the problem is that my player (Potplayer) doesn't recognize forced subtitles the same way Lav splitter does....
any intentions to include external subtitles in the future ?...oh and BTW I'm grateful for your wonderful software.
mzso
3rd February 2019, 15:57
Is it normal for yadif to look like this?
https://drive.google.com/open?id=1JNTd0AwlY4xEMRSQS124vAtMbfazOjWe
The fizzyness does not happen with the HW deinterlacer of LAV or madVR. But it also looks similar with Weston three field.
huhn
3rd February 2019, 23:12
sample?
as it is not frame adaptive yes i can see this as a default artefacts.
mzso
4th February 2019, 21:16
sample?
as it is not frame adaptive yes i can see this as a default artefacts.
Here's one: https://drive.google.com/open?id=12wO8NJbIrfa2MD4yVaA38RrBBdziCda8 (note: Looks like google deinterlaces it without this artifact)
huhn
4th February 2019, 23:19
i'm pretty sure your browser is using hardware deinterlancing.
looks like a limitation yadif.
juffi
5th February 2019, 14:59
This may be wrong place for this question, but anyway.
I cannot get HW acceleration with LAV Filters 0.73.1-1 using msdk mvc decoder. My poor mini PC does not manage SW decoding properly, otherwise everything is fine. I try to play 3D blu ray ripped to mkv with MakeMKV. Original disk plays fine with PowerDVD 18 with HW accelaration.
huhn
5th February 2019, 15:30
3D hardware decoding isn't supported in lavfilter only software.
juffi
5th February 2019, 16:24
3D hardware decoding isn't supported in lavfilter only software.
Any plans to implement that?
Do you know whether this would be possible with Kodi?
clsid
5th February 2019, 16:32
It used to be possible, but it was disabled intentionally because there is a bug in the Intel mvc decoder that gives problems.
juffi
5th February 2019, 17:03
It used to be possible, but it was disabled intentionally because there is a bug in the Intel mvc decoder that gives problems.
End of story? How about a checkbox for enabling that for brave testers?
fluffy01
5th February 2019, 17:20
I think that I was the reason that it was disabled again.
It caused LAVFilters to freeze up so hard that I had to kill it via process manager.
But maybe it could be added as an option somewhere, if it doesn't clutter up the settings too badly?
nevcairiel
5th February 2019, 17:47
An option that is known to practically cause the entire hardware to hang is not something that'll ever be exposed to users.
Unless some effort is invested to figure out what makes some videos cause this problem, and find out if its possible to fix it, it really doesn't make sense to open it up to issues again.
nevcairiel
6th February 2019, 00:15
I was getting dropouts on an Atmos track watching Incredibles 2 4k Bluray (also Incredibles 1 as well) with LAV filters version .72 as well as latest.
My receiver is an Anthem MRX-1120.
I downgraded to .71 LAV filters and the issue seemed to go away.
Try with the next nightly version (coming in around ~3h from this post to https://files.1f0.de/lavf/nightly/), it has some changes that may help. Feedback would be good.
SamuriHL
6th February 2019, 04:58
Wanted to report here, as well. Watching Incredibles 2 MKV and not a single issue with this new build. Very happy!
ryrynz
7th February 2019, 01:33
Saw the recent update of ffmpeg within LAV, have there been any significant updates to it since last year?
nevcairiel
7th February 2019, 19:34
End of story? How about a checkbox for enabling that for brave testers?
I think that I was the reason that it was disabled again.
It caused LAVFilters to freeze up so hard that I had to kill it via process manager.
But maybe it could be added as an option somewhere, if it doesn't clutter up the settings too badly?
I have re-visited the problem and done some additional filtering of the bitstream to hopefully avoid the problem. However, I was also unable to reproduce it anymore, even with old LAV and old drivers, so maybe something in a Windows 10 update fixed it.
Anyhow, its now possible to enable H.264 MVC HW decoding in LAV Video, if you have a Intel GPU. Its default off.
Testing would be appreciated. Even more so if you previously had the hang problem. It'll be available in a couple hours in the next nightly build at https://files.1f0.de/lavf/nightly/
jmone
7th February 2019, 23:12
Cross post (JRiver Thead0 but FYI - Tested the following historic probs with had/soft drops and they all played fine with the latest LAV Nightly (all folder rips).
- "Incredibles 2" - Soft Drop : eg drops at 3:16 at the seamless branching point where it goes to the Incredibles 2 spinning logo
- Pirates of the Caribbean - Dead Men Tell No Tales - Hard Drop : eg drops out a couple of times between 17:45 and 19:00 minutes into the movie
- Guardians of the Galaxy Vol II - Hard Drop : eg drops out at 1:09:24 where TaserFace gets killed is one example.
- Maze Runner: The Death Cure - Hard Drop : eg Right at the beginning of the Main Title when the 20th Century clip is running
Thanks Hendrik - looks good to me.
jmone
7th February 2019, 23:13
... what tool are people using to "unpack" the LAV EXE instead of installing it? I "think" I used to just use 7-Zip but the main files are all in a "[0]" file in the EXE.
Thanks
Nathan
sneaker_ger
7th February 2019, 23:23
innounp (http://innounp.sourceforge.net/). But beware: simply replacing the dlls isn't always sufficient. It's recommended to always run the installer.
SamuriHL
7th February 2019, 23:28
For JRiver, I just copy them from my laptop into the plugins/lav folder. However, you really should register the ax files from there which is what I do. Mainly because I have custom settings for LAV Video in JRiver so I can use D3D11 decoding.
jmone
7th February 2019, 23:57
FYI - I just need to replace the files in the JRiver Plugins folder for testing. Thanks for the tip on innounp - just what I need.
filler56789
8th February 2019, 08:58
innounp (http://innounp.sourceforge.net/). But beware: simply replacing the dlls isn't always sufficient. It's recommended to always run the installer.
OR you can run regsvr32 on the .ax files again, so that the registry is duly updated.
eugeny
8th February 2019, 13:22
Two latest nightly builds 0.73.1-14 and 0.73.1-11 are buggy! LAVVideo.ax is not loadable under Windows 2008 Server x86 Service Pack 2.
Build 0.73.1-6 is working normally.
Manni
8th February 2019, 13:46
For JRiver, I just copy them from my laptop into the plugins/lav folder. However, you really should register the ax files from there which is what I do. Mainly because I have custom settings for LAV Video in JRiver so I can use D3D11 decoding.
I might be lucky, or maybe it's because LAV was installed before I installed jRiver, but it looks like it's the standalove LAV that is being used by jRiver. I update it regularly and when I play a file and look at the LAV running (taskbar icon), it's the latest, with my custom settings. So I'm not touching it.
As you know I had to unregister MadVR and move it to the plugins, and register it there, but it didn't seem to be necessary for LAV, which makes updating it easier (I simply install the new version). The added benefit is that it installs both teh 64bits and the 32bits version, the latter being needed for MadMeasureHDR.
Maybe Nevcairiel will correct me if there is a better way to keep LAV updated when using jRiver, but for now it's working well for me.
Aleksoid1978
8th February 2019, 13:58
Two latest nightly builds 0.73.1-14 and 0.73.1-11 are buggy! LAVVideo.ax is not loadable under Windows 2008 Server x86 Service Pack 2.
Build 0.73.1-6 is working normally.
I think it is because of update to latest Intel MSDK decoder. It's use function SetThreadErrorMode, it's minimum support Windows 7/2008 R2.
dbezerra
8th February 2019, 17:15
Nev, I have noticed issues with Atmos drop outs on the Incredibles 2 disk and others are reporting the same on different threads such as
https://club.myce.com/t/atmos-audio-drop-outs-details-thread/399840/106?u=careca
https://yabb.jriver.com/interact/index.php/topic,114628.msg818879.html#msg818879
One of the users posted a log file in the JRiver thread. Is this something you are aware of? Do you need a sample MKV?
Thanks
Just to bring closure to this topic: The latest LAV nightly build fixed all Atmos issues! Thanks for the support Nev!
SamuriHL
8th February 2019, 17:55
I might be lucky, or maybe it's because LAV was installed before I installed jRiver, but it looks like it's the standalove LAV that is being used by jRiver. I update it regularly and when I play a file and look at the LAV running (taskbar icon), it's the latest, with my custom settings. So I'm not touching it.
As you know I had to unregister MadVR and move it to the plugins, and register it there, but it didn't seem to be necessary for LAV, which makes updating it easier (I simply install the new version). The added benefit is that it installs both teh 64bits and the 32bits version, the latter being needed for MadMeasureHDR.
Maybe Nevcairiel will correct me if there is a better way to keep LAV updated when using jRiver, but for now it's working well for me.
If you register them outside of the JRiver plugins directory and add them as custom filters, then yes, it's using your external LAV installation. I'd not necessarily recommend that as it has caused problems in the past. I update the plugin version and re-register them with regsvr32. This method has never given me an issue.
Manni
8th February 2019, 18:13
If you register them outside of the JRiver plugins directory and add them as custom filters, then yes, it's using your external LAV installation. I'd not necessarily recommend that as it has caused problems in the past. I update the plugin version and re-register them with regsvr32. This method has never given me an issue.
Yes, that's what I did, I install the standalone LAV and then add them in jRiver as custom filters, same as MadVR.
If I was to do it your way, I should:
Copy the LAV x64 most recent LAV files into the plugin directory
Uninstall LAV standalone
Register the plugin version using regsvr32
Then when a new version of LAV arrives, unpack it and copy the x64 files to the plugin?
Then what I do I do to have the x86 version registered for MadMeasureHDR?
The only issue I have a the moment is lots of UHD BD Menus won't play properly (direct movie playback works fine). If this is unlikely to fix it, I'm tempted to stay as it is...
SamuriHL
8th February 2019, 18:29
I doubt that'll fix the UHD menu issue. If you have examples of titles not playing menus correctly, you should visit the bd menu thread on JRiver forum and post about them there so they can be looked at.
Manni
8th February 2019, 18:58
I doubt that'll fix the UHD menu issue. If you have examples of titles not playing menus correctly, you should visit the bd menu thread on JRiver forum and post about them there so they can be looked at.
It didn't fix the UHD BD Menus issue (I'll report these in the jRiver forum), but at least I'm using the plugins LAV version now.
I've registered the 32bits .ax as well that I put in a lav32 folder in the plugins folder. That was needed for MadMeasureHDR to work.
Thanks!
SamuriHL
8th February 2019, 19:02
It didn't fix the UHD BD Menus issue (I'll report these in the jRiver forum), but at least I'm using the plugins LAV version now.
I've registered the 32bits .ax as well that I put in a lav32 folder in the plugins folder. That was needed for MadMeasureHDR to work.
Thanks!
I keep the 32 bit version separate and outside of the plugins dir. I've not had any issues doing so. Just ran madmeasurehd with that configuration yesterday with no issue.
Manni
8th February 2019, 20:48
I keep the 32 bit version separate and outside of the plugins dir. I've not had any issues doing so. Just ran madmeasurehd with that configuration yesterday with no issue.
Oh yes, I only put it there so it's next to the 64bits one, that way I have all the plugins (madVR and both LAVs) in the same folder., which makes manual maintenance easier. I expect it to be wiped out by the next jRiver update. It doesn't matter where you put it.
iSeries
9th February 2019, 02:44
Hi, are there portable versions of the nightly builds?
huhn
9th February 2019, 06:44
the is no point in a portable standalone directshow filter.
but you should be able to overwrite the lavfilter version in your portable player or editing software of your choice.
eugeny
9th February 2019, 13:18
I think it is because of update to latest Intel MSDK decoder. It's use function SetThreadErrorMode, it's minimum support Windows 7/2008 R2.
Is it possible to compile Vista/2008 Server compatible build?
nevcairiel
9th February 2019, 13:25
Just use the previous nightly or release until it is resolved.
arrgh
10th February 2019, 23:52
I have re-visited the problem and done some additional filtering of the bitstream to hopefully avoid the problem. However, I was also unable to reproduce it anymore, even with old LAV and old drivers, so maybe something in a Windows 10 update fixed it.
Anyhow, its now possible to enable H.264 MVC HW decoding in LAV Video, if you have a Intel GPU. Its default off.
Testing would be appreciated. Even more so if you previously had the hang problem. It'll be available in a couple hours in the next nightly build at https://files.1f0.de/lavf/nightly/
I'm on MPC-BE 4418; with newest Win-Updates;
madVR *.17 and LAV 73.1.14;
with all HW-Decoders I get a black Screen and a frozen MPC-BE, when I check MVC_hardware Decoding (no playback at all; Need to use Taskmanager to Close MPC; via Hot-Key (alt-x), it fails/freezes; that was not the case with LAV 73.1.0);
I went through all Options in VideoDecoder (without MVC-HW-Decoding checked)... with some I get several minutes (~5 min) of smooth playback; then the stuttering starts (also with "None" HW Decoding );
I cycled back to D3D11/native and now for >10min it worked (I stopped then)... so, it seems to be very shaky/unpredictable... but always, there is no clean exit from MPC-BE; it must be cut via task manager.
nevcairiel
11th February 2019, 00:09
No options have any impact on MVC hardware decoding, other then turning it on or off.
And if you don't have stable hw playback at all of normal videos, then trying MVC is probably not of much value.
zvans18
11th February 2019, 05:15
Hello, sorry if this is the wrong place or asked too much, but after a fresh install of Windows, I have A/V sync drift I'm trying to fix but don't know how. It starts okay, but needs more and more audio delay, ultimately around 500ms of delay by the end of a 45 minute show. This desync doesn't seem to happen when played with latest VLC, but I don't use it much.
System is W10 Pro x64, GTX 1080 SLI, 418.81 drivers, 8700k, MXH motherboard with no specific audio driver/software installed feeding 3.1 "computer speakers" (separate DAC + headphones for critical listening I haven't tested yet with the new install), speaker settings enhancements disabled and default format 24/44.1, MPC-BE beta 64 bit, madVR, LAV Filters, XySubFilter 64 bit
Player setup procedure (which as far as I know is identical as I had on my previous W10 install) was: No portable version of things. Install .bats ran as Admin. LAV Splitter, LAV Splitter Source, LAV Audio Decoder, and LAV Video Decoder selected in external filters and set to prefer. Video decoder 12 threads and dxva2 copyback. MPC-BE power set to Adaptive in NVCP.
How should I look for the problem? I've tried disabling outputs above 24 bit, disabling auto a/v sync, but testing is difficult as it's a gradual drift.
EDIT: playback is on a 144Hz monitor with smoothmotion auto in madVR (auto off in this case)
zvans18
11th February 2019, 05:26
Hello, sorry if this is the wrong place or asked too much, but after a fresh install of Windows, I have A/V sync drift I'm trying to fix but don't know how. It starts okay, but needs more and more audio delay, ultimately around 500ms of delay by the end of a 45 minute show. This desync doesn't seem to happen when played with latest VLC, but I don't use it much.
--snip--
WOW I was totally wrong. Let one play out and desync very much happens in VLC as well. Disregard, I guess.
Mevunky
11th February 2019, 10:37
Anyone having issues with E-AC3? If I use current versions or even recent versions of LAV I cannot bitstream eac3, however using old versions I have no issues. MPC-HC 1.8.4+ bundled LAV.
sneaker_ger
11th February 2019, 12:28
If I use current versions or even recent versions of LAV I cannot bitstream eac3
What happens if you try? Is there an error message? And you tested the very same file with older version? Try to find the exact version the problem appears.
sneaker_ger
11th February 2019, 12:30
WOW I was totally wrong. Let one play out and desync very much happens in VLC as well. Disregard, I guess.
So the file is broken?
clsid
11th February 2019, 13:37
Just use the previous nightly or release until it is resolved.You probably already know this. But fix is easy. There is just a wrong winver check in dispatcher code. Adjust preprocessor checks around the uses of SetThreadErrorMode (0x0600 > 0x0601) and define in project file _WIN32_WINNT=0x0600.
el Filou
11th February 2019, 19:43
with all HW-Decoders I get a black Screen and a frozen MPC-BE, when I check MVC_hardware DecodingHave you tried other players?I went through all Options in VideoDecoder... with some I get several minutes of smooth playback; then the stuttering starts (also with "None" HW Decoding );
I cycled back to D3D11/native and now for >10min it worked (I stopped then)...Is this on a laptop or NUC? If yes then it may be related to power/thermal throttling. It's weird though that DXVA2 native doesn't work as good as D3D11 native performance wise.
arrgh
11th February 2019, 23:30
No options have any impact on MVC hardware decoding, other then turning it on or off.
And if you don't have stable hw playback at all of normal videos, then trying MVC is probably not of much value.
it's a misunderstanding... regular h264/1080p mkv work ok; also the shut down of MPC-BE via hot-key (alt-x) works; only mvc-mkv cause a hang after alt-x...
anyways, to double check, I reinstalled a system image from 12/2018 which had the December Win updates in it, LAV 73.1, madVR .17 and MPC-BE 4167;
this setup had (of course) also the stuttering in (some of) the 3D files but MPC-BE closed nicely with alt-x from mvc-files... when I upgraded to MPC-BE 4322 it had a hang....
so, sorry for the confusion, but it seems to be a MPC-BE problem which happened somewhere in-between 4167 and 4322...
during this I have "discovered" that MPC-BE offered to download libmfxsw32.dll... so I checked and it seems that there are several versions at large...
when I copied version "8.18.6.8 dated 8.6.18" into the LAV folder, the stuttering seemed to be reduced significantly... only every few minutes there was a short jerk, otherwise it seemed to work "ok" (but also with this the alt-x resulted in a hang)... are we sure that we have already the "perfect/newest" libmfxsw32.dll?
Aleksoid1978
12th February 2019, 02:26
I test latest MPC+BE + LAV on mvc-mkv - all perfect playback. But - i test on software decoding.
zvans18
12th February 2019, 03:24
So the file is broken?
no, files are fine. playback just drifts on my machine for some reason
Mevunky
12th February 2019, 07:05
What happens if you try? Is there an error message? And you tested the very same file with older version? Try to find the exact version the problem appears.
It just passes 2 channel PCM instead of the bitstream when I try. Many files tested, always works on old versions, does not bitstream on new versions.
No errors, just no bitstream but 2 channel PCM instead. I could work through a number of versions to isolate but I presume everyone is having the same issue?
https://github.com/Nevcairiel/LAVFilters/issues/243 - Potentially the same issue.
nevcairiel
12th February 2019, 08:17
are we sure that we have already the "perfect/newest" libmfxsw32.dll?
Use the latest LAV nightly installer, it includes the latest libmfxsw32.dll
Alternatively, you can try these (for 32-bit players):
https://files.1f0.de/lavf/plugins/libmfxsw32-v1.7z
https://files.1f0.de/lavf/plugins/libmfxsw32-v2.7z
https://files.1f0.de/lavf/plugins/libmfxsw32-v3.7z (This is 8.18.6.8, the one the latest LAV nightly comes with)
Aleksoid1978
12th February 2019, 11:19
It just passes 2 channel PCM instead of the bitstream when I try. Many files tested, always works on old versions, does not bitstream on new versions.
No errors, just no bitstream but 2 channel PCM instead. I could work through a number of versions to isolate but I presume everyone is having the same issue?
https://github.com/Nevcairiel/LAVFilters/issues/243 - Potentially the same issue.
Maybe something wrong in detection bitstreaming support.
Check in other decoder/player.
el Filou
12th February 2019, 14:51
It just passes 2 channel PCM instead of the bitstream when I try. Many files tested, always works on old versions, does not bitstream on new versions.
https://github.com/Nevcairiel/LAVFilters/issues/243 - Potentially the same issue.Testing the sample Safari_ Dolby_Digital_Plus.m2ts available in Kodi samples page linked from this URL, bitstreaming works on my system. MPC-HC 1.8.4, Windows 1803, with internal and external LAV 0.73.1, and with various audio renderers.
What are the "old" LAV versions you tested with?
clsid
12th February 2019, 16:14
Check which filters are used by MPC-HC. Bitstreaming doesn't work if you use ffdshow audio processor or AC3Filter.
el Filou
12th February 2019, 16:23
Mevunky says it works when using older versions of LAV though, which is strange and wouldn't point to a filter chain problem.
clsid
12th February 2019, 17:16
Older versions did not have a fallback to normal decoding. So those filters would not connect.
arrgh
12th February 2019, 22:37
Use the latest LAV nightly installer, it includes the latest libmfxsw32.dll
Alternatively, you can try these (for 32-bit players):
...
https://files.1f0.de/lavf/plugins/libmfxsw32-v3.7z (This is 8.18.6.8, the one the latest LAV nightly comes with)
:thanks:
arrgh
12th February 2019, 22:40
I test latest MPC+BE + LAV on mvc-mkv - all perfect playback. But - i test on software decoding.
...my special circumstances are that I have a IGP HD620, not an ATI or Nvidia...
Mevunky
13th February 2019, 07:22
Check which filters are used by MPC-HC. Bitstreaming doesn't work if you use ffdshow audio processor or AC3Filter.
LAV for everything (video, audio, splitter). Apologies on further inspection when it works its because its falling back to the MS DVD audio decoder! MPC-HC 1.7.13, however when using current MPC-HC 1.8.4 it uses LAV for audio but refuses to bitstream the eac3 and drops to stereo PCM.
Oddly in properties the audio stream is displayed incorrectly: Audio: DD+ 48000Hz 6ch 9216kbps (incidently this is the video bitrate not the audio bitrate)
Old LAV shows this correctly: Connection media type: Audio: DD+ 48000Hz 6ch 640kbps
Old LAV being 0.70.2.1-git.
Mevunky
13th February 2019, 07:23
Maybe something wrong in detection bitstreaming support.
Check in other decoder/player.
Other decoders/players all work fine... hmmmm...
ashlar42
13th February 2019, 13:40
Hi, nevcariel, could you have a look at this https://superuser.com/questions/842203/how-to-make-mpc-hc-to-cache-more-aggressively and explain how to properly implement that "hack" in recent versions of LAV?
It mentions MPC-HC in the title but it's all about LAV Splitter in reality.
nevcairiel
13th February 2019, 13:43
Did you look at the LAV settings? You can configure that since forever.
ashlar42
13th February 2019, 13:50
Did you look at the LAV settings? You can configure that since forever.Yeah, I did but maybe I misinterpreted what the hack was saying (and, actually, I asked for an explanation specifically because I did not understand it :)).
So to increase the amount of "read ahead" caching what is the correct way of setting LAV Splitter? Sorry if it's been asked before or it's by now "old knowledge".
Thank you. :)
el Filou
13th February 2019, 14:00
Change the value "Maximum Queue Packets". It's the now-configurable setting that is referenced as a #DEFINE in the discussion from your link
when it works its because its falling back to the MS DVD audio decoder!
Oddly in properties the audio stream is displayed incorrectly: Audio: DD+ 48000Hz 6ch 9216kbps (incidently this is the video bitrate not the audio bitrate)Could you test with this audio-only sample: https://samples.ffmpeg.org/A-codecs/AC3/eac3/matrix2_english_5.1_640.eac3 ?
ashlar42
13th February 2019, 14:17
Change the value "Maximum Queue Packets". It's the now-configurable setting that is referenced as a #DEFINE in the discussion from your link
I'm experimenting with it but it seems that, no matter what I set there, MPC-HC x64 doesn't use more than about 450MB of RAM (I have 32GB). Last attempt had me setting Maximum Queue Memory at 8192 and Maximum Queue Packets at 100,000. And still MPC-HC is using 450MB of RAM.
el Filou
13th February 2019, 14:43
The buffer size reported by MPC on my install does indeed grow when I change that setting in LAV Splitter.
This is with the default 350 packets: https://drive.google.com/open?id=1jQGw49n3onxWFvPk_B1oGqPW-kOyZzq-
And this is with it set to 3500, and the buffer is indeed ~10x bigger: https://drive.google.com/open?id=1F94WF0dVZzs_qiVWkLoTLVZaTzIuf3ao
Does that value change on your install when you change settings in LAV Splitter?
(Edit: when I set the values to 1024 MB/700000 packets, the private working set size of MPC grows to 1,3 GB of RAM, so it is working as intended)
clsid
13th February 2019, 14:54
It isn't a file buffer. It is a decoding buffer. So if decoding is relatively slow, then it will take longer to fill the buffer. Try pausing and it should keep growing. It works correctly here. You may need to use larger packet value.
@Mevunky
If older version fall back to using MS decoder it means bitstreaming failed then as well.
If you are using S/PDIF then you should only enable AC3 and DTS. Other formats require HDMI.
If even plain AC3 and DTS are not working then you need to select correct audio device in output settings of MPC-HC.
el Filou
13th February 2019, 15:28
From what I understand, Mevunsky is saying that when it falls back to MS Decoder it does bitstream successfully? :confused:
Is it possible that the MS Decoder decodes the EAC3 and re-encodes it to basic DD640 to bitstream it? I seem to have read somewhere in a Dolby document that licensed EAC3 decoders can do that.
nevcairiel
13th February 2019, 17:20
It isn't a file buffer. It is a decoding buffer. So if decoding is relatively slow, then it will take longer to fill the buffer. Try pausing and it should keep growing. It works correctly here. You may need to use larger packet value.
Its actually a demuxing buffer, which is pretty close to a file buffer, since demuxing is generally pretty cheap.
mzso
13th February 2019, 18:04
i'm pretty sure your browser is using hardware deinterlancing.
looks like a limitation yadif.
Browser? It was a screencast/recording from SmartDVB. Using Yadif.
The note about google was for the only preview video by google which is de-interlaced and re-encoded. So no deinterlacing by the browser comes into play.
Mevunky
13th February 2019, 21:21
From what I understand, Mevunsky is saying that when it falls back to MS Decoder it does bitstream successfully? :confused:
Is it possible that the MS Decoder decodes the EAC3 and re-encodes it to basic DD640 to bitstream it? I seem to have read somewhere in a Dolby document that licensed EAC3 decoders can do that.
Possible - can I force MPC-HC to use this decoder for EAC3 only? As it does exactly what I need for passing the core stream out of EAC3 but it seems I can only select all DD content in the filters not EAC3 specifically.
Mevunky
13th February 2019, 21:31
@Mevunky
If older version fall back to using MS decoder it means bitstreaming failed then as well.
If you are using S/PDIF then you should only enable AC3 and DTS. Other formats require HDMI.
If even plain AC3 and DTS are not working then you need to select correct audio device in output settings of MPC-HC.
I am using SPDIF however the core stream should work fine over SPDIF, i.e send the core AC3 component as per the DD spec. AC3 and DTS are bitstreaming fine and I can bitstream HD content as it sends the core component over SPDIF as expected.
LAV sends the core DTS/DD streams from DD-HD and DTS-HD via SPDIF, should it not send the core stream in an EAC3 via SPDIF? EAC3 is becoming very popular and some of us have yet to swap to HDMI equipment just yet.
It seems the MS DVD decoder is simply passing the AC3 core via SPDIF as per the DD spec below.
Dolby Doco for reference:
"Is Dolby Digital Plus content backward-compatible?
Because Dolby Digital Plus is built on core Dolby Digital technologies, content that is encoded with Dolby Digital Plus is fully compatible with the millions of existing home theaters and playback systems worldwide equipped for Dolby Digital playback. Dolby Digital Plus soundtracks are easily converted to a 640 kbps Dolby Digital signal without decoding and reencoding, for output via S/PDIF. The 640 kbps bit rate, which is higher than the standard 448 kbps used on DVDs, is fully compatible with all existing Dolby Digital decoding products such as A/V receivers, and can provide higher-than-DVD quality from Dolby Digital Plus soundtracks when played back through existing systems."
el Filou
14th February 2019, 01:10
Ah, I learn new things everyday, I thought there was a need to fully decode and then re-encode to AC3, but it seems they designed E-AC3 to facilitate direct conversion. :)LAV sends the core DTS/DD streams from DD-HD and DTS-HD via SPDIF, should it not send the core stream in an EAC3 via SPDIF?The process is a bit different for all 3 codecs: DTS really is built on a core + the HD coding as an extension depending on it. TrueHD does not really have a 'core AC3' but there's an additional 'companion AC3 track' for every TrueHD track, and both are normally presented as the same audio track and the player will use the AC3 or TrueHD depending on what is supported.
For E-AC3 it seems it's different still: it has neither a core track or a companion track, but the bitstream can apparently be 'repackaged' as AC3 with minimal processing: https://www.dolby.com/us/en/technologies/dolby-digital-plus-audio-coding-tech-paper.pdfBy means of an elegant conversion process, Dolby Digital Plus
bitstreams, regardless of their source bit rate, are repackaged into a
standard Dolby Digital format at 640 kbps. The conversion process does
not decode the signal to PCM and reencode it, therefore avoiding the
introduction of compounding coding artifactsI have no idea how that is done nor how that can be high quality as claimed by Dolby, but it's still processing so the decoder has to do some work, you can't simply use the core track directly like with DTS or the companion track like with TrueHD. (Edit: the paper specifically mentions broadcast in this scenario, so I'm wondering if maybe this would only be possible for E-AC3 streams lower than 640 Kbps, like found on TV or streaming platforms)
Edit 2: my bad, I haven't fully understood read the paper I linked to: apparently on Blu-rays, E-AC3 *is* made up of a core AC3 stream + an E-AC3 extension. It should in theory be possible for LAV to extract the core AC3 to bitstream it over SPDIF (but that would mean an additional step where LAV would have to analyse the E-AC3 stream to determine if it's a broadcast-style pure E-AC3 that needs to be 'repackaged' or a Blu-ray style AC3+E-AC3. :eek:Possible - can I force MPC-HC to use this decoder for EAC3 only? As it does exactly what I need for passing the core stream out of EAC3 but it seems I can only select all DD content in the filters not EAC3 specifically.Possible workaround:
- install external LAV Filters and uncheck E-AC3 in the supported formats
- uncheck the Dolby codecs in Internal Filters of MPC
- Add LAV Audio and MS Audio Decoder to External Filters of MPC, with LAV higher.
Mevunky
14th February 2019, 08:39
Thanks for all the help, I think for this specific purpose the MS DTV-DVD decoder is a great tool for the job of EAC3 > AC3 for old equipment. EAC3 is becoming very popular at the moment, time for a new receiver and bitsreaming over HDMI I guess!
Thanks again to all for the amazing work on LAV and clsid for keeping MPC-HC on life support.
el Filou
14th February 2019, 16:05
Tell me about it, my 2009 Denon won't decode Netflix's Dolby Digital Plus correctly because around 2012 Dolby added completely new coding tools to the format without giving it a new name but assuming manufacturers would update the firmware for all their models (lol) and
so now there's 5/6 years worth of receiver hardware that can't decode that newer version of low bitrate EAC3 without producing massive audio artifacts. :mad:
ashlar42
14th February 2019, 16:59
This is with the default 350 packets: https://drive.google.com/open?id=1jQGw49n3onxWFvPk_B1oGqPW-kOyZzq-
And this is with it set to 3500, and the buffer is indeed ~10x bigger: https://drive.google.com/open?id=1F94WF0dVZzs_qiVWkLoTLVZaTzIuf3ao
Where does this info appear? I've tried both madVR and EVR Enhanced but I don't see it in their respective OSD.
Edit: View/Statistics. Sorry, should have looked better. I thought it was a function of the video renderer or of LAV Filters.
Edit 2: Ok, it appears to work. I've managed to get MPC-HC using 4,8 GB playing from a networked resource and you can skip ahead a lot before network activity resumes, meaning the file is actually being buffered in memory. Thanks for the help everyone.
nevcairiel
15th February 2019, 00:35
you can skip ahead a lot before network activity resumes, meaning the file is actually being buffered in memory. Thanks for the help everyone.
Note that the LAV buffering does not in fact work that way. If you seek (ie. skip ahead), it'll completely drop any buffering and go back to the file to seek in it.
Of course Windows may do buffering on top of that.
raymondjpg
16th February 2019, 06:34
Check which filters are used by MPC-HC. Bitstreaming doesn't work if you use ffdshow audio processor or AC3Filter.
It's been a while since I used Windows 7, and things may have changed with more recent versions of LAV filters, but in Windows 7 with MPC-HC and PotPlayer I have in the past used either ffdshow audio processor or AC3Filter to post-process PCM audio (from decoded AAC) to AC3 on the fly. It worked well and was (at the time) about the only way to reliably process multi-channel AAC. All audio formats specified for bitstreaming in LAV Audio passed through in the correct format to my AV Receiver.
With Windows 10 I have never been able to achieve bitstreaming using LAV filters. I do still use AC3Filter to post-process PCM audio, but in Windows 10 I can only bitstream digital formats by specifying processing through AC3Filter.
Are you saying that LAV filters will successfully bitstream digital formats in Windows 10 if AC3 Filter is uninstalled? If that is the case, then I would need to find some other way to transcode PCM to AC3 on the fly, because so far I have only been able to do that using ffdshow audio processor or AC3Filter.
In case anyone is wondering why I want to transcode PCM to AC3, it is because stereo AC3 can be processed by the AV Receiver as Dolby Prologic II Movie which gives a far superior sound in a 5.1 system than does PCM stereo.
ryrynz
16th February 2019, 11:56
In case anyone is wondering why I want to transcode PCM to AC3, it is because stereo AC3 can be processed by the AV Receiver as Dolby Prologic II Movie which gives a far superior sound in a 5.1 system than does PCM stereo.
I don't get why you're limited to processing AC3 stereo for Dolby Proligic II.. I've been able to set set Prologic II out of any stereo source with every Yamaha amp I've owned that supports it.. :scared:
el Filou
16th February 2019, 13:06
Some (mostly older) receivers have weird processing limitations.
clsid
16th February 2019, 18:29
LAV does not do transcoding.
If you use MPC-HC 1.8.4 with its internal LAV, then you can use LAV to bitstream and ffdshow/AC3Filter for transcoding PCM. It has a workaround to prevent LAV from falling back to normal decoding in that scenario. This does not work with standard builds of LAV.
raymondjpg
16th February 2019, 23:40
LAV does not do transcoding.
If you use MPC-HC 1.8.4 with its internal LAV, then you can use LAV to bitstream and ffdshow/AC3Filter for transcoding PCM. It has a workaround to prevent LAV from falling back to normal decoding in that scenario. This does not work with standard builds of LAV.
Thanks. I'll take a look at MPC-HC 1.8.4, but so far I have not had much success with MPC-HC and Intel Display Audio in Windows 10. Either audio will not play at all, or it does not survive madVR display rate switching. Currently I use PotPlayer and external LAV filters.
I don't get why you're limited to processing AC3 stereo for Dolby Proligic II.. I've been able to set set Prologic II out of any stereo source with every Yamaha amp I've owned that supports it.. :scared:
I'd be interested to hear if you have been able to set your Yamaha receivers to process incoming stereo PCM as Dolby Prologic II.
Some (mostly older) receivers have weird processing limitations.
My Yamaha receiver is a 2012 7.1 model, but I haven't heard of any weird processing limitations with receivers of that vintage.
Mevunky
17th February 2019, 00:31
I'd be interested to hear if you have been able to set your Yamaha receivers to process incoming stereo PCM as Dolby Prologic II.
Every receiver I have ever used has been able to take analog or PCM and apply Prologic since forever, including Yamaha.
Simply use MPC-HC 1.8.4 and output PCM 2.0 and use the receiver to apply Prologic and bitstream the rest. MPC-HC and LAV out of the box are fantastic :)
el Filou
17th February 2019, 01:09
My Yamaha receiver is a 2012 7.1 model, but I haven't heard of any weird processing limitations with receivers of that vintage.Well, that any 2012 receiver wouldn't be able to apply PLII to PCM, to me is weird in itself.
Would you happen to output stereo PCM in 192 kHz by any chance? I seem to remember the documentation for the DSP in my receiver specifying that PLIIx works up to to 96 kHz max.
raymondjpg
17th February 2019, 02:48
LAV does not do transcoding.
If you use MPC-HC 1.8.4 with its internal LAV, then you can use LAV to bitstream and ffdshow/AC3Filter for transcoding PCM. It has a workaround to prevent LAV from falling back to normal decoding in that scenario. This does not work with standard builds of LAV.
I have just tried MPC-HC 1.8.4 with internal LAV and it is certainly as good or better than other recent builds of MPC-HC. Bitstreaming is supported in Windows 10, and the application appears to survive madVR display rate switching when used as an external player in Kodi. Unfortunately there are still audio issues when using MPC-HC 1.8.4 in Emby Theater. When display rate switching, an error pops up complaining (I think) about not being to connect some audio pins. Audio is then absent, but reappears if MPC-HC is closed then started again.
I haven't done enough comprehensive testing to determine if it is the display rate switching, or audio format change, that triggers the error with MPC-HC 1.8.4 in Emby Theater. The error is not evident when using PotPlayer with external LAV filters, so I am sticking with that combination for now.
Every receiver I have ever used has been able to take analog or PCM and apply Prologic since forever, including Yamaha.
I think you have a point, but in my system it only works if I configure Intel Display Audio in Windows as stereo. I can then get sound out of the center speaker as well as L and R. However, if I configure it as 5.1 surround then the signal received by the Yamaha is 3/2/0.1 even when the source is stereo PCM, and I hear no sound from the center speaker. I have seen this issue arise with other media players outputting HDMI sound through AV receivers. The receiver is expecting to receive signal from all channels, and does not apply Prologic II.
Well, that any 2012 receiver wouldn't be able to apply PLII to PCM, to me is weird in itself.
Would you happen to output stereo PCM in 192 kHz by any chance? I seem to remember the documentation for the DSP in my receiver specifying that PLIIx works up to to 96 kHz max.
I always ever output at 48 kHz. With my Yamaha at 2012 vintage I don't think I would get any sound at any other frequency, although I think I have only ever tested it with 44.1 kHz because there are some videos that come with AAC at that frequency.
el Filou
17th February 2019, 04:42
I think you have a point, but in my system it only works if I configure Intel Display Audio in Windows as stereo. I can then get sound out of the center speaker as well as L and R. However, if I configure it as 5.1 surround then the signal received by the Yamaha is 3/2/0.1 even when the source is stereo PCM, and I hear no sound from the center speaker. I have seen this issue arise with other media players outputting HDMI sound through AV receivers. The receiver is expecting to receive signal from all channels, and does not apply Prologic II.Ah yes, I had the same problem as you, it's due to Windows' 'shared mode' (mixer) audio API, which outputs to the number of channels and format configured in the system for the audio interface.
You can work around it by using applications that have an audio renderer that supports 'exclusive mode'. Those can take control of Windows audio and reconfigure the output (channels/format) exactly as they want, to match the source. In MPC the 'Internal Audio Renderer' can do that if you check the Exclusive mode box.
When using that, your receiver won't have to deal with 'silent channels' anymore when playing 2-channel sources (and you'll be able to apply Prologic).
Applications that don't use exclusive mode - like web browsers - will continue to use the number of channels you configured for the shared mode (so on the HTPC I set it to 2-channel so that I can have Prologic with YouTube).
raymondjpg
17th February 2019, 05:52
Ah yes, I had the same problem as you, it's due to Windows' 'shared mode' (mixer) audio API, which outputs to the number of channels and format configured in the system for the audio interface.
You can work around it by using applications that have an audio renderer that supports 'exclusive mode'. Those can take control of Windows audio and reconfigure the output (channels/format) exactly as they want, to match the source. In MPC the 'Internal Audio Renderer' can do that if you check the Exclusive mode box.
When using that, your receiver won't have to deal with 'silent channels' anymore when playing 2-channel sources (and you'll be able to apply Prologic).
Applications that don't use exclusive mode - like web browsers - will continue to use the number of channels you configured for the shared mode (so on the HTPC I set it to 2-channel so that I can have Prologic with YouTube).
Thanks for that tip. I'll certainly try it out, but before that my priority would be to try and work around loss of audio when using MPC-HC and display rate switching with madVR. Otherwise I'm limited to using PotPlayer.
I don't have my HTPCs open ATM but on one of my technical (desktop) PCs running Windows 7, in an earlier build of MPC-HC 64 bit (1.7.15) I was able to set the audio renderer check box for exclusive mode when the audio output was set to Default Direct Sound Device. Would that overcome the 'silent channels' issue, or does the audio output have to be set to Internal Audio Renderer? That would make sense if Windows is still in control of audio with Default Direct Sound Device.
Mevunky
17th February 2019, 06:05
I think you have a point, but in my system it only works if I configure Intel Display Audio in Windows as stereo. I can then get sound out of the center speaker as well as L and R. However, if I configure it as 5.1 surround then the signal received by the Yamaha is 3/2/0.1 even when the source is stereo PCM, and I hear no sound from the center speaker. I have seen this issue arise with other media players outputting HDMI sound through AV receivers. The receiver is expecting to receive signal from all channels, and does not apply Prologic II.
This makes sense, however I see no reason to set Windows to anything other than stereo mode, for proper surround everything is bitstreamed anyway. I have always set all machines to 2.0 as 99% of generic sound content is 2.0 which keeps everything in check and fixes your PL issues - as for the rest its bitstreamed and bypasses the shared mixer anyways. I personally see no upside in setting Windows to anything other than 2.0.
raymondjpg
17th February 2019, 06:29
This makes sense, however I see no reason to set Windows to anything other than stereo mode, for proper surround everything is bitstreamed anyway. I have always set all machines to 2.0 as 99% of generic sound content is 2.0 which keeps everything in check and fixes your PL issues - as for the rest its bitstreamed and bypasses the shared mixer anyways. I personally see no upside in setting Windows to anything other than 2.0.
I'll certainly try setting Windows to stereo mode, but my priority is to try and work around loss of audio when using MPC-HC and display rate switching with madVR. Otherwise I'm limited to using PotPlayer.
The problem I see with setting to stereo is playing back multi-channel AAC. I haven't found an AV receiver yet that will decode AAC sound so the only option is to decode using LAV audio, ffdshow, or AC3 Filter and (if AC3Filter is set for transcoding PCM to AC3) transcoding on the fly. I don't know how Windows and the receiver would cope with multi-channel PCM, if Windows was set to stereo only mode and AC3 Filter (and/or ffdshow) was disabled.
raymondjpg
17th February 2019, 07:55
I had another go at setting MPC-HC 1.8.4 as the external player in Emby Theater, this time with the Exclusive mode checkbox selected under Audio Renderer.
1. With audio output set to Default DirectSound Device, behaviour as before. Sound does not survive madVR refresh rate changing.
2. With audio output set to Internal Audio Renderer, sound does survive madVR refresh rate changing. However, it appears that AC3Filter's automatic association with post-processing MPC-HC sound is lost because stereo PCM (now received at the Yamaha receiver as stereo) was not transcoded to AC3. This would not matter too much if the only PCM we wanted to transcode was stereo. I think it might matter more if we wished to transcode multi-channel PCM.
3. Setting AC3 Filter as a preferred External Filter in MPC-HC, E-AC3 (at least) appeared to be decoded to PCM i.e. no longer bitstreaming as desired.
It may be that I have just not found the correct combination of settings. I may try again, but for now I have returned to PotPlayer and external LAV filters.
Edit: On closer scrutiny, it appears that AC3Filter's automatic association with post-processing MPC-HC sound is NOT lost when audio output set to Internal Audio Renderer, and after madVR refresh rate changing. However, the audio delivered to the AV receiver is PCM sound until video play is stopped then started again. Same with E-AC3. After madVR refresh rate changing, the audio delivered to the AV receiver is PCM sound until video play is stopped then started again.
This is not as bad as no audio after refresh rate changing, but I would still prefer to see the correct audio format delivered to the AV receiver after refresh rate changing.
Mevunky
18th February 2019, 07:07
I would look at avoiding multi-channel AAC content entirely? It is not a great way to do surround (hence why many receivers don't support it) this would go a long way to solving some of your problems.
el Filou
18th February 2019, 16:50
Why is AAC "not a great way to do surround"? It's certainly higher quality/size than AC3, and fine if you don't use the features associated with Dolby metadata.
raymondjpg
18th February 2019, 23:57
I would look at avoiding multi-channel AAC content entirely? It is not a great way to do surround (hence why many receivers don't support it) this would go a long way to solving some of your problems.
It's not so much a matter of avoiding multi-channel AAC content as coping with it when it does arise. I acknowledge I do not see many examples of multi-channel AAC content, and it is some time since I last saw one.
I don't know why people use it to code media. It may be because source TV material is multi-channel AAC (probably unlikely because there are no AV receivers available to decode it) or because there is an attempt to maximise compression to keep file size to a minimum. In my neck of the woods we only have stereo TV channels and the tendency is to broadcast AC3 on HD channels, although there is some AAC on SD channels. In the past (some time ago) there was experimentation with multi-channel but IIRC it was AC3 audio.
While AC3 Filter and ffdshow still work in Windows 10 my HTPCs can transcode PCM decoded from all AAC formats by LAV filters, and given that bitstreaming with external LAV filters doesn't work for me in Windows 10, directing AC3Filter to be used for AC3 and DTS, and specifying those formats for bitstreaming in AC3 Filter, overcomes that obstacle.
I'd be more concerned that AC3 Filter and ffdshow might cease to work in future builds of Windows 10. I have no basis for that concern, but neither application has seen any development since 2012.
arrgh
19th February 2019, 23:09
@raymondjpg
I use a lot AAC5.1 in mkv, because it gives indeed a lot quality/size... for me it is the "HEVC for Audio"...
unfortunately I can not find an AV receiver which can decode it (at least I found nothing confirmed; on top of it, some say that this can not work, since HDMI is not specified to work with AAC);
since my old receiver requires DTS or DD (PCM maxed at 2 CH), I'm in a catch...
luckily MPC-BE's internal Audiorenderer is able to transcode AAC5.1 to AC3 on the fly; even on my small machine I have no (detectable) delay (very likely at the price of some additional quality loss)...
in any case, I hope MPC-BE will not drop this feature !
raymondjpg
19th February 2019, 23:23
luckily MPC-BE's internal Audiorenderer is able to transcode AAC5.1 to AC3 on the fly; even on my small machine I have no (detectable) delay (very likely at the price of some additional quality loss)...
in any case, I hope MPC-BE will not drop this feature !
I did not know that. I'll take another look at MPC-BE, but I've not been able so far to find a colour balance output from MPC-BE that I like the look of.
Aleksoid1978
19th February 2019, 23:44
luckily MPC-BE's internal Audiorenderer is able to transcode AAC5.1 to AC3 on the fly
Not Audio Renderer - Audio Decoder :)
arrgh
20th February 2019, 00:08
Not Audio Renderer - Audio Decoder :)
sorry, it's late...:o
@raymondjpg
at the moment my setup in MPC-BE is :
- external LAV-Splitter
- external LAV-Video-Decoder
- internal MPC-BE Audio-Decoder
- external subtitle renderer (I hope this time it's correct) XySubFilter
- external video renderer madVR
raymondjpg
20th February 2019, 22:56
@raymondjpg
at the moment my setup in MPC-BE is :
- external LAV-Splitter
- external LAV-Video-Decoder
- internal MPC-BE Audio-Decoder
- external subtitle renderer (I hope this time it's correct) XySubFilter
- external video renderer madVR
That combination is working well for me, except I am quite happy to use the internal sbtitle renderer.
Thanks for bringing it to my attention.
el Filou
21st February 2019, 18:08
@nevcairiel Would it be possible to add an option to the Mixing feature like 'only mix if less than 5 channels' ?
Explanation: I don't bitstream, and sometimes I encounter sources that need to be modified to output them in LPCM over my HDMI which only accepts 2.0, 5.1, and 7.1 (no idea if it's a limitation of the AVR, the HDMI standard, Windows, or NVIDIA :(). Now, LAV has specific options to handle 1.0 > 2.0 and 6.1 > 7.1 and also an option to convert the rest to 5.1 by adding silent channels, but for cases like these:
- 4.0 L C R BC
- 4.0 L R SL SR
- 3.0 (or 3.1) L C R (LFE) (just encountered such a track on the Shin Godzilla Blu-ray which prompted me to ask)
-- so basically anything that is more than 2.0 but less than 5.0/5.1 -- I prefer to downmix them to 2.0 and then use PLII(x) in my receiver to upmix back rather than add silent channels because that doesn't sound as immersive.
An option 'only mix if less than 5 channels' would be great: LAV could then be configured to mix all those cases to 2.0 but not touch 5.1/6.1/7.1.
Thanks a lot if this sounds reasonable to you.
PS: maybe someone is going to answer that I could just enable mixing to 5.1/7.1 and check 'don't mix stereo sources', but I tried it and it doesn't apply PLII(x) decoding when doing that which I would like.
ryrynz
21st February 2019, 20:34
That sounds like a really great feature. Nice one.
nevcairiel
21st February 2019, 20:57
I'm not sure I agree its that great. There is so many corner cases where I don't see how some algorithm to create surround can be better then keeping the surround sound.
For example:
- 4.0 L C R BC
All this is missing is a LFE, otherwise it could nicely fill a 5.1 if you map the back-center to the surround channel.
- 4.0 L R SL SR
This already has dedicated surround channel, but no center. A center is IMHO not that crucial if your speakers are setup for a proper stereo image.
Honestly outside of special cases like 2.1 or 3.0 which barely have any channel beyond stereo, I'm not sure I see it.
Sunspark
22nd February 2019, 03:37
In my case, I have a challenge with downmixing. My system is a 2.1 which I've had a long time. It's a good one, and I can only hear in 1 ear anyway so I haven't felt the need for anything with more channels.
Windows is set to stereo, and it comes out of the 3.5mm jack to the subwoofer, which then feeds the satellites. The sub has its own % dial, and the satellites are the volume control. I leave windows set at 67% volume because the output is not digital, though the player itself internally is set for 100%.
The problem is, even with MPC-HC set to exclusive mode and LAV downmixing to stereo, source material using 6 channel E-AC3, specifically L R C LFE Ls Rs which gets downmixed to 2.0, I am finding that a lot of dialogue, etc is too quiet or it feels like it has flat spots in the audio. I attempt to compensate for it by turning normalize on in the MPC-HC audio switcher options to 400% which helps make speech louder.
I just wonder if there's something I should try differently or if this is something LAV could do differently. I know MPC-HC in the audio switcher has an option which I've never tried, "enable custom channel mapping" for a # of input channels and you can place checks for a dizzying variety of positions but the MPC-HC programmer wrote years ago that this function should not be used for downmixing, and to do the downmixing in the decoder..
I find that source material which originates as stereo has louder and clearer speech than the 6-channel downmix to 2.0 equivalent in LAV.
Not expecting anything, just wondering if anything can potentially be downmixed differently whether via a different filter or some other method. Thanks!
nevcairiel
22nd February 2019, 08:22
If you're using LAV to downmix to stereo, you can try increasing the center mix level, thats what usually contains the dialogue.
I would recommend 1.0 at first, and see how it sounds, and maybe a bit higher from there.
Siso
22nd February 2019, 09:46
If you're using LAV to downmix to stereo, you can try increasing the center mix level, thats what usually contains the dialogue.
I would recommend 1.0 at first, and see how it sounds, and maybe a bit higher from there.
What about LFE when downmixing to stereo, it is set to 0, should we increase it?
nevcairiel
22nd February 2019, 09:48
Its personal preference, and depending on the frequency response of your stereo speakers.
Siso
22nd February 2019, 10:04
Its personal preference, and depending on the frequency response of your stereo speakers.
I see, thank you.
el Filou
22nd February 2019, 16:30
Ah yes, I understand that it would only be useful for a limited number of quite rare sources. No worries, I can still enable mixing manually of course.
Just one question about your advice:- 4.0 L C R BC
All this is missing is a LFE, otherwise it could nicely fill a 5.1 if you map the back-center to the surround channel.Would it be such a good idea in practice to do that? I feel like it would create a weird surround effect (my system is actually 6.1 btw). Or am I missing some information here and a 4.0 layout like this was actually meant to be reproduced on 2 or 3 surround speakers and not just a single back center? IIRC this was the popular surround layout before digital discrete 5.1 (I only ever see such tracks on DVDs of 80s movies whose original audio wasn't remastered), and I have no idea how they were doing things.
I need to make some multichannel wav files manually and compare PLII downmix with silent channels when I have the time one day.
clsid
22nd February 2019, 22:08
GCC 8.3 has been released.
LigH
22nd February 2019, 23:55
Not yet available in MSYS2, I believe...
clsid
23rd February 2019, 13:43
Nev makes his own mingw64 GCC (http://files.1f0.de/mingw/) builds. Several devs here use those.
nevcairiel
27th February 2019, 11:53
I saw that they released it, and I've updated my toolchain to it.
arrgh
28th February 2019, 23:23
@nevcairiel
by the way, the link to the 3D plugin on page 1 is still pointing to the old 2.7....
nevcairiel
28th February 2019, 23:40
The links will be updated when a new release is available that uses the new version.
Grimsdyke
1st March 2019, 14:00
And do I really have to install both Splitter and 'Splitter Source" ? What's the difference between these two ?
I need to 'bump' this because I noticed another problem !
Film: JUSTICE LEAGUE (German UHD)
MPC-BE with LAV filters
Playback hung every time in the same place. So first measure was to carefully clean the disc to remove dust or whatever.
But the problem was still there.
Now I thought that the disc was defective but to my surprise VLC played it without any problems !!
So I blocked 'LAV SPLITTER' in BE and now the movie plays fine !! Nev, do I loose anything if I keep 'LAV splitter' blocked ??
el Filou
1st March 2019, 14:27
If you search the thread you'll find posts by nev explaining the difference: splitter source opens the file itself to read from it and demux, while splitter only demuxes the data it receives from the system file reader filter ("file source async") that is used to read the raw data from media.
Grimsdyke
1st March 2019, 19:07
O.K., but why are 'Splitter' and 'Splitter Source' messing things up during playback ??
el Filou
1st March 2019, 23:23
No idea.
I think nevcairiel has said that Splitter Source is 'the old way' to read files, but at least in my experience it's more stable.
On my system I had to force use of LAV Splitter Source with MediaPortal because otherwise it would sometimes crash to desktop when using File Source Async + LAV Splitter when starting playback of files.
Hi all.
With LAV Filters 0.73.1.19-git madVR's ivtc algorithm stopped working on 29.970 video.
huhn
4th March 2019, 17:15
can you try 0.73.1.28?
if this still doesn't work i will try to reproduce it. still don't even see a new way how lav filter can stop madVR from running IVTC.
so just to be sure it doesn't work with native decoder it needs copyback or software decoding.
can you try 0.73.1.28?
if this still doesn't work i will try to reproduce it. still don't even see a new way how lav filter can stop madVR from running IVTC.
so just to be sure it doesn't work with native decoder it needs copyback or software decoding.
Of course. Same issue.
ivtc (https://drive.google.com/open?id=1udbk5XXf41qQI1grOVayNdtvV7VYVQuq)
no ivtc (https://drive.google.com/open?id=1_058WtRFVc55_3E21tSOGhZEYm3cP_gR)
huhn
4th March 2019, 18:45
IVTC is not supposed to be used after YADIF it's supposed to replace it.
use it on interlaced telecine streams not deinterlaced streams.
IVTC is not supposed to be used after YADIF it's supposed to replace it.
Will be the same. Checked.
sneaker_ger
4th March 2019, 18:58
I don't really understand. madvr's IVTC has to be enabled manually, does it not? LAV doesn't detect telecining.
And why are the colors in the screenshots different?
madvr's IVTC has to be enabled manually, does it not?
And why are the colors in the screenshots different?
Yep. Force film mode enabled.
Ask AMD. Screenshot 1 - 19.1.1 Radeon software, 2 - 19.2.3. This is all the difference.
el Filou
5th March 2019, 01:20
I don't have any NTSC material to test but with my PAL film material madVR's IVTC still works with LAV 0.73.1-28 and detects 2:2 cadence.
I don't have any NTSC material to test but with my PAL film material madVR's IVTC still works with LAV 0.73.1-28 and detects 2:2 cadence.
You can download it from here (https://drive.google.com/open?id=1-7H1JQDt8s-Qz0yzVKfpjVDh9kMzZbnn) (1GB) or here (https://drive.google.com/open?id=12fV82W-HG74WlbER6X10l6z8mmhEE9Eq).
Megalith
5th March 2019, 18:59
Is it normal that LAV Audio isn't activated for LPCM surround tracks?
nevcairiel
5th March 2019, 19:19
If its used or not is ultimately up to the player. But if it uses standard graph building rules, then it'll only insert filters if it actually needs them. And if the audio is already PCM, then it doesn't need a decoder.
el Filou
5th March 2019, 20:37
You can download it from here (https://drive.google.com/open?id=1-7H1JQDt8s-Qz0yzVKfpjVDh9kMzZbnn) (1GB) or here (https://drive.google.com/open?id=12fV82W-HG74WlbER6X10l6z8mmhEE9Eq).LAV outputs the stream as progressive, that's why (if you set LAV Deinterlacing Mode to Force, madVR's ivtc kicks in and detects 4:2:2:2 cadence).
Maybe an ffmpeg update caused this?
nevcairiel
5th March 2019, 20:43
As far as I can tell, that stream is actually progressive. MediaInfo also agrees.
huhn
6th March 2019, 00:08
the file is 4:2:2:2 as said before and madVR can't frame time correct this so everything is working as intended here.
el Filou
6th March 2019, 12:15
Have a look at DMU's screenshots again: with 0.73.1, madVR's (forced) film mode worked and detected the 4:2:2:2 cadence, and with 0.73.1-19 and later it doesn't.
Edit: sorry, I think I misunderstood, did you mean that madVR can detect a 4:2:2:2 cadence, but not decimate it to 2:2:2:2 ?
Edit 2: based on this entry in madVR's changelog, it should work:v0.87.15:
* fixed: #201: decimation didn't work with 4:2:2:2 cadenceOf course. Same issue.
ivtc (https://drive.google.com/open?id=1udbk5XXf41qQI1grOVayNdtvV7VYVQuq)
no ivtc (https://drive.google.com/open?id=1_058WtRFVc55_3E21tSOGhZEYm3cP_gR)So if this behaviour is expected as LAV output is progressive, it means there was a bug previously in LAV that outputted this stream as interlaced and it was fixed?
@DMU if this stays as it is now, maybe try and ask madshi to implement progressive cadence detection and decimation?
Or switch LAV manually to Force interlaced output when you play such a DVD, this allows madVR's film mode to work again.
nevcairiel
6th March 2019, 12:54
You can also press Ctrl-Alt-Shift-T a few times to ensure madVR treats it as film content and applies IVTC. I don't see anything wrong with how LAV outputs that video.
IVTC in madVR is never fully automatic.
huhn
6th March 2019, 15:23
4:2:2:2 is not frame time corrected which makes it not 100 % reliable unlike 3:2.
http://bugs.madshi.net/view.php?id=201
you are just wasting your time at 60hz.
madVR will always try to IVTC if it is setup to do so and if the file is interlaced.
so the only "issue" here is if the file is supposed to be interlaced or not.
Have a look at DMU's screenshots again: with 0.73.1, madVR's (forced) film mode worked and detected the 4:2:2:2 cadence, and with 0.73.1-19 and later it doesn't.
Edit: sorry, I think I misunderstood, did you mean that madVR can detect a 4:2:2:2 cadence, but not decimate it to 2:2:2:2 ?
Can decimate, as u can see: screenshot (https://drive.google.com/open?id=1N9x79HUAW2Fu-EjQF-IuGSeDxjgrBBQc)
Edit 2: based on this entry in madVR's changelog, it should work
Yep, it work.
So if this behaviour is expected as LAV output is progressive, it means there was a bug previously in LAV that outputted this stream as interlaced and it was fixed?
I think yes.
@DMU if this stays as it is now, maybe try and ask madshi to implement progressive cadence detection and decimation?
It would be cool, but my english is not very good. I do not know if he will understand me.
Or switch LAV manually to Force interlaced output when you play such a DVD, this allows madVR's film mode to work again.
This is not a good way to use permanently :(
mzso
12th March 2019, 13:49
Hello!
It seems I can't play UT-Video YUV files. MPV plays the files just fine. LAV does not load for this in MPC-HC. (And the system decoder only produces black)
I tried this format only, but I expect other won't play as well, there are a lot of UT variants now:
Video
ID : 1
Format : V_MS/VFW/FOURCC / ULH4
Codec ID : V_MS/VFW/FOURCC / ULH4
Duration : 59 s 702 ms
Bit rate : 216 Mb/s
Width : 1 600 pixels
Height : 1 200 pixels
Display aspect ratio : 4:3
Frame rate mode : Variable
Color space : YUV
Stream size : 1.50 GiB (98%)
Writing library : Lavc58.43.101 utvideo
Language : English
Default : Yes
Forced : No
Color range : Full
Color primaries : BT.709
Matrix coefficients : BT.709
nevcairiel
12th March 2019, 14:58
LAV Video supports UtVideo, however they keep adding more and more types that are all more or less the same thing, so its hard to keep up.
I've added more types just now that ffmpeg seems to know about, including ULH4.
mzso
12th March 2019, 19:12
LAV Video supports UtVideo, however they keep adding more and more types that are all more or less the same thing, so its hard to keep up.
I've added more types just now that ffmpeg seems to know about, including ULH4.
Yep, the list (http://umezawa.dyndns.info/archive/utvideo/utvideo-20.2.0-readme.en.html) is pretty extensive, I count seventeen. Not sure if ffmpeg works with all though.
Taurus
12th March 2019, 20:08
I've added more types just now that ffmpeg seems to know about, including ULH4.
Thank you :thanks:
nevcairiel
12th March 2019, 22:45
Yep, the list (http://umezawa.dyndns.info/archive/utvideo/utvideo-20.2.0-readme.en.html) is pretty extensive, I count seventeen. Not sure if ffmpeg works with all though.
I think the UtVideo Pro formats may not be supported (yet), but all others I added today I believe
sneaker_ger
13th March 2019, 10:18
dav1d in newest nightly is working fine. Thx. :)
lvqcl
13th March 2019, 18:43
Here are the results of my small test of decoder performance:
Test app: graphstudio / graphstudio64
Test codecs: LAV Filters 0.73.1-36 and MPC-BE standalone filters 1.5.3.4462.
Test CPU: Intel Core2 Q9300 (quad core, up to SSE4.1, no AVX)
Test video: Gangnam Style 720p from Youtube
Results:
x86 LAVFilters 0.73.1-36: 76.3 FPS
x86 MPC-BE filters 1.5.3.4462: 82.7 FPS
x64 LAVFilters 0.73.1-36: 84.8 FPS
x64 MPC-BE filters 1.5.3.4462: 91.6 FPS
CPU usage for LAV Filters is also less than for MPC-BE: 72% vs 82%.
It seems that LAV Filters doesn't use as many threads to decode AV1 as MPC-BE. This results is slightly less CPU usage and slightly less decoding performance.
nevcairiel
13th March 2019, 20:43
LAV uses as many threads as your CPU has threads, while MPC-BE uses more. Using more is beneficial in benchmarking, but not in playback, as it might starve the renderer to overtax the CPU, which is why I changed LAV to not do that anylonger.
You can adjust the thread count yourself if you feel like testing. MPC-BE uses Thread * 1.5 (ie. 50% higher).
lvqcl
13th March 2019, 21:37
Indeed, I set the number of threads to 6 and now I can get ~94 FPS from LAV Filters.
Pat357
15th March 2019, 00:20
I have some trouble playing an AV1 encoded file with MPC-HC or MPC-BE on my SkylakeX i9-7940X system.
In the MadVR OSD, I see the decoder cue dropping from 16 to 0-1 and obviously the the playback is very jerky. Just unwatchable !
- File (300MB) : https://mega.nz/#!1Bo0EIRT!es4Zu0K3cKS9DIt9xmFS_t-5La0texjPChfQri8VTEM
- Cut a small piece with only 500 frames (46 MB) : https://mega.nz/#!tZ5kgaKJ!IQqBnuiIOPwicuRQJCNv9LhWerEAg003ymoOjHjyNw0
This is what MediaInfo tells about this file :
General
Complete name : D:\film\UHD-HD\Stream3_AV1_4K_13.9mbps.webm
Format : WebM
Format version : Version 4
File size : 300 MiB
Duration : 3 min 1 s
Overall bit rate : 13.9 Mb/s
Writing application : aomenc 1.0.0
Writing library : libwebm-0.2.1.0
Video
ID : 1
Format : AV1
Format/Info : AOMedia Video 1
Format profile : Main@L5.0
Codec ID : V_AV1
Duration : 3 min 1 s
Bit rate : 13.3 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 25.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.064
Stream size : 288 MiB (96%)
Language : English
Default : Yes
Forced : No
Color range : Limited
I did some tests by compiling ffmpeg with libaom and libdav1d and the results are amazing : libdav1d is almost 4x faster than libaom on decoding this file !
Maybe it's time to replace libaom by libdav1 in LAVFilters ?
Nevcairiel, what's your opinion about this ? Is this feasible with not to much work ?
nevcairiel
15th March 2019, 00:22
You should really read the last 4 posts just directly above yours.
Pat357
15th March 2019, 01:09
You should really read the last 4 posts just directly above yours.
Dam, you're really fast !
I ask something today and you had it ready yesterday as we speak !
I noticed a problem with the 32bit version on my system : the player closes immediately upon opening the above mentioned file.
Naam van toepassing met fout: mpc-be.exe, versie: 1.5.3.4455, tijdstempel: 0x5c7f3025
Naam van module met fout: avformat-lav-58.dll, versie: 58.26.101.0, tijdstempel: 0x00000000
Uitzonderingscode: 0xc0000005
Foutmarge: 0x000031f8
Id van proces met fout: 0x3034
Starttijd van toepassing met fout: 0x01d4dac9349ddd69
Pad naar toepassing met fout: D:\programs\MPC-BE.1.5.0.1997.x86\mpc-be.exe
Pad naar module met fout: d:\programs\LAV Filters\x86\avformat-lav-58.dll
Rapport-id: 8d7e6434-5d59-4595-9710-5a297dc965b7
Volledige pakketnaam met fout:
Relatieve toepassings-id van pakket met fout:
I had the same problem with the 32bit version from Videolan cmdline AV1 decoder dav1d.exe : as soon as I used more than 6 frame-threads, I got a message that it could not allocate memory to initialise.
As soon as I patched the header from dav1d.exe to -Wl,large_addres_aware, I was able to up the freamethreads to 16. (it used 1900 MB then)
My feeling tells me this is the same problem.
My system i9-7940X has 14C/28T.
I guess only the systems with a lot of cores are affected.
Could you please test my sample from above on a system with a lot of cores with a 32bit player ?
nevcairiel
15th March 2019, 01:13
I said 4 posts. :p Here, have a link to help you out https://forum.doom9.org/showthread.php?p=1868640#post1868640
And here, have another link: https://files.1f0.de/lavf/nightly/
sneaker_ger
15th March 2019, 07:53
dav1d developers are aware that it uses more memory than necessary.
So 1 more link:
https://code.videolan.org/videolan/dav1d/issues/257
nevcairiel
15th March 2019, 10:06
with a 32bit player ?
You should switch to 64-bit, there is no getting around that 32-bit is going to severely limit you eventually, both in performance and available memory.
There is nothing I can do to fix that. As sneaker_ger said, dav1d uses a bit too much memory on 8-bit and/or 4:2:0/4:2:2 samples, but even if that is fixed, it only slightly moves the resource limit, nevermind the significantly slower decoding on 32-bit (since the majority of the AVX2 code is 64-bit only).
When I try decoding such a 4K AV1 stream on my 7900X on 32-bit, all I get is a black screen because it runs out of memory instantly without lowering the thread count. Its not supposed to crash, but I guess there are still some unchecked allocations left somewhere.
Some numbers to further demonstrate how futile 32-bit is. I set LAV to 10 threads on my 10-core CPU, since that seems to allow it to safely run on 32-bit, and benchmarked the full 4K clip you posted
32-bit 10 threads: 63 FPS
64-bit 10 threads: 130 FPS
64-bit auto threads: 145 FPS
So by moving from 32-bit to 64-bit, you can more then double the FPS these files decode at, and thats not going to change much. Even once the memory usage is reduced and you can run more threads on 32-bit, all the fast AVX2 code is going to remain 64-bit only, which will make 64-bit dav1d almost twice as fast on 64-bit if AVX2 is supported.
In any case, whatever reason someone has to stick to 32-bit, it should really be re-evaluated.
Grimsdyke
15th March 2019, 10:24
@ nev. Would it maybe an idea to add (basic) profile ability ??
I am asking because on my system I can use DXVA2-copyback on everything up to 1080p but unfortunately I do need D3D11-native for UHD !!
Sorry for 'bumping' this thread but after three months I thought I could ask again because yesterday evening I compared render times watching the Italian "SUSPIRIA"-BD.
D3d11 native: ~ 28.8 msec
DXVA2 copyback: ~ 23.8 msec
I think that is a huge difference and I really could use these 5 msec to further increase performance in MadVR !! I am of course aware that I could always change this every time
depending on the content but I think software should do these tasks for users.
I understand that a profile system might be way too much work but it would be great to have a basic setting so that LAV chooses automatically the decoder !!
Something like:
SD = DXVA2 copyback
HD = DXVA2 copyback
4K = D3D11 native
You could make also it optional so that users with enough GPU horsepower don't even have to bother. Best wishes
nevcairiel
15th March 2019, 10:29
I'm sorry, but I don't plan such functionality. D3D11 native should always be the most efficient, note that render times are not really a good measurement, since they depend on the power state of the GPU, which can vary a lot (and if you use a more efficient decoder, maybe it drops down a state)
lvqcl
15th March 2019, 18:56
Dam, you're really fast !
As soon as I patched the header from dav1d.exe to -Wl,large_addres_aware, I was able to up the freamethreads to 16. (it used 1900 MB then)
My feeling tells me this is the same problem.
IIRC the support of more than 2GB of RAM is a property of a program, not DLL files that are loaded by the program. And MPC-BE does have LargeAddressAware flag (although I wonder why LAV files don't have it).
nevcairiel
15th March 2019, 19:19
LargeAddressAware has absolutely no impact on DLLs, its always controlled by the calling application.
sneaker_ger
15th March 2019, 20:21
Some numbers to further demonstrate how futile 32-bit is. I set LAV to 10 threads on my 10-core CPU, since that seems to allow it to safely run on 32-bit, and benchmarked the full 4K clip you posted
32-bit 10 threads: 63 FPS
64-bit 10 threads: 130 FPS
64-bit auto threads: 145 FPS
So by moving from 32-bit to 64-bit, you can more then double the FPS these files decode at, and thats not going to change much. Even once the memory usage is reduced and you can run more threads on 32-bit, all the fast AVX2 code is going to remain 64-bit only, which will make 64-bit dav1d almost twice as fast on 64-bit if AVX2 is supported.
For the record: SSSE3 difference seems to be only about 15%.
DMU
16th March 2019, 10:47
I can not activate h/w decoding vp9 on AMD Vega GPU in LAV.
Screen 1 (https://drive.google.com/open?id=1_uR37H_nZJy0XFOd27iLgc90DCaV0lfP)
In MS Edge all ok.
Screen 2 (https://drive.google.com/open?id=1ouqs-lmFXuaIBtz0jboHkvLmctJ5QoHy)
NikosD
16th March 2019, 11:10
I can not activate h/w decoding vp9 on AMD Vega GPU in LAV.
Screen 1 (https://drive.google.com/open?id=1_uR37H_nZJy0XFOd27iLgc90DCaV0lfP)
In MS Edge all ok.
Screen 2 (https://drive.google.com/open?id=1ouqs-lmFXuaIBtz0jboHkvLmctJ5QoHy)Edge uses a different mode for HW acceleration than LAV and any other decoder out there.
It's extremely optimized for DXVA using MFT.
For LAV use DXVA2 native NOT dxva copy-back to see the difference.
Still, Edge is even more optimized.
nevcairiel
16th March 2019, 11:43
As far as I can tell, Vega doesn't support VP9 through DXVA2. I don't own such hardware, so I cannot test, but there is no hardware specific logic in LAV, so if it doesn't work, then the driver doesn't actually expose that mode.
el Filou
16th March 2019, 13:18
Amazing speedup from dav1d in new nightly, on a 6,5 Mbps file I went from 22 to 39 avg fps on my old Core 2 Duo. Still not enough to watch a movie unfortunately, as some scenes where the bitrate goes very high still bring frame drops.
64-bit only brought a 2 fps improvement, I guess because a CPU that old doesn't have the optimized instruction sets that are used. :(
nevcairiel
16th March 2019, 15:44
LAV Filters 0.74
LAV Splitter
- Changed: Using GnuTLS for HTTPS and other TLS protocols, improving performance and compatibility with a lot of web streaming services (ie. YouTube Live Streams through youtube-dl, and more)
- Fixed: Keyframes in MP4 files were being reported with a slightly offset timestamp, resulting in slow keyframe seeking
- Fixed: Subtitles that stretch over chapter boundaries could be lost in Ordered Chapter MKV files
- Fixed: Fonts embedded in MKVs without a proper mimetype were not being imported (now it checks the file extensions for .ttf/.otf as well)
LAV Video
- NEW: Initial support for parsing HDR10+ (SMPTE ST 2094-40) metadata, and passing it to the video renderer
- NEW: Using the dav1d AV1 decoder for significantly improved AV1 decoding performance
- Changed: Re-enabled experimental hardware acceleration for H.264 MVC 3D decoding on Intel GPUs, disabled by default
- Changed: Updated Intel MediaSDK dispatchers to the latest Media SDK, fixing compatibility with newer runtimes in the Intel DCH drivers
- Changed: Improved support for additional UtVideo subtypes
LAV Audio
- Changed: Added an option to disable the PCM fallback when bitstreaming is requested
- Fixed: Further improvements to TrueHD Bitstreaming, resolving glitching on more new titles (particularly seamless branching titles)
- Fixed: Automatic fallback from bitstreaming to PCM could crash in some situations
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.74.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.74.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.74-x64.zip)
Not much to say that isn't already apparent from the Change Log above. A lot of collected bugfixes, further improvements to TrueHD bitstreaming, which should to the best of my knowledge finally bring it to a fully spec compliant level, dav1d for fast AV1 decoding, and much more.
A quick note on HDR10+ support - without renderer support, this does nothing. Its just additional metadata, and does not impact the decoding of the video. It should feel much like an ordinary HDR10 movie if the metadata is being ignored, and what exactly a renderer does with that metadata is out of my hands.
As always, please report issues, specifically regressions, in as much detail as possible with a sample file if applicable.
Have fun!
Sebastiii
16th March 2019, 19:58
Thanks :) you rocks
hubblec4
16th March 2019, 20:01
Thank you for improving Matroska support.
Manni
16th March 2019, 20:10
Thanks a lot for your work, much appreciated, as always :)
jmone
16th March 2019, 23:20
Thanks. Quick test on MC25 was all good.
Carpo
17th March 2019, 12:38
Hi @nevcairiel
Thanks for the new release, I have a question I wonder if you or others could help me with, I often see people saying use x method over y ( DXVA2(native/copy) over D3D11) so I am never sure which to use, I have two systems
i7-7700K with a Nvidia 1080
and a
i7 4600K with a Nvidia 970
out of all the options, which would you suggest?
Thanks
Edit: I should have added that I have tried both and haven't noticed any difference.
nevcairiel
17th March 2019, 13:23
As a general purpose answer when using madVR, DXVA2 Copy-Back is generally the best, since its fully compatible with every feature in all renderers, is fully bit-exact, is reasonably fast (typically faster then D3D11 Copy-Back for complex reasons), and has no feature limitations.
The only reason to use something else is performance, which mostly applies to more low-end systems, where a "Native" mode is required to play 4K 10-bit content, for example, in which case D3D11 Native would be the best option, since it incurs no quality penality. Unfortunately madVR does not support all its features in D3D11 Native mode, so its hard to recommend it as a general option for everyone.
If you use EVR, then DXVA2 Native is usually the best option to use.
Just to mention all modes:
QuickSync or CUVID should generally not be used anylonger, in favor of DXVA2-CopyBack.
Carpo
17th March 2019, 14:53
Thanks Nev
bitterman
17th March 2019, 17:44
Thanks.
Sunspark
18th March 2019, 21:59
Danke nevcairiel for all the great work you do.
nevcairiel
19th March 2019, 09:43
LAV Filters 0.74.1
LAV Video
- Fixed: VP9 video could produce wrong timestamps, resulting in a black screen or other playback disruptions
- Fixed: Decoding VP9 from a non-keyframe (ie. after a seek, or badly cut file) would not always recover properly once a keyframe was encountered
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.74.1.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.74.1.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.74.1-x64.zip)
If you haven't seen the 0.74 release notes yet, you can find them here (https://forum.doom9.org/showthread.php?p=1869029#post1869029)
Just a few quick fixes for VP9 decoding on top of 0.74.
As always, please report issues, specifically regressions, in as much detail as possible with a sample file if applicable.
Have fun!
mzso
19th March 2019, 17:59
LAV Filters 0.74
- Changed: Improved support for additional UtVideo subtypes
Hi!
I guess UT Video T2 RGB video is not among what ffmpeg supports, because LAV only produces a black screen.
nevcairiel
19th March 2019, 18:38
I don't have any experience with UtVideo. I just pass it to ffmpeg. I suggest to try the ffmpeg commandline to see if it supports such videos.
mzso
19th March 2019, 19:26
I don't have any experience with UtVideo. I just pass it to ffmpeg. I suggest to try the ffmpeg commandline to see if it supports such videos.
Well, it gave an error for the same file: "Error while decoding stream #0:0: Invalid data found when processing input" repeated many times.
GCRaistlin
20th March 2019, 23:18
LAV Video seems to report the active hardware accelerator incorrectly.
The test system has dual graphics: AMD Radeon HD 6620G (integrated) and AMD Radeon HD 6750M (discrete). I renamed mpc-hc64.exe to ~mpc-hc64.exe (or else the video driver doesn't allow to use the discrete graphics for MPC-HC), set it to use the discrete graphics in Radeon Additional Settings applet, launched it - LAV Video decoder (0.74.1, tried internal 0.74.0, too) says: "Active Hardware Accelerator AMD Radeon 6620G" (while Switchable Graphics Application Monitor reports that ~mpc-hc64.exe is using the "High Performance" (discrete) GPU). If I set MPC-HC64 to use the integrate graphics LAV Video decoder reports the same. That is, switching between adapters doesn't affect what LAV Video is reporting.
Then I installed FurMark. By default, it uses the discrete graphics, shows 14 fps with it and reports: "AMD Radeon 6600M and 6700M Series". If it forced to use the integrated graphics it shows 2 fps and reports: "AMD Radeon 6620G". That is, it's really been switched and correctly reports what GPU is currently being used.
nevcairiel
21st March 2019, 02:03
With which hardware decoder mode is that?
Generally LAV will ask the D3D device it uses for decoding during startup about its name, and then store that name somewhere. If its being switched out behind its back, then it won't catch that (and since its cosmetic only, also not really care).
huhn
21st March 2019, 02:40
you are not supposed to rename anything to use a different GPU there are other ways that should work.
like display-> Graphics settings -> browse -> add mpc-hc and now you can manipulate windows to use a different GPU for that program.
clsid
21st March 2019, 02:46
To clarify: the setting that huhn refers to is found in the Windows settings app, and exists since Windows 10 1803.
GCRaistlin
21st March 2019, 08:22
With which hardware decoder mode is that?
Generally LAV will ask the D3D device it uses for decoding during startup about its name, and then store that name somewhere. If its being switched out behind its back, then it won't catch that (and since its cosmetic only, also not really care).
It's with dxva (copy-back). The D3D device wasn't definitely being switched out behind LAV's back as I first set MPC-HC to use the discrete graphics and only then launched MPC-HC. As for cosmetic only I don't completely agree with you as this info (if it is correct) could help to diagnose performance issues.
the setting that huhn refers to ... exists since Windows 10 1803.
The OS being used is Windows 8.1 x64.
nevcairiel
21st March 2019, 11:51
It's with dxva (copy-back). The D3D device wasn't definitely being switched out behind LAV's back as I first set MPC-HC to use the discrete graphics and only then launched MPC-HC. As for cosmetic only I don't completely agree with you as this info (if it is correct) could help to diagnose performance issues.
I didn't mean that you changed it, but possibly Windows or the driver does. I literally create the device and right after ask about its name. So either its really using the integrated graphics for decoding, or its lying to me somewhere.
I don't suppose you have any way to check which device is actually doing the decoding, based on hardware usage etc, instead of just trusting the tool that says it should be the dedicated?
kolak
21st March 2019, 14:32
Is there any reason why LAV decoder can't read MOV headers for color flagging (including new tags for master display information: https://patchwork.ffmpeg.org/patch/6409/) and pass it to madVR (like it does for h265)?
This would allow to play eg ProRes, DNxHR etc. HDR files to HDR TV.
nevcairiel
21st March 2019, 16:30
Of course, the reason is that the decoder doesn't get access to the container file. It can only read the video stream itself, anything else would require manual handling of some sort.
GCRaistlin
21st March 2019, 17:33
nevcairiel
Switching the GPU for an app is, for some unknown reason, often a hack thing in AMD systems, with all that renamings of exe's. So I was hoping to get another proof from LAV that all is working in the right way. The fact is that I can't see any difference in madVR's performance when MPC-HC set to use the integrated GPU or the discrete GPU. The conclusion is either 6620G and 6750M have the equal possibilities in video processing made by madVR or MPC-HC ignores the GPU setting and always uses the integrated graphics, though the driver reports the reverse.
el Filou
21st March 2019, 17:57
Configure DXVA Checker the same way as MPC-HC, then do a decode benchmark while monitoring your integrated and discrete GPU. If the iGPU is used for decoding you should see some GPU load on it even in pure decode mode.
GCRaistlin
21st March 2019, 20:59
Should I look at GPU Engine Usage? How to do a decode benchmark?
el Filou
21st March 2019, 21:55
Install DXVA Checker: http://bluesky23.yukishigure.com/en/DXVAChecker.html
go to DS/MF Decoder ==> Check Decoders ==> Select media file ==> click the arrow next to LAV Decoder ==> Decode Performance ==> DXVA2.
For usage monitoring you can use GPU-Z: https://www.techpowerup.com/gpuz/
GCRaistlin
22nd March 2019, 10:35
Is it normal that I have "Unsupported" under "LAV Video Decoder" on DS/MF Decoder tab?
kolak
22nd March 2019, 11:38
Of course, the reason is that the decoder doesn't get access to the container file. It can only read the video stream itself, anything else would require manual handling of some sort.
Ok, so this info has to be inside stream headers, not container.
In case of ProRes and DNxHR it's (except master display info). They have private headers flagging inside as well.
nevcairiel
22nd March 2019, 11:40
Is it normal that I have "Unsupported" under "LAV Video Decoder" on DS/MF Decoder tab?
Yes. I'm not sure what it tries to read there, but it works regardless.
nevcairiel
22nd March 2019, 11:41
Ok, so this info has to be inside stream headers, not container.
In case of ProRes and DNxHR it's (except master display info). They have private headers flagging inside as well.
If you can provide example files, I could take a look. In theory there already are some mechanisms to transport this data, since I added it for HDR WebM Files, which only have it in the container data as well, but it needs to be implemented for every container specifically, unfortunately.
kolak
22nd March 2019, 14:08
In all cases you have the same container flagging (ProRes also has correct private frames headers flagging, but DNxHR/Cineform not). Best to relay on MOV flagging. In this case: colr, clli and mdcv tags. Those fully describe HDR content.
DNxHR also stores range info in ACLR tag. ProRes has no range info as it should be rather always limited range (although you can make full range file as well). Cineform has no known range flagging either.
Link:
https://drive.google.com/open?id=1DmtLfyNJbMR8UHMI0U3Pni2cSGvTQ1hq
Values for different standards HDR10, HLG etc are the same as for h265. Mediainfo has support for all those tags.
aufkrawall
24th March 2019, 01:38
Was schannel used before gnutls, but dropped due to onging problems with ffmpeg?
mbedtls serves me well in ffmpeg, but I suppose you got good reasons for gnutls. :)
ashlar42
25th March 2019, 22:29
Hi nevcariel, I'm trying to understand what the best road to bring madVR to Kodi, now that the DSPlayer fork seems to be dead for the foreseeable future.
While inquiring about the possibility of madVR as a binary add-on for Kodi, I got this answer (https://forum.kodi.tv/showthread.php?tid=335218&pid=2838575#pid2838575) from what used to be the main Kodi videoplayer coder.
At least from a theoretical point of view, it appears that having madVR as an "external" video renderer could be doable.
Which leads me to my question: if I understand things correctly, madVR "counts" on LAV Filters to pass on relevant info for proper HDR playback. Is this correct? Is this info coming from regular FFMPEG or is it your work. In the second case, do you see that part of your work moving upstream to FFMPEG main codebase (as Kodi is based on that too)?
If all of the above doesn't make sense, I'm sorry. Unfortunately I'm not a coder, I'm investigating this only to understand what would theoretically would be possible. Hoping that sooner or later an interested coder might look into it.
nevcairiel
25th March 2019, 22:35
FFmpeg extracts most of the information already, it would just be a matter of bringing it into a format that madVR understands. This format was defined in collaboration between madshi and myself, and it has no place in FFmpeg. All that would have to be implemented in the adapter between Kodi and madVR.
That said, madVR is not only a video renderer, but a DirectShow one, as such it expects a lot of particular behavior in a particular way, often not very obvious, trying to get Kodi to act like a DirectShow source that pushes data to madVR might be rather prone to a lot of complexity, so its not a task I would take lightly, or enjoy personally, for that matter.
Unfortunately, the number of developers working on free or even open-source DirectShow stuff can probably be counted on one hand, and any attempts at attracting new developers to help continue players like MPC-HC has already proven rather fruitless, as is perhaps also evident by the death of DSPlayer itself. Regardless, good luck!
oldpainlesskodi
26th March 2019, 10:27
Unfortunately, the number of developers working on free or even open-source DirectShow stuff can probably be counted on one hand, and any attempts at attracting new developers to help continue players like MPC-HC has already proven rather fruitless, as is perhaps also evident by the death of DSPlayer itself. Regardless, good luck!
The current version of Dsplayer still works. The only thing that changes is the lack of any new features from the main Kodi branch, as well as some of the addons.
But, there are a lot of people, myself included, that only use Dsplayer for local file playback, so I'll let go of Dsplayer, with Lav and MadVR, when hell freezes over ;)
ashlar42
26th March 2019, 12:56
That said, madVR is not only a video renderer, but a DirectShow one, as such it expects a lot of particular behavior in a particular way, often not very obvious, trying to get Kodi to act like a DirectShow source that pushes data to madVR might be rather prone to a lot of complexity, so its not a task I would take lightly, or enjoy personally, for that matter.Yeah, even though (sadly) I'm not a coder, I understand it would be a complex task. I hope that the existing DSPlayer codebase could give hints on how to proceed but I'm not sure (as DSPlayer completely substitutes Kodi videoplayer with DirectShow).
Unfortunately, the number of developers working on free or even open-source DirectShow stuff can probably be counted on one hand, and any attempts at attracting new developers to help continue players like MPC-HC has already proven rather fruitless, as is perhaps also evident by the death of DSPlayer itself. Regardless, good luck!Thanks. More than offering $500 in order to make the project go on I cannot do. And I understand that's not the kind of money that could generate motivation for something like this. But thanks for the info you provided and thanks for your wish of good luck. :)
ashlar42
27th March 2019, 19:06
On a different subject, this time exclusively concerning LAV Filters, I hope you can help me understand something, nevcariel.
I'm experimenting in using Google Drive as a source for video content (paid tier, not the free one). I am seeing some "strange" behavior when using LAV Splitter. If I open videos from Kodi, they generate a limited number of accesses on opening the file (3 or 4 typically). If I open them from MPC-HC, using LAV, I see potentially many more "download events", as Google calls them. I have the impression that this might be linked with the number of chapters in a given mkv file, but I'm not sure. Does any of this ring any bell? Is LAV "calling" a file multiple times before opening it for playback?
Thanks.
nevcairiel
27th March 2019, 23:08
Opening a file and reading its headers involves a number of seeks - in particular with MKV files (and also MP4 files), because they contain header information both in the beginning, and at the end of the file.
Over HTTP, a seek is a new request, so depending on the exact file structure, this could be a few requests. I have already optimized LAV to avoid seeks during straight playback, so that after it was opened and probed, it will play it straight through from start to finish in one request - however seek requests during startup cannot really be avoided without removing features.
ashlar42
28th March 2019, 11:37
Opening a file and reading its headers involves a number of seeks - in particular with MKV files (and also MP4 files), because they contain header information both in the beginning, and at the end of the file.
Over HTTP, a seek is a new request, so depending on the exact file structure, this could be a few requests. I have already optimized LAV to avoid seeks during straight playback, so that after it was opened and probed, it will play it straight through from start to finish in one request - however seek requests during startup cannot really be avoided without removing features.Thanks for your reply. I was imagining something similar. The only thing I don't understand is why, apparently, Kodi's internal VideoPlayer is generating less requests. Could that have to do with (lack of) MKV branching support (editions.... how are the multiple versions of a movie inside a single file called). Maybe LAV needs to check for that and Kodi doesn't?
This is just "academic" curiosity, by the way. Your reply was thorough and I surely don't want LAV to remove features. :)
sneaker_ger
28th March 2019, 11:41
Maybe it reads the beginning and end of file in bigger chunks into the buffer and then seeks to the specific header elements from that buffer?
groen
29th March 2019, 20:20
Can lav filters work on freebsd or is there a freebsd build? If not what is lacking in freebsd that means there can not be a lav filters for freebsd? Thank you.
nevcairiel
29th March 2019, 20:21
LAV Filters is Windows-only. It uses key windows components to function, as such there will never be a build for anything but Windows. In fact its entire premise is being a DirectShow filter - no DirectShow on BSD, no LAV Filters.
Blight
8th April 2019, 15:27
I am testing LAV Filters support for DSF/DSD/DXD high resolution audio and have some issues,
In graph studio:
1. I add LAV Splitter Source
2. I specify a previously downloaded sound ".dsf" file from here: http://www.2l.no/hires/
3. I connect the newly exposed Audio pin on the source filter to LAV Audio Decoder.
4. I try to connect the LAV Audio Decoder to the "default directsound" audio renderer and get an error:
[Window Title]
Connecting Pins
[Main Instruction]
VFW_E_UNSUPPORTED_AUDIO (0x8004025C)
[Content]
Cannot play back the audio stream: the audio format is not supported.
Connecting Pins (decimal -2147220900)
I tried with mixing enabled and disabled with no difference.
I suspect it may be the high bitrate not being supported by the audio driver, but I have hoped some down-mixing fallback would be in place for such cases.
nevcairiel
8th April 2019, 15:47
LAV does not offer resampling, so whatever audio renderer you are using would need to cope with the DSD sampling rates. On that note, downsampling is not the only thing you should be doing. DSD is full of ultrasonic noise, and you absolutely should apply a strong low-pass filter to get it out of the signal before resampling it, otherwise it'll cause audible distortions.
ashlar42
8th April 2019, 17:23
nevcariel, is there a possibility in the future for LAV Filters to offer an option to cache completely a file on a local hard drive for playback? Kodi's VideoPlayer offers this but I'm not sure if this is something that, in the DirectShow world, would be handled by the source/splitter filter or if it needs to be handled by the player itself.
Hoping this has not been asked in the past. Thank you.
huhn
8th April 2019, 17:53
you can already do something like that with the queue settings it's using the ram for that.
queue memory is the file size and queue packets the maximum number of "frames".
juffi
9th April 2019, 08:51
My setup: MPC-HC / MPC-BE (v1.5.3, build 4455), LAV Filters (0.73.1.30-git), MadVR. Intel NUC7i3BNK, Intel i3-7100U, Intel graphics driver 25.20.100.6618. Windows 10 Pro 1809.
3D MVC used to work a few week ago with the earlier Intel driver (v 6577). Now, when I start playback of an iso image, MPC-BE says: "Starting playback crashed". After 10 seconds or so playback starts without any audio. Changing playback position, and most any change, freezes playback completely. Closing the application thru task manager.
3D playback works nicely with Kodi. PowerDVD works but there is strange motion judder.
Is this LAV Filters problem or something else? Maybe caused by a Windows 10 change.
ashlar42
9th April 2019, 11:48
you can already do something like that with the queue settings it's using the ram for that.
queue memory is the file size and queue packets the maximum number of "frames".Yeah, I know about that and we've discussed this briefly here in the past weeks.
My problem is that nowadays RAM cannot necessarily be enough for current media (even with 32GB, which is currently, I believe, kind of the upper limit for "sane" installations). Summed to the fact that settings there are rather... opaque about how they actually impact cache size (I'm not sure they are limitless and I'm not sure how the two values interact among each other in order to define cache size, if there's clear documentation I must have missed it).
But mainly the first point. The second is more of a "if there was a "cache everything to disk as fast as possible" option everything would be easier for people with that kind of necessity".
nevcairiel
9th April 2019, 11:52
I don't have any plans for such a feature, sorry. Someone could write a file source filter that sits before LAV that does that, if one really wanted to.
el Filou
9th April 2019, 15:54
nowadays RAM cannot necessarily be enough for current media (even with 32GB).Apart from Blu-rays I don't see any media that wouldn't fit in 32 GB of RAM and even then, using a reasonable buffer of 24 GB you could buffer from 1/4 to 1/2 of the movie. Are you saying your network is so bad that 24 GBs of buffer still would cause drops? If yes then I would advise on manually copying your file to local storage before playback, or just permanently moving your media storage to the playback device.settings there are rather... opaque about how they actually impact cache size (I'm not sure they are limitless and I'm not sure how the two values interact among each other in order to define cache size, if there's clear documentation I must have missed it).The settings are not opaque at all as they were described in detail the last time we discussed it:
https://forum.doom9.org/showthread.php?p=1865530#post1865530
Even just the tooltips in LAV config are pretty self-explanatory.
Basically: set Maximum Queue Memory to the max RAM you want to use for buffering, then use the highest bitrate (and feature-length playtime) file you have to test while increasing Maximum Queue Packets until the player process uses up that amount of RAM.
I just did a test again: with a 25 Mbps UHD mkv, you need a ~20.000 paquet queue for a 2 GB buffer (which already holds 10 minutes of material), and it takes just 30 seconds of playback for MPC-HC to fill it up (from local HDD). Something like a 250.000 paquet queue should let you fill up a 24 GB buffer (leaving a bit of RAM for the other apps :D).
lvqcl
9th April 2019, 17:05
an option to cache completely a file on a local hard drive for playback?
"cache everything to disk as fast as possible" option
It's not clear for me what you want.
Do you want an option to read a file from a local HDD and cache it in RAM? Or an option to read a stream from network and cache it in a local HDD?
ashlar42
9th April 2019, 20:45
I don't have any plans for such a feature, sorry. Someone could write a file source filter that sits before LAV that does that, if one really wanted to.Thanks for your reply nevcariel. Not being a developer (absolutely far from it), I can't judge how tough of a job this would be.
From the top of my absolute ignorance, it doesn't sound too hard but, as mentioned, I have no clue. :)
It's not clear for me what you want.
Do you want an option to read a file from a local HDD and cache it in RAM? Or an option to read a stream from network and cache it in a local HDD?
The second one. Cache it all on a local HDD from a network source, downloading it as fast as the network allows (throttling options might be useful for somebody but I personally don't care too much and I'd be fine with an "all or nothing" approach).
Apart from Blu-rays I don't see any media that wouldn't fit in 32 GB of RAM and even then, using a reasonable buffer of 24 GB you could buffer from 1/4 to 1/2 of the movie. Are you saying your network is so bad that 24 GBs of buffer still would cause drops?Nope, my network is gigabit fiber and it really works at gigabit speeds. The reason I want to cache as much as possible is to avoid too many "pings" on the source, as those create problems of a different kind than playback performance (ie. API limits).
el Filou;1871400]The settings are not opaque at all as they were described in detail the last time we discussed it:
https://forum.doom9.org/showthread.php?p=1865530#post1865530
Even just the tooltips in LAV config are pretty self-explanatory.
Basically: set Maximum Queue Memory to the max RAM you want to use for buffering, then use the highest bitrate (and feature-length playtime) file you have to test while increasing Maximum Queue Packets until the player process uses up that amount of RAM.
I just did a test again: with a 25 Mbps UHD mkv, you need a ~20.000 paquet queue for a 2 GB buffer (which already holds 10 minutes of material), and it takes just 30 seconds of playback for MPC-HC to fill it up (from local HDD). Something like a 250.000 paquet queue should let you fill up a 24 GB buffer (leaving a bit of RAM for the other apps :D).Ok, I concede... it's not settings that are opaque. My brain more likely is. Thanks for the in depth reply. I'll test this (although on my HTPC I have "only" 16GB), this is much appreciated.
Edit: although... from a local source (thus speed not being a problem), setting 16,000 MB and 250,000 packets has MPC-HC x64 stopping at about 4,2 GB of RAM used. Maybe there's a limit in LAV Filters? Maybe the format of the variable doesn't allow for such a big number?
nevcairiel
9th April 2019, 21:16
Edit: although... from a local source (thus speed not being a problem), setting 16,000 MB and 250,000 packets has MPC-HC x64 stopping at about 4,2 GB of RAM used. Maybe there's a limit in LAV Filters? Maybe the format of the variable doesn't allow for such a big number?
There was actually a bug with such huge values, I've fixed it for the next nightly, and it successfully buffers a full BD file at 20GB for me now.
One thing to note however is that the buffer is not "smart", if you seek it'll drop the entire buffer, do the seek in the actual file, and then re-fill the buffer from scratch. Due to that behavior, seeking is actually really slow, since freeing tens of thousands of small memory blocks is actually quite an intensive task to do. Hence why the default buffer sizes are only as big as I dare make them, since it can slow stuff down.
ashlar42
9th April 2019, 21:30
There was actually a bug with such huge values, I've fixed it for the next nightly, and it successfully buffers a full BD file at 20GB for me now.
One thing to note however is that the buffer is not "smart", if you seek it'll drop the entire buffer, do the seek in the actual file, and then re-fill the buffer from scratch. Due to that behavior, seeking is actually really slow, since freeing tens of thousands of small memory blocks is actually quite an intensive task to do. Hence why the default buffer sizes are only as big as I dare make them, since it can slow stuff down.Thanks nevcariel. I'm not surprised that this bug wasn't "caught" before. It surely is an "extreme" usage. And you are right, I remember you mentioning this before: it's probably not the correct way to go having such a huge buffer, for the reasons you describe.
This is why I was inquiring about disk caching (to which you've already answered). :)
VipZ
9th April 2019, 21:57
Hi nevcairiel
I have switched to VS 2019 to test it out and found it no longer has the Win 8.1 SDK as an option.
I had then tested using the Win 10.0.17763.0 SDK and all seems to work for both LAV and libbluray.
While all seems to work thought I would ask if you think there could be some issue by changing the SDK like this.
MPC-BE allows one to set the SDK via environment variable, could this approach be useful for LAV as well if its fully expected to work?
Thanks
nevcairiel
9th April 2019, 22:14
I don't really expect problems from using the Windows 10 SDK, but I have not validated it yet to make sure it still runs on all old platforms as expected.
I did however just make a change to always select the latest Windows 10 SDK when running with VS2019, since indeed the 8.1 SDK is no longer present.
VipZ
9th April 2019, 22:38
Thanks for the quick update.
juffi
12th April 2019, 06:23
LAV Filters do not work with 3D MVC. MPC-BE with internal filters work but with LAV Filters not, otherwise same setup.
MPC-HC / MPC-BE (v1.5.3, build 4455), LAV Filters (0.73.1.30-git), MadVR. Intel NUC7i3BNK, Intel i3-7100U, Intel graphics driver 25.20.100.6618. Windows 10 Pro 1809.
LigH
12th April 2019, 08:17
And you installed the non-default MVC pack?
https://frupic.frubar.net/shots/37969.png
nevcairiel
12th April 2019, 08:19
You're on a old version of LAV Filters, 0.74.1 has since been released. Additionally, ensure that you actually have the MVC decoder component installed inside the LAV folder, otherwise it might not find it.
Otherwise, all I can say is that it works for me.
Manni
12th April 2019, 09:39
Not only for you, it's been working for most for a while now, but as you say the optional component has to be downloaded during install :)
RealSnoopyDog
12th April 2019, 11:24
nevcariel, is there a possibility in the future for LAV Filters to offer an option to cache completely a file on a local hard drive for playback?
What sense would it make to download every file first before you can start playing it back? This may cause many problems
Copyright violations
Waiting for hours before playback starts, depending on the file size.
For internet streams, there isn't always a "file" to download, it is just a stream.
It is not the job of the splitter to handle such things. If you are using software like DVBViewer which handles things transparent, you can store an internet stream as a normal DVB channel so you can also record it on your local disk.
huhn
12th April 2019, 12:17
that's not how a buffer would work it doesn't delay playback it just doesn't stop buffering until the stream ends. this works for live streaming too it just downloads everything that's available at the given time.
ashlar42
12th April 2019, 13:31
What sense would it make to download every file first before you can start playing it back? This may cause many problems
Copyright violations
Waiting for hours before playback starts, depending on the file size.
For internet streams, there isn't always a "file" to download, it is just a stream.
It is not the job of the splitter to handle such things. If you are using software like DVBViewer which handles things transparent, you can store an internet stream as a normal DVB channel so you can also record it on your local disk.I'm talking about my videos, in cloud storage. Don't know what you meant with "copyright violations" but I'm talking about personal files, not Neflix/Prime Video/YouTube.
Playback starts as soon as you start playback, as huhn explained the disk buffer would fill up as playback goes on.
As explained above, my use case would not be with internet "streams" in the way you thought it would.
RealSnoopyDog
12th April 2019, 15:34
Ah, ok. But even this is not a thing that a splitter should do. This is something that the playback software can handle.
If you have (e.g.) a copy of a 1920x1080 movie encoded in h.264, then 20-30 GB of data needs to be copied over the network to a local storage on the PC when playback starts. When playback is finished regulary, the the local copy needs to be deleted and so on. And what happens if the disc is full, because the files didn't get deleted?
Playback starts as soon as you start playback, as huhn explained the disk buffer would fill up as playback goes on.
But then this option wouldn't make any sense, it only produces more useless overhead and IO accesses.
When you start playback from a "cloud" storage and the network speed is fast enough (the "player" or "consumer" reads the data slower than it gets delivered from the storage) then playback will start immediately.
If the network speed is too slow ("player" or "consumer" reads faster than the data gets transmitted), then you need to wait until a buffer got filled. Playback can not start immediately in this case even if the buffer gets filled in the background because the player will consume the data in the buffer faster than it gets filled.
@huhn: he said that he wants to have an option for a buffer that holds a complete copy of a file on the local disk and gets filled when playback starts. This doesn't make any sense. And he said that his scenario wouldn't violate any copyright things but what you wrote would definitely (possibly) violate copyright.
huhn
12th April 2019, 17:00
you are aware that lavfilter is already able todo all these things. the difference is it will use the ram not the disc first. so it will fill your ram to the maximum and the system will then switch to the harddisk to buffer the rest which my result in playback issues which would not be the case if the buffer would use directly the harddisk.
so does this violate copy right whatever thingy somewhere on earth maybe i don't care.
there is no word to use it on slow internet he just wants the connection to do the whole act in one transfer as fast as possible. normal access may start and stop transfer all the time.
juffi
12th April 2019, 17:50
Not only for you, it's been working for most for a while now, but as you say the optional component has to be downloaded during install :)
Sure I have loaded that. LAV Filters used to work a few weeks ago, but not anymore. I installed the new LAV Filters version but it did not help. For some reason the internal filters stopped working as well. Today I once managed to get perfect playback with LAV Video decoder and other filters internal. Problem could be in the audio filter and Intel drivers.
Kodi 3D works perfectly.
Grimsdyke
12th April 2019, 21:39
Just wanted to watch the Arrow-US-BluRay of Romero's THE CRAZIES and there is a problem that I only have with one other Blu-Ray (so far).
- MPC-BE and LAV filters => one audio track falsely identified as an mp3-file !!! Trying to play the film using this audio freezes MPC-BE !!
- MPC-BE and LAV Splitter blocked => audio correctly identified as PCM. Movie plays fine.
Only if I directly load the movie file located in the stream folder on the disc playback is fine with MPC-BE and LAV so I think there must be something in the authoring
of the disc that throws LAV off-track since BE's internal filter seem to have no problems. Does anyone maybe knows what's causing this and ideally how to fix it ??
foxyshadis
15th April 2019, 11:04
What sense would it make to download every file first before you can start playing it back? This may cause many problems
Copyright violations
Waiting for hours before playback starts, depending on the file size.
For internet streams, there isn't always a "file" to download, it is just a stream.
It is not the job of the splitter to handle such things. If you are using software like DVBViewer which handles things transparent, you can store an internet stream as a normal DVB channel so you can also record it on your local disk.
Turn on mobile data/tethering -> download -> turn off mobile data/tethering. Ten years ago, it would have been spin up the disk, read it all, spin down.
Only the most naive filters would ever have fully buffered before releasing the buffer. Start the download, start playing when requested, these operations aren't connected. Isn't this how many streams work today? What's important is that it keeps downloading constantly until finished, not
RealSnoopyDog
15th April 2019, 12:43
My PC doesn't use mobile data or tethering and I did not install LAV on my mobile phone
You didn't follow the discussion. The person who requested this wrote that he would like to have a feature which FULLY downloads FILES before the software should start playing back.
huhn
15th April 2019, 14:06
no he just wants an full file disk buffer.
https://forum.doom9.org/showpost.php?p=1871605&postcount=23476
clsid
15th April 2019, 15:07
Copy to local harddrive or a dynamic ramdrive (using ImDisk).
RealSnoopyDog
16th April 2019, 17:57
Sorry, then maybe his wording (a disc buffer that can hold a full copy of a file) was misunderstanding. Buffering is of course always good for streaming. In memory buffering is better than disc buffering. And buffering never helps out of the conflict that you have on slow/bad internet connections when the consumer (player) needs the data faster than the producer can deliver it.
lvqcl
20th April 2019, 15:10
I cannot access files.1f0.de and git.1f0.de hosts:
NET::ERR_CERT_DATE_INVALID, the certificate has expired.
nevcairiel
20th April 2019, 15:58
The certs were updated, but the script failed to reload the webserver. Oh well.
khanmein
24th April 2019, 09:25
@nevcairel I tried to play this particular clip (https://www.elecard.com/storage/video/Stream2_AV1_HD_6.8mbps.webm), when right-click the Filters > LAV Video Decoder (Internal), it's normal? Thanks & cheers.
http://i64.tinypic.com/24n2vwj.png
As far as I'm concerned, the LAV Splitter Source is 'Internal'.
sneaker_ger
24th April 2019, 09:36
It's normal. It just means MPC-HC is using LAV Video with its "internal" settings (from 1.8.1 on it also allows external LAV as "internal"). LAV Splitter, LAV Video and LAV Audio all can be loaded as "internal".
khanmein
24th April 2019, 12:36
It's normal. It just means MPC-HC is using LAV Video with its "internal" settings (from 1.8.1 on it also allows external LAV as "internal"). LAV Splitter, LAV Video and LAV Audio all can be loaded as "internal".
For the particular AV1 clip only and there rest MKV don't show the internal word.
sneaker_ger
24th April 2019, 12:39
Maybe your external LAV is too old for AV1 or you have "AV1" checked in MPC-HC "Options"->"Internal Filters"->"Transform Filters" but not for other formats. DirectShow filter selection process is complicated ...
khanmein
25th April 2019, 07:20
Maybe your external LAV is too old for AV1 or you have "AV1" checked in MPC-HC "Options"->"Internal Filters"->"Transform Filters" but not for other formats. DirectShow filter selection process is complicated ...
I'm using the latest nightly LAVFilters-0.74.1-12 and AV1 is ticked. I've tested to uncheck AV1 and the internal word is disappeared.
Should I uncheck everything in the "Internal Filters"?
sneaker_ger
25th April 2019, 10:20
It's hard to give advice because there isn't really much of a difference between "internal" and external LAV. Personally, I have deleted the LAV Filters subfolder within the MPC-HC folder and disabled all transform filters to make sure I only have 1 set of LAV/LAV settings.
khanmein
25th April 2019, 13:58
It's hard to give advice because there isn't really much of a difference between "internal" and external LAV. Personally, I have deleted the LAV Filters subfolder within the MPC-HC folder and disabled all transform filters to make sure I only have 1 set of LAV/LAV settings.
Yeah, same too. I always created another folder for the LAV installation. Greatly appreciated.
coolgit
26th April 2019, 09:07
It's hard to give advice because there isn't really much of a difference between "internal" and external LAV. Personally, I have deleted the LAV Filters subfolder within the MPC-HC folder and disabled all transform filters to make sure I only have 1 set of LAV/LAV settings.
The way to do it successfully is to instal your player of choice and then install k-lite codec last and this will make the lav filter your system default. Disable internal and enable external and pointing to k-lite lav directory isn't necessary. This is what I did with Kmplayer and have no issues whatsoever.
bluesky507
29th April 2019, 10:21
hello
I want add output pin for audio and video on lav splitter.
how can do it in c#?
thanks
ryrynz
30th April 2019, 08:44
/me wanders over to Videolan, wonder how dav1d is going with commits.
dav1d 0.3.0 released, wooop!
el Filou
1st May 2019, 22:30
It's dramatic how much more difficult it is to decode 10-bit AV1 in software compared to 8-bit!
On my antique Core 2 Duo with Netflix Chimera test clip in 768x432 at the same 1,1 Mbps:
8-bit: 169 fps
10-bit: 52 fps :eek:
sneaker_ger
1st May 2019, 22:40
Yeah, the dav1d devs haven't really worked on optimizing >= 10 bit yet. It will become much faster in the future.
nevcairiel
1st May 2019, 22:58
Indeed. 10-bit isn't used in the real world yet, while YouTube at least already sends out 8-bit. So it wasn't a development priority. It'll be worked on next now that 8-bit is almost done.
bluesky507
9th May 2019, 09:52
hello
how lav splitter can get stream from DVB-T USB ?
el Filou
9th May 2019, 16:02
You need a player app that can access a BDA tuner for that.
Try MPC-HC. Options => Playback; Capture and then Open Device
bluesky507
9th May 2019, 18:38
thanks for your response
I develop my own program in c#.
so need to know how can connect lav filter to BDA filter.
NikosD
11th May 2019, 17:39
@nevcairiel
Hello.
I was just playing around with NVDEC video decoder of my Turing card and I realized that NVCUVID works very nicely under Win 10.
It works for legacy codecs like MPEG4 ASP (DivX/ Xvid) which is exposed to LAV Video control panel, but even for not exposed ones like the ancient MPEG1.
I was wondering how much trouble is for you to add VP8 to NVCUVID (not DXVA2/D3D11 which could be difficult/ impossible), just NVCUVID.
Not that there is some special need for this, but just because Turing NVDEC can accelerate VP8 in HW.
NVEncC, a transcoding app which uses both NVDEC and NVENC to accelerate transcoding in HW, can decode VP8 in HW using NVDEC.
Thanks!
Update:
I've just seen that WMV3 also doesn't work for NVCUVID.
Weird.
pandy
14th May 2019, 22:18
@nevcairiel
Thx Hendrik for a great piece of software, very appreciated!
Any chance to add HRTF (SOFAlizer) to audio mixer in near future?
TIA, Cheers,
PA
bluesky507
19th May 2019, 10:54
Hello
how i can set input pin in lav splitter ?
filler56789
19th May 2019, 13:46
Hello
how i can set input pin in lav splitter ?
If you don't want to use LAV Splitter Source then you should open the media file with File Source Async and then connect this filter to LAV Splitter.
supercoolman
20th May 2019, 09:27
not sure if it's expected, but re-mixed 5.1 into stereo only has sound on 1 speaker while regular stereo audio has sound on both speakers
clsid
20th May 2019, 15:42
Must be something wrong on your end, because mixing works correctly for everybody else.
supercoolman
22nd May 2019, 09:05
Must be something wrong on your end, because mixing works correctly for everybody else.
comparing with turned off mixing while have the 2 speakers put far away from each other, it seems that most of the sound are concentrated on one speaker when mixing to stereo. maybe this particular bluray's 5.1ch just happens to be like this. checked and confirmed another bluray's 5.1ch doesn't have sounds concentrate on one speaker when mixing to stereo
el Filou
22nd May 2019, 16:11
Try with a test file like this: https://www.demo-world.eu/download-2d-trailers/?file=dts_hd_master_audio_sound_check_7_1_lossless-DWEU.mkv&pic=dts_hd_master_audio_sound_check_7_1_lossless.jpg
bluesky507
23rd May 2019, 07:30
hi
thanks for answer
i dont used file as input ,i used usb dvb
but lav splitter dont have input pin!
so cant connect BDA filter to input pin of LAV splitter.
how i can create input pin for LAV Splitter?
Thanks
bluesky507
23rd May 2019, 08:09
If you don't want to use LAV Splitter Source then you should open the media file with File Source Async and then connect this filter to LAV Splitter.
hi
thanks for answer
i dont used file as input ,i used usb dvb
but lav splitter dont have input pin!
so cant connect BDA filter to input pin of LAV splitter.
how i can create input pin for LAV Splitter?
Thanks
filler56789
24th May 2019, 16:58
i dont used file as input ,i used usb dvb
but lav splitter dont have input pin!
so cant connect BDA filter to input pin of LAV splitter.
how i can create input pin for LAV Splitter?
You really should have said that before.
Hopefully someone with more knowledge than I will chime in soon.
baker99uk
30th May 2019, 21:02
I reported an issue over in the madVR thread and said I'd give feedback over here.
I completely uninstalled all versions of MPC-HC, LAV filters and madVR then reinstalling from scratch. Then ensured all the internal filters were switched off for x265, x264 and m2ts after installing LAV 0.74.1-18.
The result is everything seems to be working perfectly now! I guess it was a mixture of user error and various versions of MPC-HC etc. conflicting.
nevcairiel
30th May 2019, 21:24
Good to know, thanks for calling back. :)
stax76
11th June 2019, 05:08
@nev
Maybe you like this idea too:
https://forum.doom9.org/showthread.php?p=1876802#post1876802
nevcairiel
11th June 2019, 07:34
No, I do not. The installer is intentionally an one-size-fits-all package for everyone.
GCRaistlin
16th June 2019, 10:10
I have a video file that probably has an issue with key frames. The symptoms are:
It can be played with LAV (MPC-HC/MPC-BE) but any attempt to go to a timestamp or switching tracks after the playback was started causes freezing the playback.
Splitting it with mkvmerge fails (the whole file is being written). mkvmerge makes decisions about splitting at key frame positions.
Splitting it with tsmuxer is possible but the duration of the output file is invalid (https://mir.cr/1KNYS00V).
Though VLC, as well as MPC-BE with its internal filters, can play this file (and the example file above) without any issue: jumping to a timestamp works, the duration is valid.
Can LAV be made "compatible" with such files?
manolito
16th June 2019, 12:37
I can confirm your issues, LAV Filters for me always had such problems when dealing with HD transport streams. It looks like DirectShow is simply not good at seeking within transport streams... :mad:
Just to make sure that your clip was not corrupted I ran it through TSDoctor, and it came out fine without any complaints. My usual workaround for HD transport streams is to repack them into an MKV container. I either use MKVMerge or ffmpeg (using the dmMediaConverter GUI) for this, and the resulting MKVs play with just about any player and have no problems with seeking.
Cheers
manolito
nevcairiel
16th June 2019, 13:22
This particular stream seems to lack proper recovery information, or has them in a way that FFmpeg doesn't support. No IDR frames, and no Recovery Point SEI. As such, the decoder doesn't know when the image is "clean" and not just artifacts.
I would recommend to report this to ffmpeg, since thats what its based on.
This has really nothing to do with being MPEG-TS - although in general its always nice to keep in mind that MPEG-TS is not designed for file-based playback or seeking - its a broadcast format. Thats why Blu-rays keep a seperate index for seeking, which you of course lose if you just take one .m2ts file from the disc.
manolito
16th June 2019, 14:06
When I said that I have the same problems with HD transport streams I am talking about the German DVB-T2 broadcasts. They are transmitted with HEVC video and E-AC3 or AAC-LATM audio, and they are not really seekable with DirectShow based source filters.
I did not analyze the transmitted streams if they have IDR frames or Recovery Point SEIs. All I know is that they play well in VLC, but in MPC-HC and Tiny Player they are not seekable. And this time it is not my underperforming hardware, this is on a Core i5 third generation with 8GB RAM under Win7-64.
sneaker_ger
16th June 2019, 15:03
I have the same problems with HD transport streams I am talking about the German DVB-T2 broadcasts. They are transmitted with HEVC
Really the same problems? IIRC LAV does seek in HEVC/ts but doesn't wait for keyframes so the image looks corrupted unless you wait for a keyframe. So I guess is handles AVC/TS and HEVC/TS differently because otherwise the sample posted by GCRaistlin should be seekable (albeit with corruption until next I frame).
Mkvmerge has the option --engage all_i_slices_are_key_frames for such files. But interestingly enabling that option breaks seeking for the resulting mkv, then. :confused:
GCRaistlin
17th June 2019, 11:58
manolito
Muxing to MKV (with mkvmerge) didn't help.
I don't understand about FFmpeg - how does my issue concern to it?
v0lt
17th June 2019, 12:35
@nevcairiel
Does the D3D11 decoder work in Windows 8?
nevcairiel
17th June 2019, 12:45
@nevcairiel
Does the D3D11 decoder work in Windows 8?
It should if the drivers implement all the required things.
bigboyman
17th June 2019, 19:51
Hello everyone. While it might sound a bit stupid, I have a question about LAV.
Recenlty I've been wondering how to check if LAV Video Decoder is working properly. I ask because when I open the OSD (https://imgur.com/a/rQCBzmg) (EVR (CP)), while it says it's using LAV, it also says it's not using DXVA (which I am using on LAV). GPU activity also doesn't report usage for decoding. So what gives?
Asmodian
17th June 2019, 20:06
If you are playing a file your GPU cannot decode in hardware LAV will fallback to software decoding.
10 bit H.264 is probably the most common video format that GPUs cannot decode. If you open LAV Video config while it is playing it will show you what it is using but it is probably working properly.
bigboyman
17th June 2019, 20:25
If you are playing a file your GPU cannot decode in hardware LAV will fallback to software decoding.
10 bit H.264 is probably the most common video format that GPUs cannot decode. If you open LAV Video config while it is playing it will show you what it is using but it is probably working properly.
Here's the pin info (what I assume you meant by config). It is H.264, but other than that I really can't tell if it's working properly. Not to mention I have H.264 enabled in HW codecs.
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}
- Connected to:
CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Filter: LAV Splitter Source (internal)
Pin: Video
- Connection media type:
Video: MPEG4 Video (H264) 1456x1080 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435641-0000-0010-8000-00AA00389B71}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 173
VIDEOINFOHEADER:
rcSource: (0,0)-(1456,1080)
rcTarget: (0,0)-(1456,1080)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417083
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 182
dwPictAspectRatioY: 135
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
MPEG2VIDEOINFO:
dwStartTimeCode: 0
cbSequenceHeader: 41
dwProfile: 0x0000006e
dwLevel: 0x00000032
dwFlags: 0x00000004
BITMAPINFOHEADER:
biSize: 40
biWidth: 1456
biHeight: 1080
biPlanes: 1
biBitCount: 15
biCompression: AVC1
biSizeImage: 2950560
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 b0 05 00 00 38 04 00 00 ........°...8...
0010: 00 00 00 00 00 00 00 00 b0 05 00 00 38 04 00 00 ........°...8...
0020: 00 00 00 00 00 00 00 00 3b 5d 06 00 00 00 00 00 ........;]......
0030: 00 00 00 00 00 00 00 00 b6 00 00 00 87 00 00 00 ........¶...‡...
0040: 00 00 00 00 00 00 00 00 28 00 00 00 b0 05 00 00 ........(...°...
0050: 38 04 00 00 01 00 0f 00 41 56 43 31 a0 05 2d 00 8.......AVC1 .-.
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070: 00 00 00 00 29 00 00 00 6e 00 00 00 32 00 00 00 ....)...n...2...
0080: 04 00 00 00|00 1e 67 6e 00 32 a6 c7 28 44 05 b0 ......gn.2ŠÇ(D.°
0090: 22 7e 59 a8 10 10 0a 00 00 07 d2 00 01 77 01 1e "~Yš......Ò..w..
00a0: 30 63 08 c0 00 07 68 e8 43 82 72 c8 b0 0c.À..hèC‚rȰ
sneaker_ger
17th June 2019, 20:42
Video: MPEG4 Video (H264)
dwProfile: 0x0000006e
biBitCount: 15
biCompression: AVC1
Seems to be 10 bit H.264 like Asmodian suspected. (6e = High 10 Profile, 4:2:0 10 bits per sample equal 15 bits per pixel on average)
In general you can see if/what decoder is used by LAV by opening the activate LAV Video instance's settings during playback. In the first tab it shows "Active Decoder:" and "Active Hardware Accelerator:".
huhn
17th June 2019, 20:43
biBitCount: 15
should be a 10 bit file so lavfilter has to fallback to software decoding "avcodec".
bigboyman
17th June 2019, 22:54
should be a 10 bit file so lavfilter has to fallback to software decoding "avcodec".
It is (with hardware acc. at "<none>"). Now the question is what can I do so it uses hardware instead.
Is it even feasible or good for performance?
sneaker_ger
17th June 2019, 23:05
No PC GPU supports H.264 10 bit decoding. Nothing you can no.
But also not necessary. 10 bit H.264 1456x1080 23.976fps is a piece of cake for any half-decent CPU.
el Filou
17th June 2019, 23:09
You can't, it's not supported by the fixed function decode block of the GPU.
Maybe you can try to find some other filter that would be able to use shaders to decode it but IMO it's not worth it, just use LAV with the CPU.
lvqcl
17th June 2019, 23:49
By the way: according to https://en.wikipedia.org/wiki/Nvidia_PureVideo, your videocard has only VDPAU Feature Set E. Which means that it cannot decode VP9, and doesn't have hardware HEVC decoder. It uses hybrid CPU/GPU decoding for 8-bit HEVC, and cannot decode 10-bit HEVC.
Hardware video decoder in your CPU (i7-6700HQ, Skylake) is probably more powerful.
bigboyman
17th June 2019, 23:53
You can't, it's not supported by the fixed function decode block of the GPU.
Maybe you can try to find some other filter that would be able to use shaders to decode it but IMO it's not worth it, just use LAV with the CPU.
Tried some different files and the gain is not huge. CPU and GPU loads are relatively small, so no big deal.
However, what IS pretty interesting is that some H.264 files actually support hardware acc. while other H.264 as well as non-H.264 files don't. Anyone want to crack that mystery?
Here's some snaps (https://imgur.com/a/3L2uRK1) and the log:
Filter : LAV Video Decoder - CLSID : {EE30215D-164F-4A92-A4EB-9D4C13390F9F}
- Connected to:
CLSID: {B98D13E7-55DB-4385-A33D-09FD1BA26338}
Filter: LAV Splitter Source (internal)
Pin: Video
- Connection media type:
Video: MPEG4 Video (H264) 1920x1080 23.976fps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435641-0000-0010-8000-00AA00389B71}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 167
VIDEOINFOHEADER:
rcSource: (0,0)-(1920,1080)
rcTarget: (0,0)-(1920,1080)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 417084
VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 16
dwPictAspectRatioY: 9
dwControlFlags: 0x00000000
dwReserved2: 0x00000000
MPEG2VIDEOINFO:
dwStartTimeCode: 0
cbSequenceHeader: 35
dwProfile: 0x00000064
dwLevel: 0x00000028
dwFlags: 0x00000004
BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1080
biPlanes: 1
biBitCount: 12
biCompression: AVC1
biSizeImage: 3110400
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0010: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0020: 00 00 00 00 00 00 00 00 3c 5d 06 00 00 00 00 00 ........<]......
0030: 00 00 00 00 00 00 00 00 10 00 00 00 09 00 00 00 ................
0040: 00 00 00 00 00 00 00 00 28 00 00 00 80 07 00 00 ........(...€...
0050: 38 04 00 00 01 00 0c 00 41 56 43 31 00 76 2f 00 8.......AVC1.v/.
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070: 00 00 00 00 23 00 00 00 64 00 00 00 28 00 00 00 ....#...d...(...
0080: 04 00 00 00|00 1a 67 64 00 28 ac d9 40 78 02 27 ......gd.(¬Ù@x.'
0090: e5 c0 44 00 00 03 01 f4 00 00 5d aa 3c 60 c6 58 åÀD....ô..]ª<`ÆX
00a0: 00 05 68 e9 3b 2c 8b ..hé;,‹
bigboyman
17th June 2019, 23:54
By the way: according to https://en.wikipedia.org/wiki/Nvidia_PureVideo, your videocard has only VDPAU Feature Set E. Which means that it cannot decode VP9, and doesn't have hardware HEVC decoder. It uses hybrid CPU/GPU decoding for 8-bit HEVC, and cannot decode 10-bit HEVC.
Hardware video decoder in your CPU (i7-6700HQ, Skylake) is probably more powerful.
You mean integrated graphics? Because it's the only way I can select the GPU in LAV, and it's pretty weak.
sneaker_ger
18th June 2019, 00:02
However, what IS pretty interesting is that some H.264 files actually support hardware acc. while other H.264 as well as non-H.264 files don't. Anyone want to crack that mystery?
dwProfile: 0x00000064
biBitCount: 12
64 = High Profile (8 bit)
8 bits per sample 4:2:0 = 12 bits per pixel
Well supported by hardware for many years.
No mystery.
LigH
18th June 2019, 07:27
Some hardware decoder chipsets are picky about the video resolutions. Videos in common standard resolutions have best chances; arbitrarily cropped videos may fail.
And even more, hardware decoder chips have complexity limits. They may not support the whole range of Profile@Level combinations and long GOPs, and a few more constraints do exist.
Asmodian
18th June 2019, 22:53
long GOPs
Long GOPs too? I have been using the max length GOPs for all my "hardware compatible" (level 4.1) encodes. :(
Siso
18th June 2019, 23:40
A question about mixing to stereo, is it better to let lav audio decoder do the mixing or mpc-be's sound processing?
LigH
19th June 2019, 08:40
@Asmodian:
"May". I won't guarantee that all decoder chips made by all GPU vendors do. I have only limited experience with some Nvidia chipsets, they don't mind.
nevcairiel
19th June 2019, 08:50
GOP size should be pretty irrelevant for any DXVA decoders, since it doesn't even get told about such things. The only thing hat matters is number of reference frames, dimension, and sticking to a supported profile.
A question about mixing to stereo, is it better to let lav audio decoder do the mixing or mpc-be's sound processing?
Anyone?
lvqcl
2nd July 2019, 20:35
@nevcairiel
I wonder why git.1f0.de/gitweb?p=lavfsplitter.git is not updated, and there's no new nightlies..?
ryrynz
2nd July 2019, 22:58
Not much to wonder about. He doesn't want to spend time on it atm. Real life + work and factor in that it's stable and working well for most use cases means dev work is gonna calm down, + It's only been four weeks
What I'm curious about is why nobody else is helping co-develop it. Lav gets used a lot, so wonder why the lack of interest ¯\_(ツ)_/¯
nevcairiel
3rd July 2019, 00:17
@nevcairiel
I wonder why git.1f0.de/gitweb?p=lavfsplitter.git is not updated, and there's no new nightlies..?
Updated with what? It has the latest version. There are no nightlies if there are no changes.
What I'm curious about is why nobody else is helping co-develop it. Lav gets used a lot, so wonder why the lack of interest ¯\_(ツ)_/¯
DirectShow isn't exactly a field overflowing with developers, nevermind those wanting to work on open-source software for free. :)
But I also don't think that LAV is in desperate need of much work. There is always some open requests for special format support, or some new overhaul of hardware decoding stuff, but for the majority of people it works just fine as-is.
lvqcl
3rd July 2019, 17:06
Sorry. For some reason I misread "1 Jun" as "1 Jul" in the date of the latest commit...
I have no idea why it happened. :confused:
filler56789
3rd July 2019, 17:33
What I'm curious about is why nobody else is helping co-develop it.
By the way, I have always wondered who are the "WE" in the quote below :)
Hi folks,
We've been working on this for quite a while already, and i feel its time to release it into the wild for some more comprehensive testing.
just keep reading
At this point i would like to thank Ti-BEN for his contributions. Without his work on this project, it probably would have stayed a design in my mind.
nevcairiel
4th July 2019, 01:25
Yeah that was 9 years ago, beyond the initial prototype that we made together, I was basically on my own though.
I always thought it was a "Royal" "we" :P
QB
ryrynz
5th July 2019, 07:52
I have a partially downloaded video that I find MPC-BE's internal filters handle better than LAVs. With the internal filters the file stops playing, detecting the playback length at 20 seconds.
LAV shows the what would be entire length of the film, once it hits the 20 second point it appears to continue looking for playable content which there likely is none. Nothing basically happens as it continues to chug through the file.
Nev, are you interested at improving this at all? Can upload a chunk if interested, not sure how you feel about broken file playback.
Sunspark
6th July 2019, 01:31
Just wondering something.. In LAV, on my Windows 7 system selecting D3D11 as the decoder to use states "D3D11 requires Windows 8 or newer, and is not supported on this OS."
I have DirectX 11.0 installed, but I don't have the platform update installed which would give the system a partial DirectX 11.1. Is it actually DirectX 11.1 that is required, or the OS itself that is at fault?
lvqcl
6th July 2019, 07:53
there's this reply from the author:
The problem on Windows 7 is not that the decoder doesn't work, because it technically does - the problem is that NV12/P010 are not supported in D3D11. You need Windows 8 for that. But without NV12/P010, the decoder is mostly useless for most use-cases.
Sunspark
6th July 2019, 15:11
Ah, thanks for that info. I wasn't after 10-bit colour since I don't have a display that supports it anyway, but I was curious to take a look at Error Diffusion dithering which requires Direct Compute to function. Direct Compute is only available to dx10 and dx11.
clsid
6th July 2019, 16:33
D3D11 decoding and D3D11 rendering are two different and independent things! The decoder in LAV should not be confused with settings in MadVR.
Asmodian
8th July 2019, 22:49
Even in madVR they are independant. You can use D3D9 presentation and Error Diffusion dithering. You need DX10/11 installed but you can set every option in the playback chain to DXVA2/D3D9 and still use Error Diffusion dithering.
Sunspark
9th July 2019, 04:30
Asmodian, I am not sure that is true, unless it requires DX 11.1 as opposed to 11.0 which is what I have. The reason I say that is because I was looking at dithering patterns and both EDs in DX9 mode looked exactly the same as ordered dithering. At least with the low bit-depth on the video clip I was testing with. This is what made me think that the support just wasn't there, and that it simply just fell back to ordered. I just now tested with a still image 16 bit gradient in a window. Set the display to 2 bit, and turned off change dither pattern every frame. As I apply the selection through the ordered, ED 1 and ED 2 options, there is no change in the dither pattern.
maybe it needs dx 11.1 or your driver have a problem with direct compute but it has nothing todo with the decoder lav filter has nothing todo with that too.
d3d9 can use ED it works flawless here just as a general rule madVR does pretty much everything using d3d9 even with d3d11 decode and even with d3d11 presentation only a very small part is done with d3d11 these are interops and presentation in this example.
kolak
10th July 2019, 10:32
I can confirm your issues, LAV Filters for me always had such problems when dealing with HD transport streams. It looks like DirectShow is simply not good at seeking within transport streams... :mad:
Just to make sure that your clip was not corrupted I ran it through TSDoctor, and it came out fine without any complaints. My usual workaround for HD transport streams is to repack them into an MKV container. I either use MKVMerge or ffmpeg (using the dmMediaConverter GUI) for this, and the resulting MKVs play with just about any player and have no problems with seeking.
Cheers
manolito
I can also confirm TS seeking issues. I also know that those TS streams are 100% correct.
Aleksoid1978
10th July 2019, 11:33
I can also confirm TS seeking issues. I also know that those TS streams are 100% correct.
Can you upload .ts sample with seeking porblem ?
el Filou
10th July 2019, 12:21
I just now tested with a still image 16 bit gradient in a window. Set the display to 2 bit, and turned off change dither pattern every frame. As I apply the selection through the ordered, ED 1 and ED 2 options, there is no change in the dither pattern.You can check by creating a file called ShowRenderSteps (no extension, and delete the file after testing) in madVR's folder, and comparing the 'FinalStep' rendering step in the OSD. On my system, ED2 takes ~3x the rendering time as Ordered (first make sure that the other steps are the same time to eliminate GPU frequency variation).
kolak
10th July 2019, 16:40
Can you upload .ts sample with seeking porblem ?
I need to make one, as none of my files can be made public.
manolito
11th July 2019, 00:59
I cut out a 100MB sample of a standard DVB-T2 broadcast from German public television, get it here:
https://www.sendspace.com/file/51jlvy
//EDIT//
SendSpace has become painfully slow, here is an alternative link:
https://www.zeta-uploader.com/2126706227
It shows corrupted frames with every seek operation using DirectShow based players (which all employ LAV Filters). It plays and seeks nicely using VLC.
Using the preview in an older 32-bit StaxRip it behaves like this with different 32-bit source filters:
1. DSS2Mod with current stable LAVVideosource:
Corrupt frames
2. FFVideoSource version 2.23.1 (latest stable version by Myrsloik):
Major disaster. Preview is totally unusable. Stepping through frames not possible.
3. LWLibavVideoSource (from lsmash-r929-170224-32)
Works without problems. Seeking does not display any corrupt frames.
Frankly I have no idea what I should make out of this. If LSMASH can do it, why can't LAVVideo and FFMS2 ?
Cheers
manolito
nevcairiel
11th July 2019, 01:18
As mentioned a few weeks ago as this topic came up, this has nothing to do with the file being TS (although it doesn't help), but because of the codec being HEVC. Noone yet implemented a function to properly suppress corrupt frames after seeking, which are basically always going to be present, in the ffmpeg HEVC decoder like it was done for H.264. The problem is of course that as codecs get more complex, this logic also does.
This is not something I do in LAV itself, so it needs to happen in FFmpeg. Feel free to contribute if this is a topic of importance for you. :)
As a general rule, TS as a container just does not offer any proper seeking functionality. It barely has usable timestamps, and thats it. No keyframe flags, no index, no nothing. As such, if you want "artifact free" seeking in TS, this has to rely on deep knowledge of the codec inside the TS container. And as mentioned above, noone has really bothered with HEVC for that, because its not a very popular codec in the open-source world due to the patent nonsense.
ryrynz
12th July 2019, 08:18
Any chance of an update to latest GIT of dav1d? Thanks.
nevcairiel
12th July 2019, 10:42
I currently plan to update it to 0.4.0 once thats available, which should be not that much longer.
kolak
12th July 2019, 11:42
As mentioned a few weeks ago as this topic came up, this has nothing to do with the file being TS (although it doesn't help), but because of the codec being HEVC. Noone yet implemented a function to properly suppress corrupt frames after seeking, which are basically always going to be present, in the ffmpeg HEVC decoder like it was done for H.264. The problem is of course that as codecs get more complex, this logic also does.
This is not something I do in LAV itself, so it needs to happen in FFmpeg. Feel free to contribute if this is a topic of importance for you. :)
As a general rule, TS as a container just does not offer any proper seeking functionality. It barely has usable timestamps, and thats it. No keyframe flags, no index, no nothing. As such, if you want "artifact free" seeking in TS, this has to rely on deep knowledge of the codec inside the TS container. And as mentioned above, noone has really bothered with HEVC for that, because its not a very popular codec in the open-source world due to the patent nonsense.
Seeking problems (long/frozen seek) happens for H264 as well. Files are coming from Manzanita muxer (which is by many treated as reference).
nevcairiel
12th July 2019, 11:59
TS, as a format, is not designed for seeking. Its designed for broadcast and streaming. If you want local file playback with perfect seeking, use a format that is designed for these tasks. I have said that repeatedly over the years. I will not spend excessive amount of time trying to improve TS seeking, because its fundamentally not a concept helped by the container. There are perfect formats/tools for each job, use the right ones. :)
Seeking in a format like MPEG-TS is always just guess work. You "randomly" (with some educated guesses) look around in the file for a timestamp that matches the one you are interested in, because there is no index or any other clues where your target time is. This is a balance between the amount of file IO you perform to find it, obviously I could just read from the start and stop when I find it, but that would be slow, and the accuracy. Sometimes it finds one a bit too early, or a bit too late, which then takes the playback chain a bit to "catch up", or it just missed the previous key frame (and due to container inadequacy, it also has no clue where those are), hence "slow seeking".
There is a reason Blu-ray, for example, which uses MPEG-TS carries an external seeking index in a seperate file, so it can actually do seeking using that information.
LAV uses the FFmpeg MPEG-TS demuxer, so you know where to send improvements. :)
One final note, for example the cited "LWLibavVideoSource" in an earlier post which does "perfect seeking" - you know how it does that? It reads the entire TS file and builds a complete seeking index. A video processing tool can certainly afford to be a bit slow to do this, but something focused on playback like LAV is not in a position to be that slow on file opening or first seek.
el Filou
12th July 2019, 14:24
Personally never encountered any seeking issue in my H.264 TS files (muxed by MediaPortal's TSWriter, but even when opening a raw multi-program TS direct from the cable provider it's fine) when I open them in MPC-HC with LAV.
I don't consider glitches when seeking in broadcast stream an issue. You're seeking, the very operation you're doing is breaking normal playback. It's much less disturbing than audio crackles and pops.
manolito
12th July 2019, 14:45
My main requirement for TS streams is to reencode them (editing out commercials and get rid of station logos). Finding the correct cut points in the preview does require a lot of seeking, and always getting corrupt frames is very annoying.
So LAV Filters is simply the wrong source filter in this case, I should use a filter like LWLibavVideoSource which indexes the whole stream first. OK, I got that. But then how is it that FFVideoSource which also indexes the stream gives such catastrophic results in StaxRip when trying to seek? Is it its default seek mode (I did use the defaults)? Or is this a bug in v. 2.23.1 which has been fixed in later versions?
nevcairiel
12th July 2019, 15:41
But then how is it that FFVideoSource which also indexes the stream gives such catastrophic results in StaxRip when trying to seek? Is it its default seek mode (I did use the defaults)? Or is this a bug in v. 2.23.1 which has been fixed in later versions?
That I can't answer. It might just be broken, if it does indexing.
If I could realistically index a file from start to finish, seeking would be perfect every time, but alas I cannot, since people want their files to open instantly, and not in 10-20 seconds. :D
el Filou
12th July 2019, 16:32
My main requirement for TS streams is to reencode them (editing out commercials and get rid of station logos). Finding the correct cut points in the preview does require a lot of seeking, and always getting corrupt frames is very annoying.Sorry for the off-topic but have you tried TS-Doctor? It has configurable settings for automatically choosing the previous/next I-Frame for cutting, or you can also seek to I-Frames in a preview window. It's not freeware but I find the price well worth it.
manolito
12th July 2019, 17:02
TSDoctor is one of my standard tools for dealing with TS files. But cutting at I-Frame borders will not do it for editing out commercials (especially not with HEVC streams where the key frames can be spead apart very widely).
Since I reencode anyways I do the cutting in AVISynth, and this is frame accurate, no matter what the source format is.
manolito
12th July 2019, 22:06
That I can't answer. It might just be broken, if it does indexing.
Yes, you are right, v. 2.23.1 is broken... :scared:
After replacing it with this version
https://forum.doom9.org/showthread.php?p=1876703#post1876703
(I believe it is v. 2.31.0) seeking works perfectly using the default seek mode 1.
Asmodian
12th July 2019, 22:31
If I could realistically index a file from start to finish, seeking would be perfect every time, but alas I cannot, since people want their files to open instantly, and not in 10-20 seconds. :D
A cool feature would be an option to index or use a separate index file, for those who want better seeking in ts or other bad files. I do encounter broken files which are unable to seek more often than I would like (incomplete mp4 is my most common, due to canceling encodes). The way FFMS2 works has always struck me as very convenient and functional. A way to tell LAV that I wouldn't mind indexing the file, or even automatic loading of a previously created index file I have to generate manually would be nice. At least it doesn't seem crazy. :)
I do have to admit that only a small percentage of the user base would benefit, so it may not be worth the effort, but it would still be cool for me. :o
huhn
13th July 2019, 07:03
even very advanced user get confused by the decoder names and what that means just imagine what will happen with that setting when user start wondering why it sometimes takes so long to start playback.
Asmodian
13th July 2019, 21:18
Yeah, it would probably generate a lot of extra questions. :o
This is a reason simply detecting an index you have to create manually would be good.. but probably not too important anyway. I can always use Vapoursynth. :p
clsid
22nd July 2019, 16:54
Good time for a FFmpeg update, now that 4.2 has been branched? ;)
videoh
22nd July 2019, 18:02
The player should start decoding and seeking without an index and kick off indexing in the background. When the index is ready, the player begins using it.
el Filou
23rd July 2019, 00:12
Wouldn't that bring a lot of I/O trashing on anything other than an SSD?
If such a feature is ever added, it should be as an option and disabled by default.
nevcairiel
23rd July 2019, 01:15
Indeed, that would not be very well received by the majority of users. I don't currently have any such plans. LAV is designed primarily as a tool for playback, in which cases perfect seeking accuracy for example is not a strict requirement, as long as it comes close. I realize since its practically the only option for many codecs in DirectShow, some users like to use it for other tasks as well, and while I don't want to discourage that, I also don't plan to work on complex features for such tasks.
LigH
25th July 2019, 07:46
I am quite satisfied with the performance of LAV Filters (e.g. as used in MPC-HC), with one exception: playing WMV may have severe issues catching up after seeking; but that may be related to attributes of specific files. I would blame LAV Filters last here.
filler56789
25th July 2019, 09:03
I am quite satisfied with the performance of LAV Filters (e.g. as used in MPC-HC), with one exception: playing WMV may have severe issues catching up after seeking; but that may be related to attributes of specific files. I would blame LAV Filters last here.
Indeed, the ASF container is highly pesky and "sucky" :mad: :D
I often remux the WMV files to AVIs direct stream-copy for the video and re-encode for the audio.
bluesky507
25th July 2019, 15:25
Hello
I use lav splitter for play H265 TS file and it works well.
http://87.98.232.3:5050/browser/1.jpg
now i want use lav splitter for play TS from USB DVB-T dongle.
but when i want connect BDA filter to lavsplitter filter i got following error
http://87.98.232.3:5050/browser/2.jpg
How i can solve it?
nevcairiel
25th July 2019, 16:20
LAV Splitter is not designed as a broadcast demuxer. You'll need to use a filter designed for that purpose, I reckon.
bluesky507
25th July 2019, 18:10
do you any filter can do this? my stream is H265 coded video.
kolak
29th July 2019, 21:44
Can we find any use for this:
https://www.anandtech.com/show/14682/nvidia-siggraph-2019-nv-to-enable-30bit-opengl-support-on-geforce-cards
nevcairiel
29th July 2019, 22:49
Windows video stuff really doesn't use OpenGL if it can avoid it. Direct3D has supported full 10-bit on consumer cards for a long time already.
littleD
30th July 2019, 06:15
Can we find any use for this:
https://www.anandtech.com/show/14682/nvidia-siggraph-2019-nv-to-enable-30bit-opengl-support-on-geforce-cardsThis is for applications, not for video output- which is separated thing from system application workflow. However, i am impressed with that move. 30 bit was only enabled in drivers for quadro/professional cards for so long time that everybody forgotten about it. One of possible reason for this move is that nowadays proffesional cards occupy high performance market by most and enabling 30 bit for graphic designers will not influence nvidia income (Quadro cards are much much expensive than GeForce's consumer cards). Similar situation was wat AMD team.
el Filou
30th July 2019, 13:58
Their official stance is that now that there's consumer HDR, 10-bit isn't a pro-only feature anymore (which was true before, tbf). It's just like the simple/double precision float performance, we all know the consumer hardware could do it at 1/2x but they segment their portfolio that way.
kolak
30th July 2019, 19:47
This is for applications, not for video output- which is separated thing from system application workflow..
Not sure what you mean by this.
OpenGL is/was used in eg. Photoshop (and some other tools) for previewing at 10bit. Some pro apps use OpenGL surface to display video as apparently this allows for better control and separation from OS influence. For example Assimilate Scratch uses OpenGL. It allows for color accurate video preview and screen calibration. My understanding is that Direct3D is more tight to OS and harder to control. OpenGL is also cross platform and apparently more efficient. I may be very wrong. Of course old days only pro card had 10bit support for OpenGL surface, but now it's changing.
https://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D comparison tab explains it quite well (at least for my limited understanding).
huhn
30th July 2019, 20:54
openGL is pretty much discontinued and why should a software for windows care about cross platform.
and the whole thing is pretty much a hack anyway.
LigH
31st July 2019, 07:37
The most efficient functions are those which are most hardware dependent, which are only available inside graphic drivers for specific graphic chipset generations. To allow applications some access to them, there are different APIs (Application Programming Interfaces) provided by the drivers; under Windows, they provide usually at least DirectX/Direct3D and OpenGL with extensions, each up to a specific version/generation.
Some APIs are still rather specific to the hardware functions, like Vulkan, which means the programmer of an application still needs to know a lot of unique features of different graphic chipsets and quirks to produce equal results on different hardware. Vulkan is even more specialized in 3D visualizing functions and less relevant for image and video displaying.
Others are more convenient to the application programmer, generalizing the access to hardware specific functions to rather logical programming functions. OpenGL is very generalizing (thus not always most efficient), keeping core functions compatible for a variety of hardware and adding extensions specific to more modern and powerful chipset features. DirectX/Direct3D is somewhere in the middle, providing even partially incompatible generations of function sets (e.g. 3D game engines supporting both a DirectX9 and a DirectX11 render path are almost two separate engines in one).
DirectX is proprietary which means that Microsoft alone can decide how it works. OpenGL is an open standard which means that all the joint member companies have to agree to a common specification how they would support this feature. So if you discover: "Hey, OpenGL now supports a cool feature!", it means the OpenGL standard took its time to standardize this feature which already was available in the graphic chips for a while, and other APIs may have been quicker to create a new proporietary function without much discussion about standards compatible to different hardware as well as different operating systems.
littleD
31st July 2019, 20:02
Not sure what you mean by this.
OpenGL is/was used in eg. Photoshop (and some other tools) for previewing at 10bit. Some pro apps use OpenGL surface to display video as apparently this allows for better control and separation from OS influence. For example Assimilate Scratch uses OpenGL. It allows for color accurate video preview and screen calibration. My understanding is that Direct3D is more tight to OS and harder to control. OpenGL is also cross platform and apparently more efficient. I may be very wrong. Of course old days only pro card had 10bit support for OpenGL surface, but now it's changing.
https://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D comparison tab explains it quite well (at least for my limited understanding).Previously with GeForce cards You could only transmit 10 bit/p video through cable during video playback. It was since win 7 sp1. And only in exclusive mode, so no OS interface elements would interfere. Now, after driver change, You can enable 10 bit desktop output, so the whole OS screen, including folders, OS UI, opened images are visible in 30 bit on monitor.
Not sure how Photoshop or Scratch process images internally and why proffesional programs choose opengl but it must be what You said, more control over image. It may be better to handle 30 bit image files in opengl texture instead in directx somehow.
While directx is nice for video playback, it's because having all that DXVA stuff. Including hardware decoding support and convertions. Opengl lacks it. There was even opengl renderer on Windows (in VLC IIRC) but no one was using it, really, as it had less features available. Who knows how opengl controls access to 10 bit video output/10 bit textures, exclusive mode, refresh handling and so on. It probably does not at all otherwise somebody would write specific code for it.
huhn
31st July 2019, 20:13
the 10 "bit" openGL "30" bit hack used in photoshop at least on windows uses the 8 bit a RGBA surface "32 bit". it's not a great solution to say it friendly and there are hardware decoder you can use with openGL.
el Filou
6th August 2019, 19:00
I'm continuing an off-topic discussion started in the MPC-HC thread.I've been thinking about replacing CUVID with NVDEC in LAV, with built-in deinterlacing and either copy-back like today or interop with D3D11, so that it could be efficient like D3D11 native, just with deinterlacing, and potential 12-bit and maybe 4:4:4 support (the latter would likely need renderer support first)If this was implemented, in the "D3D11 interop" scenario would the NVDEC deinterlacing be controllable from madVR (with LAV-madVR integration), or would it be fixed in LAV settings like with CUVID/QuickSync?
I rely a lot on the ability to enable/disable deinterlacing with a keyboard shortcut inside madVR (but of course can't benefit from the efficiency of D3D11 native as it currently doesn't support deinterlacing with it).
nevcairiel
7th August 2019, 01:12
madVR (or any renderer) would have no influence on that setting. If you rely on those shortcuts, you would have to wait for madVR to support deinterlacing with D3D11.
SamuriHL
7th August 2019, 02:12
Nev, would NVDEC have theoretical performance gains over other options? Just trying to wrap my head around the possible benefits of it. It certainly sounds interesting.
ryrynz
7th August 2019, 02:46
I currently plan to update it to 0.4.0 once thats available
Released :)
Hopefully stacks up well vs MPC-BE's internal decoder, big difference in CPU utilization between the two right now.
maxkolonko123
10th August 2019, 12:41
hi guys i run into some issue lately and dont know how come this happened, basically i use mpc hc with lav and madvr but what i noticed when played movie last time that haali splitter overtook lav filters? when i check filter in mpc hc its shows me haali and i never had this before, therefore now when i play 4K movies i dont have video only sound and i think its bcos haali is used insted LAV
how can i fully disable haali splitter or uninstall it and make sure only LAV filters are in use ??
ps.
I use external lav filter and had set them in external filters inside mpc hc to prefer but still haali is coming on insted lav :(
filler56789
10th August 2019, 13:00
......
how can i fully disable haali splitter or uninstall it and make sure only LAV filters are in use ??
There should be an item to uninstall Haali in the "Programs and Features" applet of Windows's Control Panel. But if it doesn't exist, you can always run regsvr32 /u "Path-To\splitter.ax".
el Filou
10th August 2019, 13:52
Alternatively, you can use a tool like DSF/MFT Viewer that conveniently lists all the filters installed and lets you unregister them (or register new ones) with a button: https://bluesky23.yukishigure.com/en/DsfMftViewer.html
TS Doctor is one app that forcefully reinstalls Haali Splitter with each update, and the uninstaller in the Start Menu only uninstalls the 64-bit version and I have to unregister the 32-bit one manually.
maxkolonko123
10th August 2019, 14:22
Thanks guys for the ideas will try it once I finish work.
Can anyone of you have idea how come this even happened? Like I didn't change nothing in my filter neither settings that's why I'm curious why out of nowhere haali is used instead of LAV
manolito
10th August 2019, 15:22
TS Doctor is one app that forcefully reinstalls Haali Splitter with each update, and the uninstaller in the Start Menu only uninstalls the 64-bit version and I have to unregister the 32-bit one manually.
You can prevent TSDoctor to reinstall Haali with each update with a Registry setting.
NoHaaliInstall.reg
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Cypheros\TSDoctor2\Install]
"NoHaaliInstall"=dword:00000001
clsid
10th August 2019, 15:53
Source filters can set themselves as preferred for specific file extensions. This overrides filter merits, and also the preferred external filter list in MPC-HC.
Haali became preferred because your installed that last. Re-installing LAVFilters would make LAV default again.
If you need both installed, then you can use Codec Tweak Tool to change the preferred splitter.
maxkolonko123
10th August 2019, 15:58
The thing is I didn't install haali codecs so either they came with something else or I really don't know what happened, cause I always used only LAV + madvr + mpc-hc and nothing else cause everythins was working perfectly fine thats why I'm so confused how come those haali got "activated" probably I wouldn't notice but I wanted to re-watch a movie in 4k and I had no video and I was like yyyy I'm watched all my movies and everything was fine now nothing has video and the only thing what I notice is different to what it was its the Haali splitter in filters when I checked in mpc hc
clsid
10th August 2019, 16:19
Well, something else has obviously installed Haali. There are plenty multimedia tools that bundle codecs. For example video converters.
maxkolonko123
10th August 2019, 16:41
Ok i think i've sorted it : first thing what i did was to add haali in external filter in mpc-hc then block it and voila everything started working how it should, so then i downloaded DSF/MFT Viewer and unregistered haali from my system.
So now i see all LAV filter are in use the only thing what im not sure was there is " FileSource ( Async ) " but when i click on it its just showd PinInfo so i think this is ok nah?
el Filou
10th August 2019, 23:59
You can prevent TSDoctor to reinstall Haali with each update with a Registry setting.Thanks!! :)
ryrynz
13th August 2019, 10:32
Anything interesting in the ffmpeg update?
VictorLS
14th August 2019, 16:01
Anything interesting
It's a pity as minimum quasi-interlaced h265 (SD and HD) still not supported well.
So I have to write instruction to use ffdshow raw video filter with Avisynth script between LAV Video Decoder and Renderer (i.e. EVR) for that mostly from satellites streams.
VictorLS
14th August 2019, 16:13
i think this is ok?
Yes, it's OK.
clsid
15th August 2019, 15:11
This video crashes LAV Splitter:
https://mega.nz/#!1cUDnIwR!lKzYVG5UouLkYaToXZ9vVd2pLpEnAA-nY3oJuzB_vpE
manolito
15th August 2019, 19:33
DivX in an OGM container...
Kind of unusual. Remux it into an MKV container and you will be fine.
LigH
16th August 2019, 07:25
Not too unusual in ancient Anime societies who liked to combine different video formats with Ogg Vorbis audio when it was just the best patent-free audio codec.
manolito
16th August 2019, 12:10
Not too unusual in ancient Anime societies
Alright, this was before my time...
Did a few more tests with this file, looks like most source filters do not get along with the OGM container. In addition to the LAV splitter FFMS2 and LSMASH also refuse to decode this file. Trying to open it with Handbrake does not give me any audio tracks. Using FFmpeg to repack the file also did not work. Remuxing to MKV did not work at all, remuxing to MP4 produced a file without audio.
What did work was playing the file with VLC, and using MKVToolnix to repack it to MKV also worked (with some warnings about the Japanese chapters).
Cheers
manolito
ryrynz
16th August 2019, 12:28
Remux it
He's submitting a bug report, he knows how to "fix" it.. :)
manolito
16th August 2019, 12:48
Of course he knows how to fix it, but I am not so sure if it is really a bug in LAV Splitter. Since most other source filters also refuse to decode this clip it might well be an issue with this specific file.
clsid
16th August 2019, 13:15
The crash happens in LAV Splitter itself. To be specific in the code that handles the Vorbis audio. The extradata is empty and that isn't handled properly.
File also plays with old gabest splitter.
manolito
16th August 2019, 13:53
But then how do you explain that after remuxing to MKV the LAV Splitter handles the Vorbis audio tracks just fine?
clsid
16th August 2019, 14:12
Sigh. Because this bug is not triggered in that situation. There is probably also bug in FFmpeg's Ogg parsing code. Your comments are not helpful.
manolito
16th August 2019, 14:50
Here is another "not helpful" comment... :devil:
If LAV Splitter and FFmpeg based source filters like FFMS2 and LSMASH all are buggy when it comes to opening OGG files then my conclusion is that the OGG format is obsolete or broken enough so that nobody cares to support it. Remux to MKV... (MP4 also works fine.)
LigH
16th August 2019, 15:32
It is possible that the audio track uses the even more ancient Vorbis ACM codec which is not fully compatible to the output of e.g. oggenc2.
filler56789
16th August 2019, 21:26
Here is another "not helpful" comment... :devil:
If LAV Splitter and FFmpeg based source filters like FFMS2 and LSMASH all are buggy when it comes to opening OGG files then my conclusion is that the OGG format is obsolete or broken enough so that nobody cares to support it. Remux to MKV... (MP4 also works fine.)
You are correct :)
https://hardwarebug.org/2010/03/03/ogg-objections/
clsid
17th August 2019, 15:48
File plays ok with LAV 0.68.1-4, and got broken by FFmpeg update.
richardpl
27th August 2019, 14:49
Looks like nobody care to open bug report on FFmpeg bug tracker.
filler56789
27th August 2019, 16:00
Looks like nobody care to open bug report on FFmpeg bug tracker.
PERHAPS because most people already know there exists a not-very-smart gatekeeper named cehoyos...
Stereodude
29th August 2019, 00:13
Does LAV support Sony's 8-bit (non-standard) HLG mode they implemented in their cameras? The 0.74.1.20 LAV filters baked into MPC-HC 1.8.7 + madVR 0.92.17 don't seem to see it as HDR. It does recognize the BT.2020 or BT.709 color in the MP4 files correctly.
huhn
29th August 2019, 02:05
madVR doesn't support HLG.
filler56789
29th August 2019, 18:34
PERHAPS because most people already know there exists a not-very-smart gatekeeper named cehoyos...
...but I think he deserves to be pestered anyway :devil:
New ticket opened @ trac-dot-ffmpeg-dot-org:
http://trac.ffmpeg.org/ticket/8105
LigH
30th August 2019, 07:16
And it already develops ... also into the opposite direction, though, they believe GPAC flagged the stream like MPEG-2 4:2:2 although it is 4:2:0, should have been multiplexed differently. Anyway, it is an "important" entry.
steakhutzeee
4th September 2019, 06:45
Hello, i use MPC BE with madVR and LAV filters.
Should i disable the internal filters in MPC BE to let LAV Filters work as external filter?
Thanks in advance.
jkauff
4th September 2019, 07:03
Should i disable the internal filters in MPC BE to let LAV Filters work as external filter?
Yes, according to the MPC-BE developers.
ryrynz
4th September 2019, 07:40
It's not a requirement for madVR to work however.
steakhutzeee
4th September 2019, 19:15
Strange, because here https://forum.doom9.org/showthread.php?p=1884050#post1884050 users told me that i don't have to disable them.
ryrynz
4th September 2019, 22:34
You don't have to but maybe LAV can do one or two things with MadVR that the BE internals do not and that was why they suggested it.. Is that still the case though?
steakhutzeee
4th September 2019, 22:46
Well that's why i select lav filters as preferred.
Tried to disable them and in the right click->filters, i see MPC Video/Audio etc.
If i enable them, i see instead LAV Video/Audio/Splitter.
So i think maybe they do that one or two things you mention. I don't know. Or there is more i'm ignoring?
VictorLS
5th September 2019, 18:37
Well that's why i select lav filters as preferred.
I do so too and uncheck internal filters, namely TS and Matroska, H264 and HEVC (they have more priority in MPC-BE over preferred external filters) to achieve LAV Filters be used at all (as you describe tough).
steakhutzeee
5th September 2019, 19:51
I do so too and uncheck internal filters, namely TS and Matroska, H264 and HEVC (they have more priority in MPC-BE over preferred external filters) to achieve LAV Filters be used at all (as you describe tough).
Thank you!
But i have noticed that with matroska, the lav filters start just fine. This do not happens to you?
I found matroska in internal filters-> source filters, and HEVC/H264 in internal filters -> video decoder.
Is this the right way i should do this? Anyway i can't find TS.
VictorLS
5th September 2019, 21:17
But i have noticed that with matroska, the lav filters start just fine. This do not happens to you?
I'm sorry - I don't understand your question exactly - just want to say I prefer use LAV Filters instead of any other splitters/demultiplexers/sources and decoders for all formats I use - containers TS, MKV, MP4 (forget to mention in previous post) and encoded MPEG2, H264, H265, VPx video so I do setting of Sources as in attach below. Btw it's not need in MPC-BE to uncheck any audeo decoders in internal filters in my case - prefer LAV Audio Decoder enough.
I found matroska in internal filters-> source filters, and HEVC/H264 in internal filters -> video decoder. Is this the right way i should do this?
Yes.
steakhutzeee
6th September 2019, 06:33
I'm sorry - I don't understand your question exactly - just want to say I prefer use LAV Filters instead of any other splitters/demultiplexers/sources and decoders for all formats I use - containers TS, MKV, MP4 (forget to mention in previous post) and encoded MPEG2, H264, H265, VPx video so I do setting of Sources as in attach below. Btw it's not need in MPC-BE to uncheck any audeo decoders in internal filters in my case - prefer LAV Audio Decoder enough.
Yes.
Sadly the image you attached is still in pending approval. What i was saying is that in MPC BE if i right click and select "Filters" i can see that i'm using LAV with the files you mentioned, with all internal filters active and lav as preferred.
It was a reply to the fact that you said that lav is not chosen correctly even if selected as preferred with those files.
So i was asking if this was not happening to you. To be sure i disabled the internal filters you mentioned anyway.
VictorLS
6th September 2019, 15:59
steakhutzeee
I hope I understand you right this time ;)
LigH
8th September 2019, 11:14
@steakhutzeee: Please don't miss the difference between container and content formats.
Matroska/WebM, MP4/MOV, MPEG PS/TS/PVA ... are containers. They may contain a variety of content formats (like AVC/H.264, HEVC/H.265, WMV/VC-1, VP8/VP9, AV1 ... video, and several audio formats).
Splitters separate the content from the container. Decoders decode the content. You can disable player internal filters for each of them separately. Know what you may have, then you will know what you may want to control.
steakhutzeee
8th September 2019, 22:46
@steakhutzeee: Please don't miss the difference between container and content formats.
Matroska/WebM, MP4/MOV, MPEG PS/TS/PVA ... are containers. They may contain a variety of content formats (like AVC/H.264, HEVC/H.265, WMV/VC-1, VP8/VP9, AV1 ... video, and several audio formats).
Splitters separate the content from the container. Decoders decode the content. You can disable player internal filters for each of them separately. Know what you may have, then you will know what you may want to control.
Thank you very much for the clarification :thanks:
sneaker_ger
14th September 2019, 08:11
Automatic nightly builds are broken?
NikosD
15th September 2019, 07:41
Automatic nightly builds are broken? Looks like that.
Latest September commits haven't compiled yet to nightly builds which are still on August.
el Filou
16th September 2019, 15:29
Strange thing I noticed: since the new dav1d version in 74.1-20, AV1 decoding is actually slower (about 6-7%), both on my Core 2 and my Haswell. (8-bit clip)
nevcairiel
16th September 2019, 18:56
The Virtual Machine that does my nightly builds is currently down, I'll bring it back up soon.
Regarding dav1d performance, sometimes security fixes can cause that, but there is more speedup coming soon as well.
Sometimes multi-threading is also weirdly affected, resulting in overall lower CPU usage, but no gain in speed directly.
ryrynz
1st October 2019, 00:45
Any chance of a Dav1d update in next nightly?
nevcairiel
1st October 2019, 11:26
There will be a new dav1d release soon (once some more improvements are done), not before then.
clsid
3rd October 2019, 14:53
This file (https://drive.google.com/open?id=1QupN_FIkpxenpdl2HYlOdZOEPN4Ajbd2) doesn't play smoothly with DXVA2 Native. No problem with Copy-back.
NikosD
3rd October 2019, 21:34
This file (https://drive.google.com/open?id=1QupN_FIkpxenpdl2HYlOdZOEPN4Ajbd2) doesn't play smoothly with DXVA2 Native. No problem with Copy-back. Indeed, what a sample!
I tried it using iGPU HD 4400 and Turing 1660 and DXVA2 native doesn't play smoothly.
On the other hand, all copy-back modes QuickSync, NVCUVID, D3D11 etc work fine.
Aleksoid1978
4th October 2019, 01:28
Interesting sample - bug only on LAV Video + LAV Source + EVR/EVR-CP.
If use MPC VR or madVR - perfect playback :)
el Filou
4th October 2019, 19:36
Remuxing it to MKV plays smoothly too even with DXVA2 native + EVR.
When looking at EVR stats when playing the FLV, jitter reaches 40+ ms. Timing issue in the container? (Edit: the remuxed MKV is 7/6 seconds shorter video/audio runtime than the FLV)
thrawnrulz68
5th October 2019, 06:15
Does anyone know if the MSA1 (Microsoft Screen Application Decoder) still works in the latest version of LAV? For some reason, mine no longer does. I have not had any other problems and even MSS1 and MSS2 (the other Microsoft screen codecs) seem to work. Was MSA1 removed?
There is a sample a little before halfway down this page: http://samples.ffmpeg.org/V-codecs/
thrawnrulz68
5th October 2019, 06:28
I was actually messing around with some other samples from the ffmpeg site and the following do not seem to work with MPC-HC 1.8.7 and the latest LAV on my system either (even with all formats checked in LAV Splitter and LAV Video Decoder):
CDXL (http://samples.ffmpeg.org/cdxl/)
Newtek SpeedHQ (http://samples.ffmpeg.org/V-codecs/ - near the bottom)
VP4 (http://samples.ffmpeg.org/V-codecs/VP4/)
VP5 (http://samples.ffmpeg.org/V-codecs/VP5/)
Any ideas?
v0lt
5th October 2019, 06:39
Any ideas?
Nobody needs this. :)
littleD
5th October 2019, 07:10
I was actually messing around with some other samples from the ffmpeg site and the following do not seem to work with MPC-HC 1.8.7 and the latest LAV on my system either (even with all formats checked in LAV Splitter and LAV Video Decoder):
CDXL (http://samples.ffmpeg.org/cdxl/)
Newtek SpeedHQ (http://samples.ffmpeg.org/V-codecs/ - near the bottom)
VP4 (http://samples.ffmpeg.org/V-codecs/VP4/)
VP5 (http://samples.ffmpeg.org/V-codecs/VP5/)
Any ideas?You may read nice blog of unreleased? NihAV library here (https://codecs.multimedia.cx/) Just search for old entries or keywords. I am sure he works at least on VPX codec family.
v0lt
5th October 2019, 11:32
LAVFilters-0.74.1-21...24.
Players (MPC-BE, MPC-HC) freeze after pressing the stop button when playing YouTube videos.
huhn
5th October 2019, 14:03
is there a way to get reason/information out of lavfilter when software fallback is used?
nautilus7
5th October 2019, 14:37
Hi, I captured a FTA satellite feed the other day, which I have trouble decoding properly (both in my satellite receiver and in MPC-HC with DXVA2). The weird thing is that with no video acceleration in LAV filters, it plays back fine. Can anyone explain me what's wrong/different with this video that creates problems to the hardware decoders? Or is there a bug somewhere? Thanks.
Sample: https://drive.google.com/open?id=1eQot_p-4hlDB169v2ZUF9HvNJ0fYz5Dh
el Filou
5th October 2019, 15:14
Funny thing: CUVID decodes it just fine too, it's only DXVA that has a problem with it. :confused:
nautilus7
5th October 2019, 16:20
Yep, I noticed that as well. Sorry for not mentioning it.
NikosD
6th October 2019, 08:33
Sample: https://drive.google.com/open?id=1eQot_p-4hlDB169v2ZUF9HvNJ0fYz5Dh Using iGPU HD 4400 (Core i3 4170 Haswell) it plays fine with DXVA2/D3D11VA modes (DAVA2 Native, copy-back & D3D11VA copy-back)
Using QuickSync decoder, it start with artifacts but then the decoded stream goes back to normal.
The same happens when you seek with QS decoder.
The first few seconds have artifacts but then everything is back to normal.
On the other hand, using nVidia GTX 1660, only NVCUVID is fine.
nautilus7
6th October 2019, 09:30
Hm, thanks. I am with an old nvidia 650 Ti.
aufkrawall
6th October 2019, 12:59
Try capturing to another container format like mkv, ffmpeg bombards we with errors when playing this file (which ceases after remuxing to mkv).
NikosD
6th October 2019, 17:05
Try capturing to another container format like mkv, ffmpeg bombards we with errors when playing this file (which ceases after remuxing to mkv). The reason reporting samples that they seem to not work properly, is not always to fix the sample (almost never) but to change the decoder in a way to deal even with "difficult" cases, to make the decoder more resilient to such cases and sometimes to fix a bug.
VictorLS
6th October 2019, 17:31
aufkrawall
Commonly it's not container but "broken" stream problem - may be in your case mkv is played with i.e. LAV Video Decoder with CUVID or without acceleration but ts with another decoder with DXVA/D3D11 acceleration.
I don't know about nautilus7's file but know about my files recorded from SATs like RussiaHD.ts (7MB) https://yadi.sk/d/0TeXaMEg3LiiVA http://forum.doom9.org/showthread.php?p=1784923#post1784923 and http://forum.doom9.org/showthread.php?p=1787253#post1787253 and even muxed in mkv file recorded by some my Russian compatriot after first minute of playing Ч_Г_Д.mkv (153MB) https://yadi.sk/i/YlWK7rqeesHkSA has artifacts with any acceleration but NVIDIA CUVID because nevcairiel despite of not wanting to solve this in LAV Video Decoder http://forum.doom9.org/showthread.php?p=1784851#post1784851 did it ;)
I've just seen with 0.74.1.24-git even with checked Enable CUVID DXVA Processing artifacts absent (early was) so I believe from some version of LAV Video Decoder CUVID DXVA Processing was disabled at all as minimum for Win7 and if I'm right Enable CUVID DXVA Processing is atavism ;)
PS. nVIDIA can't solve that artifacts with DXVA problem (it's in WinXP and very old videocards too) until now so I'm sure it can't be solved at all.
Returning to theme of quasi-interlaced h265 SD and HD channels beginning from here http://forum.doom9.org/showthread.php?p=1846579#post1846579 - it seems ffmpeg still haven't support that so my beta-version of instruction I promised to write http://forum.doom9.org/showthread.php?p=1881908#post1881908 in a root of portable donateware SAT-receiving application SmartDVB 0.5.3.26 can be downloaded from http://www.smartdvb.net/tempsite/index.html in folder HEVC_quasi_interlaced may help to play such channels almost without flickering. If anybody have argue proposition to improve that write in PM, please.
aufkrawall
6th October 2019, 17:40
The reason reporting samples that they seem to not work properly, is not always to fix the sample (almost never) but to change the decoder in a way to deal even with "difficult" cases, to make the decoder more resilient to such cases and sometimes to fix a bug.
Still the user deliberately creates .ts files, which are limited crap vs. mkv.
nautilus7
6th October 2019, 18:40
It's a satellite transmission, where .ts is the standard container...
el Filou
6th October 2019, 18:43
TS is the standard format for digital TV broadcasts, there should not be a need to convert it to play it back. Some splitters designed for local file playback can have problems with it when it comes to things like seeking, but it should not cause video decoding problems. This file shows artifacts even when I play it with MediaPortal, that comes with a splitter dedicated to and optimised for TS playback.
The bug may well be in the program that originally recorded the file, but it's not the format's inherent fault.
VictorLS
6th October 2019, 19:47
The bug may well be in the program that originally recorded the file, but it's not the format's inherent fault.
No, that "broken" streams are done with various programs and even hardware receivers all over the world https://forum.doom9.org/showthread.php?p=1784869#post1784869 but artifacts problem while playing "broken" streams is with DXVA nVIDIA (and may be AMD and some Intel with just QuickSync as NikosD has described) videocards only so I suppose it's coder on transmitting side issue (in Ч_Г_Д.mkv it appears after first minute when i.e. coder was some malfunction) - I even tried to analyze that streams but I'm not professional in it to find the cause of artifacts - IPB structure seems OK in a minute of Ч_Г_Д.mkv - I just almost always use NVIDIA CUVID, excluding 4K HLG https://forum.doom9.org/showthread.php?t=176909 because my GTX750v2 on GM206 is too weak for that - have to use DXVA2(native) in that case, for hardware acceleration while watching all SAT streams directly including that "broken" streams without any artifacts.
el Filou
7th October 2019, 14:39
@nautilus I tried the sample on a Radeon and it decodes just fine so it looks like an NVIDIA specific DXVA bug, you should report it to them.
VictorLS
8th October 2019, 10:39
you should report it to them.
I've reported them with btw RussiaHD.ts sample
PS. nVIDIA can't solve that artifacts with DXVA problem (it's in WinXP and very old videocards too) until now so I'm sure it can't be solved at all.
ReferenceNumber 161108-000131
NamedIDOptList Unresolved
Created 11/08/2016 05:26 AM
UpdatedTime 11/22/2017 08:25 AM
Liisachan
9th October 2019, 13:20
@nevcairiel
MKV files with fonts (attached using new standard Media Types) play just fine now if the latest LAV Splitter is used externally - even with the official (old) MPC-HC from 2017 or MPC from 2009! Thank you so much :)
I have one additional request. Could you please add support for "font/collection" and/or extension .ttc (.TTC) as AV_CODEC_ID_TTF? A ttc file is already working when attached as "application/x-truetype-font", but afaik its standard Media Type (https://www.iana.org/assignments/media-types/media-types.xhtml#font) is font/collection (https://www.iana.org/assignments/media-types/font/collection). TTC files are used commonly in a few countries.
:thanks:
Links for others who may be interested in this:
Related code changes (https://git.1f0.de/gitweb?p=ffmpeg.git;a=commitdiff;h=8066ee422778255341277dd50d83ceb5b1f6a4b2) (matroska: add new standard font mimetypes, 2019-10-06)
nevcairiel's post (https://forum.doom9.org/showthread.php?p=1886821#post1886821) (MKVToolNix@doom9, 2019-10-07)
LAVFilters-0.74.1-26.exe (https://files.1f0.de/lavf/nightly/) (2019-10-09)
clsid
9th October 2019, 13:24
LAVFilters-0.74.1-21...24.
Players (MPC-BE, MPC-HC) freeze after pressing the stop button when playing YouTube videos.Confirmed.
PCU
10th October 2019, 10:27
latest version of lav filters (mpc-hc: by clsid) can't play this file?
https://www.mediafire.com/file/9s2208grgritj2w/attrfmv1.avi/file
this video is divx video fmv from lord of the rings 3 video game for pc.
LigH
10th October 2019, 12:18
FourCC = DXGM; not one of the usual codec markers for a supposedly DivX 5.0.3 compatible video stream.
Patched the FourCC to "DX50" and it plays. So ... try a "FourCC Patcher" as easy workaround.
PCU
10th October 2019, 13:32
i can't patch it, so there's no any other ways, right?
filler56789
11th October 2019, 00:38
i can't patch it, so there's no any other ways, right?
Download avic.exe from Videohelp:
https://www.videohelp.com/software/AVI-FourCC-Code-Changer
ryrynz
12th October 2019, 06:50
There will be a new dav1d release soon
Soon has come *rubs hands*
orion44
13th October 2019, 22:57
What was the last version of LAV Filters that supported Windows XP with Service Pack 2?
el Filou
13th October 2019, 23:42
https://github.com/Nevcairiel/LAVFilters/blob/master/CHANGELOG.txt
Last release to support XP was 0.70.2, no idea exactly what nightly build between that one and 0.71.0 removed support.
Edit: it needs SP3. I really have no idea why so many people insist on running an even older Service Pack on an already obsolete OS.
nevcairiel
14th October 2019, 10:52
Soon has come *rubs hands*
Indeed, I have pushed an updated dav1d library.
nevcairiel
14th October 2019, 11:13
LAVFilters-0.74.1-21...24.
Players (MPC-BE, MPC-HC) freeze after pressing the stop button when playing YouTube videos.
Confirmed.
Please try again with the updates I pushed just now (tomorrows nightly, or your own builds).
nevcairiel
14th October 2019, 11:17
I have one additional request. Could you please add support for "font/collection" and/or extension .ttc (.TTC) as AV_CODEC_ID_TTF? A ttc file is already working when attached as "application/x-truetype-font", but afaik its standard Media Type (https://www.iana.org/assignments/media-types/media-types.xhtml#font) is font/collection (https://www.iana.org/assignments/media-types/font/collection). TTC files are used commonly in a few countries.
I have added the collection type in the latest ffmpeg update, thanks!
ryrynz
14th October 2019, 11:32
Indeed, I have pushed an updated dav1d library.
Thanks, been a bit of talk about this release, this places AV1 into prime time.
tiresias
14th October 2019, 15:47
I have a couple of questions about the LAV video decoder's "Hardware decoder to use" setting.
If a hardware decoder setting such as DXVA2 native or DXA2 copy-back had been selected and saved, what does the LAV video decoder do if the actual hardware is no longer available - say it has been removed or the driver becomes disabled/faulty ?
Does the LAV video decoder just fall back gracefully and silently to software decoding (equivalent to the "none" setting), or does it get into an error state ?
Also, if I understand correctly, the D3D11 setting is just for use with the MadVR renderer which can use DX11. With the D3D11 setting saved, what does the decoder do if it is connected to a renderer than can only do DX9 (such as EVR) - does it drop back to software, or DXVA2 native, or DXVA copy-back or something else?
clsid
14th October 2019, 16:07
If a previously used GPU is no longer available, it will simply pick the first available one.
D3D11 decoder also works with D3D9 renderers. But it will work in copyback mode.
tiresias
14th October 2019, 16:37
If a previously used GPU is no longer available, it will simply pick the first available one.
Thanks. So if for some crazy reason it can't successfully use a GPU, will it always drop back to software mode rather than abort with error?
nevcairiel
14th October 2019, 16:45
Thanks. So if for some crazy reason it can't successfully use a GPU, will it always drop back to software mode rather than abort with error?
If your selected GPU is not usable, it'll use the primary GPU, and if thats also not capable of decoding, it should switch to software.
Do note however that fallback from DXVA2-Native to software is a bit limited in some situations, but in this case when the GPU isn't usable at all, it should probably manage.
huhn
14th October 2019, 16:52
it will use software in this case with no error code which is equivalent to none.
madVR runs in d3d9 it only accepts the frame from d3d11 and has limitations with it. mpc VR has "full" d3d11 scaling and even deinterlacing works too and it is a d3d11 renderer.
nevcairiel
14th October 2019, 16:54
mpc VR has "full" d3d11 scaling and even deinterlacing works too and it is a d3d11 renderer.
Which is nice, but doesn't really matter. The other capabilities of a renderer is where it counts.
huhn
14th October 2019, 17:15
sorry i have to disagree it matters if you can play interlaced content or not.
the more renderer that support this completely the better so hopefully madVR joins in and gives it the support it deserves.
not a problem in lavfilter anyway which is important here.
NikosD
14th October 2019, 18:15
D3D11 decoder also works with D3D9 renderers. But it will work in copyback mode.
MadVR runs in d3d9 it only accepts the frame from d3d11 and has limitations with it.
mpc VR has "full" d3d11 scaling and even deinterlacing works too and it is a d3d11 renderer. Which are the D3D11 renderers that work with LAV's D3D11VA decoder in native mode ?
MadVR only ?
Is there any MS renderer of latest Win10 compatible with LAV's native D3D11VA decoding ?
huhn
14th October 2019, 18:23
wrong thread.
mpcVR supports it (even in d3d9 mode it uses native just like madVR) with d3d11 processing but it's still yung and madVR only accept the image from it and uses d3d9 after that.
no clue about the rest.
NikosD
14th October 2019, 19:26
mpcVR ?
I missed that project!
Very interesting as I read now and kudos to @Aleksoid1978.
Does it currently work only using MPC-BE and its internal filters ?
Could someone install it and use it with MPC-HC and internal LAV filters ?
huhn
14th October 2019, 19:47
why don't you ask them in the mpc-be thread? for some reason they post new version in that thread not in a new one.
it's fully supported in mpc-be.
you can make it work in mpc-hc (i personally test it in there) but some feature don't work they need player support.
d3d11 native decode works perfectly with mpc VR so lavfilter is supported.
using mpc-be with lavfilter is pretty normal lavfilter simply has a bigger feature level.
in the end it is directshow and so it should work fine with ffdshow too.
Liisachan
14th October 2019, 23:56
I have added the collection type in the latest ffmpeg update, thanks!
Thanks a lot! Though perhpas these additional supports are superficial and trivial for developers, I really appreciate it.
(Background) Historically there were no official mime types for fonts, but lately they were officially registered as CSS @font-face has become so common. The mime type changes (legacy -> standard) are causing subtle problems, since embedded fonts are recognized by their mime types stored in MKVs. Players that can't handle new mime types can't show styled subs properly, in the worst case subs being totally unreadable!
v0lt
15th October 2019, 17:05
Please try again with the updates I pushed just now (tomorrows nightly, or your own builds).
I checked LAVFilters-0.74.1-28. I could not cause freezing after pressing the Stop button. Thank.
tiresias
18th October 2019, 18:29
Thanks for the clarification about the hardware decoder option.
I've been doing some more searching, and found some info specifically about the "DXVA2 native" and "DXVA2 copy-back" settings which I would like to clarify. Can I just run this by you for comments on what is right or wrong in the following statements:
If you are using the standard Windows EVR then it sounds like the best choice is probably "DXVA2 native" or "DXVA2 copy-back".
The setting "DXVA2 native" can only be used where the video decoder is connected directly to the renderer.
If there is a filter between the decoder and the renderer (or there is no renderer because we are outputting to a file) then "DXVA2 native" will drop back to software decoding.
If "DXVA2 copy-back" is selected, then you CAN use a filter between the decoder and the renderer and there is no drop back to software.
More recent GPUs are able to copy from video memory to system memory fast, so that there should not be a performance penalty in always selecting "DXVA2 copy-back" instead of "DXVA2 native" whether connecting directly to a renderer or not, or outputting to a file.
So, of the two settings, "DXVA2 copy-back" should always be selected, except that for OLDER GPUs that are slower to copy from video memory to system memory then selecting "DXVA2 native" may be more responsive when connected directly to a renderer.
Where "DXVA2 copy-back" is selected, regardless of whether the decoder is connected directly to the renderer or not, the decoder will use the first GPU that it finds to do the decoding, which might not be the same GPU that the renderer uses. In that case, is there a performance penalty or other problems where the decoder is using a different GPU to the renderer?
chros
19th October 2019, 08:25
Take a look at the links of this post (https://forum.doom9.org/showthread.php?p=1887838#post1887838).
tiresias
4th November 2019, 16:20
Thanks Chros, that helps a lot.
One more question...
It seems that the vast majority of desktops and laptops nowadays have some form of DXVA2 hardware acceleration. But the LAV Video Decoder installation default for Hardware Acceleration is "None", so inexperienced users are stuck with software decoding from the start (unless they investigate and change the setting).
Wouldn't it be better for the installation default to be DXVA2 copy-back instead? If there was any problem it would drop back to software (none) anyway.
It just seems that basic/inexperienced users are missing out on the hardware acceleration that their PC is capable of because they are set up with software decoding from the start.
Any thoughts on this?
nevcairiel
4th November 2019, 17:03
I don't believe "unexperienced" users should actually install LAV Filters themselves. They should just get MPC-HC or another player, which bundle everything they need, and players can also pre-configure it to how they see their user-base.
v0lt
5th November 2019, 20:13
Wouldn't it be better for the installation default to be DXVA2 copy-back instead?
It is a bad idea. The "copy-back" feature is redundant for most real systems (this will only increase power consumption). And on some systems (with integrated graphics) there will be problems with the frame output speed (50/60 fps will become unattainable).
huhn
11th November 2019, 08:25
just a small heads up that arm based windows notebooks/tables and such are now are now starting to show up.
one example is the surface pro x not a small product and important that it is from microsoft showing once more there commitment to arm.
clsid
11th November 2019, 16:21
Those Windows based ARM devices have x86 emulation, so MPC-HC and LAV Filters will work just fine. The chipset GPU supports hardware acceleration as well.
huhn
11th November 2019, 16:36
well yes but we talked about this before and nev was thinking about an arm build software decoding is important and the copy operation is as far as i know SIMD optimised.
the emulation is really slow. not a good video but better then nothing:
https://www.youtube.com/watch?v=oR0x_yx-6Rg
real world test with native x86 vs a emulated x86 is at ~11:20.
working is not always good enough...
and just to be clear not saying that this device is enough to justify an ARM build or even making it close to important but just look at the name of the processor this is mostly not the last one.
the surface 2? had a tegra too but newer devices used an intel CPU.
littleD
11th November 2019, 21:47
real world test with native x86 vs a emulated x86 is at ~11:20.
working is not always good enough...You mean geekbench chart, which is merely GPU measure benchmark?
I am worried more about raw CPU performance. Cinebench chart is not looking promising..
Is that really possible that emualted Windows gonna win with native arm Android system and even (nonexistent anymore) WinRT? Or other linux distro?
huhn
12th November 2019, 06:26
i mean the chrome test the emulated x86 on arm is not competitive at all but edge which was native arm vs native x86 was competitive.
beware these are pretty bad controlled test but they still hint that native ARM code is much faster then emulated code.
windows 10 is native ARM or with other words it has an ARM build.
oldpainlesskodi
27th November 2019, 09:14
Hi Guys,
Not sure if anyone can shed any light for me?
I have some videos with a aac 5.1 sound track, if I let Lav Audio handle the playback, the sound is as flat as a pancake (tried with saneer, with all the options on and off, no difference, and tried without saneer, again no difference). However, if I remove Lav audio from the chain, the sound is deep and high, and expansive. My windows audio (HDMI) device is set to 7.1 192 khz, so windows is doing the up sampling (or whatever the term is), but no matter what settings i use if I use Lav Audio, it still sounds flat (tried with mixing, and no mixing options on etc).
Maybe I have missed something obvious? I would have thought that using non-exclusive mode, they should sound the same?
el Filou
27th November 2019, 18:31
What is 'saneer'?
For the most accurate audio in LAV:
- enable all output formats
- disable DRC
- disable mixing (should not be needed if you use 7.1)
When you say "if I remove Lav audio from the chain", what decoder is used in that case? If the audio renderer is the same then that other decoder is probably applying processing to the audio that makes it sound different from the accurate decoding of LAV.
huhn
27th November 2019, 19:13
https://github.com/alexmarsev/sanear
oldpainlesskodi
28th November 2019, 08:59
Thanks for correcting my spelling error Huhn.
@ el Filou - yep, did all that (all the obvious stuff). I can use any other service to render (ffdshow) with all options disabled/inactive, and as I said, the sound is completely different.
Maybe Nev can shed some light.
nevcairiel
28th November 2019, 13:49
"flat" audio is not a technical description that allows any kind of diagnosis. LAV decodes all audio as accurately as possible.
el Filou
28th November 2019, 14:09
Did you try decoding a track to a WAV using something like ffmpeg or eac3to and then playing that WAV file to see if it's closer to what ffdshow or LAV outputs?
If you look on the Web for "WavDest", you can also try and get a WAV file output of both playback chains to find out what exactly is different in the sound, but you need to use GraphStudio.
LAV was mainly designed to be a simple and accurate decoder, while ffdshow is more a full-blown audio processing framework which increases the chances of 'doing something wrong' even unintentionally. If the sound is different between them, the most probable cause would be ffdshow modifying it rather than LAV not decoding it correctly.
oldpainlesskodi
28th November 2019, 14:28
Ok thanks both.
nevcairiel
28th November 2019, 19:04
The most likely case is that your AAC audio file decodes to a different channel layout then you might expect, since LAV actually tries to obey the layout information in the file, while older decoders like ffdshow just ignored such info and put it in a generic 5.1. That may be a case of a badly encoded audio stream, or just needing some tweaking in the audio renderer configuration to map it to the speakers you actually have.
Without a file at hand or some info I can actually go on (like maybe the output pin info of both LAV Audio and another decoder), its impossible to say anything else however.
oldpainlesskodi
29th November 2019, 08:53
ok thanks Nev, will do a bit more digging.
zerowalker
13th December 2019, 00:41
If a an mkv file have seeking issues (it seeks but it acts like an flv file and has to go through the entire file).
Is that the LAV Splitter that's the "problem", or is it the video decoder?
(I am using LAV obviously).
I basically have this issue with certain produced mkv files,
but VLC if i recall doesn't, so while the files might be odd, or perhaps wrong in some way, it can at least be handled.
And i would like to know what the problem is, and hopefully have it solved if possible.
But i need to know what handles the seeking first, and then perhaps give some sample (this might be hard though if you want to see it being slow, as then the file has to be very big, but if it's just a sample that has the issue and you can look at it's data somehow, that's easy enough).
Thanks:)!
LigH
13th December 2019, 09:11
Try to remultiplex the file to a new MKV with MKVToolnix or ffmpeg; if the problem persists, it's more probably the content for this file.
Anyway, different media players may use differently robust techniques (one may fail in case of issues where another may be able to skip). If you use LAV Filters with a generic media player, the DirectShow API may be the culprit; MPC-HC (and probably MPC-BE too) uses LAV Filters with another native API. And VLC uses the same core libraries but with an own "playback engine".
Olivier C.
13th December 2019, 19:40
Hi nevcairiel,
Some seamless branching BD (theatrical version / extended version) can not be played correctly.
The extended version (usually the longest MPLS) can hide some audio tracks. You can check theses hidden tracks in BDInfo, beginning with an asterix '*'.
LAVFDemuxer completely ignores this information. Therefore, when we launch the extend version (i.e. usually the longest playlist), the audio is out of sync when we reach a M2TS for which the initial language selected is not available.
For example :
Extended version :
-> playlist 00802.MPLS english only (german hidden)
-> 00001.M2TS (german and english)
-> 00002.M2TS (english only)
When we reach 00002.M2TS, audio is out of sync if we select german as initial audio track.
One solution could be to check the available audio tracks in the selected playlist (MPLS) and avoid selecting a track hidden by the playlist.
Or maybe LAV could change the audio track dynamically when the current audio language is not available in the current M2TS ?
Thanks a lot
hubblec4
14th December 2019, 13:55
Which Bluray is that. All my seamless branching BDs have ever all streams in all m2ts files. Your case is new for me.
Olivier C.
14th December 2019, 14:57
For example :
Kingdom Of Heaven (2005) - Director's Cut version
BDInfo - Director's Cut version - Spanish and French hidden by the playlist (see asterix '*') :
https://i.imgur.com/c8E9Uxk.jpg
BDInfo - Theatrical version - Spanish and French available :
https://i.imgur.com/HrJV7bF.jpg
Blu-Ray Menus -> French available only in theatrical version (as indicated) :
https://i.imgur.com/Re0DJSL.jpg
hubblec4
14th December 2019, 15:41
Wow, I have never seen this before, could you imagine to share the disc with me?
If so, I will offer my DiscShare tool to easy create a disc chunk.
Olivier C.
14th December 2019, 16:23
Yes, PM :)
I can provide more examples like this one.
I think it's time to fork and fix LAV + MPC-HC for BD stuff (forced subtitles / Blu-ray menus).
hubblec4
14th December 2019, 17:00
I think it's time to fork and fix LAV + MPC-HC for BD stuff (forced subtitles / Blu-ray menus).
This can also be a problem for chapterEditor's BD2mkv Multi-Edition-mkv mode, when MKVToolNix fails while muxing.
There is no check to omit streams which are not used in all editions.
clsid
14th December 2019, 17:06
I think it's time to fork and fix LAV + MPC-HC for BD stuff (forced subtitles / Blu-ray menus).Submit a patch and I will apply it to MPC-HC ;)
Olivier C.
14th December 2019, 17:28
According to my quick debug, I could find that LAV was the culprit.
LAV Splitter takes in account user preferences languages in order to select audio track but ignores that a track can be hidden by a playlist.
When you reach at some point a piece (M2TS) which does not contain the initial audio track selected by LAV (because the cutted scenes are available only in english for example), the audio part you can hear does not belong anymore to the video part. It's quite funny.
nevcairiel
14th December 2019, 17:45
LAV Splitter takes in account user preferences languages in order to select audio track but ignores that a track can be hidden by a playlist.
This is actually done intentionally, as people used to complain that some of the tracks aren't shown.
Its not really clear if a track is supposed to be hidden because its "incomplete", or if its missing for some other unwanted reason from the playlist, which does happen.
I think it's time to fork and fix LAV + MPC-HC for BD stuff (forced subtitles / Blu-ray menus).
Its easy to complain, hard to send improvements. :)
LAV will never offer Blu-ray menus, its not designed for such interactive access (and its also hard to make that happen in a generic filter like LAV, as it requires tight interaction with a player to work properly). It would be easier to make a stand-alone BD menu source filter then trying to shoe-horn that into LAV. Unfortunately all people that tried usually didn't stick around long enough to finish it, or have decent ambitions to do it right.
And without menus, its almost impossible to find forced subtitles reliably on all discs.
Olivier C.
14th December 2019, 17:45
Here is an interesting trace (libbluray) on the playlist which belongs to the Director's cut version :
LAVSplitter.ax(tid c68) 3629801 : Seek Request: 40912906507 (time); 13685463360 (byte), 91791360 (prev byte)
LAVSplitter.ax(tid c68) 3629802 : file_win32.c:47: Closed WIN32 file (0000020457FC6310)
Le thread 0x3664 s'est arrêté avec le code 0 (0x0).
LAVSplitter.ax(tid c68) 3629806 : [BD] file_win32.c:143: Opened WIN32 file Z:\\\BDMV\STREAM\00850.m2ts (00000204582C87A0)
LAVSplitter.ax(tid c68) 3629806 : [BD] register.c:420: bd_psr_write(): PSR7 (PLAYITEM) 0x0 -> 0x22
LAVSplitter.ax(tid c68) 3629806 : [BD] bluray.c:3111: PSR change: psr7 = 34
LAVSplitter.ax(tid c68) 3629806 : [BD] register.c:418: bd_psr_write(8, 524280): no change in value
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:3072: PSR write: psr8 = 524280
[B]LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:293: Stream with preferred language not found
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:314: Selected stream 0 (language eng)
LAVSplitter.ax(tid c68) 3629807 : register.c:418: bd_psr_write(1, 1): no change in value
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:3072: PSR write: psr1 = 1
[B]LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:293: Stream with preferred language not found
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:305: Subtitles disabled (audio is in the same language)
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:314: Selected stream 0 (language eng)
LAVSplitter.ax(tid c68) 3629807 : [BD] register.c:418: bd_psr_write(2, 268369921): no change in value
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:3072: PSR write: psr2 = 268369921
LAVSplitter.ax(tid c68) 3629807 : [BD] register.c:420: bd_psr_write(): PSR8 (TIME) 0x7fff8 -> 0xb6d700
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:3111: PSR change: psr8 = 11982592
LAVSplitter.ax(tid c68) 3629807 : [BD] register.c:420: bd_psr_write(): PSR5 (CHAPTER) 0x1 -> 0x19
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:3111: PSR change: psr5 = 25
LAVSplitter.ax(tid c68) 3629807 : [BD] bluray.c:1632: Seek to 13685463360
LAVSplitter.ax(tid c68) 3629807 : BD Seek to 13685463364, achieved 13685463360, correcting target by 4
LAVSplitter.ax(tid c68) 3629828 : New clip! offset: 38363739337 bytepos: 12822546432
I will try to investigate this a little further because it's quite annoying.
Olivier C.
14th December 2019, 17:54
This is actually done intentionally, as people used to complain that some of the tracks aren't shown.
I can understand but on the other side, this could lead to other problems when a playlist contains different M2TS with different audio tracks (Director's cut with restricted languages, etc).
Some commercial blu-ray players does not show you these hidden tracks.
Olivier C.
14th December 2019, 18:08
Its easy to complain, hard to send improvements. :)
LAV will never offer Blu-ray menus, its not designed for such interactive access (and its also hard to make that happen in a generic filter like LAV, as it requires tight interaction with a player to work properly). It would be easier to make a stand-alone BD menu source filter then trying to shoe-horn that into LAV. Unfortunately all people that tried usually didn't stick around long enough to finish it, or have decent ambitions to do it right.
And without menus, its almost impossible to find forced subtitles reliably on all discs.
I agree with you but :
- Jriver player can offer Blu-ray menus (thanks to libbluray and you)
- KODI player can offer Blu-ray menu
My opinion is that some small improvements can easily be done in MPC for the Blu-ray stuff but there is a lack of interest for the Blu-ray part in the MPC team (MPC-BE / MPC-HC).
Manni
14th December 2019, 23:40
I agree with you but :
- Jriver player can offer Blu-ray menus (thanks to libbluray and you)
- KODI player can offer Blu-ray menu
My opinion is that some small improvements can easily be done in MPC for the Blu-ray stuff but there is a lack of interest for the Blu-ray part in the MPC team (MPC-BE / MPC-HC).
There is a lack of interest because the MPC-BE devs probably rip to mkv and have no interest to spend the time developing menu support. CLSID only maintains MPC-HC and doesn't add features, but nothing stops you from contributing if it's "easy" :).
How about buying jRiver if you want bluray menus? That's what I did.
It's not expensive and it works GREAT.
It's also a way to show your appreciation for the work that Nevcairiel does on LAV :)
ryrynz
15th December 2019, 00:26
Yeah, menu support is no trivial task. Would recommend as Manni suggested.
Olivier C.
15th December 2019, 01:17
I personnaly use Jriver for audio only. I much prefer Kodi for TV shows and movies : 3d cases, animated posters, cinéma experience, sagas, scrapping, flexibility, look and feel, widgets like imdb top 250 and so on. As a french guy, I had to wait until Jriver 24 for multi language scrapping. TV shows posters are not scrapped in my native language but in english. A shame for a paid software.
I asked many times the Jriver team on the feature request post (forums) to use the mouse wheel for volume control but they don't want their users to use their mouses like they want. Too bad for a so simple thing. They are very nice for asking me every year to pay in avance a license for the next release without the possibility to ask a so simple parameter.
In fact, I would much prefer paying nevcareil or someone else for integrating blu Ray menus in MPC-HC rather than paying a 26th license to the Jriver team. Good developpers need to be supported and motivated.
I like MPC-HC and lav filters for mkv but it lacks some features for blu rays.
Just my personnal opinion
Olivier C.
15th December 2019, 01:26
nothing stops you from contributing if it's "easy" :).
For the "easy" improvements, I was referring to hidden tracks in a playlist.
Olivier C.
15th December 2019, 01:30
This is actually done intentionally, as people used to complain that some of the tracks aren't shown.
Its not really clear if a track is supposed to be hidden because its "incomplete", or if its missing for some other unwanted reason from the playlist, which does happen.
Why not selecting a track which is not hidden and let some users select another (hidden) track if they want. I was not asking for hiding them but just selecting a track in a more logical way.
This way, everyone should be happy.
Aleksoid1978
15th December 2019, 03:00
Yes, PM :)
I can provide more examples like this one.
Can you share disc for me - for improvement MPC-BE ?
Olivier C.
15th December 2019, 03:32
Yes, PM
Olivier C.
15th December 2019, 03:50
And without menus, its almost impossible to find forced subtitles reliably on all discs.
Yes, I agree, it's "almost" impossible but a quick scan of 30 sec can guess forced subtitles tracks with a much greater accuracy (98% ?) than the couple MPC-HC/MPC-BE + LAV (50% accuracy in BD FHD ? Better in BD UHD though because there aren't so many separate forced subtitles tracks in UHD).
A friend of mine has developed it in his player and it's very usable. 2% of the time, his tool is wrong.
Manni
15th December 2019, 13:24
I personnaly use Jriver for audio only. I much prefer Kodi for TV shows and movies : 3d cases, animated posters, cinéma experience, sagas, scrapping, flexibility, look and feel, widgets like imdb top 250 and so on. As a french guy, I had to wait until Jriver 24 for multi language scrapping. TV shows posters are not scrapped in my native language but in english. A shame for a paid software.
I asked many times the Jriver team on the feature request post (forums) to use the mouse wheel for volume control but they don't want their users to use their mouses like they want. Too bad for a so simple thing. They are very nice for asking me every year to pay in avance a license for the next release without the possibility to ask a so simple parameter.
In fact, I would much prefer paying nevcareil or someone else for integrating blu Ray menus in MPC-HC rather than paying a 26th license to the Jriver team. Good developpers need to be supported and motivated.
I like MPC-HC and lav filters for mkv but it lacks some features for blu rays.
Just my personnal opinion
I don’t use jRiver as a front end as it wouldn’t meet my needs either for my Movie collection. I only use it as an external player for BD / UHD BD Menus.
I don’t know if Kodi supports external players, I don’t use it.
I use MyMovies, and used to use that front end in MCE, now I only use MyMovies for the collection management and I use CMC as a front-end, as it integrates tightly with MyMovies and provides what I need as a front end for a 3000+ movie and TV Show collection.
I asked the developer of CMC to add support for jRiver and many other things in the last few months, he is extremely responsive and it’s a pleasure to suggest new features and see them implemented. The software has made incredible progress in just a few months, and the cost is very reasonable.
CMC was 70% there when I started using it less than a year ago, it’s now 90% there. The main features still needed to catch up with what is possible with MyMovies under MCE are lights control and WOL for the servers, and it will have all I need that jRiver as a front-end couldn’t deliver. Still, jRiver is the best player for my needs, and the price is entirely justified in my view for “just” a player if the front end doesn’t suit you. :)
If you already have jRiver, I would investigate getting it supported by KODI as an external player or taking a look at CMC (Chameleon Media Centre) with MyMovies.
Sorry for the slight off topic, let’s get back to LAV :)
Olivier C.
15th December 2019, 14:12
I will try Jriver as an external player in KODI. Thanks for your advice Manni.
hubblec4
15th December 2019, 15:48
@ Olivier
Thanks for sharing the disc. It seems all streams available in both editions, but you are right, the french/spanish sound is sometimes silent(different to the extended edition).
Technical there is no problem to mux this BD with chapterEditor to a multi-edition-mkv.
Matroska has a feature which uses TrackUIDs per chapter, but this is not supported in LAV-Splitter.
Olivier C.
16th December 2019, 01:48
@ Olivier
Thanks for sharing the disc. It seems all streams available in both editions, but you are right, the french/spanish sound is sometimes silent(different to the extended edition).
Technical there is no problem to mux this BD with chapterEditor to a multi-edition-mkv.
Matroska has a feature which uses TrackUIDs per chapter, but this is not supported in LAV-Splitter.
Thanks for your feedback hubblec4.
Olivier C.
16th December 2019, 03:41
Harry Potter and the Deathly Hallows - Part 1
Harry Potter and the Deathly Hallows - Part 2
These Blu-rays contain Making-Of, commentaries (i.e. the longest playlist on each BD, i.e. 00200.MPLS).
LAV can not deliver any sound in french (my native language), german, dutch, and italian.
Aleksoid1978
16th December 2019, 04:58
Harry Potter and the Deathly Hallows - Part 1
Harry Potter and the Deathly Hallows - Part 2
These Blu-rays contain Making-Of, commentaries (i.e. the longest playlist on each BD, i.e. 00200.MPLS).
LAV can not deliver any sound in french (my native language), german, dutch, and italian.
Can you send PM "copy" of this BD.
Olivier C.
16th December 2019, 13:43
Can you send PM "copy" of this BD.
It's done
Blight
18th December 2019, 16:46
I have a (verified) user report about LAV being extremely slow to seek in certain matrsoka files while Win10's "Movies and TV" app seeks fine, here is the full report:
-------
Long time registered user of Zoom Player, but new to OBS and streaming in general. To try and keep this short, I've been recording with OBS Studio (v24.0.3 x64) into MKV files. When I attempt to play the files in Zoom Player (14.5 Max 1450) they will start perfectly fine and play perfectly fine but when I attempt to seek into the file it will take some time to start playing again. If I seek towards the beginning it's somewhat minimal, but increases drastically (exponentially?) if I try to seek further into a larger / longer file. It will also happen if I alter the window size or jump into/out of fullscreen mode. This happens when encoded with H264 or H265, and I've tried different renderers in ZP (MadVR, ENV) to no avail. When I play the same files with the baked-in Win 10 "Movies and TV" app it seeks without any sort of delay no matter what time I jump to in the video. Sad panda.
One important note that may be (very) relevant - I'm encoding on an AMD RX580 utilizing AMF (obs-amd-encoder-2.6.0.0) so these videos lack B-Frames as described here (https://github.com/obsproject/obs-amd-encoder/wiki/hardware-support#AVCSVC_H264-5). It doesn't specifically mention that H265 lacks B-Frames under the "HEVC (H265)" heading but when I analysed an H265 video with ffprobe is does specify "has_b_frames=0" so I assume neither encoder generates them.
I made an hour+ video of only black and silence, and the issue definitely remains. As you will (hopefully) see the delay becomes much more prevalent the further into the video you attempt to seek.
-------
Here is the sample file:
https://inmatrix.com/temp/AMD_RX580_B-Frame_Test.rar
huhn
18th December 2019, 19:12
this file seeks "instantly" on my system using 64 bit mpc-hc and madVR.
i use madVR decoder queue as an indicator because it is a blank video.
tested with software and d3d11 using an 1060.
feel free to say him polaris can't encode HEVC with B frames is a well known fact.
el Filou
18th December 2019, 19:36
On my system it seeks instantly with MPC-HC (32-bit), but with MediaPortal (also 32-bit) I have the same issue as Blight, which is strange as both are using the latest LAV nightly's with Splitter Source as well as decoders (tested with software and DXVA2 cb).
However, I've noticed another issue: with both players it takes a very long time to stop playback, especially with MPC-HC where it gets wrose the more you've seek during playback and can take up to 150 seconds with very high CPU usage by the player process.
I found that remuxing the file with MKVToolNix and removing the 3 tag tracks that are present (no idea what they're for) fixes this second problem with MPC-HC, but not the seeking problem with MediaPortal.
huhn
18th December 2019, 20:24
i can confirm the closing issue only visible in the task manager.
one core is 100 % for at least 10 sec+.
Pat357
18th December 2019, 23:00
I had the same very slow seek with both MPC-HC & MPC-BE configured to use LAV. It took >5 sec to seek from start to 75% from the file.
Was very disturbing.
Then I changed an option in MPC-HC player under Options -> Tweaks -> fast seek (keyframes), enabled this option and seeking is almost perfect.
So, I guess the issue is not LAVfilters, but an option in the player to allow the use of keyframes for seeking.
Does ZP have such option ?
Note : with the MPV player, I have quick seeking, but the player reports something interesting :
[mkv] This is a broken file! Packets with incorrect keyframe flag found. Enabling workaround.
nevcairiel
19th December 2019, 08:53
The file is broken, because it doesn't flag any audio frames as keyframes, which in an AAC stream like this one, every single one should be. Whichever software wrote it is broken (the metadata of the file says it was written by libavformat from ffmpeg, so presumably whichever app feeds libavformat forgot to set the keyframe flag).
Regardless, I've added a workaround specifically for such files, similar to what mpv does, and simply assume that audio always has keyframes. So it should work now.
Blight
19th December 2019, 18:22
Thanks nev, I asked the person reporting this issue to pass along your findings so it can also be fixed at the source.
zerowalker
30th December 2019, 23:03
Try to remultiplex the file to a new MKV with MKVToolnix or ffmpeg; if the problem persists, it's more probably the content for this file.
Anyway, different media players may use differently robust techniques (one may fail in case of issues where another may be able to skip). If you use LAV Filters with a generic media player, the DirectShow API may be the culprit; MPC-HC (and probably MPC-BE too) uses LAV Filters with another native API. And VLC uses the same core libraries but with an own "playback engine".
Muxing it with ffmpeg works, which is the odd thing cause it's made by ffmpeg to begin with (it's from OBS, so ffmpeg is used programatically somehow).
Yeah get that they can bruteforce, but i would like to know what is wrong, if it's actually right ant the mediaplayers are wrong, or vice versa.
I will give a random sample that has the issue, it won't be really detectable cause of it's size, but it might help see what is wrong.
EDIT:
Here's a link to it: https://drive.google.com/open?id=1zpIVHwx5tlJYnWM3CmMOQ8dsAyH3sEjQ
sneaker_ger
30th December 2019, 23:24
Looks it's exactly the same problem as reported by Blight in post #23750 (which nevcairiel added a workaround for in the recent nightly). So the file is broken. You can see the difference in MKVToolNix GUI's Info Tool (in the clusters you see that no AAC frame is marked as key frame in the original as opposed to a proper remux).
zerowalker
31st December 2019, 01:00
Looks it's exactly the same problem as reported by Blight in post #23750 (which nevcairiel added a workaround for in the recent nightly). So the file is broken. You can see the difference in MKVToolNix GUI's Info Tool (in the clusters you see that no AAC frame is marked as key frame in the original as opposed to a proper remux).
Ah, could this perhaps be fixed when the file is made?
I don't have experience with how ffmpeg handles this programatically but perhaps someone here does, if so i could talk to the developer of OBS and perhaps get it solved with the help of both.
Cause solving the source seems like the best solution, even if there's a workaround.
nevcairiel
31st December 2019, 13:26
Of course this could be solved when the file is made. OBS should mark audio frames as keyframes when encoding/muxing the audio, and it would all be fine. If they were using ffmpeg for encoding, it should do that automatically, but I assume they have some abstraction between encoding and muxing, and the keyframe flag is lost in there.
zerowalker
31st December 2019, 15:20
Of course this could be solved when the file is made. OBS should mark audio frames as keyframes when encoding/muxing the audio, and it would all be fine. If they were using ffmpeg for encoding, it should do that automatically, but I assume they have some abstraction between encoding and muxing, and the keyframe flag is lost in there.
Indeed they use it, and i recall the developer not getting why it would mess up as ffmpeg handles it.
Not sure how it muxes it and it might be as you say that it's lost there, will try to get some info on that.
jespermart
6th January 2020, 00:59
I will try Jriver as an external player in KODI. Thanks for your advice Manni.
Did you manage to use Jriver as an external player in Kodi, if yes could you please post your playercorefactory file
VictorLS
15th January 2020, 21:14
Does ffmpeg (or any other audio decoder) support (play) Dolby AC-4 I've received from 19e2 SAT (German test UHD HLG (http://forum.doom9.org/showthread.php?t=176909) channel)?
Full TS records by AltDVB, CrazyScan and PID_0x0201.bin and mpg's by TSReader (459MB total) https://transfiles.ru/ehlj6
Dolby AC-4 only audio must be in PID_0x0201.bin file.
el Filou
16th January 2020, 02:46
See this thread where nevcairiel said there was work in ffmpeg to implement it, but obviously with no idea of when it would be complete: https://forum.doom9.org/showthread.php?p=1863107
v0lt
16th January 2020, 08:05
Does ffmpeg ... support (play) Dolby AC-4
No.
https://trac.ffmpeg.org/ticket/8349
VictorLS
16th January 2020, 10:44
Thanks guys!
richardpl
16th January 2020, 12:27
My fork of FFmpeg plays ac4 just fine.
LigH
16th January 2020, 13:59
Interesting. Can you share any details (configuration, embedded libraries, required patches)?
VictorLS
16th January 2020, 18:07
My fork of FFmpeg plays ac4 just fine.
Even PID_0x0201.bin from https://transfiles.ru/ehlj6 ?
If so I ask you same questions as LigH ;)
VictorLS
19th January 2020, 08:26
My fork of FFmpeg plays ac4 just fine.
Can you although upload (may be in PM) your compiled fork of FFmpeg to test AC4 streams by myself?
clsid
19th January 2020, 17:09
sample (https://www.sendspace.com/file/9in80k) + CUVID + RGB32 output = bug
With madVR it crashes, with other renderers it just hangs on start.
max79
19th January 2020, 20:35
@nevcairiel
I humbly ask for help. Problem with "LAV Splitter Source", on HLS live streams it didn't output the highest possible by quality audio track for the specified language(please see "picture (https://dl.dropboxusercontent.com/s/0lr3qfucn7r1yy6/LAVissueAT.png)"). My settings was like this:
1) "Prefer Audio Stream with the Highest Quality": enabled
2) Preffered Language for Audio: rus
I try to check two TV-stream examples:
First have such audio streams:
1) Russian [rus] (stereo 192kb/s)
2) Russian [rus] (5.1, 384kb/s) [default]
Second have such audio streams:
1) Russian [rus] (5.1, 384kb/s)
2) Russian [rus] (stereo 192kb/s) [default]
Filter always output audio stream marked as [default] on both examples. Seems setting-"Prefer Audio Stream with the Highest Quality" just ignored in such cases. How can I configure filter for automatically choosing the best by quality track for the specified language: Second stream in first example and First stream in second example?
Any feedback would be appreciated.
max79
19th January 2020, 20:48
@nevcairiel
can you please tell me where I can find a list of actual parameters(with their detailed description) for the "LAV Splitter Source" for URLs, like this one:
http://ServerName/?overrun_nonfatal=1
lvqcl
20th January 2020, 00:06
Look here: http://ffmpeg.org/ffmpeg-protocols.html
max79
20th January 2020, 00:18
Look here: http://ffmpeg.org/ffmpeg-protocols.html
thank you!
bacondither
21st January 2020, 12:46
@nevcairiel
When Git initializes the submodules for LAV Filters I get "fatal: remote error: access denied or repository not exported: /libudfread.git".
Seems like videolan moved it to GitLab.
Changing the libbluray .gitmodules URL to new url would fix it.https://code.videolan.org/videolan/libudfread.git
Keep on rocking! :)
sat4all
22nd January 2020, 11:52
@nevcairiel
As you know, most if not all bollywood movies use a sample rate of 96000hz for dolby truehd tracks, using lav audio decoder it produces stuttering/crackling but with other players like mpv, dvdfab, kodi it plays fine.
Would please check, let me know if you need a sample.
p.s: i'm using passthrough.
Thanks
VictorLS
22nd January 2020, 13:05
Can LAV Filters process MPEG-7 (https://en.wikipedia.org/wiki/MPEG-7) transmitted from German 19e2 satellite? If yes, what version from?
max79
22nd January 2020, 17:48
@nevcairiel
Filter always output audio stream marked as [default] on both examples. Seems setting-"Prefer Audio Stream with the Highest Quality" just ignored in such cases. How can I configure filter for automatically choosing the best by quality track for the specified language: Second stream in first example and First stream in second example?
I'm noticed that after recording such TV-stream in .TS-file container, filter didn't see [default] mark in this case and and automatically choose the best by quality track. Please fix.
VictorLS
22nd January 2020, 18:17
MPEG-7 (https://en.wikipedia.org/wiki/MPEG-7) transmitted from German 19e2 satellite
Here's my record of that stream 19e2_12670v23500mis171continuousMPEG-7_20200122.ts (18 MB) https://yadi.sk/d/734HyAxzWVrkCg but I guess that's really broken stream and will be happy if I'm wrong in that assumption ;)
max79
23rd January 2020, 07:37
Look here: http://ffmpeg.org/ffmpeg-protocols.html
The question still remains - will these parameters work in "LAV Splitter Source"(at the end of URL) or not? Seems at least "user_agent"-parameter didn't work as it should if running URL like this:
http://ServerName/?user_agent=Mozilla (http://ServerName/?user_agent=Mozilla)
Does any guys in charge here to explain whether this parameter should work in DirectShow player through the filter?
el Filou
29th January 2020, 23:01
Can you although upload (may be in PM) your compiled fork of FFmpeg to test AC4 streams by myself?If I'm not mistaken, richarpl is an ffmpeg dev. He probably has a private branch with added AC-4 support but support still not 100% ready for release?
nussman
30th January 2020, 17:38
He wants money for his private branch:
https://forum.doom9.org/showthread.php?t=176038&page=2
richardpl
30th January 2020, 17:47
I'm also asking money for Blacmagick RAW decoder, so anybody interested?
VictorLS
1st February 2020, 00:14
el Filou
Thanks
My fork of FFmpeg plays ac4 just fine.
It's a pity you haven't reply on my questions (http://forum.doom9.org/showthread.php?p=1895965#post1895965)
So you'll make LAV Filters with your fork of FFMpeg also with
1. LAV Splitter can recognize AC-4 (and desirable MPEG-7 (http://forum.doom9.org/showthread.php?p=1896658#post1896658)) streams so show them in LAV Splitter's properties in players while playing video with AC-4 track I've uploaded here (http://forum.doom9.org/showthread.php?p=1895965#post1895965);
2. LAV Splitter supports support true streaming directshow interfaces (as I understand like i.e. Elecard MPEG Push Demultiplexer) http://www.smartdvb.net/bb/viewtopic.php?f=13&t=1768#p6902
3. LAV Video Decoder can deinterlace quasi-interlaced h265 streams (discussed here before (http://forum.doom9.org/showthread.php?p=1881908#post1881908));
4. LAV Video Decoder has built-in correct HLG to HDR10 (or even better directly to BT.709 colorspace as mpv does) conversion (not just passing to renderer but if you can write HLG to BT.709 shader (http://forum.doom9.org/showthread.php?t=176909) tell me too)
features together let's talk about price (may be in PM) ;)
nussman
1st February 2020, 01:47
I am not a license expert, but imho this is violating GNU GPL (https://github.com/Nevcairiel/LAVFilters/blob/master/COPYING). So no need for this nonsense here ... :rolleyes:
VictorLS
1st February 2020, 08:54
I am not a license expert, but imho this is violating GNU GPL...
Thanks for your tip - mostly I've just wanted to tell what I (and many SAT amateurs) want to be implemented in FFMpeg and therefore in LAV Filters in a future ;)
richardpl
1st February 2020, 12:52
Thanks for your tip - mostly I've just wanted to tell what I (and many SAT amateurs) want to be implemented in FFMpeg and therefore in LAV Filters in a future ;)
If you or anyone want to get something implemented in FFmpeg, than pay me. otherwise code will stay in my fork and not in FFmpeg.
VictorLS
1st February 2020, 13:38
If you or anyone want to get something implemented in FFmpeg, than pay me
a) Why I must even think to pay (btw from Russian Crimea due to West civilization sanctions it's very hard to do) you if you're even haven't answered my simple question (http://forum.doom9.org/showthread.php?p=1895965#post1895965) (better upload videoproof by any videocamera for that) - I even don't sure you've downloaded my samples (it has expired already)?
b) Are you sure you can to implement all four wishes from my previous post (http://forum.doom9.org/showthread.php?p=1897864#post1897864)?
c) As I understand you're don't write shaders. Am I right?
richardpl
1st February 2020, 13:54
a) Why I must even think to pay (btw from Russian Crimea due to West civilization sanctions it's very hard to do) you if you're even haven't answered my simple question (http://forum.doom9.org/showthread.php?p=1895965#post1895965) (better upload videoproof by any videocamera for that) - I even don't sure you've downloaded my samples (it has expired already)?
b) Are you sure you can to implement all four wishes from my previous post (http://forum.doom9.org/showthread.php?p=1897864#post1897864)?
c) As I understand you're don't write shaders. Am I right?
I write shaders, but not for you, bye.
NikosD
2nd February 2020, 09:51
If you or anyone want to get something implemented in FFmpeg, than pay me. otherwise code will stay in my fork and not in FFmpeg. Usually, in forums like doom9 where a lot of users come to find answers, workarounds or even solutions to their issues caused by the use of computers, mainly problems around video use here, it's kind of weird and unfamiliar to see someone writing posts like yours.
Most of us here are trying to help without asking money, even developers and professional developers like nevcairiel - I'm not - who is the developer of LAV filters.
I respect your time and effort to write code, but i really don't think you are asking money in the right place.
So, eventually, my wish is that nobody will "bite" from your teasing efforts to make money from doom9 forum and leave this place quitely, as you will find nothing here to gain profit.
richardpl
2nd February 2020, 10:33
Usually, in forums like doom9 where a lot of users come to find answers, workarounds or even solutions to their issues caused by the use of computers, mainly problems around video use here, it's kind of weird and unfamiliar to see someone writing posts like yours.
Most of us here are trying to help without asking money, even developers and professional developers like nevcairiel - I'm not - who is the developer of LAV filters.
I respect your time and effort to write code, but i really don't think you are asking money in the right place.
So, eventually, my wish is that nobody will "bite" from your teasing efforts to make money from doom9 forum and leave this place quitely, as you will find nothing here to gain profit.
There are other commercial products which are discussed here so I see point here to discuss my FFmpeg commercial fork.
RealSnoopyDog
4th February 2020, 19:29
LAV Video Decoder has built-in correct HLG to HDR10 (or even better directly to BT.709 colorspace as mpv does) conversion (not just passing to renderer
Where / how can I activate this? When I watch the few UHD stations on ASTRA which are broadcasting with HLG with DVBViewer I don't see that this is supported. The picture (contrast) is kind of gray.
nussman
4th February 2020, 20:58
This is his wishlist for a „commercial LAV/ffmpeg fork“ ...
Imho VictorLS, richardpl should start a new thread for stuff like that, because its confusing people here.
VictorLS
5th February 2020, 15:29
Where / how can I activate this? When I watch the few UHD stations on ASTRA which are broadcasting with HLG with DVBViewer I don't see that this is supported. The picture (contrast) is kind of gray.
I'm glad you see ~ same as me on 19e2 UltraHD HLG channels.
I don't know may new versions of DVBViewer work with shaders but in donateware app SmartDVB (about year with many other useful things SmartDVB had being implemented EVR Custom Presenter [EVR-CP] code let be used in app SmartDVB by Russian author of freeware player MPC-BE and shader support in EVR-CP - I knew DVBViewer let choose Custom Presenter by check) to watch HLG on SDR monitor with ~ right colors like mpv does - I gave link where HLG is being discussed at doom9's forum several times in this thread - last one at the end of this post ;)
I hoped HLG to SDR shader will be written ~ in an year by someone but was wrong (or I can't find it in Internet).
Or just wait I guess long enough time (if your computer is powerful enough) when i.e. madVR will process HLG (as it does HDR now) well.
This is his wishlist for a „commercial LAV/ffmpeg fork“ ...
You're right - it's one of row from my long enough wishlist ;)
Imho VictorLS, richardpl should start a new thread for stuff like that, because its confusing people here.
You're wrong - after
I write shaders, but not for you, bye.
there isn't sense in new thread and discussing with richardpl here too but may be anyone know Denmark's CeeJay.dk http://ceejay.dk/ (he write great SweetFX (https://sfx.thelazy.net/games/shader/) shaders)?
If so reply to HLG processing for good picture on SDR monitor (http://forum.doom9.org/showthread.php?t=176909) thread, please.
huhn
5th February 2020, 15:41
here you go:
https://github.com/Aleksoid1978/VideoRenderer/blob/master/Shaders/convert/correct_hlg.hlsl
the line/word about sRGB(it's bt 709 with gamma 2.2) is wrong because sRGB doesn't have a gamma of 2.2 but whatever.
yes madVR should processing HLG pretty much everything it needs is already there but it is as it is right now.
but most importantly lavfilter delivers HLG meta data so it has nothing to improve in this part anymore.
VictorLS
6th February 2020, 00:45
here you go
Thank you very much but correct_hlg shader not work in my case even with //#include "hdr_tone_mapping.hlsl" (// helped me to get Convert HDR to SDR some working even in KMPlayer with VMR9 Renderless under WinXP) - colors still the same washed out (
huhn
6th February 2020, 08:16
you ask for a shader and now you notice that this is not enough and want it to work with a video renderer that ages old and on a absolutely dead OS?
VictorLS
6th February 2020, 15:08
Repeat: much large Convert HDR to SDR shader works well enough even in WinXP, and Aleksoid1978 said correct_hlg.hlsl wouldn't work anywhere (as minimum yet) so it implemented in MPC-BE's EVR-CP and don't give correctly colors while playing HLG files. So more research needed ;) - I know it's hard task but I hope to solve it - new season of Formula1 is coming...
Btw I saw absolutely smooth and fluent with modified by Aleksoid1978 LAV Video Decoder 0.68.1.35 has just become Free-to-Air Turkish 4K 3840x2160р50 4:2:0 10bit channel in WinXP with VMR7 (with EVR some worse - sometimes small tearing present) which can be zoomed to Native pixel-to-pixel 3840x2160 on my 1920x1200 monitor (so just 1/4 of video is visible) in lastest version of app SmartDVB (http://www.smartdvb.net) and I've written goal 20200206-011432_DIGITURK 4K.ts (376 MB) https://transfiles.ru/97bvd
v0lt
9th February 2020, 06:14
@nevcairiel
Hello. I want to remind you of the old problem with cropping support in MKV files (https://forum.doom9.org/showthread.php?p=1633396#post1633396).
Here are additional test files - crop_mkv.7z (https://cloud.mail.ru/public/Dckv/PK3JB5ypp).
mkver
9th February 2020, 10:33
@nevcairiel
Hello. I want to remind you of the old problem with cropping support in MKV files (https://forum.doom9.org/showthread.php?p=1633396#post1633396).
Here are additional test files - crop_mkv.7z (https://cloud.mail.ru/public/Dckv/PK3JB5ypp).
Did you create them by simply specifying how many pixels to crop in MKVToolNix? If so, you should be aware that this feature will probably surprise several (most?) users: First of all, cropping has to be applied after decoding (and after applying the cropping specified e.g. in an H.264 SPS) and the DisplayWidth/DisplayHeight only applies to the already cropped frames; yet when you insert the cropping parameters, the Display width/height field is kept as-is and the user is not informed that he might need to modify it in order to keep the original pixel aspect ratio.
As an example, let's take a look at "crop_all_sides50.mkv" that you have uploaded. It's pixel dimensions are 1280x960; it has cropping of 50 pixels on all four sides and it's display dimensions are 1280x960, too. This means that the frame 1180x860 that exists after cropping should be scaled to 1280x960 (i.e. 4/3), so that adding the cropping parameters has made the video anamorphic. I doubt that this was intended.
MPC-BE (with its internal filters) honours the spec in this regard.
Btw: In most instances, there is a way to create files that are played with the correct pixel aspect ratio on players that support the cropping flags as well as on players that ignore them. The key for this is the fact that the default value of DisplayWidth is PixelWidth - PixelCropLeft - PixelCropRight (similar for DisplayHeight). So if you have non-anamorphic content where you simply want to cut black bars/pillars away, you simply add the desired cropping parameters and remove the DisplayWidth/DisplayHeight elements afterwards. Players that honour the cropping flags will crop and infer the Display dimensions to be what the default value I just mentioned is; players that ignore them will simply infer DisplayWidth = PixelWidth and the same for height and both will play it with the right pixel aspect ratio.
(The default value only applies if DisplayUnit is set to pixels (the default value). Unfortunately, using pixel aspect ratio as DisplayUnit is not possible, as this is not a permitted value.)
If the source file is anamorphic, it is not always possible to create files that are played with the correct aspect ratio by both types of players. But one can crop in one dimension (one has to remove the DisplayWidth/Height element corresponding to the dimension that is to be cropped).
v0lt
9th February 2020, 10:54
mkver
These are just examples of cropping using MKV format tools. I don’t understand why you wrote so much.
mkver
9th February 2020, 11:00
Because I thought that you might have unintentionally created anamorphic files.
clsid
9th February 2020, 13:16
Time for a FFmpeg update? I has been nearly 4 months since last update. :thanks:
VictorLS
10th February 2020, 11:56
clsid
https://files.1f0.de/lavf/nightly/ LAVFilters-0.74.1-32.exe 2020-02-09 03:16 12M
What's time zone of 03:16 - UTC, CET, Moscow...? ;)
clsid
10th February 2020, 12:39
2019-10-14 (http://git.1f0.de/gitweb?p=ffmpeg.git;a=shortlog;h=refs/heads/upstream) :rolleyes:
VictorLS
10th February 2020, 13:17
clsid
Therefore seems LAVFilters-0.74.1-28.exe 2019-10-15 03:16 12M include last FFmpeg updates that time but 29-32 don't contain any new - I'll know, thanks.
richardpl
11th February 2020, 19:05
Even PID_0x0201.bin from https://transfiles.ru/ehlj6 ?
If so I ask you same questions as LigH ;)
That file plays just fine with my AC-4 decoder.
I'm little bored by exactly same music in all AC-4 samples I have.
Seems like no real content is encoded in AC-4 at all, or I'm out of luck.
ryrynz
11th February 2020, 21:57
Time for a FFmpeg update?
dav1d too plz, or are you using releases only now? Probably not that far off anyway.
VictorLS
12th February 2020, 11:45
That file plays just fine with my AC-4 decoder.
I'm glad your fork seems works - you're right - need more AC-4 test files (streams) to be sure.
Polopretress
13th February 2020, 10:10
Hello.
I do not know where to find the configuration file of lav filters. Do you know where it is stored ?
(.ini or .bin or other)
I have the same question for ffdfshow...
sneaker_ger
13th February 2020, 13:06
LAV Filter settings are stored in the Windows registry:
HKEY_CURRENT_USER\Software\LAV
(or MPC-HC's internal LAV: HKEY_CURRENT_USER\Software\MPC-HC\MPC-HC\Internal Filters )
DMU
24th February 2020, 09:15
In DirectShow, this is not really possible. The DirectShow filter graph needs to re-configure itself for a new stream, which requires briefly stopping it.
The alternative would be that the switch doesn't happen instantly, but is delayed for several seconds, which is not what people usually expect.
Could this alternative be implemented as a setting/option in the LAV filter so that the user himself can choose what is best for him? In my opinion, uninterrupted video is more comfortable. Although a several seconds is really a lot.
nevcairiel
24th February 2020, 10:22
Could this alternative be implemented as a setting/option in the LAV filter so that the user himself can choose what is best for him? In my opinion, uninterrupted video is more comfortable. Although a several seconds is really a lot.
No, this would be a terrible experience. "I changed the stream but audio was still the wrong language for several seconds", yeah, not wasting my time on that, sorry.
Loomis
27th February 2020, 21:22
Hi.
Check out the IPinFlowControl interface and the CDynamicOutputPin class.
The pin can disconnect and reconnect while the filter is still active (paused or running).
The pin can negotiate a new media type while the filter is still active, without reconnecting.
https://docs.microsoft.com/en-us/windows/win32/directshow/cdynamicoutputpin
nevcairiel
27th February 2020, 23:03
Changing the type is not the problem. The problem is that reading the file is already several seconds ahead for buffering reasons, and to manage to properly go back there needs to be a seek, which isn't going to be perfectly gapless (as seen now).
VictorLS
28th February 2020, 23:48
nevcairiel
I try wast your time once more because I have new idea about implementing not all frame decoding (present in FFMpeg) in LAV Video Decoder: if you don't want add that in LAV Video Decoder's configuration window (it's a pity of course) may be you just add one registry key (in MainConcept's and Elecard's Video Decoders such key named Quality) at i.e. HKEY_CURRENT_USER\Software\LAV\Video to MaximumQuality(DWORD=0) as now is, SkipPB(DWORD=1) and SkipP(DWORD=2) frames decoding for power users only? I'm tired to switch between LAV Video Decoder and MPC Video Decoder from MPC-BE for that one aim only i.e. for h265 8K my videocard can't accelerate to watch slideshow with normal audio.
PS. Anybody know why LAV Video Decoder isn't seen in 4T2 Content Analyser (several other Direct Show decoders I tried incl. LAV Audio Decoder are seen well there)?
videoh
29th February 2020, 02:05
So you are asking Nev to hack up his stuff because you have a crappy video card?
nevcairiel
29th February 2020, 12:10
I've said it before, and I'll say it once again: I will not implement features with the sole purpose of reducing quality from the original video.
If you want to play 8K, you need hardware that is capable of doing so.
VictorLS
29th February 2020, 16:40
So you are asking Nev to hack up his stuff because you have a crappy video card?
I hope you know not all people of the world can let buy videocard can hardware acceleration of 8K h265 4:2:0. I hope freeware LAV Video Decoder not for rich people only.
Moreover only few people can let buy processor (I even don't know what minimum processor is needed - may be AMD Ryzen 9 3900 or Intel Core i9-9980XE i.e. tried Core i7-4770 not enough - stuttering present and with LAV Video Decoder impossible to know what commentator said) can decode all 50fps of only 4K but 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw
I'm sure your computer can't do that too.
I don't know why exactly but MainConcept and Elecard many years ago add feature for decoding not all frames of file - same possibility present in FFMpeg so Aleksoid1978 add it in MPC-BE's MPC Video Decoder very quickly - why LAV Video Decoder worse?
I don't know people that think bad about NVIDIA CUVID acceleration of 10bit implemented and CUVID acceleration without "high quality DXVA processing" leading to massive artifacts on nVIDIA videocards on "broken" streams as I asked here.
So I'm sure there will not be any that think bad about one more key in registry ;)
PS. Feature of decoding not all frames can be useful when appear many (at now just few) high resolution streams compressed with i.e. AV1.
nevcairiel
What can I say - it's a pity again.
el Filou
1st March 2020, 00:55
I can't imagine why anybody would want to watch video with only I frames being shown, even the highest ultra-high definition isn't worth that, it's like playing video games at 4 fps.
I'm already pissed when I see sport streams converted from 50p to 25p for the Web...
Regarding 8K, is there even real content (i.e. other than demos made to sell TVs) broadcast only in 8K, that is not simulcast in lower definition on other channels?
VictorLS
1st March 2020, 01:38
I can't imagine why anybody would want to watch video with only I frames being shown, even the highest ultra-high definition isn't worth that, it's like playing video games at 4 fps.
Moreover - 1fps for 20180428-175510_4K ENC 3 RMAD VS LEG.ts but if present one 4K h265 4:2:2 feed from SAT for some sport competition only and nothing else I'm glad to hear normal commentary and mostly watch ticker with current situation on a screen.
I'm already pissed when I see sport streams converted from 50p to 25p for the Web...
I like 1920x1080i50 SAT feeds (deinterlaced to 50p by videocard) of course i.e. [...] but in case of feed isn't available I'm watching 1920x1080p25 rip (same fragment with Russian commentary to compare [...] ) through SVP's avisynth doubler script (using ffdshow raw video decoder) with my CPU load about 90% on each of tree core ;)
Regarding 8K, is there even real content (i.e. other than demos made to sell TVs) broadcast only in 8K, that is not simulcast in lower definition on other channels?
Now it's TURKSAT_8K channel with beautiful nature demos in a some minutes loop but I believe soon will be live broadcasting i.e. Olympic Games in Tokyo this summer ;)
amichaelt
4th March 2020, 03:18
I hope you know not all people of the world can let buy videocard can hardware acceleration of 8K h265 4:2:0. I hope freeware LAV Video Decoder not for rich people only.
Moreover only few people can let buy processor (I even don't know what minimum processor is needed - may be AMD Ryzen 9 3900 or Intel Core i9-9980XE i.e. tried Core i7-4770 not enough - stuttering present and with LAV Video Decoder impossible to know what commentator said) can decode all 50fps of only 4K but 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw
I'm sure your computer can't do that too.
I don't know why exactly but MainConcept and Elecard many years ago add feature for decoding not all frames of file - same possibility present in FFMpeg so Aleksoid1978 add it in MPC-BE's MPC Video Decoder very quickly - why LAV Video Decoder worse?
I don't know people that think bad about NVIDIA CUVID acceleration of 10bit implemented and CUVID acceleration without "high quality DXVA processing" leading to massive artifacts on nVIDIA videocards on "broken" streams as I asked here.
So I'm sure there will not be any that think bad about one more key in registry ;)
PS. Feature of decoding not all frames can be useful when appear many (at now just few) high resolution streams compressed with i.e. AV1.
nevcairiel
What can I say - it's a pity again.
So you can afford to spend 1000s of dollars needed for an 8K computer monitor or TV but not for the hardware to actually decode and play the streams correctly? :confused:
VictorLS
4th March 2020, 20:42
So you can afford to spend 1000s of dollars needed for an 8K computer monitor or TV
My BENQ FP241VW 1920x1200 P-MVA 24" monitor costed ~1000 dollars when I bought it and I don't want more (4K, 8K etc) because dot pitch (in terms of CRT - I don't know how it's called for LCD) and angle of view of my current monitor is optimal on my own.
I just want to watch live translations from SAT feeds (even as slideshow) with normal (not stuttering) audio (I hope you've seen quoted 4:2:2 file - can you say how it's playing on your PC?) because there isn't any way (I haven't high-bandwidth Internet connection at home) to get same sport competitions (I highly prefer watch live) in lower (i.e. 2K=FullHD, 720p=HD etc) and don't switch to another videodecoder can decode just I-frames like Elecard, MainConcept and special version of MPC Video Decoder (8 MB) https://yadi.sk/d/ZBA-K2-6UUV4TQ - I like LAV Filters - nevcairiel do really great job (and for SAT amateurs too when he did switchoffable CUVID DXVA Processing for non-artifact playing "broken" streams on nVIDIA's vidocards - I just ask one more lite to implement just in registry but online thing)...
PS. Anybody know why LAV Video Decoder isn't seen in 4T2 Content Analyser (several other Direct Show decoders I tried incl. LAV Audio Decoder are seen well there)?
I've even found how to successfully use LAV Video Decoder in 4T2 Content Analyser - enough just correct manually not ABC4T2ContentAnalyser.ini near ABC4T2ContentAnalyser.exe but %appdata%\ABC\4T2 Content Analyser\ABC4T2ContentAnalyser_0_LastMode.ini so
MPEG2DecoderCLSIDStr={EE30215D-164F-4A92-A4EB-9D4C13390F9F}
H264DecoderCLSIDStr={EE30215D-164F-4A92-A4EB-9D4C13390F9F}
H265DecoderCLSIDStr={EE30215D-164F-4A92-A4EB-9D4C13390F9F}
After that correction LAV Video Decoder still absent in Video Decoder's Settings of 4T2 Content Analyser but even 4K with NVIDIA CUVID hardware acceleration shows well enough in it (not worse that i.e. MPC Video Decoder with DXVA2 hardware acceleration).
huhn
5th March 2020, 05:44
been decoded with ease...
what's so hard to understand about a no.
VictorLS
5th March 2020, 07:17
been decoded with ease...
With what configuration of PC? Was 50fps in EVR settings during all file and what CPU load?
what's so hard to understand about a no.
Not hard but not really understand why no (key in registry can't decrease quality of decoder) - I agree i.e. add quasi-interlaced streams support is too hard or even impossible while support of such files absent in FFMpeg but not all frame decoding present in FFMpeg long time ago.
PS. I've just explained newbies like amichaelt why do I (and many SAT amateurs i.e. in English http://smartdvb.net/bb/viewtopic.php?f=13&t=1699 - others in Russian language) need not all frame decoding because he asked ;)
huhn
5th March 2020, 10:01
what has EVR todo with that's no i don't use EVR. and yes i don't drop frames obviously.
it's in the ~40% but you can't measuring this the CPU will not use it's full clocks most threads where just sleeping.
it's on totally normal 3700x nothing special about hell there is only one slower new CPU from AMD...
Shawns1234
6th March 2020, 02:58
LAV Audio does not do Dialog normalization, because its generally considered "bad" for disc-based movies, and really only serves a purpose for digital television, where content may change quickly (switching channels, ads, etc).
I'm quite sure that it ignores any Dialnorm flags in the bitstream and decodes the audio as-is, however i'm checking into that.
Note that any device claiming to be Dolby compliant HAS to do Dialog normalization, with no option to turn it off, because its required for a Dolby license.
FWIW, +4 dB is the "default" Dialnorm setting in the reference AC3 encoder (the "OFF" setting is -31dB, the "default" is -27dB).
Nev, sorry to dig up an old thread, but reading through thousands of posts is going to take a very long time.
I'm having an issue with dialnorm and I'm wondering if you have any way to disable this during playback via bitstream. My processor, Emotiva, had the ability to turn it off, but they have since fixed that due to Dolby restrictions. I know I can remux, but that will take a very long time for 8 TBs of movies.
Any thoughts?
Thank you
bacondither
11th March 2020, 15:32
dav1d 0.6.0 is out! They have improved 10-bit decoding a lot.
https://www.phoronix.com/scan.php?page=news_item&px=Dav1d-0.6-AV1-Benchmarks
VictorLS
11th March 2020, 21:26
it's on totally normal 3700x
Thanks for test but Ryzen 7 3700X is very powerful and expancive processor costs about 400$ so I'm sure not representative for most users even here - I don't speak all over the world ;)
QBhd
12th March 2020, 00:47
I use a Ryzen 7 3700X in my "HTPC" :)
QB
ps... just noticed I need to update my System Specs below... coming soon...
ryrynz
12th March 2020, 07:39
They have improved 10-bit decoding a lot.
Yeah I was gonna say, but I reckon he already knows just isn't giving LAV any time atm.
MPC-BE internal filters are well on it though if you wanna try. Very nice speed ups indeed.
huhn
12th March 2020, 07:42
Thanks for test but Ryzen 7 3700X is very powerful and expancive processor costs about 400$ so I'm sure not representative for most users even here - I don't speak all over the world ;)
it is 40 % while half the cores are sleeping reporting higher CPU usages as it rally is meaning the real CPU usage is around ~35% maybe even lower hard to say these days.
what so ever a 4 core CPU with similar IPC can do this task easily too.
VictorLS
12th March 2020, 17:23
it is 40 % while half the cores are sleeping...
I've understood you well from your first post - no need to repeat - I have to repeat simple things to nevcairiel because he don't want (not always but I have to prove the usefulness i.e. 10bit CUVID decoding or not using DXVA CUVID processing in years) to implement simple enough but very useful for SAT amateurs thing like not all frame decoding in LAV Video Decoder.
I believe in madVR's Ctrl+J statistic you're see 1 frame drop every (how much?) minutes or even hours.
what so ever a 4 core CPU with similar IPC can do this task easily too
Key words similar IPC (meaning new and commonly expensive processors - I'm sure not all Ryzen 5 enough) because I'd tried 4K 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw on 8-core AMD FX-8370 with stuttering and not synced audio and video despite of 100% load of each core.
huhn, QBhd and other with powerful processors
Try to play with LAV Video Decoder 8K AV1 HDR 60fps 31Mbps 831MB three and half minutes (namely so long it must be played measured with independent watches):
youtube-dl (https://www.videohelp.com/software/youtube-dl) -f 571 https://www.youtube.com/watch?v=d1VF4DfBPOY - my computer can't even seek through this file (but I'm sure with only I-frame decoding it'll be possible) to see what after night with bright points in a bottom (and I haven't Internet to download with lower resolution), please. What CPU load and how many fps do you see in renderer statistic?
soresu
12th March 2020, 18:07
I've understood you well from your first post - no need to repeat - I have to repeat simple things to nevcairiel because he don't want (not always but I have to prove the usefulness i.e. 10bit CUVID decoding or not using DXVA CUVID processing in years) to implement simple enough but very useful for SAT amateurs thing like not all frame decoding in LAV Video Decoder.
I believe in madVR's Ctrl+J statistic you're see 1 frame drop every (how much?) minutes or even hours.
Key words similar IPC (meaning new and commonly expensive processors - I'm sure not all Ryzen 5 enough) because I'd tried 4K 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw on 8-core AMD FX-8370 with stuttering and not synced audio and video despite of 100% load of each core.
huhn, QBhd and other with powerful processors
Try to play with LAV Video Decoder 8K AV1 HDR 60fps 31Mbps 831MB three and half minutes
youtube-dl (https://www.videohelp.com/software/youtube-dl) -f 571 https://www.youtube.com/watch?v=d1VF4DfBPOY - my computer can't even seek through this file (but I'm sure with only I-frame decoding it'll be possible) to see what after night with bright points in a bottom (and I haven't Internet to download with lower resolution), please. What CPU load and how many fps do you see in renderer statistic?
The only significant optimisation recently for 10+ bpc content was for the C code on the x86 hardware platform - which was itself mostly significant because there are no 10+ bpc SIMD optimisations on x86 at all.
For now all the SIMD optimisations for 10+ bpc are exclusively ARMv8-A/NEON platforms, and this due to Netflix sponsored coding to get their 10 bit HDR content sped up on Android devices.
VictorLS
12th March 2020, 19:52
soresu
Thanks for information.
Btw my computer was playing youtube-dl -f 571 https://www.youtube.com/watch?v=d1VF4DfBPOY file in 1 hour and 3 minutes ;)
One more (and beautiful Yellowstone National Park) 8K AV1 HDR 60fps 23Mbps 705MB 04min04syoutube-dl -f 571 https://www.youtube.com/watch?v=mHUOCxVT5ro
soresu
12th March 2020, 20:07
Going by the results I've seen, the impact of threading seems to increase with resolution, so 8K benefits should be greater than 4K for each new optimisation - though of course offset by the fact of 8K needing those optimisations more due to higher complexity.
It makes me wonder what the maximum block size will become in AV2, or for that matter if they will start accounting for things like lightfield compression - I'm pretty sure that at least VR 180 + 360 degree video is on the agenda for AV2, not sure what if any specific attention was paid to it with AV1.
huhn
12th March 2020, 21:07
I believe in madVR's Ctrl+J statistic you're see 1 frame drop every (how much?) minutes or even hours.
easily fixable and totally unrelated
Key words similar IPC (meaning new and commonly expensive processors - I'm sure not all Ryzen 5 enough) because I'd tried 4K 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw on 8-core AMD FX-8370 with stuttering and not synced audio and video despite of 100% load of each core.
you take a CPU which was terrible at it's release date using a over 8 year old architecture which are so bad the old one where just plain better as a comparison?
these CPU are not even considered as 8 cores CPU anymore after AMD lost a lawsuit.
not going to say if a below 100 euro can do this task for sure
but the AMD Ryzen 5 1600 [12nm] may be able to do the job it just bad at AVX which maybe very important here.
a 6 core intel cpu should be do this task with ease and it's not expensive at all...
or even better a Ryzen 5 3600 which may take a nap.
VictorLS
12th March 2020, 21:35
where just plain better as a comparison?
Intel Core i7-4770 can't play that 4K 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw smoothly too - it's a pity my friends haven't more powerful processors.
easily fixable and totally unrelated
Because it's offtop here can you give link I can read about?
Btw I set my vertical frequency output of videocard according the top value of Hz in madVR's Ctrl+J and usually haven't problems - usually 1 frame repeat (or drop) every (some) hours.
el Filou
13th March 2020, 02:08
For now all the SIMD optimisations for 10+ bpc are exclusively ARMv8-A/NEON platforms, and this due to Netflix sponsored coding to get their 10 bit HDR content sped up on Android devices.What kind of devices? TV boxes? I don't see how anyone would want to decode video, especially 4K HDR, with the CPU on an Android device, it would either kill the battery in minutes if it's a smartphone/tablet, or thermal throttle.
If that is indeed true then Netflix would make better use of their money subsidizing SoC vendors to develop fixed-function decode blocks.
ryrynz
13th March 2020, 07:30
Update ffmpeg
Update dav1d to 0.6.0
Nevcairiel committed 21 hours ago
Cheers!
nevcairiel
13th March 2020, 10:09
it would either kill the battery in minutes if it's a smartphone/tablet, or thermal throttle.
This is not actually true. CPU load doesn't require as much power, GPU is far worse, and its not like its running at 100%, and the display takes the top anyway.
NikosD
13th March 2020, 13:11
i.e. tried Core i7-4770 not enough - stuttering present and with LAV Video Decoder impossible to know what commentator said) can decode all 50fps of only 4K but 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw Core i3 9100F - Win 10 1909 (18363.693)
DXVA Checker v4.2.1
LAV Filters v0.74.1-32 x64
Decoding mode: (FPS)
42/52/83 CPU usage 89% (average)
Tried MPC-HC with MPC VR and is stuttering like crazy ~ 10fps
Using EVR-CP, it plays fine at 50fps using ~90% CPUhuhn, QBhd and other with powerful processors
Try to play with LAV Video Decoder 8K AV1 HDR 60fps 31Mbps 831MB three and half minutes (namely so long it must be played measured with independent watches):
youtube-dl (https://www.videohelp.com/software/youtube-dl) -f 571 https://www.youtube.com/watch?v=d1VF4DfBPOY - my computer can't even seek through this file (but I'm sure with only I-frame decoding it'll be possible) to see what after night with bright points in a bottom (and I haven't Internet to download with lower resolution), please. What CPU load and how many fps do you see in renderer statistic? Tried using DXVA Checker in Decode Mode and for the first 5% of the clip I had ~08 fps on average using ~98% of my Core i3 9100F, so I just stopped it.One more (and beautiful Yellowstone National Park) 8K AV1 HDR 60fps 23Mbps 705MB 04min04syoutube-dl -f 571 https://www.youtube.com/watch?v=mHUOCxVT5ro Just like the previous 8K AV1 but ~ 11fps on average.
For 8K AV1, let's wait for nVidia Ampere or RDNA2 (?) using HW decoders.
VictorLS
13th March 2020, 14:13
NikosD
Thank you very much for your experiments proving my presumes (except 'Using EVR-CP, it plays fine at 50fps using ~90% CPU' - I thought i3 isn't enough, just not weakest i5 - btw what about with madVR?).
For 8K AV1, let's wait for nVidia Ampere or RDNA2 (?) using HW decoders.
I agree, at 2019 I've asked nVIDIA to add AV1 hardware acceleration in their after-TURING (I didn't know it'll be called Ampere) videoprocessor - they've promised to think about ;)
Any news about AV1 by nVIDIA?
clsid
13th March 2020, 15:09
Nev, can you make a MinGW GCC 9.3 build?
huhn
13th March 2020, 16:26
Intel Core i7-4770 can't play that 4K 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw smoothly too - it's a pity my friends haven't more powerful processors.
haswell CPU are well know to handle AVX inefficiently.
Because it's offtop here can you give link I can read about?
Btw I set my vertical frequency output of videocard according the top value of Hz in madVR's Ctrl+J and usually haven't problems - usually 1 frame repeat (or drop) every (some) hours.
there is no collection that list these i know about.
smoothmotion is fixing this evne through the OSD still shows it trivial to use.
reclock does fix this and a lot of player have an alternative.
and the advanced fix is custom resolution.
Core i3 9100F - Win 10 1909 (18363.693)
DXVA Checker v4.2.1
LAV Filters v0.74.1-32 x64
Decoding mode: (FPS)
42/52/83 CPU usage 89% (average)
far worse then expected.
NikosD
Thank you very much for your experiments proving my presumes (except 'Using EVR-CP, it plays fine at 50fps using ~90% CPU' - I thought i3 isn't enough, just not weakest i5 - btw what about with madVR?).
the name "i3 "isn't worth any thing anymore it just an i5 comapred to older CPUs now.
retrue
14th March 2020, 12:41
Hi, the last automatic build in https://files.1f0.de/lavf/nightly/ doesn't work.
I get a lot of mistakes and it doesn't allow me to install this LAVFilters-0.74.1-34 version.
No problem installing the previous versions.
nevcairiel
14th March 2020, 15:11
I'm sorry, but "doesn't work" isnt exactly something I can easily act on. There have been no changes in packaging since the -32 version.
retrue
14th March 2020, 15:29
I have downloaded it again and it works.
I guess my last download got corrupted.
Sorry for the bother.
el Filou
14th March 2020, 16:57
Edit: is it expected that the nightly builds since 0.74.1-32 are not signed anymore?This is not actually true. CPU load doesn't require as much power, GPU is far worse, and its not like its running at 100%, and the display takes the top anyway.Found some benchmarks of v0.5.0 on Android: https://medium.com/@ewoutterhoeven/av1-is-ready-for-prime-time-part-2-decoding-performance-d3428221313
on the Dua Lipa YouTube test clip in 1080p, a Snapdragon 835 averages ~82 fps when using multi-core decoding. Considering 0.6.0 doesn't improve 8-bit decoding much, and a Snapdragon 865 is at best 2 times more powerful, that would give ~170 fps, so the CPU would still be constantly at 15% load on all cores, and this is the newest hardware.
It's doable, but if you watch any content for a long time it would still impact battery life much more compared to fixed-function decode of HEVC or VP9.
And this is with medium-bitrate 8-bit 1080p. Still not convinced it's worth it, but I'd love to see a battery life benchmark comparison with HEVC/VP9 on a modern device.
VictorLS
14th March 2020, 20:38
haswell CPU are well know to handle AVX inefficiently.
I agree but it's much more powerful than mine Athlon(tm) II X3 460 ;)
there is no collection that list these i know about.
I knew all you've mentioned - my way is custom resolution (by nVIDIA's Control Panel) equal or multiple of played file (stream). About "1 frame drop (repeat) every X seconds (minutes, hours)" in madVR's Ctrl+J statistic after ~ minute of playing is well sign all work fine - if many minutes or hours playing is well, if few seconds - something (few CPU and/or GPU power etc) wrong.
far worse then expected
Can you provide your results (and average CPU load) with Ryzen 7 3700X while playing 4K 4:2:2 h265 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw and 8K AV1 HDR 60fps 31Mbps 831MB 3min30s (http://forum.doom9.org/showthread.php?p=1903584#post1903584) files (and by the way X from madVR in i.e. graphstudionext64 (https://www.videohelp.com/software/GraphStudio) in small window to avoid any postprocessing)?
the name "i3" isn't worth any thing anymore it just an i5 comapred to older CPUs now.
I agree too.
huhn
14th March 2020, 21:47
~100 FPS at 56% CPU usage.
i'm not testing AV1 it's to early for this.
(and by the way X from madVR in i.e. graphstudionext64 in small window to avoid any postprocessing)?
no irrelevant.
VictorLS
15th March 2020, 01:49
~100 FPS at 56% CPU usage.
Thanks.
i'm not testing AV1 it's to early for this.
When you support nevcairiel in not adding not all frame decoding in LAV Video Decoder I logically presume you're sure as minimum your Ryzen 7 3700X don't need this function for almost all (comparatively often using) files (streams) including 8K AV1 HDR 60fps - after NikosD's experiments (http://forum.doom9.org/showthread.php?p=1903629#post1903629) with such files if you sure your 3700X ~ 6 times faster than Core i3 9100F it worth to try otherwise stop writing not all frame decoding is useless function, please ;)
irrelevant.
So I presume vertical frequency was not 50Hz while you're playing 20180428-175510_4K ENC 3 RMAD VS LEG.ts (https://yadi.sk/d/m0s5ztpj3XnUyw) (or you don't play this file to the end without seeking) but in case of 8K AV1 HDR 60fps you don't need to change vertical frequency because 60Hz is standard.
huhn
15th March 2020, 04:03
i don't show the video for performance test. i just do a decoding test.
the AV1 decoder is still not fully optimisedyet and it's useless 8k at an eye watering 31 mbit. i just take a different version which will most likely look better to the AV1 encoder has ways to go too.
NikosD
15th March 2020, 10:41
@nevcairiel
Hello.
It's been a year since LAV filters v0.74.1 release (19/03/2019)
Maybe it's time for v0.75 ?
They are not all familiar with nightly releases.
Just a thought.
ryrynz
15th March 2020, 11:04
Maybe it's time for v0.75 ?
Based on the commits I think it qualifies more as 0.74.2 :P
NikosD
15th March 2020, 14:09
When you support nevcairiel in not adding not all frame decoding in LAV Video Decoder I logically presume you're sure as minimum your Ryzen 7 3700X don't need this function for almost all (comparatively often using) files (streams) including 8K AV1 HDR 60fps - after NikosD's experiments (http://forum.doom9.org/showthread.php?p=1903629#post1903629) with such files if you sure your 3700X ~ 6 times faster than Core i3 9100F it worth to try otherwise stop writing not all frame decoding is useless function, please ;) Performance difference between Core i3 9100F and 3700X is heavily dependent on workload.
But on average we can safely support that 3700X is around 3 times faster.
Regarding video decoding and judging by the reported figures of average FPS and CPU usage during HEVC 4K 4:2:2 decoding, I could presume that the first 8K AV1 clip "Omagari Fireworks" could be decoded by 3700X at ~20 fps.
VictorLS
15th March 2020, 14:49
But on average we can safely support that 3700X is around 3 times faster...I could presume that the first 8K AV1 clip "Omagari Fireworks" could be decoded by 3700X at ~20 fps.
I thing ~ same but interesting real experiment with 0.74.1.34 (may be it's really faster than previous for AV1 decoding on modern processors) ;)
NikosD
15th March 2020, 15:04
I thing ~ same but interesting real experiment with 0.74.1.34 (may be it's really faster than previous for AV1 decoding on modern processors) ;) I have no issue testing my Core i3 9100F using latest 0.74.1-34 and dAV1d v0.6.0, but huhn should do that too.
For now, he is just evading the matter, using as an excuse the immaturity of dAV1d decoder.
foobar2000
15th March 2020, 18:05
why it's in beta for a year
VictorLS
15th March 2020, 18:16
I have no issue testing my Core i3 9100F using latest 0.74.1-34 and dAV1d v0.6.0
With same 8fps on FireWork and 11fps on Yellowstone (or some more fps)?
NikosD
15th March 2020, 18:20
With same 8fps on FireWork and 11fps on Yellowstone (or some more fps)? I haven't done the tests yet, but i really don't think that dAV1d v0.6.0 has any significant difference for 8 bit videos compared to v0.5.1
VictorLS
15th March 2020, 22:18
i really don't think that dAV1d v0.6.0 has any significant difference for 8 bit videos compared to v0.5.1
But FireWork and Yellowstone are 10 bit HDR and according to test (https://www.phoronix.com/scan.php?page=news_item&px=Dav1d-0.6-AV1-Benchmarks) dAV1d v0.6.0 has advantage over previous version.
NikosD
16th March 2020, 16:03
But FireWork and Yellowstone are 10 bit HDR and according to test (https://www.phoronix.com/scan.php?page=news_item&px=Dav1d-0.6-AV1-Benchmarks) dAV1d v0.6.0 has advantage over previous version. Sorry, my bad, you 're right.
Using LAV filters 0.74.1-34 I get ~08 fps for Yellowstone and ~12 fps for FireWorks for the first 5% of the clips.
I think it's just the opposite than LAV filters 0.74.1-32 :confused:
VictorLS
16th March 2020, 16:34
NikosD
Thanks for new experiment with AV1 and 0.74.1-34 - results are unexpected: Fireworks from 08fps has increased to 12fps and I believe that's good progress but Yellowstone from 11fps has decreased to 08fps (
It seems results are unstable from one run to another.
ryrynz
17th March 2020, 00:42
Nev just updated the decoder any regressions in performance should be reported to the dav1d team.
NikosD
17th March 2020, 09:33
@VictorLS
@ryrynz
Sorry guys, I've just flipped the clips :D
Yellowstone is the "tougher" clip ~08 fps using my Core i3 9100F for both LAV 0.74.1-32 (dAV1d v0.5.1) & LAV 0.74.1-34 (dAV1d v0.6.0)
Fireworks Omagari is ~11 to 12 fps for both too (11 is closer to dAV1d v0.5.1 and 12 is closer to dAV1d 0.6.0)
A new test with an other CPU (Haswell)
HEVC 4K 4:2:2 20180428-175510_4K ENC 3 RMAD VS LEG.ts
Core i3 4170 - Win 10 1909 (18363.720)
DXVA Checker v4.2.1
LAV Filters v0.74.1-32 x64
Decoding mode: (FPS)
19/27/45 CPU usage 90% (average)
Tried MPC-HC with MPC VR and looked like a slide show.
Using EVR-CP, it looses sound now and then and stutters at ~30fps using ~90% CPU, dropping a few frames.
8K AV1 Yellowstone using Core i3 4170 gives ~04 fps for both dAV1d 0.5.1 and 0.6.0
Fireworks Omagari is ~05 to 06 fps for both dAV1d versions too.
So no regression and no progression for dAV1d using these clips.
All 8K AV1 tests were done using the first 5% to 10% of the clips, they are just a rough approximation.
(I was really bored waiting to finish decoding at 04 fps or 08 fps or even 12 fps)
An interesting comment would be that Skylake architecture using 4C/4T@4.0GHz is roughly 2x faster than Haswell architecture using 2C/4T@3.7GHz for both HEVC and AV1.
jkauff
17th March 2020, 14:16
We're two days away from the one-year anniversary of the last official LAV Filters version. Will there ever be another standalone version, or is nevcariel only going to distribute updates via players (MPC-HC, JRiver Media Center, etc) and nightlies from now on?
nevcairiel
17th March 2020, 15:52
You'll just have to wait and see, won't you?
I don't make releases just because it has been a certain time since the last one, but when I feel like there are worthy changes to be released. I do have some things I really want to work on, but time has been a factor over the last year. Been barely working on any audio/video stuff.
For the record, I don't actually include any nightly versions in JRiver Media Center, it uses the latest release. What any other players do is entirely out of my control.
SamuriHL
17th March 2020, 16:25
off topic comment: Man I really wish more developers had the same mindset!
VictorLS
17th March 2020, 17:19
NikosD
Thanks one more time.
Btw my Fireworks was slideshowing for an 1 hour and 3 minutes long = 63 minutes dividing it on 3,5 minutes long of original file I practically (not in DXVA Checker) have 3 and 1/3 fps with my much older and weaker Athlon(tm) II X3 460 CPU ;)
jkauff
17th March 2020, 20:41
You'll just have to wait and see, won't you?
Not complaining, just curious. I remember a comment you made about how end users shouldn't be installing LAV Filters at all. I was wondering if the next major version would only be released to the player devs.
I love what you've done with Blu-ray menus in MC. Most of us are good with the current LAV version anyway.
tormento
19th March 2020, 14:00
Does LAV Splitter support idx+rar (archived sub) subtitles as external file?
I tried with an ancient avi and while it worked ok on xbmc, it doesn't on Windows with MPC.
ericd
29th March 2020, 17:36
hi to all !!,
that s a long time i didnt came here ,i have a little problem that makes me crazy ,i use lav 74.1 and madvr with mpcbe,i have dts dtshd,truehd in 5.1,BUT i don t know why i can t get the aac(pcm detected by mu amplifier) working in 5.1 because of that i dont have the voices !! lol my amplifier detect only the pm 5.1,in stereo ,i want to get back to 5.1,it always worked ,and i don t know why no more 5.1 since 2 days!!
if you have an idea it will be really nice ,thank you very much...
eric :thanks:
PCU
29th March 2020, 22:41
hi guys
is it possible to port lav filters (ffmpeg) extension for microsoft movies & tv?
LigH
30th March 2020, 07:46
Which API does that support, Media Foundation?
el Filou
30th March 2020, 11:16
Yes.
I know there are MFT to DirectShow wrappers (I think LAV uses this for WMV decoding), but I have never seen it the other way.
VictorLS
30th March 2020, 12:53
Even AMD Ryzen 3 3200G with Vega 8 not enough for 4K 4:2:2 h265 50fps 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw decoding
Win10x64 LTSC build 17763.rs5_release.180914.1434
DXVA Checker v4.2.1
LAV Filters v0.74.1-34x64
Decoding mode:
FPS 27/35/47
CPU 76/92/99
Play mode leads to stuttering audio after 35 seconds (video late from audio from beginning).
EVR-CP in MPC-HC says about 35fps also, but ordinary EVR says wrong ~45fps
8K AV1 HDR 60fps 31Mbps 831MB three and half minutes Fireworks
youtube-dl -f 571 https://www.youtube.com/watch?v=d1VF4DfBPOY
Decoding mode:
FPS 04/08/22
CPU 87/98/100
8K AV1 HDR 60fps 23Mbps 705MB 04min04s Yellowstone National Park
youtube-dl -f 571 https://www.youtube.com/watch?v=mHUOCxVT5ro
Decoding mode:
FPS 00/08/16
CPU 59/95/100
el Filou
30th March 2020, 13:15
@VictorLS starting from Ice Lake, Intel media engine supports HEVC 4:2:2 decode : https://github.com/intel/media-driver/blob/master/README.md#hw-media-features
Your best bet is to upgrade in the future to a platform that can do hardware decode of that format (note that I'm not sure that would automatically mean it would work with LAV) rather than hope for I-frame only decode.
VictorLS
30th March 2020, 14:24
el Filou
Thanks for information.
I hope someone Ice Lake processor owner will confirm Intel media engine supports HEVC 4:2:2 decode (with low CPU load, of course) on for example 20180428-175510_4K ENC 3 RMAD VS LEG.ts
PCU
30th March 2020, 15:01
Yes.
I know there are MFT to DirectShow wrappers (I think LAV uses this for WMV decoding), but I have never seen it the other way.
you can find more info about sdk here:
https://answers.microsoft.com/en-us/windows/forum/apps_windows_10-movies/does-the-windows-10-movies-and-tv-app-have-an-sdk/f29e818e-f3fc-43d6-a650-160cb31b3393
clsid
30th March 2020, 16:30
It is very unlikely that there will ever be a Media Foundation version of LAV Filters.
You can find additional free Media Foundation codecs (from Microsoft) in the the Windows 10 store. For example HEVC, VP9, AV1, and MPEG2.
amichaelt
30th March 2020, 16:40
you can find more info about sdk here:
https://answers.microsoft.com/en-us/windows/forum/apps_windows_10-movies/does-the-windows-10-movies-and-tv-app-have-an-sdk/f29e818e-f3fc-43d6-a650-160cb31b3393
You can? Because outside of the initial post asking if there was an SDK, the thread is locked and the only reply says to post the question somewhere else. :confused:
PCU
30th March 2020, 17:20
we must request sdk & post it on feedback hub app on win 10.
movies & tv slowly gets better each day.
Klaus1189
3rd April 2020, 12:40
I updated AMD Driver to 20.4.1 for my RX 5700 and when playing this file - https://4kmedia.org/lg-chess-hdr-demo/ I get about 90 dropped frames right at start of playback. I think this was introduced with AMD driver update to 20.4.1
I use MPC-BE v1.5.5 build 5165 with madVR 0.92.17 and LAV Filters 0.74.1-34. If I disable/block external LAV Filters completey in MPC-BE and use its internal filters it is fine.
So I think AMD changed anything related in Driver which is causing this behavior in LAV Filters.
If you need any further info, let me know.
guys i'm not sure if it's the right place to post but is it possible for lav filters's developer to develop an import plug-in for adobe premiere pro? (works on adobe media encoder too)
clsid
6th April 2020, 16:38
It is extremely rude to ask that. Why the fuck should he invest his free time in developing something for a commercial product from Adobe? Go complain to Adobe that their software sucks.
they only cares about pro codecs, not all codecs and rare ones like bink video!
adobe like all only thinks about themselves.
i'll pay for the plug-in if he develops it.
v0lt
9th April 2020, 19:12
@PCU
I think you should try AviSynth (https://forum.doom9.org/forumdisplay.php?f=33) with FFmpegSource (https://forum.doom9.org/showthread.php?t=127037) and PremiereAVSPlugin (http://videoeditorskit.sourceforge.net/).
@PCU
I think you should try AviSynth (https://forum.doom9.org/forumdisplay.php?f=33) with FFmpegSource (https://forum.doom9.org/showthread.php?t=127037) and PremiereAVSPlugin (http://videoeditorskit.sourceforge.net/).
thank you so much, but that premiere plug-in is very old & outdated. (doesn't work with latest premiere pro cc)
we premiere pro users need something new & great like lav filters for premier pro cc.
Liandri
15th April 2020, 11:10
I'd like someone to review a certain file encoded with x265. Or encoder settings.
File: https://mega.nz/file/5qoBFIqS#c_OjQOUTQaBhJQ4Dzy_gb3I8PmRaYgHok4ZEsHHdiiU
The problem: I'm getting very bad fps - 15-20 instead of 24. Changing settings in LAV Video didn't help. Switching to ffmpeg decoder helped.
Here is how it was encoded:
library: x265 3.3+2-dd2464df2f40:[Linux][GCC 9.2.1][64 bit] 10bit
settings: cpuid=1049583 / frame-threads=1 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x1080 / interlace=0 / total-frames=36280 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=5 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=50 / bframes=16 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=250 / lookahead-slices=1 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / amp / max-tu-size=32 / tu-inter-depth=2 / tu-intra-depth=2 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=5 / limit-refs=2 / no-limit-modes / me=3 / subme=7 / merange=48 / temporal-mvp / no-frame-dup / no-hme / weightp / weightb / no-analyze-src-pics / deblock=1:-1 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / no-rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=2.00 / no-rd-refine / no-lossless / cbqpoffs=-2 / crqpoffs=-2 / rc=crf / crf=15.0 / qcomp=0.72 / qpstep=4 / stats-write=0 / stats-read=0 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.17 / cutree / zone-count=4 / zones: / start-frame=2638 / end-frame=4797 / bitrate-factor=0.800000 / zones: / start-frame=3730 / end-frame=3918 / bitrate-factor=0.990000 / zones: / start-frame=33856 / end-frame=34029 / bitrate-factor=0.550000 / zones: / start-frame=34030 / end-frame=36013 / bitrate-factor=0.900000 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=1 / transfer=1 / colormatrix=1 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=3 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0Someone mentioned that bframes=16 could be the problem.
I'd like to know why switching to FFmpeg solves the fps issue, and what can be done with LAV to work better with this case. Hw acceleration is still disabled in both decoders from what I see.
Also, any comments about encoding settings are welcome.
mzso
15th April 2020, 16:42
Hi!
Probably a stupid question, but how do I verify if the MVC codec is successfully installed. If there's any visual feedback it's too fast for me to see.
Any way to test if it's working without a 3d screen? (So I can get it working by the time the screen is acquired.)
huhn
15th April 2020, 16:50
by playing a 3D file with a player that supports it.
or by checking the decoder is present in the lavfilter folder.
mzso
15th April 2020, 20:42
by playing a 3D file with a player that supports it.
or by checking the decoder is present in the lavfilter folder.
What file should I check for? Playing a file produces a plain 2d output so that doesn't help.
huhn
15th April 2020, 21:54
madVR OSD, lav video info.
3D was very limited i know iso and bd structure work not sure about mkv remuxes.
clsid
15th April 2020, 21:57
The mvc decoder file is: libmfxsw64.dll
Should be in lav folder or in system32
mzso
16th April 2020, 01:56
The mvc decoder file is: libmfxsw64.dll
Should be in lav folder or in system32
It's there in the LAV folder.
So far I couldn't get 3d output though. Potplayer even has anaglyph options for 3d. But so far I couln't get anything.
mzso
16th April 2020, 09:07
It's there in the LAV folder.
So far I couldn't get 3d output though. Potplayer even has anaglyph options for 3d. But so far I couln't get anything.
Okay. So it seems madVR was the problem. So the decoding seems to work at least.
(Whether I can get it to work with an actual 3d display remains to be seen.)
huhn
19th April 2020, 04:38
just to make that absolutely clear.
you are ware that "no" new displays support 3D for a couple years now and that 3D is discontinued on nvidia.
arrgh
23rd April 2020, 18:00
you are ware that "no" new displays support 3D for a couple years now and that 3D is discontinued on nvidia.
unfortunately, that is true, although a lot of fantasy and Sci-Fi movies are still presented in 3D...
but there are beamers...
Xaurus
28th April 2020, 23:59
Hey nev,
I've recently run into this (https://forum.doom9.org/showthread.php?p=1711988#post1711988) problem.
I have a few foreign files that have the ENG SDH subtitle as 1, and the regular ENG subtitle as 2.
The relevant part of my advanced config is this, basically when there's no ENG audio then load ENG subtitles (the last step there):
eng:eng|f eng:0ff *:eng
So what I get is subtitle 1, the SDH one. I would like the splitter to choose the regular ENG, e.g. subtitle 2.
Would it be possible, in the Lav Splitter configuration, to incorporate a button placed beneath the "Prefer Audio Streams for the Hearing/Visually impaired" called something like "Disable/Remove Audio Streams for the Hearing/Visually impaired"?
If that is possible to code, obviously. Would be great.
Or if you have other suggestions on how to solve this issue, the post I found was from 2015 and to be honest I have not read through the whole thread, it's a lot of posts.
Thanks.
nevcairiel
29th April 2020, 00:57
Since you are already using the advanced rule, there is a flag for hearing impaired subtitles, "h", so you could change yours to this:
eng:eng|f eng:off *:eng|!h
That way you'll never get SDH subtitles - if they are flagged properly. Or as an alternative also add the *:eng at the end, so that it can use the SDH subtitles if no others are available at all.
Although i'm not sure if MKV for example can flag SDH subtitles as such. I know that MPEG-TS has that for broadcast..
sneaker_ger
29th April 2020, 09:49
Although i'm not sure if MKV for example can flag SDH subtitles as such.
No such flag in mkv.
sneaker_ger
29th April 2020, 09:52
@Xaurus:
If it's mkv remember LAV Splitter can filter default/not-default flag and also filter parts of the track title (with "@" operator).
Dogway
30th April 2020, 12:05
I think there might be an issue in LAV Audio, in the Status tab it is reading (converting maybe?) input track to 32-bit float despite the source being 16 or 24-bit and having all output formats disabled except for 16 and 24-bit. I even disabled all LAV Audio processing options to skip preformatting to 32-bit float to no avail. My audio driver is set to 24-bit (max for Win7).
sneaker_ger
30th April 2020, 12:48
What is the audio codec? How do you know it "being 16 or 24-bit"?
Dogway
30th April 2020, 12:54
What is the audio codec? How do you know it "being 16 or 24-bit"?
Mediainfo
huhn
30th April 2020, 13:01
and what codec are you talking about?
Dogway
30th April 2020, 13:02
Dolby Digital. So decoding is always to 32 bit float?
huhn
30th April 2020, 13:12
for normal dolby digital 32 bit float is more correct then 16 or 24 bit int.
in general if a codec is lossy float output has a higher quality there are always exceptions.
sneaker_ger
30th April 2020, 13:25
Newer MediaInfo (rightfully) does not display bitdepth for AC3 anymore.
Version 19.09, 2019-09-10
-------------
x AC-3: AC-3 actually has no bit depth, removing the default 16 value
Xaurus
30th April 2020, 19:10
nev, sneaker
Thanks a lot for the info guys, yes it's indeed an mkv container.
So I've tried your suggestions without luck, it seems that what I need is to be able to use the ! operator in conjunction with the @ operator. And that doesn't seem to work for me.
For example, this should in theory work...
*:eng|!@SDH
... because the SDH track has the title "SDH". Apart from this title, the SDH and the regular tracks are identical, i.e. no "default" flag or no "forced" flag et cetera.
Here's the output from MediaInfo:
Text #1
ID : 3
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 38 min 52 s
Bit rate : 38 b/s
Count of elements : 396
Stream size : 11.0 KiB (0%)
Title : SDH
Language : English
Default : No
Forced : No
Text #2
ID : 4
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 38 min 52 s
Bit rate : 27 b/s
Count of elements : 241
Stream size : 7.96 KiB (0%)
Language : English
Default : No
Forced : No
nevcairiel
30th April 2020, 22:51
The ! operator unfortunately only works for the flags, not the title match, I suppose I could think about a way to indicate a "not found" title match.
galneon
4th May 2020, 07:49
I've been enjoying LAV long since its integration into MPC-HC. Thank you, nevcairiel, for all your efforts!
I have some speakers that need Equalizer APO for its parametric EQ. My ELAC UF5s are great speakers with a bit of correction (thanks to noaudiophile for the config!), but they sound like barking dogs at reference volume without some tweaks, and my ancient Pio AVR's EQ sounds anything but transparent when I try use it instead.
A few worthless special AVR options aside (none of which I use), do I give up anything by letting LAV do the decoding for everything but DTS-MA? I'm trying to determine if there are certain formats I should bitstream for the sake of spatial effects/accurate reproduction, or if it really makes no difference if I have LAV send (equalized) PCM to my AVR.
nevcairiel
4th May 2020, 09:20
LAV can decode all default audio entire losslessly and accurately - including DTS-HD MA. The only things that cannot be decoded are Dolby Atmos or DTS:X (ie. object based "3D" audio), but you would need a new-ish AVR to make use of them, and probably some additional speakers as well.
If you are having issues with the lack of EQ causing quality issues, its likely always better to ensure that you can perform that EQ rather then using bitstreaming.
pankov
5th May 2020, 00:45
Hi Nev,
I tried to search for this information but couldn't find any firm answer so I'll be glad if you know it from the top of your mind and can easily answer.
Does LAV's decoding of Dolby's formats respect the Dialog normalization levels that are encoded in the Dolby Digital stream? Sadly I'm not at home right now to test it myself but I remember a long time ago it didn't and that was the reason had to switch to bitstreaming these codecs to my AVR since many TV shows that I was watching at that time were actually using it to boost the speech (center channel) level.
The FFmpeg decoder does have a dialog normalization option (http://git.videolan.org/?p=ffmpeg.git;a=commit;h=12df9b9a151026c4b382df8852fad38165b49f95), but it isn't exposed in LAV settings.
nevcairiel
5th May 2020, 07:55
First to clear up some terminology - DIALNORM does not boost speech directly as such, instead it normalizes the volume overall to a specified reference level, so that the average level, on which speech usually exists, is similar across different content. Its a flat gain over all audio, and as such mostly quality-neutral. In contrast to DRC (dynamic range compression), that actually reduces the signals dynamics and can reduce the quality.
On the surface, DIALNORM may seem useful, and if it were consistently and reliably usable, it might be. But unfortunately, the world we live in is not consistent. Dialnorm is only supported in AC3, at least in FFmpeg. And you are at the content providers mercy how they set that metadata. Playing any other codec would still have you worry about volume, and of course even an AC3 stream may have bad or missing DIALNORM metadata (different content providers may use different reference level).
Instead of codec-specific and built-in metadata like this, what I use for a normalized volume is EBU R128. Analyze the audio in a file to determine its average volume level, and adjust the file to a reference volume level, so you don't keep reaching for the remote to change the volume level. Its similar to ReplayGain which has been used for audio for almost two decades, just more advanced, standardized, and specified for multi-channel audio.
I understand your point but wouldn't be better to leave the option to the user what to choose if it's already implemented?
nevcairiel
5th May 2020, 13:55
If it were "already implemented", then I wouldn't have to do anything about it, eh? :)
There is no such thing as a free lunch.
Exposing codec-specific options is a slippery-slope to option bloat, confused users - and thus more questions that want answers. Thats not to say its entirely ruled out, but alas I would likely need more convincing.
What is needed most is a so-called "night mode" where the volume of voices in center channel is increased and/or the volume of explosions and other loud stuff in the surround channels is decreased. How exactly that is done doesn't matter. Enjoying a movie without annoying the neighbors with noise.
nevcairiel
5th May 2020, 17:55
Thats typically Dynamic Range Compression, and the DRC slider is all the extend i'll ever add something like that to LAV Audio. Its not an audio processor, and not trying to be either. A seperate processing filter would be much more suitable for that.
pankov
5th May 2020, 18:39
nev, clsid,
I trust and admire the knowledge that both of you have but as a "simple" user this time I must disagree.
In my past experience some TV shows (don't remember which) ware utterly unwatchable if decoded by LAV instead of by my AVR just because the dialog level was very low. I usually use my AVR at almost the same level (day and night) and having such a discrepancy in the decoded level between different shows and other content was very inconvenient. Also having in mind that most if not all AVRs directly "obey" the Dialog Norm level encoded in the AC3 stream without even giving the users an option to avoid it I must say that this is the "normal" thing to do and this should also be the default behavior for software decoders.
And finally - this AC3 option/level was set by some real life sound engineers and who am I to argue with them if it was correct or not.
Of course LAV is your own "baby" and you can do whatever you want with it - I'm just sharing my experience and why decided to take the bitstreaming path.
:)
nevcairiel
5th May 2020, 18:57
AVRs also like to apply various degrees of Dynamic Range Compression by default, because it makes stuff sound louder and therefor "better" to a certain crowd, so an argument of "default elsewhere" is not necessarily worth much.
Its also fairly likely that its that what you are hearing. Dialog Normalization is basically a built-in volume knob, it does not affect speech alone, despite its name.
Incidentally, Dialog Normalization in AC3 will only *reduce* the volume of playback. Its not designed to increase it, because increasing can cause clipping. The default value when Dialnorm is not set is -31dBFS, which is the value at which no volume adjustment is being performed. Any value higher then that indicates that the dialog in a program is louder then that default, and to compensate for that, the decoder would reduce the volume to reach that same level again. So a DIALNORM value of -27dB (which is the most common) would mean the volume of the entire track gets reduced by 4dB to get back to the -31dB reference.
Of course you can compensate for this by simply increasing the overall volume of playback, but it my exacerbate issues with uneven volume between different formats.
Here is a good article that explains Dialog Normalization in AC3:
https://hometheaterhifi.com/volume_7_2/feature-article-dialog-normalization-6-2000.html
The jist of it is that most content will be reduced in volume when its being handled. Its primary purpose is to unify dialog volume across different programs, not to boost dialog. To avoid you having to reach for your volume control.
Boosting speech alone is more likely a function of DRC (which boosts quiter parts and reduces louder parts)
tehax1
9th May 2020, 18:18
Hello,
i am new to this forum so sorry if i ask already known things. So, i want to know how i get a second pgs subtitle selected by rule. Maybe by rule: if there are two German pgs subtitle then select the second one, for only foreign spoken language. Forced subtitle do not work and if i select a language i only get the first pgs active which shows complete German subtitle. Enclosed screenshot shows second subtitle selected.
https://i.imgur.com/xbsOJSv.png
sneaker_ger
9th May 2020, 18:48
There is no rule to make this possible with LAV Splitter.
nevcairiel
9th May 2020, 18:50
Positional rules are also a weird concept to me. There is no guarantee that any file or another file agree about any sort of positional importance. All other rules rely on metadata, flags, language, or even the title - all things you can deliberately control and have a deliberate meaning. The position is just.. potentially arbitrary?
tehax1
9th May 2020, 19:21
Understand. It was just an idea because i noted that if there are two German pgs subtitle tracks it is usually the second. Hm, maybe by pgs file size? Am i the first who have this issue with this and how make PowerDVD such things to work? Nevertheless thanks for help.
It is likely that in practice the order is always similar, defined by the behavior of the ripping tool.
You could for example allow a "2" in the rule definition. Rule is first matched same way as it is now. So initially matching the first of those two subs. Then because of "2" hint, it will check if subsequent sub has exact same metadata, and if so, selects that one instead.
More than 2 identical cases are not common, so any other numbers don't need to be supported.
You might not be interested in supporting this atypical case. But I have seen it before in the wild a couple of times.
tehax1
9th May 2020, 22:45
I think now that it is impossible to auto select the correct subtitle stream. Today i wached Midway UHD and it has three German pgs streams all with the same name. In that case stream no.3 was the right one.
Is there a way that e.g. MPC BE shows only German subtitles? Tried several things but always all tracks were shown.
sneaker_ger
10th May 2020, 10:51
It is likely that in practice the order is always similar, defined by the behavior of the ripping tool.
How would the ripping tool know what LAV doesn't? Different DVDs/Blu-Rays are authored differently - that's just the way it is. If the user wants consistent playback behavior for all his rips he needs to manually adjust (re-order tracks, name and tag them) every rip he does.
sneaker_ger
10th May 2020, 10:53
Am i the first who have this issue with this and how make PowerDVD such things to work?
PowerDVD works with the original DVD/Blu-Ray that still has the menus and their programming. Basically it's software written be the DVD authoring houses that takes care of the correct stream selection and filtering of non-forced lines. When you rip to mkv, mp4 or just stand-alone m2ts you lose that software. A different problem is that the concept of forced lines does not map into Matroska which has the concept of forced tracks.
nevcairiel
10th May 2020, 11:24
A different problem is that the concept of forced lines does not map into Matroska which has the concept of forced tracks.
That information is not lost. Which is what drives the automatic forced subtitle stream in LAV. You just need to know which stream to look in - which is the information that may be lost.
Although a much better experience is when you just split out the forced lines during ripping, which eg. MakeMKV will happily do for you. Just remember to also flag the stream as forced.
aufkrawall
10th May 2020, 12:03
May I ask if you wanted to make VP9 work with AMD's driver and their faulty D3D11VA/DXVA2 checking capabilities, would you do this in LAV Filters or ffmpeg upstream?
I don't have access to such an AMD GPU anymore, but I suppose this is still not fixed and thus they more or less expect developers to implement dirty workarounds for anything that isn't MF/browsers. :(
just for the record this is still the case even on the newest driver.
edit: and decoding is still encode.
tehax1
10th May 2020, 13:39
If i rip a movie i do it only complete and into iso format without any converting or something else and i do not want to do it. And even my Blu-Rays and UHD Blu-Rays have often two or three subtitle tracks with same name. As i understand there is no way to auto select the wished subtitle type and i have to do it always manual, ok.
Does anybody know how to fade out all subtitles beside German with LAV and MPC-BE?
tiresias
11th May 2020, 20:02
I have a question about the difference in behaviour of the LAV Splitter when a MOV/MP4 file contains AVC or HEVC video.
When LAV Splitter opens a MOV/MP4 file that has AVC video, the output pin's media type has dwSequenceHeader set to the SPS and PPS (both prefixed by a 2-byte length value). This agrees with Microsoft's description in
https://docs.microsoft.com/en-us/windows/win32/directshow/h-264-video-types
So for HEVC I was expecting the dwSequenceHeader to contain the VPS, SPS and PPS structures. But instead LAV Splitter copies the entire HEVCDecoderConfigurationRecord to dwSequenceHeader.
Is there a specification that says that for HEVC the dwSequenceHeader should contain the whole HEVCDecoderConfigurationRecord ?
If not, what is the reason for this?
Would the LAV Decoder be happy if it was provided with an input media type that contained only the VPS, SPS and PPS structures instead of the whole HEVCDecoderConfigurationRecord ?
nevcairiel
13th May 2020, 10:13
The reason it is done like this is simply that its not documented to be done anyway else, and this is what is contained in relevant containers (MP4, MKV), so its a sensible choice to just pass it on - and it contains all relevant information.
There is only two things LAV accepts:
- MEDIASUBTYPE_HEVC, with the bitstream in MP4 format and with a proper hvcC configuration record
- MEDIASUBTYPE_H265, with the bitstream in AnnexB format and the extradata containing any number of AnnexB NALUs of relevance
This matches the way H264 is setup broadly (AVC1 vs H264), except without the custom formatted extradata not found anywhere else in that form. For H264 I would break down the MP4-style extradata in the splitter and then re-assemble it in the decoder. That just seems utterly unnecessary if you get to define your own format since MS forgot about DirectShow anyway.
tiresias
14th May 2020, 12:37
Thanks, that makes good sense.
The only other place I've seen HEVC dwSequenceHeader implemented is in the MPC-BE source code which just seems to copy the VPS/SPS/PPS arrays into dwSequenceHeader
https://github.com/jeeb/mpc-be/blob/master/src/DSUtil/VideoParser.cpp
but it doesn't really matter either way.
Hi nevcariel, I have a question. I remember it was said that there is some support for passing HDR metadata to the video renderer. Do you have any tips on where can the video renderer read it from? A hint on where to look for in the lav source files for how this data is packed would help too.
amichaelt
29th May 2020, 17:53
Hi nevcariel, I have a question. I remember it was said that there is some support for passing HDR metadata to the video renderer. Do you have any tips on where can the video renderer read it from? A hint on where to look for in the lav source files for how this data is packed would help too.
Maybe this helps as a start?
https://github.com/Nevcairiel/LAVFilters/blob/df2c8905b73ad9c0cda865369d945b2f1044dcbf/developer_info/IMediaSideData.h
nevcairiel
29th May 2020, 22:21
This is correct, the IMediaSample the renderer receives implement IMediaSideData, which contains those structures. Note that if the renderer provides the allocator (it typically does for software frames), it also needs to implement this interface if it wants this data.
bacondither
29th May 2020, 23:25
Dav1d 0.7 is out, with some speedups (https://www.phoronix.com/scan.php?page=news_item&px=Dav1d-0.7-Performance) for 8-bit decoding.
amichaelt, nevcariel, thank you both!
Liisachan
30th May 2020, 21:58
Hi, I happened to notice something minor. The language code ain (for Ainu; a minority language in Japan) is defined in ISO 639-2 and supported by MKVToolNix (you can create an MKV with an "ain" track), but it seems that LAV Filters don't recognize this language code...
ryrynz
1st June 2020, 11:52
Dav1d 0.7 is out, with some speedups (https://www.phoronix.com/scan.php?page=news_item&px=Dav1d-0.7-Performance) for 8-bit decoding.
Tested some huge gains in speed with 10-bit as well. Beautiful work.
Damien147
1st June 2020, 14:01
I have this (https://imgur.com/a/BwghYSI) happening to me for months.It always happens with MPC-HC,I use D3D11 native.
I have tried various AMD drivers with DDU or factory reset installation but it still happens.I also tried with no CPU OC (i5 760) just in case to make sure it's not me,haven't touched anything else.Any ideas?
win 10 1909
MPC-HC 1.9.3
GPU RX 470(20.5.1 driver)
edit:Just discovered that it happens with software decoding too.I am confused now.
I have a question about something that's been bugging me forever: Is it normal for the lossless sound formats to drop the bit-stream when paused for longer than a few seconds? If so, is there a workaround? Sorry if this is not LAV related.
Snowknight26
2nd June 2020, 00:18
I have a question about something that's been bugging me forever: Is it normal for the lossless sound formats to drop the bit-stream when paused for longer than a few seconds? If so, is there a workaround? Sorry if this is not LAV related.
Regression since 0.72.0. Best thing I've found you can do is wait a few seconds, resume. If it doesn't work, pause, wait a few seconds, resume, etc. until it works again.
OK, so it's not just me. I've been doing the same, but figured there has to be a better way. Thanks for the reply!
nevcairiel
2nd June 2020, 00:23
Regression since 0.72.0. Best thing I've found you can do is wait a few seconds, resume. If it doesn't work, pause, wait a few seconds, resume, etc. until it works again.
Its the audio renderers job to preserve the stream during pause. In fact a decoder hardly even notices when something is paused. It'll just send data as long as a renderer accept it, and then wait until the renderer wants more data.
Do you have any recommendation, Nev? I've been using MPC-HC with the built-in renderer, set to exclusive. Not sure what to do here.
nevcairiel
2nd June 2020, 07:52
I don't know of any that really implement pausing with bitstreaming properly.
Aleksoid1978
2nd June 2020, 08:21
MPC-BE's WASAPI Audio Renderer implement pausing with bitstreaming, what's a problem ?
chros
2nd June 2020, 10:16
MPC-BE's WASAPI Audio Renderer implement pausing with bitstreaming, what's a problem ?
Yes, cheers, I asked for it and You were kind enough to implement it :)
I don't know of any that really implement pausing with bitstreaming properly.
Do you have any recommendation, Nev? I've been using MPC-HC with the built-in renderer, set to exclusive. Not sure what to do here.
MPC-HC's own audio renderer (Sanear) does this as well (https://github.com/alexmarsev/sanear/commit/af6d327bc3682977488d8c8f6f193592d4a927ed) (but had some bugs (https://github.com/alexmarsev/sanear/issues/17) with it, I'm not sure that's still the case), maybe that's the issue.
Regression since 0.72.0. Best thing I've found you can do is wait a few seconds, resume. If it doesn't work, pause, wait a few seconds, resume, etc. until it works again.
@VBB, try it with older Lav filters, maybe ...
nevcairiel
2nd June 2020, 10:50
MPC-HC's own audio renderer (Sanear) does this as well (https://github.com/alexmarsev/sanear/commit/af6d327bc3682977488d8c8f6f193592d4a927ed) (but had some bugs (https://github.com/alexmarsev/sanear/issues/17) with it, I'm not sure that's still the case), maybe that's the issue.
Thats not what I'm talking about. I don't care if other audio is muted or not during pause. In fact thats the opposite of proper bitstreaming.
But theoretically during pause the audio renderer is supposed to keep sending bitstream data to the receiver so it doesn't drop the stream, its called a "pause burst", so you can flawlessly resume right away. I'm not aware of any renderer that performs this task, they all seem to only pass data through, and not sending anything during pause, leaving users to blame the decoder if weird stuff happens during pause.
The "regression" mentioned is just another symptom of that, and only for TrueHD, because I implemented proper compliant TrueHD bitstreaming (before that, high-bitrate TrueHD+Atmos would constantly glitch), but due to the way that works, the lack of a proper pause causes even more of a glitch then other methods (because TrueHD actually has a concept of key frames, and if you lack one of those you get a bigger audio gap). And it only affects certain kinds of AVRs, which I like to call "bad ones" (and it can also be triggered by bad TrueHD authoring, or more often bad remuxing into MKV)
Its not something that can ever be fixed in LAV, since LAV just packs the audio into the proper package for bitstreaming. The actual hardware interaction is in the audio renderer.
Aleksoid1978
2nd June 2020, 11:36
Good way for audio renderer - on pause or when mute - send "silence"(WASAPI have flag for send silence data) to the audio device. Send "real" bitstream with silence - i think it's not possible :)
nevcairiel
2nd June 2020, 13:17
"Pause bursts" are not silence as such, they are special control signals that tell the receiver to wait and hold.
Aleksoid1978
2nd June 2020, 13:30
"Pause bursts" are not silence as such, they are special control signals that tell the receiver to wait and hold.
It there any documentation about it ?
Thanks for all the detail, guys. What I still don't understand is, why does this only happen with the lossless formats, and not with the lossy ones?
pacuro
5th June 2020, 07:39
@nevcairiel could you please release new nightly Lav with dav1d 0.7.0 ? These improvements in speed are the missing few % in my setup to play av1 4k60 smoothly. Thanks in advance!
pankov
6th June 2020, 11:56
MPC-BE's WASAPI Audio Renderer implement pausing with bitstreaming, what's a problem ?
Alex,
is this renderer available as a standalone filter for 32-bit apps?
ryrynz
7th June 2020, 09:10
Alex,
is this renderer available as a standalone filter for 32-bit apps?
Yes, grab the 'standalone_filters' package from the usual nightly locations.
sah777
9th June 2020, 03:28
Hi LAV Splitter developer,
Please can you consider adding better/more advanced options for setting the file/network file buffering size (like we can set in VLC media player)???
We want to be able to set the EXACT file buffer size in ms or RAM MB (not just the maximum size which we can currently control).
This would help a lot for playing Windows networked video files.
Thanks for consideration!!!
Thank you :D
VictorLS
12th June 2020, 10:15
Can anybody say is h266 (Versatile Video Codec - VVC) supported by ffmpeg (or plan to support in nearest future) so it can be implemeted in LAV Video Decoder?
I'm asking because (seems) first FTA (so not encrypted) 8K SAT channel The Explorers UHD translation in this h266 (VVC) codec is beginning from 28e2 11973v31000 (I can't receive it personally but hope to get record so I'd want to watch that ;)
soresu
12th June 2020, 11:08
Can anybody say is h266 (Versatile Video Codec - VVC) supported by ffmpeg (or plan to support in nearest future) so it can be implemeted in LAV Video Decoder?
I'm asking because (seems) first FTA (so not encrypted) 8K SAT channel The Explorers UHD translation in this h266 (VVC) codec is beginning from 28e2 11973v31000 (I can't receive it personally but hope to get record so I'd want to watch that ;)
VVC is not even fully standardised yet, let alone any hardware decoders available - best you will manage is the decoder in the reference software for the time being.
VictorLS
12th June 2020, 12:44
VVC is not even fully standardised yet
Thanks for reply.
Btw The Explorers UHD seems just 4K (not 8K).
VictorLS
13th June 2020, 16:15
Here's record TransportRecord11973-59130659.ts (94 MB) https://transfiles.ru/2v8xo of h266 (VVC) translation from 28e2 satellite.
el Filou
13th June 2020, 20:14
It's strange that they're already testing it on a satellite https://www.sportsvideo.org/2020/06/09/ateme-ses-join-forces-for-live-uhd-broadcast-using-versatile-video-coding-standard/ when it's still in draft status (even if late draft) https://mpeg.chiariglione.org/standards/mpeg-i/versatile-video-coding. I think that was a private test and it's not meant to stay.
MediaInfo can't even read the metadata. :)
soresu
13th June 2020, 23:48
It's strange that they're already testing it on a satellite https://www.sportsvideo.org/2020/06/09/ateme-ses-join-forces-for-live-uhd-broadcast-using-versatile-video-coding-standard/ when it's still in draft status (even if late draft) https://mpeg.chiariglione.org/standards/mpeg-i/versatile-video-coding. I think that was a private test and it's not meant to stay.
MediaInfo can't even read the metadata. :)
I can't see any reason why it wouldn't work if packed within a data container format already familiar to the satellites systems, which I would assume to be MPEG 2 TS unless things have changed with newer 4K transmission standards.
VictorLS
14th June 2020, 06:36
IMHO testing on SAT proves h266 VVC will be new SAT encoding standard.
May be someone know where we can download OpenVVC decoder developed by IETR from?
huhn
15th June 2020, 01:00
sure: https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM
just hope it's the same old version as your stream and bring a lot of time.
clsid
17th June 2020, 15:32
FFmpeg and Dav1d update please ;)
FFmpeg has had some header refactoring and other stuff moved around. So some adjustments to custom LAV patches are needed after rebase (move avisynth headers/mkv font mimetype/fraps/fix h264 sps patch). Better to catch regressions early.
clsid
18th June 2020, 17:20
Thanks for the quick update!
The VP9 ConfigBitstreamRaw workaround also needs to be applied in FFmpeg dxva2.c
Could you have a look at this hang in LAV:
https://github.com/clsid2/mpc-hc/issues/455
clsid
18th June 2020, 17:57
And another issue:
https://github.com/clsid2/mpc-hc/issues/434
And a flac file with playback issues:
https://www.sendspace.com/file/2oxerj
Beginning is wrong. Seeking back to begin also doesn't work properly.
clsid
18th June 2020, 19:11
And a hang issue with DVD:
https://github.com/clsid2/mpc-hc/issues/464
Could you check if this is a LAV issue? It doesn't happen with Microsoft's MPEG-2 decoder.
nevcairiel
18th June 2020, 20:20
The VP9 ConfigBitstreamRaw workaround also needs to be applied in FFmpeg dxva2.c
It does not. That code is never executed.
huhn
19th June 2020, 01:25
i can later try it with the nightly but the first test build didn't work the second with the change in ffmpeg worked.
galneon
19th June 2020, 04:25
The H.264 MVC decoding option is still experimental from what I've read. In what circumstances should it function? It seems my CPU is recent enough to support it (i7-5820k), but this option resets to unchecked every time I enable it and restart MPC-HC. I use madVR with D3D11 exclusive mode.
nevcairiel
19th June 2020, 08:03
The H.264 MVC decoding option is still experimental from what I've read. In what circumstances should it function? It seems my CPU is recent enough to support it (i7-5820k), but this option resets to unchecked every time I enable it and restart MPC-HC. I use madVR with D3D11 exclusive mode.
You need Intel graphics, not a Intel CPU. Yours does not have a built-in Intel GPU.
On Desktop CPUs I would probably advise against using it anyway, decoding 1080p H.264 isn't that complicated, and it avoids conflicts and problems.
If you're using the MPC-HC built-in LAV Filters, it may not be saving the option properly.
huhn
19th June 2020, 10:28
VP9 decoding using AMD GPUs doesn't work with 0.74.1.57-git
only d3d11 native has been tested.
galneon
20th June 2020, 04:45
You need Intel graphics, not a Intel CPU. Yours does not have a built-in Intel GPU.
On Desktop CPUs I would probably advise against using it anyway, decoding 1080p H.264 isn't that complicated, and it avoids conflicts and problems.
If you're using the MPC-HC built-in LAV Filters, it may not be saving the option properly.
I woke up a few hours after posting hit by the revelation of the absurdity of my question. Thanks for confirming!
huhn
21st June 2020, 13:51
AMD VP9 hardware decoding works with 0.74.1.59 thanks.
fried chicken
26th June 2020, 02:14
Are there plans for a true portable version of LAV? Settings just saved to the same dir LAVvideo.ax is in to like LAVvideo.ini for example.
nevcairiel
26th June 2020, 05:23
LAV by itself (or any DirectShow filter) can by its very nature not be "true portable", since using it requires registering it in the system.
Instead, a specially designed playback application could use it in a portable way - and said application could then also manage the setting storage, LAV has all the APIs needed to stop system-wide settings loading and allow an app to do its own load/save.
MPC-HC, for example, does all this. It can use LAV without registering it, and it does tell LAV to not use the system-wide configuration and instead substitutes its own. Now you just need to figure out how to run MPC-HC portable.
There are no further plans. All the tools are there for an application to use it in a portable manner.
v0lt
27th June 2020, 11:02
nevcairiel
LAV Video decoder does not work in DXVA2 mode with H.264.4096x2304.mp4 (https://cloud.mail.ru/public/4VMN/2cLW58TYm).
Nvidia GTX 950, Intel HD 4000.
nevcairiel
27th June 2020, 14:56
The file is baseline profile. Baseline is not hardware compatible. Only "constrained baseline" is - there is a big difference there. Or at least there can be. You can never know if a baseline file will actually work in hardware, thus the only correct thing is to not do it. If one wanted it to be hardware compatible, it should be encoded as "constrained baseline" instead of "baseline".
The naming of "baseline" is a bit awkward, since it allows many codec features that are not allowed in any other popular profile like main or high.
clsid
29th June 2020, 13:57
This webm file hangs when seeking:
https://www.sendspace.com/file/xcg98p
Infinite loop in mkv_Seek in MatroskaParser.c
clsid
30th June 2020, 14:04
This fixes it for me:
diff --git a/libavformat/MatroskaParser.c b/libavformat/MatroskaParser.c
index f2393b6693..8e6452ba0e 100644
--- a/libavformat/MatroskaParser.c
+++ b/libavformat/MatroskaParser.c
@@ -3444,6 +3444,7 @@ void mkv_Seek(MatroskaFile *mf,ulonglong timecode,unsigned flags) {
ulonglong mask,m_kftime[MAX_TRACKS];
unsigned char m_seendf[MAX_TRACKS];
struct Queue *subPreQueues = NULL;
+ int fallback_cue = -1;
if (mf->flags & MKVF_AVOID_SEEKS)
return;
@@ -3490,8 +3491,10 @@ void mkv_Seek(MatroskaFile *mf,ulonglong timecode,unsigned flags) {
for (;;) {
if (!CueSuitableForSeeking(mf, j)) {
// skip this Cue, re-start from previous
+ if (fallback_cue == -1) fallback_cue = j;
--j;
- goto again;
+ if (j >= 0) goto again;
+ else j = fallback_cue;
}
for (n = 0; n < mf->nTracks; ++n) {
nevcairiel
30th June 2020, 16:07
I applied a more thorough fix for this problem. But the file is rather weird anyway. Who would ever put Cue points for audio? It feels like its meant to be cue points for video, but the track order got messed up.
clsid
2nd July 2020, 14:11
Thanks for the fix.
Latest update may cause build failure due to implicit function declaration for max().
mzso
18th July 2020, 15:25
Hi!
Any reason I can't have any HW deinterlacing with an RX580? The HW deinterlacing section stays dimmed no matter which HW (or SW) decoder setting I use.
nussman
18th July 2020, 16:44
HW Deinterlacing settings is for CUVID (Nvidia) or QS (Intel) only, but hardware deinterlacing is done anyway if the videorenderer supports it.
mzso
18th July 2020, 16:58
HW Deinterlacing settings is for CUVID (Nvidia) or QS (Intel) only, but hardware deinterlacing is done anyway if the videorenderer supports it.
I remembered that it used to work with DXVA as well with AMD cards.
Anyway the renderer (madVR) fails to use HW deinterlacing. It shows enabled, but in fact it's still interlaced with a lot of combing.
nussman
18th July 2020, 17:07
With D3D11 HW deinterlacing is not supported by madVR.
Try DXVA2 (native) or DXVA2 (copyback).
mzso
18th July 2020, 17:20
With D3D11 HW deinterlacing is not supported by madVR.
Try DXVA2 (native) or DXVA2 (copyback).
I see. That is a change I made recently, because the player hangs very frequently with dx9.
So, I guess have to make peace with yadif, or seek some other solution?
"Try DXVA2 (native) or DXVA2 (copyback)"
Ummm. I did. Hence my original post of HW deinterlacing not being available for any of the HW decoder options.
nussman
18th July 2020, 18:26
But HW deinterlacing works with DXVA2 (native) or DXVA2 (copyback) and madVR.
HW deinterlacing setting is for CUVID or QS ...
mzso
18th July 2020, 19:11
But HW deinterlacing works with DXVA2 (native) or DXVA2 (copyback) and madVR.
HW deinterlacing setting is for CUVID or QS ...
Not sure what you're getting at. madVR's deinterlacing is independent of LAV, as far as I know.
It used to work with with SW decoding as well.
nussman
18th July 2020, 19:40
HW deinterlacing in LAV Filter works only for CUVID or QS.
In all other modes like DVXA2 nativ/cb, D3D11 nativ/cb or software decoding, hw deinterlacing is done by your videorenderer.
Only for D3D11 native it doesnt work with madVR, because its not supported (yet ... I hope so).
If hw deinterlacing doesnt work for you with these modes its AMD driver bug or wrong settings (i.e. disable deinterlacing in madVR or disable output formats in LAV).
nevcairiel
19th July 2020, 00:42
HW deinterlacing in LAV has never been available for anything but CUVID or QuickSync. For those its directly built into the decoding process, and not a separate step, so it was an easy addition.
mzso
19th July 2020, 16:15
HW deinterlacing in LAV has never been available for anything but CUVID or QuickSync. For those its directly built into the decoding process, and not a separate step, so it was an easy addition.
I guess I misremembered then. It has been a while since I used my 2600XT.
VictorLS
21st July 2020, 22:04
nevcairiel
It seems YADIF and both Weston Software Deinterlacing aren't working on H.264 4:2:2 1920x1080i50 ~15 Mbit/s MBAFF 10bit file Formula1.2019.Round06.Monaco.Race.Sat.Feed.1080i.H264.Multi.Language_fromMKVtsMuxerNotHDMVcompatible.ts (501 MB) https://yadi.sk/i/X1nPqEAqIAZXoQ recorded from SAT feed because madVR (namely madVR - not other known renderers which haven't colorsift issue as minimum on nVIDIA's videocards) always show two dxva rows in the bottom of Ctrl-J statistic, CPU load isn't increasing and colorshift issues best visible on red (i.e. at 44-46 seconds watch on CASINO CAFE DE PARIS or at 1min22s RedBull aside of same named F1 car) don't go away. While playing H.264 4:2:2 1920x1080i50 ~20 Mbit/s 8bit 20200216-181539_RUS-070 main +79199986019.ts (90 MB) https://disk.yandex.ru/d/TPRLVj_q06taeg (especially on ZDF badge on red jacket over woman's heart at 26-27s) activating any of three Software Deinterlacing solve colorshift issue with madVR (EVR and MPC-VR has not that colorshift issue with hardware deinterlacing) and CPU load dramatically increasing on my CPU Athlon II x3 360 and two dxva rows in the bottom of madVR's Ctrl+J statistic are absent.
Here's screenshot with madVR's Ctrl-J statistic where colorshift issue well visible as dark ghost letters lefter and upper of CASINO CAFE DE PARIS billboard
https://i.postimg.cc/3d85YpFB/4-2-2-mad-VR.png (https://postimg.cc/3d85YpFB)
Btw VLC can't fluently deinterlace Formula1.2019.Round06.Monaco.Race.Sat.Feed.1080i.H264.Multi.Language.mkv with activated Yadif (x2) deinterlacing - terrible stuttering present - but VLC try though ;)
One more thing: old and last ffdshow_rev4533_20140929_clsid does double framerate YADIF deinterlacing quiet well (without colorshift issue) while playing Formula1.2019.Round06.Monaco.Race.Sat.Feed.1080i.H264.Multi.Language.mkv (in the bottom of madVR's Ctrl+J statistic two dxva rows are absent).
About HW deinterlacing in AMD Ryzen 3 3200G with Vega 8 (tested in Win10x64 2004) - it's mostly bad quality (colorshift issue present while playing two 4:2:2 above files with all available in MPC-HC renderers (so not only with madVR as with nVIDIA's videocards) and some interlaced areas (interlaced "islands") still present near nose 01520-gamak.mkv (295 MB) (https://drive.google.com/file/d/12BPbVtatluYtdXKTFS2X7ShOv8pkOK6X/view?usp=sharing) - see frame-by-frame Screenshots.7z (65 MB) https://transfiles.ru/iflq3 - compared with nVIDIA doing almost ideal HW deinterlacing while playing 'gamak' VC-1 file) so for high quality deinterlacing one of Software Deinterlacing of LAV Video Decoder must be used (may be yet in case of AMD correct that bad deinterlacing issue in a future).
VictorLS
24th July 2020, 09:39
AMD VP9 hardware decoding works with 0.74.1.59 thanks.
After some research I've found AMD correct in their Adrenalin driver not working hardware acceleration of VP9 and VP9 HDR HLG (tried on Ryzen 3 3200G with Vega8) and with win10-...-20.5.1-june10 and newer driver hardware acceleration of VP9 works well with 0.74.1.58 and some older versions of LAV Video Decoder (with 20.4.2-may25 and 20.2.2-mar5 drivers hardware acceleration of VP9 works with 0.74.1.59 and newer only) so commonly it was unnecessary correction in LAV Video Decoder but not all frame decoding (i.e. decoding I-frames only present in ffmpeg) is necessary for me and other SAT amateurs still not implemented (
v0lt
24th July 2020, 19:49
VictorLS
You are boring. You are asking for what you have been told "no" several times. I advise you to stop, you only annoy people. Because of this, you will simply be included in the "Ignore List" (if not already).
VictorLS
24th July 2020, 21:20
v0lt
If your decoder (which has 'not all frame decoding' but hasn't I-frame decoding only) would be such good as LAV Video Decoder (i.e. support NVIDIA CUVID and stable 8K decoding) I'd use it and don't use LAV Video Decoder at all but we SAT-amateurs hasn't such alternative - LAV Filters the BEST and we want it'll still so in a futurewith new useful functions.
Besides I've heard 'no' from nevcairiel many times here on another my useful for SAT-amateurs asks like 10bit (may be 12bit too - I can't check by myself - my GTX750v2 supports only 10bit) NVIDIA CUVID decoding (it has been implemented but too late for me because XP hadn't supported by LAV Filters that time already) or possibility of deactivating DXVA processing while NVIDIA CUVID decoding to normal watch 'broken streams' on nVIDIA videocards with hardware acceleration...so I just don't loose hope with question of not all frame decoding because it's such normal ask as described above moreover it can be useful not only for SAT-amateurs but all people with not so powerful computers to decode all frames encoded with i.e. AV1, H.265 (H.266 and so on in a future) etc...
nevcairiel
25th July 2020, 10:04
Skipping frames will never happen. Its not an improvement in decoding, its a step backwards. If your system is too slow, get a faster one. LAV's primary goal is to decode as much as it can perfectly. It'll *never* get any feature that'll make it decode an image in a bad way just because its faster.
VictorLS
25th July 2020, 22:38
If your system is too slow, get a faster one.
You still don't understand there's many causes it's impossible, for example:
1. Not all people in the world have enough money to buy/upgrade their computers;
2. There isn't power enough computer to decode all frames at all (excluding many processors mainframe not available even for rich people).
I.e. can processor of your PC play 8K AV1 http://forum.doom9.org/showthread.php?p=1903584#post1903584 in 3 and half minutes (not more) and how many fps in renderer or DXVAChecker (screeenshot?) do you see? If yes (60fps) how much does it costs? I even don't know what processor need to decode H.266 VVC 8K - from the beginning of Digital Video Broadcasting since the end of 20th century I can say: modern middle-end processor always not enough for modern codecs (videocards doesn't hardware acceleration just appeared codecs for a long time by default as H.266 VVC now - even newest nVIDIA Ampere can't accelerate VVC).
If, in case of i.e. youtube, there's way to get video with lower quality to almost any computer can play video fluently with original fps (and audio/video synced) in case of SAT it's impossible ;)
New idea for you if you like quality (i.e. like in question of NVIDIA CUVID without DXVA processing) - now LAV Video Decoder gives terrible gray all frame artifacts after some normal frames if CPU don't so powerful to decode i.e. 8K stream from SAT live (and video can't be accelerated by videocard) leading to disappearing audio so repeat if you like quality can you change strategy of LAV Video Decoder's decoding (it's much harder to do than just only I-frame decoding done in professional Mainconcept Video Decoders long time ago so I haven't ask it before) to when audio becomes non-synced to video LAV Video Decoder drops decoding past frame and skips to decoding to nearest current (lifetime) I-frame to let audio be without silence and any other artifacts just skipping video without any additional settings in LAV Video Decoder?
I hope you understand me now.
Asmodian
25th July 2020, 23:11
I don't agree. If your computer cannot decode it properly then skipping frames is not higher quality. You might be more willing to watch it, and it is higher quality in that sense, but from a "quality video decoder" point of view it is a low quality hack. Also, playing games with the word "quality" to get nevcairiel to agree with you seems like a weird approach.
There is obviously no content in a format no one can decode in real time so you are asking for a hack to allow watching of test clips. Or, at least using test clips to try to argue for the slow computers without arguing for slow computers. :p
VictorLS
25th July 2020, 23:44
I don't agree. If your computer cannot decode it properly then skipping frames is not higher quality.
http://forum.doom9.org/showthread.php?p=1902471#post1902471 but ask you personally if you are i.e. watching socker from SAT (and no other way to get this match from - i.e. Internet absent) and your CPU (video don't accelerate this at all) power isn't enough for such quality do you prefer live (see current i.e. 0:1) with normal commentary with skipping frames or very slow motion with 0:0 and with silence and see goal in some minutes? I prefer live with most of other fans ;)
PS. Not watching match or buy new processor (now it almost always means additional buying new mainboard and memory so cost many money) are wrong answers (see my post above).
nevcairiel
25th July 2020, 23:50
I hope you understand me now.
I understand that you will never stop, and if you keep repeating it you will end up on ignore, permanently.
If your system is too slow for realtime playback, convert the video to a format that you can play in realtime. Problem solved.
VictorLS
26th July 2020, 00:10
If your system is too slow for realtime playback, convert the video to a format that you can play in realtime. Problem solved.
If you wrote so you don't understand (I was always talking about live watching in this thread) even my easy to understand question in the post (http://forum.doom9.org/showthread.php?p=1919411#post1919411) to Asmodian (((
I don't say about answer on my questions (http://forum.doom9.org/showthread.php?p=1919400#post1919400) to you about decoding 'old' AV1 (compared to new VVC) coded files on your PC...
PS. Can you confirm LAV Video Decoder can't activate any software deinterlacing for files like Formula1.2019.Round06.Monaco.Race.Sat.Feed.1080i.H264.Multi.Language_fromMKVtsMuxerNotHDMVcompatible.ts (501 MB) https://yadi.sk/i/X1nPqEAqIAZXoQ I'm written here http://forum.doom9.org/showthread.php?p=1919062#post1919062? Are you going to correct this? Ryzen 3 will go from me next week so I'd want to try new corrected version of LAV Video Decoder before ;)
SamuriHL
26th July 2020, 04:57
I've got a weird situation that I genuinely don't know where the problem lies, exactly. Hence I'm not sure this is the correct thread for it but I'll start here. I have an MKV with what it claims to be stereo LPCM audio. In reality, it's mono LPCM. During playback with JRiver set to use LAV Audio for bitstreaming, I indeed get one channel. However, it's only coming out of the left front speaker. I'm not entirely sure if it's a consequence of how it was ripped to MKV (this is the Bruce Lee blu-ray collection that was just released), a JRiver weird issue, or if LAV is doing something odd. Or it could be my receiver, too, I suppose. Like I said, I decided to start here to see what LAV is supposed to do in this case. I'd prefer a mono LPCM track hitting the center channel, but, is that even possible? I also don't have enough knowledge about how LPCM audio is stored in MKV and whether it's even possible to store a single channel...which probably explains why it's showing up as stereo. Thanks!
mkver
26th July 2020, 09:08
Matroska supports mono audio. You should be able to remove the silent channel and make the other channel center with FFmpeg's channelmap filter. It will also save space.
To find out whether this is a bug in the remuxing application or a defect/feature of the source you should play the source directly or remux the source with different tools and inspect the output.
v0lt
26th July 2020, 12:58
@SamuriHL
You can see the properties of the input pin for the audio renderer (or the output pin of the LAV Audio Decoder). In most cases, single-channel audio is not matched by the decoder to any speaker. This is done by the audio renderer or driver.
clsid
26th July 2020, 15:07
LAV Audio has an option to expand mono to stereo.
SamuriHL
26th July 2020, 16:32
Thanks all. That gives me a good place to start. When playing it on the shield I get nothing but a high pitched static so I'm guessing it wasn't ripped correctly to MKV. I'll mess around with my options.
LigH
27th July 2020, 08:17
I get nothing but a high pitched static
That sounds to me like you may receive a digitally compressed format which is not recognized to be decoded, or a sample format which is not supported (like IEEE float, and your device only supports integer PCM).
SamuriHL
27th July 2020, 15:13
That sounds to me like you may receive a digitally compressed format which is not recognized to be decoded, or a sample format which is not supported (like IEEE float, and your device only supports integer PCM).
Definitely not compressed as it's LPCM but I suspect the SHIELD is confused about the fact that it's a mono track defined as stereo in the MKV. I didn't get back around to messing with this over the weekend as I got distracted with the ability to finally play Dolby Vision + Dolby ATMOS MKV's on my SHIELD. I will look at this issue again tonight and see what I can find.
el Filou
31st July 2020, 21:05
@SamuriHL I've encountered this in the past with old movies with mono audio. I can't find my old posts quickly, but it's something to do with HDMI, 1-channel is not a standard layout, only 2;5.1;7.1 are. My solution is the option in LAV to upmix mono to stereo, and then use something like ProLogic in the receiver that will remap all sound to the center channel. It gets even more complicated with some Blu-rays that have stuff like 3.0 channels as you need to enable mixing only for those. I don't know how stand-alone Blu-ray players manage that, I guess they also upmix mono LPCM to 2-channel.
You still don't understand there's many causes it's impossible, for example:
1. Not all people in the world have enough money to buy/upgrade their computers;The recommended option if your computer is not powerful enough to play satellite broadcast feed and buying a more powerful computer isn't possible seems to me to buy a stand-alone dedicated satellite receiver. Surely all the people who want to watch satellite broadcasts are not using computers? I understand there are advantages to using a computer to watch DVB as I do it myself, but it's definitely an expensive way to do it and if it gets too expensive it's better to try other options than to watch a crippled stream with an underpowered computer.I-frame decoding done in professional Mainconcept Video DecodersJust my 2 cents, but that kind of option present in some video decoders is most probably not for normal playback, but for quicker decoding preview while doing things like editing.
SamuriHL
31st July 2020, 22:54
@SamuriHL I've encountered this in the past with old movies with mono audio. I can't find my old posts quickly, but it's something to do with HDMI, 1-channel is not a standard layout, only 2;5.1;7.1 are. My solution is the option in LAV to upmix mono to stereo, and then use something like ProLogic in the receiver that will remap all sound to the center channel. It gets even more complicated with some Blu-rays that have stuff like 3.0 channels as you need to enable mixing only for those. I don't know how stand-alone Blu-ray players manage that, I guess they also upmix mono LPCM to 2-channel.
Brilliant. I will definitely try this out. I haven't had time to get back to it yet. Work has been a little crazy. But I definitely want to get this resolved. Thanks!
VictorLS
1st August 2020, 07:01
I understand there are advantages to using a computer to watch DVB as I do it myself
My greetings
The recommended option if your computer is not powerful enough to play satellite broadcast feed and buying a more powerful computer isn't possible seems to me to buy a stand-alone dedicated satellite receiver.
Do you know any can play 4K 4:2:2 h265 50fps 20180428-175510_4K ENC 3 RMAD VS LEG.ts (563 MB) https://yadi.sk/d/m0s5ztpj3XnUyw ? ;)
Btw I don't 100% sure i.e. AzBox (I don't say about other even expensive but ordinary tuners) can 4:2:2 h264 (not h265) 1920x1080i50 (but your processor seems can't play this file Formula1.2019.Round06.Monaco.Race.Sat.Feed.1080i.H264.Multi.Language_fromMKVtsMuxerNotHDMVcompatible.ts (501 MB) https://yadi.sk/i/X1nPqEAqIAZXoQ fluently but due to nVIDIA videocard without color issue well visible on Vega8 with 50Hz native output as described above (http://forum.doom9.org/showthread.php?p=1919062#post1919062) - just ffdshow Video Decoder with yadif doubleframerate play it with high quality).
it's definitely an expensive way to do it and if it gets too expensive
Special standalone receivers too expensive too and they are don't upgradeable so much more expensive than computer in long term.
it's better to try other options than to watch a crippled stream with an underpowered computer.
Now I don't know other way to watch 4:2:2 live - just skipping frames - that's why ask implement this option in LAV Video Decoder. May be in nearest future Intel Xe videocard will hardware decode 4:2:2 (and even H.266 VVC) but now nothing!!!
Just my 2 cents, but that kind of option present in some video decoders is most probably not for normal playback, but for quicker decoding preview while doing things like editing.
We don't want normal playback - just normal preview of hard feeds (even H.266 VVC feeds - when standalone tuner with support of VVC in stock - in some years? - app SmartDVB can receive H.266 now - we just waiting for DirectShow H.266 decoder to try (if test translation still at https://www.flysat.com/astra28-uhd.php 11973v31000 that time) to watch live and skipping frames feature will be appreciated so VVC 4K must be much harder to decoding than HEVC 4K (as was before in line MPEG2 SD-MPEG2 HD-AVC HD-HEVC 4K middle-end processor can software decode all frames in 3-5 years after apperaing those standards - we don't wan't wait so long - we want to watch live slideshow now ;)
Brazil2
1st August 2020, 15:37
LAV Filters 0.74.1 (released 2019/03/19)
What about a new release ? ;) :)
el Filou
1st August 2020, 19:35
Do you know any can play 4K 4:2:2 h265 50fps [file] ? ;)
Btw I don't 100% sure i.e. AzBox (I don't say about other even expensive but ordinary tuners) can 4:2:2 h264 (not h265) 1920x1080i50I don't know about Sat as I'm using cable, but I don't understand why TV providers would use certain unusual codec profiles if hardly anybody would be able to receive them?
VictorLS
1st August 2020, 22:55
I'm using cable
So you receive and watch DVB-C - I'm DVB-S2(X).
I don't understand why TV providers would use certain unusual codec profiles if hardly anybody would be able to receive them?
On my own SAT transmitting providers use 4:2:2 (now more seldom than before) to achieve more quality picture after logos, tickers and so on and recoding to 4:2:0 for the end users like you but in most cases (except color issue (http://forum.doom9.org/showthread.php?p=1919870#post1919870) need to use software deinterlacing) it isn't problem for LAV Video Decoder
ryrynz
3rd August 2020, 08:06
What about a new release ? ;) :)
He'll probably do one after the next round of updates, might have one or two things he wants to tick off for the next version.
Rusty100
11th August 2020, 04:06
Question regarding LAV Splitter's queue. Would any problems arise if I were to set the Maximum Queue Memory to, say, almost as much ram as I have?
I just got a new hard drive, and it's the loudest thing ever when at low read/write speeds, say the normal 8-14mbs while playing a film. My idea to solve this is to basically have it queue up as much as possible as it's playing, which forces the drive into ~250mbs speeds, which lo and behold, produces no hard drive noise at all.
And if I do do this, do I increase the queue packets too? And to what? I guess my main question is, am I damaging my hard drive or my ram? Haha. Or maybe if there's a better way to get higher read speeds during film playback.
sneaker_ger
11th August 2020, 06:50
To quote the author:
[...]it successfully buffers a full BD file at 20GB for me now.
One thing to note however is that the buffer is not "smart", if you seek it'll drop the entire buffer, do the seek in the actual file, and then re-fill the buffer from scratch. Due to that behavior, seeking is actually really slow, since freeing tens of thousands of small memory blocks is actually quite an intensive task to do. Hence why the default buffer sizes are only as big as I dare make them, since it can slow stuff down.
And yes: as I understand you have to increase both queue values.
tebasuna51
12th August 2020, 00:02
Posts deleted by Rule 6:
6) No warez, cracks, serials or illegally obtained copyrighted content! Links to content of a questionable nature (e.g. anything you don't own and/or have downloaded), asking for, offering, or asking for help/helping to process such content in any way or form is not tolerated.
Fabulist
12th August 2020, 13:56
Posts deleted by Rule 6:
6) No warez, cracks, serials or illegally obtained copyrighted content! Links to content of a questionable nature (e.g. anything you don't own and/or have downloaded), asking for, offering, or asking for help/helping to process such content in any way or form is not tolerated.
There was no warez mentioned on my posts, but rather from other members, but OK. May I ask why was nevcairiel's response also deleted, which clarified how LAV Audio works in comparison to other programs?
That clarification the developer wrote can stand on its own without any context, it could help someone who has the same issues in the future.
videoh
12th August 2020, 17:16
Fruit of the forbidden tree.
richardpl
13th August 2020, 11:01
Use some other help site instead.
NikosD
13th August 2020, 11:41
Fruit of the forbidden tree. You are one of a kind, but too strict.
All rules are made to be broken, sometimes.
Rusty100
15th August 2020, 05:59
To quote the author:
And yes: as I understand you have to increase both queue values.
Oh great. That's good info, thank you! Setting the queue to around 10gb of my available 16, seeking is still quite fast thankfully. For some reason, after the high speeds die down as I hit the maximum allowance, the noise doesn't return during playback. Like forcing it into prolonged high speeds to begin with negates eventual low-speed noise. Go figure. I can't believe hard drives are still like this sometimes. I hate seagate.
LigH
16th August 2020, 19:05
I just noticed that some hardware decoders (in my case, Nvidia PureVideo on GTX 1660 Super) may fail decoding AVC with 8 bpc in high resolutions (4K UHD and beyond). Using DXVA2 native or CUVID, I noticed heavy distortions (motion vector related, I guess?) which did not appear without hardware accelerated decoding (avcodec mode). Decoding AVC with 10 bpc or HEVC was fine.
Anyone interested in details? Any suggestions how to possibly configure LAV Filters to fall back automatically in this case?
NikosD
16th August 2020, 19:48
Anyone interested in details? A sample of the mentioned 4K H.264 8bit clip would help.
I could test it.
NikosD
16th August 2020, 19:51
... may fail decoding AVC with 8 bpc in high resolutions (4K UHD and beyond) Actually, there is no beyond for H.264 HW accelerated decoding.
All HW decoders of three (AMD, Intel, nVidia) stop at 4K regarding H.264 decoding.
LigH
17th August 2020, 07:28
Nightsky_2160p.mp4 (https://www.ligh.de/tmp/Nightsky_2160p.mp4) - watch the bottom left third at around 2 seconds for the most obvious glitches, there are a few more at the bottom.
It happens as well on a GTX 1050 Ti.
nevcairiel
17th August 2020, 08:25
Strictly speaking hardware decoders are (typically) limited to Level 5.1 or 5.2, your file is Level 6.0, so it might as well exceed the supported rates of the decoder. What part of it does actually exceed anything, I can't say without a much deeper investigation.
I suppose maybe I should limit the level to 5.1 (or 5.2). I have historically not added many level checks because the levels are often wrong - at least on the lower end, but I guess anyone encoding something at level 6.0 or higher will know what they are doing.
My first best guess is that the size of the DPB is being exceeded as Level 5.1/5.2 do not allow 8 ref frames for 4K, and level 6 allows up to 16. If you wanted to confirm, you could re-encode with at most 5 ref frames to stay within the limits of level 5.2 (or directly enforce level 5.2 limits, if possible)
The resolution alone wouldn't cause this, as we've been decoding 4K H264 content for years now, so the above assumption with the DPB seems most likely.
NikosD
17th August 2020, 11:54
I'll take a look at the sample when I return home, but since you have already tried Pascal and Turing decoders, I'll try Polaris and Haswell H.264 HW decoders.
The truth is that 8K H.264 is not commercial and H.264 HW decoders have left behind supporting only 4K, although x264 and other encoders can encode H.264 at 8K resolution.
As nevcairiel said, probably someone could encode 4K H.264 at higher level than L5.x which was the highest level at the 4K H.264 era of HW decoders and is mainly used for 4K encoding.
Haswell's and probably onwards Intel's HW H.264 is the fastest (even from Turing) and I have already tested 4K H.264 L5.2 Ref 16 with huge bandwidth (1Gbps) and with success.
However, I haven't tried before 4K H.264 at L6.x using any HW decoder.
Interesting.
LigH
17th August 2020, 12:32
The slow and very predictable motion of stars in a nightsky timelapse seems to benefit from long range references. Not much surprising. I guess a very verbose log could reveal interesting details.
I limited the references to 5 (and accordingly the level to 5.1); as expected, no glitches spotted in DXVA2 HW mode.
NikosD
17th August 2020, 20:14
I tried all HW modes of Intel iGPU (QuickSync, DXVA2 CB, DXVA2 Native, D3D11) and AMD RX 470 (DXVA2 CB, DXVA2 native and D3D11) that LAV Video (latest nightly) provides with EVR-CP and MPC-VR renderers.
Both HW decoders appear to have exactly the same issue with image distortion, as you mentioned using Pascal and Turing.
The only interesting point I want to report is QuickSync that falls back automatically to SW decoding.
I don't know if LAV or Intel's MediaSDK are responsible for this behavior, but it seems that it is what you asked for.
LigH
18th August 2020, 07:23
It may be the safe way to assume, according to Murphy's Law, that material flagged as "beyond hardware limits" regarding Profile@Level will probably cause issues, and fall back to software decoding. With or without a choice for the user in the UI. I don't expect any smarter solution than a P@L based decision. A decoding error that happened in a hardware decoder would probably not even be detectable by LAV Filters as the process using it, only by the human eyes.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.