diff options
author | Loren Merritt <lorenm@u.washington.edu> | 2008-07-13 14:56:01 +0000 |
---|---|---|
committer | Loren Merritt <lorenm@u.washington.edu> | 2008-07-13 14:56:01 +0000 |
commit | f27e1d645e609c01fbacfc2425818b56126df567 (patch) | |
tree | 37eb74cee17dfd256db399efd6047de8ca05670a /libavcodec/dsputil.h | |
parent | 6647ab80e36aa2484a145029141984843958b246 (diff) | |
download | ffmpeg-f27e1d645e609c01fbacfc2425818b56126df567.tar.gz |
simplify vorbis windowing
Originally committed as revision 14205 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r-- | libavcodec/dsputil.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index b35f97a40f..34c4129442 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -63,6 +63,8 @@ void ff_h264_lowres_idct_put_c(uint8_t *dst, int stride, DCTELEM *block); void ff_vector_fmul_add_add_c(float *dst, const float *src0, const float *src1, const float *src2, int src3, int blocksize, int step); +void ff_vector_fmul_window_c(float *dst, const float *src0, const float *src1, + const float *win, float add_bias, int len); void ff_float_to_int16_c(int16_t *dst, const float *src, long len); /* encoding scans */ @@ -364,10 +366,13 @@ typedef struct DSPContext { void (*vector_fmul_reverse)(float *dst, const float *src0, const float *src1, int len); /* assume len is a multiple of 8, and src arrays are 16-byte aligned */ void (*vector_fmul_add_add)(float *dst, const float *src0, const float *src1, const float *src2, int src3, int len, int step); + /* assume len is a multiple of 4, and arrays are 16-byte aligned */ + void (*vector_fmul_window)(float *dst, const float *src0, const float *src1, const float *win, float add_bias, int len); /* C version: convert floats from the range [384.0,386.0] to ints in [-32768,32767] * simd versions: convert floats from [-32768.0,32767.0] without rescaling and arrays are 16byte aligned */ void (*float_to_int16)(int16_t *dst, const float *src, long len); + void (*float_to_int16_interleave)(int16_t *dst, const float *src, long len, int channels); /* (I)DCT */ void (*fdct)(DCTELEM *block/* align 16*/); |