Auto Contrast

group Auto Contrast

Functions

NVCVStatus cvcudaAutoContrastCreate(NVCVOperatorHandle *handle)

Constructs an instance of the AutoContrast operator.

Parameters:

handle[out] Where the operator 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 cvcudaAutoContrastSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVTensorHandle in, NVCVTensorHandle out)

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

Limitations:

CUDA stream capture is not supported.

Input: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Number: At most 65535 samples Channels: [1, 3, 4] Element Type: Scalar; channels are represented by the C dimension Pixel Strides: Width and channel dimensions must be packed; rows and samples may be padded Addressing: Dynamic byte strides and the maximum byte offset must fit signed 32-bit Width: At most 2147483647 pixels Height: At most 262140 pixels

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

No

32bit Unsigned

No

32bit Signed

No

32bit Float

Yes

64bit Float

No

Output: Data Layout: [kNHWC, kHWC, kNCHW, kCHW] Channels: [1, 3, 4] Addressing: Dynamic byte strides and the maximum byte offset must fit signed 32-bit

Data Type

Allowed

8bit Unsigned

Yes

8bit Signed

No

16bit Unsigned

Yes

16bit Signed

No

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         | Yes
 Height        | Yes

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.

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

  • NVCV_ERROR_INVALID_OPERATION – The CUDA stream is being captured.

  • NVCV_ERROR_OVERFLOW – A dynamic stride or maximum byte offset exceeds signed 32-bit addressing.

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

  • NVCV_SUCCESS – Operation executed successfully.

NVCVStatus cvcudaAutoContrastVarShapeSubmit(NVCVOperatorHandle handle, cudaStream_t stream, NVCVImageBatchHandle in, NVCVImageBatchHandle out)

Executes the AutoContrast operation on a batch of variable-shaped images on the given cuda stream. Same data type, channel, and maximum-height (262140 pixels) limitations as cvcudaAutoContrastSubmit. A batch may contain at most 65535 images. Images must be either single-plane packed or full-resolution planar with one scalar plane per channel. Chroma-subsampled, semi-planar, macro-pixel, and extra-channel formats are not supported. Each image plane’s maximum byte offset must fit signed 32-bit addressing. CUDA stream capture is not supported.

Parameters:
  • handle[in] Handle to the operator. Must not be NULL.

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

  • in[in] input image batch.

  • out[out] output image batch.

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

  • NVCV_ERROR_INVALID_OPERATION – The CUDA stream is being captured.

  • NVCV_ERROR_OVERFLOW – An image-plane maximum byte offset exceeds signed 32-bit addressing.

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

  • NVCV_SUCCESS – Operation executed successfully.