[FFmpeg-cvslog] vulkan_ffv1: improve buffer barrier correctness for slice state

Lynne git at videolan.org
Mon Apr 14 07:16:19 EEST 2025


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Sun Apr  6 03:49:28 2025 +0000| [694ebe890ce4cda41780006487fd351fbdebdec8] | committer: Lynne

vulkan_ffv1: improve buffer barrier correctness for slice state

This is likely a nanooptimization, but its more correct.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=694ebe890ce4cda41780006487fd351fbdebdec8
---

 libavcodec/vulkan_ffv1.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavcodec/vulkan_ffv1.c b/libavcodec/vulkan_ffv1.c
index d90db291aa..e511840a01 100644
--- a/libavcodec/vulkan_ffv1.c
+++ b/libavcodec/vulkan_ffv1.c
@@ -484,8 +484,7 @@ static int vk_ffv1_end_frame(AVCodecContext *avctx)
         .srcStageMask = slice_state->stage,
         .dstStageMask = VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT,
         .srcAccessMask = slice_state->access,
-        .dstAccessMask = VK_ACCESS_2_SHADER_STORAGE_READ_BIT |
-                         VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT,
+        .dstAccessMask = VK_ACCESS_2_SHADER_STORAGE_READ_BIT,
         .srcQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
         .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
         .buffer = slice_state->buf,
@@ -534,7 +533,7 @@ static int vk_ffv1_end_frame(AVCodecContext *avctx)
         .dstQueueFamilyIndex = VK_QUEUE_FAMILY_IGNORED,
         .buffer = slice_state->buf,
         .offset = fp->slice_data_size*f->slice_count,
-        .size = slice_state->size - fp->slice_data_size*f->slice_count,
+        .size = f->slice_count*(fp->slice_state_size - fp->slice_data_size),
     };
 
     /* Input frame barrier */



More information about the ffmpeg-cvslog mailing list