How do I custom vx_image type?

I need use vx_image to store a float4f. The extension of Visionworks has NVX_DF_IMAGE_2F32, NVX_DF_IMAGE_F32. Why there is no NVX_DF_IMAGE_4F32 or NVX_DF_IMAGE_3F32? For example, opengl uses 4 channel normalized RGBA to represent color. Another example is cl_image, https://www.khronos.org/registry/OpenCL/sdk/2.0/docs/man/xhtml/cl_image_format.html

Hi,

NVX_ is our extension.
You can find more image format in the VX_ basic primitive:
[i]> VisionWorks API

Khronos OpenVX 1.1 API
OpenVX API Modules
Basic Features
vx_df_image_e[/i]

VX_DF_IMAGE_VIRT| A virtual image of no defined type.
VX_DF_IMAGE_RGB | A single plane of 24-bit pixel as 3 interleaved 8-bit units of R then G then B data. This uses the BT709 full range by default.
VX_DF_IMAGE_RGBX| A single plane of 32-bit pixel as 4 interleaved 8-bit units of R then G then B data, then a don't care byte. This uses the BT709 full range by default.
VX_DF_IMAGE_NV12| A 2-plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. This uses the BT709 full range by default.
VX_DF_IMAGE_NV21| A 2-plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. This uses the BT709 full range by default.
VX_DF_IMAGE_UYVY| A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 bytes. This uses the BT709 full range by default.
VX_DF_IMAGE_YUYV| A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. This uses the BT709 full range by default.
VX_DF_IMAGE_IYUV| A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. This uses the BT709 full range by default.
VX_DF_IMAGE_YUV4| A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. This uses the BT709 full range by default.
VX_DF_IMAGE_U8  | A single plane of unsigned 8-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.
VX_DF_IMAGE_U16 | A single plane of unsigned 16-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.
VX_DF_IMAGE_S16 | A single plane of signed 16-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.
VX_DF_IMAGE_U32 | A single plane of unsigned 32-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.
VX_DF_IMAGE_S32 | A single plane of unsigned 32-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.

Please also noticed that our implementation is based on OpenVX-1.1 rather than 2.0
Thanks.

Thank you for the reply. But there is no float4 container vx_image container in the extension. Is there a reason why? float4 and float3 are very common types.

Check this topic for the further answer:
https://devtalk.nvidia.com/default/topic/1043574/jetson-tx2/how-do-i-allocate-a-4-channel-floats-container-float4-for-vx_image