[FFmpeg-devel] [PATCH 55/97] Vulkan patchset part 2 - hwcontext rewrite and filtering

Lynne dev at lynne.ee
Tue May 16 17:47:10 EEST 2023


May 16, 2023, 15:32 by anton at khirnov.net:

> Quoting Lynne (2023-05-11 20:55:40)
>
>> May 11, 2023, 18:04 by anton at khirnov.net:
>>
>> > Quoting Lynne (2023-04-24 17:56:38)
>> >
>> >> From b0c429d0d77d1789b6349bc6b296449ae1f8e9da Mon Sep 17 00:00:00 2001
>> >> From: Lynne <dev at lynne.ee>
>> >> Date: Tue, 15 Mar 2022 23:00:32 +0100
>> >> Subject: [PATCH 26/97] hwcontext_vulkan: support threadsafe queue and frame
>> >>  operations
>> >>
>> >> ---
>> >>  libavutil/hwcontext_vulkan.c | 176 +++++++++++++++++++++++++----------
>> >>  libavutil/hwcontext_vulkan.h |  40 +++++++-
>> >>  2 files changed, 167 insertions(+), 49 deletions(-)
>> >>
>> >> diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
>> >> index 894b4b83f3..b0db59b2d8 100644
>> >> --- a/libavutil/hwcontext_vulkan.c
>> >> +++ b/libavutil/hwcontext_vulkan.c
>> >> @@ -27,6 +27,7 @@
>> >>  #include <dlfcn.h>
>> >>  #endif
>> >> 
>> >> +#include <pthread.h>
>> >>  #include <unistd.h>
>> >> 
>> >>  #include "config.h"
>> >> @@ -92,8 +93,10 @@ typedef struct VulkanDevicePriv {
>> >>  VkPhysicalDeviceVulkan13Features device_features_1_3;
>> >> 
>> >>  /* Queues */
>> >> -    uint32_t qfs[5];
>> >> -    int num_qfs;
>> >> +    pthread_mutex_t **qf_mutex;
>> >> +    int nb_tot_qfs;
>> >> +    uint32_t img_qfs[5];
>> >> +    int nb_img_qfs;
>> >>
>> >
>> > This patch would be so much more readable without random renamings.
>> >
>>
>> They're not random, the meaning of each variable is different
>> to what they meant before.
>> nb_img_qfs is the total number of enabled queue familiesnb_tot_qfs is the total number of queue families listed by the driver
>>
>>
>> >> /* Debug callback */
>> >>  VkDebugUtilsMessengerEXT debug_ctx;
>> >> @@ -127,6 +130,8 @@ typedef struct VulkanFramesPriv {
>> >>  } VulkanFramesPriv;
>> >> 
>> >>  typedef struct AVVkFrameInternal {
>> >> +    pthread_mutex_t update_mutex;
>> >>
>> >
>> > As far as I can see, none of the mutices you're adding here are
>> > ever destroyed.
>> >
>>
>> Fixed.
>>
>
> In your current tree you're only destrying update_mutex, not qf_mutexes.
>
> And not checking thre creation of update_mutex.
>

fixed both


More information about the ffmpeg-devel mailing list