acl.himpi.venc_get_h264_vui
acl.himpi.venc_get_jpege_predicted_size
| c函数原型 | hi_s32 hi_mpi_venc_get_jpege_predicted_size(const hi_video_frame_info *frame, const hi_venc_jpeg_param *jpeg_param, hi_u32 *size) |
|---|---|
| Python函数 | size, ret = acl.himpi.venc_get_jpege_predicted_size(frame, jpeg_param) |
| 函数功能 | 预估JPEGE编码一帧图片所需的输出缓冲区大小。 |
| 输入说明 | frame(hi_video_frame_info):int,原始图像信息字典。 jpeg_param(hi_venc_jpeg_param):JPEG协议编码通道的高级参数集合字典,预留参数。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 size:输出缓冲区大小,单位为Byte。 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_get_cu_pred
| c函数原型 | hi_s32 **hi_mpi_venc_get_cu_pred(**hi_venc_chn chn, hi_venc_cu_prediction *cu_pred) |
|---|---|
| Python函数 | cu_pred, ret = acl.himpi.venc_get_cu_pred(chn) |
| 函数功能 | 获取通道CU/MB的模式选择的倾向性设置。 |
| 输入说明 | chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 |
| 返回值说明 | cu_pred:dict,CU模式选择的倾向性字典。具体参见hi_venc_cu_prediction。 ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口用于获取CU模式选择的倾向性配置。 - 本接口在编码通道创建之后,编码通道销毁之前调用。 - 仅H.265/H.264编码通道支持。 |
| 参考资源 | 无 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_set_cu_pred
| c函数原型 | hi_s32 **hi_mpi_venc_set_cu_pred(**hi_venc_chn chn, const hi_venc_cu_prediction *cu_pred) |
|---|---|
| Python函数 | ret = acl.himpi.venc_set_cu_pred(chn, cu_pred) |
| 函数功能 | 本接口用于调节通道CU/MB的模式选择的倾向性,支持调节帧间预测(Inter)和帧内预测(Intra)的倾向性配置以及编码块大小的倾向性配置。 编码协议以像素块作为基本处理单元,H.265/H.264中分别称为CU(Coding Unit)/MB(MacroBlock)。本接口中的CU模式指Inter/Intra预测模式中对不同尺寸像素块的选择。 |
| 输入说明 | - chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 - cu_pred:CU模式选择的倾向性参数字典。具体参见hi_venc_cu_prediction。 该字典内需包含以下参数: - pred_mode:倾向性选择模式,支持auto和manual两种模式。auto模式下由驱动内部完成倾向性配置,即用户的配置参数不生效;manual模式允许用户根据实际场景完成自定义的倾向性配置。 - intra32_cost/intra16_cost/intra8_cost/intra4_cost/inter64_cost/inter32_cost/inter16_cost/inter8_cost分别设置各自模式的倾向性大小。默认每个cost值为8,即不做倾向性配置。每个模式的cost设置越大意味着选择该模式的倾向性越小。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 仅H.265/H.264编码通道支持。 - 建议用户在创建通道之后,启动编码之前调用本接口,减少编码过程中调用本接口的次数。若在编码过程中调用本接口,则下一帧编码时配置生效。 - 建议用户在调用此接口之前先调用acl.himpi.venc_get_cu_pred接口,获取CU模式选择的倾向性配置,然后再进行设置。 - 注意某些场景下特定模式不使能(例如,H.264中最大MB尺寸为16*16,且baseline和main profile下inter16_cost不使能,high profile下inter8_cost不使能),即使用户设置了这些特定模式的倾向性参数也不生效。 |
| 参考资源 | 无 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_get_h264_vui
| c函数原型 | hi_s32 **hi_mpi_venc_get_h264_vui(**hi_venc_chn chn, hi_venc_h264_vui *h264_vui) |
|---|---|
| Python函数 | h264_vui**, ret = acl.himpi.venc_get_h264_vui(chn)** |
| 函数功能 | 获取H.264协议编码通道的Vui配置。 |
| 输入说明 | chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 |
| 返回值说明 | h264_vui:dict,H.264协议编码通道的Vui属性。具体请参见hi_venc_h264_vui。 ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口用于获取H.264协议编码通道的Vui配置。 - 本接口在编码通道创建之后,编码通道销毁之前调用。 - 建议用户在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。 - 用户应当仅在H.264协议编码通道中调用本接口。 |
| 参考资源 | 无 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_set_h264_vui
| c函数原型 | **hi_s32 hi_mpi_venc_set_h264_vui(**hi_venc_chn chn, const hi_venc_h264_vui *h264_vui) |
|---|---|
| Python函数 | ret = acl.himpi.venc_set_h264_vui(chn, h264_vui**)** |
| 函数功能 | 设置H.264协议编码通道的Vui参数。 Vui(Video usability information)参数主要包含解码图像的格式信息,比如采样横纵比、光电转换特性、颜色空间等。Vui参数在协议中属于可选参数,不影响视频编码过程,但会建议解码器/播放器做一些矫正处理。 |
| 输入说明 | - chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 - h264_vui:dict,H.264协议编码通道的Vui参数字典,具体请参见hi_venc_h264_vui。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口用于设置H.264协议编码通道的Vui配置。 - 本接口在编码通道创建之后,编码通道销毁之前设置。此接口在编码过程中被调用时,等到下一个I帧时生效。 - 建议用户在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。 - 用户应当仅在H.264协议编码通道中调用本接口。 - 目前仅开放hi_venc_h264_vui中的hi_venc_vui_video_signal参数供用户配置,其它参数预留,均需配置为默认值,否则会导致编码失败。建议用户在调用此接口之前先调用acl.himpi.venc_get_h264_vui接口,获取当前编码通道的Vui默认配置,然后再进行设置,避免预留参数出错。 - hi_venc_vui_h264_time_info包含时钟计数相关参数,默认情况下为不生效状态,用户想要控制显示帧率时需要主动配置相关参数。注意,显示帧率只影响播放器的播放速度,若用户想设置编码过程中的码控帧率需配置acl.himpi.venc_create_chn接口中的输入/输出帧率参数。 建议用户将码控帧率与显示帧率设置一致,否则播放时的码率可能与用户设置的编码码率不同,播放时的码率会随着所设置的显示帧率而变化。 如果用户需要调整播放速度,则建议在合理范围内调整显示帧率,一般正常视频播放速度为30fps,表示显示帧率为30fps。 - 若将显示帧率调大,则播放速度加快,例如3倍速播放,则显示帧率设置为90fps。 - 若将显示帧率调小,则播放速度减慢,例如0.5倍速播放,则显示帧率设置为15fps。 - 由于Vui只是协议可选参数而非强制参数,调用本接口设置参数(如显示帧率、像素值域范围等)的最终效果取决于解码器/播放器行为,或者用户自定义的解码/播放行为。 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_get_h265_vui
| c函数原型 | hi_s32 **hi_mpi_venc_get_h265_vui(**hi_venc_chn chn, hi_venc_h265_vui *h265_vui) |
|---|---|
| Python函数 | h265_vui, ret = acl.himpi.venc_get_h265_vui(chn) |
| 函数功能 | 获取H.265协议编码通道的Vui配置。 |
| 输入说明 | chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 |
| 返回值说明 | - h265_vui:dict,H.265协议编码通道的Vui属性字典。参见hi_venc_h265_vui。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口用于获取H.265协议编码通道的Vui配置。 - 本接口在编码通道创建之后,编码通道销毁之前调用。 - 建议用户在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。 - 用户应当仅在H.265协议编码通道中调用本接口。 |
父主题: VENC视频/JPEGE图像编码接口
acl.himpi.venc_set_h265_vui
| c函数原型 | hi_s32 **hi_mpi_venc_set_h265_vui(**hi_venc_chn chn, const hi_venc_h265_vui *h265_vui) |
|---|---|
| Python函数 | ret = acl.himpi.venc_set_h265_vui(chn, h265_vui) |
| 函数功能 | 设置H.265协议编码通道的Vui参数。 Vui(Video usability information)参数主要包含解码图像的格式信息,比如采样横纵比、光电转换特性、颜色空间等。Vui参数在协议中属于可选参数,不影响视频编码过程,但会建议解码器/播放器做一些矫正处理。 |
| 输入说明 | - chn:int,编码通道号。 - Atlas 200/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。 - h265_vui:dict,H.265协议编码通道的Vui属性字典,参见hi_venc_h265_vui。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VENC视频/JPEGE图像编码返回码。 |
| 约束说明 | - 本接口用于设置H.265协议编码通道的Vui配置。 - 本接口在编码通道创建之后,编码通道销毁之前设置。此接口在编码过程中被调用时,等到下一个I帧时生效。 - 建议用户在创建通道之后,启动编码之前调用此接口,减少在编码过程中调用的次数。 - 用户应当仅在H.265协议编码通道中调用本接口。 - 目前仅开放hi_venc_h265_vui中的hi_venc_vui_video_signal参数和hi_venc_vui_h265_time_info参数供用户配置,其它参数预留,均需配置为默认值,否则会导致编码失败。建议用户在调用此接口之前先调用acl.himpi.venc_get_h265_vui接口,获取当前编码通道的Vui默认配置,然后再进行设置,避免预留参数出错。 - hi_venc_vui_h265_time_info参数包含时钟计数相关参数,默认情况下为不生效状态,用户想要控制显示帧率时需要主动配置相关参数。注意,此处的显示帧率只影响播放器的播放速度,用户想控制编码过程中的码控帧率需配置acl.himpi.venc_create_chn接口中的hi_venc_rc_attr参数。 建议用户将码控帧率与显示帧率设置一致,否则播放时的码率可能与用户设置的编码码率不同,播放时的码率会随着所设置的显示帧率而变化。 如果用户需要调整播放速度,则建议在合理范围内调整显示帧率,一般正常视频播放速度为30fps,表示显示帧率为30fps。 - 若将显示帧率调大,则播放速度加快,例如3倍速播放,则显示帧率设置为90fps。 - 若将显示帧率调小,则播放速度减慢,例如0.5倍速播放,则显示帧率设置为15fps。 - 由于Vui只是协议可选参数而非强制参数,本接口设置参数(如显示帧率、像素值域范围等)的最终效果取决于解码器/播放器行为,或者用户自定义的解码/播放行为。 |
父主题: VENC视频/JPEGE图像编码接口
在线提单