hi_mpi_venc_send_jpege_frame
Applicability
|
Product |
Supported |
|---|---|
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
☓ |
Description
Sends source images for encoding and configures the output buffer address of the encoding result.
Prototype
hi_s32 hi_mpi_venc_send_jpege_frame (hi_venc_chn chn, const hi_video_frame_info *frame, const hi_img_stream* jpege_stream, hi_s32 milli_sec)
Parameters
|
Parameter |
Input/Output |
Description |
|---|---|---|
|
chn |
Input |
Encoding channel ID. |
|
frame |
Input |
Pointer to the source image information. |
|
jpege_stream |
Input |
Output buffer address and length of the encoding result. The start address of the output buffer must be 16-byte aligned. You can call hi_mpi_venc_get_jpege_predicted_size to obtain the buffer size, and then call hi_mpi_dvpp_malloc to allocate the output buffer. |
|
milli_sec |
Input |
Timeout interval (ms).
|
Returns
- 0: success
- Other values: failure. For details, see VENC/JPEGE Return Codes.
Restrictions
- This API is valid only when hi_venc_chn_attr.venc_attr.buf_size is set to 0 during channel creation using hi_mpi_venc_create_chn. Calling this API in other cases returns the error code HI_ERR_VENC_NOT_SUPPORT.
- The JPEGE input image size cannot exceed that of an encoding channel.
- Ensure that an encoding channel has been created and started receiving images.
- During encoding, the input and output buffers can be freed only after the result is obtained by calling hi_mpi_venc_get_stream.
- For details about the input and output restrictions on image encoding, see JPEGE Functions and Restrictions.