[FFmpeg-devel] Various build errors with armasm64 and armasm after update to FFmpeg 4.2

Martin Storsjö martin at martin.st
Wed Oct 2 12:08:53 EEST 2019


> On Oct 1, 2019, at 23:07, Lukas Fellechner <lukas.fellechner at gmx.net> wrote:
> 
> This has worked very well for quite a long time. But after upgrading to FFmpeg 4.2, the build fails. A lot of changes and additions have been done for ARM/NEON 64-bit, and it looks like many of them are not compatible with armasm64. First I had to fix gas-preprocessor, a patch has been submitted today. But now, many other errors occur, which have to do with the ARM64 assembly code itself. I don’t have any knowledge of ARM/NEON assembly code, so I cannot help much with the investigation or fixes.

The issue you posted about, and the other arm64 assembler issue you’ve linked, are already fixed since a very long time in libav’s gas-preprocessor, https://git.libav.org/?p=gas-preprocessor.git;a=summary.

> On ARM platform, I also see build errors. Interestingly, those files have not even changed. Only the referenced file libavutil/arm/asm.S has changed. Even when I undo the last changes there, the build still fails, so I am out of ideas here right now. When I switch back to FFmpeg 4.1.4, everything builds fine. Maybe there is a config change which causes those errors?

> Errors with ARM target (32 bit):
> 
> C:\Source\FFmpegInterop-lukasf\ffmpeg\Output\Windows10\ARM\libavcodec\arm\ac3dsp_arm.o.asm(72) : error A2173: syntax error in expression
>        it gt

This seems to be a new regression in armasm in MSVC 2019 16.3 (released a couple weeks ago), see https://developercommunity.visualstudio.com/content/problem/757709/armasm-fails-to-handle-it-instructions.html. I don’t see how it would work for you with an earlier version of FFmpeg though, maybe those files are around from an earlier build and you didn’t try doing a full rebuild?

You can apply https://lists.libav.org/pipermail/libav-devel/2019-October/086581.html on your copy of gas-preprocessor to work around this issue, but I’m not sure if it’s worth keeping the fix permanently (if the bug gets fixed in 16.4).

// Martin



More information about the ffmpeg-devel mailing list