[FFmpeg-devel] [PATCH 2/6] avcodec/x86/hevc_mc: add qpel_h8_8_avx512icl and qpel_hv8_8_avx512icl

Wu, Jianhua jianhua.wu at intel.com
Fri Mar 11 09:55:33 EET 2022


Henrik Gramner:
> From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> Henrik Gramner
> Sent: Thursday, March 10, 2022 11:22 PM
> To: FFmpeg development discussions and patches <ffmpeg-
> devel at ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH 2/6] avcodec/x86/hevc_mc: add
> qpel_h8_8_avx512icl and qpel_hv8_8_avx512icl
> 
> On Wed, Feb 23, 2022 at 9:58 AM <jianhua.wu-at-intel.com at ffmpeg.org>
> wrote:
> > +%macro HEVC_PUT_HEVC_QPEL_AVX512ICL 2
> > [...]
> > +    vpmovdw             xm6, m6
> > +    movu             [dstq], xm6
> 
> vpmovdw can take a memory operand as dst directly:
> vpmovdw          [dstq], m6
> 
> (the same applies to the hv function)
> 
> > +%macro HEVC_PUT_HEVC_QPEL_HV_AVX512ICL 2 cglobal
> > +hevc_put_hevc_qpel_hv%1_%2, 6, 7, 8, dst, src, srcstride, height, mx,
> > +my, tmp
> 
> This functions uses 27(?) vector registers but only specifies 8, so it will break
> on Windows unless corrected.
> 
> > +        if (EXTERNAL_AVX512ICL(cpu_flags)) {
> > +            c->put_hevc_qpel[3][0][1] =
> ff_hevc_put_hevc_qpel_h8_8_avx512icl;
> > +            c->put_hevc_qpel[3][1][1] =
> ff_hevc_put_hevc_qpel_hv8_8_avx512icl;
> > +        }
> 
> Needs an ARCH_X86_64 guard as the code is 64-bit only.
> 

Thanks for the careful review. I updated a version 2 here:
http://ffmpeg.org/pipermail/ffmpeg-devel/2022-March/293872.html



More information about the ffmpeg-devel mailing list