diff options
author | Lynne <dev@lynne.ee> | 2025-03-29 22:44:11 +0000 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2025-04-14 06:10:40 +0200 |
commit | 79ff1f21c4bcd2b917973357138829d44c3836be (patch) | |
tree | 040bc695c3f96c271d51bdda8b9405443263ebfb | |
parent | 4f64df2928d7e54c89a5e1263c6768d3dcfe61a2 (diff) | |
download | ffmpeg-79ff1f21c4bcd2b917973357138829d44c3836be.tar.gz |
vulkan_decode: only create sequence params in end_frame
We tried to create sequence params in both start_frame and end_frame.
This was redundant.
Just always create them in end_frame.
-rw-r--r-- | libavcodec/vulkan_av1.c | 8 | ||||
-rw-r--r-- | libavcodec/vulkan_h264.c | 9 | ||||
-rw-r--r-- | libavcodec/vulkan_hevc.c | 9 |
3 files changed, 0 insertions, 26 deletions
diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c index ccb88004b5..0e5958b20b 100644 --- a/libavcodec/vulkan_av1.c +++ b/libavcodec/vulkan_av1.c @@ -254,7 +254,6 @@ static int vk_av1_start_frame(AVCodecContext *avctx, AV1DecContext *s = avctx->priv_data; const AV1Frame *pic = &s->cur_frame; FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data; - FFVulkanDecodeShared *ctx = dec->shared_ctx; AV1VulkanDecodePicture *ap = pic->hwaccel_picture_private; FFVulkanDecodePicture *vp = &ap->vp; @@ -269,13 +268,6 @@ static int vk_av1_start_frame(AVCodecContext *avctx, STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER, STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ }; - if (!dec->session_params && - !(ctx->s.extensions & FF_VK_EXT_VIDEO_MAINTENANCE_2)) { - err = vk_av1_create_params(avctx, &dec->session_params, ap); - if (err < 0) - return err; - } - if (!ap->frame_id_set) { unsigned slot_idx = 0; for (unsigned i = 0; i < 32; i++) { diff --git a/libavcodec/vulkan_h264.c b/libavcodec/vulkan_h264.c index 73aaed7f6a..2ac031c009 100644 --- a/libavcodec/vulkan_h264.c +++ b/libavcodec/vulkan_h264.c @@ -366,20 +366,11 @@ static int vk_h264_start_frame(AVCodecContext *avctx, int err; int dpb_slot_index = 0; H264Context *h = avctx->priv_data; - FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data; - FFVulkanDecodeShared *ctx = dec->shared_ctx; H264Picture *pic = h->cur_pic_ptr; H264VulkanDecodePicture *hp = pic->hwaccel_picture_private; FFVulkanDecodePicture *vp = &hp->vp; - if (!dec->session_params && - !(ctx->s.extensions & FF_VK_EXT_VIDEO_MAINTENANCE_2)) { - err = vk_h264_create_params(avctx, &dec->session_params); - if (err < 0) - return err; - } - /* Fill in main slot */ dpb_slot_index = 0; for (unsigned slot = 0; slot < H264_MAX_PICTURE_COUNT; slot++) { diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c index e4a946ae0d..4b10da65a0 100644 --- a/libavcodec/vulkan_hevc.c +++ b/libavcodec/vulkan_hevc.c @@ -716,8 +716,6 @@ static int vk_hevc_start_frame(AVCodecContext *avctx, int err; HEVCContext *h = avctx->priv_data; HEVCLayerContext *l = &h->layers[h->cur_layer]; - FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data; - FFVulkanDecodeShared *ctx = dec->shared_ctx; HEVCFrame *pic = h->cur_frame; HEVCVulkanDecodePicture *hp = pic->hwaccel_picture_private; @@ -726,13 +724,6 @@ static int vk_hevc_start_frame(AVCodecContext *avctx, const HEVCSPS *sps = pps->sps; int nb_refs = 0; - if (!dec->session_params && - !(ctx->s.extensions & FF_VK_EXT_VIDEO_MAINTENANCE_2)) { - err = vk_hevc_create_params(avctx, &dec->session_params); - if (err < 0) - return err; - } - hp->h265pic = (StdVideoDecodeH265PictureInfo) { .flags = (StdVideoDecodeH265PictureInfoFlags) { .IrapPicFlag = IS_IRAP(h), |