mirror of https://git.ffmpeg.org/ffmpeg.git
fftools/ffmpeg_filter: fix the flags parsing for scaler
Scaler relys on "-sws_flags" option to pass the flags to swscale and scale filter. Currently passing "sws_flags=xxx" as a filter option to scaler leads to an incorrect option parsing. Check and change the string to "flags=xxx" and dumped flags information. (Refer to parse_sws_flags()) CMD: $ffmpeg -v verbose -i input.mp4 -sws_flags lanczos+bitexact+accurate_rnd \ -vf format=yuv420p,scale=800x600 -an -vframes 10 -f md5 - Before: [auto_scaler_0 @ 0x7f96c3808680] w:iw h:ih flags:'' interl:0 [auto_scaler_0 @ 0x7f96c3808680] w:1920 h:1080 fmt:yuvj420p sar:0/1 -> w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0x0 [Parsed_scale_1 @ 0x7f96c3806e40] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0x0 MD5=ff1d6091690c6fcd36d458d2a9f648ce After: [auto_scaler_0 @ 0x7fe94563b4c0] w:iw h:ih flags:'lanczos+bitexact+accurate_rnd' interl:0 [auto_scaler_0 @ 0x7fe94563b4c0] w:1920 h:1080 fmt:yuvj420p sar:0/1 -> w:1920 h:1080 fmt:yuv420p sar:0/1 flags:0xc0200 [Parsed_scale_1 @ 0x7fe945639d00] w:1920 h:1080 fmt:yuv420p sar:0/1 -> w:800 h:600 fmt:yuv420p sar:0/1 flags:0xc0200 MD5=ff1d6091690c6fcd36d458d2a9f648ce Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
This commit is contained in:
parent
5b0e6b0d82
commit
b3a0548a98
|
@ -977,7 +977,11 @@ int configure_filtergraph(FilterGraph *fg)
|
||||||
}
|
}
|
||||||
if (strlen(args))
|
if (strlen(args))
|
||||||
args[strlen(args)-1] = 0;
|
args[strlen(args)-1] = 0;
|
||||||
fg->graph->scale_sws_opts = av_strdup(args);
|
|
||||||
|
if (!strncmp(args, "sws_flags=", 10)) {
|
||||||
|
// keep the 'flags=' part
|
||||||
|
fg->graph->scale_sws_opts = av_strdup(args+4);
|
||||||
|
}
|
||||||
|
|
||||||
args[0] = 0;
|
args[0] = 0;
|
||||||
while ((e = av_dict_get(ost->swr_opts, "", e,
|
while ((e = av_dict_get(ost->swr_opts, "", e,
|
||||||
|
|
Loading…
Reference in New Issue