-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document the minimal processor requirements #411
Comments
I'm not aware of any minimum processor requirements. |
Did anything come from this? The builds are supposed to be generic x86_64. |
Hello. In my case, I found the latest FFmpeg bundled with Streamlink didn't work for me, and looking up I ended here. I have an AMD Athlon II X3 450/Phenom II X4 B50. Testing with Testing releases, the last one working for me is Auto-Build 2024-08-31 12:50 (7.0.2-GPL), next one Auto-Build 2024-09-30 15:36 (7.1-GPL) doesn't. I tried to look up for platform/flags/arch in makefile/configure files but I'm not familiar with your workflow. Thanks. |
There are no such flags anywhere, which should normally mean it's generic x86_64 and should work on any CPU. |
I'm not saying there is something, I didn't see anything too, but you know more than me. Here is the Windbg output
I could compile it and It works, but without the libraries (It's complicated for someone like me).
So, I tried the gyan.dev full 7.1 and master builds have the same problem, so It's not from your builds. But the essentials ones from there works, so, for sure is one of the extra libraries included in the full version:
Still a needle in a haystack. Any advice to find more information? Should report this in the ffmpeg bugtracker? Or maybe is not the right site? (ffmpeg works) |
It would need reported in the bugtracker of the respective library, ffmpeg itself can't do anything about it either. |
Here's a debug build of latest master: |
Thanks! But It's for Linux64
Testing all I could, I can only say: All 7.0.2 and below works, and between 7.1 and master, "Essential" work, "Full" builds (like yours 7.1) don't. Also, the last time I tried to debug something, I found that after compiling the build with debug symbols, the build also disabled any CPU optimisations and It worked, so I was a waste of time. I don't know If here is the same case...
I was guessing that. It's not their fault. But at some point if the compatibility could not be regained, they should know at least. |
Windows debuggers cannot read the symbols gcc produces, so it wouldn't be helpful. |
Sorry, my fault. I was distracted and It's a thing I usually don't do. GDB output:
So, I suppose, that points to VVenC and. specifically, to here?. Looking in the README of the Gyan builds, the 7.0.2 Full Build that works uses Thanks for the tips! |
Is that just a plain "ffmpeg" invocation, without any further arguments? |
Yes. Just realised that It's something to be mention before: The crash comes directly executing In Windows, meanwhile with 7.0 (the last one of yours that work) shows this:
7.1 does this:
I suppose, in Linux, it will show the same or only "Illegal Instruction" (I think I did that but I don't remember the output, I only copied the gdb output). |
Something that'd also be interesting would be a backtrace (type bt into gdb after the crash), to find out where it calls vvenc stuff on init from. |
7.0 not crashing also makes sense, since it has no vvenc support. |
It seems like vvenc injects -msse4.1 into the compiler options:
So that's most likely what's causing this. Now, the question is if that can just somehow be turned off, or if the call on init can be avoided somehow, so that at least everything except vvenc works on older archs. |
It's a combination of them using a static initializer for the buffer: https://github.com/fraunhoferhhi/vvenc/blob/0c2c21eba8b336a273e7dc6e5e7fc0a95e8c5fcc/source/Lib/CommonLib/Buffer.cpp#L500 I have thus now disabled vvenc from the builds. There is no way to remedy this outside of a major redesign by vvenc upstream. |
I know you figured out, but as you asked for, and I could not shared earlier:
Thanks! |
Could you try if this build still crashes: https://btbn.de/files/ffmpeg-N-118066-g8ad34e97b6-win64-gpl.zip |
Still crash in the same way than the others: There is no output and Windbg points the same illegal instruction that was mentioned above. |
How about this one? https://btbn.de/files/ffmpeg-N-118066-g8ad34e97b6-win64-gpl-2.zip |
No difference. |
Got an issue about illegal instruction on a processor from 2010. Builds before 30 July 2024 were operational. Apparently support for older hardware was dropped since them, but what are the exact requirements?
The text was updated successfully, but these errors were encountered: