RPP data exchange operations#

RppStatus rppt_copy(RppPtr_t srcPtr, RpptDescPtr srcDescPtr, RppPtr_t dstPtr, RpptDescPtr dstDescPtr, rppHandle_t rppHandle, RppBackend executionBackend)#

Copy operation on HIP/HOST backend for a NCHW/NHWC layout tensor.

The copy operation runs a buffer copy for a batch of RGB(3 channel) / greyscale(1 channel) images with an NHWC/NCHW tensor layout.

  • srcPtr depth ranges - Rpp8u (0 to 255), Rpp16f (0 to 1), Rpp32f (0 to 1), Rpp8s (-128 to 127).

  • dstPtr depth ranges - Will be same depth as srcPtr.

    Sample Input

    Sample Input#

    Sample Output

    Sample Output#

Parameters:
  • srcPtr – [in] source tensor in HIP memory (for HIP backend) or HOST memory (for HOST backend)

  • srcDescPtr – [in] source tensor descriptor (Restrictions - numDims = 4, offsetInBytes >= 0, dataType = U8/F16/F32/I8, layout = NCHW/NHWC, c = 1/3)

  • dstPtr – [out] destination tensor in HIP memory (for HIP backend) or HOST memory (for HOST backend)

  • dstDescPtr – [in] destination tensor descriptor (Restrictions - numDims = 4, offsetInBytes >= 0, dataType = U8/F16/F32/I8, layout = NCHW/NHWC, c = same as that of srcDescPtr)

  • rppHandle – [in] RPP HIP/HOST handle created with rppCreate()

  • executionBackend – [in] backend for execution (RppBackend::RPP_HOST_BACKEND or RppBackend::RPP_HIP_BACKEND)

Return values:
  • RPP_SUCCESS – Successful completion.

  • RPP_ERROR* – Unsuccessful completion.

Returns:

A RppStatus enumeration.

RppStatus rppt_channel_permute(RppPtr_t srcPtr, RpptDescPtr srcDescPtr, RppPtr_t dstPtr, RpptDescPtr dstDescPtr, Rpp32u *permutationTensor, rppHandle_t rppHandle, RppBackend executionBackend)#

Channel permute operation on HIP/HOST backend for a NCHW/NHWC layout tensor.

This function performs one of six possible channel permutations (R-G-B, R-B-G, G-R-B, G-B-R, B-R-G, B-G-R) for an image in a batch of RGB(3 channel) images with an NHWC/NCHW tensor layout.

  • srcPtr depth ranges - Rpp8u (0 to 255), Rpp16f (0 to 1), Rpp32f (0 to 1), Rpp8s (-128 to 127).

  • dstPtr depth ranges - Will be same depth as srcPtr.

    Sample Input

    Sample Input#

    Sample Output

    Sample Output#

Parameters:
  • srcPtr – [in] source tensor in HIP memory (for HIP backend) or HOST memory (for HOST backend)

  • srcDescPtr – [in] source tensor descriptor (Restrictions - numDims = 4, offsetInBytes >= 0, dataType = U8/F16/F32/I8, layout = NCHW/NHWC, c = 3)

  • dstPtr – [out] destination tensor in HIP memory (for HIP backend) or HOST memory (for HOST backend)

  • dstDescPtr – [in] destination tensor descriptor (Restrictions - numDims = 4, offsetInBytes >= 0, dataType = U8/F16/F32/I8, layout = NCHW/NHWC, c = same as that of srcDescPtr)

  • permutationTensor – [in] A tensor in HIP memory (for HIP backend) or HOST memory (for HOST backend) specifying the channel permutation for each image. Size: 3 × srcDescPtr->n. Each value must satisfy: 0 ≤ permutationTensor[i] ≤ 2.

  • rppHandle – [in] RPP HIP/HOST handle created with rppCreate()

  • executionBackend – [in] backend for execution (RppBackend::RPP_HOST_BACKEND or RppBackend::RPP_HIP_BACKEND)

Return values:
  • RPP_SUCCESS – Successful completion.

  • RPP_ERROR* – Unsuccessful completion.

Returns:

A RppStatus enumeration.

RppStatus rppt_color_to_greyscale(RppPtr_t srcPtr, RpptDescPtr srcDescPtr, RppPtr_t dstPtr, RpptDescPtr dstDescPtr, RpptSubpixelLayout srcSubpixelLayout, rppHandle_t rppHandle, RppBackend executionBackend)#

Color to greyscale operation on HIP/HOST backend for a NCHW/NHWC layout tensor.

The color to greyscale operation runs for a batch of RGB(3 channel) images with an NHWC/NCHW tensor layout.

  • srcPtr depth ranges - Rpp8u (0 to 255), Rpp16f (0 to 1), Rpp32f (0 to 1), Rpp8s (-128 to 127).

  • dstPtr depth ranges - Will be same depth as srcPtr.

    Sample Input

    Sample Input#

    Sample Output

    Sample Output#

Parameters:
  • srcPtr – [in] source tensor in HIP memory (for HIP backend) or HOST memory (for HOST backend)

  • srcDescPtr – [in] source tensor descriptor (Restrictions - numDims = 4, offsetInBytes >= 0, dataType = U8/F16/F32/I8, layout = NCHW/NHWC, c = 3)

  • dstPtr – [out] destination tensor in HIP memory (for HIP backend) or HOST memory (for HOST backend)

  • dstDescPtr – [in] destination tensor descriptor (Restrictions - numDims = 4, offsetInBytes >= 0, dataType = U8/F16/F32/I8, layout = NCHW/NHWC, c = same as that of srcDescPtr)

  • srcSubpixelLayout – [in] A RpptSubpixelLayout type enum to specify source subpixel layout (RGBtype or BGRtype)

  • rppHandle – [in] RPP HIP/HOST handle created with rppCreate()

  • executionBackend – [in] backend for execution (RppBackend::RPP_HOST_BACKEND or RppBackend::RPP_HIP_BACKEND)

Return values:
  • RPP_SUCCESS – Successful completion.

  • RPP_ERROR* – Unsuccessful completion.

Returns:

A RppStatus enumeration.

RppStatus rppt_yuv_to_rgb(RppPtr_t srcYPtr, RppPtr_t srcUVPtr, RpptDescPtr srcDescPtr, RppPtr_t dstPtr, RpptDescPtr dstDescPtr, Rpp32u src_y_pitch, Rpp32u src_uv_pitch, Rpp32u dst_pitch, Rpp32u width, Rpp32u height, RpptColorStandard col_standard, RpptColorRange color_range, rppHandle_t rppHandle, RppBackend executionBackend)#

YUV to RGB color conversion on HIP backend (NV12 8-bit only)

Converts semi-planar NV12 (separate Y and interleaved UV planes) to packed RGB24.

  • Source: srcYPtr = luma plane, srcUVPtr = interleaved UV

  • src_y_pitch / src_uv_pitch: row strides in bytes

  • Destination: packed RGB at dstPtr (RGB24, Rpp8u) with row stride dst_pitch bytes.

  • Supported execution backend: RppBackend::RPP_HIP_BACKEND only.

Parameters:
  • srcYPtr – [in] pointer to Y plane in HIP memory

  • srcUVPtr – [in] pointer to interleaved UV plane in HIP memory

  • srcDescPtr – [in] source tensor descriptor (dataType must be U8)

  • dstPtr – [out] pointer to RGB output buffer in HIP memory

  • dstDescPtr – [in] destination tensor descriptor (dataType must be U8)

  • src_y_pitch – [in] row pitch of Y plane in bytes

  • src_uv_pitch – [in] row pitch of UV plane in bytes

  • dst_pitch – [in] row pitch of RGB output in bytes

  • width – [in] image width in pixels

  • height – [in] image height in pixels

  • col_standard – [in] Luma/matrix family: RpptColorStandard (unknown values use BT.709).

  • color_range – [in] Luma range: RpptColorRange_STUDIO or RpptColorRange_FULL (other values behave like studio).

  • rppHandle – [in] RPP HIP handle created with rppCreate()

  • executionBackend – [in] must be RppBackend::RPP_HIP_BACKEND

Return values:
  • RPP_SUCCESS – Successful completion.

  • RPP_ERROR* – Unsuccessful completion (e.g. RPP_ERROR_INCOMPATIBLE_BACKEND if executionBackend is not HIP).

Returns:

A RppStatus enumeration.

RppStatus rppt_yuv_to_rgb_cubic_v(RppPtr_t srcYPtr, RppPtr_t srcUVPtr, RpptDescPtr srcDescPtr, RppPtr_t dstPtr, RpptDescPtr dstDescPtr, Rpp32u src_y_pitch, Rpp32u src_uv_pitch, Rpp32u dst_pitch, Rpp32u width, Rpp32u height, RpptColorStandard col_standard, RpptColorRange color_range, rppHandle_t rppHandle, RppBackend executionBackend)#

YUV to RGB color conversion with cubic vertical chroma upsampling on HIP backend (NV12 8-bit only)

Converts semi-planar NV12 (separate Y and interleaved UV planes) to packed RGB24, using Mitchell-Netravali cubic interpolation (B=0, C=0.6) to vertically upsample chroma. Odd luma rows pass through chroma unchanged (identity); even luma rows use a symmetric 4-tap filter. Horizontal chroma upsampling remains nearest-neighbor.

  • Source: srcYPtr = luma plane, srcUVPtr = interleaved UV

  • src_y_pitch / src_uv_pitch: row strides in bytes

  • Destination: packed RGB at dstPtr (RGB24, Rpp8u) with row stride dst_pitch bytes.

  • Supported execution backend: RppBackend::RPP_HIP_BACKEND only.

Parameters:
  • srcYPtr – [in] pointer to Y plane in HIP memory

  • srcUVPtr – [in] pointer to interleaved UV plane in HIP memory

  • srcDescPtr – [in] source tensor descriptor (dataType must be U8)

  • dstPtr – [out] pointer to RGB output buffer in HIP memory

  • dstDescPtr – [in] destination tensor descriptor (dataType must be U8)

  • src_y_pitch – [in] row pitch of Y plane in bytes

  • src_uv_pitch – [in] row pitch of UV plane in bytes

  • dst_pitch – [in] row pitch of RGB output in bytes

  • width – [in] image width in pixels

  • height – [in] image height in pixels

  • col_standard – [in] Luma/matrix family: RpptColorStandard (unknown values use BT.709).

  • color_range – [in] Luma range: RpptColorRange_STUDIO or RpptColorRange_FULL (other values behave like studio).

  • rppHandle – [in] RPP HIP handle created with rppCreate()

  • executionBackend – [in] must be RppBackend::RPP_HIP_BACKEND

Return values:
  • RPP_SUCCESS – Successful completion.

  • RPP_ERROR* – Unsuccessful completion (e.g. RPP_ERROR_INCOMPATIBLE_BACKEND if executionBackend is not HIP).

Returns:

A RppStatus enumeration.

RppStatus rppt_yuv_to_rgb_linear_v(RppPtr_t srcYPtr, RppPtr_t srcUVPtr, RpptDescPtr srcDescPtr, RppPtr_t dstPtr, RpptDescPtr dstDescPtr, Rpp32u src_y_pitch, Rpp32u src_uv_pitch, Rpp32u dst_pitch, Rpp32u width, Rpp32u height, RpptColorStandard col_standard, RpptColorRange color_range, rppHandle_t rppHandle, RppBackend executionBackend)#

YUV to RGB color conversion with linear vertical chroma upsampling on HIP backend (NV12 8-bit only)

Converts semi-planar NV12 (separate Y and interleaved UV planes) to packed RGB24, using linear interpolation to vertically upsample chroma. Odd luma rows pass through chroma unchanged (identity); even luma rows average the two nearest chroma rows (frac=0.5). Horizontal chroma upsampling remains nearest-neighbor.

  • Source: srcYPtr = luma plane, srcUVPtr = interleaved UV

  • src_y_pitch / src_uv_pitch: row strides in bytes

  • Destination: packed RGB at dstPtr (RGB24, Rpp8u) with row stride dst_pitch bytes.

  • Supported execution backend: RppBackend::RPP_HIP_BACKEND only.

Parameters:
  • srcYPtr – [in] pointer to Y plane in HIP memory

  • srcUVPtr – [in] pointer to interleaved UV plane in HIP memory

  • srcDescPtr – [in] source tensor descriptor (dataType must be U8)

  • dstPtr – [out] pointer to RGB output buffer in HIP memory

  • dstDescPtr – [in] destination tensor descriptor (dataType must be U8)

  • src_y_pitch – [in] row pitch of Y plane in bytes

  • src_uv_pitch – [in] row pitch of UV plane in bytes

  • dst_pitch – [in] row pitch of RGB output in bytes

  • width – [in] image width in pixels

  • height – [in] image height in pixels

  • col_standard – [in] Luma/matrix family: RpptColorStandard (unknown values use BT.709).

  • color_range – [in] Luma range: RpptColorRange_STUDIO or RpptColorRange_FULL (other values behave like studio).

  • rppHandle – [in] RPP HIP handle created with rppCreate()

  • executionBackend – [in] must be RppBackend::RPP_HIP_BACKEND

Return values:
  • RPP_SUCCESS – Successful completion.

  • RPP_ERROR* – Unsuccessful completion (e.g. RPP_ERROR_INCOMPATIBLE_BACKEND if executionBackend is not HIP).

Returns:

A RppStatus enumeration.