Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
30th July 2023, 09:40 | #1 | Link |
Registered User
Join Date: Jul 2023
Posts: 3
|
x264 SIMD asm
There is x264. It use a lot of x86 asm files. For example pixel-32.asm. This files can use different SIMD instruction set: mmx, 3DNow!, sse family, others
I need the simple way to automatically analyze every file. I want get which SIMD family in which file are used. How? I think every asm file must contain information about which SIMD family it use (or information that no SIMD). Without this information it is very bad idea try to use this files... I am angry, my x86 CPU support mmx and 3DNow! only, but x264 try call sse, so I get "Illegal instruction" sometimes. I plan to make patch for x264. Let's communicate in this post |
30th July 2023, 12:56 | #2 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 3,019
|
Can't you just target the plain C on compile time with --disable-asm and produce a slow plain C executable that you can then run with --no-asm in the command line?
That should work. |
1st August 2023, 06:13 | #3 | Link | |
Registered User
Join Date: Jul 2023
Posts: 3
|
Quote:
When my CPU doesn't support ... what? What if minimal requirement to use x264 asm files? Can I use x264 if my CPU doesn't support AVX-512? Can I use x264 if my CPU doesn't support sse2? Can I use x264 if my CPU doesn't support sse? And so on... 2) Ok, Let's think my CPU doesn't support anything... Anyway, no, I can't use --disable-asm. Because x264 try use not unisex CFLAGS without any cheking, this is code from x264/git/configure CFLAGS="$CFLAGS -mfpmath=sse -msse -msse2" x264 should checking SIMD support before use this CFLAGS, isn't it? x264 can check using GNU autoconf. But my dream is change build system to cmake or meson like OpenH264. What are you thinking about it? Let's communicate in this post Last edited by dungeonlords; 1st August 2023 at 06:25. |
|
1st August 2023, 09:13 | #4 | Link |
Registered User
Join Date: Jul 2007
Posts: 555
|
1) When you trying to use it on something unsupported. i.e. doesn't support at least SSE2 for x86. Very minimum is SSE which implies MMXExt but need extra params to configure from item 2.
2) Add Code:
--extra-cflags="-mfpmath=387" |
1st August 2023, 11:27 | #5 | Link | |
Registered User
Join Date: Jul 2023
Posts: 3
|
Quote:
1) "1) When you trying to use it on something unsupported. i.e. doesn't support at least SSE2 for x86. Very minimum is SSE which implies MMXExt but need extra params to configure from item 2." SSE2 for x86? Are you sure? If my x86 CPU supports SSE, SSE2 and not support SSE3, SSSE3, SSE4.1,... then I can use x264 asm files or not? 2) But I have not i686 but i586. How change it? This way? Code:
--extra-cflags="-march=i586 -mfpmath=387" 4) Because of 3) many scripts like buildroot doesn't provide capabilities to change x264 build script... 5) my dream is change build system to cmake or meson like OpenH264. What are you thinking about it? Let's communicate in this post Last edited by dungeonlords; 1st August 2023 at 13:05. |
|
1st August 2023, 21:57 | #6 | Link | |||
Registered User
Join Date: Jul 2007
Posts: 555
|
Quote:
Quote:
Code:
--disable-asm --extra-cflags="-march=i586 -mfpmath=387" Quote:
That is your problem, and not x264 problem, so I don't care. |
|||
Tags |
x264 development |
Thread Tools | Search this Thread |
Display Modes | |
|
|