From 52bd1931b8c6622f524e296b563d06c9da583af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Thu, 15 Aug 2024 17:51:23 +0200 Subject: [PATCH] vkencoder-private: usage structure is provided by caller As all the profile structure, it's not intended to be filled in gst_vulkan_encoder_start() function, but by the caller. Part-of: --- .../gst-libs/gst/vulkan/gstvkencoder-private.c | 12 ++---------- .../tests/check/libs/vkvideoencodeh265.c | 7 +++++++ 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkencoder-private.c b/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkencoder-private.c index ff0617051c..15b3080fb4 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkencoder-private.c +++ b/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkencoder-private.c @@ -661,16 +661,8 @@ gst_vulkan_encoder_start (GstVulkanEncoder * self, priv->profile = *profile; - /* *INDENT-OFF* */ - priv->profile.usage.encode = (VkVideoEncodeUsageInfoKHR) { - .pNext = &priv->profile.codec, - .sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR, - .tuningMode = VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR, - .videoContentHints = VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR, - .videoUsageHints = VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR, - }; - /* *INDENT-ON* */ - + /* ensure the chain up of structure */ + priv->profile.usage.encode.pNext = &priv->profile.codec; priv->profile.profile.pNext = &priv->profile.usage.encode; /* *INDENT-OFF* */ diff --git a/subprojects/gst-plugins-bad/tests/check/libs/vkvideoencodeh265.c b/subprojects/gst-plugins-bad/tests/check/libs/vkvideoencodeh265.c index 3d1a8002c3..6f4010fa52 100644 --- a/subprojects/gst-plugins-bad/tests/check/libs/vkvideoencodeh265.c +++ b/subprojects/gst-plugins-bad/tests/check/libs/vkvideoencodeh265.c @@ -757,6 +757,13 @@ setup_h265_encoder (uint32_t width, uint32_t height, gint vps_id, .chromaBitDepth = VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR, .lumaBitDepth = VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR, }, + .usage.encode = { + .pNext = &profile.codec, + .sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR, + .videoUsageHints = VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR, + .videoContentHints = VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR, + .tuningMode = VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR, + }, .codec.h265enc = (VkVideoEncodeH265ProfileInfoKHR) { .sType = VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR, .stdProfileIdc = profile_idc,