Mercurial > libavcodec.hg
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 |