Rather than always using the maximum allowed slices, just use the number of slices present in this frame. --- libavcodec/vulkan_ffv1.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/vulkan_ffv1.c b/libavcodec/vulkan_ffv1.c index b6c9320ec2..9747721f0d 100644 --- a/libavcodec/vulkan_ffv1.c +++ b/libavcodec/vulkan_ffv1.c @@ -197,7 +197,7 @@ static int vk_ffv1_start_frame(AVCodecContext *avctx, &fp->slice_state, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, - NULL, f->max_slice_count*fp->slice_state_size, + NULL, f->slice_count*fp->slice_state_size, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT); if (err < 0) return err; @@ -213,7 +213,7 @@ static int vk_ffv1_start_frame(AVCodecContext *avctx, &fp->tmp_data, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, - NULL, f->max_slice_count*CONTEXT_SIZE, + NULL, f->slice_count*CONTEXT_SIZE, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT); if (err < 0) return err; @@ -223,7 +223,7 @@ static int vk_ffv1_start_frame(AVCodecContext *avctx, &fp->slice_offset_buf, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, - NULL, 2*f->max_slice_count*sizeof(uint32_t), + NULL, 2*f->slice_count*sizeof(uint32_t), VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT); if (err < 0) @@ -234,7 +234,7 @@ static int vk_ffv1_start_frame(AVCodecContext *avctx, &fp->slice_status_buf, VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, - NULL, f->max_slice_count*sizeof(uint32_t), + NULL, f->slice_count*sizeof(uint32_t), VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT); if (err < 0) -- 2.47.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".