diff options
author | Lynne <dev@lynne.ee> | 2024-09-27 09:52:14 +0200 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2024-09-27 09:55:44 +0200 |
commit | 81c6e6c9eeb2ced02654631dbe83d342e6b59505 (patch) | |
tree | cb795389d97863c1cfc8f88f4e6c07a86ebb532c | |
parent | 934be0ff50fbe58aa44bc8a876f07195846d15ea (diff) | |
download | ffmpeg-81c6e6c9eeb2ced02654631dbe83d342e6b59505.tar.gz |
vulkan_encode_h265: fix rate control VBV values
The values written were placeholder values.
-rw-r--r-- | libavcodec/vulkan_encode_h265.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/vulkan_encode_h265.c b/libavcodec/vulkan_encode_h265.c index 54bf071d78..6aadbc93fc 100644 --- a/libavcodec/vulkan_encode_h265.c +++ b/libavcodec/vulkan_encode_h265.c @@ -124,12 +124,12 @@ static int init_pic_rc(AVCodecContext *avctx, FFHWBaseEncodePicture *pic, .consecutiveBFrameCount = FFMAX(ctx->base.b_per_p - 1, 0), .subLayerCount = 0, }; - rc_info->pNext = &hp->vkrc_info; - rc_info->virtualBufferSizeInMs = 1000; - rc_info->initialVirtualBufferSizeInMs = 500; if (rc_info->rateControlMode > VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR) { + rc_info->virtualBufferSizeInMs = (enc->hrd_buffer_size * 1000LL) / avctx->bit_rate; + rc_info->initialVirtualBufferSizeInMs = (enc->initial_buffer_fullness * 1000LL) / avctx->bit_rate; + hp->vkrc_layer_info = (VkVideoEncodeH265RateControlLayerInfoKHR) { .sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR, |