mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-19 05:17:04 +00:00
swresample/resample_template: flip order of operations in swri_resample_linear() for 32bit
Fixes integer overflow Found-by: BBB Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
7f5d75f95b
commit
c5a405c4f0
@ -62,7 +62,6 @@
|
||||
# define DELEM int32_t
|
||||
# define FELEM int32_t
|
||||
# define FELEM2 int64_t
|
||||
# define FELEML int64_t
|
||||
# define FELEM_MAX INT32_MAX
|
||||
# define FELEM_MIN INT32_MIN
|
||||
# define OUT(d, v) v = (v + (1<<(FILTER_SHIFT-1)))>>FILTER_SHIFT;\
|
||||
@ -174,7 +173,11 @@ int RENAME(swri_resample_linear)(ResampleContext *c,
|
||||
v2 += src[sample_index + i] * (FELEM2)filter[i + c->filter_alloc];
|
||||
}
|
||||
#endif
|
||||
#ifdef FELEML
|
||||
val += (v2 - val) * (FELEML) frac / c->src_incr;
|
||||
#else
|
||||
val += (v2 - val) / c->src_incr * frac;
|
||||
#endif
|
||||
OUT(dst[dst_index], val);
|
||||
|
||||
frac += c->dst_incr_mod;
|
||||
|
Loading…
Reference in New Issue
Block a user