From patchwork Fri Oct 27 15:37:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 44377 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf16:b0:15d:8365:d4b8 with SMTP id gc22csp1188814pzb; Fri, 27 Oct 2023 00:37:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEa8G5Wz4v8i/cd0GC07xb6DspUZtcH1k7IJjJjmx+PQ/l2MuwsNyazGBORoPUSWlDHHi3j X-Received: by 2002:a17:907:1ca0:b0:9be:3c8e:1500 with SMTP id nb32-20020a1709071ca000b009be3c8e1500mr1855303ejc.14.1698392254552; Fri, 27 Oct 2023 00:37:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698392254; cv=none; d=google.com; s=arc-20160816; b=DLYI/KpGogs5Sj9zhLd/pWImOO1UI5F14UA9O4Td4lxDBy6mj++s0KotLFCGlxn57z Qdz41/1zInqt/+LTAWYgW5l6bwnAOLpwWpsbZygN77sFO2O5N3YUgNjekB1W4ulxYwaa PCDMj9X0N8tX4ls51zvucg5hJHfWsgfmN7DndzDSd9orbOhVE9lUq4W7ySjJfmfPwtCP MPAP87I9cfXelSL07s3iH+wM4Eo038TmCHN5wWVfUvmxLh+BHzIdvHRFpHwpV7SXxYQo mf8E+qeT6uvwA3npdrFglQ1rCvH5fZluFjtG0kvAeDE252820aMBYm4Kj+HxEz+Jrthn CGIQ== 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=p8ockditpWzpwJjqAnLZhlb66+R3Pp85i/2ZCEAvQ5o=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=CX98UmCGDOk+KRPaGSXGB7lAOvPMZIv3hXPVCO1dSJyrvUySSz4HSiMzzj4sPZojGd R158I6n2sYuM3Wk3RFkiltGB1aILIH+YD3MzInxjqCU/X/uVJcoVAj26G+2nEweQX9zM zIO02cmBR25FXoSL3l+BRzPY1g/Fio3hMMGtISvoEUskIklmh8F8NvRSSiTXPkyBm/fd 69SmwQ1VX6qZg0c0TMV4nfoDbQnr2u+cewpi0VT5fsY7vn1X0OLsQ9FmkPSZSCzAB4qp kerNzZ5wsTnsnijsaYOIloeB405EKj6H1ez/9/C8xfrYb2TsG5loBcktJOt80LFdK4Ll /SwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=C1IBQR5H; 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 xd10-20020a170907078a00b0099bd046b94bsi524846ejb.1050.2023.10.27.00.37.34; Fri, 27 Oct 2023 00:37:34 -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=C1IBQR5H; 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 7F44968CC18; Fri, 27 Oct 2023 10:37:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out162-62-58-216.mail.qq.com (out162-62-58-216.mail.qq.com [162.62.58.216]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EA7A068CAFA for ; Fri, 27 Oct 2023 10:37:15 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1698392227; bh=I7CbGFieOAkH2+0cT06b8HGyl2FIJygAoc0Pra+4zQg=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=C1IBQR5HlBhpUBMziObWNC0lpcLH0k5ZsREi2CvNmWsfnajdSLxoYi70B8wLARCqa LH74VKbOyCeQZhBl08wjKi10t+MO5VzYdtPA/ZwrWKGixfiNOBx1JIdG0NUSgUvAhq AvO/I7wbC9iDYB5myjuusEcIV3+DuJybn/eh5HiE= Received: from localhost.localdomain ([119.147.10.193]) by newxmesmtplogicsvrszc2-0.qq.com (NewEsmtp) with SMTP id 9430B28B; Fri, 27 Oct 2023 15:37:03 +0800 X-QQ-mid: xmsmtpt1698392224tape4mgex Message-ID: X-QQ-XMAILINFO: M6lqjKFHeg8FtlAGI7ox0QqP+VQGcHiWRvu6VUH4Yg0Ej73it0N694KTMAchTU +lMFlQmQfp8e4y3Am4ehShqIFAQ+WQpXLIcUR0ZTl4OcmS1jEjBQZ7s6I5yBxKI2fFBnQzCWadyG p1GHXTTAYhZf1iWn7ad9FWY5eZLiDrL8NL9vGlhEK2D6M2K9vc3e0FKD6z2+UP8Q3C1TTDPGcINk lhEqJgxijZMq5fr/LYgMlpbgCw+j3UaIBJ66I21XvQ6VOpEfUvY0PvQDXAGGV1mfojcpI0jkg3Pv 9TxryzyuTH+QOY9zDcqTx9s6twe7Tay+SSJBzVJuYZu6AVpUYKLWgk6ZGqSrRNSjvYmr+iqR31ib bDLxw0vY5PCSf18/UnV5xeP4K2XSPzgaZhCfZMsxLq7Knx61Dd/DgNQgOTDw1/FHrlqBIaUFJoNC iVWsqczlV8Px1J4+X3HiBtjOSFVn1m7L7edafKaxxNSFO68D0n9/RitLWLtBgLtwJ5W9hFKwi5FD Xr0yQbprYsoSUHOyJELrt/Gh0kJcjQXmBjgKsRHnvPMJXHKpOwuE44ZUe5oGJWv//1ad3NeVsK30 5RlIQxmVn2TtNFci0pTJ/Zgw4lY8z9DCYZYFSl1Dh/ZmrnI1bigWt1hvmTYjjFYjWMKbrctCs74x k4uObWdB10snXA7Na8CYCDzsGt/mhHT6lQqcfs8/Tfp0miANAR2OWSdr1Q7GXCWNf+OxCoLZtQ5F B9QnquzgzLSfVcwZ0j/aUl8Cq6hoi4/3Xg99SwSSVjyS/iWVfwxM4BJKU9sehU83rqxOuSwtV1QY kmdTVJ2PFVSGI/bZraRcGolZwoZFJU/PjvRmpXALauG6OoV7jfhcATDjE5X86nlvPyU+eDS5BECD fc3CbCOefeV2odkg6XO0qScDZiO4BYoa7tIu/D05k4Gf6B57M/EidR17RtDsHA/Yf2MW/6F2ms8E tY0LfcfPIlTspgJ1X7LnAI+Sgj58fPSHfxcBL1nSdQmGgjZsLhuYwq356RwpWTse5KGqDc6pz/js yObD8r8TwPU3XXVQvz X-QQ-XMRINFO: M/715EihBoGSf6IYSX1iLFg= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Fri, 27 Oct 2023 23:37:01 +0800 X-OQ-MSGID: <20231027153701.246497-2-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231027153701.246497-1-quinkblack@foxmail.com> References: <20231027153701.246497-1-quinkblack@foxmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 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: eUuOpRN4+ORZ 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 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c index 558fed94c6..bb28bcf588 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, @@ -805,19 +805,19 @@ static int vaapi_map_frame(AVHWFramesContext *hwfc, if (!ctx->derive_works && (flags & AV_HWFRAME_MAP_DIRECT)) { // Requested direct mapping but it is not possible. - return AVERROR(EINVAL); + return AVERROR(ENOSYS); } if (dst->format == AV_PIX_FMT_NONE) dst->format = hwfc->sw_format; if (dst->format != hwfc->sw_format && (flags & AV_HWFRAME_MAP_DIRECT)) { // Requested direct mapping but the formats do not match. - return AVERROR(EINVAL); + return AVERROR(ENOSYS); } 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);