[FFmpeg-devel] [PATCH 2/5] libavfilter/x86/vf_gblur: add ff_verti_slice_avx2/512()

Wu, Jianhua jianhua.wu at intel.com
Tue Aug 3 10:11:48 EEST 2021


> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Michael Niedermayer
> Sent: Tuesday, August 3, 2021 2:16 AM
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH 2/5] libavfilter/x86/vf_gblur: add
> ff_verti_slice_avx2/512()
> 
> On Mon, Aug 02, 2021 at 01:34:36PM +0800, Wu Jianhua wrote:
> > The new vertical slice with AVX2/512 acceleration can significantly
> > improve the performance of Gaussian Filter 2D.
> >
> > Performance data (fps):
> > ff_verti_slice_c: 32.57
> > ff_verti_slice_avx2: 476.19
> > ff_verti_slice_avx512: 833.33
> >
> > Co-authored-by: Cheng Yanfei <yanfei.cheng at intel.com>
> > Co-authored-by: Jin Jun <jun.i.jin at intel.com>
> > ---
> >  libavfilter/gblur.h             |   2 +
> >  libavfilter/vf_gblur.c          |  24 ++--
> >  libavfilter/x86/vf_gblur.asm    | 187
> ++++++++++++++++++++++++++++++++
> >  libavfilter/x86/vf_gblur_init.c |   7 ++
> >  4 files changed, 212 insertions(+), 8 deletions(-)
> 
> breaks on x86_32
> ...
> src/libavfilter/x86/vf_gblur.asm:363: ... from macro `VERTI_SLICE' defined
> here
> src/libavfilter/x86/vf_gblur.asm:46: ... from macro `PUSH_MASK' defined
> here
> src/libavfilter/x86/vf_gblur.asm:415: error: invalid operands in non-64-bit
> mode
> src/libavfilter/x86/vf_gblur.asm:363: ... from macro `VERTI_SLICE' defined
> here
> src/libavfilter/x86/vf_gblur.asm:46: ... from macro `PUSH_MASK' defined
> here
> src/libavfilter/x86/vf_gblur.asm:415: error: invalid operands in non-64-bit
> mode
> src/libavfilter/x86/vf_gblur.asm:363: ... from macro `VERTI_SLICE' defined
> here
> src/libavfilter/x86/vf_gblur.asm:46: ... from macro `PUSH_MASK' defined
> here
> src/libavfilter/x86/vf_gblur.asm:420: error: invalid operands in non-64-bit
> mode
> src/libavfilter/x86/vf_gblur.asm:363: ... from macro `VERTI_SLICE' defined
> here
> src/libavfilter/x86/vf_gblur.asm:49: ... from macro `PUSH_MASK' defined
> here
> src/ffbuild/common.mak:92: recipe for target 'libavfilter/x86/vf_gblur.o'
> failed
> make: *** [libavfilter/x86/vf_gblur.o] Error 1
> make: *** Waiting for unfinished jobs....
> 
> 
> 

Looks like I neglected the ARCH_X86_64 judgment here. I will fix the problem in v2 patches.

Thanks.
Jianhua


More information about the ffmpeg-devel mailing list