From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id B95544A067 for ; Mon, 18 Mar 2024 17:41:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5174968D323; Mon, 18 Mar 2024 19:41:31 +0200 (EET) Received: from w4.tutanota.de (w4.tutanota.de [81.3.6.165]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D35B668D1F6 for ; Mon, 18 Mar 2024 19:41:24 +0200 (EET) Received: from tutadb.w10.tutanota.de (unknown [192.168.1.10]) by w4.tutanota.de (Postfix) with ESMTP id 2FBE710601E3 for ; Mon, 18 Mar 2024 17:41:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1710783683; s=s1; d=lynne.ee; h=From:From:To:To:Subject:Subject:Content-Description:Content-ID:Content-Type:Content-Type:Content-Transfer-Encoding:Content-Transfer-Encoding:Cc:Date:Date:In-Reply-To:In-Reply-To:MIME-Version:MIME-Version:Message-ID:Message-ID:Reply-To:References:References:Sender; bh=c91qzMoZJNI5BInlS7MJchzjvXabTGzXt4Jr/I0kIZM=; b=UKWpvDjeTLa/LDyfugYcjfmXnCYdtg7/DlhI/qw4w2s8p2NILNaB3vwBhb8DSeYh 8RQhBaI9mf7Pm2H/RaRyEcvGj8IdQ3WwXPhnuZBFR2EEhvQd8nTYNs8xTskskPqCupA Eb+dvhjUV7lyjbv6iJ3VWDYNz+AOHpgvbPPUj/FBA16aK9Qg8eisMlvedzRykCQqhX4 Wp+FQXdls3fXArO3fSOIpLjfQp5Z4OIkEiIUKrhHjVgXugztOMGnhxB2xJwctixBdV7 ZU1cOq90l3b5AX3gK7ulrmdUanJPqMKTer+v3TLhv+d5qAi/kSk8VLAGy2nzIQ5rfpp mnlaRLuf5w== Date: Mon, 18 Mar 2024 18:41:23 +0100 (CET) From: Lynne To: FFmpeg development discussions and patches Message-ID: In-Reply-To: <20240318072659.3641656-1-haihao.xiang@intel.com> References: <20240318072659.3641656-1-haihao.xiang@intel.com> MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH] lavu/hwcontext_vulkan: check PCI ID if possible 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Mar 18, 2024, 08:27 by haihao.xiang-at-intel.com@ffmpeg.org: > From: Haihao Xiang > > Otherwise the derived device and the source device might have different > PCI ID in a multiple-device system. > > Signed-off-by: Haihao Xiang > --- > libavutil/hwcontext_vulkan.c | 30 +++++++++++++++++++++++------- > 1 file changed, 23 insertions(+), 7 deletions(-) > > diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c > index 855f099e26..91b9f96ccf 100644 > --- a/libavutil/hwcontext_vulkan.c > +++ b/libavutil/hwcontext_vulkan.c > @@ -1597,15 +1597,31 @@ static int vulkan_device_derive(AVHWDeviceContext *ctx, > #if CONFIG_VAAPI > case AV_HWDEVICE_TYPE_VAAPI: { > AVVAAPIDeviceContext *src_hwctx = src_ctx->hwctx; > + VADisplay dpy = src_hwctx->display; > +#if VA_CHECK_VERSION(1, 15, 0) > + VAStatus vas; > + VADisplayAttribute attr = { > + .type = VADisplayPCIID, > + }; > +#endif > + const char *vendor; > > - const char *vendor = vaQueryVendorString(src_hwctx->display); > - if (!vendor) { > - av_log(ctx, AV_LOG_ERROR, "Unable to get device info from VAAPI!\n"); > - return AVERROR_EXTERNAL; > - } > +#if VA_CHECK_VERSION(1, 15, 0) > + vas = vaGetDisplayAttributes(dpy, &attr, 1); > + if (vas == VA_STATUS_SUCCESS && attr.flags != VA_DISPLAY_ATTRIB_NOT_SUPPORTED) > + dev_select.pci_device = (attr.value & 0xFFFF); > +#endif > + > + if (!dev_select.pci_device) { > + vendor = vaQueryVendorString(dpy); > + if (!vendor) { > + av_log(ctx, AV_LOG_ERROR, "Unable to get device info from VAAPI!\n"); > + return AVERROR_EXTERNAL; > + } > > - if (strstr(vendor, "AMD")) > - dev_select.vendor_id = 0x1002; > + if (strstr(vendor, "AMD")) > + dev_select.vendor_id = 0x1002; > LGTM Thanks _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".