MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / init_pic_rc

Function init_pic_rc

libavcodec/vulkan_encode.c:115–139  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

113}
114
115static int init_pic_rc(AVCodecContext *avctx, FFHWBaseEncodePicture *pic,
116 VkVideoEncodeRateControlInfoKHR *rc_info,
117 VkVideoEncodeRateControlLayerInfoKHR *rc_layer /* Goes in ^ */)
118{
119 FFVulkanEncodeContext *ctx = avctx->priv_data;
120
121 *rc_info = (VkVideoEncodeRateControlInfoKHR) {
122 .sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR,
123 .rateControlMode = ctx->opts.rc_mode,
124 };
125
126 if (ctx->opts.rc_mode > VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR) {
127 *rc_layer = (VkVideoEncodeRateControlLayerInfoKHR) {
128 .sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR,
129 .averageBitrate = avctx->bit_rate,
130 .maxBitrate = avctx->rc_max_rate ? avctx->rc_max_rate : avctx->bit_rate,
131 .frameRateNumerator = avctx->framerate.num,
132 .frameRateDenominator = avctx->framerate.den,
133 };
134 rc_info->layerCount++;
135 rc_info->pLayers = rc_layer;
136 }
137
138 return ctx->codec->init_pic_rc(avctx, pic, rc_info, rc_layer);
139}
140
141static int vulkan_encode_issue(AVCodecContext *avctx,
142 FFHWBaseEncodePicture *base_pic)

Callers 1

vulkan_encode_issueFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected