Functions and Restrictions
Function Description
PNG Decoder (PNGD) decodes PNG images using hardware.
PNGD supports retaining the source image format during image decoding. To achieve this function, set the output image format to PIXEL_FORMAT_UNKNOWN in the PNGD API call.
The image encoding formats before and after decoding remain consistent. For example, if the source format is RGB, the destination format is RGB888.
Resolution Restrictions
Restrictions on Image Formats, Width and Height Alignment, and Buffers
During image decoding, acl.media.dvpp_malloc and acl.media.dvpp_free are called to allocate and free the input and output buffers on the device. The buffer lifetime is managed by the user.
- The size of the input buffer is the size of space occupied by the input image.
- The output buffer size can be predicted by calling acl.media.dvpp_png_predict_dec_size.
For details about the definition of the output image format, see acldvppPixelFormat. For details about the concepts such as width stride and height stride, see Terminology.
Input Format |
Output Format |
Output Width and Height |
Output Width Stride, Height Stride, and Buffer Size |
|---|---|---|---|
RGB |
RGB888 |
No alignment requirement. |
Width stride: Round up the width to the nearest multiple of 128 and multiply the result by 3. Height stride: Round up the height to the nearest multiple of 16. The output buffer size can be predicted by calling acl.media.dvpp_png_predict_dec_size. |
GRAY |
RGB888 |
No alignment requirement. |
Width stride: Round up the width to the nearest multiple of 128 and multiply the result by 3. Height stride: Round up the height to the nearest multiple of 16. The output buffer size can be predicted by calling acl.media.dvpp_png_predict_dec_size. |
RGBA |
RGB888 |
No alignment requirement. |
Width stride: Round up the width to the nearest multiple of 128 and multiply the result by 3. Height stride: Round up the height to the nearest multiple of 16. The output buffer size can be predicted by calling acl.media.dvpp_png_predict_dec_size. |
RGBA8888 8bit |
No alignment requirement. |
Width stride: Round up the width to the nearest multiple of 128 and multiply the result by 4. Height stride: Round up the height to the nearest multiple of 16. The output buffer size can be predicted by calling acl.media.dvpp_png_predict_dec_size. |
|
AGRAY |
RGB888 |
No alignment requirement. |
Width stride: Round up the width to the nearest multiple of 128 and multiply the result by 3. Height stride: Round up the height to the nearest multiple of 16. The output buffer size can be predicted by calling acl.media.dvpp_png_predict_dec_size. |
RGBA8888 8bit |
No alignment requirement. |
Width stride: Round up the width to the nearest multiple of 128 and multiply the result by 4. Height stride: Round up the height to the nearest multiple of 16. The output buffer size can be predicted by calling acl.media.dvpp_png_predict_dec_size. |