Copy Make Border

group NVCV_C_ALGORITHM_COPYMAKEBORDER

Functions

NVCVStatus cvcudaCopyMakeBorderCreate(NVCVOperatorHandle *handle)

Constructs an instance of the copy make border.

Parameters

handle[out] Where the image instance handle will be written to.

  • Must not be NULL.

Return values
  • NVCV_ERROR_INVALID_ARGUMENT – Handle is null.

  • NVCV_ERROR_OUT_OF_MEMORY – Not enough memory to create the operator.

  • NVCV_SUCCESS – Operation executed successfully.

NVCVStatus cvcudaCopyMakeBorderSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle in, NVCVTensorHandle out, int32_t top, int32_t left, NVCVBorderType borderMode, const float4 borderValue)

Executes the copy make border operation on the given cuda stream. This operation does not wait for completion. Copy make border stack will execute the copy make border operation but will output to a fixed size tensor.

Limitations:

Input: Data Layout: [kNHWC, kHWC] Channels: [1, 2, 3, 4]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

No

32bit Float

Yes

64bit Float

No

Note: 2 channels can only support 8bit Unsigned data type.

Output: Data Layout: [kNHWC, kHWC] Channels: [1, 2, 3, 4]

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

No

32bit Float

Yes

64bit Float

No

Input/Output dependency

 Property      |  Input == Output
-------------- | -------------
 Data Layout   | Yes
 Data Type     | Yes
 Number        | Yes
 Channels      | Yes
 Width         | No
 Height        | No
Top/left Tensors
Must be kNHWC where N=H=C=1 with W = N (N in reference to input and output tensors).
Data Type must be 32bit Signed.

Parameters
  • handle[in] Handle to the operator.

    • Must not be NULL.

  • stream[in] Handle to a valid CUDA stream.

  • in[in] Input tensor.

  • out[out] Output tensor.

  • top[in] The top pixels

  • left[in] The left pixels.

  • borderMode[in] Border mode to be used when accessing elements outside input image, cf. NVCVBorderType.

  • borderValue[in] Border value to be used for constant border mode NVCV_BORDER_CONSTANT.

Return values
  • NVCV_ERROR_INVALID_ARGUMENT – Some parameter is outside valid range.

  • NVCV_ERROR_INTERNAL – Internal error in the operator, invalid types passed in.

  • NVCV_SUCCESS – Operation executed successfully.

NVCVStatus cvcudaCopyMakeBorderVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVImageBatchHandle out, NVCVTensorHandle top, NVCVTensorHandle left, NVCVBorderType borderMode, const float4 borderValue)
NVCVStatus cvcudaCopyMakeBorderVarShapeStackSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVTensorHandle out, NVCVTensorHandle top, NVCVTensorHandle left, NVCVBorderType borderMode, const float4 borderValue)