Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhong Li <zhong.li@intel.com>2019-08-15 05:33:57 +0300
committerZhong Li <zhong.li@intel.com>2019-08-20 09:11:26 +0300
commit74e6800381a2c82fff0aef6457414b3cefc1157c (patch)
treed35947c2595194702a798329f950fb63f7a8ab28 /libavfilter/vf_vpp_qsv.c
parentd252d1c2e987960be54488f962098af8bcdc4f60 (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.c6
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, &param);
else {
av_log(ctx, AV_LOG_VERBOSE, "qsv vpp pass through mode.\n");