venc_send_jpeg_frame
Applicability
|
Product |
Supported (√/x) |
|---|---|
|
|
√ |
|
|
√ |
|
|
x |
|
|
√ |
|
|
√ |
Function Usage
Sends source images for encoding and configures the output buffer address of the encoding result.
Prototype
- C Prototype
1hi_s32 hi_mpi_venc_send_jpeg_frame(hi_venc_chn chn, const hi_video_frame_info *frame, const hi_img_stream *jpege_stream, hi_s32 milli_sec)
- Python Function
1ret = acl.himpi.venc_send_jpege_frame(chn, frame, jpege_stream, milli_sec)
Parameter Description
|
Parameter |
Description |
|---|---|
|
chn |
Int, decoding channel ID.
|
|
frame |
Dict, dictionary of original image information. For details, see hi_video_frame_info. |
|
jpege_stream |
Dict, which specifies the output memory address and length of the encoding result. For details, see hi_img_stream. The start address of the output buffer must be 16-byte aligned. You can call acl.himpi.venc_get_jpege_predicted_size to obtain the buffer size, and then call acl.himpi.dvpp_malloc to allocate the output buffer. |
|
milli_sec |
Int, timeout interval, in milliseconds.
|
Return Value Description
|
Return Value |
Description |
|---|---|
|
ret |
Int, error code.
|
Restrictions
- This API is valid only when hi_venc_chn_attr.get("venc_attr")["buf_size"] is set to 0 during the call to venc_create_chn to create a channel. Otherwise, the error code HI_ERR_VENC_NOT_SUPPORT is returned.
- The JPEGE input image size must be less than or equal to the size 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 acl.himpi.venc_get_stream is called to obtain the result.
- For details about the input and output restrictions on image encoding, see JPEGE Functions and Restrictions.