Class NVOpticalFlow
Note
This extension is designed to be used with upcoming NVIDIA Optical Flow SDK Version 5 which will be available on NVIDIA Developer webpage.
Examples
// Example querying available input formats
VkOpticalFlowImageFormatInfoNV ofFormatInfo = { VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV };
ofFormatInfo.usage = VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV;
uint32_t count = 0;
vkGetPhysicalDeviceOpticalFlowImageFormatsNV(physicalDevice, &ofFormatInfo, &count, NULL);
VkOpticalFlowImageFormatPropertiesNV* fmt = new VkOpticalFlowImageFormatPropertiesNV[count];
memset(fmt, 0, count * sizeof(VkOpticalFlowImageFormatPropertiesNV));
for (uint32_t i = 0; i < count; i++) {
fmt[i].sType = VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV;
}
vkGetPhysicalDeviceOpticalFlowImageFormatsNV(physicalDevice, &ofFormatInfo, &count, fmt);
// Pick one of the available formats
VkFormat inputFormat = fmt[0].format;
// Check feature support for optimal tiling
VkFormatProperties3 formatProperties3 = { VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3 };
VkFormatProperties2 formatProperties2 = { VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2, &formatProperties3 };
vkGetPhysicalDeviceFormatProperties2(physicalDevice, inputFormat, &formatProperties2);
if (!(formatProperties3.optimalTilingFeatures & VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV)) {
return false;
}
// Check support for image creation parameters
VkPhysicalDeviceImageFormatInfo2 imageFormatInfo2 = { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2, &ofFormatInfo };
imageFormatInfo2.format = inputFormat;
imageFormatInfo2.type = VK_IMAGE_TYPE_2D;
imageFormatInfo2.tiling = VK_IMAGE_TILING_OPTIMAL;
imageFormatInfo2.usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;
VkImageFormatProperties2 imageFormatProperties2 = { VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2 };
if (vkGetPhysicalDeviceImageFormatProperties2(physicalDevice, &imageFormatInfo2, &imageFormatProperties2) != VK_SUCCESS) {
return false;
}
VkImageCreateInfo imageCreateInfo = { VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, &ofFormatInfo };
imageCreateInfo.imageType = VK_IMAGE_TYPE_2D;
imageCreateInfo.format = inputFormat;
imageCreateInfo.extent = { width, height, (uint32_t)1};
imageCreateInfo.mipLevels = 1;
imageCreateInfo.arrayLayers = 1;
imageCreateInfo.samples = VK_SAMPLE_COUNT_1_BIT;
imageCreateInfo.usage = VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT;;
imageCreateInfo.tiling = VK_IMAGE_TILING_OPTIMAL;
vkCreateImage(device, &imageCreateInfo, NULL, &input);
"allocate memory, bind image, create view"
"do the same for reference and output"
// Create optical flow session
VkOpticalFlowSessionCreateInfoNV sessionCreateInfo = { VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV };
sessionCreateInfo.width = width;
sessionCreateInfo.height = height;
sessionCreateInfo.imageFormat = inputFormat;
sessionCreateInfo.flowVectorFormat = outputFormat;
sessionCreateInfo.outputGridSize = VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV;
sessionCreateInfo.performanceLevel = VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV;
VkOpticalFlowSessionNV session;
vkCreateOpticalFlowSessionNV(device, &sessionCreateInfo, NULL, &session);
"allocate command buffer"
"transfer images to VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV"
"transfer input images to VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV and output image to VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV"
vkBindOpticalFlowSessionImageNV(device, session, VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV, inputView, VK_IMAGE_LAYOUT_GENERAL);
vkBindOpticalFlowSessionImageNV(device, session, VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV, refView, VK_IMAGE_LAYOUT_GENERAL);
vkBindOpticalFlowSessionImageNV(device, session, VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV, outputView, VK_IMAGE_LAYOUT_GENERAL);
VkOpticalFlowExecuteInfoNV opticalFlowExecuteInfo = { VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV };
vkCmdOpticalFlowExecuteNV(cmd, session, &opticalFlowExecuteInfo);
"submit command buffer"
- Name String
VK_NV_optical_flow- Extension Type
- Device extension
- Registered Extension Number
- 465
- Revision
- 1
- Extension and Version Dependencies
VK_KHR_get_physical_device_properties2or Version 1.1 andVK_KHR_format_feature_flags2andVK_KHR_synchronization2or Version 1.3- Contact
- Carsten Rohde crohde
Other Extension Metadata
- Last Modified Date
- 2022-09-26
- Contributors
- Carsten Rohde, NVIDIA
- Vipul Parashar, NVIDIA
- Jeff Bolz, NVIDIA
- Eric Werness, NVIDIA
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longExtendsVkAccessFlagBits2.static final longExtendsVkAccessFlagBits2.static final longExtendsVkFormatFeatureFlagBits2.static final longExtendsVkFormatFeatureFlagBits2.static final longExtendsVkFormatFeatureFlagBits2.static final intExtendsVkFormat.static final intExtendsVkFormat.static final StringThe extension name.static final intThe extension specification version.static final intExtendsVkObjectType.static final intVkOpticalFlowExecuteFlagBitsNV - Bits specifying flags for an optical flow vector calculationstatic final intVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsstatic final intVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsstatic final intVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsstatic final intVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsstatic final intVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsstatic final intVkOpticalFlowPerformanceLevelNV - Optical flow performance level typesstatic final intVkOpticalFlowPerformanceLevelNV - Optical flow performance level typesstatic final intVkOpticalFlowPerformanceLevelNV - Optical flow performance level typesstatic final intVkOpticalFlowPerformanceLevelNV - Optical flow performance level typesstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionstatic final intVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionstatic final intVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionstatic final intVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionstatic final intVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionstatic final intVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionstatic final intVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsstatic final intVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsstatic final intVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsstatic final intVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsstatic final intVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsstatic final intVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsstatic final longExtendsVkPipelineStageFlagBits2.static final intExtendsVkQueueFlagBits.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidnvkCmdOpticalFlowExecuteNV(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long session, long pExecuteInfo) Unsafe version of:CmdOpticalFlowExecuteNVstatic intnvkCreateOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pSession) Unsafe version of:CreateOpticalFlowSessionNVstatic voidnvkDestroyOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, long session, long pAllocator) Unsafe version of:DestroyOpticalFlowSessionNVstatic intnvkGetPhysicalDeviceOpticalFlowImageFormatsNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pOpticalFlowImageFormatInfo, long pFormatCount, long pImageFormatProperties) Unsafe version of:GetPhysicalDeviceOpticalFlowImageFormatsNVstatic intvkBindOpticalFlowSessionImageNV(org.lwjgl.vulkan.VkDevice device, long session, int bindingPoint, long view, int layout) Bind image to an optical flow session.static voidvkCmdOpticalFlowExecuteNV(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long session, VkOpticalFlowExecuteInfoNV pExecuteInfo) Calculate optical flow vectors.static intvkCreateOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, VkOpticalFlowSessionCreateInfoNV pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pSession) Array version of:CreateOpticalFlowSessionNVstatic intvkCreateOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, VkOpticalFlowSessionCreateInfoNV pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, LongBuffer pSession) Creates an optical flow session object.static voidvkDestroyOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, long session, @Nullable VkAllocationCallbacks pAllocator) Destroy optical flow session object.static intvkGetPhysicalDeviceOpticalFlowImageFormatsNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkOpticalFlowImageFormatInfoNV pOpticalFlowImageFormatInfo, int[] pFormatCount, @Nullable VkOpticalFlowImageFormatPropertiesNV.Buffer pImageFormatProperties) Array version of:GetPhysicalDeviceOpticalFlowImageFormatsNVstatic intvkGetPhysicalDeviceOpticalFlowImageFormatsNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkOpticalFlowImageFormatInfoNV pOpticalFlowImageFormatInfo, IntBuffer pFormatCount, @Nullable VkOpticalFlowImageFormatPropertiesNV.Buffer pImageFormatProperties) Query image formats for optical flow.
-
Field Details
-
VK_NV_OPTICAL_FLOW_SPEC_VERSION
public static final int VK_NV_OPTICAL_FLOW_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_NV_OPTICAL_FLOW_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NVExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NVSTRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NVExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NVSTRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
- See Also:
-
VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV
public static final int VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NVExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NVSTRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
- See Also:
-
VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV
public static final int VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NVExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NVSTRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
- See Also:
-
VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV
public static final int VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NVExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NVSTRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
- See Also:
-
VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV
public static final int VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NVExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NVSTRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
- See Also:
-
VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
public static final int VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NVExtendsVkStructureType.Enum values:
STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NVSTRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NVSTRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
- See Also:
-
VK_FORMAT_R16G16_SFIXED5_NV
public static final int VK_FORMAT_R16G16_SFIXED5_NV- See Also:
-
VK_FORMAT_R16G16_S10_5_NV
public static final int VK_FORMAT_R16G16_S10_5_NV- See Also:
-
VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV
public static final int VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NVExtendsVkObjectType.- See Also:
-
VK_QUEUE_OPTICAL_FLOW_BIT_NV
public static final int VK_QUEUE_OPTICAL_FLOW_BIT_NVExtendsVkQueueFlagBits.- See Also:
-
VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
public static final long VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NVExtendsVkPipelineStageFlagBits2.- See Also:
-
VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV
public static final long VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NVExtendsVkAccessFlagBits2.Enum values:
- See Also:
-
VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV
public static final long VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NVExtendsVkAccessFlagBits2.Enum values:
- See Also:
-
VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV
public static final long VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NVExtendsVkFormatFeatureFlagBits2.Enum values:
- See Also:
-
VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV
public static final long VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NVExtendsVkFormatFeatureFlagBits2.Enum values:
- See Also:
-
VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV
public static final long VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NVExtendsVkFormatFeatureFlagBits2.Enum values:
- See Also:
-
VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV
public static final int VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NVVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsDescription
OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NVspecifies that grid is 1x1 pixel.OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NVspecifies that grid is 2x2 pixel.OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NVspecifies that grid is 4x4 pixel.OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NVspecifies that grid is 8x8 pixel.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV
public static final int VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NVVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsDescription
OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NVspecifies that grid is 1x1 pixel.OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NVspecifies that grid is 2x2 pixel.OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NVspecifies that grid is 4x4 pixel.OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NVspecifies that grid is 8x8 pixel.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV
public static final int VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NVVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsDescription
OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NVspecifies that grid is 1x1 pixel.OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NVspecifies that grid is 2x2 pixel.OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NVspecifies that grid is 4x4 pixel.OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NVspecifies that grid is 8x8 pixel.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV
public static final int VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NVVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsDescription
OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NVspecifies that grid is 1x1 pixel.OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NVspecifies that grid is 2x2 pixel.OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NVspecifies that grid is 4x4 pixel.OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NVspecifies that grid is 8x8 pixel.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV
public static final int VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NVVkOpticalFlowGridSizeFlagBitsNV - Bits specifying grid sizes for optical flow operationsDescription
OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NVspecifies that grid is 1x1 pixel.OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NVspecifies that grid is 2x2 pixel.OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NVspecifies that grid is 4x4 pixel.OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NVspecifies that grid is 8x8 pixel.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV
public static final int VK_OPTICAL_FLOW_USAGE_UNKNOWN_NVVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsDescription
OPTICAL_FLOW_USAGE_INPUT_BIT_NVspecifies that the image can be used as input or reference frame for an optical flow operation.OPTICAL_FLOW_USAGE_OUTPUT_BIT_NVspecifies that the image can be used as output flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_HINT_BIT_NVspecifies that the image can be used as hint flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_COST_BIT_NVspecifies that the image can be used as output cost map for an optical flow operation.OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NVspecifies that the image can be used as global flow vector for an optical flow operation.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV
public static final int VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NVVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsDescription
OPTICAL_FLOW_USAGE_INPUT_BIT_NVspecifies that the image can be used as input or reference frame for an optical flow operation.OPTICAL_FLOW_USAGE_OUTPUT_BIT_NVspecifies that the image can be used as output flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_HINT_BIT_NVspecifies that the image can be used as hint flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_COST_BIT_NVspecifies that the image can be used as output cost map for an optical flow operation.OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NVspecifies that the image can be used as global flow vector for an optical flow operation.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV
public static final int VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NVVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsDescription
OPTICAL_FLOW_USAGE_INPUT_BIT_NVspecifies that the image can be used as input or reference frame for an optical flow operation.OPTICAL_FLOW_USAGE_OUTPUT_BIT_NVspecifies that the image can be used as output flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_HINT_BIT_NVspecifies that the image can be used as hint flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_COST_BIT_NVspecifies that the image can be used as output cost map for an optical flow operation.OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NVspecifies that the image can be used as global flow vector for an optical flow operation.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV
public static final int VK_OPTICAL_FLOW_USAGE_HINT_BIT_NVVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsDescription
OPTICAL_FLOW_USAGE_INPUT_BIT_NVspecifies that the image can be used as input or reference frame for an optical flow operation.OPTICAL_FLOW_USAGE_OUTPUT_BIT_NVspecifies that the image can be used as output flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_HINT_BIT_NVspecifies that the image can be used as hint flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_COST_BIT_NVspecifies that the image can be used as output cost map for an optical flow operation.OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NVspecifies that the image can be used as global flow vector for an optical flow operation.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_USAGE_COST_BIT_NV
public static final int VK_OPTICAL_FLOW_USAGE_COST_BIT_NVVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsDescription
OPTICAL_FLOW_USAGE_INPUT_BIT_NVspecifies that the image can be used as input or reference frame for an optical flow operation.OPTICAL_FLOW_USAGE_OUTPUT_BIT_NVspecifies that the image can be used as output flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_HINT_BIT_NVspecifies that the image can be used as hint flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_COST_BIT_NVspecifies that the image can be used as output cost map for an optical flow operation.OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NVspecifies that the image can be used as global flow vector for an optical flow operation.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV
public static final int VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NVVkOpticalFlowUsageFlagBitsNV - Bits specifying usage for optical flow operationsDescription
OPTICAL_FLOW_USAGE_INPUT_BIT_NVspecifies that the image can be used as input or reference frame for an optical flow operation.OPTICAL_FLOW_USAGE_OUTPUT_BIT_NVspecifies that the image can be used as output flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_HINT_BIT_NVspecifies that the image can be used as hint flow vector map for an optical flow operation.OPTICAL_FLOW_USAGE_COST_BIT_NVspecifies that the image can be used as output cost map for an optical flow operation.OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NVspecifies that the image can be used as global flow vector for an optical flow operation.
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV
public static final int VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NVVkOpticalFlowPerformanceLevelNV - Optical flow performance level typesDescription
OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NVis a level with slower performance but higher quality.OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NVis a level with medium performance and medium quality.OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NVis a preset with higher performance but lower quality.
See Also
VkOpticalFlowSessionCreateInfoNVEnum values:
- See Also:
-
VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV
public static final int VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NVVkOpticalFlowPerformanceLevelNV - Optical flow performance level typesDescription
OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NVis a level with slower performance but higher quality.OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NVis a level with medium performance and medium quality.OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NVis a preset with higher performance but lower quality.
See Also
VkOpticalFlowSessionCreateInfoNVEnum values:
- See Also:
-
VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV
public static final int VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NVVkOpticalFlowPerformanceLevelNV - Optical flow performance level typesDescription
OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NVis a level with slower performance but higher quality.OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NVis a level with medium performance and medium quality.OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NVis a preset with higher performance but lower quality.
See Also
VkOpticalFlowSessionCreateInfoNVEnum values:
- See Also:
-
VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV
public static final int VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NVVkOpticalFlowPerformanceLevelNV - Optical flow performance level typesDescription
OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NVis a level with slower performance but higher quality.OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NVis a level with medium performance and medium quality.OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NVis a preset with higher performance but lower quality.
See Also
VkOpticalFlowSessionCreateInfoNVEnum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV
public static final int VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVVkOpticalFlowSessionBindingPointNV - Binding points of an optical flow sessionDescription
OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NVspecifies the binding point for the input frame.OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NVspecifies the binding point for the input reference frame.OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NVspecifies the binding point for the optional external hint flow vectors.OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NVspecifies the binding point for output flow vectors of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NVspecifies the binding point for the optional output flow vector map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NVspecifies the binding point for the optional output cost map of default forward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NVspecifies the binding point for the optional output cost map of optional backward flow calculation.OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NVspecifies the binding point for the optional global flow value of default forward flow calculation.
See Also
Enum values:
- See Also:
-
VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV
public static final int VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NVVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionDescription
OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NVspecifies that aVkImageViewwith external flow vectors will be used as hints in performing the motion search and must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV.OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NVspecifies that the cost for the forward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV. Additionally, ifOPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVis also set, the cost for backward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV. The cost is the confidence level of the flow vector for each grid in the frame. The Cost implies how (in)accurate the flow vector is. Higher cost value implies the flow vector to be less accurate and vice-versa.OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NVspecifies that a global flow vector is estimated from forward flow in a single pixelVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV.OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NVspecifies that regions of interest can be specified inVkOpticalFlowExecuteInfoNV.OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVspecifies that backward flow is generated in addition to forward flow which is always generated.
- See Also:
-
VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV
public static final int VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NVVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionDescription
OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NVspecifies that aVkImageViewwith external flow vectors will be used as hints in performing the motion search and must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV.OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NVspecifies that the cost for the forward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV. Additionally, ifOPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVis also set, the cost for backward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV. The cost is the confidence level of the flow vector for each grid in the frame. The Cost implies how (in)accurate the flow vector is. Higher cost value implies the flow vector to be less accurate and vice-versa.OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NVspecifies that a global flow vector is estimated from forward flow in a single pixelVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV.OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NVspecifies that regions of interest can be specified inVkOpticalFlowExecuteInfoNV.OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVspecifies that backward flow is generated in addition to forward flow which is always generated.
- See Also:
-
VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV
public static final int VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NVVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionDescription
OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NVspecifies that aVkImageViewwith external flow vectors will be used as hints in performing the motion search and must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV.OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NVspecifies that the cost for the forward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV. Additionally, ifOPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVis also set, the cost for backward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV. The cost is the confidence level of the flow vector for each grid in the frame. The Cost implies how (in)accurate the flow vector is. Higher cost value implies the flow vector to be less accurate and vice-versa.OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NVspecifies that a global flow vector is estimated from forward flow in a single pixelVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV.OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NVspecifies that regions of interest can be specified inVkOpticalFlowExecuteInfoNV.OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVspecifies that backward flow is generated in addition to forward flow which is always generated.
- See Also:
-
VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV
public static final int VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NVVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionDescription
OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NVspecifies that aVkImageViewwith external flow vectors will be used as hints in performing the motion search and must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV.OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NVspecifies that the cost for the forward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV. Additionally, ifOPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVis also set, the cost for backward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV. The cost is the confidence level of the flow vector for each grid in the frame. The Cost implies how (in)accurate the flow vector is. Higher cost value implies the flow vector to be less accurate and vice-versa.OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NVspecifies that a global flow vector is estimated from forward flow in a single pixelVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV.OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NVspecifies that regions of interest can be specified inVkOpticalFlowExecuteInfoNV.OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVspecifies that backward flow is generated in addition to forward flow which is always generated.
- See Also:
-
VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV
public static final int VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVVkOpticalFlowSessionCreateFlagBitsNV - Bits specifying flags for optical flow sessionDescription
OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NVspecifies that aVkImageViewwith external flow vectors will be used as hints in performing the motion search and must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV.OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NVspecifies that the cost for the forward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV. Additionally, ifOPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVis also set, the cost for backward flow is generated in aVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV. The cost is the confidence level of the flow vector for each grid in the frame. The Cost implies how (in)accurate the flow vector is. Higher cost value implies the flow vector to be less accurate and vice-versa.OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NVspecifies that a global flow vector is estimated from forward flow in a single pixelVkImageViewwhich must be bound toOPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV.OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NVspecifies that regions of interest can be specified inVkOpticalFlowExecuteInfoNV.OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NVspecifies that backward flow is generated in addition to forward flow which is always generated.
- See Also:
-
VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV
public static final int VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NVVkOpticalFlowExecuteFlagBitsNV - Bits specifying flags for an optical flow vector calculationDescription
OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NVspecifies that temporal hints from previously generated flow vectors are not used. If temporal hints are enabled, optical flow vectors from previousCmdOpticalFlowExecuteNVcall are automatically used as hints for the currentCmdOpticalFlowExecuteNVcall, to take advantage of temporal correlation in a video sequence. Temporal hints should be disabled if there is a-priori knowledge of no temporal correlation (e.g. a scene change, independent successive frame pairs).
- See Also:
-
-
Method Details
-
nvkGetPhysicalDeviceOpticalFlowImageFormatsNV
public static int nvkGetPhysicalDeviceOpticalFlowImageFormatsNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, long pOpticalFlowImageFormatInfo, long pFormatCount, long pImageFormatProperties) Unsafe version of:GetPhysicalDeviceOpticalFlowImageFormatsNV- Parameters:
pFormatCount- a pointer to an integer related to the number of optical flow properties available or queried, as described below.
-
vkGetPhysicalDeviceOpticalFlowImageFormatsNV
public static int vkGetPhysicalDeviceOpticalFlowImageFormatsNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkOpticalFlowImageFormatInfoNV pOpticalFlowImageFormatInfo, IntBuffer pFormatCount, @Nullable VkOpticalFlowImageFormatPropertiesNV.Buffer pImageFormatProperties) Query image formats for optical flow.C Specification
To enumerate the supported image formats for a specific optical flow usage, call:
VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties);Description
If
pImageFormatPropertiesisNULL, then the number of optical flow properties supported for the givenphysicalDeviceis returned inpFormatCount. Otherwise,pFormatCountmust point to a variable set by the application to the number of elements in thepImageFormatPropertiesarray, and on return the variable is overwritten with the number of values actually written topImageFormatProperties. If the value ofpFormatCountis less than the number of optical flow properties supported, at mostpFormatCountvalues will be written topImageFormatProperties, andINCOMPLETEwill be returned instead ofSUCCESS, to indicate that not all the available values were returned.Before creating an image to be used as an optical flow frame, obtain the supported image creation parameters by querying with
GetPhysicalDeviceFormatProperties2andGetPhysicalDeviceImageFormatProperties2using one of the reported formats and addingVkOpticalFlowImageFormatInfoNVto thepNextchain ofVkPhysicalDeviceImageFormatInfo2.When querying the parameters with
GetPhysicalDeviceImageFormatProperties2for images used for optical flow operations, theVkOpticalFlowImageFormatInfoNV::usagefield must contain one or more of the bits defined inVkOpticalFlowUsageFlagBitsNV.Valid Usage (Implicit)
physicalDevicemust be a validVkPhysicalDevicehandlepOpticalFlowImageFormatInfomust be a valid pointer to a validVkOpticalFlowImageFormatInfoNVstructurepFormatCountmust be a valid pointer to auint32_tvalue- If the value referenced by
pFormatCountis not 0, andpImageFormatPropertiesis notNULL,pImageFormatPropertiesmust be a valid pointer to an array ofpFormatCountVkOpticalFlowImageFormatPropertiesNVstructures
Return Codes
- On success, this command returns
- On failure, this command returns
Note
FORMAT_B8G8R8A8_UNORM,FORMAT_R8_UNORMandFORMAT_G8_B8R8_2PLANE_420_UNORMare initially supported for images with optical usageOPTICAL_FLOW_USAGE_INPUT_BIT_NV.FORMAT_R16G16_SFIXED5_NVis initially supported for images with optical flow usageOPTICAL_FLOW_USAGE_OUTPUT_BIT_NV,OPTICAL_FLOW_USAGE_HINT_BIT_NVandOPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV.FORMAT_R8_UINTandFORMAT_R32_UINTare initially supported for images with optical flow usageOPTICAL_FLOW_USAGE_COST_BIT_NV. It is recommended to useFORMAT_R8_UINTbecause of the lower bandwidth.See Also
VkOpticalFlowImageFormatInfoNV,VkOpticalFlowImageFormatPropertiesNV- Parameters:
physicalDevice- the physical device being queried.pOpticalFlowImageFormatInfo- a pointer to aVkOpticalFlowImageFormatInfoNVstructure specifying the optical flow usage for which information is returned.pFormatCount- a pointer to an integer related to the number of optical flow properties available or queried, as described below.pImageFormatProperties- a pointer to an array ofVkOpticalFlowImageFormatPropertiesNVstructures in which supported formats and image parameters are returned.
-
nvkCreateOpticalFlowSessionNV
public static int nvkCreateOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, long pCreateInfo, long pAllocator, long pSession) Unsafe version of:CreateOpticalFlowSessionNV -
vkCreateOpticalFlowSessionNV
public static int vkCreateOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, VkOpticalFlowSessionCreateInfoNV pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, LongBuffer pSession) Creates an optical flow session object.C Specification
To create an optical flow session object, call:
VkResult vkCreateOpticalFlowSessionNV( VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession);Valid Usage (Implicit)
devicemust be a validVkDevicehandlepCreateInfomust be a valid pointer to a validVkOpticalFlowSessionCreateInfoNVstructure- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure pSessionmust be a valid pointer to aVkOpticalFlowSessionNVhandle
Return Codes
- On success, this command returns
- On failure, this command returns
See Also
- Parameters:
device- the logical device that creates the optical flow session object.pCreateInfo- a pointer to aVkOpticalFlowSessionCreateInfoNVstructure containing parameters specifying the creation of the optical flow session.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.pSession- a pointer to aVkOpticalFlowSessionNVhandle specifying the optical flow session object which will be created by this function when it returnsSUCCESS
-
nvkDestroyOpticalFlowSessionNV
public static void nvkDestroyOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, long session, long pAllocator) Unsafe version of:DestroyOpticalFlowSessionNV -
vkDestroyOpticalFlowSessionNV
public static void vkDestroyOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, long session, @Nullable VkAllocationCallbacks pAllocator) Destroy optical flow session object.C Specification
To destroy an optical flow session object, call:
void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator);Valid Usage (Implicit)
devicemust be a validVkDevicehandlesessionmust be a validVkOpticalFlowSessionNVhandle- If
pAllocatoris notNULL,pAllocatormust be a valid pointer to a validVkAllocationCallbacksstructure sessionmust have been created, allocated, or retrieved fromdevice
See Also
- Parameters:
device- the device that was used for the creation of the optical flow session.session- the optical flow session to be destroyed.pAllocator- controls host memory allocation as described in the Memory Allocation chapter.
-
vkBindOpticalFlowSessionImageNV
public static int vkBindOpticalFlowSessionImageNV(org.lwjgl.vulkan.VkDevice device, long session, int bindingPoint, long view, int layout) Bind image to an optical flow session.C Specification
To bind a vulkan image to an optical flow session object, call:
VkResult vkBindOpticalFlowSessionImageNV( VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout);Valid Usage (Implicit)
devicemust be a validVkDevicehandlesessionmust be a validVkOpticalFlowSessionNVhandlebindingPointmust be a validVkOpticalFlowSessionBindingPointNVvalue- If
viewis notNULL_HANDLE,viewmust be a validVkImageViewhandle layoutmust be a validVkImageLayoutvaluesessionmust have been created, allocated, or retrieved fromdevice- If
viewis a valid handle, it must have been created, allocated, or retrieved fromdevice
Return Codes
- On success, this command returns
- On failure, this command returns
- Parameters:
device- the device which owns the optical flow session objectsession.session- the optical flow session object to which the image view is to be bound.bindingPoint- specifies the binding pointVkOpticalFlowSessionBindingPointNVto which the image view is bound.view- aVkImageViewto be bound.
-
nvkCmdOpticalFlowExecuteNV
public static void nvkCmdOpticalFlowExecuteNV(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long session, long pExecuteInfo) Unsafe version of:CmdOpticalFlowExecuteNV -
vkCmdOpticalFlowExecuteNV
public static void vkCmdOpticalFlowExecuteNV(org.lwjgl.vulkan.VkCommandBuffer commandBuffer, long session, VkOpticalFlowExecuteInfoNV pExecuteInfo) Calculate optical flow vectors.C Specification
Default direction of flow estimation is forward which calculates the optical flow from input frame to reference frame. Optionally backward flow estimation can be additionally calculated. An output flow vector (Vx, Vy) means that current pixel (x, y) of input frame can be found at location (x+Vx, y+Vy) in reference frame. A backward flow vector (Vx, Vy) means that current pixel (x, y) of reference frame can be found at location (x+Vx, y+Vy) in input frame.
To calculate optical flow vectors from two input frames, call:
void vkCmdOpticalFlowExecuteNV( VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo);Valid Usage (Implicit)
commandBuffermust be a validVkCommandBufferhandlesessionmust be a validVkOpticalFlowSessionNVhandlepExecuteInfomust be a valid pointer to a validVkOpticalFlowExecuteInfoNVstructurecommandBuffermust be in the recording state- The
VkCommandPoolthatcommandBufferwas allocated from must support optical flow operations - This command must only be called outside of a render pass instance
- This command must only be called outside of a video coding scope
- Both of
commandBuffer, andsessionmust have been created, allocated, or retrieved from the sameVkDevice
Host Synchronization
- Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized
Command Properties
Command Buffer Levels Render Pass Scope Video Coding Scope Supported Queue Types Command Type Primary Secondary Outside Outside Opticalflow Action See Also
- Parameters:
commandBuffer- the command buffer into which the command will be recorded.session- the optical flow session object on which this command is operating.pExecuteInfo- Info is a pointer to aVkOpticalFlowExecuteInfoNV.
-
vkGetPhysicalDeviceOpticalFlowImageFormatsNV
public static int vkGetPhysicalDeviceOpticalFlowImageFormatsNV(org.lwjgl.vulkan.VkPhysicalDevice physicalDevice, VkOpticalFlowImageFormatInfoNV pOpticalFlowImageFormatInfo, int[] pFormatCount, @Nullable VkOpticalFlowImageFormatPropertiesNV.Buffer pImageFormatProperties) Array version of:GetPhysicalDeviceOpticalFlowImageFormatsNV -
vkCreateOpticalFlowSessionNV
public static int vkCreateOpticalFlowSessionNV(org.lwjgl.vulkan.VkDevice device, VkOpticalFlowSessionCreateInfoNV pCreateInfo, @Nullable VkAllocationCallbacks pAllocator, long[] pSession) Array version of:CreateOpticalFlowSessionNV
-