Pillow Resize

group NVCV_C_ALGORITHM_PILLOW_RESIZE

Unnamed Group

NVCVStatus cvcudaPillowResizeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, const NVCVWorkspace *workspace, NVCVTensorHandle in, NVCVTensorHandle out, NVCVInterpolationType interpolation)

Executes the pillow resize operation on the given cuda stream. This operation does not wait for completion.

Limitations:

Input: Data Layout: [kNHWC, kHWC] Channels: [1, 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

Output: Data Layout: [kNHWC, kHWC] Channels: [1, 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

Parameters:
  • handle[in] Handle to the operator.

    • Must not be NULL.

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

  • in[in] input tensor / image batch.

  • out[out] output tensor / image batch.

  • interpolation[in] Interpolation method to be used, see NVCVInterpolationType for more details.

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 cvcudaPillowResizeVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, const NVCVWorkspace *workspace, NVCVImageBatchHandle in, NVCVImageBatchHandle out, NVCVInterpolationType interpolation)

Functions

NVCVStatus cvcudaPillowResizeCreate(NVCVOperatorHandle *handle)

Constructs and an instance of the pillow resize operator.

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

    • Must not be NULL.

  • fmt[in] Image format

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 cvcudaPillowResizeGetWorkspaceRequirements(NVCVOperatorHandle handle, int maxBatchSize, int32_t maxInWidth, int32_t maxInHeight, int32_t maxOutWidth, int32_t maxOutHeight, NVCVImageFormat fmt, NVCVWorkspaceRequirements *reqOut)

Calculates the upper bounds of buffer sizes required to run the operator

Parameters:
  • handle[in] Where the image instance handle will be written to.

    • Must not be NULL.

  • maxBatchSize[in] Maximum batchsize used in this operator.

  • maxWidth[in] Maximum input and output image width.

  • maxHeight[in] Maximum input and output image height.

  • fmt[in] Image format

  • reqOut[out] Requirements for the operator’s workspace

Return values:
  • NVCV_ERROR_INVALID_ARGUMENT – Handle is null or one of the arguments is out of range.

  • NVCV_SUCCESS – Operation executed successfully.

NVCVStatus cvcudaPillowResizeVarShapeGetWorkspaceRequirements(NVCVOperatorHandle handle, int batchSize, const NVCVSize2D *inputSizesWH, const NVCVSize2D *outputSizesWH, NVCVImageFormat fmt, NVCVWorkspaceRequirements *reqOut)

Calculates the buffer sizes required to run the operator

Parameters:
  • handle[in] Where the image instance handle will be written to.

    • Must not be NULL.

  • batchSize[in] The number of images

  • inputSizes[in] The sizes of the input images

  • outputSizes[in] The sizes of the output images

  • fmt[in] Image format

  • reqOut[out] Requirements for the operator’s workspace

Return values:
  • NVCV_ERROR_INVALID_ARGUMENT – Handle is null or one of the arguments is out of range.

  • NVCV_SUCCESS – Operation executed successfully.