acldvppEncodeJpeg
Applicability
|
Product |
Supported |
|---|---|
|
|
√ |
|
|
√ |
|
|
x |
|
|
x |
|
|
x |
Function Usage
Description: encodes a single-channel (GRAY) or three-channel (RGB) image into a JPEG image.
Prototype
Each operator has two-phase API calls. First, acldvppEncodeJpegGetWorkspaceSize is called to calculate the required workspace size based on the computation process. Then, acldvppEncodeJpeg is called to perform computation. The two-phase APIs are as follows:
- First-phase API:
1acldvppStatus acldvppEncodeJpegGetWorkspaceSize(const aclTensor* self, uint32_t quality, aclTensor* out, uint64_t* workspaceSize, aclOpExecutor** executor)
- Second-phase API:
1acldvppStatus acldvppEncodeJpeg(void* workspace, uint64_t workspaceSize, aclOpExecutor* executor, aclrtStream stream)
acldvppEncodeJpegGetWorkspaceSize
- Parameters:
- self: input tensor of the operator, which is of the aclTensor type created by calling aclCreateTensor (the tensor data is stored on the device). The value of dataType of the input tensor can be UINT8, the value of Format can be NCHW or NHWC, and non-contiguous tensors are not supported. The value of N can be 1 or left empty, and the value of C can be 1 or 3 (1: input GRAY image; 3: input RGB image).
- quality: encoding quality. The value range is [1, 100]. A smaller value indicates poorer image quality, but a smaller image data volume and less memory usage. A larger value indicates higher image quality, but a larger image data volume and more memory usage.
- out: output tensor of the operator, which is of the aclTensor type created by calling aclCreateTensor (the tensor data is stored on the device). The value of dataType of the output tensor can be UINT8, the value of Format can be ND, and non-contiguous tensors are not supported.
- workspaceSize: size of the workspace to be allocated on the device.
- executor: operator executor, containing the operator computation process.
- Returns:
acldvppStatus status code. For details, see acldvpp Return Codes.
acldvppEncodeJpeg
- Parameters:
- workspace: address of the device memory allocated by calling aclrtMalloc. The size of the device memory is specified by workspaceSize.
- workspaceSize: The value must be the same as that obtained by calling acldvppEncodeJpegGetWorkspaceSize.
- executor: op executor, which contains the operator computation process and is the same as the executor of the acldvppEncodeJpegGetWorkspaceSize API.
- stream: stream for executing a task, which can be a created stream for saving resources or newly created by the aclrtCreateStream API call.
- Returns:
acldvppStatus status code. For details, see acldvpp Return Codes.
Constraints
JPEG images with the resolution ranging from 32 x 32 to 8192 x 8192 can be encoded.
The width and height of the original picture must be 2-pixel aligned.