On 27/07/14 11:10, Christophe Gisquet wrote:
> 2014-07-27 10:43 GMT+02:00 Christophe Gisquet <christophe.gisq...@gmail.com>:
>> On the other hand, this is with little to no SIMD, so it might be
>> bigger with enough dsp code.
> 
> Actually, it's just put_unweighted_pred that is now running using
> known square sizes, so you've allowed the compiler to unroll these
> specific functions and make their loop size known at compile time.

yep.

> I'd
> wager SIMD functions would already apply a minimum unrolling whatever
> the version, and these versions would help very little (saving one
> register maybe?).

this part doesn't have simd yet and as you might noticed square is the
most common occurrence so makes sense speed it up

> The square parameter does not seem to have any other benefit (ie dead
> branches or simplified computations outside of the dsp functions), so
> I'm unsure the benefit would remain.

This patch is just this alone since I couldn't spend time on writing
simd version of this. Perfs shows it as one of the main easy targets so
simdifying those functions would actually get a larger gain (probably an
overall 2%-3%)

> Another point that is maybe irrelevant to you is that several
> projects, e.g. openhevc, have substantially different dsp functions
> now. You are essentially diverging from these, which probably reduces
> the probability to get any SIMD versions for yours, and make it more
> difficult to import the changes into libav.

This patch is on top of the openhevc code and apparently works even
stand-alone so I'd merge it now.

lu
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to