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

Function create_session_params

libavcodec/vulkan_encode_av1.c:898–933  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

896}
897
898static int create_session_params(AVCodecContext *avctx)
899{
900 int err;
901 VulkanEncodeAV1Context *enc = avctx->priv_data;
902 FFVulkanEncodeContext *ctx = &enc->common;
903 FFVulkanContext *s = &ctx->s;
904 FFVulkanFunctions *vk = &ctx->s.vkfn;
905
906 VulkanAV1Units vk_units = { 0 };
907
908 VkVideoEncodeAV1SessionParametersCreateInfoKHR av1_params;
909
910 /* Convert it to Vulkan */
911 err = base_unit_to_vk(avctx, &vk_units);
912 if (err < 0) {
913 av_log(avctx, AV_LOG_ERROR, "Unable to convert sequence header to Vulkan: %s\n",
914 av_err2str(err));
915 return err;
916 }
917
918 /* Destroy the session params */
919 if (ctx->session_params)
920 vk->DestroyVideoSessionParametersKHR(s->hwctx->act_dev,
921 ctx->session_params,
922 s->hwctx->alloc);
923
924 av1_params = (VkVideoEncodeAV1SessionParametersCreateInfoKHR) {
925 .sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
926 .pStdSequenceHeader = &vk_units.seq_hdr,
927 .pStdDecoderModelInfo = &vk_units.decoder_model,
928 .pStdOperatingPoints = vk_units.operating_points,
929 .stdOperatingPointCount = vk_units.nb_operating_points,
930 };
931
932 return ff_vulkan_encode_create_session_params(avctx, ctx, &av1_params);
933}
934
935static int parse_feedback_units(AVCodecContext *avctx,
936 const uint8_t *data, size_t size)

Callers 1

init_base_unitsFunction · 0.70

Calls 3

av_logFunction · 0.85
base_unit_to_vkFunction · 0.70

Tested by

no test coverage detected