[FFmpeg-devel] [PATCH 5/7] hwcontext_vulkan: add support for AV_PIX_FMT_RGB32

Lynne dev at lynne.ee
Thu Oct 10 08:32:49 EEST 2024


---
 libavutil/hwcontext_vulkan.c | 1 +
 libavutil/vulkan.c           | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 24aafcba07..ad2d62f874 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -320,6 +320,7 @@ static const struct FFVkFormatEntry {
     { VK_FORMAT_R8G8B8A8_UNORM,           AV_PIX_FMT_RGB0,    VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R8G8B8A8_UNORM           } },
     { VK_FORMAT_A2R10G10B10_UNORM_PACK32, AV_PIX_FMT_X2RGB10, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_A2R10G10B10_UNORM_PACK32 } },
     { VK_FORMAT_A2B10G10R10_UNORM_PACK32, AV_PIX_FMT_X2BGR10, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_A2B10G10R10_UNORM_PACK32 } },
+    { VK_FORMAT_R32G32B32_UINT,           AV_PIX_FMT_RGB32,   VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R32G32B32_UINT           } },
     { VK_FORMAT_R32G32B32A32_UINT,        AV_PIX_FMT_RGBA32,  VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R32G32B32A32_UINT        } },
     { VK_FORMAT_R32G32B32A32_SFLOAT,      AV_PIX_FMT_RGBAF32, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R32G32B32A32_SFLOAT      } },
 
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index 1ad3b3feb5..488764fc06 100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -1282,7 +1282,8 @@ int ff_vk_mt_is_np_rgb(enum AVPixelFormat pix_fmt)
         pix_fmt == AV_PIX_FMT_BGR565 || pix_fmt == AV_PIX_FMT_BGR0   ||
         pix_fmt == AV_PIX_FMT_0BGR   || pix_fmt == AV_PIX_FMT_RGB0   ||
         pix_fmt == AV_PIX_FMT_X2RGB10 || pix_fmt == AV_PIX_FMT_X2BGR10 ||
-        pix_fmt == AV_PIX_FMT_RGBAF32 || pix_fmt == AV_PIX_FMT_RGBA32)
+        pix_fmt == AV_PIX_FMT_RGBAF32 || pix_fmt == AV_PIX_FMT_RGBA32 ||
+        pix_fmt == AV_PIX_FMT_RGB32)
         return 1;
     return 0;
 }
@@ -1366,6 +1367,7 @@ const char *ff_vk_shader_rep_fmt(enum AVPixelFormat pix_fmt,
         };
         return rep_tab[rep_fmt];
     }
+    case AV_PIX_FMT_RGB32:
     case AV_PIX_FMT_RGBA32: {
         const char *rep_tab[] = {
             [FF_VK_REP_NATIVE] = "rgba32ui",
-- 
2.45.2.753.g447d99e1c3b


More information about the ffmpeg-devel mailing list