From patchwork Sat Oct 28 06:33:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 44400 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dd83:b0:15d:8365:d4b8 with SMTP id kw3csp309513pzb; Fri, 27 Oct 2023 23:34:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFrfQ3JydOX+KaC8FnpcsEptmCb2UqV14weBICc1HNqQ5FKWWNhxsh6y7etvpItCD6lciQR X-Received: by 2002:a17:907:1c21:b0:9c0:eb3e:b070 with SMTP id nc33-20020a1709071c2100b009c0eb3eb070mr3800398ejc.69.1698474844786; Fri, 27 Oct 2023 23:34:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698474844; cv=none; d=google.com; s=arc-20160816; b=nDPv65aPPcngjiCBLUEur1jKoop9aQG8M+9gNoCIh2dxTy17l9mg4+5TTSbQwKhMfa 3+qyTLmbHAvT7fVdNzauqLTiahX+WaLNtS5qQPYKI2wzzG5JlOdMqVmPTF+kKakjbGrJ OO3aGbR11h+f3Df8v9O5I7IYn++SZe99u7Y19KxYqS6FMSQfWf744M5ynztBpf3ATyWz f4dnnHnCRPGEBOb7sSh9dVTzaP45M37UB7m4e6Z+bKWDmk5uNhlwS8rrfxF1rAE/tdyg LuIp17DaT8kABKhh61Irw5CTmF4ClEWTlcoV4iUj2UCArYQ1jyV+3v8MLDpL2zQD3TCp 6wNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=LKVB45Bt9NU5K+XATZJyVddYPGzbBoQgoURkurpfcMg=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=clIlg1Zkai8z40yDPlb0gA0/zl5TUIiIehKsXix+4l9c9I53yGdghV1kn5C6EcVCxg jPtJyxRqZVZkn+cxKXZV8tbrS9bHgoAbrreQ3cBaRI5+rGVl3G6krJTPdhw+ArbIDv3D ftctm8vW5/YCO0gAYYcExtPKXBRbvFoa+PiYs1ffHdZHei3HS0vCg+EbtAYNrnTKpVPi JVWB0YAC4R+CRN+I1Bw+l5k61m/QLizgLsHtT6tnjy6Opi30NFG/ymbyqbhhZNl5R+i9 N//lNVQ75FfPRaHvkSz5wo82po8tRcnDiiDpZuzn5eT7RwbhX7OcphNK1esAFYDeUnxR 4gMg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=hZ10+kjv; 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=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ga34-20020a1709070c2200b009ad86b164ebsi1486563ejc.1012.2023.10.27.23.34.03; Fri, 27 Oct 2023 23:34:04 -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; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=hZ10+kjv; 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=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8AEF268CBB5; Sat, 28 Oct 2023 09:33:59 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-58-211.mail.qq.com (out162-62-58-211.mail.qq.com [162.62.58.211]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6E11768C985 for ; Sat, 28 Oct 2023 09:33:50 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1698474816; bh=WKQObHQq39ucwU7TPObBG/SO6Wl/LQbTX03+RN5jhbw=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=hZ10+kjvofTVt3WZQGJEfo2oTHiyPJIP4V+e5xZ2zNClGft5yFfgdmftp0VsB26Qk AE9yk1hh3V4P5sm2DbSQDPSLSgQqg4owvzvpSIwJHZqIWIuxcNauKsRA1Wc42g9XfV Fq1sk2/VU9D31bwOu7rM7vUd8nGiKlsq5JV7oOFs= Received: from localhost.localdomain ([121.34.200.120]) by newxmesmtplogicsvrszb1-0.qq.com (NewEsmtp) with SMTP id 863BE4C5; Sat, 28 Oct 2023 14:33:35 +0800 X-QQ-mid: xmsmtpt1698474815teogs2aeh Message-ID: X-QQ-XMAILINFO: OQ59tfF64tJLD9BMCGhUiK7k6CTiXXlPn+XR5wfdp1jVwQQmNFGsSn4mzPnHgr PAGaGd+vJbTNByeMo0BMmptQ2mxI0otNVTojT0wBEfe4u5D0Jl+z3sVlzxX131OncE9+oWEL9K2z YcK1gQmrHey01PGx5BxQWzcJ91+T8JfmxTo4DF20qnJJ/Q5ldb6c+NjjpTwPapuuW2KATv/tczpH XIb/nvZ6hXAO4cEQOcwxZYEkTNJAF91OXCn/xBNiF/6Z/q4w7/uXClUTh41lJCgRJgB2YAPjotcC 1axJ298eAmAwFD5IUiHWHzlMGOBZSuRnqqX3PhhdoAsUGMn4CShSROsLbI/t0dvH4YZJzxC/re7u /fuWi5tkIkd+5o7wkBLybXIVNks78mXW3GSQEI+YYCzpxW+SYuMM/tzffBKvaBhJ4aeG4sa/iESF t/WYoprbmze9AX8JE1bpa1G+ejTpIiMiz2f735SRX68YTExNO+mFOtM+RcCeIqqIkAjqz5XRdNRA ApHQvms9y/VEG+F1nOY/6xhNwhQBvwqS8RjxHRyZ/Cit9A8OfxH/3wjwkPU9o47FMeGfUF+CWgmP vl8DP34blRFRWFulyRLs9OmkZ65ekjR4DP6dFqbsTkpaL8/gQSFaM/257n5bHQtADOG5FEfYgmXk dEs957jY4RpCyVUVPbQuPID4tcGFBF6VU3txVXDz5hWpYODMSqtizaCXIYKdhb4xnq9QhV9BNhy6 Aw7vEFc2tgjgTXwBqUaa1UZ+eWvrix3KYO0RPkn0hnrerLFfNaTpgRpE0KHqnZdCC9mWxSqwAiCv vR83Ep+BkTJ+FX9pXBsDP0NNfXpNn2cRCyeF/yD2LLwYNCkI1YO2ZStcRwWIb1lydZTmoEgaGUky l/oor36GwF4Itc7aABhxmOqzni4uDuP8vultQhpd2wyAzSvA8lneGRf/QKwo5Ts7EVnJkmRTC7hU HIncA1agRt/TMfIEo7p86828X3lrpQ X-QQ-XMRINFO: NS+P29fieYNw95Bth2bWPxk= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Sat, 28 Oct 2023 14:33:31 +0800 X-OQ-MSGID: <20231028063331.30060-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: References: MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 2/2] avutil/hwcontext_vaapi: return ENOSYS for unsupported operation 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: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: caEKytx2JKJO From: Zhao Zhili av_hwframe_transfer_data try with src_ctx first. If the operation failed with AVERROR(ENOSYS), it will try again with dst_ctx. Return AVERROR(EINVAL) makes the second step being skipped. --- libavutil/hwcontext_vaapi.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 558fed94c6..12bc95119a 100644 --- a/libavutil/hwcontext_vaapi.c +++ b/libavutil/hwcontext_vaapi.c @@ -217,7 +217,7 @@ static int vaapi_get_image_format(AVHWDeviceContext *hwdev, return 0; } } - return AVERROR(EINVAL); + return AVERROR(ENOSYS); } static int vaapi_frames_get_constraints(AVHWDeviceContext *hwdev, @@ -817,7 +817,7 @@ static int vaapi_map_frame(AVHWFramesContext *hwfc, err = vaapi_get_image_format(hwfc->device_ctx, dst->format, &image_format); if (err < 0) { // Requested format is not a valid output format. - return AVERROR(EINVAL); + return err; } map = av_malloc(sizeof(*map)); @@ -992,7 +992,7 @@ static int vaapi_map_to_memory(AVHWFramesContext *hwfc, AVFrame *dst, if (dst->format != AV_PIX_FMT_NONE) { err = vaapi_get_image_format(hwfc->device_ctx, dst->format, NULL); if (err < 0) - return AVERROR(ENOSYS); + return err; } err = vaapi_map_frame(hwfc, dst, src, flags);