summaryrefslogtreecommitdiff
path: root/libavfilter/vf_signalstats.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2019-10-11 13:32:24 +0200
committerPaul B Mahol <onemda@gmail.com>2019-10-11 13:32:24 +0200
commit71d9ae11a56df0d8f549295394a4a3af6718cdee (patch)
tree3ba544b1c72a38413a0f70bc0205052285844708 /libavfilter/vf_signalstats.c
parent0e68e8c93f9068596484ec8ba725586860e06fc8 (diff)
avfilter/vf_signalstats: fix stack buffer overflow
Fixes #8249
Diffstat (limited to 'libavfilter/vf_signalstats.c')
-rw-r--r--libavfilter/vf_signalstats.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavfilter/vf_signalstats.c b/libavfilter/vf_signalstats.c
index 2b8c0de4c4..abe813d91d 100644
--- a/libavfilter/vf_signalstats.c
+++ b/libavfilter/vf_signalstats.c
@@ -491,7 +491,7 @@ static int compute_sat_hue_metrics8(AVFilterContext *ctx, void *arg, int jobnr,
const int yuvu = p_u[i];
const int yuvv = p_v[i];
p_sat[i] = hypot(yuvu - 128, yuvv - 128); // int or round?
- ((int16_t*)p_hue)[i] = floor((180 / M_PI) * atan2f(yuvu-128, yuvv-128) + 180);
+ ((int16_t*)p_hue)[i] = fmod(floor((180 / M_PI) * atan2f(yuvu-128, yuvv-128) + 180), 360.);
}
p_u += lsz_u;
p_v += lsz_v;
@@ -530,7 +530,7 @@ static int compute_sat_hue_metrics16(AVFilterContext *ctx, void *arg, int jobnr,
const int yuvu = p_u[i];
const int yuvv = p_v[i];
p_sat[i] = hypot(yuvu - mid, yuvv - mid); // int or round?
- ((int16_t*)p_hue)[i] = floor((180 / M_PI) * atan2f(yuvu-mid, yuvv-mid) + 180);
+ ((int16_t*)p_hue)[i] = fmod(floor((180 / M_PI) * atan2f(yuvu-mid, yuvv-mid) + 180), 360.);
}
p_u += lsz_u;
p_v += lsz_v;