diff options
author | Paul B Mahol <onemda@gmail.com> | 2015-07-17 11:23:45 +0000 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2015-07-17 11:29:29 +0000 |
commit | 297df52f303529fd3c326bc8f398a5b3cbf71c0b (patch) | |
tree | 771543456b09743687706da1a4e860382c11b184 /libavfilter | |
parent | 21436b95dc96e9cb2ae3f583f219349976ec1b7e (diff) | |
download | ffmpeg-297df52f303529fd3c326bc8f398a5b3cbf71c0b.tar.gz |
avfilter/af_compand: fix clipping with default options
Decays and attacks where by default set only for first channel
which caused poor defaults to be used which produced clipping
on any higher channel.
Reported-by: lachs0r
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/af_compand.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavfilter/af_compand.c b/libavfilter/af_compand.c index 55ad98a15d..610787f54e 100644 --- a/libavfilter/af_compand.c +++ b/libavfilter/af_compand.c @@ -398,6 +398,11 @@ static int config_output(AVFilterLink *outlink) return AVERROR(EINVAL); } + for (i = nb_decays; i < channels; i++) { + s->channels[i].attack = s->channels[nb_decays - 1].attack; + s->channels[i].decay = s->channels[nb_decays - 1].decay; + } + #define S(x) s->segments[2 * ((x) + 1)] p = s->points; for (i = 0, new_nb_items = 0; i < nb_points; i++) { |