[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