All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.vulkan.KHRVideoEncodeQueue Maven / Gradle / Ivy

Go to download

A new generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs used in a wide variety of devices from PCs and consoles to mobile phones and embedded platforms.

There is a newer version: 3.3.4
Show newest version
/*
 * Copyright LWJGL. All rights reserved.
 * License terms: https://www.lwjgl.org/license
 * MACHINE GENERATED FILE, DO NOT EDIT
 */
package org.lwjgl.vulkan;

import org.lwjgl.system.*;

import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;

/**
 * 
    *
  • {@link #vkCmdEncodeVideoKHR CmdEncodeVideoKHR}
  • *
* *
VK_KHR_video_encode_queue
* *
*
Name String
*
{@code VK_KHR_video_encode_queue}
*
Extension Type
*
Device extension
*
Registered Extension Number
*
300
*
Revision
*
3
*
Extension and Version Dependencies
*
    *
  • Requires Vulkan 1.0
  • *
  • Requires {@link KHRVideoQueue VK_KHR_video_queue}
  • *
  • Requires {@link KHRSynchronization2 VK_KHR_synchronization2}
  • *
  • This is a provisional extension and must be used with caution. See the description of provisional header files for enablement and stability details.
  • *
*
Contact
*
*
* *
Other Extension Metadata
* *
*
Last Modified Date
*
2021-09-30
*
IP Status
*
No known IP claims.
*
Contributors
*
    *
  • Ahmed Abdelkhalek, AMD
  • *
  • Damien Kessler, NVIDIA
  • *
  • Daniel Rakos, AMD
  • *
  • George Hao, AMD
  • *
  • Jake Beju, AMD
  • *
  • Peter Fang, AMD
  • *
  • Piers Daniell, NVIDIA
  • *
  • Srinath Kumarapuram, NVIDIA
  • *
  • Thomas J. Meier, NVIDIA
  • *
  • Tony Zlatinski, NVIDIA
  • *
  • Yang Liu, AMD
  • *
*
*/ public class KHRVideoEncodeQueue { /** The extension specification version. */ public static final int VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION = 3; /** The extension name. */ public static final String VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME = "VK_KHR_video_encode_queue"; /** Extends {@code VkPipelineStageFlagBits2KHR}. */ public static final long VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x8000000L; /** * Extends {@code VkAccessFlagBits2KHR}. * *
Enum values:
* *
    *
  • {@link #VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR}
  • *
  • {@link #VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR}
  • *
*/ public static final long VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000L, VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000L; /** * Extends {@code VkStructureType}. * *
Enum values:
* *
    *
  • {@link #VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR}
  • *
  • {@link #VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR}
  • *
*/ public static final int VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001; /** Extends {@code VkQueueFlagBits}. */ public static final int VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x40; /** * Extends {@code VkBufferUsageFlagBits}. * *
Enum values:
* *
    *
  • {@link #VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR}
  • *
  • {@link #VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR}
  • *
*/ public static final int VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x8000, VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x10000; /** * Extends {@code VkImageUsageFlagBits}. * *
Enum values:
* *
    *
  • {@link #VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR}
  • *
  • {@link #VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR}
  • *
  • {@link #VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR}
  • *
*/ public static final int VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x2000, VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x4000, VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x8000; /** * Extends {@code VkFormatFeatureFlagBits}. * *
Enum values:
* *
    *
  • {@link #VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR}
  • *
  • {@link #VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR}
  • *
*/ public static final int VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x8000000, VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000; /** * Extends {@code VkImageLayout}. * *
Enum values:
* *
    *
  • {@link #VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR}
  • *
  • {@link #VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR}
  • *
  • {@link #VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR}
  • *
*/ public static final int VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002; /** Extends {@code VkQueryType}. */ public static final int VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000; /** * Extends {@code VkFormatFeatureFlagBits2KHR}. * *
Enum values:
* *
    *
  • {@link #VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR}
  • *
  • {@link #VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR}
  • *
*/ public static final long VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x8000000L, VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000L; /** * VkVideoEncodeFlagBitsKHR - Video Encode Command Flags * *
Description
* *
    *
  • {@link #VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR VIDEO_ENCODE_RESERVED_0_BIT_KHR} The current version of the specification has reserved this value for future use.
  • *
* *
Enum values:
* *
    *
  • {@link #VK_VIDEO_ENCODE_DEFAULT_KHR VIDEO_ENCODE_DEFAULT_KHR}
  • *
*/ public static final int VK_VIDEO_ENCODE_DEFAULT_KHR = 0, VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR = 0x1; /** * VkVideoEncodeRateControlFlagBitsKHR - Video Encode Rate Control Flags * *
Description
* *
    *
  • {@link #VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR VIDEO_ENCODE_RESERVED_0_BIT_KHR} The current version of the specification has reserved this value for future use.
  • *
* *
Enum values:
* *
    *
  • {@link #VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR}
  • *
  • {@link #VK_VIDEO_ENCODE_RATE_CONTROL_RESET_BIT_KHR VIDEO_ENCODE_RATE_CONTROL_RESET_BIT_KHR}
  • *
*/ public static final int VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR = 0, VK_VIDEO_ENCODE_RATE_CONTROL_RESET_BIT_KHR = 0x1; /** * VkVideoEncodeRateControlModeFlagBitsKHR - Video encode rate control modes * *
Description
* *
    *
  • {@link #VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR} for disabling rate control.
  • *
  • {@link #VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR} for constant bitrate rate control mode.
  • *
  • {@link #VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR} for variable bitrate rate control mode.
  • *
* *
See Also
* *

{@link VkVideoEncodeRateControlInfoKHR}

*/ public static final int VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR = 0, VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 1, VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 2; protected KHRVideoEncodeQueue() { throw new UnsupportedOperationException(); } // --- [ vkCmdEncodeVideoKHR ] --- /** Unsafe version of: {@link #vkCmdEncodeVideoKHR CmdEncodeVideoKHR} */ public static void nvkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer, long pEncodeInfo) { long __functionAddress = commandBuffer.getCapabilities().vkCmdEncodeVideoKHR; if (CHECKS) { check(__functionAddress); VkVideoEncodeInfoKHR.validate(pEncodeInfo); } callPPV(commandBuffer.address(), pEncodeInfo, __functionAddress); } /** * Encode operation for bitstream generation. * *
C Specification
* *

To launch an encode operation that results in bitstream generation, call:

* *

     * void vkCmdEncodeVideoKHR(
     *     VkCommandBuffer                             commandBuffer,
     *     const VkVideoEncodeInfoKHR*                 pEncodeInfo);
* *
Valid Usage (Implicit)
* *
    *
  • {@code commandBuffer} must be a valid {@code VkCommandBuffer} handle
  • *
  • {@code pEncodeInfo} must be a valid pointer to a valid {@link VkVideoEncodeInfoKHR} structure
  • *
  • {@code commandBuffer} must be in the recording state
  • *
  • The {@code VkCommandPool} that {@code commandBuffer} was allocated from must support encode operations
  • *
  • This command must only be called outside of a render pass instance
  • *
  • {@code commandBuffer} must be a primary {@code VkCommandBuffer}
  • *
* *
Host Synchronization
* *
    *
  • Host access to the {@code VkCommandPool} that {@code commandBuffer} was allocated from must be externally synchronized
  • *
* *
Command Properties
* * * * *
Command Buffer LevelsRender Pass ScopeSupported Queue Types
PrimaryOutsideEncode
* *
See Also
* *

{@link VkVideoEncodeInfoKHR}

* * @param commandBuffer the command buffer to be filled with this function for encoding to generate a bitstream. * @param pEncodeInfo a pointer to a {@link VkVideoEncodeInfoKHR} structure. */ public static void vkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer, @NativeType("VkVideoEncodeInfoKHR const *") VkVideoEncodeInfoKHR pEncodeInfo) { nvkCmdEncodeVideoKHR(commandBuffer, pEncodeInfo.address()); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy