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;