Am So., 26. Jan. 2020 um 17:13 Uhr schrieb Zhao Zhili <quinkbl...@foxmail.com>: > > --- > Or specify an upper limit on volume. What do you think? > > libavfilter/af_volume.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavfilter/af_volume.c b/libavfilter/af_volume.c > index 213c57195a..029925cbfb 100644 > --- a/libavfilter/af_volume.c > +++ b/libavfilter/af_volume.c > @@ -200,7 +200,7 @@ static inline void scale_samples_s16(uint8_t *dst, const > uint8_t *src, > int16_t *smp_dst = (int16_t *)dst; > const int16_t *smp_src = (const int16_t *)src; > for (i = 0; i < nb_samples; i++) > - smp_dst[i] = av_clip_int16(((int64_t)smp_src[i] * volume + 128) >> > 8); > + smp_dst[i] = (int16_t)av_clip64(((int64_t)smp_src[i] * volume + 128) > >> 8, INT16_MIN, INT16_MAX);
The cast looks unnecessary and confusing but if a limit works, it is likely simpler imo. Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".