View Full Version : LAV Filters - DirectShow Media Splitter and Decoders
htnut
28th July 2023, 03:35
WASAPI in shared mode is rather cursed. Its not that helpful. For WASAPI you should always want to use Exclusive.
DirectSound is always in shared mode and requires picking a different output device entirely.
Ok, this is helpful. Despite over two decades of HTPCs I don't have a grasp on this.
So, now, specifically selecting DirectSound in JR, if bitstreaming:HDMI is turned on, anytime I launch a BD I get the popup "Playback Problem"... "Palyback could not be started"... "The audio format may not be supported by your hardware"..."
W10 sound settings I have set output device to "DENON-AVR (Intel Display Audio)". The only other option is "Headphones".
W10 control panel Sound properties: DENON-AVR is selected with the green checkmark. Right clickng to "properties" shows "supported formats" including all the expected formats (TrueHD, Atmos 2.0, Atmos 2.1, etc.)
And, in the JRiver Audio options I have only two "Direct Sound" options: "Default Audio Device [Direct Sound]" or "DENON-AVR (Intel Display Audio) [Direct Sound]". Either of those options throw the error.
What else might be an issue with my config? My simplist HTPC is an i3 with Intel Iris integrated graphics.
I will note that Zoom Player, set to "Direct Sound DENON AVR (Intel Display Audio)" plays via bitstream (my amp reports ATMOS). This is why I keep thinking that JRiver either can't do it or there's something Im' missing in the configuration of JR, or my PC.
Thanks for sticking with me on this!
nevcairiel
28th July 2023, 09:14
I guess it depends which version of MC you are using, DirectSound bitstreaming was only fixed recently, so you would only succeed with the latest MC31.
htnut
28th July 2023, 20:03
I guess it depends which version of MC you are using, DirectSound bitstreaming was only fixed recently, so you would only succeed with the latest MC31.
Figures, I bought MC30 last year.
Sunspark
28th July 2023, 23:50
I've never done so and don't have an Atmos system, but the dolby atmos for home theatre in the dolby access app from the MS store is free. It's only the headphones part that costs so just skip the trial/purchase and only install. Might be worth a try for you. You could set up the home theatre part and then see which players it will work with.
htnut
29th July 2023, 07:07
I guess it depends which version of MC you are using, DirectSound bitstreaming was only fixed recently, so you would only succeed with the latest MC31.
nevcairiel, you hit the nail on the head.
I installed the trial of MC31 this evening and... it works.
All fixed.
So much time I spent trying to find workarounds, to learn that it was a broken implementation of DirectSound the whole time. Tasteless way for me to pay for an upgrade (isn't it a bug that should be fixed in the MC30 I bought?) But, alas, I support those who continue to strive to improve my home theater experience.
Thank you. Thank you.
JarrettH
30th July 2023, 21:29
WASAPI in shared mode is rather cursed. Its not that helpful. For WASAPI you should always want to use Exclusive.
DirectSound is always in shared mode and requires picking a different output device entirely.
If two streams are playing in Shared mode, is one resampled? I've always wondered about this :cool:
lvqcl
31st July 2023, 08:31
One, or both, or none. Depends of their sample rate.
nevcairiel
31st July 2023, 09:37
WASAPI shared mode does not in fact resample, as it will only accept input in the currently configured shared sample rate. At least it won't the way its used here.
DirectSound does resample, to the system sample rate.
huhn
31st July 2023, 21:27
so wasapi wouldn't work with the mpdn "resample/reclock" where it just throws an arbitrary sample rate at it?
or isn't supposed to work.
Sunspark
31st July 2023, 21:50
While it is true that wasapi and directsound are separate libraries, the output from both libraries goes to the same destination, wasapi shared, which then goes through the windows audio service.
wasapi exclusive skips the audio service but both it and the shared then goes through the kernel streaming library, etc.
Above based on the diagram at https://github.com/dechamps/FlexASIO/blob/master/BACKENDS.md
htnut
1st August 2023, 07:14
WASAPI shared mode does not in fact resample, as it will only accept input in the currently configured shared sample rate. At least it won't the way its used here.
DirectSound does resample, to the system sample rate.
So, should JR MC31 also successfully be able to bitstream using WASAPI with "exclusive mode" unchecked?
While I can pause and "share" the DirectSound device, if I instead choose WASAPI + bitstream: HDMI then MC31 throws an error unless "exclusive mode" is checked.
nevcairiel
1st August 2023, 07:29
No, WASAPI shared mode does not allow that. In fact I don't think anyone should ever use WASAPI shared mode, its just cumbersome to use.
JarrettH
16th August 2023, 01:01
hey nevcairiel, just wondering, should I be using hardware or software decoding? I run a GT 1030, i3 12100, madvr, latest LAV, MPC-BE, Win 10. I've only settled on software because when I bring up the stats in madvr, my setup is 2 ms faster in render times this way. Thanks.
ryrynz
16th August 2023, 02:14
Might not actually be faster though, should check your clockspeeds.
JarrettH
16th August 2023, 21:41
Oh might it downclock? The speed looks about the same to me when I opened up gpu-z. I'm using Optimal power management mode.
ryrynz
17th August 2023, 02:33
Set it to log the results and compare.
ashlar42
17th August 2023, 14:24
I am seeing dropped/repeated frames with the new Avatar and Avatar The Way of Water UHD discs.
Remuxing them leads to a situation where, even though the refresh rate is spot on (with madVR indicating expected dropped/repeated frames in days), it drops a frame here, repeats a frame there. In the end, while watching the whole movies, on average I get about 50/60 an hour. They don't always happen in the same portions of the movies but they do tend to appear always in the same "spots" (only sometimes they don't).
I have tried basically everything I know of in madVR and that's why I write here now. One thing I've discovered is that if I use the regular AC3 audio track (as opposed to the TrueHD Atmos one), not a single frame is being dropped or repeated.
Same thing happens if I decode TrueHD Atmos to 7.1 PCM (losing Atmos information in the process, obviously) or AC3 to 5.1 PCM. No frames dropped or repeated.
Any ideas? While looking at LAV options I wondered what is "Auto A/V Sync correction" supposed to do (and if it matters at all in a bitstreaming scenario such as this).
Edit: tried disabling the A/V Sync correction option, it didn't make any difference.
Edit 2: this seems to be happening with several UHD remuxes with an Atmos track. As far as I could tell, Kodi does not exhibit the same problem. Can't tell if these semi-recent fixes have something to do with it: https://github.com/xbmc/xbmc/pull/22705
ashlar42
22nd August 2023, 16:31
Anyone? Is there anywhere else I should be reporting this at?
nevcairiel
22nd August 2023, 18:44
There is a known issue with high-bitrate Atmos tracks that I haven't gotten around to addressing quite yet. Hopefully soon.
SamuriHL
22nd August 2023, 23:49
That would be awesome.
ashlar42
23rd August 2023, 01:17
There is a known issue with high-bitrate Atmos tracks that I haven't gotten around to addressing quite yet. Hopefully soon.
Thanks for your reply. Much appreciated.
ashlar42
23rd August 2023, 14:39
There is a known issue with high-bitrate Atmos tracks that I haven't gotten around to addressing quite yet. Hopefully soon.
Just to be sure that we are talking about the same issue:
My problem does not lead to any audio dropouts. Audio is perfect, it's just frames that are getting dropped or repeated in madVR.
htnut
26th August 2023, 07:00
There is a known issue with high-bitrate Atmos tracks that I haven't gotten around to addressing quite yet. Hopefully soon.
When this issue is solved do you think it may solve the DirectSound bitstreaming audio dropouts w/ momentary video glitch that I reported on the JRiver forum?
nevcairiel
26th August 2023, 08:18
No. Not every issue is related.
ashlar42
26th August 2023, 16:23
No. Not every issue is related.
Hi! Could you let me know if the issue I reported is the one you mentioned as being likely solvable through LAV Filters? From your wording I am not sure I understood things correctly. Sorry...
I am experiencing dropped/repeated frames in madVR but no audio dropouts or anything. Audio remains perfect throughout playback.
pcamino
30th August 2023, 06:38
Hi all, new to the forum and new to this in general. I was curious as to if LAV filters are able to handle and decode 4ch audio video files within Windows and what is needed to playback those types of files if I have my audio card in windows set to "quadraphonic" I'm trying to replicate a video player like Playback pro, where if I put a Mac OS in quadraphonic. then it can actually read all 4channels of the video files and send them discretely to the quadraphonic outputs of my audio interface. I coudn't find any settings within the LAV filter GUI to make it work. Though i'm not sure if the player software may need some tweaking as well.
tebasuna51
30th August 2023, 13:04
Hi all, new to the forum and new to this in general.
Welcome to the Doom9 forum.
I was curious as to if LAV filters are able to handle and decode 4ch audio video files within Windows...
No problem, in Windows I can recommend you software players (https://forum.doom9.org/forumdisplay.php?f=15) like MPC-HC (https://forum.doom9.org/showthread.php?t=175209) or BE (https://forum.doom9.org/showthread.php?t=165890) with LAV filters included. Also VLC (https://www.videolan.org/) can be used.
Balling
30th August 2023, 19:17
There is a known issue with high-bitrate Atmos tracks that I haven't gotten around to addressing quite yet. Hopefully soon.
Samples?
ashlar42
30th August 2023, 23:16
Samples?
The new Avatar remuxed, for instance. But it's not just that... even the old Avatar in UHD suffers from the same problem.
ashlar42
31st August 2023, 22:16
Just wanted to add that with mpc-be, using internal filters (hence not LAV), frames are not repeated/dropped with madVR. With the Atmos titles, I mean.
Balling
1st September 2023, 16:56
The new Avatar remuxed, for instance. But it's not just that... even the old Avatar in UHD suffers from the same problem.
Can you give a file? I will test on my LG C9. Because all other genius players are hardly reference.
ashlar42
1st September 2023, 22:06
Can you give a file? I will test on my LG C9. Because all other genius players are hardly reference.
Not sure what copyright limitations allow me to do. If a small segment would be ok, how small, etc.
Balling
1st September 2023, 22:11
Not sure what copyright limitations allow me to do. If a small segment would be ok, how small, etc.
Small that allows to reproduce falls under the fair use.
pcamino
7th September 2023, 05:01
Welcome to the Doom9 forum.
No problem, in Windows I can recommend you software players (https://forum.doom9.org/forumdisplay.php?f=15) like MPC-HC (https://forum.doom9.org/showthread.php?t=175209) or BE (https://forum.doom9.org/showthread.php?t=165890) with LAV filters included. Also VLC (https://www.videolan.org/) can be used.
Thanks @tebasuna51, but wanted to build custom software to use as a player, just need to figure out code to be able to do the 4ch decode thing.
tebasuna51
7th September 2023, 10:27
... but wanted to build custom software to use as a player, just need to figure out code to be able to do the 4ch decode thing.
You can use the LAV filters, after solved some problems/bugs in past year (https://forum.doom9.org/showthread.php?p=1967419#post1967419), can decode and output correct multichannel audio with any kind of channel configuration.
Before that the LAV filters apply a default :
{4, SPEAKER_FRONT_LEFT|SPEAKER_FRONT_RIGHT|SPEAKER_FRONT_CENTER|SPEAKER_LOW_FREQUENCY},
always for 4 channels, now preserve the channel mask from the source and can output quadraphonic audio (FL,FR,SL,SR) to your player.
nevcairiel
7th September 2023, 11:41
There is a known issue with high-bitrate Atmos tracks that I haven't gotten around to addressing quite yet. Hopefully soon.
I've applied a fix for this, give the latest test build a try from here:
https://files.1f0.de/lavf/nightly/LAVFilters-0.77.2-3.exe
htnut
9th September 2023, 07:40
I've applied a fix for this, give the latest test build a try from here:
https://files.1f0.de/lavf/nightly/LAVFilters-0.77.2-3.exe
Will the associated fix be included in a JRiver MC31 build?
ashlar42
11th September 2023, 00:24
I've applied a fix for this, give the latest test build a try from here:
https://files.1f0.de/lavf/nightly/LAVFilters-0.77.2-3.exe
Preliminary results seem good. Probably better than MPC-BE Audio filter that I was using "ad interim".
Avatar The Way of Water remux played for one and a half hour without drops/repeats. This is far, far better than before. I left the movie playing and after another 30 minutes or so I found 3 frames dropped (or repeated, I don't remember). In the next few days I will experiment some more to see whether that can be replicated or if it was a one-off glitch (I try to keep my HTPC Windows 10 install lean but it's not *completely* dedicated).
Refresh rate should not be the culprit, as that indicates frames dropped/repeated after a couple of days.
In any case this is a clear step forward, of this I'm sure. Thanks a lot.
I actually would like to know if there's a way in madVR to activate a log, in order to have a reference to when, during playback, frames have been dropped/repeated. I like Avatar but I can't watch it ten times... :D
huhn
13th September 2023, 01:59
debug tracks pretty much everything.
they are very hard to read and have an absolute insane size.
v0lt
19th September 2023, 07:46
@nevcairiel
Please update FFmpeg. The developers recently eliminated a very unpleasant noise when playing APE 24-bit files (https://github.com/FFmpeg/FFmpeg/commit/80ad0e2198df4e2961928d8304da58df6db77ec4).
nevcairiel
19th September 2023, 12:26
I plan on updating it soon.
Balling
22nd September 2023, 21:33
@nevcairiel
Please update FFmpeg. The developers recently eliminated a very unpleasant noise when playing APE 24-bit files (https://github.com/FFmpeg/FFmpeg/commit/80ad0e2198df4e2961928d8304da58df6db77ec4).
Partially eliminated. https://trac.ffmpeg.org/ticket/10323
lvqcl
30th September 2023, 09:20
LAVFilters-0.77.2-7.exe wasn't built/uploaded properly? Its size is 624K.
Siso
30th September 2023, 12:18
LAVFilters-0.77.2-7.exe wasn't built/uploaded properly? Its size is 624K.
+ 1. Can't install it.
nevcairiel
30th September 2023, 15:15
Seems like there was a network error, I've restarted the latest nightly.
Siso
30th September 2023, 15:36
Seems like there was a network error, I've restarted the latest nightly.
Thank you, nev. It works now.
Mercury_22
30th September 2023, 20:54
D3D11 is crashing with the latest build LAVFilters-0.77.2-7 (DXVA2 it's working though)
Intel Graphics Driver 31.0.101.4826
Spunkmeyer
30th September 2023, 21:15
Same on AMD, reverted to 0.77.2-3.
Siso
30th September 2023, 21:39
It crashes for me too with dxva cp.
nevcairiel
30th September 2023, 21:55
That should be fixed in the next build. Its still rather work-in-progress, so any testing is appreciated.
clsid
1st October 2023, 01:26
Can you also build a new mingw gcc toolchain pack?
Thanks
ryrynz
1st October 2023, 06:08
072.1.8 working fine here with DXVA, .7 previously crashed for me. Thanks.
Siso
1st October 2023, 13:03
Works fine for me.
clsid
5th October 2023, 12:14
dav1d 1.3.0 has been released
Siso
9th October 2023, 08:56
There is again problem with LAVFilters-0.77.2-16. The exe is corrupted. 3.9M only.
ryrynz
10th October 2023, 09:41
There is again problem with LAVFilters-0.77.2-16. The exe is corrupted. 3.9M only.
I think your connection might've timed out. I'm experiencing download speeds slower than what I'd get at home if I went back to 1995 :)
It timed out but I resumed and installed it okay. That server needs a rest.
clsid
13th October 2023, 23:47
Crash:
https://drdump.com/DumpGroup.aspx?DumpGroupID=2481628
Could this not be handled more gracefully by just returning error value instead of doing a hard abort?
The dump does not contain much useful information due to being in GCC compiled code. All I know it was MP4 container.
And another old one that happens a lot:
https://drdump.com/Problem.aspx?ProblemID=743788
https://drdump.com/Problem.aspx?ProblemID=887238
On the very rare occasion that I get a sample file, I can not reproduce any issues. So maybe due to driver TDRs or running out of GPU mem.
nevcairiel
14th October 2023, 00:53
The crash dumps are not public. Also, good fixes require user reports and samples. Thats why automatic crash reporting is rather lacking.
And no, you cannot "handle" crashes.
clsid
14th October 2023, 01:24
The first one "crashes" due to calling abort() in av_assert0(). Why not return an AVERROR value and stop decoding?
https://imgur.com/a/4q1dPpl
nevcairiel
14th October 2023, 01:45
asserts check conditions that are impossible, unless a decoder has a bug in its behavior. This is unrelated to the validity of the input.
Either way, I can't download the crash dump, I have no sample, or any information what decoder it even might be.
clsid
22nd October 2023, 13:29
Regression with MPEG-2 decoding. Playback is choppy due to unstable framerate.
Sample (https://www.sendspace.com/file/i7bq16)
nevcairiel
24th October 2023, 12:07
This should be fixed in the latest code.
clsid
24th October 2023, 18:22
Confirmed. Thanks.
nevcairiel
25th October 2023, 12:46
LAV Filters 0.78
LAV Splitter
- NEW: Added identification of DTS:X in DTS HD-HRA streams
- NEW: Support for various stream flags in Matroska containers (Hearing Impaired, and more)
- Changed: Text-based subtitle selection now uses case-insensitive matches (ASCII characters only)
- Fixed: Many stream titles in MP4 files weren't being read properly
LAV Video
- NEW: Support for decoding SMC video
- Fixed: HLG video streams could have their HLG flag overriden in some circumstances
LAV Audio
- Fixed: TrueHD bitstreaming of Atmos tracks could cause output timestamps to be off, confusing some audio renderers
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.78.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.78.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.78-x64.zip)
The biggest change in this version is updating FFmpeg again after a long while, which included quite a few API changes that needed to be adapted to. Hopefully I got them all!
Its been a while since the last release, so updating FFmpeg, dav1d, and all other libraries was overdue.
As always, report issues and regressions, in as much detail as possible.
Sunspark
28th October 2023, 20:48
Not an issue, just something I'm wondering about from a technical perspective.
When MadVR is in D3D9 overlay renderer mode the following observations can be made.
CPU usage is the same between D3D11-Native/Automatic and DXVA2-Native.
GPU usage as measured with GPU-Z, if in DXVA2-native, the GPU load is higher compared to D3D11-native (41% vs 29% on this system).
I know for D3D9 overlay MadVR is emulating the monitor profile in 16-bit so the extra work makes sense there. Except, why wouldn't the same thing also be happening with D3D11-native decoding? It just seems like a big difference and it doesn't make sense on the surface. Why wouldn't both be the same?
DXVA2-copyback presents as 26% GPU load, lower than native in exchange for just a little bit more CPU usage which makes sense because of the increased bus traffic.
I just find it strange that copyback has the lowest GPU usage compared to native. Is this just the way the renderer works, or is it due to differences in the decoding process?
Also strange, as an experiment I set decoding to none and observed. GPU usage was the same as copy-back but CPU usage was higher. Also confusing, you'd think the GPU usage would be lower if the igpu wasn't doing the decoding..
Just curious how to make sense of these numbers. Thanks!
q1) Why does d3d9-copy-back have lower GPU load compared to d3d11-native?
q2) Why does dxva2-native have higher GPU load compared to d3d11-native?
q3) Why does none for decoding have the same GPU load as copy-back instead of lower?
Asmodian
28th October 2023, 22:47
Are you monitoring the GPU's power state (clock speed)? My GPU often stays in its lowest power state with light loads, so increasing the load slightly can cause % load to go down a lot as it clocks higher.
Sunspark
29th October 2023, 00:42
I've always had the thing set to max performance which locks it at a clock of 900 MHz and as the cpu/igpu heats up, the clock will start sawtoothing, but it doesn't dip that much when it does. So basically, it will drop, but never rises because I always have it at the top.
clsid
29th October 2023, 00:55
Create empty ShowRenderSteps folder to let Madvr show details about what is it doing.
D3D11 is actually probably running in copyback mode since you are using D3D9 presentation.
Madvr may do its own internal copyback when using DXVA2 Native, and that is less optimized than what LAV does.
Sunspark
29th October 2023, 05:01
Possible regression, unless support never was present for the DivX 5 series? I have some old XVID AVIs that I just noticed as being decoded in avcodec format.
- Connection media type:
Video: Xvid 640x480 23.976fps 759kbps
AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {44495658-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo {05589F80-C356-11CE-BF01-00AA0055595A}
bFixedSizeSamples: 0
bTemporalCompression: 1
lSampleSize: 1
cbFormat: 148
VIDEOINFOHEADER:
rcSource: (0,0)-(640,480)
rcTarget: (0,0)-(640,480)
dwBitRate: 759807
dwBitErrorRate: 0
AvgTimePerFrame: 417084
BITMAPINFOHEADER:
biSize: 100
biWidth: 640
biHeight: 480
biPlanes: 1
biBitCount: 12
biCompression: XVID
biSizeImage: 460800
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0
pbFormat:
0000: 00 00 00 00 00 00 00 00 80 02 00 00 e0 01 00 00 ........€...Ã*...
0010: 00 00 00 00 00 00 00 00 80 02 00 00 e0 01 00 00 ........€...Ã*...
0020: ff 97 0b 00 00 00 00 00 3c 5d 06 00 00 00 00 00 ÿ—......<]......
0030: 64 00 00 00 80 02 00 00 e0 01 00 00 01 00 0c 00 d...€...Ã*.......
0040: 58 56 49 44 00 08 07 00 00 00 00 00 00 00 00 00 XVID............
0050: 00 00 00 00 00 00 00 00|00 00 01 b0 f5 00 00 01 ...........°õ...
0060: b5 09 00 00 01 00 00 00 01 20 08 86 87 ff ff 0a µ........ .Ââ€*‡ÿÿ.
0070: ad 8a 02 1e 0a 31 00 00 01 b2 44 69 76 58 35 30 Â*ÂÅ*...1...²DivX50
0080: 33 62 31 33 39 33 70 00 00 01 b2 58 76 69 44 30 3b1393p...²XviD0
0090: 30 34 33 43 043C
lvqcl
29th October 2023, 10:45
Possible regression, unless support never was present for the DivX 5 series? I have some old XVID AVIs that I just noticed as being decoded in avcodec format.
And why didn't you mention your settings?
clsid
29th October 2023, 14:33
Hardware decoding of MPEG4 is for CUVID only. Plus it is completely utterly pointless and retarded to use it for such "easy" to decode format.
If it fails to decode then you need to provide a sample.
Sunspark
29th October 2023, 19:57
@lvqcl: What settings? It is like this with all the drop-down decoder selections. BE's decoder doesn't do it either nor does MPV.
@clsid: CUVID only? I thought I did have hardware decoding with Microsoft's Film & TV player.. GPU load with that one fullscreened is 2%, with LAV/MPC-HC combo it's 15%. VLC does it at 5%. BE/MPC-BE (with EVR-CP) does it at 9%. MPV (which says in the HUD no hardware decoding available) does it at 3%. Looking at the MPV number, my thought that MS might have it may not be correct. Update: Changed HC's renderer to EVR-CP to compare, # dropped to 12%.
I want to be clear, I am not fretting over a few percentage points on an ancient codec. I am merely reporting a possible regression if it did have support at one time since divx3 and mpeg-4 part 2 are checkboxes in the decoder's list. Assuming it did not, then it's pretty interesting to see how different some players are at processing it since the range is from 2% to 15%.
I dug up a random sample on the web (some school talk in czech) that used the same codec version number, https://is.muni.cz/do/rect/el/nastroje/dril/dril_low.avi
lvqcl
29th October 2023, 20:59
@lvqcl: What settings? It is like this with all the drop-down decoder selections.
MPEG-4 checkbox is disabled for any decoder except "NVIDIA CUVID (old)". That is assuming that you have NVIDIA videocard. If you don't have it then maybe it's always disabled.
I am merely reporting a possible regression if it did have support at one time since divx3 and mpeg-4 part 2 are checkboxes in the decoder's list.
The checkboxes are there because LAV Video filter can decode them. By a software decoder.
Assuming it did not, then it's pretty interesting to see how different some players are at processing it since the range is from 2% to 15%.
Different upscaling algorithms, maybe?
j7n
6th November 2023, 05:41
Seems like FFMPEG have switched to the duration estimation for DTS elementary streams by the target rate instead of the frame size (actual bitrate). A stream from a DTS-CD with a bitrate of 1234.8 kbit/s and an indicated target bitrate of 1411.2 is found to be of a shorter duration in current media players based on FFMPEG (Media Player Classic Homecinema, Foobar). They play correctly past the end. The closest bitrate steps are 1152 and 1280, whereas the frame size can vary in 1 byte increments and is more precise.
max79
6th November 2023, 18:48
@nevcairiel
Hi, when using LAV Source to open "http://sochinskayatrk.ru/hdtv/hls/strc_hd/playlist.m3u8", it doesn't return any duration or duration change events (EC_LENGTH_CHANGED), preventing seeking from working properly. This problem doesn't happen with the latest version of VLC which allows you to seek within the stream.
The graph is simple, LAV Source -> LAV Audio/Video Decoders -> Audio/Video Renderers (Default DirectSound Device/EVR).
I would be happy if you could take a look at it and let me know if it can be fixed.
j7n
8th November 2023, 05:39
DTS with Open bitrate don't have any time duration displayed and can't be seeked. They come off a CD in that form in some cases. Since there are no standard DTS streams in the wild with variable bitrate, they can assume CBR and calculate the duration. The frame size is sometimes wrong, but they can already work around it by searching the next sync word since such files now play.
http://j7n.sytes.net/temp/dtssample/
Blight
10th November 2023, 10:24
Nev,
Any idea about returning duration for "http://sochinskayatrk.ru/hdtv/hls/strc_hd/playlist.m3u8"?
I tested it myself and it just returns 0 all the time.
mclingo
18th November 2023, 18:43
Hi, i'm just testing a windows 11 build for my HTPC and i'm having a bit of a blonde moment, I cant get any ATMOS height unless I use passthrough, is ATMOS not available when passthrough is not enabled, tried MPC-HC with LAV filters, only works with passthrough, tried POT player, only works with passthru enable also, I though you could get atmos heights using PCM without passthru, if so how?
mclingo
18th November 2023, 18:44
reason I prefer PCM over passthrough is I prefer to have volume control in in my player as my receiver is very slow to change volume.
Manni
18th November 2023, 20:01
Hi, i'm just testing a windows 11 build for my HTPC and i'm having a bit of a blonde moment, I cant get any ATMOS height unless I use passthrough, is ATMOS not available when passthrough is not enabled, tried MPC-HC with LAV filters, only works with passthrough, tried POT player, only works with passthru enable also, I though you could get atmos heights using PCM without passthru, if so how?
You can't get Atmos or DTS:X (or Auro-3D) without passthrough. The immersive layer is stripped out with LPCM.
mclingo
18th November 2023, 21:35
cheers
tebasuna51
19th November 2023, 12:29
You can't get Atmos or DTS:X (or Auro-3D) without passthrough. The immersive layer is stripped out with LPCM.
It is correct, but I like do some comments (I talk about MPC-HC test):
1) We haven't a free Atmos (or DTS:X) decoder included in LAV Filters.
Maybe can be added the Cavernize free EAC3 Atmos decoder (https://forum.doom9.org/showthread.php?t=184364) and, based in the speaker configuration (not only ...5.1, 7.1 but also 5.1.2, etc.), decoded to PCM with the correct channel mask.
2) But also with a wav with the correct channel mask preserved (solved now in LAV Filters) my Denon VCR 8 channels configured like FL FR FC LF SL SR TFL TFR can't play that wav correctly: the TFL TFR channels are played also in the SL SR speakers.
It is a problem of my Denon VCR or with the HDMI PCM protocol?
If I encode that wav to EAC3 (L R C LFE Ls Rs Vhl Vhr) and send it passthrough is played correctly (of course also the original Atmos)
nevcairiel
19th November 2023, 12:58
Most HDMI devices ignore any custom channel masks. Unclear if this is the GPU drivers fault or the receiver device, or even some kind of HDMI limitation. But in my experience they only really support one configuration per channel count.
And I don't believe more then 8 channel are supported, which might be a GPU limitation, as HDMI 2 should support more, although its not clear to me if that support extends to uncompressed PCM.
andybkma
19th November 2023, 14:56
W10, mpc-be 1.6.10 & PotPlayer 231102, LAV Filters .78 D3D11, MPC Video Renderer 0.6.9.2117
LAV Splitter, LAV HEVC Decoder & LAV Audio decoder all selected in MPC-BE & PotPlayer
Hi nev, I noticed tonight that when using LAV Filters for HEVC HDR video decoding with PotPlayer & MPC-BE with MPC Video Renderer and W10 OS HDR already turned on before an HDR video is played, that when starting that HDR video that my HDR-capable screen goes through a series of flashes. The flashing it seems is that something is causing the HDR to turn off (even though it was already on and supposed to stay on), then being turned on again after being turned off then finally the video plays as it should with HDR being turned on again. So basically W10 HDR is already on, start the HDR video, W10 HDR is automatically being turned off for some strange reason, then automatically being turned on again... a whole bunch of flashes.
So you're asking what does this have to do with LAV? Well, when I select the "internal" HEVC decoders in both MPC-BE and PotPlayer then all the above doesn't happen. It's only when I select LAV as the HEVC decoder with MPC Video Renderer then all the HDR screen off-on flashing happens. If I use madVR then the flashing doesn't happen either. It's the combination of LAV Video Decoder with MPC Video Renderer. Somehow it's when these two are being used together that the video players can't tell that W10 HDR is already turned on so it turns it off then on again automatically causing all the bizarre flashing...
clsid
19th November 2023, 17:51
Change the "Auto Display HDR on/off" setting in MPCVR.
j7n
19th November 2023, 23:20
Why does the Normalize matrix checkbox has no effect (always quiet) if 32-bit floating point output is unchecked? I kept it off becaue my sound card doesn't accept it. The volume should already be adjusted before leaving the player.
DVD rate DTS also runs short because of a discrepancy between 1509 and 1536. And to seek it reads the entire stream now, which is really slow. "Black Edition" with clasic DTSAC3Source.ax still works as pre-1.7 Homecinema.
https://i.imgur.com/Oq9jD36.png
nevcairiel
20th November 2023, 00:58
Put your audio files into a container, raw is useless for anything but temporary storage during muxing. Its not a format I'm going to spend much effort on, especially for whats likely an upstream issue.
j7n
20th November 2023, 05:04
It is fair to say that it's an upstream issue. I don't really know the etiquette for posting on Trac.
nevcairiel
20th November 2023, 09:37
Reproduce the issue with ffmpeg or ffprobe command-line tools, and post your findings with all the details. A sample file goes a long way too. Not much else to it.
tebasuna51
20th November 2023, 11:49
Most HDMI devices ignore any custom channel masks. Unclear if this is the GPU drivers fault or the receiver device, or even some kind of HDMI limitation.
Thanks for the answer, even if we don't know the solution.
Of course if receivers, with 8 channels, can't support the most simple Atmos decode 3D (5.1.2) include the decoder in the software player is useless.
Sunspark
20th November 2023, 18:01
Forgive my ignorance on the atmos subject, but one thing that has always puzzled me about it, when I used this netflix browser extension awhile ago https://github.com/lkmvip/netflix-4K-DDplus I was able to get playable audio that was labelled as atmos over 3.5mm. I don't understand this because I have seen it said many times that you need a physical receiver for this purpose. Does this mean the extension was software-decoding and transcoding it? Or is it just that Win10&Edge over a certain version is treated as a receiver due to DRM being present and so it worked?
nevcairiel
21st November 2023, 00:44
Labeled as Atmos where? In Netflix? Any Atmos audio has a base layer, on Blu-rays its TrueHD, on Netflix its DD+, and without bitstreaming that base layer just gets decoded, and the Atmos data ignored.
andybkma
21st November 2023, 03:43
Change the "Auto Display HDR on/off" setting in MPCVR.
Thanks for your reply and yes changing that MPC VR selection to Not Used stops all the HDR on-off-on flashing but I am confused as to why with the "external" LAV Filter decoder & MPC VR and that option set to Always it is causing the HDR off-on flashing while it doesn't happen when selecting the internal decoder.
And then with madVR and using the "external" LAV Filter the flashing also doesn't happen (while it happens with MPC VR) so wouldn't this show an underlying problem (conflict) between MPC VR and "external" LAV?
Thanks :-)
huhn
21st November 2023, 05:41
Thanks for the answer, even if we don't know the solution.
Of course if receivers, with 8 channels, can't support the most simple Atmos decode 3D (5.1.2) include the decoder in the software player is useless.
still should be useful for HRTF. but that so niche i wouldn't hold my breath.
atmos is usually also calibrated so sending the output without the calibration is not really worth it.
multi soundcard with room correction would make use of decoded atmos but even HRTF will be common compared to a setup like this.
Balling
21st November 2023, 16:27
Forgive my ignorance on the atmos subject, but one thing that has always puzzled me about it, when I used this netflix browser extension awhile ago https://github.com/lkmvip/netflix-4K-DDplus I was able to get playable audio that was labelled as atmos over 3.5mm. I don't understand this because I have seen it said many times that you need a physical receiver for this purpose. Does this mean the extension was software-decoding and transcoding it? Or is it just that Win10&Edge over a certain version is treated as a receiver due to DRM being present and so it worked?
Atmos for Headphones can be bought in Dolby Access. It decodes Atmos into binaural stereo stream.
clsid
21st November 2023, 17:42
Thanks for your reply and yes changing that MPC VR selection to Not Used stops all the HDR on-off-on flashing but I am confused as to why with the "external" LAV Filter decoder & MPC VR and that option set to Always it is causing the HDR off-on flashing while it doesn't happen when selecting the internal decoder.
And then with madVR and using the "external" LAV Filter the flashing also doesn't happen (while it happens with MPC VR) so wouldn't this show an underlying problem (conflict) between MPC VR and "external" LAV?
Madvr never turns off Windows HDR.
My guess is that the HDR metadata is missing on the initial connection between LAV and MPCVR, making the renderer think that it is getting SDR. Then the metadata comes along later with the video frames.
You need to provide a sample file to reproduce.
j7n
21st November 2023, 21:18
Is there a DirectShow video player than can hook into Dolby Headphone DLL like Foobar can to create a binaural mix out of 5.1? I think Atmos is mostly hype unless you make a studio with 11 speakers. With all the hate Dolby gets, they did good providing a perfect 5.1 in their E-AC-3.
huhn
23rd November 2023, 10:40
even ffdshow has multiply ways to do 5.1 using hrtf.
there is alot hrtf stuff for up to 8 channels.
i also had have a asus essence stx (not in a pc anymore) which could do that to every source. the dolby solution was quite buggy and liked to clip so you had to make sure that the sound card never got 100 % volume.
there was a software with a lot of hrtf option from razer and so on dolby headphone was also part of it but i can not find it. in the end you don't hook in it you just throw x channels at it and it does the rest no need for directshow.
ffmpeg has this pretty sure it had 2 hrtf version at one time but not like i follow this. https://ffmpeg.org/ffmpeg-all.html#headphone
3D audio is not hype at all and pretty old games do it for a very long time. a game with hrtf and without is day night difference in audio positioning.
in the end atmos is just a "container"/format or what ever the term is with meta data and price tag the quality depends on the people mastering it. so why do they get hate? did i miss something?
j7n
24th November 2023, 03:48
Mostly because of licensing fees Dolby charges to both produce and use the format, and expensive consumer products with dubious claims (soundbars). You can find rants about Atmos online. Surround and binaural can be done with existing free formats. I do recognize the value of HRTF hence my query.
Most simple crossfeeds color the sound. Dolby solution seems comparatively neutral to me, and uses near zero CPU in Foobar because it is so old. It does bloat the bass like you played a woofer in a bathroom and muffles the top end a little. Other products often feel like a brick wall filter. The clipping was an issue with the connection. It is 24-bit and can be fed audio at any level, unless the dev refuses to create a volume slider (cough). There is no reason to tie it to Asus or Razer if it is just a software dsp.
I have since found ToneBoosters IsoneSurround, which is sounds different but also good. Wider and with less rolling off of the highs. Being a VST, it can be patched into existing software with ASIO sends to Reaper.
I will stop with the off-topic.
Damien147
23rd December 2023, 17:08
To those with AMD GPU who watch 4k movies and use D3D11 for decoding.I get an amd driver crash sometimes while watching a 4k movie and I need system restart.Are things stable for you while you watch a 4k movie?
Damien147
28th December 2023, 14:35
Nevermind.Older adrenalin driver stopped the crashes.
magic144
3rd January 2024, 14:59
can't find an an answer to this after several searches:
in the LAV Video Decoder properties page, if choosing a Hardware Device for DXVA2/D3D11 copy-back, my (in this case NVIDIA GeForce RTX 2060) card is listed twice
is there any reason for the duplicate? is there any difference between the two entries?
thanks
clsid
3rd January 2024, 17:11
The way that enumeration works in Windows API is through displays. So if you have two displays, the GPU will be listed twice. There is no difference. But you can't just filter out duplicates, since it is technically possible to have two distinct identical GPUs in a system.
And on laptops with switchable graphics, you may only see the GPU that is currently active. Tip: you can configure a preferred GPU per app in Windows 10/11 display settings in this case.
magic144
3rd January 2024, 17:59
hmm, ok thanks
I only have 1 display connected though? unless it's some vestige of a previous display still held by the system somehow/somewhere? is there anything I can check to uncover the source of the duplicate?
EDIT: perhaps it's related to Citrix?
my System Info lists a "Citrix Indirect Display Adapter"
Sunspark
6th January 2024, 11:37
Wow, I just ran into an issue.. for the first time, I have encountered a video that reports a fps of 47.952 (2x 23.976). What is truly awful about this is that you can hit play from any point in it, the subs and video are in sync with the audio, and then as it plays, the video drifts out of sync more and more (though the subs stay synced with the audio). The only way to fix it is to hit stop and then play again and it is back in sync. I do have Auto A/V sync turned on in LAV and tried disabling it just now, I think it helped but not completely sure.
Is this a bug or a different issue?
Klaus1189
6th January 2024, 19:11
Can you upload the file somewhere? Cutting out a small part with MKVToolNix would perhaps fix the file and produce a file with other specs.
Sunspark
6th January 2024, 23:43
Can you upload the file somewhere? Cutting out a small part with MKVToolNix would perhaps fix the file and produce a file with other specs.
Ok, I snipped out the first 10 seconds, though this won't be long enough to notice the audio drifting out of sync with the video. MKVToolNix didn't change the specs.
10 second snip of 47.952 file (https://dl.dropboxusercontent.com/scl/fi/so16n5406jirjxkq20x4q/47.952-issue-sample.mkv?rlkey=fuqdclfajunooecl4nyerf4iu&dl=0)
This is odd.. MadVR says 47.952.. looking at it in the EVR-CP HUD says Frame rate: 23.shifting numbers ( 20.854 ms = 47.952, P).. VLC also says 23.976 in the statistics screen. MPV statistics say 23.976 FPS.. so, am I looking at a MadVR bug here? Except it should be 41.71 ms for 23.976 and the EVR-CP HUD said 20.854 ms.. so that's a clue of some sort.. I will add to this, I grabbed the file again from a different encoder and the EVR-CP HUD reports 23.### (41.708 ms = 23.976, P).
41.708/2 = 20.854.. so ???
SeeMoreDigital
7th January 2024, 11:24
Ok, I snipped out the first 10 seconds, though this won't be long enough to notice the audio drifting out of sync with the video. MKVToolNix didn't change the specs.
Hmmm...
Sounds like some VFR encoding related nonsense. When you created the encode did you remember to select 'constant frame rate' encoding?
Sunspark
7th January 2024, 22:11
I didn't create it, the NHTFS group did.
Balling
12th January 2024, 20:24
Ok, I snipped out the first 10 seconds, though this won't be long enough to notice the audio drifting out of sync with the video. MKVToolNix didn't change the specs.
10 second snip of 47.952 file (https://dl.dropboxusercontent.com/scl/fi/so16n5406jirjxkq20x4q/47.952-issue-sample.mkv?rlkey=fuqdclfajunooecl4nyerf4iu&dl=0)
This is odd.. MadVR says 47.952.. looking at it in the EVR-CP HUD says Frame rate: 23.shifting numbers ( 20.854 ms = 47.952, P).. VLC also says 23.976 in the statistics screen. MPV statistics say 23.976 FPS.. so, am I looking at a MadVR bug here? Except it should be 41.71 ms for 23.976 and the EVR-CP HUD said 20.854 ms.. so that's a clue of some sort.. I will add to this, I grabbed the file again from a different encoder and the EVR-CP HUD reports 23.### (41.708 ms = 23.976, P).
41.708/2 = 20.854.. so ???
That file says in Mediainfo that its Original framerate is 47.952, i.e. 48/1.001 (47.95204795204795).
The issue is because it has a wrong fps in first frame. Alas
ffmpeg.exe -an -i "47.952 issue sample.mkv" -c copy -bsf trace_headers -f null -
[trace_headers @ 000001de1f985740] 163 num_units_in_tick 00000000100111110001101011001011 = 10427083
[trace_headers @ 000001de1f985740] 195 time_scale 00111011100110101100101000000000 = 100000000
SeeMoreDigital
12th January 2024, 20:38
I didn't create it, the NHTFS group did.
Who are these people?
Sunspark
14th January 2024, 01:41
Who are these people?
Some scenesters.
Update, sorry guys, it's not the decoder.. should have done this first, but just now I tried "None" as the decoding method, and it didn't change anything.. so that means MadVR as a video renderer is permanently buggy with whatever this type of encoding has done.
Other renderers like MPCVR while it can see the ms times aren't quite right, it does report a framerate of 23.976 as do other renderers. Oh well, hopefully whatever this problem is doesn't spread because it'll always have audio drift under default settings. This is not a 47.952 native framerate, unless Apple is doubling it and then releasing it like that, which I doubt.
Balling
19th January 2024, 22:48
roblem is doesn't spread because it'll always have audio drift under default settings. This is not a 47.952 native framerate, unless Apple is doubling it and then releasing it like that, which I doubt.
48 fps is a thing. Even youtube supports that.
Sunspark
20th January 2024, 06:52
Nope. It's an encoder screw-up.
Actual HFR content is really rare, this is a list of movies: https://en.wikipedia.org/wiki/List_of_films_with_high_frame_rates
No TV shows that I am aware of.
SeeMoreDigital
20th January 2024, 13:22
48 fps is a thing. Even youtube supports that.
Native 48.000fps was a thing in cinemas around ten years ago (ie: The Hobbit movie). However, 48.000fps wasn't able to make any headway in home media due to 48.000Hz not being supported within the HDMI specification.
Maybe that's changed now. I would certainly like to see native 48.000fps content displayed at 48.000Hz, instead of being re-flagged and displayed at 60.000Hz.
As for capturing content at native 60.000fps or higher (ie: Gemini Man) and displaying it at 60.000Hz (59.940Hz), I haven't been that impressed. It just looks weird to my eyes/brain...
Balling
22nd January 2024, 00:18
Native 48.000fps was a thing in cinemas around ten years ago (ie: The Hobbit movie). However, 48.000fps wasn't able to make any headway in home media due to 48.000Hz not being supported within the HDMI specification.
Maybe that's changed now. I would certainly like to see native 48.000fps content displayed at 48.000Hz, instead of being re-flagged and displayed at 60.000Hz.
As for capturing content at native 60.000fps or higher (ie: Gemini Man) and displaying it at 60.000Hz (59.940Hz), I haven't been that impressed. It just looks weird to my eyes/brain...
Well, my Galaxy s22 Ultra with VRR supports 10 fps, 24, 30, 48, 60, 96, 120
EDID can in detailed timing describe any rate you want. VRR of HDMI 2.1 and others support all rates, whatsover.
FranceBB
23rd January 2024, 14:26
Native 48.000fps was a thing in cinemas around ten years ago (ie: The Hobbit movie).
Avatar too, when I saw the second one at the theatre it made me remember that 4D 48fps was actually a thing... :)
As for capturing content at native 60.000fps or higher (ie: Gemini Man) and displaying it at 60.000Hz (59.940Hz), I haven't been that impressed. It just looks weird to my eyes/brain...
It feels weird at first 'cause we're not really expecting that level of smoothness, but after a few minutes I didn't mind. And let's face it, 90% of the population leaves true-motion or whatever the vendor of their TV calls linear interpolation / optical flow on, so they're used to seeing "high frame rate" contents all the time, but at least with actual 60p contents they won't see interpolation artifacts eheheheheh
SeeMoreDigital
23rd January 2024, 14:57
Perhaps in the future some media streaming services might offer us some native 48.000fps/48.000Hz content for displaying on supporting TV's.
Sadly we're never going to have native 48.000fps/48.000Hz content on 4K UHD discs, not that our 4K UHD disc spinners are capable of supporting it anyway!
flossy_cake
26th January 2024, 17:38
This is odd.. MadVR says 47.952.. looking at it in the EVR-CP HUD says Frame rate: 23.shifting numbers ( 20.854 ms = 47.952, P).. VLC also says 23.976 in the statistics screen. MPV statistics say 23.976 FPS.. so, am I looking at a MadVR bug here?
MadVR's OSD framerate value is completely untrustworthy for anything with a variable framerate. The only way I've been able to determine if a file is truly variable frame rate or not is to switch to MPC-HC's own video renderer, turn on its OSD and watch its reported fps value fluctuate in real time. If it fluctuates then I know it's a VFR file.
On a separate note I was just looking into HRTF for headphone usage (I saw you guys were discussing this on the previous page) and would really like that feature. In fact I was just Googling it now and it lead me to this thread.
I saw MPC-HC's Audio Renderer and also the Sane Audio Renderer both have a somewhat vaguely related feature called "crossfeed" which kind of shifts the stereo imaging forward to try and simulate the soundstage of having a pair of stereo speakers infront of you rather than having left and right channels piped directly into your ear, but I don't think it's the same thing as HRTF, and the effect is quite subtle (although I definitely can notice it, and kind of like it for headphone use).
In any case if LAV could wire in ffmpeg/libav's HRTF feature if it exists, that would be fantastic. If you've heard the barber shop demo track with a good pair of phones you'll know how convincing it can potentially be.
PirateIce
13th February 2024, 07:41
Hello, the site https://files.1f0.de/lavf/nightly/ links to here as the place to report issues with the latest lav builds, so I am reporting an issue with build 0.78.0-3, it appears to be an incomplete upload
edit: fixed
Damien147
13th February 2024, 18:07
Realtek HD audio manager is set to stereo in speaker configuration as I am using stereo speakers and always used default settings in LAV audio decoder.I have no complain and everything sounds fine to me but today I noticed the ''enable mixing'' setting in LAV audio decoder.Do I have to tick the ''enable mixing'' setting in LAV audio decoder or mixing is already done as Realtek HD audio manager is set to stereo?That's what I suppose but just want to make sure.I leave default settings in LAV audio decoder?
Siso
13th February 2024, 20:07
If you have stereo speakers it is a good choice to enable mixing.
Damien147
13th February 2024, 20:24
OK,I enabled it.Thank you very much.
Sunspark
13th February 2024, 21:29
If you enable it, make sure the output speaker config drop-down says stereo, otherwise Windows will still mix it to stereo for you. :) Also a good idea to put a check in "don't mix stereo sources".
Damien147
13th February 2024, 22:42
Yes,it was saying stereo in output speaker configuration.Also ticked now "don't mix stereo sources" as you said.Thank you too sir.:)
Damien147
14th February 2024, 00:29
I thought that by having Realtek HD audio manager set to stereo in speaker configuration the mixing was happening already.Can someone explain with what we've done what changes?Better quality?
Sunspark
14th February 2024, 09:14
There is always going to be mixing somewhere. The difference here is that with the mixer in LAV you can adjust the center, surround and LFE levels if you want to. Realtek or Windows doesn't have a slider for that.
Damien147
14th February 2024, 13:38
Ok.I don't want to tweak anything like that because I don't know,it sounds just fine to me.I will leave it with defaults and with the settings you both suggested.Thanks again.
Damien147
14th February 2024, 19:58
Someone somewhere mentioned that he has better sound with mixing in LAV audio disabled.Just to make sure.There is no sound quality degradation with these settings,right?
lvqcl
14th February 2024, 21:20
Use your ears already
Sunspark
14th February 2024, 21:25
Was it me? It really depends.. I run multiple renderers and decoders and paths in different players.
With MPC-HC my normal route is sanear renderer in shared mode, the player downmixing, and realtek loudness equalization on. I only use LAV for decoding here. Though, when I did use LAV for mixing, because I have a sub attached to the speakers, I used center 1.00, surround 0.71, LFE 1.58. Don't use a value for LFE if you don't have a sub. Do try center 1.00.
With MPC-BE, mpc audio renderer in exclusive mode, player downmixing w/ redirect bass checked and center level boosted to +3.0 dB. Decoder is MPC's.
Why the difference? Because I usually use BE for my streaming radio where I want clarity, and HC for my videos so I need more volume and you can't have profiles that can be toggled with a button, so I just run two players for this purpose. Also, (this won't apply to you) I sometimes use BE for anime videos too because my broadwell cpu can crash playback on 10-bit HEVC decoding but those usually will work on BE's.
I've also played around with MPV and VLC too. VLC has a dynamic range audio compressor in the advanced audio filter settings which is like realtek's loudness equalization. I use that setting turned on on my Linux setup because I need the audio boosted after the downmix. The browser extension enhanced-h264ify can also be used to disable volume normalization in youtube so I have that option checked. I don't need YouTube changing the volume when I'm already using Realtek's option. Browsers run in shared mode.
The LAV decoder and mixer works well.
Other people have gone further and installed equalizer apo to fine tune it even more, but I never bothered. My hearing isn't that good. :)
Edit: I stopped using 1.58 because I don't actually have a dedicated jack for the sub.
Damien147
14th February 2024, 22:41
Use your ears already
I don't have the ears and the difference has to be really obvious.
If it's the same thing as before enabling these settings with Realtek HD audio manager doing the mixing in stereo where is the profit?The sliders?
I don't use the sliders,I don't wanna tweak something and it was just fine.
I asked having in mind there was some kind of an improvement in sound quality and if the only improvement is the sliders there is no use for me.
Now if someone here doesn't know for sure about the sound quality I better go back to how I was with these settings disabled as I was fine.
tormento
15th February 2024, 13:38
Is there any changelog for nightly builds too?
nevcairiel
15th February 2024, 13:51
Is there any changelog for nightly builds too?
https://github.com/Nevcairiel/LAVFilters/commits/master/
Manually curated changelogs are only assembled for releases.
tormento
15th February 2024, 13:55
Manually curated changelogs are only assembled for releases.
Thank you. If you want, put that link under the nightly builds in the description part of your useful package.
Siso
15th February 2024, 21:43
Could anyone point me to a good sound compressor to use. I find the sound in lav audio decoder way too quiet for my stereo set up.
Damien147
16th February 2024, 01:24
I have a pair of bookshelf speakers and looking to have a faithful sound with what I have.Someone on reddit (https://www.reddit.com/r/htpc/comments/cug7np/mpchc_audio_settings_for_heapdones/)suggested to disable clipping protection.Is it a good idea in my case to disable it?
tebasuna51
16th February 2024, 10:08
I have a pair of bookshelf speakers and looking to have a faithful sound with what I have.Someone on reddit suggested to disable clipping protection.Is it a good idea in my case to disable it?
Short answer: never.
Damien147
16th February 2024, 14:32
That's the answer I've been looking for.Thank you very much.
Sunspark
16th February 2024, 16:41
@Siso It's not the decoder, it's a side-effect of downmixing 5.1 to stereo. Move LAV's center mix level slider from 0.71 to 1.00 and this will help, see how it is. If you need more, then turn on "loudness equalization" in Realtek's settings (others will have similar) and that will boost it. If your card doesn't have that setting VLC is an option too, it has a compressor in the advanced settings but really, your audio device should have that loudness equalization checkbox (don't use it for important stuff like classical music but it's perfect for things like spoken audio).
Siso
16th February 2024, 16:47
I was hoping for a dsp plugin or other audio compressors.
clsid
16th February 2024, 18:16
If voices are too soft compared to the other sounds, then the center mix level is a great solution when downmixing.
Loudness Equalization is a standard Windows sound enhancement setting. It is not specific to Realtek driver.
MPC-HC has a "Volume Normalization" setting in its audio switcher settings. That does audio compression.
Damien147
17th February 2024, 00:19
Now that you mentioned Realtek I found this (https://maxedtech.com/realtek-audio-best-settings-guide/) the other day suggesting to put default format in 24 bits 48000hz.You agree or I am missing something?
Sunspark
17th February 2024, 05:56
Yes, it is ideal because video is almost always that.
Siso
17th February 2024, 11:01
MPC-HC's volume normalization adjust the volume in a noticable way, you can spot when the volume is adjusted, not what I'm looking for.
Damien147
17th February 2024, 14:55
Yes, it is ideal because video is almost always that.
Ok,thanks.
Sunspark
17th February 2024, 17:11
In fairness to the normalization function, it's a hard problem it's trying to solve. If the whole video was pre-fed into it, then it would be easier because it would be able to calculate everything in advance, but what happens instead is that it has to do it in real time. That, plus there are other parameters that can be set how it functions. Everyone has a different algorithm, this is why I suggest trying additional ones like the ones in the soundcard like Realtek's loudness equalization to compare against.
Related, the default value of 400% might be too high, 200% might be a better value to use.
Siso
17th February 2024, 17:28
In fairness to the normalization function, it's a hard problem it's trying to solve. If the whole video was pre-fed into it, then it would be easier because it would be able to calculate everything in advance, but what happens instead is that it has to do it in real time. That, plus there are other parameters that can be set how it functions. Everyone has a different algorithm, this is why I suggest trying additional ones like the ones in the soundcard like Realtek's loudness equalization to compare against.
Related, the default value of 400% might be too high, 200% might be a better value to use.
Loudness equalization is kind of a silly feature, tried it last night didn't like it at all.
Sunspark
17th February 2024, 19:13
It's a useful feature. It's needed for DTS 5.1>2.0 which will often be too quiet. Also for streaming video from various websites, haven't you noticed many are also quiet?
I was doing an listening test earlier in HC trying out different combinations. One suggestion I can make which will make a difference whether normalization is on or off, is to have "ignore system channel mixer" be checked. This is actually disable windows audio enhancements which you can also do manually in the sound control panel. I find that when it is unchecked (enabled), voices are quieter on this realtek. Also in LAV mixer output set to stereo, change mixing center level to 1.00 (default is 0.71).
flossy_cake
19th February 2024, 11:34
I was hoping for a dsp plugin or other audio compressors.
Save this as a .avs file and open it in your media player with LAV as the source filter for opening .avs files
file = "C:\YourVideoFile.mkv"
# Decode the source file using LWLibav decoders (most reliable imo)
video = LWLibavVideoSource(file)
audio = LWLibavAudioSource(file, stream_index=-1, av_sync=true)
AudioDub(video, audio)
# Apply audio peak normalization - scans the entire audio track prior to playback and raises
# peak volume until loudest sample touches 2% below clipping
Normalize(0.98)
If the loudness still isn't sufficient for your taste, you will have to use compression to boost the quiet sounds and lower the loud sounds relative to each other.
If implemented poorly like the Microsoft driver then you will hear volume pumping which sucks. Dolby compression profiles are a lot better imo and have less pumping. Here are the Dolby profiles implemented in Avisynth with Sox Filter (specifically pinterf's recently updated version here (https://forum.doom9.org/showthread.php?t=185189) which supports realtime use without distorting audio).
In order from least compression to most compression:
# film light fast
SoxFilter("compand 0.01,1.00 -90,-90,-70,-64,-53,-47,-41,-41,-21,-21,-10,-16,0,-15 0 0 0.054")
# film light slow
SoxFilter("compand 0.10,3.00 -90,-90,-70,-64,-53,-47,-41,-41,-21,-21,-10,-16,0,-15 0 0 0.054")
# music light fast
SoxFilter("compand 0.01,1.00 -90,-90,-70,-58,-65,-53,-41,-41,-21,-21,0,-11 0 0 0.054")
# music light slow
SoxFilter("compand 0.10,3.00 -90,-90,-70,-58,-65,-53,-41,-41,-21,-21,0,-11 0 0 0.054")
#film standard fast
SoxFilter("compand 0.01,1.00 -90,-90,-70,-64,-43,-37,-31,-31,-21,-21,0,-20 0 0 0.054")
#film standard slow
SoxFilter("compand 0.10,3.00 -90,-90,-70,-64,-43,-37,-31,-31,-21,-21,0,-20 0 0 0.054")
# music standard fast
SoxFilter("compand 0.01,1.00 -90,-90,-70,-58,-55,-43,-31,-31,-16,-21,0,-20 0 0 0.054")
# music standard slow
SoxFilter("compand 0.10,10.0 -90,-90,-70,-58,-55,-43,-31,-31,-16,-21,0,-20 0 0 0.054")
# speech fast
SoxFilter("compand 0.01,0.20 -90,-90,-70,-55,-50,-35,-31,-31,-16,-21,0,-20 0 0 0.054")
# speech slow
SoxFilter("compand 0.10,1.00 -90,-90,-70,-55,-50,-35,-31,-31,-16,-21,0,-20 0 0 0.054")
https://i.ibb.co/v3TJ4tN/3LxGoz.png
For maximum volume do it before the Normalize(0.98) however the loading time will be longer due to having to run the whole audio track through SoxFilter first.
Fast/slow refers to the attack & decay times specified by Dolby which control how fast the compressor reacts to increases & decreases in the source volume.
Thanks to tebasuna51 for linking me to the Dolby docs to make these profiles from :thanks:
mzso
2nd March 2024, 17:39
Hello!
Why is audio much lower volume with LAV then everything else on the system? The same file is also much louder if I play it with MPV. (players both at 100% of course)
LigH
2nd March 2024, 17:49
Channels, mixing.
Can't tell you more without knowing all the details about your audio track and the setup of the LAV audio decoder.
Megalith
2nd March 2024, 17:55
Sadly, the best solution is usually to just turn up the volume. The geniuses at Dolby/DTS know how to do 9,000-channel surround sound, but they never bothered to make a smarter way of folding down surround to stereo.
mzso
2nd March 2024, 18:04
Channels, mixing.
Can't tell you more without knowing all the details about your audio track and the setup of the LAV audio decoder.
Can I at least increase the output volume or something?
mzso
2nd March 2024, 18:05
Sadly, the best solution is usually to just turn up the volume. The geniuses at Dolby/DTS know how to do 9,000-channel surround sound, but they never bothered to make a smarter way of folding down surround to stereo.
I'm not sure if it's just Dolby and DTS. The DVB mpeg-2 streams seem rather low as well.
huhn
2nd March 2024, 19:31
if you play 5.1 om stereo it is well known that the mixer in lavaudio does not have the same volume level as the windows mixer. this is intentional.
with pcm audio out there are multiply parts where the audio volume is changed so it's not just one to point at.
mzso
3rd March 2024, 01:27
if you play 5.1 om stereo it is well known that the mixer in lavaudio does not have the same volume level as the windows mixer. this is intentional.
with pcm audio out there are multiply parts where the audio volume is changed so it's not just one to point at.
But with audio set to 100% in media players I can do little other than change the system volume or speaker/TV volume all the time. Which sucks.
And the media player (with LAV) seems to be the lowest volume by a decent margin out of every app.
huhn
3rd March 2024, 03:38
if you don't mix it should be the same. at that point lavfilter doesn't do anything anymore.
you can also bit stream where lavfilter can't touch audio yet again.
all other stuff is the windows mixer the windows general audio level and some player allow for more then 100 % volume.
there is also the audio switcher.
mpv and mpc-hc have 100% the same volume here as it should be. but mpv allows for more then 100%.
Siso
3rd March 2024, 12:08
There are two sound normalisers in mpc-be, the first one doesn't work as it should, the second one is from ffmpeg and it is ok. As for mpc-hc the internal normaliser is not so good tho.
huhn
3rd March 2024, 13:24
i don't see what this has todo with lavfilter?
the only place where lavfilter is changing "volume" is in mixing and DRC. the rest is bit perfect and the problem of the player and OS.
flossy_cake
3rd March 2024, 13:35
Post a clip of a low volume video so we can look at dB meter to see what the actual level is
Sunspark
3rd March 2024, 15:37
I was able to hear a difference with the LAV DRC option on an old bluray rip but it was small and I decided it is best used under one of two conditions:
1) You are normalizing/loudness equalizing the volume in Windows (e.g. Realtek Audio Console) or HC- do NOT use DRC option.
2) You are NOT normalizing/loudness equalizing the volume in Windows or HC- go ahead and use the DRC option if downmixing to stereo from 5.1.
Siso
3rd March 2024, 16:52
IMHO the best solution would be a good normaliser/compressor in lav audio or in mpc-hc.
mzso
3rd March 2024, 19:42
Post a clip of a low volume video so we can look at dB meter to see what the actual level is
Everything seems to be affected.
But on further research. Apparently the mediaplayer might be at fault. Fired up mpc-hc and it had the same volume as foobar. But not potplayer.
(not sure about the DVB tuner app)
mzso
3rd March 2024, 19:57
It's weird. If I change the output to the TV (via HDMI) it is much lower volume. If I use the PC output it's only somewhat more silent. I also have the output of Potplayer set to 7.1 (No such thing possible with Foobar) so Windows Sonic would activate. So maybe that raises the volume a bit?
Also, if i set mixing volume to 200 from 100 in potplayer it's louder on PC output, but Foobar is still much louder when I switch to the TV. What a mess.
clsid
4th March 2024, 00:05
MPC-HC's volume normalization adjust the volume in a noticable way, you can spot when the volume is adjusted, not what I'm looking for.Well, suggestions on how to improve the algorithm are welcome. Create an issue on GitHub.
Sunspark
4th March 2024, 04:21
I won't be the one to create the issue, but were one be created I could suggest one thing for consideration here.. perhaps just copy the code from VLC's compressor as it has numeric input boxes for: RMS/peak, attack time, release time, threshold level, ratio, knee radius, makeup gain.
Then an audio expert could figure out "good" values if not using the already chosen values.
Siso
4th March 2024, 10:07
I won't be the one to create the issue, but were one be created I could suggest one thing for consideration here.. perhaps just copy the code from VLC's compressor as it has numeric input boxes for: RMS/peak, attack time, release time, threshold level, ratio, knee radius, makeup gain.
Then an audio expert could figure out "good" values if not using the already chosen values.
Or add 3-4 presets, will be much easier than to tweak the values endlessly.
tebasuna51
4th March 2024, 13:02
IMHO the best solution would be a good normaliser/compressor in lav audio or in mpc-hc.
Remember rule 12:
Do not ask "what's best" because this question cannot be answered objectively. Each and everyone has their own view about what's best in a certain area. The best is what works best for you!
For me the best solution is not use normaliser or compressor.
Each user can have different preferences depend on their audio players don't exist the best solution.
Talking about compressor, AFAIK LAV Filters only can apply DRC included in Dolby audio, and can't recommend use it or create a new filter.
It must be a player (software or hardware) option.
About Normalize don't exist good or bad, if you want Normalize you have the risk of low volume mix, if not you can have clips and now you can protect it or not with the risk of change clips to sudden volume changes. That is all.
In my opinion the Mixing Tab in LAV Filters is all you need to downmix multichannel audio.
huhn
4th March 2024, 14:53
maybe that works better: https://www.ac3filter.net/download-ac3filter/
different audio level between application still cries windows audio mixer.
Siso
4th March 2024, 15:19
maybe that works better: https://www.ac3filter.net/download-ac3filter/
different audio level between application still cries windows audio mixer.
It doesn't decode dolby digital plus audio.
huhn
4th March 2024, 15:24
it doesn't have to decode anything.
just use it as a processor.
Siso
4th March 2024, 15:37
it doesn't have to decode anything.
just use it as a processor.
Is it possible? And how to use it as a processor?
huhn
4th March 2024, 19:51
as long as lpcm and pcm are enabled it will always be loaded when the audio is decoded.
even with default settings is should still load with audio codex it doesn't know because these are decoded to pcm/lpcm be something else.
flossy_cake
4th March 2024, 21:47
I was able to hear a difference with the LAV DRC option on an old bluray rip but it was small
If I'm not mistaken LAV's DRC will only work if the audio track is AC3 and contains DRC metadata, so most of the time it won't do anything at all, and even when it does, it's entirely dependent on how much compression the authors decided to encode.
Personally I find peak normalisation to be sufficient , and it doesn't change the dynamic range or artistic intent. Although I was watching an episode of Seinfeld this evening which was sourced from Google's streaming service and the speech has volume issues even with peak normalisation so I ended up going with the speech slow DRC preset in avisynth and that worked ok. The speech fast one gives pumping but that is an outlier preset with 300ms decay which is too fast. 1000ms seems to work ok .
Balling
6th March 2024, 19:17
If I'm not mistaken LAV's DRC will only work if the audio track is AC3 and contains DRC metadata, so most of the time it won't do anything at all, and even when it does, it's entirely dependent on how much compression the authors decided to encode.
First of all Microsoft MFF decoder decodes DRC differently. Second of all, EAC3 and AC3 are supported, yes, TrueHD is not. Encoder on ffmpeg for eac3 does not support DRC, but all official sources will use DRC even on Atmos EAC3, so this is highly misleading. Basically only applies to ffmpeg encoder.
tebasuna51
7th March 2024, 09:34
For me the ffmpeg encoder is ok when don't add DRC metadata to AC3/EAC3 encodes.
The Dolby system DialogNormalization/DynamicRangeCompression was intended to equalize the audio volume but the consequence is just the inverse:
Like you can see in the image (https://forum.doom9.org/showthread.php?p=1997910#post1997910) with the profile "film standard" (the most common applied) you limit the peak audio volume to -20 dB.
If you change to listen a audio CD (see the 'loudnness war (https://en.wikipedia.org/wiki/Loudness_war)') or a TV advertisement or other movie without AC3/EAC3 audio you need modify the volume.
In DVD times everybody say than DTS track are better than AC3 track, when are both present. For better quality? not always, but for high volume.
If a user want audio compression there are filters (see VLC) to apply it to all audio sources, not only AC3/EAC3, and you equalize all audio volume.
In my opinion the compressor must be a player job but if clsid want include it in the LAV filters no problem.
Maybe Dolby have experience about compression and the Dolby presets can be emulated for all audio sources, in the flossy_cake post (https://forum.doom9.org/showthread.php?p=1997910#post1997910) there are a way to do it with the SoxFilter. But of course there are other compressors in free soft ffmpeg.
SeeMoreDigital
7th March 2024, 09:49
For me the ffmpeg encoder is ok when don't add DRC metadata to AC3/EAC3 encodes.
The Dolby system DialogNormalization/DynamicRangeCompression was intended to equalize the audio volume but the consequence is just the inverse:
Agreed... It's an evil thing that Dolby did :devil:
flossy_cake
7th March 2024, 11:14
Like you can see in the image (https://forum.doom9.org/showthread.php?p=1997910#post1997910) with the profile "film standard" (the most common applied) you limit the peak audio volume to -20 dB.
If you change to listen a audio CD (see the 'loudnness war (https://en.wikipedia.org/wiki/Loudness_war)') or a TV advertisement or other movie without AC3/EAC3 audio you need modify the volume.
Yep and thats why I use Normalize() to recover back the -20db. But I think it recovers slightly less because the compressor attack time is nonzero , so the volume can go temporarily above -20 until such time the average audio level over the attack period goes above -20 , then it will be quickly reduced to -20. So the loudest sample in the whole audio track after compression could still be something like -15 and in that case Normalize would only do +15 gain instead of +20.
Sunspark
11th March 2024, 22:29
For interlaced material that is 29.976 which is originally from a DVD, for the quicksync hw deinterlacing option, which is better?
The checkbox says 50/60 (Video) is recommended, and it makes the source filter 60, but the other one for 25/30 (Film) makes the source filter 30 which is what it is with the original interlaced video.
Both seem to work, the interlacing is removed. How do I know which one is most optimal in terms of quality?
huhn
11th March 2024, 23:03
use 60 always. 30 and 25 as target is only interesting for encoding or detelecine not deinterlacing.
Balling
19th March 2024, 22:05
For me the ffmpeg encoder is ok when don't add DRC metadata to AC3/EAC3 encodes.
It is not just metadata. DRC is the key feature of eac3, that allows to increase the compression/quality
tebasuna51
20th March 2024, 08:47
It is not just metadata. DRC is the key feature of eac3, that allows to increase the compression/quality
For me compression is destroy the quality of the original source.
It was a help for old players, but with new smart players the compression can be done on the fly and apply it for all codecs when it is necesary, not forced with the Dolby settings.
Siso
20th March 2024, 11:02
LAVFilters-0.78.0-9.exe is incomplete. Can you fix it?
nevcairiel
25th March 2024, 18:53
LAV Filters 0.79
LAV Splitter
- NEW: Support for demuxing VVC video
- Changed: Updated language lists to support all relevant language codes
- Changed: Improved resilience of streaming HLS
- Changed: Tweaked frame rate detection logic
LAV Video:
- NEW: Support for decoding VVC video
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.79.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.79.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.79-x64.zip)
Another update primarily for updating FFmpeg, which brought us VVC decoding. The decoder is still under development and considered experimental - and of course software only and not fully optimized yet.
In the last weeks i've also replaced my hosting infrastructure for the files as well as the Git repositories, but since noone complained much yet, it seems to have been all working so far!
As always, report issues and regressions, in as much detail as possible.
AngelGraves13
26th March 2024, 02:57
LAV Filters 0.79
LAV Splitter
- NEW: Support for demuxing VVC video
- Changed: Updated language lists to support all relevant language codes
- Changed: Improved resilience of streaming HLS
- Changed: Tweaked frame rate detection logic
LAV Video:
- NEW: Support for decoding VVC video
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.79.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.79.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.79-x64.zip)
Another update primarily for updating FFmpeg, which brought us VVC decoding. The decoder is still under development and considered experimental - and of course software only and not fully optimized yet.
In the last weeks i've also replaced my hosting infrastructure for the files as well as the Git repositories, but since noone complained much yet, it seems to have been all working so far!
As always, report issues and regressions, in as much detail as possible.
Getting major video stuttering as video player can't understand the frame rate now and instead of trying to display a constant frame rate of say 23.976 it's going down to 21 or 22 frames per second.
Something is wrong with the way this version is reporting frame rates. I'm going to roll back. This release is broken.
Schwartz
26th March 2024, 04:21
Working very well here with Youtube and X264 MKV so far. The better HLS handling is much appreciated. Fantastische Codecs.
If I get issues I'll report back.
nevcairiel
26th March 2024, 08:21
Getting major video stuttering as video player can't understand the frame rate now and instead of trying to display a constant frame rate of say 23.976 it's going down to 21 or 22 frames per second.
Something is wrong with the way this version is reporting frame rates. I'm going to roll back. This release is broken.
Framerate information is cosmetic, its not used for playback - timestamps drive that.
If you want to be helpful, could tell us what the information says before and after, and maybe provide a sample file thats observing such problems. Otherwise its never getting fixed.
Francois76l
26th March 2024, 14:14
Getting major video stuttering as video player can't understand the frame rate now and instead of trying to display a constant frame rate of say 23.976 it's going down to 21 or 22 frames per second.
Something is wrong with the way this version is reporting frame rates. I'm going to roll back. This release is broken.
Same for me I have to roll back to v0.78
I tried different player (MPC-HC, MPC-BE and Potplayer)
AngelGraves13
26th March 2024, 15:11
Framerate information is cosmetic, its not used for playback - timestamps drive that.
If you want to be helpful, could tell us what the information says before and after, and maybe provide a sample file thats observing such problems. Otherwise its never getting fixed.
It happens with madvr and with MPC VR. Video literally hitches and stutters every 2 or 3 seconds, like bad frame pacing.
It happens with MKV remuxes in MPC-HC and MPC-BE. Rolling back to the last nightly from 78 worked fine.
nevcairiel
26th March 2024, 15:41
The last nightly, as in LAVFilters-0.78.0-10.exe?
That version is completely identical to the release version, other then the version number being changed.
Sunspark
26th March 2024, 17:07
I haven't noticed any issues yet.. which decoder are you guys with the hitching using?
Francois76l
26th March 2024, 17:10
I rolled back to the last v0.78 version (the one just before your update) and everything worked as usual.
With the last v0.79 version I'm experiencing frame drop and a constant video stuttering every ~2s on a 23.976hz movie.
The rendering time didn't increased
clsid
26th March 2024, 18:42
No issue with a standard mkv rip here. Got no other files on current system to test right now.
So guys, please give a sample file that fails.
Siso
26th March 2024, 22:13
Just tested it with a mkv movie 1h 40min, no issues here.
AngelGraves13
27th March 2024, 21:27
Are the people that are running into issues running a second display at 23.976? That's the setup on the PC with the issue. I'll test at a flat 60hz on my monitor on my second PC when I get home.
Upon further testing...it still does it with 0.79 at 60hz as well.
AngelGraves13
27th March 2024, 21:29
The last nightly, as in LAVFilters-0.78.0-10.exe?
That version is completely identical to the release version, other then the version number being changed.
The last version that's bundled with MPC-HC 2.1.7.2 (might be 0.78.0-5 or 0.78.0-8).
Update: Version 0.78.0-8 works fine.
The file I'm testing is Willy Wonka and the Chocolate Factory 4K HDR that I remuxed with MakeMKV. I also tested a 1080p remux of Goosebumps 2015 and it does the same frame pacing issue with version 79.
AngelGraves13
27th March 2024, 21:46
I rolled back to the last v0.78 version (the one just before your update) and everything worked as usual.
With the last v0.79 version I'm experiencing frame drop and a constant video stuttering every ~2s on a 23.976hz movie.
The rendering time didn't increased
Same for me...it's like it's spiking DPC latency.
Sunspark
27th March 2024, 22:31
I do output 23.976 to my screen.. no drops or stuttering on 1080p. I'm using a copy-back decoder.
You could try checking "disable full-screen optimisations" on the compatibility tab of the player exe properties, see if that changes anything for you.
AngelGraves13
28th March 2024, 00:04
I do output 23.976 to my screen.. no drops or stuttering on 1080p. I'm using a copy-back decoder.
You could try checking "disable full-screen optimisations" on the compatibility tab of the player exe properties, see if that changes anything for you.
But the previous version worked fine.
Can confirm it does it on my other system which has a 4090 RTX.
0.78.0-10 and 0.79 have the problem, 0.78.0-8 does not.
I'm going to assume this is the culprit "Prefer average framerate for reporting, with an accuracy fudge"
https://github.com/Nevcairiel/LAVFilters/commit/58474b042add356b77e0c333f80f9f27d9daa0f3
nevcairiel
28th March 2024, 00:05
There have been no relevant changes between 0.78.0-8 and 0.79, only some minor bugfixes in ffmpeg.
AngelGraves13
28th March 2024, 00:49
There have been no relevant changes between 0.78.0-8 and 0.79, only some minor bugfixes in ffmpeg.
0.78.0-8 works fine, but 0.78.0-10 and newer have frame pacing issues for me and others, but not everyone.
Both of my affected systems have Nvidia GPUs and AMD CPUs. Don't know if you need more information than that. I don't know if Ultra Low Latency mode has issues with the newer versions or if it's something else in the code.
I would like to help get this sorted as I don't want to miss out on newer versions. Let me know what info you need.
One system is an older AMD Ryzen 5 3600 with 64GBs DDR4 and a 1080 Ti and the other is a AMD Ryzen 9 5950X with 128GBs of DDR4 and a 4090 RTX. Neither system has an issues playing MKV files (mainly remuxes) with older versions pre-0.78.0-10. New version just freezes or skips every 2-3 seconds with frame rate dropping to 21 or 22 fps (average according to MPC VR). madVR has the same behavior but displays the frame rate of the file as 23.976.
https://i.postimg.cc/YG7hTZ33/Screenshot-2024-03-27-171104.png (https://postimg.cc/YG7hTZ33) 0.79 - reporting incorrect frame rate and frame rate dropping to 20 fps
https://i.postimg.cc/8JbjG4XV/Screenshot-2024-03-27-171531.png (https://postimg.cc/8JbjG4XV) 0.78.0-8 - playing with correct frame rate and no issues
Hmmm...seems it has something to do with HDR. It seems only HDR files are affected with the frame pacing issues. Are you guys testing HDR files, the people who are saying they don't have issues?
Snowknight26
28th March 2024, 01:56
Hmmm...seems it has something to do with HDR.
It doesn't, it happens regardless of SDR/HDR.
I see the issue too, but not with all videos.
Can't seem to get DbgLog to output anything, though, so dunno what additional info to provide.
AngelGraves13
28th March 2024, 02:01
It doesn't, it happens regardless of SDR/HDR.
I see the issue too, but not with all videos.
Can't seem to get DbgLog to output anything, though, so dunno what additional info to provide.
Interesting...I guess we can add another affected user to the list.
ryrynz
28th March 2024, 09:06
Not sure if it's related but it's out of the ordinary for my system to see two playblack crashes within an hour or so, seemed to be similar to memory overlocking/timing instability with the player crashing during playback. Thinking it's previous latest nightly LAV 0-8 as that's the only thing in the chain that's been updated recently and previously everything has been super stable.
I've reverted to 0.78.0-5, so far no issues. CPU & RAM are at defaults.
nevcairiel
28th March 2024, 10:43
I've been looking at the glitch issue and identified that its limited to HEVC video only, and looking into a fix.
nevcairiel
28th March 2024, 10:58
There is a new nightly up at https://files.1f0.de/lavf/nightly/LAVFilters-0.79.0-1.exe if you could test on your end.
AngelGraves13
28th March 2024, 17:03
There is a new nightly up at https://files.1f0.de/lavf/nightly/LAVFilters-0.79.0-1.exe if you could test on your end.
It's fixed for me :D
nevcairiel
28th March 2024, 17:32
LAV Filters 0.79.1
LAV Video
- Fixed: Resolved a glitch when playing HEVC video
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.79.1.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.79.1.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.79.1-x64.zip)
A tiny update on top of 0.79 to fix a glitch when playing HEVC videos.
For 0.79 check here: https://forum.doom9.org/showthread.php?p=1999624#post1999624
As always, report issues and regressions, in as much detail as possible.
clsid
28th March 2024, 17:36
Assuming there will be a fixed release soon, could you consider also including the animated webp patches? They were just posted on ffmpeg mailing list, and have gone through review before.
nevcairiel
28th March 2024, 17:53
I don't generally cherry-pick major features before they land in the tree. Its just a chore to maintain a patchset of 11 patches and then figure out their conflicts later when it gets merged officially.
But you are also too late.
nevcairiel
8th April 2024, 09:25
LAV Filters 0.79.2
LAV Splitter
- Fixed: Buffering media from a high latency source was slower then expected (since 0.79)
LAV Audio
- Fixed: Bitstream AC3 audio could fallback to PCM on streams that start with a corrupt audio frame (since 0.78)
- Fixed: Resolved a memory leak when bitstreaming AC3
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.79.2.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.79.2.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.79.2-x64.zip)
Another set of fixes for issues that have been reported recently, which impacted the playback experience.
For 0.79 check here: https://forum.doom9.org/showthread.php?p=1999624#post1999624
As always, report issues and regressions, in as much detail as possible.
ryrynz
8th April 2024, 11:19
Thank you sir.
Sebastiii
8th April 2024, 14:16
Thanks [emoji106]
Envoy de mon LYA-L29 en utilisant Tapatalk
rock
9th April 2024, 14:32
I try to play spx file and sound crackling. I check lavfilters is built with libspeex but it seems it use ffmpeg decoder instead. notice this while playing a sample (https://filesamples.com/formats/spx)
Tlen
18th April 2024, 20:35
@nevcairiel
Testing x264 lossless compression ratio in another thread
I found that on a cpu i5-1035G1 with MPC-HC
accelerated hardware decoding of h264 works without problems with "standard" compression
But the HW acceleration is not used when playing lossless x264 (done with Ultrafast preset or others).
Is that an expected behaviour?
Thank you
LigH
18th April 2024, 20:36
Yes, lossless compression in H.264 works in a completely different way than any lossy method, so it is not supported by decoder chips.
Tlen
18th April 2024, 21:33
Really? Thank you for the information.
huhn
18th April 2024, 23:23
Yes, lossless compression in H.264 works in a completely different way than any lossy method, so it is not supported by decoder chips.
doesn't help here but nvidia supports it since maxwell.
her an image of mpv actually doing that:
https://i.postimg.cc/8DLDkRH8/x265lossless.png
355 mb for low motion 4 sec just perfection.
btw the same file encoded from the lossless h265 10 bit file in other lossless codex default preset:
8 bit h264 --crf 0 131 mb not fair 8 bit
10 bit h264 from 2017 i can't find newer binaries 264 mb needs --qp 0
btw. h265 has no p frames:
"keyint=1:lossless=1"
i tried it without keyint=1 but it was not lossless.
https://trac.ffmpeg.org/wiki/Encode/H.265#Losslessencoding
making is very questionable level indeed.
btw. nvidia can also decode and encode 4:4:4 lossless too.
nevcairiel
19th April 2024, 06:58
doesn't help here but nvidia supports it since maxwell.
her an image of mpv actually doing that:
https://i.postimg.cc/8DLDkRH8/x265lossless.png
Thats HEVC.
Microsoft is actually in the process of extending the DXVA specification for RExt HEVC profiles, which will likely be available in the next major Windows update and hopefully graphics drivers also supporting it by then (and since its not actually tied to Windows functions, maybe also works on older Windows with newer drivers then).
But for H264, there is no further development on that front that i'm aware of.
huhn
19th April 2024, 09:52
true here it is for h264 which is quite amazing:
https://i.postimg.cc/NfZ99FDf/h264.png
i still have a 960 around somewhere to show that this is very old tech.
h264 high 4:4:4 predictive L5.1
this profile allows up to 14 bit only 8 bit is supported AFAIK. i have a 10 bit file around now it does not work.
flossy_cake
30th April 2024, 13:00
Hello I am having an issue where LAV is failing to open .avs files if the file name contains UTF-8 characters in languages such as Japanese or Russian, for example テスト.avs or тест.avs. Characters like German do not seem to have a problem - prfen.avs works just fine.
Avisynth supports scripts containing those characters as long as the .avs file is encoded as UTF-8 without BOM (which I have confirmed in Notepad++: Encoding -> Encode in UTF-8).
Everything works fine until the .avs FILE NAME contains foreign characters, at which point LAV fails to open it and MPC-HC falls back to default DirectShow Avisynth filter (generic Microsoft "AVI/wav file source").
To reproduce the issue here is a test clip テスト.ts (https://drive.google.com/uc?export=download&id=1tTHpVIkX1yH6kqge0p7fcBfimQ7cH51Z) and .avs file テスト.avs (https://drive.google.com/uc?export=download&id=1qjki6V6bPD2qP422Q2P8T28ko4uZcWRZ). In MPC-HC you'll want to make sure to tick Options → Internal Filters → Source filters → Avisynth which should tell it to open .avs files with LAV as the DirectShow filter.
On my system if I open テスト.avs it plays but DirectShow fails to choose LAV as the source filter. Then if I rename it to test.avs or prfen.avs it uses LAV as expected.
:thanks:
LigH
30th April 2024, 13:05
German umlauts are covered by the 8 bit codepage 1252 which is common for most languages with latin characters in Windows. A complete Unicode support may require a consistent use of Wide Character functions (16 bits per character).
flossy_cake
30th April 2024, 13:31
German umlauts are covered by the 8 bit codepage 1252 which is common for most languages with latin characters in Windows. A complete Unicode support may require a consistent use of Wide Character functions (16 bits per character).
I thought that would not be an issue for LAV as it has no trouble opening テスト.ts or тест.ts. The issue is only with .avs files, and removing LAV from the DirectShow graph restores compatibility, therefore I figured it's a LAV issue specifically relating to .avs files.
Blight
30th April 2024, 13:33
Is it possible to specify a "referrer" and "user-agent" when opening URL streams using LAV Source Filter?
There are streaming sites that will not work if these fields are not specified when opening the stream and the "IFileSourceFilter" doesn't seem to support any additional parameters other than the filename/URL.
nevcairiel
30th April 2024, 16:44
Hello I am having an issue where LAV is failing to open .avs files if the file name contains UTF-8 characters in languages such as Japanese or Russian, for example テスト.avs or тест.avs. Characters like German do not seem to have a problem - prfen.avs works just fine.
Avisynth supports scripts containing those characters as long as the .avs file is encoded as UTF-8 without BOM (which I have confirmed in Notepad++: Encoding -> Encode in UTF-8).
Everything works fine until the .avs FILE NAME contains foreign characters, at which point LAV fails to open it and MPC-HC falls back to default DirectShow Avisynth filter (generic Microsoft "AVI/wav file source").
To reproduce the issue here is a test clip テスト.ts (https://drive.google.com/uc?export=download&id=1tTHpVIkX1yH6kqge0p7fcBfimQ7cH51Z) and .avs file テスト.avs (https://drive.google.com/uc?export=download&id=1qjki6V6bPD2qP422Q2P8T28ko4uZcWRZ). In MPC-HC you'll want to make sure to tick Options → Internal Filters → Source filters → Avisynth which should tell it to open .avs files with LAV as the DirectShow filter.
On my system if I open テスト.avs it plays but DirectShow fails to choose LAV as the source filter. Then if I rename it to test.avs or prfen.avs it uses LAV as expected.
:thanks:
This should be working fine if you use AviSynth+ in any recent version (from the last 3 years or so, from what I can tell). Older versions and classic AviSynth do not have the ability to pass unicode filenames to it.
flossy_cake
30th April 2024, 17:47
This should be working fine if you use AviSynth+ in any recent version (from the last 3 years or so, from what I can tell). Older versions and classic AviSynth do not have the ability to pass unicode filenames to it.
I am using the latest public release on Github, and I can see the release notes for much older versions mention adding support for those characters, so I agree it should not be an issue. Yet somehow it is an issue, therefore I would be interested to hear if you were able to recreate the issue with the 2 test files I uploaded to gdrive.
The fact that it works fine when using the default generic Microsoft DirectShow source filter but not LAV, would seem to indicate an issue with LAV?
nevcairiel
30th April 2024, 20:16
I am using the latest public release on Github, and I can see the release notes for much older versions mention adding support for those characters, so I agree it should not be an issue. Yet somehow it is an issue, therefore I would be interested to hear if you were able to recreate the issue with the 2 test files I uploaded to gdrive.
The fact that it works fine when using the default generic Microsoft DirectShow source filter but not LAV, would seem to indicate an issue with LAV?
Works fine for me. Installed AviSynth+ 3.7.3 and the latest LSMASHSource, and it just opens.
You may have some outdated AviSynth somewhere, or a script error - contrary to their DirectShow filter, script errors won't generate an image with the error text, but just fail to open.
flossy_cake
30th April 2024, 21:15
Works fine for me. Installed AviSynth+ 3.7.3 and the latest LSMASHSource, and it just opens.
It opens for me too, but not with LAV. Are you sure it's opening with LAV on your system - in MPC-HC if you copy filters to clipboard does it say LAV Splitter and LAV Video Decoder are active or is it just using "AVI/WAV File Source"?
If I replace the LWLibavVideoSource with LWLibavAudioSource then I get failed to render pin errors. Then if I rename the file it works fine. The script is just a single line: LWLibavVideoSource("テスト.ts") so it can't be a script error.
nevcairiel
30th April 2024, 21:17
If i say it works, it works. The error must be on your system.
flossy_cake
30th April 2024, 21:39
If i say it works, it works.
The error must be on your system.
Yes it would seem that way, although it is possible to have a bug that only occurs on certain systems, and "it works on my system so there is no issue" is kind of a recipe for disaster imo :o
The reason I'm looking at LAV as the culprit is by process of elimination:
1. The bug cannot be inside Avisynth because Avisynth can open the script as long as I don't use LAV Splitter/Decoder.
2. The fault is probably not with MPC-HC because it can open the script as long as it doesn't use LAV Splitter/Decoder.
Then if I rename the file the issue goes away, so from this we can deduce it is an issue with incorrect character encoding that SEEMS to have something to do with LAV Splitter/Decoder.
nevcairiel
30th April 2024, 21:44
3. Your AviSynth setup is out of date, or specifically, the version installed globally in the system for LAV to find is out of date.
4. Your LAV is out of date, Unicode support for AVS scripts would've been added in 0.77
There is always more reasons. Anyway the code is clear. If you run AviSynth+ in a new enough version, Unicode filenames work fine. If you run an old version, they don't work.
You could for example run this script and see what version it claims to be:
### 'Version' filter with background/template clip
function Version(clip bg, bool "showbg")
{
showbg = Default(showbg, false)
bg = (showbg) ? bg : BlankClip(bg, color=$404040)
v=Version
m=v.ConvertToRGB32.ColorKeyMask($404040, 0).ShowAlpha
Overlay(bg, v, mask=m.Blur(0.2),
\ x=(bg.Width/2-v.Width/2),
\ y=(bg.Height/2-v.Height/2))
return Last
}
Version(BlankClip(width=600, height=336, pixel_type="RGB32"))
https://i.imgur.com/7O7zxmM.png
https://i.imgur.com/pO8Fz5e.png
flossy_cake
30th April 2024, 21:59
Well, updating LAV from 0.75 to 0.79 solved it. (edit: beat me to it)
I didn't want to update it as it was all working perfectly and I try to avoid "if it aint broke fix it until it is"
I couldn't find anything in the release notes between 0.75 and 0.79 about it, just this older one: 0.10 - 2010/10/26 "Fix loading of files with unicode characters in their names".
Blight
1st May 2024, 11:06
Nev:
Any chance of adding an interface so I can assign a user-agent and referrer strings or possibly just a formatting option in the URL specified?
For example "https://www.somesite.org/stream|user-agent|referrer" ?
@Nevcairiel
I would like to see duration on this VideoOnDemand example:
http://omomomo.com/stream/test1.m3u8
Please add such opportunity if possible.
@Nevcairiel
I see stuttering, using LAVSplitter, after first 30-60 seconds of this stream on this video example:
https://strm.yandex.ru/kal/fashion_tv/manifest.mpd
Any feedback would be appreciated.
@Nevcairiel
Currently, it is possible to select a specified track only for DASH-streams. Please add such opportunity for HLS-streams to enable a better quality stream manually, because at this moment LAVSplitter choose track with highest bitrate[112kbps] but not with highest quality[64kbps]:
Example:
https://hls-01-radiorecord.hostingradio.ru/record-russianhits/playlist.m3u8
this example have three tracks:
1.1) Lowest audio quality(HE-AACv2 [32kbps]):
https://hls-01-radiorecord.hostingradio.ru/record-russianhits/32/playlist.m3u8
1.2) Medium audio quality(AAC-LC [112kbps]):
https://hls-01-radiorecord.hostingradio.ru/record-russianhits/112/playlist.m3u8
1.3) Highest audio quality(HE-AACv1 [64kbps]):
https://hls-01-radiorecord.hostingradio.ru/record-russianhits/64/playlist.m3u8
@Nevcairiel
I'm noticed that LAVSplitter can't starting to play this HLS-stream example:
https://strm.yandex.ru/kal/fashion_tv/fashion_tv0.m3u8
p.s. Through VLC media player stream can be played and on Windows 7 and on Windows 10.
Any feedback would be appreciated.
And if you right-click on the LAV Splitter tray icon during loading of above link, it will crash.
And if you right-click on the LAV Splitter tray icon during loading of above link, it will crash.
Hello clsid,
Good catch! I got crashing on two different PCs :( Thanks for the feedback ;)
AngelGraves13
9th May 2024, 19:04
Will you be adding DirectX 12 copy-back mode support?
MPC-BE just added it, so I'm guessing it's not far behind for LAV.
From MPC-BE 1.7.0 notes
"Added support for D3D12 copy back mode"
nevcairiel
9th May 2024, 19:09
For Copy-Back in particular it doesn't seem to have major advantages. Why would you want to use it?
The only reason to support it would be if a video renderer use D3D12 and wants interoperability - eg. in Native mode.
max79
14th May 2024, 14:47
@Nevcairiel
This SPEEX-audio file is played with distortion. Link for downloading:
https://dl.dropbox.com/scl/fi/596hxuba227ph8975q5s9/SR41.spx?rlkey=5vfv3nzs798cpeyaiuy8i89tc
I'm noticed that I have no such issue when playing it on my PC through VLC.
Any feedback would be appreciated.
AngelGraves13
14th May 2024, 23:42
For Copy-Back in particular it doesn't seem to have major advantages. Why would you want to use it?
The only reason to support it would be if a video renderer use D3D12 and wants interoperability - eg. in Native mode.
There must be a benefit otherwise why would someone go to the trouble of programming it?
I'd be more interested in a DX12 "native" mode, to be completely honest.
maybe ask them.
there is even a lavfilter version with dx12 and a mpcVR that is DX12 if any of these are native is beyond me.
richardpl
15th May 2024, 17:43
@Nevcairiel
This SPEEX-audio file is played with distortion. Link for downloading:
https://dl.dropbox.com/scl/fi/596hxuba227ph8975q5s9/SR41.spx?rlkey=5vfv3nzs798cpeyaiuy8i89tc
I'm noticed that I have no such issue when playing it on my PC through VLC.
Any feedback would be appreciated.
FFmpeg is dead, use Librempeg where this have been fixed ages ago.
nevcairiel
16th May 2024, 00:22
There must be a benefit otherwise why would someone go to the trouble of programming it?
I'd be more interested in a DX12 "native" mode, to be completely honest.
I named a reason why someone might want it. There is just no demand for that in LAV.
Video decoding is ultimately just an API to access the video decoding hardware. There is no huge difference what you use - so what it comes down to is what something else uses that wants decoding. If that uses D3D12, then you use a D3D12 decoder. That's all.
Noone has made an actual D3D12 video renderer, or approached me about supporting it for that. This is not a user-relevant feature, but would only benefit another video renderer that wants to run in D3D12.
As for a video renderer - if all you do is use simple shaders and using D3D Video Processing, there is no benefit in D3D12 anyway, you only get a lot extra complexity for no benefit. Only once you start using much more complex shaders, compute shaders in particular, would there be any benefit, as D3D12 gives you access to the newer shader models.
Brazil2
16th May 2024, 09:02
FFmpeg is dead, use Librempeg where this have been fixed ages ago.
Where are Librempeg binaries downloads for Windows ?
Aleksoid1978
16th May 2024, 09:29
@Nevcairiel
This SPEEX-audio file is played with distortion. Link for downloading:
https://dl.dropbox.com/scl/fi/596hxuba227ph8975q5s9/SR41.spx?rlkey=5vfv3nzs798cpeyaiuy8i89tc
I'm noticed that I have no such issue when playing it on my PC through VLC.
Any feedback would be appreciated.
Perfect play with ffmpeg + https://github.com/xiph/speex.
richardpl
16th May 2024, 11:28
Where are Librempeg binaries downloads for Windows ?
Compile it!
richardpl
16th May 2024, 11:29
Perfect play with ffmpeg + https://github.com/xiph/speex.
That library is highly under optimized, do not use.
Brazil2
16th May 2024, 14:47
Compile it!
Without any public download of libraries for Windows the use of Librempeg will be very marginal.
richardpl
16th May 2024, 17:16
Without any public download of libraries for Windows the use of Librempeg will be very marginal.
Sure, keep using buggy software that is build by random guys.
max79
16th May 2024, 17:35
Perfect play with ffmpeg + https://github.com/xiph/speex.
Алексей приветствую,
спасибо за отклик! Почему всё так сложно?
Есть ли возможность прикрутить то что ты посоветовал(или AviSynth+) к DirectShow плееру?
Brazil2
16th May 2024, 17:48
Compile it!
Compile it yourself and offer binaries to the world. If you don't then you will miss the vast majority of Windows users who also are the vast majority of computers users.
Aleksoid1978
16th May 2024, 22:07
Алексей приветствую,
спасибо за отклик! Почему всё так сложно?
Есть ли возможность прикрутить то что ты посоветовал(или avisynth+) к directshow плееру?
В mpc-be на встроенном декодере это уже и так прикручено. Можно взять его, а можно просто взять декодер, он доступен в виде внешнего фильтра.
clsid
30th May 2024, 23:46
@nevcairiel
Can you build a GCC 13.3 MinGW pack?
Aleksoid1978
31st May 2024, 05:10
@nevcairiel
Can you build a GCC 13.3 MinGW pack?
Why - there is already a gcc 14.1 release.
clsid
4th June 2024, 13:25
GCC 14.1 is fine too. In past I usually skipped .1 versions but I guess there is little reason for that nowadays.
And possibly another FFmpeg update for the addition of xHE-AAC decoder would be awesome as well.
The reason GNU starts with .1 releases today is that everyone started to skip .0 releases... :sly:
nevcairiel
6th June 2024, 11:48
Nev:
Any chance of adding an interface so I can assign a user-agent and referrer strings or possibly just a formatting option in the URL specified?
For example "https://www.somesite.org/stream|user-agent|referrer" ?
I've added a new interface for the next version of LAV to explicitly specify the user agent and referer when opening an URL.
I didn't particularly like parsing it out of a string, so dedicated function it is.
https://github.com/Nevcairiel/LAVFilters/blob/master/include/IURLSourceFilterLAV.h
It should be exposed on the LAVSplitterSource filter, just like IFileSourceFilter
Blight
7th June 2024, 12:51
I've added a new interface for the next version of LAV to explicitly specify the user agent and referer when opening an URL.
I didn't particularly like parsing it out of a string, so dedicated function it is.
https://github.com/Nevcairiel/LAVFilters/blob/master/include/IURLSourceFilterLAV.h
It should be exposed on the LAVSplitterSource filter, just like IFileSourceFilter
Very cool, I'll try it out once the new version comes out.
Just a quick question, when is the best time to set the referrer/user-agent values, before assigning the URL? before running the graph?
Prinz
7th June 2024, 17:25
Very cool, I'll try it out once the new version comes out.
According to build log on https://files.1f0.de/lavf/nightly/ , this change is already included in the lasted nightly build: LAVFilters-0.79.2-9.exe
So you should be able to test it out already.
lvqcl
7th June 2024, 18:20
Just a quick question, when is the best time to set the referrer/user-agent values
???
nevcairiel
7th June 2024, 21:48
Just a quick question, when is the best time to set the referrer/user-agent values, before assigning the URL? before running the graph?
The interface has you pass it in together with the URL you open, so that question doesn't even apply. :D
The function _replaces_ the Load function from IFileSourceFilter, so you just call this one if you want to specify this detail.
There is a problem with subtitle workshop latest versions with lav filters LAVFilters-0.79.2-5, LAVFilters-0.79.2-6 and LAVFilters-0.79.2-9. I'm attaching a shot of the error. Version LAVFilters-0.79.2-3 works fine without the error. https://thumbs2.imgbox.com/eb/30/9nRTpQNK_t.png (https://imgbox.com/9nRTpQNK) The error happens when I open mkv files with external srt subtitles.
nevcairiel
17th June 2024, 21:16
There is a problem with subtitle workshop latest versions with lav filters LAVFilters-0.79.2-5, LAVFilters-0.79.2-6 and LAVFilters-0.79.2-9. I'm attaching a shot of the error. Version LAVFilters-0.79.2-3 works fine without the error. https://thumbs2.imgbox.com/eb/30/9nRTpQNK_t.png (https://imgbox.com/9nRTpQNK) The error happens when I open mkv files with external srt subtitles.
This should hopefully be resolved in the next build.
Siso
18th June 2024, 12:31
This should hopefully be resolved in the next build.
Thank you. It is working properly.
tormento
6th September 2024, 11:05
Do LAV Filters support HEVC version 3 profiles (https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding#Version_3_and_higher_profiles)?
LigH
6th September 2024, 11:16
Watch ffplay trying to play it:
[hevc @ 000001f898a18ac0] Error parsing NAL unit #0.
[hevc @ 000001f898adea80] Could not find ref with POC 165
[hevc @ 000001f898adea80] Could not find ref with POC 160
[hevc @ 000001f898adea80] SCC profile is not yet implemented in hevc native decoder.
[hevc @ 000001f898adea80] Error parsing NAL unit #0.
[hevc @ 000001f898ba4bc0] alignment_bit_equal_to_one=0
[hevc @ 000001f898ba4bc0] Skipping invalid undecodable NALU: 0
The libavcodec HEVC decoder does not yet implement it. So LAV Filters, using this decoder, could not either.
Blight
16th September 2024, 14:20
I am writing a client for Emby/JellyFin and as a security measure, these media servers require an authentication token passed in the header field when opening the stream, for example:
X-Emby-Token=e70c7c19bf134fb2cb9032867715de81
Is there a way to specify custom headers when opening a stream? If not, can you please add one?
Blight
22nd September 2024, 16:47
I've encountered another issue with LAV Source/Splitter with regards to network streaming from a remote Emby server.
When seeking or changing a subtitle track, there's a large pause, anywhere from 1-25 seconds (I confirmed this issue exists in GraphStudio/GraphEdit).
However, if I use libVLC to seek or switch subtitle track, it's nearly instant.
Is there an opportunity to improve this behavior?
DMU
5th November 2024, 18:48
Hello everyone.
Need your advice.
After many years of problem-free viewing of 4K UHD (hevc), after reinstalling the OS (Windows 10 IoT Enterprise LTSC), something appeared that I cannot fix and understand. A few (3-10) minutes after playing a video, image freezes and sound stutters. The decoder load reaches 100% (Screenshot). If I press Pause, wait until the load drops to 0%, and then press Play again, the video first plays faster, and then starts playing normally again. On the same screenshot, the decoder load is shown at the bottom right. After a few minutes, everything repeats.
Tried different types of decoders (D3D11 / DXVA2 / native / copyback) - did not help.
Video playback is local, not over the network.
MPC-HC latest from github.
LigH
5th November 2024, 18:57
Can you monitor CPU or GPU temperatures?
DMU
5th November 2024, 19:18
It is definitely not a matter of overheating. The PC is currently installed in a cool room. The processor (APU) temperature does not rise above 40 degrees.
Sunspark
5th November 2024, 19:33
There is a decoder setting you haven't tried yet.. "None".. to have the CPU do the decoding. The purpose of testing with this setting would be to rule out the video card's involvement with the decoding process and see if the freezes happen again.
If it does, then at least you know it's not the decoder. So in that scenario it might be the video drivers.. so then cleanly remove them with DDU and install older drivers, perhaps the ones that MS already approved in the driver catalog.
DMU
5th November 2024, 20:29
Checked. 4-core APU is loaded by about 80%. Software decoding/playback is smooth. No glitches or drops.
Sunspark
5th November 2024, 20:58
There are other decoders you can try, you can make them work with HC too.
You can install MPC-BE's decoder from the standalone filters and configure HC to use it, or probably easier for you, to just install BE as a separate player and select madvr as the renderer from the dropdown. See if the stuttering still happens.
v0lt
6th November 2024, 04:56
After many years of problem-free viewing of 4K UHD (hevc), after reinstalling the OS (Windows 10 IoT Enterprise LTSC), something appeared that I cannot fix and understand. A few (3-10) minutes after playing a video, image freezes and sound stutters. The decoder load reaches 100% (Screenshot).
R3 3200G / Vega8
In my experience, Vega 8 graphics are not enough to reliably play 4k HDR 10-bit. 30 fps videos are still watchable, but problems arise at 60 fps. Also, remember that the load increases for high-bitrate videos.
If you did not have the problem before, then the new driver could have had an effect.
It is also worth monitoring the frequencies of the CPU, GPU and memory.
huhn
27th November 2024, 09:34
Hello everyone.
Need your advice.
After many years of problem-free viewing of 4K UHD (hevc), after reinstalling the OS (Windows 10 IoT Enterprise LTSC), something appeared that I cannot fix and understand. A few (3-10) minutes after playing a video, image freezes and sound stutters. The decoder load reaches 100% (Screenshot). If I press Pause, wait until the load drops to 0%, and then press Play again, the video first plays faster, and then starts playing normally again. On the same screenshot, the decoder load is shown at the bottom right. After a few minutes, everything repeats.
Tried different types of decoders (D3D11 / DXVA2 / native / copyback) - did not help.
Video playback is local, not over the network.
MPC-HC latest from github.
hardware decoder usually really don't care about bit rate. try a different power state.
AMD hardware decoder are utterly trash they can barely do 60 in the best of cases for what ever reason. they just do the bare minimum and hope it is enough and it looks like not this time. stick to native decode you have no bandwidth anyway.
Francois76l
24th December 2024, 12:15
Hi all
I reported few months ago a problem with v0.79: impossible to play a video without glitches.
Then v0.78 was updated to V0.79.2. It was better but still gave me glitches after approximately 30min of viewing.
The only way to get ride of it was to switch back to windowed mode then full screen again for a minute. That gave me an additional 30min without glitches.
That was not ideal so I went back to v0.78 which is working perfectly.
The PC is powerful (bi-xeon E5 with RTX 3080, MPC-HC/BE/Potplayer with madvr, no queue problem avec 25ms max of rendering time).
This week I upgraded to i9-14900KF + Windows 11 with same graphic card and v0.79.2 is now working 50min without glitches then it starts again. So I switched back to v0.78.
Am I alone?
Happy Christmas to everyone!
clsid
25th December 2024, 03:22
Have you tried disabling Hardware Accelerated GPU Scheduling (HAGS) in the Windows settings? That has helped for other MadVR users with a similar glitch issue after xx minutes.
It is very unlikely that your problem is caused by LAV Filters. Except perhaps if related to audio bitstreaming.
Francois76l
25th December 2024, 11:46
Thx for advice
I have never tried to disable HAGS so I will give it a try. This feature is not disable by default?
I'm using two separate hdmi output. One for the sound directly to my preamplifier (no 4K compatibility) and another one for the video directly to the projector.
Always in bitstream mode.
The problem appeared with v0.79 with windows 10 and 11.
I never had any issue with older versions.
ryrynz
25th December 2024, 21:48
The problem appeared with v0.79 with windows 10 and 11.
I never had any issue with older versions.
Try 0.78 to confirm
Francois76l
25th December 2024, 23:53
I'm using v0.78 because of the problem I have with v0.79.X and it's working perfectly
clsid
26th December 2024, 00:40
It is pretty much impossible for LAV to be the cause of this kind of issue. So it might be a case of tunnelvision.
Here are builds in between 78 and 79 to test:
https://files.1f0.de/lavf/nightly/0.78/
Also, when the problem occurs, press Ctrl+J to show MadVR debug OSD and make a screenshot.
Francois76l
28th December 2024, 20:25
Here is an example (60fps) same problem in 23.976 and HEVC. Many glitches continuously increasing after few minutes. Only way to get ride of it is to exit full screen exclusive for few seconds.
https://i.ibb.co/DYqHBDs/20241228-181552.jpg
obieobieobie
29th December 2024, 01:19
Here is an example (60fps) same problem in 23.976 and HEVC. Many glitches continuously increasing after few minutes. Only way to get ride of it is to exit full screen exclusive for few seconds.
https://i.ibb.co/DYqHBDs/20241228-181552.jpg
are you running some kind of VRR mode (g-sync or freesync)?
clsid
29th December 2024, 14:23
Start by lowering present in advance queue to 3 as recommended for 2xxx/3xxx series cards.
Lower the other queues back to their default. Reduce NGU very high to high.
Disable HAGS.
Francois76l
29th December 2024, 20:45
I increased present queue because lower value gave me glitches faster but I will make another try
I can decrease the other queue. NGU algorithm from very high to high doesn't change anything (I already tried).
The graphic card is powerful. I didn't use any sharpness algorithm in madvr (not good, JVC tools are far better now) and my rendering time is low (and v0.78 is working perfectly).
I will report tomorrow or tonight.
Thx for your help !
Francois76l
29th December 2024, 20:46
are you running some kind of VRR mode (g-sync or freesync)?
Only v-sync in driver control panel is activated by default.
Francois76l
30th December 2024, 00:23
Ok it needs time to be 100% sure but I think you are right.
I selected 4 frames in advance in fullscreen exclusive then after 40min of movie I got glitches. Render queue was not able to follow 16 (I had 12 max).
I then selected 14 CPU queue / 10 GPU queue and 4 frames in advance and it looks ok but I must check after watching more movies.
Thanks for your help!
Francois76l
1st January 2025, 23:05
Still not working. It's worse with low queue number (CPU 10 / GPU 8 / 4 frame in advance).
I switched back to v0.78 but thanks for your help
huhn
2nd January 2025, 07:09
please try 1-3 not 4.
leeperry
11th January 2025, 00:04
Hiya fellas, I'm sure I'm missing something but why does MPCHC-BE video decoder allow "D3D12" hw decoding but LAV is stuck to D3D11? :o
max79
12th January 2025, 19:46
@Nevcairiel
I'm trying to play a stream using LAV Splitter Source filter, I have two URLs, both work in VLC and if I download the M3U8 file, they are completely identical, but for some reason, only first one URL plays in DirectShow, LAV is returning "0x80004005" on "IFileSourceFilter" load function.
Examples:
https://cdn2.ntv.ru/ntv-msk/index.m3u8
https://cdn.ntv.ru/ntv-msk/index.m3u8
Any feedback would be appreciated.
Sunspark
12th January 2025, 20:08
Do you have the right links? Both files say forbidden in them?
max79
13th January 2025, 09:18
Do you have the right links? Both files say forbidden in them?
Hello,
both URLs works. Try to use VPN: Russia
Francois76l
20th January 2025, 22:44
please try 1-3 not 4.
I think I may have found the problem.
In LAV video decoder I selected 32 threads which correspond to what my CPU have. I'm now running with "Auto" and it looks ok. I will confirm in few days!
GTPVHD
30th January 2025, 15:58
https://developer.nvidia.com/nvidia-video-codec-sdk/download
https://docs.nvidia.com/video-technologies/video-codec-sdk/13.0/read-me/index.html
What's new in Video Codec SDK v13.0?
Encode Features:
H264 interlaced, 10-bit and 4:2:2 encoding support on Blackwell GPUs
HEVC 4:2:2 encoding support on Blackwell GPUs
MV-HEVC: Support MultiView coding in HEVC
AV1 LTR: Support Long-Term Reference frame in AV1
Support AV1 and HEVC Temporal Layer encoding
Support AV1 and HEVC MaxCLL, Mastering Display, and ITU-T T.35 SEI/Metadata
Decode Features:
2x H264 throughput and maximum supported resolution 8192x8192 on Blackwell GPUs.
H264 High10/High422 Profile support (exclude MBAFF) on Blackwell GPUs
HEVC Main 4:2:2 10/12 profile support (exclude YUV400) on Blackwell GPUs
Dynamic decode surfaces allocation
nevcairiel
30th January 2025, 16:04
More interestingly, the latest NVIDIA driver now supports the new HEVC DXVA decode profiles for 444 (and maybe also 422? I don't have blackwell and don't plan on getting one). Now its not only Intel anymore. Maybe I'll get around to supporting them properly sometime.
TheGameMaster
17th February 2025, 22:27
Yep. It's in their new build. It's working fine on my system. Their build in version of LAV works just as well as the stand alone / external version. The stand alone LAV doesn't have it yet. I honestly didn't notice any difference between d3d11 cb external LAV and d3d12 cb internal MPC-BE, running MadVR and XySubFilter. I also run ffdshow tryouts for AAC audio decoding - as it does a much nicer job of faking dolby suround/atmos - but I use LAV (or MPC-BE's built in LAV) for the rest of audio formats. I'm not sure what the differences are between MPC-BE's build in LAV and external LAV.
lvqcl
17th February 2025, 22:55
I'm not sure what the differences are between MPC-BE's build in LAV and external LAV.
MPC-BE doesn't have built-in LAV filters.
ryrynz
18th February 2025, 10:28
I'm not sure what the differences are between MPC-BE's build in LAV and external LAV.
You mean MPC-BE's internal filters, LAV is specifically Nevcairiel's filters that are also built in to MPC-HC but not BE. Source, Video and Audio filters in BE are created by the MPC-BE team and are updated as part of the ongoing player updates. As far as differences go, it comes down to features mostly with LAV offering more options for a typical power user.
jmone
2nd March 2025, 07:09
More interestingly, the latest NVIDIA driver now supports the new HEVC DXVA decode profiles for 444 (and maybe also 422? I don't have blackwell and don't plan on getting one). Now its not only Intel anymore. Maybe I'll get around to supporting them properly sometime.
Sounds great, given nvidia has joined intel in the 422 club. While it works, I'm not that keen on turning my source AVC/10-Bit/422 footage into 420 just to make it compatible for LAV/HW Accell.
v0lt
2nd March 2025, 13:17
Can someone please post a screenshot of the first tab of DXVA Checker 4.7.0 (https://bluesky-soft.com/en/DXVAChecker.html) for Nvidia RTX 50x0.
Sunspark
2nd March 2025, 17:21
Can someone please post a screenshot of the first tab of DXVA Checker 4.7.0 (https://bluesky-soft.com/en/DXVAChecker.html) for Nvidia RTX 50x0.
I don't have it, but they did list:
GPU MPEG2 H.264 HEVC Main HEVC Main 444 HEVC Main10 HEVC Main10 422 HEVC Main10 444 HEVC Main10 Ext HEVC Main12 HEVC Main12 422 HEVC Main12 444 VP9 Profile0 VP9 10bit Profile2 AV1 Profile0 AV1 12bit Profile2 420
GeForce RTX 5080 4K 8K 8K 8K 8K 8K 8K - 8K 8K 8K 8K 8K 8K -
So just HEVC Main10 Ext and AV1 12bit Profile2 420 with no support.
v0lt
2nd March 2025, 18:59
I don't have it, but they did list:
The presence of NVDEC decoder does not mean the presence of the same D3D11 and DXVA2 decoder.
Klaus1189
2nd March 2025, 20:24
OK, I made a screenshot of my 4090 and my 5090 for direct comparison:
4090 (https://drive.google.com/file/d/1xal32BNo6bRnWlctefRUwG70sXVKvaWY/view?usp=drive_link)
5090 (https://drive.google.com/file/d/1EkSd7vtQZ9BZ8UxFGDIuRhvKs12gEG1-/view?usp=drive_link)
If you need to know anything else, just let me know :)
nevcairiel
3rd March 2025, 10:00
Can you hover over the two 422 devices and let us know which output formats they list? I would expect Y210 and Y216 like Intel, but just want to be sure.
I have a 4090 myself for 444, and they use Y410/Y416 there as expected.
Not that I expect many renderers to actually support native DXVA/D3D11 with these formats. Especially Y210/Y216 is often troublesome, and likely will not be supported in JRVR for native, for example (although if you send it through D3D11-VPP, it might be able to transform it to something more useful, but I don't use that for quality reasons), so copy-back it'll be for those.
Aleksoid1978
3rd March 2025, 12:35
MPC VR already support all this HEVC Rext format for D3D11.
v0lt
3rd March 2025, 15:05
OK, I made a screenshot of my 4090 and my 5090 for direct comparison:
4090 (https://drive.google.com/file/d/1xal32BNo6bRnWlctefRUwG70sXVKvaWY/view?usp=drive_link)
5090 (https://drive.google.com/file/d/1EkSd7vtQZ9BZ8UxFGDIuRhvKs12gEG1-/view?usp=drive_link)
Thank you. Some formats (for example H.264 10 bit) are still only available in NVDEC.
Klaus1189
3rd March 2025, 17:48
Can you hover over the two 422 devices and let us know which output formats they list? I would expect Y210 and Y216 like Intel, but just want to be sure.
I have a 4090 myself for 444, and they use Y410/Y416 there as expected.
Not that I expect many renderers to actually support native DXVA/D3D11 with these formats. Especially Y210/Y216 is often troublesome, and likely will not be supported in JRVR for native, for example (although if you send it through D3D11-VPP, it might be able to transform it to something more useful, but I don't use that for quality reasons), so copy-back it'll be for those.
Here you go:
https://drive.google.com/file/d/1pAOG7Y5dyoqfiQd4qbEOnl0uRHas8XuY/view?usp=drive_link
https://drive.google.com/file/d/1ZIj1jx874PHP3RfNDn-2bM-LNQfW8y60/view?usp=drive_link
nevcairiel
3rd March 2025, 18:16
Thanks, as expected they use the same recommended format as Intel, so I can use that as well.
LigH
13th March 2025, 14:20
LAV Filters crash on AVIs with ASV1 (ASUS V1 raw) codec encoded videos. Will provide a small sample in a github issue (https://github.com/Nevcairiel/LAVFilters/issues/641).
PS: I had an old ffdshow installed, with ASV1 decoding support disabled, that caused the crash. When I enabled decoding support, MPC-HC and MPC-BE played the video. But that makes me wonder why they rely on a system-installed decoder at all. Peeking into libavcodec-61 DLLs of LAV Filters included in MPC-HC, as well as the mpc-be64.exe, I found ASV1 FourCCs mentioned. So I would assume they contain a matching decoder?!
What ffmpeg voodoo is happening with this E-AC-3 sample? There is a pop on the first playthrough. If I rewind and play again, there is no pop anymore. I don't have any tools to verify if the stream is corrupted. There is only one decoder and all PC players are affected by this. Liba52 seems abandoned.
https://pixeldrain.com/u/cUvWnMx7
There was another problem with unclean start of E-AC-3 inside MP4, with samples from 1537..1728 repeated at about 0..192 in the overlap of the first block, but I cannot reprouce it with MPC-Homecinema. Maybe it is fixed in recent ffmpeg. The same EC3 elementary stream is played cleanly with a fade-in ~128 samples as it ought to. The modern way of mastering music is to cut the track right before sound starts.
tebasuna51
5th May 2025, 09:47
j7n, your file seems ok, without errors, without pops in my players (begins with 0.2 sec. of silence the decoded wav):
File: C:\Users\Pepe\Downloads\whatifwe.eac3
Size: 850944 bytes
----------------------------------------- First Frame Info
StrmTyp .....................: 0 (0=Ind, 1=Dep, 2=AC3)
SubStreamID .................: 0
FrameSize....................: 3072 bytes (768 Kb/s)
SampleRate ..................: 0 (48000 Hz)
NumBlksCod ..................: 3 (6 Blocks)
Audio coding mode (acmod) ...: 7 (3/2 - L, C, R, SL, SR)
Low frequency effects channel: 1 (Present)
Version (bsid) ..............: 16 (Enhanced sintax)
Dialogue normalization ......: -18 dB
Dynamic Range gain ..........: 9.18 dB
Mixing metadata exist (ignoring rest)
------------------------------------------- Rest of Frames
EAC3 Fram SR TY ID BS BL CH LF DN Compre FrSize Bytes Before
--------- -- -- -- -- -- -- -- -- ------ ------ ------------
2 0 0 0 16 3 7 1 18 11.77 3072 0
...
277 0 0 0 16 3 7 1 18 3.34 3072 0
----------------------------------------- Revised EAC3 Info
Dyn. Range min/max : 1.49/12.30 dB
Frames Tot/Ind/AC3.: 277 / 277 / 0
Duration ..........: 8864 ms (0 h. 0 m. 8.864 s.)
------------------------------------------------- End Info
277 independent frames without errors, without dependents frames, only different compre.
I have a discontinuity at sample position 187136 on the first playback and also when decoding with one of the last ffmpeg XP builds. I use the last release of MPC-HC 2.4.2 x64. The discontinuity doesn't appear in Dolby Reference Player.
https://i.imgur.com/kcO5XyG.png
tebasuna51
6th May 2025, 13:26
You are right, seems a decoder problem.
I can't listen the click (near 3.9 sec.) but I can see it in decoded wavs.
Cavernize, LWLibavAudioSource (L-SMASH-Works-r1253.0.0.0) decode it fine (first decode).
ffmpeg (n7.1-186), FFAudioSource (ffms2-5.0-msvc) and BestAudioSource (R11) have the worse decode (2 and 3 decode)
I don't remember how use GraphEdit to save wav files to be sure if LAV filters make the same.
The sound is quite obvious between the words "to" and "be" on the right side (left front channel is clean). Adobe Audition decodes fine. I didn't realize that it could decode too.
tebasuna51
7th May 2025, 06:09
The sound is quite obvious between the words "to" and "be" on the right side (left front channel is clean).
Sorry, I listen the high frequencies at 3.905 but not the clik.
Try then GraphEdit to verify if LAV filter decoder is also affected:
so I've had OpenAI's O3 model try to analyze the differences and it came up with 3 important points, 2 of which should be simple to implement, please consider enhancing this functionality.
I think the main problem with AI is not that it is stupid, but that it does not understand its stupidity. That is why AI writes its answers with unperturbed confidence.
This is where another problem arises. Naive users believe the stupid AI and start writing its answers on the Internet as a good solution. This creates even more garbage on the Internet. I hope that in the future, publishing AI "answers" on many forums will be considered flooding.
Sure, with 32-bit from MPC-HC. https://i.imgur.com/JTSgI5T.png
A second sample, pourque.ec3, problem at 41728 right at the start. Only on the first playback. Maybe ffmpeg has processor-specific code, so it only happens sometimes?
https://pixeldrain.com/u/AFU54eoF
tebasuna51
7th May 2025, 08:56
I found how write wav file in avi container:
18945
And using LAV Audio decoder 0.79.2 in first play (x0) -> error, second play (x1) -> OK
18946
nevcairiel
7th May 2025, 09:31
Hi Nev, I know it's not the most thrilling of issues to fix, but can you please take look at this, I believe this issue can be partially resolved with a few small tweaks:
https://github.com/Nevcairiel/LAVFilters/issues/652
None of the statements that so called "Intelligence" provides are actually correct or event remotely useful. The code it cites does not exist, the options it recommends are wrong or their meaning distorted or entirely inverted, and the correct options that would do the tasks it suggests are set by default.
As a general rule for anyone ever reading this, any AI interaction will instantly get your post dismissed and probably ridiculed. Developers should know better.
I found how write wav file in avi container:
18945
And using LAV Audio decoder 0.79.2 in first play (x0) -> error, second play (x1) -> OK
18946
The whole spectrogram looks a bit different, not just the broken segment.
I suggest putting the sample files on FFmpeg bug tracker (https://trac.ffmpeg.org/query?status=new&status=open&status=reopened&col=id&col=summary&col=status&col=type&col=component&col=version&col=time&col=changetime&report=1&desc=1&order=changetime).
I have done so (https://trac.ffmpeg.org/ticket/11578).
Blight
8th May 2025, 14:18
None of the statements that so called "Intelligence" provides are actually correct or event remotely useful. The code it cites does not exist, the options it recommends are wrong or their meaning distorted or entirely inverted, and the correct options that would do the tasks it suggests are set by default.
As a general rule for anyone ever reading this, any AI interaction will instantly get your post dismissed and probably ridiculed. Developers should know better.
I sincerely apologize. I tried many different ways to understand the performance difference compared to libVLC and the answers O3 provided made sense, I should have dug deeper to verify the code exists.
The issue itself still stands. When performing a seek action on a remote Emby server or switching subtitle tracks, with libVLC the action is near-instant while in DirectShow using LAV Source, it can take 1-30 seconds. Is there any way I can help you debug this issue, taking into consideration that I limited understanding of the code itself? Is there a build that outputs a debug log that may help trace the issue?
A track change triggers a flush in the splitter. That is needed to acquire data packets for the new subtitle track, which can be located before current parsing position.
But perhaps an optimization could be done. If the splitter stores the end timestamp of the last processed sub packet, then it could decide if it is possible to skip the flush of audio and video queues, if last packet end time is in the past.
max79
11th May 2025, 18:29
@Nevcairiel
I'm noticed that LIVE-streams(HLS or MPEG-TS) that have subtitle track in it, lead a Graph Studio to crash right after trying to render a Video pin. Example(This site works only in Russia. Please use VPN):
https://rt-ural-sur-htlive.cdn.ngenix.net/hls/CH_R02_OTT_TNR7/variant.m3u8
Stream contain this subtitle track:
MEDIATYPE_Subtitle {E487EB08-6B26-4BE9-9DD3-993434D313FD}
MEDIASUBTYPE_UTF8 {87C0B230-03A8-4FDF-8010-B27A5848200D}
FORMAT_SubtitleInfo {A33D2F7D-96BC-4337-B23B-A8B9FBC295E9}
p.s. I have no no crash only if I render a Subtitle pin first and only then render a Video pin.
Any feedback would be appreciated.
Blight
13th May 2025, 13:14
Is line 21 (closed captioning) in live streams supported by LAV Filters?
There are no sub/line21 pins exposed. I verified, a CC track exists on this stream using libVLC.
nevcairiel
13th May 2025, 17:07
Is line 21 (closed captioning) in live streams supported by LAV Filters?
There are no sub/line21 pins exposed. I verified, a CC track exists on this stream using libVLC.
https://github.com/Nevcairiel/LAVFilters/blob/master/include/LAVVideoSettings.h#L405
Blight
13th May 2025, 17:20
https://github.com/Nevcairiel/LAVFilters/blob/master/include/LAVVideoSettings.h#L405
Thank you 🙏
Is there any downside to always enabling the CC output pin creation?
Blight
18th May 2025, 14:05
https://github.com/Nevcairiel/LAVFilters/blob/master/include/LAVVideoSettings.h#L405
I enabled the pin, found a stream that is verified to support closed captions, but trying to connect the line21 pin to the Microsoft's "Line 21 Decoder 2" filter results in an error #0x80040207 (VFW_E_NO_ACCEPTABLE_TYPES).
I noticed the output pin on LAV Video decoder exposes "MEDIATYPE_DTVCCData" instead of the expected "MEDIATYPE_AUXLine21Data" which may be the cause.
Is there something I'm not taking into consideration?
nevcairiel
18th May 2025, 14:33
Its designed to be CEA 708 DTV CC data, not the older Line 21 data.
Blight
19th May 2025, 17:06
Its designed to be CEA 708 DTV CC data, not the older Line 21 data.
I tried DirectVobSub/xySubFilter and neither one supports this format.
I even tried passing it through the SAMI (CC) Parser filter with no success (error 0x80004002)
https://learn.microsoft.com/en-us/windows/win32/directshow/sami--cc--parser-filter
Can it be used with any existing DirectShow components? I searched but it's not very clear.
Sunspark
19th May 2025, 17:24
You could try MPC-BE's decoder with EVR-CP to verify whether or not it works with the media you're working with and go from there. "Line 21 Decoder - enabled for Microsoft DTV-DVD Video Decoder and EVR-CP". Not sure if you also need to check on the line 21 checkbox in the DVD settings (present in both HC and BE) for streams, or if the checkbox is only for DVD.
Blight
19th May 2025, 17:54
You could try MPC-BE's decoder with EVR-CP to verify whether or not it works with the media you're working with and go from there. "Line 21 Decoder - enabled for Microsoft DTV-DVD Video Decoder and EVR-CP". Not sure if you also need to check on the line 21 checkbox in the DVD settings (present in both HC and BE) for streams, or if the checkbox is only for DVD.
Nev wrote earlier that he's translating the line 21 data to another format, that's why I'm unable to get it to work, it's incompatible with Microsoft's line 21 decoder.
I tried to see if MPC-BE works any better, it doesn't detect the closed captions at all.
For reference, I'm not playing a DVD, this is a live stream.
nevcairiel
20th May 2025, 09:10
The data is not being translated, its exposed as-is from the video bitstream if present (typically from SEI NALs). Basically the data FFmpeg exposes as AV_FRAME_DATA_A53_CC (eg. "ATSC A53 Part 4 Closed Captions.", also known as CTA-708 (formerly EIA-708 and CEA-708))
The data format consists of a number of cc_data_pkt (definition of which can be seen in the CTA-708 specification), the number can be obtained from buffer size / 3 (as each cc_data_pkt is 3 bytes, one control byte and two CC data bytes).
I have no idea if any existing filter exists that can handle it - make your own if needed. I know for a fact that the LAV data is being used for subtitles successfully with custom filters.
Microsoft abandoned DirectShow a long time ago. The Microsoft provided filters are stuck in a state from 15 years ago or so.
This format is the digital successor to Line21 data, which is also mandatory in US broadcasts, so should always be available.
Blight
20th May 2025, 13:27
The data is not being translated, its exposed as-is from the video bitstream if present (typically from SEI NALs). Basically the data FFmpeg exposes as AV_FRAME_DATA_A53_CC (eg. "ATSC A53 Part 4 Closed Captions.", also known as CTA-708 (formerly EIA-708 and CEA-708))
The data format consists of a number of cc_data_pkt (definition of which can be seen in the CTA-708 specification), the number can be obtained from buffer size / 3 (as each cc_data_pkt is 3 bytes, one control byte and two CC data bytes).
I have no idea if any existing filter exists that can handle it - make your own if needed. I know for a fact that the LAV data is being used for subtitles successfully with custom filters.
Microsoft abandoned DirectShow a long time ago. The Microsoft provided filters are stuck in a state from 15 years ago or so.
This format is the digital successor to Line21 data, which is also mandatory in US broadcasts, so should always be available.
Thank you for the detailed information,
Unfortunately, my expertise lies in user interfaces and less so in filter development, which is why I hoped for something off the shelf I could integrate rather than telling people to switch to the libVLC engine.
Would it be possible to translate this format to a subtitle format on the output pin?
Blight
20th May 2025, 21:37
In order to better understand why seeking with LAV is so much slower than with libVLC, I've had the network connections tracked using Wireshark.
The same exact stream was played (a TV episode on a remote Emby media server) using both libVLC and LAV. In both cases, 4 seeks were made.
The wrapper format is this case is MKV.
And here are the results:
Seeking with libVLC
https://docs.google.com/spreadsheets/d/1tmWxsOn-pyWHSkLDrF15Kx_wr-7WUeSU79Q7AHFzzVk/edit?gid=716414888#gid=716414888
Seeking with LAV
https://docs.google.com/spreadsheets/d/1myw2Dk_LujD3hq1ZGh8CahN2AdRtZbQKit3xdKkVgP8/edit?gid=1650206653#gid=1650206653
As you can see, seeking with libVLC performs 1 HTTP/GET command per seek.
Seeking with LAV performs about 45 HTTP/GET commands per seek.
Can this be resolved?
masodes
28th May 2025, 12:30
Hi there,
Is there any possibility to make a captured 3D Frame Packed stream compatible wit LAV Video decoder?
The capture card's directshow filter outputs a 1920x2205 stream with MEDIATYPE_Video and MEDIASUBTYPE_YUY2 for example.
How has this to be transformed for LAV Video decoder to accept it as input and recognize it as 3D and pass it on to the renderer?
The renderer, madVR in this case, should then be able to output again as 3D Frame Packed via HDMI.
Edit: So far I've built a directshow filter that is working as expected in graphstudionext.
But in MPC-HC I'm not able to block the Smart Tee Filter, which makes my own filter useless.
With PotPlayer there is always the Built-in Video Codec/Transform after my filter, so it is not working either.
Does anybody have an idea, how to solve this?
Edit2: Found out that MPC-HC is forcing Capture Sources to use Smart Tee Filter. Removed this restriction now in my own build.
Blight
2nd June 2025, 21:10
Edit: So far I've built a directshow filter that is working as expected in graphstudionext.
But in MPC-HC I'm not able to block the Smart Tee Filter, which makes my own filter useless.
With PotPlayer there is always the Built-in Video Codec/Transform after my filter, so it is not working either.
Does anybody have an idea, how to solve this?
If you'd like, I can try helping you get it working in Zoom Player.
masodes
3rd June 2025, 06:27
If you'd like, I'll can try helping you get it working in Zoom Player.
Thank you, but I already found kind of a solution 👍
clsid
6th June 2025, 23:48
@nevcairiel
Can you build an updated MinGW pack for GCC 14.3 or 13.4?
There is some sort of corruption visual glitches decoding x264 with LAVFilters-0.79.2-41 and LAVFilters-0.79.2-47. Last working version for me is LAVFilters-0.79.2-31. https://thumbs2.imgbox.com/9e/03/mhAgdxvp_t.png (https://imgbox.com/mhAgdxvp) https://thumbs2.imgbox.com/b7/57/Plp6k6Xz_t.png (https://imgbox.com/Plp6k6Xz)
manolito
9th June 2025, 04:11
Just to clarify:
You are talking about this:
Nightly testing builds are available here:
https://files.1f0.de/lavf/nightly/
Is this correct?
The latest stable build is this one:
0.79.2 - 2024/04/08
Cheers
manolito
nevcairiel
9th June 2025, 06:13
Going to need a sample file. Also software or hardware decoding? I have no observed anything like that.
MPC-BE latest stable build, madvr 112, LAVFilters-0.79.2-47. Happens only with x264 with one movie: D3D11 Native in LAV video decoder. Sample: https://1cloudfile.com/N16v
nevcairiel
9th June 2025, 09:05
Thanks for the sample, I can reproduce the issue. Will take a look.
Edit:
Fixed
Thanks for the sample, I can reproduce the issue. Will take a look.
Edit:
Fixed
Thank you for your quick response.
nevcairiel
20th June 2025, 11:18
LAV Filters 0.80
LAV Splitter
- NEW: Introduced the IURLSourceFilterLAV interface to allow opening URLs with custom user agent and referrer
- NEW: Added support for WebP images
- Changed: Increased the length of the advanced subtitle selection field, so its no longer cut off after 255 characters
- Changed: Improved buffering behavior on badly interleaved video files
- Fixed: Audio streams with an unknown/unsupported codec are no longer selected for playback, as long as others are present
- Fixed: Improved accuracy of reported FPS from AviSynth scripts
LAV Video
- NEW: D3D11 support for HEVC 4:2:2 and 4:4:4 hardware decoding
- NEW: Dolby Vision extension metadata is exported for renderers to use
- Changed: Added additional media types to support more video streams
- Changed: Updated dav1d for significant AV1 decoding improvements
- Fixed: Improved handling of H.264 4:4:4 files encoded by certain versions of x264
- Fixed: VP9 DXVA2/D3D11 decoding could result in artifacts on some clips
- Fixed: Decoding ProRes reports more accurate color details
LAV Audio
- Changed: Added support for additional ADPCM audio codecs
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.80.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.80.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.80-x64.zip)
After a long wait, finally new update.
Headline change in this update, for me, D3D11 HEVC 4:2:2/4:4:4 support. Both in copy-back, and in theory in native, although I'm not sure if any renderer supports native (yet).
I do not currently plan to bring that to DXVA2 as well due to certain limitations, but maybe that changes in the future.
As always, report issues and regressions, in as much detail as possible.
lvqcl
20th June 2025, 21:02
Thanks!
LAV Filters 0.80
Headline change in this update, for me, D3D11 HEVC 4:2:2/4:4:4 support. Both in copy-back, and in theory in native, although I'm not sure if any renderer supports native (yet).
It seems that MPC VR supports 4:4:4 native (maybe it also supports 4:2:2, but I cannot test it right now).
But: I can get HEVC 4:4:4 8-bit native decode only if I manually enable AYUV format in LAV Video settings. If it's disabled then I get copyback with YV24.
No problems with 10-bit and 12-bit HEVC.
nevcairiel
20th June 2025, 21:28
That is expected, because AYUV is the 4:4:4 8-bit hardware surface format for the decoder. AYUV caused some issues in the past with some renderers, but maybe it should be enabled by now.
Note that 4:2:2 >8-bit native is not currently supported because LAV does not support Y210/Y216 output formats natively. I should probably add it at some point.
Blight
29th June 2025, 13:27
nev:
Is there a way to control the timeout on network connections? (.ts / .m3u8 streams)
I noticed that with some bad connections, the timeout can be ~20seconds, it would be nice to be able to control the timeout value.
tv-viewer
3rd July 2025, 07:05
The librempeg (https://github.com/librempeg/librempeg) fork of ffmpeg has added support for a number of codecs not supported in mainline ffmpeg, most notable to me being AC-4 due to its use in ATSC 3.0 broadcasts in the USA, Korea, and elsewhere. Can AC-4 support be added to LAV Filters?
v0lt
12th July 2025, 13:36
most notable to me being AC-4 due to its use in ATSC 3.0 broadcasts in the USA, Korea, and elsewhere.
Please provide recording files of real broadcasts with AC-4 audio (not tests, not demos).
tv-viewer
17th July 2025, 01:18
Please provide recording files of real broadcasts with AC-4 audio (not tests, not demos).
Happy to. Is there a preferred place to upload them?
v0lt
17th July 2025, 16:10
Happy to. Is there a preferred place to upload them?
drive.google.com, mega.io, www.dropbox.com, www.mediafire.com and other services.
ipanema
17th July 2025, 16:49
If I connect a custom DirectShow filter that only accepts samples in RGB format to the output of the LAV video decoder when D3D11 hardware acceleration is selected in the settings, will it output the RGB frames in GPU memory?
I know that the custom filter's input pin must also implement ID3D11DecoderConfiguration to receive samples in GPU memory.
But reading the source code suggests that only NV12 and some other YUV pixel formats can be output in GPU memory - for example in d3d11va.cpp we have:
CMediaType mt = m_pCallback->GetOutputMediaType();
if ((m_SurfaceFormat == DXGI_FORMAT_NV12 && mt.subtype != MEDIASUBTYPE_NV12) ||
(m_SurfaceFormat == DXGI_FORMAT_P010 && mt.subtype != MEDIASUBTYPE_P010) ||
(m_SurfaceFormat == DXGI_FORMAT_P016 && mt.subtype != MEDIASUBTYPE_P016) ||
(m_SurfaceFormat == DXGI_FORMAT_AYUV && mt.subtype != MEDIASUBTYPE_AYUV) ||
(m_SurfaceFormat == DXGI_FORMAT_Y410 && mt.subtype != MEDIASUBTYPE_Y410) ||
(m_SurfaceFormat == DXGI_FORMAT_Y416 && mt.subtype != MEDIASUBTYPE_Y416) ||
(m_SurfaceFormat == DXGI_FORMAT_YUY2 && mt.subtype != MEDIASUBTYPE_YUY2) ||
(m_SurfaceFormat == DXGI_FORMAT_Y210 && mt.subtype != MEDIASUBTYPE_Y210) ||
(m_SurfaceFormat == DXGI_FORMAT_Y216 && mt.subtype != MEDIASUBTYPE_Y216))
{
DbgLog((LOG_ERROR, 10, L"-> Connection is not the appropriate pixel format for D3D11 Native"));
SafeRelease(&pD3D11DecoderConfiguration);
}
So is LAV video decoder only capable of outputting frames in RGB format in CPU (not GPU) memory?
nevcairiel
17th July 2025, 21:55
So is LAV video decoder only capable of outputting frames in RGB format in CPU (not GPU) memory?
LAV Video can only output hardware frames in the same format as the decoder outputs them. First it would depend on the video you are decoding, as that would dictate the format, and secondly, RGB is not among those. Even if a video was RGB (eg. HEVC 4:4:4 in RGB), it would come out as AYUV/Y410 with a RGB color matrix instead.
LAV can certainly not convert any video to RGB as a hardware surface. If you require that, its on you to make happen.
ipanema
18th July 2025, 00:02
Thanks for confirming that. Sounds like the custom filter needs to accept nv12 to receive it in GPU memory, then use a shader to convert it to RGB, still in GPU memory.
ipanema
18th July 2025, 14:29
Just one more quick confirmation...
If the LAV decoder is configured to use D3D11, and it is outputting RGB (either because it is the only output format selected in the config window, or the downstream filter will only accept RGB), it will be outputting in CPU memory BUT the actual decoding will still be done in hardware (not using the software decoder)?
(So LAV will convert the decoded frames from NV12 in GPU memory to RGB in CPU memory for output.)
clsid
18th July 2025, 22:45
Yes, copyback mode can output/convert in all colorspace in cpu mem.
What does your custom filter do? Ideally it should support nv12/p010/etc.
tv-viewer
19th July 2025, 03:47
Please provide recording files of real broadcasts with AC-4 audio (not tests, not demos).
Couple of real ATSC 3.0 broadcasts from HDHomeRun:
WJCT-DT https://www.dropbox.com/scl/fi/8hcfd5hscr8cmd73gdpeq/WJCT.ts?rlkey=3fz6xh5n9cnnu57ql7ldwmgye&st=gdq04678&dl=0
KDAF-DT https://www.dropbox.com/scl/fi/63knsuhsdocns60oo82q0/KDAF.ts?rlkey=spa9qtat1n0dw1mdi8wa6klac&st=g9xho4xg&dl=0
v0lt
19th July 2025, 05:35
Thanks.
Checked in MPC-BE - plays.
Sent to ticket #8349 (FFmpeg) (https://trac.ffmpeg.org/ticket/8349#comment:96).
ipanema
20th July 2025, 14:38
Thanks - OK, think I've got it now.
Eventually hoping the filter will write text or other graphics directly onto the surface/texture in GPU memory - but it's early days so far! Still quite a bit to learn. Thanks again.
mclingo
26th July 2025, 21:35
I haven't got much DTSX material So I'm not sure how long I've had this issue when I play Dolby Atmos it correctly plays all the sounds on the correct speakers I have 5.1 .2 which is a 5.1 standard setup with two front height speakers. when I play DTSX it correctly plays the rear height out of the front heights But plays the front heights out of left and right where it should be summing both heights to the front heights, This works correctly in atmos so it can't be an issue with lav setup?
i have a yamaha V685 anyone any ideas
tebasuna51
27th July 2025, 09:14
LAV filters can't decode properly 3D audio from DTSX or Atmos. You need a proprietary decoder to do so (only Cavernize can decode EAC3 Atmos).
To obtain the 3D audio you need to tell the player to pass the Atmos or DTSX directly to your Yamaha for decoding.
Therefore, it can never be a problem with the LAV filters.
What is your player? Verify if have passtrough (bitstreaming HDMI) for audio TrueHD, Eac3, DTS...
mclingo
27th July 2025, 11:06
you can't get any height audio without using pass through, as atmos is perfectly fine it should tell you I'm already using bit streaming, this is just dts-x issue as far as I can tell
mclingo
27th July 2025, 11:59
I've actually had some progress with this using chat GPT Of all things, it told me to check what my front height present speakers were set to on my AVR which I just assumed was set correctly because atmos was working, however they were set to "overhead" and not "height" When they were set to it "height" it sent my front height audio out of my height speakers however it sent my rear height information out of my rear speakers, but as I don't have any rear heights having it come out of the might be better than come out of the front heights anyway.
I'm still not sure why it's not summing all high audio information to my front heights as my AVR is definitely set up as 5.1.2
tebasuna51
28th July 2025, 09:23
If you use always passtrough the problem concern always to your AVR YAMAHA RX-V685, maybe you can open other thread out off this LAV filter thread.
I have a Denon AVR and I can't help you with your Yamaha, sorry.
mclingo
28th July 2025, 13:07
out of interest, in LAV audio options, what should be ticked their for my setup, 5.1.2 using front heights to sum all height audio - I currently have expand 6.1 to 7.1 ticked, use legacy 5.1 layout ticked and convert to standard channels is unticked. Thoughts?
huhn
28th July 2025, 14:41
only matters for PCM if you are bit streaming and rare formats that may not be supported.
you have to know if you have the legacy 5.1 or "modern" 5.1 as a base layout.
mclingo
28th July 2025, 15:10
thanks for the info, not sure what you mean by modern or base, my AVR is set to BASIC which is 5.1.2 front height presence, maybe its normal behaviour, maybe ATMOS sums all height audio to whatever height speakers you have setup and DTS sends front height audio to front and if you dont have back heights it sends them to back surround, kind of makes sense, just thought someone might know if that was the case.
tebasuna51
29th July 2025, 10:14
out of interest, in LAV audio options, what should be ticked their for my setup, 5.1.2 using front heights to sum all height audio - I currently have expand 6.1 to 7.1 ticked, use legacy 5.1 layout ticked and convert to standard channels is unticked. Thoughts?
As I mentioned before, this is excluded from LAV filters when the source is Atmos or DTSX audio, as they cannot be properly decoded.
However, if these formats have been previously decoded to PCM 5.1.2, as I explained in Surround 3D (https://forum.doom9.org/showthread.php?t=186285) (I don't know how for DTSX), it would be interesting to investigate how a player that uses LAV filters can send that PCM to an AVR.
In my specific case, a Denon AVR, I was only able to achieve this with a trick (https://forum.doom9.org/showthread.php?p=2017560#post2017560), as any configuration I used failed to recognize the high front channels.
mclingo
29th July 2025, 10:55
right got you, I think I have it setup now with something I can live with, not much DTS in my collection anyway so great, thanks.
clsid
29th July 2025, 12:05
MPC-HC audio switcher has a channel mapping feature that you could use to redirect those two channels.
mclingo
29th July 2025, 12:38
that would only work with PCM surely though?
clsid
29th July 2025, 13:00
Of course.
When bitstreaming, the audio stream is send in its original compressed form to the receiver, and the receiver is completely and totally responsible for doing ALL decoding / processing / channel mixing / volume control. No exceptions. On the PC side the audio can not be manipulated at all (unless it is transcoded).
tebasuna51
30th July 2025, 07:33
that would only work with PCM surely though?
Like I say in my thread:
"This way, whether mpc-hc decodes a correct EAC3/m4a/flac 5.1.2 or an AAC/Opus 7.1 with inverted 5.1.2 channels, the result will be the desired one: hearing the top channels through the fake back channels."
LAV filters can decode previously (if EAC3 you need unmark the bitstreaming for it) and after the AudioSwitcher do the job.
I recommend m4a generated by ffmpeg with libfdk
Kurt.noise
25th August 2025, 14:22
Not sure if this is the right place to ask new request but is it possible to have the APV codec support since its officially available through FFmpeg 8.0 release ?
:thanks:
v0lt
25th August 2025, 14:48
Not sure if this is the right place to ask new request but is it possible to have the APV codec support since its officially available through FFmpeg 8.0 release ?
1. First, tell us what you need this codec for? :rolleyes:
2. Where is this codec used?
3. Please provide samples with this codec. Files should not be made in FFmpeg.
Kurt.noise
25th August 2025, 15:03
1. First, tell us what you need this codec for? :rolleyes:
why not ? why we have RealVideo, FLV1, VP3 in there ? Noone use them nowadays :rolleyes:
2. Where is this codec used?
All Android 16 devices (https://www.androidauthority.com/android-16-beta-1-3518608/) + Samsung stuff, mpv and related players, not enough for you ?
3. Please provide samples with this codec. Files should not be made in FFmpeg.
https://forum.doom9.org/showthread.php?t=185868
v0lt
25th August 2025, 16:09
why not ? why we have RealVideo, FLV1, VP3 in there ? People have old video files. :rolleyes:
People have old video files.
All Android 16 devices + Samsung stuff, mpv and related players, not enough for you ?
This does not answer the question of what this codec is used for.
https://forum.doom9.org/showthread.php?t=185868
There are no samples except one test file encoded with FFmpeg.
LigH
25th August 2025, 16:27
The media-autobuild suite added support for this high quality high resolution intermediate codec, similar to Apple ProRes.
The APV codec is a professional video codec, which was developed in response to the need for professional level high quality video recording and post production. The primary purpose of the APV codec is for use in professional video recording and editing workflows for various types of content.
https://github.com/AcademySoftwareFoundation/openapv (raw samples in test subdir)
Blight
29th August 2025, 12:44
Looks like ffmpeg v8 supports whisper AI's voice to subtitle.
It would be very cool if there was an setting to enable/disable support for it and have the subs exposed as an embedded sub pin.
Kurt.noise
29th August 2025, 16:05
Not sure if this is the right place to ask new request but is it possible to have the APV codec support since its officially available through FFmpeg 8.0 release ?
:thanks:
Looks like there is only the encoder at the moment. So, forget what I said.
LigH
29th August 2025, 16:11
No, OpenAPV is available as both encoder and decoder.
ffmpeg -codecs | find "apv"
DEVIL. apv Advanced Professional Video (encoders: liboapv)
in my build of today, made by M-AB-S.
v0lt
29th August 2025, 17:35
What professional software (except FFmpeg) uses the "Advanced Professional Video" codec? :D
LigH
29th August 2025, 17:58
Hey ... how long did it take for "professional software" to support the Matroska container after it was just even introduced in the freeware video scene?
AVP is free and it is useful. Shall it be ignored only because Apple ProRes is more widely used right now? How much trouble is adding it, even?
v0lt
30th August 2025, 06:47
AVP is free and it is useful. Shall it be ignored only because Apple ProRes is more widely used right now? How much trouble is adding it, even?
I think the first steps for a professional codec should be from the content creation software side (Kdenlive, OpenShot, ...). Then there will be more videos and support in players.
APV is only introduced in the new version of FFmpeg 8.0. There is simply no other information available right now.
This is a bit reminiscent of the situation with the Essential Video Coding (EVC) codec. There was a lot of noise, but video files with this codec never became widely available. I have never come across it at all.
LigH
30th August 2025, 07:11
As most OpenSource video editors use the ffmpeg core, it is quite probable that they will support AVP as soon as they update their core to version 8.0 of ffmpeg. I will not install them to look into them for you, though. Just reporting some information from their websites (which may not be up to date until someone edits them):
Kdenlive:
Support for high (HD) and ultra-high (UHD/4K) resolution camcorder files, including: MPEG-2, MP4, Matroska, WebM, Apple ProRes 422 HDV; H264 AAC HDV ...
Export to any format supported by ffmpeg, including DVD (PAL and NTSC), MPEG-2 and MP4 (PAL, NTSC and HD, UHD/4K), Matroska-H264/H265, AAC, AC3, MP3, Apple ProRes 422
OpenShot:
Based on the powerful FFmpeg library, OpenShot can read and write most video and image formats. For a full list of supported formats, see the FFmpeg project. OpenShot's export dialog defaults to some of the more common formats, but with the advanced tab, you can use any FFmpeg format.
If anyone here actively uses any of them, please look into codec lists of the most recent versions and report here.
Sunspark
30th August 2025, 21:21
Sure, this second APV isn't needed, but it should be allowed later.
This is from the Android 16 release notes:
"In Android 16, we're launching platform support for the Advanced Professional Video (APV) codec. The APV codec is a high-bitrate intra-frame codec designed to give content creators top-quality captures and edits.
Also, Google plans to transition all users from VP8, VP9, and AVC (H.264) to AV1. App developers prefer AV1, the next generation of codecs, to avoid transcodes in the backend and reduce latency. Hardware codecs are still recommended, especially for encoding, despite the fact that AV1 software codec support is improving.
You can adopt AV1 for a higher quality, reliability, and concurrency and consider APV support in the Camera and Gallery app."
nevcairiel
1st September 2025, 13:48
Since APV is supported in FFmpeg without the need of an external library, its not even any real effort to support and will be added once I update FFmpeg the next time soon.
Orf
15th September 2025, 15:34
nevcairiel,
In a custom renderer I'm trying to implement support for getting D3D11 texture samples from LAV video decoder directly. I'm utilizing your ID3D11DecoderConfiguration and IMediaSampleD3D11 interfaces for that purpose.
Connection media subtype NV12 is used and LAV Video decoder correctly calls GetD3D11AdapterIndex (I return 0) and
ActivateD3D11Decoding so I have d3d11 interfaces. At the point the DS graph is built LAV video decoder reports 'd3d11 native' is used.
But at point when first sample arrived LAV video decoder get switched to software decoding and first sample is never IMediaSampleD3D11 but IMediaSample instead. At this time it also reports 'avcodec' is used.
I try to investigate why it happens and found that it is not hardware related because:
1) if I return error from ActivateD3D11Decoding LAV video decoder switched to 'd3d11 cb native' and it works fine
2) if I build graph with madVR as a renderer at first and then disconnect LAV Video decoder from madVR and connect it to my renderer 'd3d11 native' starts work with my renderer just fine too
I seems to me that LAV video decoder expects from renderer to do something else, which madVR does and my renderer doesn't.
I try to find what it might be examining LAV source code but didn't find anything that gives me a clue.
So I need your favour with that, can you please shed some light on this?
nevcairiel
15th September 2025, 15:39
One thing to check might be that in HW native mode, LAV needs to provide the sample allocator - so if such a mode is enabled, you should not provide an allocator from the renderer, and let LAV provide it.
lvqcl
15th September 2025, 16:13
No latest nightly build?..
Orf
15th September 2025, 17:10
One thing to check might be that in HW native mode, LAV needs to provide the sample allocator - so if such a mode is enabled, you should not provide an allocator from the renderer, and let LAV provide it.
You are right, thank you for your help. Manage to get it work after returning E_FAIL from input pin GetAllocator method, but now I'm wonder is it better to always let LAV provide an allocator if currently I'm using nothing more then the default CBaseInputPin GetAllocator implementation ?
nevcairiel
15th September 2025, 17:33
For software input most renderers will try to provide a certain stride thats ideal for their purposes, for which you need to control the allocator - if there is no need to do so, you can just let LAV provide one.
Orf
15th September 2025, 18:03
nevcairiel, got it, thanks again
Aleksoid1978
16th September 2025, 04:34
nevcairiel,
In a custom renderer I'm trying to implement support for getting D3D11 texture samples from LAV video decoder directly. I'm utilizing your ID3D11DecoderConfiguration and IMediaSampleD3D11 interfaces for that purpose.
Connection media subtype NV12 is used and LAV Video decoder correctly calls GetD3D11AdapterIndex (I return 0) and
ActivateD3D11Decoding so I have d3d11 interfaces. At the point the DS graph is built LAV video decoder reports 'd3d11 native' is used.
But at point when first sample arrived LAV video decoder get switched to software decoding and first sample is never IMediaSampleD3D11 but IMediaSample instead. At this time it also reports 'avcodec' is used.
I try to investigate why it happens and found that it is not hardware related because:
1) if I return error from ActivateD3D11Decoding LAV video decoder switched to 'd3d11 cb native' and it works fine
2) if I build graph with madVR as a renderer at first and then disconnect LAV Video decoder from madVR and connect it to my renderer 'd3d11 native' starts work with my renderer just fine too
I seems to me that LAV video decoder expects from renderer to do something else, which madVR does and my renderer doesn't.
I try to find what it might be examining LAV source code but didn't find anything that gives me a clue.
So I need your favour with that, can you please shed some light on this?
You can check here how work with D3D11 Native Decoder
https://github.com/Aleksoid1978/VideoRenderer
nevcairiel
16th September 2025, 09:33
No latest nightly build?..
I didn't update the build machine when I upgraded my security keys (so the upload failed), it should be working again now.
Orf
16th September 2025, 13:09
You can check here how work with D3D11 Native Decoder
https://github.com/Aleksoid1978/VideoRenderer
nevcairiel already solved the problem I have, but I will check your sources too, thanks
mzso
16th September 2025, 21:34
Hello!
I've not been paying attention for a good while. Is it possible to decode and render correctly (for headphones preferably) Atmos/DTS:X nowadays with LAV? Or any other free software?
huhn
16th September 2025, 23:12
HRTF mixing is not a feature.
halcom
18th September 2025, 03:35
Anyone else had trouble downloading lav0.80.zip (the LAV ffmpeg fork) from
https://gitea.1f0.de/LAV/FFmpeg
Been trying for about a week now. Just get the spinning wait icon with nothing downloaded. I let it run all night and still nothing.
Tried firefox & chrome but both behave the same. Is there an alternate location to download it?
Any help greatly appreciated!
LigH
18th September 2025, 06:04
This is a source code repo. I cannot find any ZIP archive there.
halcom
18th September 2025, 06:59
https://gitea.1f0.de/LAV/FFmpeg
- In the upper right press "tags"
- takes you to a page where you should be able to download zips of the sourcecode for all the versions.
- normally you can simply right click and do a save but the download never starts.
LigH
18th September 2025, 08:49
You are right.
The same does not work for the "Download ZIP" link in the menu dropping out of the blue "<> Code" button. Let me try using git clone ... worked.
Mirror: gitea_LAV_FFmpeg.7z (https://www.mediafire.com/file/ypgs6gbwa8ve3o7/gitea_LAV_FFmpeg.7z/file) (182 MB)
nevcairiel
18th September 2025, 11:03
That should hopefully work again, for some reason there were thousands of dead requests that were blocking it.
Orf
18th September 2025, 14:23
nevcairiel,
few more things I noticed about d3d11 native:
1) when video coded with h264, and 'H.264' checkbox unchecked in 'Codecs for HW decoding' decoder status says it falls back to 'avcodec' but it get stuck then and never outputs any samples
2) the description of ID3D11DecoderConfiguration mentions:
// To facilitate dynamic switching of the adapter used for decoding, the
// renderer should disconnect the decoder and re-connect it. At that
// point the decoder should query GetD3D11AdapterIndex() again and
// create a new decoder on the new device, as appropriate.
but if I disconnect decoder from renderer and try to reconnect it back connect fails with VFW_E_BUFFERS_OUTSTANDING error. Happens only in d3d11 native mode. As far as I see decoder calls GetAllocator and then instead of NotifyAllocator it calls BreakConnect.
This is not implemented yet?
halcom
18th September 2025, 16:03
LigH: Thank you, just downloaded from mediafire !
Nev: Just checked it. Link is working now.
Many thanks to you both!
JarrettH
21st September 2025, 04:28
Just wondering something.....is the hardware deinterlacing better quality than me choosing one of the software options? I was probably going to go with bwdif. Thanks.
btw, I see there were some updates to bwdif back in 2023, likely nev saw that.
huhn
21st September 2025, 10:42
a properly working hardware decoding is massively better then the lavfilter software deinterlacer.
but they don't always work or at all.
the nvidia one sometimes works and the AMD one is pretty much broken forever at this point making it sometimes worse then bilinear bob.
the software deinterlacer on the other hand always work as advertised and are fine for true interlaced content with no mixed stuff or telecine.
CruNcher
21st September 2025, 13:47
The Problem on the hardware side is the software stack compatibility and Nvidias way of doing things and keeping secrets in their Layers and API functions.
A lot of Nvidias work also comes from Vanguard on the IP
Sunspark
21st September 2025, 15:08
AMD's is broken, don't even try, use software if you have an AMD GPU.
Intel's does work and you can use it, but it's a deinterlacer, not inverse telecine so you still need software for that. If you're receiving e.g. satellite broadcast, then it's perfectly fine to use the deinterlacer. Old film content on DVD, you want software IVTC.
JarrettH
21st September 2025, 18:06
a properly working hardware decoding is massively better then the lavfilter software deinterlacer.
but they don't always work or at all.
the nvidia one sometimes works and the AMD one is pretty much broken forever at this point making it sometimes worse then bilinear bob.
the software deinterlacer on the other hand always work as advertised and are fine for true interlaced content with no mixed stuff or telecine.
Ah ok, I'm trying it (NVIDIA GT 1030) and all modes are broken :D Wasn't something broken with D3D11 for a long time? I can't remember if that was resolved. Anyway, bwdif is just fine for the odd time I need to play a DVD.
CruNcher
22nd September 2025, 00:29
Could you check if some proprietary stack also shows playback problems in case of Nvidia always a good interop test is Cyberlink PowerDVD, if it also fails for your use case it becomes interesting.
you could and should also try other player implementations like zoomplayer, potplayer ect it could be a very specific combination of setup causing detection and proper VPU Hardware decoding problems.
But the first test should be a complete different stack and here Cyberlink PowerDVD is the first choice.
lvqcl
22nd September 2025, 19:31
Ah ok, I'm trying it (NVIDIA GT 1030) and all modes are broken :D Wasn't something broken with D3D11 for a long time? I can't remember if that was resolved. Anyway, bwdif is just fine for the odd time I need to play a DVD.
Do you use MadVR? It doesn't support deinterlacing in D3D11 mode.
JarrettH
23rd September 2025, 05:05
Do you use MadVR? It doesn't support deinterlacing in D3D11 mode.
I do! Yes, that must be it!
littleD
13th October 2025, 11:42
Hello, I am testing new laptop and decoding capablities. My Apu is ryzen 8645HS
I am quite satisfied with the results, however among my test video samples I found one that is not playable in hardware acceleration. This is 60FPS VP9 video 8K. I presume the problem is in resolution 8 192 x 4 608 that goes a bit over standard. I have no HEVC sample with same resolution to test.
Typical 8k, Vp9, 60 fps file is decoded at 75% usage of codec engine.
Would it be possible to around this maybe in lavfilters or registry in windows? I see headroom for bit higher res decode.
clsid
13th October 2025, 14:23
Give link to sample file.
littleD
13th October 2025, 18:35
This is just youtube video of nature. It was in webm format but remuxed and cut to matroska. I have investigated some hifi cameras are using this resolution, probably YT in previous times passed resolution as is with no check.
https://limewire.com/d/zMMyg#HdcrHsAwzi
huhn
14th October 2025, 05:27
works on RDNA 4 so maybe...
nevcairiel
18th October 2025, 17:33
There is no hardcoded resolution check, so if a file doesn't work, the driver probably rejected it.
RealSnoopyDog
2nd November 2025, 17:41
I have one question related to "IAMStreamSelect" and subtitle streams: how can I identify the subtitle "stream" that disables subtitles? For LAV splitter, IAMStreamSelect::Info returns the name "No subtitles" and the LCID with the value 0xFFFFFFFF . Would it be sufficient to query for LCID == 0xFFFFFFFF for this?
nevcairiel
2nd November 2025, 21:58
There isn't really any totally positive identification markers, since the interface is limited. But its always going to be the last subtitle stream, it'll always have that LCID value, and always have the same name.
RealSnoopyDog
3rd November 2025, 14:37
Thank you, this helps :)
mark0077
25th December 2025, 21:16
May I ask all of the resident experts here for a small piece of advice. When downmixing content to stereo, in the past I have used values of 0.71 for center and surround mix, as well as 1.58 for the lfe mix (based on some maths from previous posts which I definitely don't understand :) ). But when asking a few of the ais like chatgpt/gemini, they are all adamant that if the stereo system is bass managed, that the correct figure for the lfe is 0.316, but for a stereo system with no bass management only, use 1.58.
I couldn't find mention of this on any posts nor could the AI so I can't back it up with any humans. For my system (KEF LS50 Wireless II which takes the 2 channel input and sends the bass to a SVS PB16 Ultra, the AI is as mentioned adamant that because the KEF in this case has its own bass management, using 1.58 would be classed as boosting the bass by 14db. Does any humans care to give their inputs on this one :)
LFE at 0.316 → –10 dB (reference)
LFE at 1.58 → +4 dB (boosted)
Difference: ~14 dB more bass with 1.58 compared to 0.316
Sunspark
26th December 2025, 04:50
AIs hallucinate, and they only know what they are trained on. They won't say "I don't know". They will give you a number.
I use center 1.00, surround 0.71, lfe 1.58.
This is being sent to an old 2.1 system, but as 2.0, the system itself does the crossover to the subwoofer.
I only use 1.58 because I have the sub. If I didn't, it'd be at 0. Center at 1 is OK because ac-3 5.1 downmix to stereo is too quiet. It won't clip. Plus I still need to use compression on top of that.
The mixer is not a gain control as I understand it.
If your system like mine is doing crossover splitting in the system then by leaving out the LFE by setting it to 0 there is nothing for it to cross-over in those frequencies. According to the specs, my system's crossover frequency for the subwoofer is <=150 Hz and >=4 kHz for the satellites (to tweeter afaik).
I am not an audio expert but I believe this is fine based on my reading.
tebasuna51
27th December 2025, 08:30
Each user can downmix at your taste, but remember Dolby do not recommend use the LFE channel at all to downmix 5.1 to 2.0.
Remember LowFrequencyEffects is not a channel for all low frequencies, only for some Efects, all channels can have low frequencies and send them to subwoofer if audio equipment have it.
Sunspark
28th December 2025, 00:43
I was looking at the ITU recommendations which does talk about LFE, but doesn't provide a recommendation on it just that DVD video will have LFE at -10 and if you keep it, it should be +10.
I started asking AI where is this 1.58 value from? It said it's +4 dB that assumes stereo summing for the rest of what would normally be 10 dB, and that it's a psychoacoustic compromise based on real-world listening. Supposedly you get basically the same value whether you do math in linear space or RMS power so it seemed to work out.
Going further, apparently Dolby does have a lfemixlev so that's interesting too.
Digging further I found something https://datatracker.ietf.org/doc/html/rfc7845#section-5.1.1.5 where they provide coefficient values for downmix to stereo including the LFE (as well as variations without it) so that's interesting but I don't think it can be safely used here because my assumption is that LAV uses a hardcode of 1.0 for FL and FR.
/FL \
/ \ / \ |FC |
|L| | 0.529067 0.374107 0.000000 0.458186 0.264534 0.374107 | |FR |
|R| = | 0.000000 0.374107 0.529067 0.264534 0.458186 0.374107 | |RL |
\ / \ / |RR |
\LFE/
Have I managed to confuse myself further? Yes. ffmpeg does allow for the use of many custom formulas, but we can't use that here.. just those 3 sliders which are constrained to one interpretation.
The above values are probably good, but the downside I think is that everything will be quiet, and you'd have to turn up the volume on the speakers and then back down again because system sounds/games, etc. would be too loud otherwise.. and my speakers don't have a dial or a number indicator to show what volume they're at.. :(
tebasuna51
28th December 2025, 07:03
The above values are probably good, but the downside I think is that everything will be quiet,...
In the doc you link say also:
Matrices for 3 and 4 channels are normalized so each coefficient row sums to 1 to avoid clipping. For 5 or more channels, they are normalized to 2 as a compromise between clipping and dynamic range reduction.
The above values must be the half to avoid clipping, for that each user can do other compromise, for me it is not use LFE and limit the surround coeficients.
Sunspark
28th December 2025, 16:04
I understand the Windows mixer doesn't use the same values, apparently they are licensed and they didn't want to pay the fee to Dolby, so they came up with their own values. It's not bad, just different.
Maybe one day a Front slider will appear and then it will be possible to try all the different formulas people have come up with.
Update: Currently experimenting with 1.0 C, 0.5 S, 0 LFE. Seems to be pretty decent for dialogue clarity.
nevcairiel
28th December 2025, 17:48
Just assume front is 1.0 and then re-calculate the other values based on that, all you do is change the overall volume when you also change front, which shouldn't be required.
Although the matrix listed above can't be input anyway, because it also cross-mixes the rear channels (Rear Left into Front Right, etc), which isn't currently an option. If you want more fancy mixing, I would recommend to use an actual audio mixer.
tebasuna51
30th December 2025, 08:21
...Seems to be pretty decent for dialogue clarity.
Just for that, some automatic downmix let the dialog volume to low.
Siso
4th January 2026, 01:17
With LAVFilters-0.80.0-13 I can't preview x265 in subtitle workshop 6.3.4. LAVFilters-0.80.0-12 works fine.
nevcairiel
5th January 2026, 10:15
With LAVFilters-0.80.0-13 I can't preview x265 in subtitle workshop 6.3.4. LAVFilters-0.80.0-12 works fine.
This should hopefully be resolved in the latest already.
Siso
5th January 2026, 10:37
This should hopefully be resolved in the latest already.
It is working now, thank you.:thanks:
nevcairiel
12th January 2026, 11:00
LAV Filters 0.81
LAV Splitter
- NEW: Support for APV (Advanced Professional Video) video streams
- Fixed: VVC in MP4 without CTTS did not play properly
- Fixed: AV1 streams with invalid metadata did not get handled correctly
LAV Video
- NEW: Support for decoding APV (Advanced Professional Video)
- Changed: Re-designed pixel format mapping to be based on a heuristic rather then hard-coded, improving support for rarely-used formats
- Fixed: Deinterlacing of 4:2:2 videos was broken in 0.80
LAV Audio
- Fixed: Bitstreaming TrueHD from Blu-rays with seamless branching could result in out-of-sync audio, or a noticeable gap
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.81.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.81.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.81-x64.zip)
Finally getting another long-standing TrueHD bitstreaming issue resolved. Otherwise the usual, FFmpeg updates and tackling anything that was immediately actionable and reported.
As always, please report issues, especially regressions, in as much detail as possible, and with a sample file.
StainlessS
12th January 2026, 13:05
Thankyou kind sir.
clsid
12th January 2026, 23:55
Some crash fixes:
https://github.com/clsid2/LAVFilters/commit/434100dda9686005bdc55b9543519a249104d25f
https://github.com/clsid2/LAVFilters/commit/827e1f483955ddd72577edc2d2d38b0c42f82818
https://github.com/clsid2/LAVFilters/commit/675db83543b0b76cf939fcaeb795069d86e9e9ca
These can happen when accessing tray icon during loading.
And in libavutil\tx.c
https://drdump.com/Problem.aspx?ProblemID=1016430
Disabling those blocks under CONFIG_SMALL fixes it. Seems like unnecessary debug/trace code for release builds.
manolito
13th January 2026, 13:45
Hi clsid,
interesting bug report, but frankly as a non-dev I do not really know what to do with it...
I am unable to compile my own version of LAV Filters, so I probably need to wait for nevcairiel to publish a fixed version. But anyways, thanks a lot for your findings...
Cheers
manolito
manolito
19th January 2026, 15:36
@clsid
Sorry for my ignorance about Github...
On the first page of this thread I found a link to "nightly test version", and the last commit is this one:
LAVFilters-0.81.0-3.exe
Am I correct that this is your commit? Anyways, I installed it, and all my taskbar problems (disappearing icons) were gone. I would never have guessed that, because I thought that as long as LAV Filters is not used by some software that it would not affect the Taskbar. Now I know better, and this commit made my life a lot easier.
A big Thank You :)
Cheers
manolito
clsid
19th January 2026, 18:08
No whatever problem you had is unrelated to LAV Filters.
clsid
19th January 2026, 18:13
@nevcairiel
DVD hardware decoding is broken.
https://drdump.com/Problem.aspx?ProblemID=1011044
Time to finally remove this option? It isn't enabled by default. Any hardware from the past 15 years can decode DVD resolution video without breaking a sweat.
Maybe also ditch quicksync as well.
Sunspark
20th January 2026, 17:24
Quicksync has adaptive hardware decoding of interlaced video.
If the code paths aren't broken why remove it? People say it is old, but it seems to work fine.
Klaus1189
20th January 2026, 18:03
What is "adaptive hardware decoding". Do you mean deinterlacer or indeed decoding?
Sunspark
21st January 2026, 17:12
Both.. it would be used with stuff like television broadcast mostly I imagine, perhaps DVD as well. But, it's not an inverse telecine so for DVD I haven't been using it. I did test the functionality though with a TV clip, and it does deinterlace using hardware (which is awesome when one considers AMD for example pretty much has completely broken deinterlacing functionality).
I use quicksync to this day because I always felt there was something "different" about how colour or motion looked with dxva2-cb. I also use overlay output since I have it. I was told that it's not very likely there's a difference but I am unable to capture it in a screenshot. I just remember a long time ago there was a pipeline graph that shows quicksync processes colour at a different stage of the pipeline than dxva2-cb, so it's not impossible that there is a subtle difference.
I looked it up, quicksync talks directly to the intel video firmware while dxva2 goes through the windows driver stack. I also observe that Intel has a new SDK (OneVPL) which continues to use quicksync and ffmpeg is supporting both the old and new.. so..
I get simplicity, but the decoder isn't something like an old forked version of ffmpeg 2.0. It's just the interaction with the firmware as I understand it.
clsid
21st January 2026, 23:20
The Intel driver applies some processing filters when using DXVA2. You can disable that in driver settings.
clsid
24th January 2026, 18:04
Got a bug report where a Matroska file contained more than 64 tracks.
So I tried increasing MAX_TRACKS to 80. But things got unstable and freezes. Even got a process stuck and unable to kill. Are more changes required?
I also noticed that in FFmpeg Matroska encoder, MAX_TRACKS is set to 126.
nevcairiel
24th January 2026, 23:37
Matroska files in LAV Splitter are limited to 64 tracks. Changing that would require quite some work.
arapaz
26th January 2026, 11:40
Hi,
I have a 3d video in a .mkv with a full side-by-side image (3840 x 1980)
The mkv has flags for multi view count and layout.
When played with MPC-BE/LAV/MadVR (3d set to auto), the output is not framepacked sent to the TV, it is the original image.
Is it possible that LAV split the image in 2 views and send that to MadVR as 3d ?
Thnaks
josey_wells
7th February 2026, 11:47
First, let me say that LAV Filters is a fantastic product, and I have been utilizing it for more than a decade.
With my current configuration of Pot Player, MadVR, LAV Filters, and HDMI receiver, any version of LAV filters above V0.80.0-7 Beta with audio bitstreaming enabled hangs on startup. If bitstreaming is disabled then no hang occurs.
To rule out all other causes, I have used other players such as MPC-BE & MPC-HC, other renderers such as EVR, and other HDMI receivers.
It would be appreciated if this could be looked at.
Sunspark
16th February 2026, 18:24
I was playing again with decoding methods the other night. I've always maintained that there is a subtle visual difference besides the native one which we know has issues.
AI says that I am not imagining things, that there actually is a difference with quicksync decoding with older Intel hardware due to this and that reason. Also goes on to say that because of fixed-function, etc. there can also be very subtle differences between software decoding and dxva2-copyback.
Came across this 2011 article today, it's not about LAV, but it does discuss software and hardware decoding so it might be of interest for some. https://www.tomshardware.com/reviews/video-transcoding-amd-app-nvidia-cuda-intel-quicksync,2839.html
nevcairiel
16th February 2026, 19:01
The truth of the matter is that there is one correct way of decoding any codec newer then MPEG-2 (MPEG-2 still had some inaccuracies in its IDCT that doesn't make it bitexact), any other methods are factually wrong.
- DXVA2-CB (and D3D11-CB) has been proven to be identical to software decode on any semi-recent hardware, so both of those are "perfect" as software decode is tested against the reference.
- DXVA2-Native has some issues not with decode, but with the way renderers access the image - its not designed to get a perfect version of the image for further processing, instead its really designed to shove it into DXVA2 Video Processing, which puts you at the mercy of the driver/hardware.
- D3D11 Native does not have this issue, and gives you access to the perfect pixel data, if thats used correctly
If any of those above are not true, then the driver does some undue processing, or the decoder is not up to the specification. Of course any hardware in history may have had issues, but video hardware from 15 years ago as in that article is practically unusable by now. Very old Intel stuff was indeed a bit weird with decode, but thats been over with for 10 years or so.
nevcairiel
17th February 2026, 15:51
First, let me say that LAV Filters is a fantastic product, and I have been utilizing it for more than a decade.
With my current configuration of Pot Player, MadVR, LAV Filters, and HDMI receiver, any version of LAV filters above V0.80.0-7 Beta with audio bitstreaming enabled hangs on startup. If bitstreaming is disabled then no hang occurs.
To rule out all other causes, I have used other players such as MPC-BE & MPC-HC, other renderers such as EVR, and other HDMI receivers.
It would be appreciated if this could be looked at.
You'll have to elaborate a bit more. Others seemingly are not reporting any issues, so it must be something specific for your use.
Does this happen with all files, any particular ones? Are you bitstreaming all codecs? Did you try different audio renderers?
And can you confirm that issue did indeed start with 0.80.0-9? (versions are available at https://files.1f0.de/lavf/nightly/)
flossy_cake
20th February 2026, 21:50
Hello nevcairiel and thank you as well
Question tho: is AI correct in telling me that when LAV is decoding a soft telecine MPEG2 DVD remux mkv which is 23.976p with repeat flags, LAV ignores the repeat flags and outputs 23.976p, but actually still provides the repeat flags to the downstream renderer and the renderer applies the repeat flags thus the renderer creates a 59.94p output from the 23.976p stream with 3:2 judder that is visible even at 119.88hz display mode? Because that is consistent with what I'm seeing and just wanted to confirm this behaviour, thank you.
nevcairiel
20th February 2026, 21:51
LAV will certainly not apply soft-telecine for you, but it will forward the flags to the renderer. That part is correct. If the renderer applies it, is out of my control.
Note that a strict soft-telecine stream may have video frame timestamps that already match a 60fps cadence, just with gaps. You can commonly observe this with MPEG-2 streams from HD-DVD (eg. .evo files), so even if you don't apply the field/frame repeating, the judder would be there due to that.
flossy_cake
21st February 2026, 00:39
LAV will certainly not apply soft-telecine for you, but it will forward the flags to the renderer. That part is correct. If the renderer applies it, is out of my control.
Note that a strict soft-telecine stream may have video frame timestamps that already match a 60fps cadence, just with gaps. You can commonly observe this with MPEG-2 streams from HD-DVD (eg. .evo files), so even if you don't apply the field/frame repeating, the judder would be there due to that.
Thanks.
My method to determine that is to use MPCVR's debug overlay which reports the real time frame rate coming out of LAV (the first of the two fps values in the overlay).
For anyone else reading this and wondering how to remove the 3:2 judder, the two simplest ways are:
1. Tag the file name with [deint=film] which MadVR will see and will perform decimation 59.94p -> 23.976p (MadVR debug reports 3:2 cadence detected). Or:
2. Set display mode to 23.976hz. This seems to work by coincidence since a 59.94 3:2 cadence if selected from every 23.976th of a second just happens to result in a 1:1 cadence of the original source frames
There are other methods but they are beyond the scope of this post
huhn
21st February 2026, 17:20
LAV will certainly not apply soft-telecine for you, but it will forward the flags to the renderer. That part is correct. If the renderer applies it, is out of my control.
Note that a strict soft-telecine stream may have video frame timestamps that already match a 60fps cadence, just with gaps. You can commonly observe this with MPEG-2 streams from HD-DVD (eg. .evo files), so even if you don't apply the field/frame repeating, the judder would be there due to that.
hardware decoder did soft telecine to hard telecine in the past i need to recheck that.
software clearly didn't and works as you said.
nevcairiel
21st February 2026, 22:43
DXVA/D3D11 certainly doesn't even have the ability to do that, as it would require producing more frames then input, which the interface is not capable of. Also, its not even given the metadata. The other hardware decoders are deprecated (in part due to such odd behavior, wouldn't be surprised if this was QuickSync)
huhn
22nd February 2026, 07:28
i noticed that issue in the 900 series maybe cuvid? i had an intel 4000 CPU too.
so the interface that deints is different from the decoding one? one of these clearly can create more frames then the input.
and yes mpcVR has issues with softtelecine dvds with 60 HZ cadence frame stamps. not an lavfilter issue it gives all the information to fix that with the repeat flags.
flossy_cake
22nd February 2026, 14:22
For testing purposes here's a short clip of the format in question which contains some scrolling patterns to visualize 3:2 judder
https://drive.google.com/uc?export=download&id=15z1Y0VGg1Wg8iqPCJDXEwdcL4llgvq-9
Sunspark
24th February 2026, 16:28
Hi, with the NUC connected to the TV over HDMI these days I am seeing some values that I wonder if they are supposed to be that way.
Unlike before when it was using the 3.5mm and the Realtek driver, currently it is using the Intel Display Audio driver which is used for HDMI. In the properties for it, it says it supports hdcp, dolby digital, and 16, 20 and 24 bit.
With LAV audio decoding, I see it saying output 32 bit.. shouldn't that change to 24? Or is it Windows that changes it? Where it gets trickier with this is that the 32 value remains whether the player is in shared mode or exclusive mode.
Likewise, if I do something like change Windows default to 16 bit 44100 and look at LAV again, it still says 32 bit 48000 output.. regardless of whether the player is in shared mode or exclusive mode.
The sound seems fine, but I find it strange.
I believe it is using PCM because this is a TV not a receiver, and the HUD on the TV says PCM if I click on info on the remote.
So to recap, in the first part, should it not change to 24 because the driver says that is what is supported? In the second part if in shared mode, change to 16 or whatever because that is what Windows is reporting as the system mixer value? (Ignore system mixer is not checked here for this test.)
PS. I have also been doing the downmixing to stereo on the PC side instead of having the TV do the mixing.
nevcairiel
24th February 2026, 16:48
LAV Audio will always prefer to output whatever it decodes into. Its typically the audio renderer that changes it to match your audio device.
Sunspark
24th February 2026, 17:32
Part of why I am confused here is because if the driver properties only say 16-24, then where is 32 coming from? The input is 32, but the output is also 32. When I compared the same file using the MPC decoder, it said the input was 32 and the output was 24. Different decoders and different renderers.. so in this case, LAV is paired with Sanear. But if it's a renderer issue then shouldn't Sanear know that the driver only reports 24?
huhn
24th February 2026, 18:03
cause lossy audio is more accurate if it is decoded to float instead of int.
float 32 is the default format for lossy audio.
int 32 should be used if forced or the audio is actually 32 bit.
nevcairiel
25th February 2026, 11:05
Part of why I am confused here is because if the driver properties only say 16-24, then where is 32 coming from? The input is 32, but the output is also 32. When I compared the same file using the MPC decoder, it said the input was 32 and the output was 24. Different decoders and different renderers.. so in this case, LAV is paired with Sanear. But if it's a renderer issue then shouldn't Sanear know that the driver only reports 24?
The actual decoder always outputs whatever it outputs, there is generally no choice. So audio has to be converted at some point to match what the audio device wants.
Ideally, you do this conversion in the audio renderer. So LAV Audio outputs 32-bit float because thats what the decoder outputs. SaneAR then converts it to 24-bit for the audio hardware.
If you do downmixing in LAV, then the audio also naturally turns into floating point, since its more accurate to do mixing in floating point.
The audio renderer can also request LAV Audio to do this conversion, but its better to do it as late as possible, so LAV showing output of 32-bit is generally a good thing.
josey_wells
25th February 2026, 14:36
You'll have to elaborate a bit more. Others seemingly are not reporting any issues, so it must be something specific for your use.
Does this happen with all files, any particular ones? Are you bitstreaming all codecs? Did you try different audio renderers?
And can you confirm that issue did indeed start with 0.80.0-9? (versions are available at https://files.1f0.de/lavf/nightly/)
Thank you for the response. I am bitstreaming all codecs, and it was happening with all files. I did not try different audio renderers.
So having just gotten back, I downloaded several versions of the nightly LAV filters so I could trace down which one was causing the issue.
However, I could not replicate the issue and am now running the 0.81.0-6 Beta.
The key difference between my machine and others is probably that I am running Windows Server 2025 Standard as the OS instead of a Windows 10 or 11 variant. So it seems that the February 2026 cumulative update resolved this issue which has been going on for about the last 6 months which required running 0.80.0-7 Beta.
Blight
26th February 2026, 17:28
I'm trying to decode an Apple Pro res file, it seems to be using a subtype not supported by LAV or any video renderer (it may be RAW):
MEDIASUBTYPE_aprh {68727061-0000-0010-8000-00AA00389B71}
You can download it from here (4.1gb):
https://f005.backblazeb2.com/file/MotionCam-Public/2025/ProResRAW_vs_MotionCamRAW/02%20sources/01_A001_09211049_C068.mov
This is the original page where I got it from:
https://f005.backblazeb2.com/file/MotionCam-Public/2025/ProResRAW_vs_MotionCamRAW/ProResRAW_vs_MotionCamRAW.html
Can LAV Video Decoder support this?
flossy_cake
28th February 2026, 02:50
If you do downmixing in LAV, then the audio also naturally turns into floating point, since its more accurate to do mixing in floating point.
Regarding downmixing a 5.1 to stereo, could you please clarify if AI is giving me bad information regarding the clipping protection feature...
AI is saying that when I enable clipping protection , and the downmix contains clipping resulting from the downmix (due to channel summing that occurs during downmix), then LAV will reduce the global volume until it's no longer clipping, and then AI says it will raise the global volume back up to where it was before after the clipping frames/blocks of audio are finished.
The bit in blue seems wrong to me. I am observing that after a loud clipping gunshot, the global volume reduces, and then stays at this lower level for the remainder of the audio track, even after I seek to an earlier point in the video before the gunshot occured - is this the correct and intended behaviour?
:thanks:
nevcairiel
28th February 2026, 18:10
Clipping protection does never let up again during normal playback.
flossy_cake
1st March 2026, 00:26
Clipping protection does never let up again during normal playback.
Cool, that seems right. I tested that on versions 0.75 and 0.80 and got the same result on both.
I can see in the changelog you wrote "Clipping protection is no longer reset on seeks" and I challenged AI on that and it seemed AI kind of admitted it was wrong but then still doubled down on its initial error:
https://i.imgur.com/7Cshxjr.png
I reckon it would be cool if there was an option in LAV to allow returning the volume to normal after say 10 seconds of no clipping. 10 seconds is what Dolby uses for their "music standard slow" DRC algorithm. i.e the decay parameter slowly and gradually restores the gain back to where it was over 10 seconds to avoid volume "pumping".
I tried living with LAVs clipping protection but it's no good for me because the volume is too inconsistent - one loud gunshot or explosion and now BOOM the volume of dialogue is now all quiet and needs manual adjustment half way through the movie.
I know you are aware of this and is why you put "normalise matrix" to avoid that, which is good, and I'm using that for now. I can use normalise matrix and then follow that with Avisynth Normalize() to get full and consistent volume. I can also use SoxFilter("compand") to implement all the Dolby DRC curves but it can't handle seeking and takes forever to initialise cause Normalize has to scan the whole audio track from start to finish to find the loudest peak (which includes running it through SoxFilter compander first to find the resulting peak after that) so it's not very practical.
Here are the benefits I can think of for adding an optional decay on the clipping protection:
1. It's a realtime solution that doesn't require prescanning the entire audio track
2. It allows through full volume where possible (unlike normalize matrix)
3. It wouldn't suffer from volume pumping if the decay is set to something longer like 10 seconds
4. The amount of CPU processing is negligible and its probably only a few lines of code
Sunspark
1st March 2026, 01:14
I dealt with the issue a long time ago by turning clipping protection off. I have full-range speakers. I figure it's needed more for headphones and tracks that operate close to the limit.
You can work around it by using loudness equalization in the soundcard's drivers (or the player's normalization function).. soundcard works better for no-effort, but if you use mpv you can tune quite a lot of parameters for compression, normalization, etc.
flossy_cake
1st March 2026, 01:48
You can work around it by using loudness equalization in the soundcard's drivers (or the player's normalization function).. soundcard works better for no-effort, but if you use mpv you can tune quite a lot of parameters for compression, normalization, etc.
The problem is I've tried those DRC options but they all sound bad to me with volume pumping especially during music in a beat frequency with kick drums or other loud percussive hits. Dolby's DRC is better designed to avoid pumping and have lots of profiles to choose from, but it's not a realtime solution due to technical issues which I wont go into.
Anyway I generally try to avoid using DRC because it's not the true volume level of the content. It's a bit like using dynamic contrast on the TV. Peak normalisation is how you get full volume without pumping and preserving the original artistic intent in relation to volume, but that requires scanning the entire audio track prior to playback to find the loudest peak, so that's not a realtime solution either.
LAV offers 2 realtime solutions (normalise matrix and clipping protection)
Normalise matrix reduces the volume to avoid clipping caused by downmixing, and there is no pumping, but results in a very quiet volume due to it allowing overhead for potential peaks due to audio track summing during downmixing, and therefore needs a pass of peak normalisation afterwards to correct that, which we can't do because it would take too long to scan the entire track as mentioned and is beyond the scope of what LAV does.
This leaves clipping protection which would be great if it decayed to 0dB with a long decay time to avoid pumping. However this would still not improve a source that was recorded with a low peak volume in the first place (some audio tracks are mastered with huge amounts of dynamic range headroom for explosions, and these would not be normalised in any way, but this is the artistic intent so I wouldn't want to change it anyway personally).
Another possible solution -- and I recall mentioning this to nevcairiel before -- is for LAV to look for tags in the file path telling it what gain to apply. The user could then do their own offline peak normalisation batch-processing of all videos in their library to scan for loudest peak and tag the file name as such, eg. "C:\MyVideo [gain=6dB].mkv" and LAV sees the [gain=6dB] tag and applies that once at the start of playback.
flossy_cake
1st March 2026, 03:20
Actually Sunspark you could be right and a combination of these settings might be acceptable to me:
LAV: normalize matrix enabled, clipping protection disabled
At this point the output of LAV's downmixer is guaranteed free of clipping, pumping or volume changes that weren't in the source. But the overall volume is very quiet due to the matrix allowing headroom for channel summation, so peak normalization is needed:
MPC-HC Audio Switcher: normalize enabled, regain volume disabled
Disabling regain volume should prevent pumping caused by a constant pattern of "loud-quiet-loud" samples in the source, such as found in music.
However there could still be instability of the overall volume if a movie starts with quiet dialogue , then loud explosion, then more quiet dialogue afterwards. In this case, after the explosion, the dialogue will be quieter than before the explosion. To mitigate this, reduce the "max amplification" value to something where it's less noticeable.
But this is a limitation of realtime processing and the only way to solve it is to scan the whole audio track prior to playback and find the loudest peak, which isn't really practical.
Well actually in foobar2000's replaygain the scanning is quite fast but when you have 6 channels to scan that takes 3x longer.
AI says Libav/ffmpeg contains functions for scanning the whole audio track to find the loudest peak, so maybe this would be a better option to have.
Sunspark
1st March 2026, 07:11
Is there a lot of stuff that clips? I've never noticed it, but I don't have good hearing. :)
flossy_cake
1st March 2026, 08:42
Is there a lot of stuff that clips? I've never noticed it, but I don't have good hearing. :)
To be clear, it's not the content that contains clipping, it's LAV that is causing clipping when it downmixes to stereo, due to the summing of channels which can make them mathematically exceed 0dB. So it's an issue with the very practice of downmixing and honestly I was surprised to recently learn this. Those 2 LAV options "normalize matrix" and "prevent clipping" have nothing to do with normalizing the source levels, they only relate to dealing with clipping caused by LAV itself due to its own downmixing.
This little sidequest began for me a couple of days ago when I was looking at Breaking Bad S03E07. On this loud gunshot frame, the 5.1 source being output by LAV , i.e with no downmixing done by LAV, is not clipping, and Avisyth's Normalize filter scanned the entire track and found the loudest frame only had 0.1dB of clipping:
https://i.imgur.com/w8TIZ2L.png
Now with LAV downmixing to stereo, we have 5.74dB of clipping above 0dB:
https://i.imgur.com/UBYQTWN.png
The "amplify DB" value is from the Avisynth Normalize filter which is reporting how much it had to adjust the volume by to avoid clipping on the loudest frame which is the one being screenshotted (66562).
So anyway, I think the solution I was asking nevcairiel for (the "prevent clipping" but with a decay back to full volume) would be achievable with MPC-HC audio switcher's Normalize set to 100% (which means don't increase volume) and "regain volume" ticked too (so it will raise back to 100% level after reducing it due to its clipping detection) and then disable both "clipping protection" and "normalize matrix" in LAV so that MPC-HC's switcher deals with the clipping instead of LAV. Although I don't know how long its regain decay length is, will need to do some testing on that to see if it creates pumping.
In the end, I don't think this problem is solvable if the root cause is that summing channels will always result in higher levels. So you just have to put up with some volume anomalies when downmixing.
edit: and actually that is correct too because 3 speakers sound louder than 2 when all are outputting the same volume. According to AI the extra speaker (center) would result in something perceptually like 1.8dB louder for all 3 front speakers combined.
nevcairiel
1st March 2026, 08:45
If you don't downmix the LFE, then clipping is relatively rare even in a stereo downmix, at least from a 5.1, from 7.1 its of course more severe as its even more channel.
flossy_cake
1st March 2026, 09:39
If you don't downmix the LFE, then clipping is relatively rare even in a stereo downmix, at least from a 5.1, from 7.1 its of course more severe as its even more channel.
I have always used your default downmixing settings which is center 1.00, surround 0.71, LFE 0.
If it's as rare as you say, then maybe I'll just let it clip? To be honest I never actually noticed any audible clipping while watching anything on my 5" JBL monitors so maybe it's a minor issue.
But on that gunshot scene, I tested just now and MPC-HC Normalize 100% + Regain volume sucessfully lowered the gunshot without affecting dialogue on other scenes, so maybe that could be good too.
https://i.imgur.com/yiPst39.png
And be sure to untick "Apply DRC for formats AC3/EAC3" on Audio Settings tab because I heard some sources that used that metadata really poorly with audible pumping like Stargate SG1 and Beverly Hills Cop 2 DVD in the intro sequence when Axel revs the engine it goes unusually quiet.
Sunspark
1st March 2026, 19:00
@flossy_cake Try dropping the surrounds to 0.50. See what happens on your graph.. I've been using 0.50 lately instead of 0.71 for the surrounds. Helps with spoken dialogue for me. The rest of the Mixing pane settings in the screenshot are the same.
I don't use the normalize in the player because the one in the realtek sound driver worked better for me.. you need to be in shared mode for it though, otherwise it has to be what HC has if you're in exclusive mode.
There's another mixer you can try too with HC (also shared mode), the Windows mixer. Go to your control panel (old control panel) and open sound, go through the wizard and make sure full-range is selected.. then go to properties for the audio device you're using and ensure it's a good setting like 24/48000 so it won't be resampling your video. Now in LAV uncheck mixing and in HC make sure "ignore system mixer" is not checked.. so what's going to happen now is that LAV will decode the source and it will be Windows doing the downmixing using their own coefficients which are not the same as LAV's. Try your graph again with the Windows mixer.
Lastly, if you want a full array of knobs and dials, you can do a fancy mixing job using https://equalizerapo.com/ It's overkill for me so I don't use it, but if you really need to dial something in, this is basically the only thing you can get that is free on Windows.
flossy_cake
2nd March 2026, 02:05
@flossy_cake Try dropping the surrounds to 0.50. See what happens on your graph.. I've been using 0.50 lately instead of 0.71 for the surrounds. Helps with spoken dialogue for me. The rest of the Mixing pane settings in the screenshot are the same.
Pretty much the same
https://i.imgur.com/yum8TZH.png
It must be the the summing of the 3 fronts circled in red that is causing it. The 4th bar is LFE, 5th and 6th are surrounds.
https://i.imgur.com/FepV0Up.png
flossy_cake
2nd March 2026, 02:12
I don't use the normalize in the player because the one in the realtek sound driver worked better for me..
The way I've got it set in the screenshot won't do much for boosting quiet dialogue or any sort of DRC type thing that you're probably after. All it will do is the same as clipping protection in LAV but with the added benefit of restoring it back to the original volume level after the clipping stops so that subsequent quiet dialogue won't be too quiet.
What I don't understand is why MPC-HC's normalizer makes the gunshot sound perceptually quieter. I was expecting it to sound the same volume but just without clipping, since both the clipped and unclipped versions are going to end up at 0dB at the optical cable going to my speakers anyway (apparently optical PCM uses integer values which can't exceed 0dB). I need to get some third party tools to debug the output levels of MPC-HC's normalizer.
Sunspark
2nd March 2026, 04:40
I remember now, when I was playing around with HC's Normalize+Regain, I felt that 100% was not a good setting, and that's what you have set in the screenshot. Try 200% instead. 400% is too loud.
Everyone has their own different implementation of how it should work. VLC's is decent, MPV's is very customizable but you really need to know what you're doing. BE's gain control is terrible and should not be used, but their AC-3 DRC works well if the source has good metadata.
flossy_cake
3rd March 2026, 01:26
I remember now, when I was playing around with HC's Normalize+Regain, I felt that 100% was not a good setting, and that's what you have set in the screenshot. Try 200% instead. 400% is too loud.
I deliberately set it to 100% to avoid pumping. At 100% it doesn't raise the volume at all, it normalises to 100% which means "don't boost the volume, just leave it at 100%" which would mean something like "mutliply by 1.0" which just equals itself. So it's like passthrough.
But because the feature is still active, it's still monitoring for clipping above 0db (such as what comes out of LAV's downmixer) and reacts to that by reducing the level to avoid clipping when detected.
Then, the "regain volume" feature ensures it is raised it back to 100% after the clipping ends, which helps because then you aren't stuck with quiet dialogue after a loud explosion went into clipping for the first time.
In other words, it's the same as LAV's "clipping protection" but with the added benefit of raising it back to 100% afterwards, which is exactly what I was begging nevcairiel for earlier.
This is good for me, but not necessarily good for everyone eg. if the source was mastered with huge dynamic range where the dialogue is SUPPOSED to be quiet in relation to explosions, and you want to listen to the audio quietly at night on a modest speaker setup. In that case you'd need a DRC solution and can achieve that by raising the value above 100% to something like 200% which I would agree is a better setting than the default 400%. But then you will probably get some pumping due to the decay curves which I don't know how the MPC author has set up.
I am only familiar with the Dolby DRC curves - "music light fast" and "music standard fast" are my go-to's. From memory, "music standard fast" was causing some pumping on the intro song to Family Guy and I had to switch to the light preset. There probably isn't a one-size-fits-all solution that works perfectly for all content types. I often wondered how TV networks do it and I suspect they have metadata for each program being aired that would act as a hint for automated systems to choose which DRC curve would suit that content type. For news and sitcoms for intsance, they might choose the Dolby "speech" DRC curve. I suspect these Dolby DRC curves are what's used to create the AC3/EAC3 metadata for that other DRC feature.
starsat
5th March 2026, 02:33
Hello,
Could somebody take a look on this test Transport Stream file?
https://filebin.net/3amgivcfkmiohow1
It is playing correctly on mine RTX 4060 only if I'll select NVIDIA CUVID.
Playout through both DXVA (native/copy-back) and D3D11 gives macroblocks, like the TS file would be damaged, but it is not.
Aleksoid1978
5th March 2026, 03:23
Stream is incompatible with DXVA decoders.
starsat
6th March 2026, 00:14
There's no doubt about that ;)
But what exactly makes this stream unplayable? Looks quite normal for me, AVC High@L4.1, 4:2:0, 8-bit, BT.709, 1920x1080.
This can be improved?
huhn
6th March 2026, 01:10
you try to get this to amd nvidia intel and hope they improve that for the next generation but beyond that reencode?
on the other hand this is Separate Field Coding which is very unusual to me. usually mbaff is used. that's maybe the one thing the hardware decoder can not handle or is missing to do a proper decode
or get's and it actual is mbaff honours SFC and falls flat?
something like that.
starsat
9th March 2026, 04:44
Thanks, so in fact this can be fixed only on HW level?
As a curiosity - additional stream with issues on DXVA, but here I have 2 samples taken from different time.
This service seems to dynamically changing something and one sample is unplayable, but other, taken just few hours later - is playable.
https://filebin.net/owg6sml9thygult1
flossy_cake
9th March 2026, 09:08
Hmm, new member, 3 posts, wants us to play a weird glitched file. Nope! Could be some kind of buffer overflow attack to make the decoder do something it isn't supposed to.
starsat
10th March 2026, 00:42
Everybody was a new member at some point ;)
I'm just a satellite TV viewer, I'm using AltDVB app as my viewer and observed such behaviour for a long time, but I was never able to understand why (very rarely) this is happening.
I finally found some time to register and prepare samples and that's the whole story ;)
Last sample is from Equ TV from Hot Bird: https://www.lyngsat.com/tvchannels/it/Equ-TV.html
I saw this also on NHK World Japan from Hot Bird: https://www.lyngsat.com/tvchannels/jp/NHK-World-Japan.html
And the first sample is from some feed. All files are just a clean TS satellite recordings.
But of course no pressure on anybody, I was just curious if this is a bug and can be fixed or it's not a bug and nothing can be done about this.
flossy_cake
11th March 2026, 16:01
Well, you sound human so I guess I'll take you on face value. Lest we all become radical skeptics.
In my experience, .ts recordings off my Enigma-based PVRs can be glitched due to the splicing not being done to the nearest GOP or however it works when the PVR chooses to start/stop the recording mid way through the stream.
You can use ffmpeg to check the file for errors
"C:\program files\ffmpeg\bin\ffmpeg.exe" -v error -i "C:\Recording.ts" -f null NUL
It probably will have errors but that doesn't mean it should be unplayable, just an indicator of the severity
Then use ffmpeg to remux it to a .mkv file, and ffmpeg will effectively repair it as much as possible
"C:\program files\ffmpeg\bin\ffmpeg.exe" -i "C:\Recording.ts" -c copy "C:\Repaired.mkv"
starsat
12th March 2026, 05:33
Thanks for reply ;)
I've run these commands, for first I have some:
[h264 @ 000001c3bc63d700] sps_id 0 out of range
[h264 @ 000001c3bc63d700] non-existing PPS 0 referenced
[h264 @ 000001c3bc63d700] sps_id 0 out of range
[h264 @ 000001c3bc63d700] non-existing PPS 0 referenced
[h264 @ 000001c3bc63d700] no frame!
But I see the same messages also for good files (which are playing fine). Just the count differs - sometimes there are a bit more of these, sometime a bit less. E.g. the first sample produces the smallest count of these messages.
The attempt to save as MKV (also tried MP4) does not improve the playback, but if I do the lossy conversion:
.\ffmpeg.exe -i "H:\DXVA playback issues\20260222_0633 FTS-10842000H-DAV.TS" -vcodec libx264 -acodec aac "repaired.mp4"
Then file plays fine :) But that won't help for the live playback, because the issue is also visible during live playback - so if I have DXVA2 (native or copy-back) or D3D11 selected - I've got the same playback issues live. Only switch to CUVID helps.
What is even more puzzling - these two mentioned channels from Hot Bird satellite doesn't always have the issue visible. E.g now NHK plays fine, but Equ TV - does not.
This is definitely not a signal issue, because recording has got no lost packages inside.
Also to exclude that it is a player issue - instead of AltDVB I tried on TransEdit (part of DVBViewer package) with LAV Video/LAV Audio just to see the same issue on DXVA2, but not on CUVID.
That's how it plays - first photo from live playback from DXVA2, second from CUVID
https://i.ibb.co/MxpmTh4b/equ-dxva.png (https://ibb.co/W4FL93wQ)
https://i.ibb.co/1GTSgDVL/equ-cuvid.png (https://ibb.co/d4DhTd9r)
flossy_cake
12th March 2026, 06:03
Thanks for reply ;)
I've run these commands, for first I have some:
[h264 @ 000001c3bc63d700] sps_id 0 out of range
[h264 @ 000001c3bc63d700] non-existing PPS 0 referenced
[h264 @ 000001c3bc63d700] sps_id 0 out of range
[h264 @ 000001c3bc63d700] non-existing PPS 0 referenced
[h264 @ 000001c3bc63d700] no frame!
But I see the same messages also for good files (which are playing fine). Just the count differs - sometimes there are a bit more of these, sometime a bit less. E.g. the first sample produces the smallest count of these messages.
The attempt to save as MKV (also tried MP4) does not improve the playback, but if I do the lossy conversion:
.\ffmpeg.exe -i "H:\DXVA playback issues\20260222_0633 FTS-10842000H-DAV.TS" -vcodec libx264 -acodec aac "repaired.mp4"
Then file plays fine :) But that won't help for the live playback, because the issue is also visible during live playback - so if I have DXVA2 (native or copy-back) or D3D11 selected - I've got the same playback issues live. Only switch to CUVID helps.
What is even more puzzling - these two mentioned channels from Hot Bird satellite doesn't always have the issue visible. E.g now NHK plays fine, but Equ TV - does not.
This is definitely not a signal issue, because recording has got no lost packages inside.
Also to exclude that it is a player issue - instead of AltDVB I tried on TransEdit (part of DVBViewer package) with LAV Video/LAV Audio just to see the same issue on DXVA2, but not on CUVID.
That's how it plays - first photo from live playback from DXVA2, second from CUVID
https://i.ibb.co/MxpmTh4b/equ-dxva.png (https://ibb.co/W4FL93wQ)
https://i.ibb.co/1GTSgDVL/equ-cuvid.png (https://ibb.co/d4DhTd9r)
If the corruption only exists at the very start and end of the file due to those being the clipping points by the PVR, try clipping 30 seconds off the start and end with eg. for a 10 minute clip
"C:\program files\ffmpeg\bin\ffmpeg.exe" -ss 00:00:30 -to 00:09:30 -i "C:\Recording.ts" -c copy "C:\Repaired.mkv"
ffmpeg has other options for repairing files without transcoding, ask ChatGPT or Grok
starsat
12th March 2026, 07:02
Thanks, I'll try that, but having in mind that this also affects live playback between DXVA and CUVID, I'm not sure if we're heading the right direction here ;)
Sunspark
12th March 2026, 15:07
As a curiosity - additional stream with issues on DXVA, but here I have 2 samples taken from different time.
This service seems to dynamically changing something and one sample is unplayable, but other, taken just few hours later - is playable.
https://filebin.net/owg6sml9thygult1
Both samples are playable for me.. one clip is 3 guys at a table talking, and the other is mostly part of a commercial with a landscape view.
Ran test with VLC.
So, for lavfilters, does it make a difference if you change the decoder to software (none)?
starsat
13th March 2026, 00:57
Thanks, I've made some check across players:
- VLC 3.0.23 x64 - issue visible
- VLC 4.0 x64 (latest nightly) - issue visible
- MPC BE 1.8.9 x64 - issue visible
- MPC HE 2.6.3 x65 - issue not visible by default, but after checking the settings - it has got set DXVA2 (native) and plays only because Active Hardware Accelerator is "<none>". After switching to copy-back - issue shows up.
So, for lavfilters, does it make a difference if you change the decoder to software (none)?
Yes, in case of software (none) - files are also playing fine.
It seems thay if HW acceleration will kick in - it will damage playback of these specific channels (live) or streams (files).
But why CUVID plays the channels/files fine? It isn't HW decoder?
I'll try also to upgrade nVidia drivers for my GTX 4060 in a minute and I'll return with results ;)
EDIT: New nVidia drivers didn't help.
Some more tests on MPC BE
Preferred decoder:
D3D11, DXVA2 - fail
DXVA2 - fail
D3D11cb - fail
D3D12cb - fail
NVDEC - ok, stream plays fine
Sunspark
13th March 2026, 05:39
Ahh, one point of clarification.. the VLC test I ran was on Linux using VAAPI hw acceleration with an AMD apu. Checked with a libmpv player too, also fine.
So the observation here is that Linux VAAPI works fine.
Curious. You should consider reporting this to the ffmpeg project.
Sunspark
13th March 2026, 23:23
Was curious, so I looked on my Intel machine. dxva2-copyback and dxva2-native both work fine paired with the madvr renderer as does be decoder with evr-cp renderer. The only one with an oddity was quicksync which had a green flash at the beginning but then reverts to a normal colour.
Conclusion: The initial green flash indicates the files are not 100% perfect, but it is playable. Therefore, strong indications that the GPU drivers you are working with may have an issue.
flossy_cake
21st March 2026, 19:13
I am willing to test also if you can re-upload the file
LigH
21st March 2026, 19:30
I recoded some 4K UHD dashcam videos and discovered that using the "slower" preset in x264 in VirtualDub2 went over the DXVA decoder capabilities of an Nvidia GTX 1660 Super or RTX 2060 (https://forum.doom9.org/showthread.php?p=2018210#post2018210). Using the "slow" or "medium" preset was fine. I could not find a verbose list of limits for DXVA AVC decoders, but I guess the culprit might be a B frames or reference frames or motion search range limit. Certainly something that increases with more elaborate x264 presets.
starsat
22nd March 2026, 05:41
@Sunspark - thanks for taking a look on the files, I think that the issue is tightly tied to Windows & nVidia, maybe even some HW limitation, dunno...
@flossy_cake - thanks, re-up: https://filebin.net/8mbx6t8rfoxz8opn (or alternatively https://limewire.com/d/WeefI#JIany4R9HD )
4 samples inside:
- 20260222_0633 FTS-10842000H-DAV.TS: motorcycle race feed sample, 60s
- 20260308_1424 NHK WORLD-JAPAN.TS: a sample from regular TV channel from Hot Bird satellite, NHK World Japan, 30s
- 20260308_1653 EQUtv.TS: a sample from regular TV channel from Hot Bird satellite, EQUtv, 30s
- 20260308_2051 EQUtv.TS: second sample from EQUtv, recorded just few hours later, but this time the channel was not affected, 30s
In the meantime I also tried to play with ffplay (a part of ffmpeg). As long as I don't use -hwaccel option, playback is OK. With -hwaccel I got only audio, no video, but that's also for non-affected sample, so it seems that probably I'm doing something wrong and I'm failing to enable HW acceleration with ffplay.exe at all...
flossy_cake
27th March 2026, 02:32
@Sunspark - thanks for taking a look on the files, I think that the issue is tightly tied to Windows & nVidia, maybe even some HW limitation, dunno...
@flossy_cake - thanks, re-up: https://filebin.net/8mbx6t8rfoxz8opn (or alternatively https://limewire.com/d/WeefI#JIany4R9HD )
4 samples inside:
- 20260222_0633 FTS-10842000H-DAV.TS: motorcycle race feed sample, 60s
- 20260308_1424 NHK WORLD-JAPAN.TS: a sample from regular TV channel from Hot Bird satellite, NHK World Japan, 30s
- 20260308_1653 EQUtv.TS: a sample from regular TV channel from Hot Bird satellite, EQUtv, 30s
- 20260308_2051 EQUtv.TS: second sample from EQUtv, recorded just few hours later, but this time the channel was not affected, 30s
In the meantime I also tried to play with ffplay (a part of ffmpeg). As long as I don't use -hwaccel option, playback is OK. With -hwaccel I got only audio, no video, but that's also for non-affected sample, so it seems that probably I'm doing something wrong and I'm failing to enable HW acceleration with ffplay.exe at all...
Sorry for the delay, I tested those 4 files on 2 systems with DXVA2 decoding on both.
System 1 (ancient system): Windows 7 + AMD R9 380 = all files play perfectly
System 2 (new system): Windows 10 22H2 + RTX 3060 = all files garbled except the last one
So there you go, an 11 year old GPU can decode it fine, while NVidia cannot.
And I bet you in the past NVidia GPUs could decode it just fine too so probably a driver bug/enshitification
flossy_cake
27th March 2026, 02:54
Oh and NVIDIA CUVID (old) plays fine on my 3060 too:
https://i.imgur.com/v4ck4Dt.png
So it looks like either NVidia or Microsoft broke something in DXVA2.
An interesting test would be installing 3060 into old Windows 7 machine, but Nvidia's current Win7 driver is old (475.06) so it wouldn't be a meaningful test (plus I can't be bothered moving the card!)
Sunspark
27th March 2026, 03:14
Not Microsoft, DXVA2 (all types, 9 and 11) work for me in Windows 10. But.. that GPU is ten years old.. heh. So it's a driver issue in Windows since we know Linux works with a newish AMD apu.
flossy_cake
27th March 2026, 04:20
Not Microsoft, DXVA2 (all types, 9 and 11) work for me in Windows 10. But.. that GPU is ten years old.. heh. So it's a driver issue in Windows since we know Linux works with a newish AMD apu.
Oh right, I forgot you were using an Intel GPU, so:
1. Windows 10 + Intel DXVA2 = no issue
2. Windows 10 + NVidia DXVA2 = borked
3. Windows 7 + AMD DXVA2 = no issue
4. Any windows + NVidia CUVID = no issue
5. Any windows + software decoding = no issue
Therefore it is almost certainly an NVidia driver issue.
starsat
27th March 2026, 10:27
Thanks guys for great support and tests! Respect ;)
I'll try to report this to nVidia - I see some support form. Don't believe much that they will do anything - some massive gaming issues maybe would be important for them, but such rare playback issue surely won't be. But still worth to give a shot ;)
flossy_cake
27th March 2026, 11:06
Thanks guys for great support and tests! Respect ;)
I'll try to report this to nVidia - I see some support form. Don't believe much that they will do anything - some massive gaming issues maybe would be important for them, but such rare playback issue surely won't be. But still worth to give a shot ;)
I've got to wonder if it's maybe some undocumented copy protection thing? The garbling looks similar to MPEG2 DVD CSS.
Blight
30th March 2026, 01:49
Thanks guys for great support and tests! Respect ;)
I'll try to report this to nVidia - I see some support form. Don't believe much that they will do anything - some massive gaming issues maybe would be important for them, but such rare playback issue surely won't be. But still worth to give a shot ;)
A few months ago I reported a bug in how they handled video color adjustments and they were receptive and fixed it, so there's a chance.
starsat
3rd April 2026, 01:20
Thanks, I've reported this to NVIDIA team as 260402-000461. Hope I described that well... we will see ;)
Thanks to everyone for help and pointing me to the right direction ;)
EDIT: They asked for more details, provided everything ;)
Are there any drawbacks to using CUVID which plays this stream?
nevcairiel
29th April 2026, 07:02
Thanks, I've reported this to NVIDIA team as 260402-000461. Hope I described that well... we will see ;)
Thanks to everyone for help and pointing me to the right direction ;)
EDIT: They asked for more details, provided everything ;)
If my quick test didn't fail, it looks like the latest driver - 596.36 - has actually fixed this.
starsat
16th May 2026, 05:44
Yes - unexpectedly, to my surprise, they really did that - it's fixed now :)
It works now on all affected streams and also on live playback - what a nice surprise :)
Even it's mentioned in the changelog:
Fixed General Bugs
Blocky artifacts when playing back H.264 content with DXVA 2.0 [6058551]
Thanks @nevcairiel for your great LAV Filters & @flossy_cake, @huhn, @Aleksoid1978, @Sunspark & @Blight for analysis, help and pushing me into the right direction :) It was really worth to report that to nVidia :)
Sorry for hijacking thread with that case, at the beginning I though that was something related to LAV, but I was wrong, this was a global nVidia DXVA issue ;)
Side note: nVidia gained a lot of my respect here, that they treated this seriously and not as a moaning of some random user :)
clsid
23rd May 2026, 13:06
@nevcairiel
Can you do a FFmpeg update? There have been a couple of useful fixes, and support for animated WebP and HE-AAC 960 decoding was added.
nevcairiel
10th June 2026, 06:38
LAV Filters 0.82
LAV Splitter
- NEW: Support for demuxing Dolby Vision Enhancement Layer streams
- NEW: Support for Animated WebP images
- Changed: When demuxing Blu-ray discs, Dolby Vision metadata is available on the primary video stream
LAV Video
- NEW: Support for Animated WebP images
- Changed: Hardware decoding support for DVDs has been removed
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.82.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.82.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.82-x64.zip)
Dolby Vision Enhancement Layer support is a feature for players to make use of, and requires a player to build the DirectShow graph properly, as well as a renderer that can finally consume the Enhancement Layer stream.
So as a user, you will not see an immediate use of it, until players make use of this functionality.
As always, please report issues, especially regressions, in as much detail as possible, and with a sample file.
Brazil2
10th June 2026, 10:57
LAV Filters 0.82
- Changed: Hardware decoding support for DVDs has been removed
Why ? 🤔
nevcairiel
10th June 2026, 11:06
Why ? 🤔
DVD handling has a number of special requirements with handling the menu and such things which caused numerous bugs with hardware decoding.
Nevermind that a DVD is SD MPEG2 which a CPU can handle without even waking up fully.
huhn
10th June 2026, 12:19
mpeg-2 SD could even be more power efficient too. modern CPU really sleep with it and there is no DXVA stuff happening which may force a powerstate that wastes more power then shader plus CPU. the PCIe uplaod is also irrelevant.
clsid
10th June 2026, 13:59
Thanks!
SamuriHL
10th June 2026, 21:07
Very exciting beginning!
clsid
12th June 2026, 11:39
GCC 15.3 has been released
Blight
15th June 2026, 14:47
LAV Filters 0.82
Dolby Vision Enhancement Layer support is a feature for players to make use of, and requires a player to build the DirectShow graph properly, as well as a renderer that can finally consume the Enhancement Layer stream.
So as a user, you will not see an immediate use of it, until players make use of this functionality.
Assuming LAV is connected to MPC-VR, is there anything else required on the player-side?
nevcairiel
15th June 2026, 17:40
Assuming LAV is connected to MPC-VR, is there anything else required on the player-side?
I don't believe any public renderer supports this.
And yes, you need to call a function on LAV Splitter to enable it, and then build the video graph to render both streams and connect both to the renderer - if one existed that supported it.
CruNcher
24th June 2026, 00:17
Yes - unexpectedly, to my surprise, they really did that - it's fixed now :)
It works now on all affected streams and also on live playback - what a nice surprise :)
Even it's mentioned in the changelog:
Thanks @nevcairiel for your great LAV Filters & @flossy_cake, @huhn, @Aleksoid1978, @Sunspark & @Blight for analysis, help and pushing me into the right direction :) It was really worth to report that to nVidia :)
Sorry for hijacking thread with that case, at the beginning I though that was something related to LAV, but I was wrong, this was a global nVidia DXVA issue ;)
Side note: nVidia gained a lot of my respect here, that they treated this seriously and not as a moaning of some random user :)
They take Doom9 feedback in a higher priority order for sure since a lot of issues got fixed and made their VPU Playback Stack very stable thanks to Doom9 users and Developers in the entire Playback/Editing/Streaming Ecosystem.
And surely they check it even by AI now continuously for sure like Intel and even AMD by now most probably as well, when it comes to In the field testing and interoperability results.
Also as this part is when you look Chip wise on it not only a part where every report could improve something for gamers but all their customers where their VPUs get utilized in the chain and this can go even up as high as their cloud Infrastructure overall stability and customer experience.
nevcairiel
17th August 2026, 10:14
LAV Filters 0.83
LAV Splitter
- Fixed: Various stability improvements for Dolby Vision Enhancement Layer processing
- Fixed: Matroska files would only show the first 64 tracks
LAV Audio
- Fixed: Minor timing corrections for TrueHD Atmos bitstreaming
Download: Installer (both x86/x64) (https://files.1f0.de/lavf/LAVFilters-0.83.exe) -- Zips: 32-bit (https://files.1f0.de/lavf/LAVFilters-0.83.zip) & 64-bit (https://files.1f0.de/lavf/LAVFilters-0.83-x64.zip)
On top of the listed changes, a major FFmpeg update caused all the library versions to increase.
Otherwise, just some stability improvements, and minor fixes.
As always, please report issues, especially regressions, in as much detail as possible, and with a sample file.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.