Change #270198
| Category | ffmpeg |
| Changed by | Niklas Haas <git@haasn.dev> |
| Changed at | Tue 09 Jun 2026 18:27:20 |
| Repository | https://git.ffmpeg.org/ffmpeg.git |
| Project | ffmpeg |
| Branch | master |
| Revision | 6deae052a232194f6794936196fd9783d09f9784 |
Comments
swscale/x86/uops: generate NASM macros using uops_macros.h Rather than hard-coding a separate set of NASM macros, or generating them with a separate function, we can just leverage the C preprocessor to generate a NASM source file *from* the existing ops macros. This is maybe a bit unorthodox, but it avoids unnecessary overhead from re-generating the macros twice, avoids manual updating of the NASM macros, and generally does not come with any real downside except being a bit ugly. The main source of ugliness is the fact that the C preprocessor expands everything into a single line, whereas NASM expects separate statements to be on separate lines. Very fortunately, we can work around this by writing a another NASM macro to take its arguments and dump them onto multiple lines. It may seem premature, but I went ahead and defined all the macros, since it was easy enough to do. I added the %include in this commit to trigger build errors that occur only as a result of introducing this file in the same commit that introduces it. Signed-off-by: Niklas Haas <git@haasn.dev>
Changed files
- .gitignore
- ffbuild/common.mak
- libswscale/x86/Makefile
- libswscale/x86/ops_include.asm
- libswscale/x86/uops_macros.asm.h
- tests/ref/fate/source