Support was partially added previously in vulkan.c, but now it's fully supported.
Unified · Split
| @@ -351,6 +351,7 @@ static const struct FFVkFormatEntry { · 350 unmodified lines | ||
| 351 | 351 | { VK_FORMAT_R32G32B32A32_UINT, AV_PIX_FMT_RGBA128, VK_IMAGE_ASPECT_COLOR_BIT, 1, 1, 1, { VK_FORMAT_R32G32B32A32_UINT } }, |
| 352 | 352 | |
| 353 | 353 | /* Planar RGB */ |
| 354 | + { VK_FORMAT_R8_UNORM, AV_PIX_FMT_GBRP, VK_IMAGE_ASPECT_COLOR_BIT, 3, 3, 3, { VK_FORMAT_R8_UNORM, VK_FORMAT_R8_UNORM, VK_FORMAT_R8_UNORM } }, | |
| 354 | 355 | { VK_FORMAT_R16_UNORM, AV_PIX_FMT_GBRP10, VK_IMAGE_ASPECT_COLOR_BIT, 3, 3, 3, { VK_FORMAT_R16_UNORM, VK_FORMAT_R16_UNORM, VK_FORMAT_R16_UNORM } }, |
| 355 | 356 | { VK_FORMAT_R16_UNORM, AV_PIX_FMT_GBRP12, VK_IMAGE_ASPECT_COLOR_BIT, 3, 3, 3, { VK_FORMAT_R16_UNORM, VK_FORMAT_R16_UNORM, VK_FORMAT_R16_UNORM } }, |
| 356 | 357 | { VK_FORMAT_R16_UNORM, AV_PIX_FMT_GBRP14, VK_IMAGE_ASPECT_COLOR_BIT, 3, 3, 3, { VK_FORMAT_R16_UNORM, VK_FORMAT_R16_UNORM, VK_FORMAT_R16_UNORM } }, |
| @@ -1493,7 +1493,8 @@ int ff_vk_mt_is_np_rgb(enum AVPixelFormat pix_fmt) · 1492 unmodified lines | ||
| 1493 | 1493 | pix_fmt == AV_PIX_FMT_GBRPF32 || pix_fmt == AV_PIX_FMT_GBRAPF32 || |
| 1494 | 1494 | pix_fmt == AV_PIX_FMT_X2RGB10 || pix_fmt == AV_PIX_FMT_X2BGR10 || |
| 1495 | 1495 | pix_fmt == AV_PIX_FMT_RGBAF32 || pix_fmt == AV_PIX_FMT_RGBF32 || |
| 1496 | − pix_fmt == AV_PIX_FMT_RGBA128 || pix_fmt == AV_PIX_FMT_RGB96) | |
| 1496 | + pix_fmt == AV_PIX_FMT_RGBA128 || pix_fmt == AV_PIX_FMT_RGB96 || | |
| 1497 | + pix_fmt == AV_PIX_FMT_GBRP) | |
| 1497 | 1498 | return 1; |
| 1498 | 1499 | return 0; |
| 1499 | 1500 | } |
| @@ -1501,8 +1502,8 @@ int ff_vk_mt_is_np_rgb(enum AVPixelFormat pix_fmt) · 1 unmodified line | ||
| 1501 | 1502 | void ff_vk_set_perm(enum AVPixelFormat pix_fmt, int lut[4], int inv) |
| 1502 | 1503 | { |
| 1503 | 1504 | switch (pix_fmt) { |
| 1504 | − case AV_PIX_FMT_GBRAP: | |
| 1505 | 1505 | case AV_PIX_FMT_GBRP: |
| 1506 | + case AV_PIX_FMT_GBRAP: | |
| 1506 | 1507 | case AV_PIX_FMT_GBRAP10: |
| 1507 | 1508 | case AV_PIX_FMT_GBRAP12: |
| 1508 | 1509 | case AV_PIX_FMT_GBRAP14: |
| @@ -1605,6 +1606,7 @@ const char *ff_vk_shader_rep_fmt(enum AVPixelFormat pix_fmt, · 96 unmodified lines | ||
| 1605 | 1606 | }; |
| 1606 | 1607 | return rep_tab[rep_fmt]; |
| 1607 | 1608 | } |
| 1609 | + case AV_PIX_FMT_GBRP: | |
| 1608 | 1610 | case AV_PIX_FMT_GRAY8: |
| 1609 | 1611 | case AV_PIX_FMT_GBRAP: |
| 1610 | 1612 | case AV_PIX_FMT_YUV420P: |