comparison 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
comparison
equal deleted inserted replaced
5736:810067f2c33d 5737:efa3c1f9259a
38 /* snow.c */ 38 /* snow.c */
39 void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, int decomposition_count); 39 void ff_spatial_dwt(int *buffer, int width, int height, int stride, int type, int decomposition_count);
40 40
41 /* vorbis.c */ 41 /* vorbis.c */
42 void vorbis_inverse_coupling(float *mag, float *ang, int blocksize); 42 void vorbis_inverse_coupling(float *mag, float *ang, int blocksize);
43
44 /* flacenc.c */
45 void ff_flac_compute_autocorr(const int32_t *data, int len, int lag, double *autoc);
43 46
44 uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP] = {0, }; 47 uint8_t ff_cropTbl[256 + 2 * MAX_NEG_CROP] = {0, };
45 uint32_t ff_squareTbl[512] = {0, }; 48 uint32_t ff_squareTbl[512] = {0, };
46 49
47 const uint8_t ff_zigzag_direct[64] = { 50 const uint8_t ff_zigzag_direct[64] = {
4130 #endif 4133 #endif
4131 4134
4132 #ifdef CONFIG_VORBIS_DECODER 4135 #ifdef CONFIG_VORBIS_DECODER
4133 c->vorbis_inverse_coupling = vorbis_inverse_coupling; 4136 c->vorbis_inverse_coupling = vorbis_inverse_coupling;
4134 #endif 4137 #endif
4138 #ifdef CONFIG_FLAC_ENCODER
4139 c->flac_compute_autocorr = ff_flac_compute_autocorr;
4140 #endif
4135 c->vector_fmul = vector_fmul_c; 4141 c->vector_fmul = vector_fmul_c;
4136 c->vector_fmul_reverse = vector_fmul_reverse_c; 4142 c->vector_fmul_reverse = vector_fmul_reverse_c;
4137 c->vector_fmul_add_add = ff_vector_fmul_add_add_c; 4143 c->vector_fmul_add_add = ff_vector_fmul_add_add_c;
4138 c->float_to_int16 = ff_float_to_int16_c; 4144 c->float_to_int16 = ff_float_to_int16_c;
4139 4145