Pillow Resize

group 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, kNCHW, kCHW] Channels: [1, 2, 3, 4] for interleaved (kNHWC, kHWC); [1, 3, 4] for planar (kNCHW, kCHW) (2-channel planar is not supported)

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

Yes

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

Yes

16bit Float

No

32bit Float

Yes

64bit Float

No

Output: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Channels: [1, 2, 3, 4] for interleaved (kNHWC, kHWC); [1, 3, 4] for planar (kNCHW, kCHW) (2-channel planar is not supported)

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

Yes

16bit Unsigned

Yes

16bit Signed

Yes

32bit Unsigned

No

32bit Signed

Yes

16bit Float

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

  • inputSizesWH[in] The sizes of the input images.

    • Must not be NULL.

    • Must contain at least batchSize elements.

  • outputSizesWH[in] The sizes of the output images.

    • Must not be NULL.

    • Must contain at least batchSize elements.

  • fmt[in] Image format

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

    • Must not be NULL.

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

  • NVCV_SUCCESS – Operation executed successfully.