2014-07-27 10:43 GMT+02:00 Christophe Gisquet <[email protected]>: > 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. 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?). 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. 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. -- Christophe _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
