aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/av1dec.c
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2023-02-17 04:09:16 +0100
committerLynne <dev@lynne.ee>2023-05-29 00:42:00 +0200
commit77478f6793fad61a29ce92e56ee6116dd99ceca4 (patch)
treedae6815c5991f395a0c4855b06d863eed4997cd5 /libavcodec/av1dec.c
parent5dc047716ab62945e30e490e88b4f2faad3ddb3d (diff)
downloadffmpeg-77478f6793fad61a29ce92e56ee6116dd99ceca4.tar.gz
av1dec: add Vulkan hwaccel
Diffstat (limited to 'libavcodec/av1dec.c')
-rw-r--r--libavcodec/av1dec.c47
1 files changed, 46 insertions, 1 deletions
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index 47fa919e62..5cc5d87c64 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -450,7 +450,8 @@ static int get_pixel_format(AVCodecContext *avctx)
CONFIG_AV1_D3D11VA_HWACCEL * 2 + \
CONFIG_AV1_NVDEC_HWACCEL + \
CONFIG_AV1_VAAPI_HWACCEL + \
- CONFIG_AV1_VDPAU_HWACCEL)
+ CONFIG_AV1_VDPAU_HWACCEL + \
+ CONFIG_AV1_VULKAN_HWACCEL)
enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts;
if (seq->seq_profile == 2 && seq->color_config.high_bitdepth)
@@ -531,6 +532,9 @@ static int get_pixel_format(AVCodecContext *avctx)
#if CONFIG_AV1_VDPAU_HWACCEL
*fmtp++ = AV_PIX_FMT_VDPAU;
#endif
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
break;
case AV_PIX_FMT_YUV420P10:
#if CONFIG_AV1_DXVA2_HWACCEL
@@ -549,6 +553,44 @@ static int get_pixel_format(AVCodecContext *avctx)
#if CONFIG_AV1_VDPAU_HWACCEL
*fmtp++ = AV_PIX_FMT_VDPAU;
#endif
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
+ break;
+ case AV_PIX_FMT_YUV420P12:
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
+ break;
+ case AV_PIX_FMT_YUV422P:
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
+ break;
+ case AV_PIX_FMT_YUV422P10:
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
+ break;
+ case AV_PIX_FMT_YUV422P12:
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
+ break;
+ case AV_PIX_FMT_YUV444P:
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
+ break;
+ case AV_PIX_FMT_YUV444P10:
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
+ break;
+ case AV_PIX_FMT_YUV444P12:
+#if CONFIG_AV1_VULKAN_HWACCEL
+ *fmtp++ = AV_PIX_FMT_VULKAN;
+#endif
break;
case AV_PIX_FMT_GRAY8:
#if CONFIG_AV1_NVDEC_HWACCEL
@@ -1508,6 +1550,9 @@ const FFCodec ff_av1_decoder = {
#if CONFIG_AV1_VDPAU_HWACCEL
HWACCEL_VDPAU(av1),
#endif
+#if CONFIG_AV1_VULKAN_HWACCEL
+ HWACCEL_VULKAN(av1),
+#endif
NULL
},