[FFmpeg-devel] [PATCH 2/2] avfilter/vf_libplacebo: Use new vulkan queue API
Niklas Haas
ffmpeg at haasn.xyz
Mon Jun 16 20:06:57 EEST 2025
On Mon, 16 Jun 2025 22:37:01 +0800 Zhao Zhili <quinkblack-at-foxmail.com at ffmpeg.org> wrote:
> From: Zhao Zhili <zhilizhao at tencent.com>
>
> Fixes deprecation warning.
>
> Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
LGTM, thanks.
> ---
> libavfilter/vf_libplacebo.c | 36 +++++++++++++++++++++++++++---------
> 1 file changed, 27 insertions(+), 9 deletions(-)
>
> diff --git a/libavfilter/vf_libplacebo.c b/libavfilter/vf_libplacebo.c
> index 9ff64053cc..e9049710c2 100644
> --- a/libavfilter/vf_libplacebo.c
> +++ b/libavfilter/vf_libplacebo.c
> @@ -647,8 +647,7 @@ static int init_vulkan(AVFilterContext *avctx, const AVVulkanDeviceContext *hwct
>
> if (hwctx) {
> #if PL_API_VER >= 278
> - /* Import libavfilter vulkan context into libplacebo */
> - s->vulkan = pl_vulkan_import(s->log, pl_vulkan_import_params(
> + struct pl_vulkan_import_params import_params = {
> .instance = hwctx->inst,
> .get_proc_addr = hwctx->get_proc_addr,
> .phys_device = hwctx->phys_dev,
> @@ -660,20 +659,39 @@ static int init_vulkan(AVFilterContext *avctx, const AVVulkanDeviceContext *hwct
> .unlock_queue = unlock_queue,
> .queue_ctx = avctx->hw_device_ctx->data,
> .queue_graphics = {
> - .index = hwctx->queue_family_index,
> - .count = hwctx->nb_graphics_queues,
> + .index = VK_QUEUE_FAMILY_IGNORED,
> + .count = 0,
> },
> .queue_compute = {
> - .index = hwctx->queue_family_comp_index,
> - .count = hwctx->nb_comp_queues,
> + .index = VK_QUEUE_FAMILY_IGNORED,
> + .count = 0,
> },
> .queue_transfer = {
> - .index = hwctx->queue_family_tx_index,
> - .count = hwctx->nb_tx_queues,
> + .index = VK_QUEUE_FAMILY_IGNORED,
> + .count = 0,
> },
> /* This is the highest version created by hwcontext_vulkan.c */
> .max_api_version = VK_API_VERSION_1_3,
> - ));
> + };
> + for (int i = 0; i < hwctx->nb_qf; i++) {
> + const AVVulkanDeviceQueueFamily *qf = &hwctx->qf[i];
> +
> + if (qf->flags & VK_QUEUE_GRAPHICS_BIT) {
> + import_params.queue_graphics.index = qf->idx;
> + import_params.queue_graphics.count = qf->num;
> + }
> + if (qf->flags & VK_QUEUE_COMPUTE_BIT) {
> + import_params.queue_compute.index = qf->idx;
> + import_params.queue_compute.count = qf->num;
> + }
> + if (qf->flags & VK_QUEUE_TRANSFER_BIT) {
> + import_params.queue_transfer.index = qf->idx;
> + import_params.queue_transfer.count = qf->num;
> + }
> + }
> +
> + /* Import libavfilter vulkan context into libplacebo */
> + s->vulkan = pl_vulkan_import(s->log, &import_params);
> #else
> av_log(s, AV_LOG_ERROR, "libplacebo version %s too old to import "
> "Vulkan device, remove it or upgrade libplacebo to >= 5.278\n",
> --
> 2.25.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list