From 4bd6d73fc8d4bc367668f2770d92a06b0c79146d Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 23 Nov 2012 15:35:48 +0100 Subject: [PATCH] ffmpeg: fix passing swresample options to the auto inserted swr Reviewed-by: Paul B Mahol Signed-off-by: Michael Niedermayer --- ffmpeg_filter.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ffmpeg_filter.c b/ffmpeg_filter.c index 358e1edb6e..d960f1f3b1 100644 --- a/ffmpeg_filter.c +++ b/ffmpeg_filter.c @@ -28,6 +28,7 @@ #include "libavutil/avstring.h" #include "libavutil/bprint.h" #include "libavutil/channel_layout.h" +#include "libavutil/opt.h" #include "libavutil/pixdesc.h" #include "libavutil/pixfmt.h" #include "libavutil/imgutils.h" @@ -724,6 +725,15 @@ int configure_filtergraph(FilterGraph *fg) char args[255]; snprintf(args, sizeof(args), "flags=0x%X", (unsigned)ost->sws_flags); fg->graph->scale_sws_opts = av_strdup(args); + + args[0] = 0; + if (ost->swr_dither_method) + av_strlcatf(args, sizeof(args), "dither_method=%d:", (int)ost->swr_dither_method); + if (ost->swr_dither_scale != 1.0) + av_strlcatf(args, sizeof(args), "dither_scale=%f:", ost->swr_dither_scale); + if (strlen(args)) + args[strlen(args)-1] = 0; + av_opt_set(fg->graph, "aresample_swr_opts", args, 0); } if ((ret = avfilter_graph_parse2(fg->graph, graph_desc, &inputs, &outputs)) < 0)