[FFmpeg-devel] ARM/NEON build error on MSVC after moving to ffmpeg 4.2
Lukas Fellechner
lukas.fellechner at gmx.net
Sun Sep 29 22:55:29 EEST 2019
Hi,
after updating ffmpeg form 4.1.x to n4.2 or n4.2.1, I can no longer build ARM or ARM64 versions of ffmpeg with Visual Studio. I always get build errors on neon assembly code, like this:
C:\Source\FFmpegInterop-lukasf\ffmpeg\Output\Windows10\ARM64\libavcodec\aarch64\fft_neon.o.asm(811) :
error A2034: unknown opcode: .
.section .rdata
The problem seems to be with a change in libavutil/aarch64/asm.S and libavutil/aarch/asm.S.
Changeset 41cf3e3 („arm: Create proper .rdata sections for COFF“) has added the following line, which MSVC compiler does not seems to understand.
#elif defined(_WIN32)
.section .rdata
Although it seems that this was added based on feedback from a MS developer, it does not seem to work on MSVC compiler toolchain.
Can we perhaps change this to something like this:
#elif defined(_WIN32) && !defined(_MSC_VER)
.section .rdata
Or is there some other way to get this working, without completely disabling NEON optimizations?
Thank you, all the best
Lukas
More information about the ffmpeg-devel
mailing list