On Ma, 2024-03-18 at 18:41 +0100, Lynne wrote: > Mar 18, 2024, 08:27 by haihao.xiang-at-intel....@ffmpeg.org: > > > From: Haihao Xiang <haihao.xi...@intel.com> > > > > Otherwise the derived device and the source device might have different > > PCI ID in a multiple-device system. > > > > Signed-off-by: Haihao Xiang <haihao.xi...@intel.com> > > --- > > 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 for reviewing the patch, pushed. BRs Haihao _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".