[FFmpeg-devel] [PATCH 2/2] vulkan_decode: use ff_vk_init
Lynne
dev at lynne.ee
Sun Sep 1 05:41:39 EEST 2024
This solves the issue of an av_log function being called
with a context with invalid class.
Most of the patch was written by Anton Khirnov.
---
libavcodec/vulkan_decode.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c
index 35966cd60d..f6b8866ff5 100644
--- a/libavcodec/vulkan_decode.c
+++ b/libavcodec/vulkan_decode.c
@@ -1114,12 +1114,9 @@ int ff_vk_decode_init(AVCodecContext *avctx)
s = &ctx->s;
vk = &ctx->s.vkfn;
- s->frames_ref = av_buffer_ref(avctx->hw_frames_ctx);
- s->frames = (AVHWFramesContext *)s->frames_ref->data;
- s->hwfc = s->frames->hwctx;
-
- s->device = (AVHWDeviceContext *)s->frames->device_ref->data;
- s->hwctx = s->device->hwctx;
+ err = ff_vk_init(s, avctx, NULL, avctx->hw_frames_ctx);
+ if (err < 0)
+ return err;
profile = get_video_profile(ctx, avctx->codec_id);
if (!profile) {
@@ -1127,10 +1124,6 @@ int ff_vk_decode_init(AVCodecContext *avctx)
return AVERROR(EINVAL);
}
- err = ff_vk_load_props(s);
- if (err < 0)
- goto fail;
-
/* Create queue context */
vk_desc = get_codecdesc(avctx->codec_id);
err = ff_vk_video_qf_init(s, &ctx->qf,
--
2.45.2.753.g447d99e1c3b
More information about the ffmpeg-devel
mailing list