diff options
author | Zhong Li <zhong.li@intel.com> | 2019-08-15 05:33:57 +0300 |
---|---|---|
committer | Zhong Li <zhong.li@intel.com> | 2019-08-20 09:11:26 +0300 |
commit | 74e6800381a2c82fff0aef6457414b3cefc1157c (patch) | |
tree | d35947c2595194702a798329f950fb63f7a8ab28 /libavfilter/vf_vpp_qsv.c | |
parent | d252d1c2e987960be54488f962098af8bcdc4f60 (diff) |
lavfi/qsvvpp: disable pass through mode if format changed
Partly fix tiket#8065
Signed-off-by: Zhong Li <zhong.li@intel.com>
Diffstat (limited to 'libavfilter/vf_vpp_qsv.c')
-rw-r--r-- | libavfilter/vf_vpp_qsv.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libavfilter/vf_vpp_qsv.c b/libavfilter/vf_vpp_qsv.c index f18513359a..858587411d 100644 --- a/libavfilter/vf_vpp_qsv.c +++ b/libavfilter/vf_vpp_qsv.c @@ -312,7 +312,9 @@ static int config_output(AVFilterLink *outlink) } else in_format = inlink->format; - param.out_sw_format = (vpp->out_format == AV_PIX_FMT_NONE) ? in_format : vpp->out_format; + if (vpp->out_format == AV_PIX_FMT_NONE) + vpp->out_format = in_format; + param.out_sw_format = vpp->out_format; if (vpp->use_crop) { crop.in_idx = 0; @@ -454,7 +456,7 @@ static int config_output(AVFilterLink *outlink) if (vpp->use_frc || vpp->use_crop || vpp->deinterlace || vpp->denoise || vpp->detail || vpp->procamp || vpp->rotate || vpp->hflip || - inlink->w != outlink->w || inlink->h != outlink->h) + inlink->w != outlink->w || inlink->h != outlink->h || in_format != vpp->out_format) return ff_qsvvpp_create(ctx, &vpp->qsv, ¶m); else { av_log(ctx, AV_LOG_VERBOSE, "qsv vpp pass through mode.\n"); |