| 4838 | #endif |
| 4839 | |
| 4840 | static 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 | |
| 4865 | static int vulkan_frames_derive_to(AVHWFramesContext *dst_fc, |
| 4866 | AVHWFramesContext *src_fc, int flags) |
nothing calls this directly
no test coverage detected