Well, hopefully this isn't too late to be included in the next release. In any case, I have been
sitting on it for far too long, so here it is.

It could probably still use some minor polishing, and certainly more testing--but it does seem
to work well on my machine. Encoding with default options on a TiBook is about 47% faster.
At -8, it is closer to 65%. Though, I would really be interested in knowing how it performs on
a g5, I don't have high expectations for the restore functions; they may very well be slower.

Here is a rough breakdown of the improvements. The functions are optimized for a maximum
lpc order corresponding to -8, and averages were taken over an equal distribution of the
orders used at this level. Probably not quite right, but oh well.

FLAC__lpc_compute_residual_from_qlp_coefficients_altivec ~5x
FLAC__lpc_compute_residual_from_qlp_coefficients_16bit_altivec ~7x
FLAC__lpc_compute_autocorrelation_altivec ~15x
FLAC__lpc_restore_signal_altivec ~2x
FLAC__lpc_restore_signal_16bit_altivec ~3x
FLAC__fixed_compute_best_predictor_altivec ~3.5x

I'm not entirely certain about the "bitness" of the wider lpc functions, though the tests do complete.
Perhaps someone could shed some light on how much precision is expected of them, and when
the 64 bit functions are used instead.

Well, have fun.

Chris



Attachment: flac-1.1.0-altivec.diff
Description: Binary data

Reply via email to