hi_pngd_chn
hi_venc_cu_prediction
说明
定义CU模式选择的倾向性配置结构体。
定义
typedef struct {
hi_op_mode pred_mode;
hi_u32 intra32_cost;
hi_u32 intra16_cost;
hi_u32 intra8_cost;
hi_u32 intra4_cost;
hi_u32 inter64_cost;
hi_u32 inter32_cost;
hi_u32 inter16_cost;
hi_u32 inter8_cost;
} hi_venc_cu_prediction;
成员
| 成员名称 | 描述 |
|---|---|
| pred_mode | 倾向性选择模式,支持自动模式、手动模式两种。 |
| intra32_cost | Intra32倾向性调节,对应帧内预测32*32像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 H.264该值无效。 |
| intra16_cost | Intra16倾向性调节,对应帧内预测16*16像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
| intra8_cost | Intra8倾向性调节,对应帧内预测8*8像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
| intra4_cost | Intra4倾向性调节,对应帧内预测4*4像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
| inter64_cost | Inter64倾向性调节,对应帧间预测64*64像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 H.264该值无效。 |
| inter32_cost | Inter32倾向性调节,对应帧间预测32*32像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 H.264该值无效。 |
| inter16_cost | Inter16倾向性调节,对应帧间预测16*16像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
| inter8_cost | Inter8倾向性调节,对应帧间预测8*8像素块尺寸模式,该值增大表示选择该模式的倾向性越小。 取值范围:[0, 15]。 默认值:8。 |
父主题: VENC视频/JPEGE图像编码
hi_venc_intra_refresh
说明
P帧刷Islice控制参数。
定义
typedef struct {
hi_bool refresh_enable;
hi_venc_intra_refresh_mode intra_refresh_mode;
hi_u32 refresh_num;
hi_u32 req_i_qp;
} hi_venc_intra_refresh;
成员
| 成员名称 | 描述 |
|---|---|
| refresh_enable | 是否使能刷Islice功能。 - 0:不使能,默认值; - 1:使能 。 |
| intra_refresh_mode | I宏块刷新模式,分为按行刷新和按列刷新。默认按行刷新。 |
| refresh_num | 每次I宏块刷新行数或者列数,可以通过这个变量控制刷新的速度及码流的平稳程度。刷新行数或者列数越多,刷新的速度越快,但是码流平稳度越差;刷新的行数或者列数越少,刷新的速度越慢,但是码流平稳度越好。 需保证设置的refresh_num可以在一个GOP内完成Islice刷新,注意高级跳帧参考时只会在base层中的P帧(可被base层中其他帧的参考)进行刷新。refresh_num需满足表1中的计算公式。 |
| req_i_qp | I帧QP值。 hi_mpi_venc_set_intra_refresh接口与hi_mpi_venc_request_idr接口配合使用时,该值用于控制插入的IDR帧的质量,该值越小,质量越好,插入的IDR帧大小越大。 取值范围:[0, 51] ,默认值51。 |
参考信息
表1 refresh_num参数值计算公式
- | 计算公式 | 备注 |
|---|---|---|
H.264,refresh_num默认值为: (pic_height +lcu_size-1)>>6 | 计算公式中的/表示向下取整。 | |
H.265,refresh_num默认值为: ((pic_height + lcu_size - 1)/lcu_size) >> 2 |
父主题: VENC视频/JPEGE图像编码
hi_venc_intra_refresh_mode
说明
P帧刷Islice模式定义。
定义
typedef enum{
INTRA_REFRESH_ROW = 0, /* 按行刷新 */
INTRA_REFRESH_COLUMN, /* 按列刷新 */
INTRA_REFRESH_BUTT
} hi_venc_intra_refresh_mode;
父主题: VENC视频/JPEGE图像编码
hi_pngd_chn
说明
描述PNG图片解码通道。
定义
typedef hi_s32 hi_pngd_chn;
父主题: PNGD图像解码
hi_pngd_chn_attr
说明
定义PNGD解码通道属性结构体。
定义
typedef struct {
hi_u32 stream_que_cnt;
hi_u64 reserved[4];
} hi_pngd_chn_attr;
成员
| 成员名称 | 描述 |
|---|---|
| stream_que_cnt | PNGD图片缓存队列大小。预留参数。 |
| reserved | 预留参数,为保证后续版本兼容性,请务必使用memset结构体方式进行清零初始化,在代码中必须避免显式对reserved字段进行访问。 |
父主题: PNGD图像解码
公共返回码
| 错误代码 | 宏定义 | 描述 |
|---|---|---|
| 0xA0028001 | - | 无效的Device ID。 |
| 0xA0028002 | - | 无效的channel ID。 |
| 0xA0028003 | HI_ERR_SYS_ILLEGAL_PARAM | 参数设置无效 |
| 0xA0028004 | HI_ERR_SYS_EXIST | 通道或资源已存在 |
| 0xA0028005 | HI_ERR_SYS_UNEXIST | 通道或资源不存在 |
| 0xA0028006 | HI_ERR_SYS_NULL_PTR | 空指针错误 |
| 0xA0028007 | - | 使能系统、Device或通道前未配置对应的参数。 |
| 0xA0028008 | HI_ERR_SYS_NOT_SUPPORT | 不支持的功能 |
| 0xA0028009 | HI_ERR_SYS_NOT_PERM | 操作不允许 |
| 0xA002800C | HI_ERR_SYS_NO_MEM | 分配内存失败,如系统内存不足 |
| 0xA002800D | - | 分配缓存失败,如申请的数据缓冲区太大。 |
| 0xA002800E | - | 缓冲区中无数据。 |
| 0xA002800F | - | 缓冲区中数据满。 |
| 0xA0028010 | HI_ERR_SYS_NOT_READY | 系统控制属性未配置 |
| 0xA0028011 | - | 地址错误。 |
| 0xA0028012 | HI_ERR_SYS_BUSY | 系统忙 |
| 0xA0028013 | - | 缓存小于实际需要的大小。 |
| 0xA0028014 | - | 硬件或软件处理超时。 |
| 0xA0028015 | HI_ERR_SYS_ERR | 内部系统错误。 |
| 0xA002803F | - | 最大的返回码,该模块的错误码必须小于该值。 |
父主题: 返回码列表
音频相关返回码
表1 音频基础属性.API错误码
| 错误代码 | 宏定义 | 描述 |
|---|---|---|
| 0xa0148003 | HI_ERR_AIO_ILLEGAL_PARAM | 音频基础属性参数设置无效。 |
| 0xa0148006 | HI_ERR_AIO_NULL_PTR | 输入参数空指针错误。 |
| 0xa0148009 | HI_ERR_AIO_NOT_PERM | 操作不允许。 |
| 0xa0148010 | HI_ERR_AIO_NOT_READY | 音频基础系统未初始化。 |
| 0xa0148012 | HI_ERR_AIO_BUSY | 音频基础系统忙。 |
| 0xa014801d | HI_ERR_AIO_REGISTER_ERR | 注册失败。 |
表2 音频输入错误码
| 错误代码 | 宏定义 | 描述 |
|---|---|---|
| 0xa0158001 | HI_ERR_AI_INVALID_DEV_ID | 音频输入设备号无效。 |
| 0xa0158002 | HI_ERR_AI_INVALID_CHN_ID | 音频输入通道号无效。 |
| 0xa0158003 | HI_ERR_AI_ILLEGAL_PARAM | 音频输入参数设置无效。 |
| 0xa0158006 | HI_ERR_AI_NULL_PTR | 输入参数空指针错误。 |
| 0xa0158007 | HI_ERR_AI_NOT_CFG | 音频输入设备属性未设置。 |
| 0xa0158009 | HI_ERR_AI_NOT_PERM | 操作不允许。 |
| 0xa015800c | HI_ERR_AI_NO_MEM | 分配内存失败。 |
| 0xa015800d | HI_ERR_AI_NO_BUF | 音频输入缓存不足。 |
| 0xa015800e | HI_ERR_AI_BUF_EMPTY | 音频输入缓存为空。 |
| 0xa015800f | HI_ERR_AI_BUF_FULL | 音频输入缓存为满。 |
| 0xa0158010 | HI_ERR_AI_NOT_READY | 音频输入系统未初始化。 |
| 0xa0158012 | HI_ERR_AI_BUSY | 音频输入系统忙。 |
| 0xa0158017 | HI_ERR_AI_NOT_ENABLED | 音频输入设备或通道没有使能。 |
表3 音频输出错误码
| 错误代码 | 宏定义 | 描述 |
|---|---|---|
| 0xa0168001 | HI_ERR_AO_INVALID_DEV_ID | 音频输出设备号无效。 |
| 0xa0168002 | HI_ERR_AO_INVALID_CHN_ID | 音频输出通道号无效。 |
| 0xa0168003 | HI_ERR_AO_ILLEGAL_PARAM | 音频输出参数设置无效。 |
| 0xa0168006 | HI_ERR_AO_NULL_PTR | 输出空指针错误。 |
| 0xa0168007 | HI_ERR_AO_NOT_ CFG | 音频输出设备属性未设置。 |
| 0xa0168009 | HI_ERR_AO_NOT_PERM | 操作不允许。 |
| 0xa016800c | HI_ERR_AO_NO_MEM | 统内存不足。 |
| 0xa016800d | HI_ERR_AO_NO_BUF | 音频输出缓存不足。 |
| 0xa016800e | HI_ERR_AO_BUF_EMPTY | 音频输出缓存为空。 |
| 0xa016800f | HI_ERR_AO_BUF_FULL | 音频输出缓存为满。 |
| 0xa0168010 | HI_ERR_AO_NOT_READY | 音频输出系统未初始化。 |
| 0xa0168012 | HI_ERR_AO_BUSY | 音频输出系统忙。 |
| 0xa0168017 | HI_ERR_AO_NOT_ENABLED | 音频输出设备或通道没使能。 |
表4 音频编码错误码
| 错误代码 | 宏定义 | 描述 |
|---|---|---|
| 0xa0178001 | HI_ERR_AENC_INVALID_DEV_ID | 音频设备号无效。 |
| 0xa0178002 | HI_ERR_AENC_INVALID_CHN_ID | 音频编码通道号无效。 |
| 0xa0178003 | HI_ERR_AENC_ILLEGAL_PARAM | 音频编码参数设置无效。 |
| 0xa0178004 | HI_ERR_AENC_EXIST | 音频编码通道已经创建。 |
| 0xa0178005 | HI_ERR_AENC_UNEXIST | 音频编码通道未创建。 |
| 0xa0178006 | HI_ERR_AENC_NULL_PTR | 输入参数空指针错误。 |
| 0xa0178007 | HI_ERR_AENC_NOT_CFG | 编码通道未配置。 |
| 0xa0178008 | HI_ERR_AENC_NOT_SUPPORT | 操作不被支持。 |
| 0xa0178009 | HI_ERR_AENC_NOT_PERM | 操作不允许。 |
| 0xa017800c | HI_ERR_AENC_NO_MEM | 系统内存不足。 |
| 0xa017800d | HI_ERR_AENC_NO_BUF | 编码通道缓存分配失败。 |
| 0xa017800e | HI_ERR_AENC_BUF_EMPTY | 编码通道缓存空。 |
| 0xa017800f | HI_ERR_AENC_BUF_FULL | 编码通道缓存满。 |
| 0xa0178010 | HI_ERR_AENC_NOT_READY | 系统没有初始化。 |
| 0xa0178040 | HI_ERR_AENC_ENCODER_ERR | 音频编码数据错误。 |
表5 音频解码错误码
| 错误代码 | 宏定义 | 描述 |
|---|---|---|
| 0xa0188001 | HI_ERR_ADEC_INVALID_DEV_ID | 音频解码设备号无效。 |
| 0xa0188002 | HI_ERR_ADEC_INVALID_CHN_ID | 音频解码通道号无效。 |
| 0xa0188003 | HI_ERR_ADEC_ILLEGAL_PARAM | 音频解码参数设置无效。 |
| 0xa0188004 | HI_ERR_ADEC_EXIST | 音频解码通道已经创建。 |
| 0xa0188005 | HI_ERR_ADEC_UNEXIST | 音频解码通道未创建。 |
| 0xa0188006 | HI_ERR_ADEC_NULL_PTR | 输入参数空指针错误。 |
| 0xa0188007 | HI_ERR_ADEC_NOT_CFG | 解码通道属性未配置。 |
| 0xa0188008 | HI_ERR_ADEC_NOT_SUPPORT | 操作不被支持。 |
| 0xa0188009 | HI_ERR_ADEC_NOT_PERM | 操作不允许。 |
| 0xa018800c | HI_ERR_ADEC_NO_MEM | 系统内存不足。 |
| 0xa018800d | HI_ERR_ADEC_NO_BUF | 解码通道缓存分配失败。 |
| 0xa018800e | HI_ERR_ADEC_BUF_EMPTY | 解码通道缓存空。 |
| 0xa018800f | HI_ERR_ADEC_BUF_FULL | 解码通道缓存满。 |
| 0xa0188010 | HI_ERR_ADEC_NOT_READY | 系统没有初始化。 |
| 0xa0188040 | HI_ERR_ADEC_DECODER_ERR | 音频解码数据错误。 |
| 0xa0188041 | HI_ERR_ADEC_BUF_LACK | 解码输入缓存空间不够。 |
父主题: 返回码列表
ISP系统控制返回码
表1 ISP API 错误码
| 错误代码 | 宏定义 | 描述 |
|---|---|---|
| 0xA01C8003 | HI_ERR_ISP_ILLEGAL_PARAM | 输入参数无效。 |
| 0xA01C8006 | HI_ERR_ISP_NULL_PTR | 空指针错误。 |
| 0xA01C8008 | HI_ERR_ISP_NOT_SUPPORT | 当前ISP不支持。 |
| 0xA01C800C | HI_ERR_ISP_NO_MEM | 内存不足。 |
| 0xA01C8040 | HI_ERR_ISP_NOT_INIT | ISP没有初始化。 |
| 0xA01C8041 | HI_ERR_ISP_MEM_NOT_INIT | 外部寄存器没有初始化。 |
| 0xA01C8042 | HI_ERR_ISP_ATTR_NOT_CFG | 属性未配置。 |
| 0xA01C8043 | HI_ERR_ISP_SNS_UNREGISTER | Sensor未注册。 |
| 0xA01C8044 | HI_ERR_ISP_INVALID_ADDR | 无效地址。 |
| 0xA01C8046 | HI_ERR_ISP_NO_INT | ISP无中断。 |
父主题: 返回码列表
在线提单