[FFmpeg-devel] libavcodec/blockdsp : add clear_blocks_prores func (SSE, AVX) for prores decoding

Martin Vignali martin.vignali at gmail.com
Thu Oct 12 12:31:34 EEST 2017


2017-10-11 16:00 GMT+02:00 Ronald S. Bultje <rsbultje at gmail.com>:

> Hi Martin,
>
> (as you've probably noticed, I'm generally particularly interested in
> optimization patches, not just the SIMD, but also the general algorithmic
> thought behind it.)
>
> On Thu, Oct 5, 2017 at 10:58 AM, Martin Vignali <martin.vignali at gmail.com>
> wrote:
>
> > In attach patchs to add a dedicated func for clear_block inside
> > prores decoding (proresdec2)
> >
>
> The idea here is that N (where N=blocks_per_slice) calls is more expensive
> than 1 call, which is indeed true. One way we've tried to "fix" this in
> some decoders is to not call clear_blocks() at all, instead clearing the
> coefficient arrays in the call to idct() - see e.g. h264/hevc, vp8/9, and
> probably some more. Given that the prores idct lives in its own
> proresdspcontext, we could adjust it here as well. The advantage of having
> 0 calls should be obvious. :-).
>
>
>
Hi Ronald,

Ok i will take a look on this.
The clear block part is also called in the slice_alpha decoding, but not
sure it's necessary
(or at least not for the entire blocks)

Thanks

Martin


More information about the ffmpeg-devel mailing list