summaryrefslogtreecommitdiff
path: root/libavcodec/dsputil.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-11-12 02:50:25 +0100
committerMichael Niedermayer <michaelni@gmx.at>2011-11-12 02:50:25 +0100
commit29582df797745fa6c5eec22b007e4fd3a47e7dd9 (patch)
tree59c487e218e4f750b48151d548db9091236d096f /libavcodec/dsputil.h
parent6761b6b825c4aafff311a180a09c7013288480aa (diff)
parent29ae0565d98bb41e54fc74f74c330d3214825f47 (diff)
Merge remote-tracking branch 'qatar/master'
* qatar/master: vble: remove vble_error_close VBLE Decoder tta: use an integer instead of a pointer to iterate output samples shorten: do not modify samples pointer when interleaving mpc7: only support stereo input. dpcm: do not try to decode empty packets dpcm: remove unneeded buf_size==0 check. twinvq: add SSE/AVX optimized sum/difference stereo interleaving vqf/twinvq: pass vqf COMM chunk info in extradata vqf: do not set bits_per_coded_sample for TwinVQ. twinvq: check for allocation failure in init_mdct_win() swscale: add padding to conversion buffer. rtpdec: Simplify finalize_packet http: Handle proxy authentication http: Print an error message for Authorization Required, too AVOptions: don't return an invalid option when option list is empty AIFF: add 'twos' FourCC for the mux/demuxer (big endian PCM audio) Conflicts: libavcodec/avcodec.h libavcodec/tta.c libavcodec/vble.c libavcodec/version.h libavutil/opt.c libswscale/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r--libavcodec/dsputil.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index 92e081c411..a44c146af9 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -451,6 +451,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*/);