diff options
author | Paul B Mahol <onemda@gmail.com> | 2019-10-14 00:28:16 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2022-04-07 17:26:59 +0300 |
commit | 15900ff8e68f38404bd6d392d474d99f65cdbbf9 (patch) | |
tree | 454877c5f124469a42c95f5b08200c78e1d7a7ce /libavfilter | |
parent | c4629d8abe270ec5e5d79f7d18cd0b12cd5fd797 (diff) |
avfilter/vf_lenscorrection: fix division by zero
Fixes #8265
(cherry picked from commit 19587c9332f5be4f6bc6d7b2b8ef3fd21dfeaa01)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/vf_lenscorrection.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/libavfilter/vf_lenscorrection.c b/libavfilter/vf_lenscorrection.c index 239fe195bd..43f3c1b7d0 100644 --- a/libavfilter/vf_lenscorrection.c +++ b/libavfilter/vf_lenscorrection.c @@ -155,10 +155,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) for (plane = 0; plane < rect->nb_planes; ++plane) { int hsub = plane == 1 || plane == 2 ? rect->hsub : 0; int vsub = plane == 1 || plane == 2 ? rect->vsub : 0; - int hdiv = 1 << hsub; - int vdiv = 1 << vsub; - int w = rect->width / hdiv; - int h = rect->height / vdiv; + int w = AV_CEIL_RSHIFT(rect->width, hsub); + int h = AV_CEIL_RSHIFT(rect->height, vsub); int xcenter = rect->cx * w; int ycenter = rect->cy * h; int k1 = rect->k1 * (1<<24); |