[FFmpeg-devel] libavcodec: add Vulkan common video code
Lynne
dev at lynne.ee
Thu May 18 14:07:06 EEST 2023
May 18, 2023, 10:34 by anton at khirnov.net:
>> commit 3257feba101053b0b3689147c1a8850f68448f62
>> Author: Lynne <dev at lynne.ee>
>> Date: Sun Dec 18 08:31:03 2022 +0100
>>
>> libavcodec: add Vulkan common video code
>>
>> +static AVBufferRef *alloc_data_buf(void *opaque, size_t size)
>> +{
>> + uint8_t *buf = av_mallocz(size);
>> + if (!buf)
>> + return NULL;
>> +
>> + return av_buffer_create(buf, size, free_data_buf, opaque, 0);
>>
>
> leaks buf on av_buffer_create() failure.
>
fixed
>> +av_cold int ff_vk_video_common_init(void *log, FFVulkanContext *s,
>> + FFVkVideoCommon *common,
>> + VkVideoSessionCreateInfoKHR *session_create)
>> +{
>> + int err;
>> + VkResult ret;
>> + FFVulkanFunctions *vk = &s->vkfn;
>> + VkMemoryRequirements2 *mem_req = NULL;
>> + VkVideoSessionMemoryRequirementsKHR *mem = NULL;
>> + VkBindVideoSessionMemoryInfoKHR *bind_mem = NULL;
>> +
>> + /* Create session */
>> + ret = vk->CreateVideoSessionKHR(s->hwctx->act_dev, session_create,
>> + s->hwctx->alloc, &common->session);
>> + if (ret != VK_SUCCESS)
>> + return AVERROR_EXTERNAL;
>> +
>> + /* Get memory requirements */
>> + ret = vk->GetVideoSessionMemoryRequirementsKHR(s->hwctx->act_dev,
>> + common->session,
>> + &common->nb_mem,
>> + NULL);
>> + if (ret != VK_SUCCESS) {
>> + err = AVERROR_EXTERNAL;
>> + goto fail;
>> + }
>> +
>> + /* Allocate all memory needed to actually allocate memory */
>> + common->mem = av_mallocz(sizeof(*common->mem)*common->nb_mem);
>>
>
> av_calloc(), same below
>
Fixed all av_mallocz usage in the file
More information about the ffmpeg-devel
mailing list