[FFmpeg-devel] [PATCH]lswr/rematrix: Remove an aggressive loop optimization / undefined behaviour
Carl Eugen Hoyos
cehoyos at ag.or.at
Fri Feb 24 12:21:54 EET 2017
Hi!
Attached patch fixes a gcc warning (tested 6.3.0).
Please comment, Carl Eugen
-------------- next part --------------
From 422e4b2fba6f3c9fbf930908474029cb8088bc46 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos at ag.or.at>
Date: Fri, 24 Feb 2017 11:16:26 +0100
Subject: [PATCH] lswr/rematrix: Remove an aggressive loop optimization.
Fixes undefined behaviour and a gcc warning:
libswresample/rematrix.c:376:47: warning: iteration 64 invokes undefined behavior
---
libswresample/rematrix.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/libswresample/rematrix.c b/libswresample/rematrix.c
index 4721063..03b9b20 100644
--- a/libswresample/rematrix.c
+++ b/libswresample/rematrix.c
@@ -371,9 +371,10 @@ av_cold static int auto_matrix(SwrContext *s)
s->matrix[1] - s->matrix[0], s->matrix_encoding, s);
if (ret >= 0 && s->int_sample_fmt == AV_SAMPLE_FMT_FLTP) {
- int i;
- for (i = 0; i < FF_ARRAY_ELEMS(s->matrix[0])*FF_ARRAY_ELEMS(s->matrix[0]); i++)
- s->matrix_flt[0][i] = s->matrix[0][i];
+ int i, j;
+ for (i = 0; i < FF_ARRAY_ELEMS(s->matrix[0]); i++)
+ for (j = 0; j < FF_ARRAY_ELEMS(s->matrix[0]); j++)
+ s->matrix_flt[i][j] = s->matrix[i][j];
}
return ret;
--
1.7.10.4
More information about the ffmpeg-devel
mailing list