[FFmpeg-devel] [PATCH 7/7] avfilter/vf_nlmeans: add x86 SIMD

Michael Niedermayer michael at niedermayer.cc
Fri Oct 29 19:30:58 EEST 2021


On Fri, Oct 29, 2021 at 05:19:03PM +0200, Paul B Mahol wrote:
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
>  libavfilter/vf_nlmeans.c          |  3 +
>  libavfilter/vf_nlmeans.h          |  1 +
>  libavfilter/x86/Makefile          |  2 +
>  libavfilter/x86/vf_nlmeans.asm    | 92 +++++++++++++++++++++++++++++++
>  libavfilter/x86/vf_nlmeans_init.c | 40 ++++++++++++++
>  5 files changed, 138 insertions(+)
>  create mode 100644 libavfilter/x86/vf_nlmeans.asm
>  create mode 100644 libavfilter/x86/vf_nlmeans_init.c

on x86-32 linux:

src/libavfilter/x86/vf_nlmeans.asm:42: error: symbol `r9q' undefined
src//libavutil/x86/x86inc.asm:298: ... from macro `movsxdifnidn' defined here
src/libavfilter/x86/vf_nlmeans.asm:43: error: symbol `r10q' undefined
src//libavutil/x86/x86inc.asm:298: ... from macro `movsxdifnidn' defined here
src/libavfilter/x86/vf_nlmeans.asm:44: error: symbol `r8q' undefined
src//libavutil/x86/x86inc.asm:298: ... from macro `movsxdifnidn' defined here
src/libavfilter/x86/vf_nlmeans.asm:46: error: symbol `r10q' undefined
src//libavutil/x86/x86inc.asm:1154: ... from macro `sub' defined here
src/libavfilter/x86/vf_nlmeans.asm:47: error: symbol `r11q' undefined
src/libavfilter/x86/vf_nlmeans.asm:48: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1151: ... from macro `sub' defined here
src/libavfilter/x86/vf_nlmeans.asm:49: error: symbol `r11q' undefined
src/libavfilter/x86/vf_nlmeans.asm:50: error: symbol `r10q' undefined
src/libavfilter/x86/vf_nlmeans.asm:51: error: symbol `r10q' undefined
src//libavutil/x86/x86inc.asm:1142: ... from macro `add' defined here
src/libavfilter/x86/vf_nlmeans.asm:53: error: symbol `r11q' undefined
src/libavfilter/x86/vf_nlmeans.asm:54: error: symbol `r9q' undefined
src/libavfilter/x86/vf_nlmeans.asm:60: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1398: ... from macro `movdqu' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src//libavutil/x86/x86inc.asm:1716: ... from macro `vmovdqu' defined here
src/libavfilter/x86/vf_nlmeans.asm:61: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1398: ... from macro `movdqu' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src//libavutil/x86/x86inc.asm:1716: ... from macro `vmovdqu' defined here
src/libavfilter/x86/vf_nlmeans.asm:62: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1398: ... from macro `movdqu' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src//libavutil/x86/x86inc.asm:1716: ... from macro `vmovdqu' defined here
src/libavfilter/x86/vf_nlmeans.asm:63: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1398: ... from macro `movdqu' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src//libavutil/x86/x86inc.asm:1716: ... from macro `vmovdqu' defined here
src/libavfilter/x86/vf_nlmeans.asm:65: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1501: ... from macro `pmovzxbd' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src/libavfilter/x86/vf_nlmeans.asm:74: error: symbol `r7q' undefined
src/libavfilter/x86/vf_nlmeans.asm:78: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1417: ... from macro `movups' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src/libavfilter/x86/vf_nlmeans.asm:79: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1417: ... from macro `movups' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src/libavfilter/x86/vf_nlmeans.asm:84: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1417: ... from macro `movups' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src/libavfilter/x86/vf_nlmeans.asm:85: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1417: ... from macro `movups' defined here
src//libavutil/x86/x86inc.asm:1263: ... from macro `RUN_AVX_INSTR' defined here
src/libavfilter/x86/vf_nlmeans.asm:87: error: symbol `r11q' undefined
src//libavutil/x86/x86inc.asm:1139: ... from macro `add' defined here
src/libavfilter/x86/vf_nlmeans.asm:88: error: symbol `r11q' undefined
/home/michael/ffmpeg-git/ffmpeg/ffbuild/common.mak:92: recipe for target 'libavfilter/x86/vf_nlmeans.o' failed
make: *** [libavfilter/x86/vf_nlmeans.o] Error 1

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The misfortune of the wise is better than the prosperity of the fool.
-- Epicurus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20211029/fdaffaf5/attachment.sig>


More information about the ffmpeg-devel mailing list