Comment by sylware
1 year ago
A gigantic mistake was done in much of ffmpeg assembly:
They are abusing nasm macro-preprocessor up to obscene levels...
1 year ago
A gigantic mistake was done in much of ffmpeg assembly:
They are abusing nasm macro-preprocessor up to obscene levels...
Why is it "abusing," and what would you suggest as an alternative?
Have a look an their code, it is obvious. Often you have to figure out what actually the macros does, and I remember it was not that straight forward.
And the macro language is specific to nasm.
What to do: unroll the macros and/or use a little abstraction using a simple common macro preprocessor, aka not tied to the assembler.
And I am just doing exactly that: my x86_64 assembly code does assemble with fasm/nasm/gas with a little abstraction using a C preprocessor.
To be fair, nasm allows you to detach the preprocessor from the assembler (-E). But I agree with you in general.
there is nothing wrong with depending on nasm
1 reply →