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

Ronald S. Bultje rsbultje at gmail.com
Wed Oct 11 17:00:38 EEST 2017


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. :-).

Ronald


More information about the ffmpeg-devel mailing list