From 9445e7e6d562e14a6fbc3f73cd282136a239a611 Mon Sep 17 00:00:00 2001 From: Vodyannikov Aleksandr Date: Thu, 20 Oct 2016 06:57:35 +0300 Subject: swresample/rematrix: Fix float part of swr_set_matrix() Fixes Ticket #5897. Signed-off-by: Michael Niedermayer --- libswresample/rematrix.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'libswresample') diff --git a/libswresample/rematrix.c b/libswresample/rematrix.c index 1af2498530..4721063a13 100644 --- a/libswresample/rematrix.c +++ b/libswresample/rematrix.c @@ -68,14 +68,12 @@ int swr_set_matrix(struct SwrContext *s, const double *matrix, int stride) if (!s || s->in_convert) // s needs to be allocated but not initialized return AVERROR(EINVAL); memset(s->matrix, 0, sizeof(s->matrix)); + memset(s->matrix_flt, 0, sizeof(s->matrix_flt)); nb_in = av_get_channel_layout_nb_channels(s->user_in_ch_layout); nb_out = av_get_channel_layout_nb_channels(s->user_out_ch_layout); for (out = 0; out < nb_out; out++) { for (in = 0; in < nb_in; in++) - s->matrix[out][in] = matrix[in]; - if (s->int_sample_fmt == AV_SAMPLE_FMT_FLTP) - for (in = 0; in < nb_in; in++) - s->matrix_flt[out][in] = matrix[in]; + s->matrix_flt[out][in] = s->matrix[out][in] = matrix[in]; matrix += stride; } s->rematrix_custom = 1; -- cgit v1.2.1