[FFmpeg-devel] [PATCH] avutil/hwcontext_vulkan: Query the correct format

Zhao Zhili quinkblack at foxmail.com
Mon Jun 16 17:41:14 EEST 2025



> On May 6, 2025, at 03:37, Link Mauve <ffmpeg at linkmauve.fr> wrote:
> 
> In the call to vkGetPhysicalDeviceImageFormatProperties2(), we were
> previously requesting the properties of the first fallback format (e.g.
> VK_FORMAT_R8_UNORM for VK_FORMAT_G8_B8R8_2PLANE_420_UNORM) instead of
> the actual format in use.
> 
> We don’t do anything with it afterwards, but there is no reason to keep
> querying the wrong format.
> ---
> libavutil/hwcontext_vulkan.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
> index 35321bb063..0394ce1eba 100644
> --- a/libavutil/hwcontext_vulkan.c
> +++ b/libavutil/hwcontext_vulkan.c
> @@ -2591,7 +2591,7 @@ static void try_export_flags(AVHWFramesContext *hwfc,
>     VkPhysicalDeviceImageFormatInfo2 pinfo = {
>         .sType  = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2,
>         .pNext  = !exp ? NULL : &enext,
> -        .format = av_vkfmt_from_pixfmt(hwfc->sw_format)[0],
> +        .format = vk_find_format_entry(hwfc->sw_format)->vkf,

I don’t know why, but

1. ffplay -hwaccel cuda any_h264_or_hevc.mp4 is broken, that is nvdec plus vulkan render.
2. ffplay -hwaccel vulkan foo.mp4 is fine, that is hardware decoding and render with vulkan.
3. ffplay -enable_vulkan foo.mp4 is fine, that is software decoding and render with vulkan.

>         .type   = VK_IMAGE_TYPE_2D,
>         .tiling = hwctx->tiling,
>         .usage  = hwctx->usage,
> -- 
> 2.49.0
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".



More information about the ffmpeg-devel mailing list