From patchwork Fri Jul 30 02:39:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Xiang, Haihao" X-Patchwork-Id: 29142 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a5d:965a:0:0:0:0:0 with SMTP id d26csp6321514ios; Thu, 29 Jul 2021 19:42:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxE3r3ElTCGBNdrwftmQq/YE3Ln7IICWavxPio8v+airum0vh6Zr48NUzf8iYX7AUtnV5PP X-Received: by 2002:a17:906:2bdb:: with SMTP id n27mr441434ejg.312.1627612940704; Thu, 29 Jul 2021 19:42:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627612940; cv=none; d=google.com; s=arc-20160816; b=NcWCtzlGEFii7y/kHFzKgqFSFNCCB0mhsEUoyeL6u3zz/mUYUEM8+gDcJDe+WsXhD/ +2sh8+XgWpUbAIlqqK61mq1iu6hlD47dzdLjEuFa09S7sW3nysRDoteam4p+BYjgWVyi t0u+jPBpBbe12lOXnyV5py/z5deO0dHwQ5rEw0iO53DeOfWXphnwP8DL1qdYee5k+SQ0 7pyGdEt5dLwPyZ4CMzp/PXqmGhLqd6hso8R/8YcA/mP8kuOyiWQRXvWbDxOAnIZs9ZNi VmgSfwdLDYYEVzprnIbQtp/390FLUfltVyVUw68m9OdYX58f4rt8qlgqiEWEGl0ejCuZ DZMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:delivered-to; bh=t7AZQSHiXGdserCDd3yOLfnf8rLSxKSZz3GecfujYYk=; b=mCNVJBgfqOfmMzGKFiaOqENAaEEFIPHZkYW1qhtlWeVo7ph+RsrlDuUQuoh37iLueA Qy75fd4NZZDgSTLRTPXbTTLsiAc3EODXlivVnSlc86bM4XVx+VI9QapLApq/XSzVRQAP ETN5cauysPNe95B3/firR6J8ZauMNpYd4xAurGw5aUxZualDJOZxfLehYJnImFbJPByV 9/QV9032KWXeYpre8Ahtr+YJfm8EDN84vBx7l4C6wIgTEIeeVsz2stAlkCJAYcyBo3OJ RgjsZDjY93M3MLjeH5rUvg98DEEDtGpMseVDuJRG/UIFfqXSawGle93B4CldvJb3UrTg 0lbA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id e9si359923edz.204.2021.07.29.19.42.19; Thu, 29 Jul 2021 19:42:20 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BB7B6689FB4; Fri, 30 Jul 2021 05:42:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 53B2E68052B for ; Fri, 30 Jul 2021 05:42:07 +0300 (EEST) X-IronPort-AV: E=McAfee;i="6200,9189,10060"; a="213004824" X-IronPort-AV: E=Sophos;i="5.84,280,1620716400"; d="scan'208";a="213004824" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2021 19:42:04 -0700 X-IronPort-AV: E=Sophos;i="5.84,280,1620716400"; d="scan'208";a="457043693" Received: from xhh-dg164.sh.intel.com ([10.239.159.167]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2021 19:42:03 -0700 From: Haihao Xiang To: ffmpeg-devel@ffmpeg.org Date: Fri, 30 Jul 2021 10:39:24 +0800 Message-Id: <20210730023924.11043-1-haihao.xiang@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH] lavfi/qsvvpp: do not mix up FFmpeg and SDK error code X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Haihao Xiang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 8B4gsaToSPOm The function ff_qsvvpp_filter_frame should return a FFmpeg error code if there is an error. However it might return a SDK error code without this patch. --- libavfilter/qsvvpp.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c index 4768f6208b..c7ef8a915f 100644 --- a/libavfilter/qsvvpp.c +++ b/libavfilter/qsvvpp.c @@ -807,8 +807,7 @@ int ff_qsvvpp_filter_frame(QSVVPPContext *s, AVFilterLink *inlink, AVFrame *picr filter_ret = s->filter_frame(outlink, tmp->frame); if (filter_ret < 0) { av_frame_free(&tmp->frame); - ret = filter_ret; - break; + return filter_ret; } tmp->queued--; s->got_frame = 1; @@ -842,7 +841,7 @@ int ff_qsvvpp_filter_frame(QSVVPPContext *s, AVFilterLink *inlink, AVFrame *picr if (ret < 0 && ret != MFX_ERR_MORE_SURFACE) { /* Ignore more_data error */ if (ret == MFX_ERR_MORE_DATA) - ret = AVERROR(EAGAIN); + return AVERROR(EAGAIN); break; } out_frame->frame->pts = av_rescale_q(out_frame->surface.Data.TimeStamp, @@ -864,8 +863,7 @@ int ff_qsvvpp_filter_frame(QSVVPPContext *s, AVFilterLink *inlink, AVFrame *picr filter_ret = s->filter_frame(outlink, tmp->frame); if (filter_ret < 0) { av_frame_free(&tmp->frame); - ret = filter_ret; - break; + return filter_ret; } tmp->queued--; @@ -874,5 +872,10 @@ int ff_qsvvpp_filter_frame(QSVVPPContext *s, AVFilterLink *inlink, AVFrame *picr } } while(ret == MFX_ERR_MORE_SURFACE); - return ret; + if (ret < 0) + return ff_qsvvpp_print_error(ctx, ret, "Error running VPP"); + else if (ret > 0) + ff_qsvvpp_print_warning(ctx, ret, "Warning in running VPP"); + + return 0; }