[FFmpeg-devel] lavfi/qsvvpp: disable pass through mode if format changed

Submitted by Zhong Li on Aug. 15, 2019, 2:33 a.m.

Details

Message ID 20190815023357.26005-1-zhong.li@intel.com
State Accepted
Commit 74e6800381a2c82fff0aef6457414b3cefc1157c
Headers show

Commit Message

Zhong Li Aug. 15, 2019, 2:33 a.m.
Fix tiket#8065

Signed-off-by: Zhong Li <zhong.li@intel.com>
---
 libavfilter/vf_vpp_qsv.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Patch hide | download patch | download mbox

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");