Impossible to disable AVX instructions in MPV (and VLC) player?

Looks like I found something absolutely nobody needed, except if AVX frequencies cause extreme grief SPECIFICALLY on X299.

MPV (and VLC on Linux) by default taps into libav and ffmpeg. Unfortunately I have not spotted a single way to turn off AVX instructions other than to build ffmpeg without AVX. For encoding, AVX offset dropping frequency is fine. For playback though, I would like to use SSE instead of AVX for playback, as the AVX offset feature actually drops frames in AV1 playback even though I have an abundance of cores in MPV.

Is this truly impossible in MPV’s configuration alone? Is it so tied to libav and ffmpeg there is no off switch for AVX?

Zero results of anyone asking for an AVX disable/off switch for MPV (or VLC) on Google. I’m literally the only person in the world asking for this because of stupid AVX offsets.

Edit: Looks like VLC does it as well. Uses AVX whenever available. No off switch there neither.

Remove any overclock settings and make the AVX offset set to zero?

I’d have to add Vcore to keep things like Prime95 AVX stable. Out of the realm of my current cooling.

Tweaktown’s Skylake-X OC guide said to keep offsets in place whenever those instructions are in use.

This is asking about software switches for AVX, not fixing it by having no offset.

Ah well I will be no help with that.

As a developer myself, I am not going to be doing anything to help in avoiding AVX. It’s been a long time at this point, and I think that me, and other developers all feel it is past time to make full use of all the CPU instructions.

You’re going to find it more and more difficult to avoid it.

1 Like

Shit.

Well, I managed to decrease the offset to only -1 as opposed to -3 but 4K 60fps AV1 decode using dav1d (since it only uses max 16 threads) still drops frames. I made a file to test how many frames CPUs drop and it was basically encoded in the AV1 reference encoder equivalent of placebo with a lot of bitrate, specifically to test CPUs.

AMD CPUs don’t require offset, but may perform less than optimal on 12 cores and up on the most current version of dav1d.

Unless I run 1.3V 4.7Ghz all core on 2x 360 rads, no AVX offset with all cores clocked high ain’t happening on my i9-10920X.

I sort of think that the problem isn’t with AVX or AVX offsets. It is with these frame drops. A few hundred MHz should not be enough to drop frames especially on playback. It should be able to buffer many decoded frames in advance for that.

I don’t think that I’ve tried AV1 but my 3 year old laptop can decode 4K video streams on its 4 core i7 without GPU support, and it doesn’t drop anything.

I made the file especially taxing on the CPU, to stress the decoder and CPUs. And yes, it managed to drop frames. VLC is even worse because it uses the reference single thread limited libaom.