aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-06-12 16:16:15 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-06-12 16:16:15 +0200
commit48a45f819f393b9a967b2ad891eef22227fc2040 (patch)
tree09f09561bb2c896f16386130e87532bc50df8eda
parent9abbbf753033b07cd72803b256b6c865fe397909 (diff)
downloadffmpeg-48a45f819f393b9a967b2ad891eef22227fc2040.tar.gz
swr: add native matrix for SIMD
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libswresample/rematrix.c1
-rw-r--r--libswresample/swresample_internal.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/libswresample/rematrix.c b/libswresample/rematrix.c
index 5fa77ce5f9..a7d000c016 100644
--- a/libswresample/rematrix.c
+++ b/libswresample/rematrix.c
@@ -346,6 +346,7 @@ int swri_rematrix_init(SwrContext *s){
void swri_rematrix_free(SwrContext *s){
av_freep(&s->native_matrix);
av_freep(&s->native_one);
+ av_freep(&s->native_simd_matrix);
}
int swri_rematrix(SwrContext *s, AudioData *out, AudioData *in, int len, int mustcopy){
diff --git a/libswresample/swresample_internal.h b/libswresample/swresample_internal.h
index c16be602d2..2d4240fba9 100644
--- a/libswresample/swresample_internal.h
+++ b/libswresample/swresample_internal.h
@@ -95,6 +95,7 @@ struct SwrContext {
float matrix[SWR_CH_MAX][SWR_CH_MAX]; ///< floating point rematrixing coefficients
uint8_t *native_matrix;
uint8_t *native_one;
+ uint8_t *native_simd_matrix;
int32_t matrix32[SWR_CH_MAX][SWR_CH_MAX]; ///< 17.15 fixed point rematrixing coefficients
uint8_t matrix_ch[SWR_CH_MAX][SWR_CH_MAX+1]; ///< Lists of input channels per output channel that have non zero rematrixing coefficients
mix_1_1_func_type *mix_1_1_f;