[FFmpeg-devel] libavcodec/proresdec : add qmat dsp with SSE2, AVX2 simd

Martin Vignali martin.vignali at gmail.com
Sat Oct 7 18:49:09 EEST 2017


2017-10-07 17:30 GMT+02:00 Ronald S. Bultje <rsbultje at gmail.com>:

> Hi Martin,
>
> On Sat, Oct 7, 2017 at 10:22 AM, Martin Vignali <martin.vignali at gmail.com>
> wrote:
>
> > Hello,
> >
> > Patch in attach add a new dsp
> > for manipulation of qmat
> >
> > for now, i move this code inside
> >
> > for (i = 0; i < 64; i++) {
> >         qmat_luma_scaled  [i] = ctx->qmat_luma  [i] * qscale;
> >         qmat_chroma_scaled[i] = ctx->qmat_chroma[i] * qscale;
> > }
> >
> > i add a special case for qscale == 1
> > and SSE2, AVX2 optimization
> >
>
> This loop only executes once per slice. We typically do not SIMD-optimize
> at that level, because it won't give significant speed gains...
>

Ok didn't know that.
I mostly follow, what there are already done, like in blockdsp.clear_block,
is not call so often in a frame, and the speed gain (when the simd is not
slower (see
the discussion libavcodec/blockdsp : add clear_blocks_prores
) is not very sensitive with some compiler (even with checkasm)

Drop this patch in any case


Martin


More information about the ffmpeg-devel mailing list