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