diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2011-10-30 09:13:55 +0400 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2011-11-11 23:13:58 +0400 |
commit | 9d06037d48041ad8ccbae6c12aa9f3a313a89c4e (patch) | |
tree | 9521e25c2c61b0397b86f99d026b624251ee0d14 /libavcodec/dsputil.h | |
parent | 7b966566da24598a636a433a75a7842e272b18f6 (diff) |
twinvq: add SSE/AVX optimized sum/difference stereo interleaving
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r-- | libavcodec/dsputil.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index acb2041460..98b7b1eeaa 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -453,6 +453,23 @@ typedef struct DSPContext { */ void (*butterflies_float)(float *restrict v1, float *restrict v2, int len); + /** + * Calculate the sum and difference of two vectors of floats and interleave + * results into a separate output vector of floats, with each sum + * positioned before the corresponding difference. + * + * @param dst output vector + * constraints: 16-byte aligned + * @param src0 first input vector + * constraints: 32-byte aligned + * @param src1 second input vector + * constraints: 32-byte aligned + * @param len number of elements in the input + * constraints: multiple of 8 + */ + void (*butterflies_float_interleave)(float *dst, const float *src0, + const float *src1, int len); + /* (I)DCT */ void (*fdct)(DCTELEM *block/* align 16*/); void (*fdct248)(DCTELEM *block/* align 16*/); |