MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / vulkan_transfer_data_from

Function vulkan_transfer_data_from

libavutil/hwcontext_vulkan.c:4840–4863  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4838#endif
4839
4840static int vulkan_transfer_data_from(AVHWFramesContext *hwfc, AVFrame *dst,
4841 const AVFrame *src)
4842{
4843 av_unused VulkanDevicePriv *p = hwfc->device_ctx->hwctx;
4844
4845 switch (dst->format) {
4846#if CONFIG_CUDA
4847 case AV_PIX_FMT_CUDA:
4848#ifdef _WIN32
4849 if ((p->vkctx.extensions & FF_VK_EXT_EXTERNAL_WIN32_MEMORY) &&
4850 (p->vkctx.extensions & FF_VK_EXT_EXTERNAL_WIN32_SEM))
4851#else
4852 if ((p->vkctx.extensions & FF_VK_EXT_EXTERNAL_FD_MEMORY) &&
4853 (p->vkctx.extensions & FF_VK_EXT_EXTERNAL_FD_SEM))
4854#endif
4855 return vulkan_transfer_data_to_cuda(hwfc, dst, src);
4856#endif
4857 default:
4858 if (dst->hw_frames_ctx)
4859 return AVERROR(ENOSYS);
4860 else
4861 return vulkan_transfer_frame(hwfc, dst, (AVFrame *)src, 0);
4862 }
4863}
4864
4865static int vulkan_frames_derive_to(AVHWFramesContext *dst_fc,
4866 AVHWFramesContext *src_fc, int flags)

Callers

nothing calls this directly

Calls 2

vulkan_transfer_frameFunction · 0.85

Tested by

no test coverage detected