diff dsputil.c @ 5737:efa3c1f9259a libavcodec

sse2 version of compute_autocorr(). 4x faster than c (somehow, even though doubles only allow 2x simd). overal flac encoding: 15-50% faster on core2, 4-11% on k8, 3-13% on p4.
author lorenm
date Sat, 29 Sep 2007 22:31:18 +0000
parents ec04964a1d1a
children 83ac4620c6ed
line wrap: on
line diff
--- a/dsputil.c	Sat Sep 29 15:20:22 2007 +0000
+++ b/dsputil.c	Sat Sep 29 22:31:18 2007 +0000
@@ -41,6 +41,9 @@
 /* vorbis.c */
 void vorbis_inverse_coupling(float *mag, float *ang, int blocksize);
 
+/* flacenc.c */
+void ff_flac_compute_autocorr(const int32_t *data, int len, int lag, double *autoc);
+
 uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP] = {0, };
 uint32_t ff_squareTbl[512] = {0, };
 
@@ -4132,6 +4135,9 @@
 #ifdef CONFIG_VORBIS_DECODER
     c->vorbis_inverse_coupling = vorbis_inverse_coupling;
 #endif
+#ifdef CONFIG_FLAC_ENCODER
+    c->flac_compute_autocorr = ff_flac_compute_autocorr;
+#endif
     c->vector_fmul = vector_fmul_c;
     c->vector_fmul_reverse = vector_fmul_reverse_c;
     c->vector_fmul_add_add = ff_vector_fmul_add_add_c;