[FFmpeg-devel] libavcodec/bswapdsp : add AVX2 for bswap_buf

Martin Vignali martin.vignali at gmail.com
Sat Oct 28 17:14:04 EEST 2017


2017-10-28 15:47 GMT+02:00 James Darnley <james.darnley at gmail.com>:

> On 2017-10-22 19:14, Martin Vignali wrote:
> > @@ -86,16 +101,20 @@ SECTION .text
> >
> >  ; void ff_bswap_buf(uint32_t *dst, const uint32_t *src, int w);
> >  %macro BSWAP32_BUF 0
> > -%if cpuflag(ssse3)
> > +%if cpuflag(ssse3)||cpuflag(avx2)
> >  cglobal bswap32_buf, 3,4,3
> >      mov      r3, r1
> > +%if cpuflag(avx2)
> > +    vbroadcasti128  m2, [pb_bswap32]
> > +%else
> >      mova     m2, [pb_bswap32]
> > +%endif
>
> Why don't you increase the size of the constant?  You wouldn't need a
> preprocessor condition.
>
> I do admit I have never considered using a broadact-128 instruction in
> similar circumstances so I have no idea which might be "better".
>
>
> For this, i follow Henrik Gramner's code, in the discussion
libavcodec/exr : add x86 SIMD for predictor.

Martin


More information about the ffmpeg-devel mailing list