ffmpeg | branch: release/7.1 | Lynne <d...@lynne.ee> | Fri Sep 27 09:49:35 2024 
+0200| [0482410818e0fcff0e77f2d2813d391809f52ce4] | committer: Lynne

vulkan_encode_h264: fix rate control VBV values

The values must be in milliseconds, not bytes.

(cherry picked from commit 934be0ff50fbe58aa44bc8a876f07195846d15ea)

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

 libavcodec/vulkan_encode_h264.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/vulkan_encode_h264.c b/libavcodec/vulkan_encode_h264.c
index 9964ba5b8b..a0a00a3db2 100644
--- a/libavcodec/vulkan_encode_h264.c
+++ b/libavcodec/vulkan_encode_h264.c
@@ -130,12 +130,12 @@ static int init_pic_rc(AVCodecContext *avctx, 
FFHWBaseEncodePicture *pic,
         .consecutiveBFrameCount = FFMAX(ctx->base.b_per_p - 1, 0),
         .temporalLayerCount = 0,
     };
-
     rc_info->pNext = &hp->vkrc_info;
-    rc_info->virtualBufferSizeInMs = enc->unit_opts.hrd_buffer_size;
-    rc_info->initialVirtualBufferSizeInMs = 
enc->unit_opts.initial_buffer_fullness;
 
     if (rc_info->rateControlMode > 
VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR) {
+        rc_info->virtualBufferSizeInMs = (enc->unit_opts.hrd_buffer_size * 
1000LL) / avctx->bit_rate;
+        rc_info->initialVirtualBufferSizeInMs = 
(enc->unit_opts.initial_buffer_fullness * 1000LL) / avctx->bit_rate;
+
         hp->vkrc_layer_info = (VkVideoEncodeH264RateControlLayerInfoKHR) {
             .sType = 
VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR,
 

_______________________________________________
ffmpeg-cvslog mailing list
ffmpeg-cvslog@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog

To unsubscribe, visit link above, or email
ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to