diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c index 63e3de959fbbc886b82d52ee12c8a5110d8a1d60..38ffd420b457e3be4035cc0f0222330c3d4ff4e5 100644 --- a/ffmpeg_opt.c +++ b/ffmpeg_opt.c @@ -1014,6 +1014,8 @@ static OutputStream *new_output_stream(OptionsContext *o, AVFormatContext *oc, e av_opt_get_int (o->g->swr_opts, "filter_type" , 0, &ost->swr_filter_type); av_opt_get_int (o->g->swr_opts, "dither_method", 0, &ost->swr_dither_method); av_opt_get_double(o->g->swr_opts, "dither_scale" , 0, &ost->swr_dither_scale); + if (ost->enc && av_get_exact_bits_per_sample(ost->enc->id) == 24) + ost->swr_dither_scale = ost->swr_dither_scale*256; ost->source_index = source_index; if (source_index >= 0) {