ISVP-SDK
3.12.0
Ingenic Smart Video Platform SDK
|
视频编码(H264, JPEG)模块,包含编码通道管理,编码参数设置等功能 更多...
结构体 | |
struct | IMPEncoderFrmRate |
定义编码channel帧率结构体,frmRateNum和frmRateDen经过最大公约数整除后两者之间的最小公倍数不能超过64,最好在设置之前就被最大公约数整除 更多... | |
struct | IMPEncoderAttrH264FixQP |
定义H.264编码Channel Fixqp属性结构 更多... | |
struct | IMPEncoderAttrH264CBR |
定义H.264编码Channel CBR属性结构 更多... | |
struct | IMPEncoderAttrH264VBR |
定义H.264编码Channel VBR属性结构 更多... | |
struct | IMPEncoderAttrH264Smart |
定义H.264编码Channel Smart属性结构 更多... | |
struct | IMPEncoderAttrDemask |
定义H.264编码Channel去马赛克属性 更多... | |
struct | IMPEncoderAttrDenoise |
定义H.264编码Channel去噪属性,一经使能不能改变,但去噪类型可以动态改变; 更多... | |
struct | IMPEncoderAttrFrmUsed |
定义H.264编码Channel输入帧使用模式属性 更多... | |
struct | IMPEncoderAttrHSkip |
定义H264高级跳帧类型结构体 更多... | |
struct | IMPEncoderAttrInitHSkip |
定义H264高级跳帧类型初始化结构体 更多... | |
struct | IMPEncoderAttrRcMode |
定义编码Channel码率控制器码率控制模式属性 更多... | |
struct | IMPEncoderRcAttr |
定义编码Channel码率控制器属性 更多... | |
union | IMPEncoderDataType |
定义编码码流类型 更多... | |
struct | IMPEncoderPack |
定义帧码流包结构体 更多... | |
struct | IMPEncoderStream |
定义帧码流类型结构体 更多... | |
struct | IMPEncoderCropCfg |
定义编码器裁剪属性,针对输入编码器的图像先做裁剪,与编码通道的尺寸进行比较再做缩放 更多... | |
struct | IMPEncoderUserDataCfg |
定义编码器插入用户数据属性,只针对H264 更多... | |
struct | IMPEncoderAttr |
定义编码器属性结构体 更多... | |
struct | IMPEncoderCHNAttr |
定义编码Channel属性结构体 更多... | |
struct | IMPEncoderCHNStat |
定义编码Channel的状态结构体 更多... | |
struct | IMPEncoderColor2GreyCfg |
定义彩转灰(C2G)参数 更多... | |
struct | IMPEncoderEnIDRCfg |
定义设置EnableIDR参数 更多... | |
struct | IMPEncoderGOPSizeCfg |
定义设置gopsize参数 更多... | |
struct | IMPEncoderROICfg |
定义设置ROI参数 更多... | |
struct | IMPEncoderSuperFrmCfg |
超大帧处理策略参数 更多... | |
struct | IMPEncoderH264TransCfg |
定义 H.264 协议编码通道变换、量化结构体 更多... | |
struct | IMPEncoderJpegeQl |
函数 | |
int | IMP_Encoder_CreateGroup (int encGroup) |
创建编码Group 更多... | |
int | IMP_Encoder_DestroyGroup (int encGroup) |
销毁编码Grouop. 更多... | |
int | IMP_Encoder_CreateChn (int encChn, const IMPEncoderCHNAttr *attr) |
创建编码Channel 更多... | |
int | IMP_Encoder_DestroyChn (int encChn) |
销毁编码Channel 更多... | |
int | IMP_Encoder_GetChnAttr (int encChn, IMPEncoderCHNAttr *const attr) |
获取编码Channel的属性 更多... | |
int | IMP_Encoder_RegisterChn (int encGroup, int encChn) |
注册编码Channel到Group 更多... | |
int | IMP_Encoder_UnRegisterChn (int encChn) |
反注册编码Channel到Group 更多... | |
int | IMP_Encoder_StartRecvPic (int encChn) |
开启编码Channel接收图像 更多... | |
int | IMP_Encoder_StopRecvPic (int encChn) |
停止编码Channel接收图像 更多... | |
int | IMP_Encoder_Query (int encChn, IMPEncoderCHNStat *stat) |
查询编码Channel状态 更多... | |
int | IMP_Encoder_GetStream (int encChn, IMPEncoderStream *stream, bool blockFlag) |
获取编码的码流 更多... | |
int | IMP_Encoder_ReleaseStream (int encChn, IMPEncoderStream *stream) |
释放码流缓存 更多... | |
int | IMP_Encoder_PollingStream (int encChn, uint32_t timeoutMsec) |
Polling码流缓存 更多... | |
int | IMP_Encoder_SetMaxStreamCnt (int encChn, int nrMaxStream) |
设置码流缓存Buffer个数 更多... | |
int | IMP_Encoder_GetMaxStreamCnt (int encChn, int *nrMaxStream) |
获取码流Buffer数 更多... | |
int | IMP_Encoder_RequestIDR (int encChn) |
请求IDR帧 更多... | |
int | IMP_Encoder_FlushStream (int encChn) |
刷掉编码器里残留的旧码流,并以IDR帧开始编码 更多... | |
int | IMP_Encoder_SetChnColor2Grey (int encChn, const IMPEncoderColor2GreyCfg *pstColor2Grey) |
设置彩转灰功能 更多... | |
int | IMP_Encoder_GetChnColor2Grey (int encChn, IMPEncoderColor2GreyCfg *pstColor2Grey) |
获取彩转灰功能属性 更多... | |
int | IMP_Encoder_SetChnAttrRcMode (int encChn, const IMPEncoderAttrRcMode *pstRcModeCfg) |
设置码率控制模式属性 更多... | |
int | IMP_Encoder_GetChnAttrRcMode (int encChn, IMPEncoderAttrRcMode *pstRcModeCfg) |
获取码率控制模式属性 更多... | |
int | IMP_Encoder_SetChnFrmRate (int encChn, const IMPEncoderFrmRate *pstFps) |
动态设置帧率控制属性 更多... | |
int | IMP_Encoder_GetChnFrmRate (int encChn, IMPEncoderFrmRate *pstFps) |
获取帧率控制属性 更多... | |
int | IMP_Encoder_SetChnROI (int encChn, const IMPEncoderROICfg *pstVencRoiCfg) |
设置通道ROI属性 更多... | |
int | IMP_Encoder_GetChnROI (int encChn, IMPEncoderROICfg *pstVencRoiCfg) |
获取通道ROI属性 更多... | |
int | IMP_Encoder_GetGOPSize (int encChn, IMPEncoderGOPSizeCfg *pstGOPSizeCfg) |
获取通道GOP属性 更多... | |
int | IMP_Encoder_SetGOPSize (int encChn, const IMPEncoderGOPSizeCfg *pstGOPSizeCfg) |
设置通道GOP属性 更多... | |
int | IMP_Encoder_SetChnDemask (int encChn, const IMPEncoderAttrDemask *pdemaskAttr) |
设置通道去马赛克属性 更多... | |
int | IMP_Encoder_GetChnDemask (int encChn, IMPEncoderAttrDemask *pdemaskAttr) |
获取通道去马赛克属性 更多... | |
int | IMP_Encoder_SetChnFrmUsedMode (int encChn, const IMPEncoderAttrFrmUsed *pfrmUsedAttr) |
设置通道输入帧使用模式属性 更多... | |
int | IMP_Encoder_GetChnFrmUsedMode (int encChn, IMPEncoderAttrFrmUsed *pfrmUsedAttr) |
获取通道输入帧使用模式属性 更多... | |
int | IMP_Encoder_SetChnDenoise (int encChn, const IMPEncoderAttrDenoise *pdenoiseAttr) |
设置通道去噪属性 更多... | |
int | IMP_Encoder_GetChnDenoise (int encChn, IMPEncoderAttrDenoise *pdenoiseAttr) |
获取通道去噪属性 更多... | |
int | IMP_Encoder_SetChnHSkip (int encChn, const IMPEncoderAttrHSkip *phSkipAttr) |
设置通道高级跳帧属性 更多... | |
int | IMP_Encoder_GetChnHSkip (int encChn, IMPEncoderAttrHSkip *phSkipAttr) |
获取通道高级跳帧属性 更多... | |
int | IMP_Encoder_SetChnHSkipBlackEnhance (int encChn, const int bBlackEnhance) |
设置通道高级跳帧中bBlackEnhance属性 更多... | |
int | IMP_Encoder_InsertUserData (int encChn, void *userData, uint32_t userDataLen) |
插入用户数据 更多... | |
int | IMP_Encoder_SetFisheyeEnableStatus (int encChn, int enable) |
设置Ingenic提供的鱼眼矫正算法的使能状态 更多... | |
int | IMP_Encoder_GetFisheyeEnableStatus (int encChn, int *enable) |
获取Ingenic提供的鱼眼矫正算法的使能状态 更多... | |
int | IMP_Encoder_SetChangeRef (int encChn, int bEnable) |
设置是否允许改变BASE帧参考方式的状态 更多... | |
int | IMP_Encoder_GetChangeRef (int encChn, int *bEnable) |
获取是否允许改变BASE帧参考方式的状态 更多... | |
int | IMP_Encoder_SetMbRC (int encChn, int bEnable) |
设置是否开启宏块级qp控制 更多... | |
int | IMP_Encoder_GetMbRC (int encChn, int *bEnable) |
获取是否开启宏块级qp控制的状态 更多... | |
int | IMP_Encoder_SetSuperFrameCfg (int encChn, const IMPEncoderSuperFrmCfg *pstSuperFrmParam) |
设置编码超大帧配置 更多... | |
int | IMP_Encoder_GetSuperFrameCfg (int encChn, IMPEncoderSuperFrmCfg *pstSuperFrmParam) |
获取编码超大帧配置 更多... | |
int | IMP_Encoder_SetH264TransCfg (int encChn, const IMPEncoderH264TransCfg *pstH264TransCfg) |
设置 H.264 协议编码通道的变换、量化的属性 更多... | |
int | IMP_Encoder_GetH264TransCfg (int encChn, IMPEncoderH264TransCfg *pstH264TransCfg) |
获取 H.264 协议编码通道的变换、量化属性 更多... | |
int | IMP_Encoder_SetJpegeQl (int encChn, const IMPEncoderJpegeQl *pstJpegeQl) |
设置 JPEG 协议编码通道的量化表配置参数 更多... | |
int | IMP_Encoder_GetJpegeQl (int encChn, IMPEncoderJpegeQl *pstJpegeQl) |
获取 JPEG 协议编码通道的量化表配置参数 更多... | |
视频编码(H264, JPEG)模块,包含编码通道管理,编码参数设置等功能
Encoder模块内部结构如下如:
如上图所示,编码模块由若干个Group组成(在T15上支持两个Group),每个Group由编码Channel组成。 每个编码Channel附带一个输出码流缓冲区,这个缓冲区由多个buffer组成。
一个编码Channel可以完成一种协议的编码。每个Group可以添加一个H264编码Channel与一个JPEG编码Channel。
CBR(Constent Bit Rate)恒定比特率,即在码率统计时间内编码码率恒定。 以H.264 编码为例,用户可设置maxQp,minQp,bitrate等。 maxQp,minQp 用于控制图像的质量范围, bitrate 用于钳位码率统计时间内的平均编码码率。 当编码码率大于恒定码率时,图像QP 会逐步向maxQp 调整,当编码码率远小于恒定码率时,图像QP 会逐步向minQp 调整。 当图像QP 达到maxQp 时,QP 被钳位到最大值,bitrate 的钳位效果失效,编码码率有可能会超出bitrate。 当图像QP 达到minQp 时,QP 被钳位到最小值,此时编码的码率已经达到最大值,而且图像质量最好。
Fix Qp 固定Qp 值。在码率统计时间内,编码图像所有宏块Qp 值相同,采用用户设定的图像Qp值。
enum EncFrmUsedMode |
H264码流NALU类型
enum IMPEncoderRcMode |
enum IMPEncoderRcPriority |
enum IMPRefType |
enum IMPSkipType |
int IMP_Encoder_CreateChn | ( | int | encChn, |
const IMPEncoderCHNAttr * | attr | ||
) |
创建编码Channel
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | attr | 编码Channel属性指针 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_CreateGroup | ( | int | encGroup | ) |
创建编码Group
[in] | encGroup | Group号,取值范围:[0, NR_MAX_ENC_GROUPS - 1] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_DestroyChn | ( | int | encChn | ) |
销毁编码Channel
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_DestroyGroup | ( | int | encGroup | ) |
销毁编码Grouop.
[in] | encGroup | Group号,取值范围:[0, NR_MAX_ENC_GROUPS - 1] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_FlushStream | ( | int | encChn | ) |
刷掉编码器里残留的旧码流,并以IDR帧开始编码
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChangeRef | ( | int | encChn, |
int * | bEnable | ||
) |
获取是否允许改变BASE帧参考方式的状态
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | enable | 返回是否允许改变BASE帧参考方式的状态,0:不允许改变,1,允许改变 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnAttr | ( | int | encChn, |
IMPEncoderCHNAttr *const | attr | ||
) |
获取编码Channel的属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | attr | 编码Channel属性 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnAttrRcMode | ( | int | encChn, |
IMPEncoderAttrRcMode * | pstRcModeCfg | ||
) |
获取码率控制模式属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstRcCfg | 码率控制模式属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnColor2Grey | ( | int | encChn, |
IMPEncoderColor2GreyCfg * | pstColor2Grey | ||
) |
获取彩转灰功能属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstColor2Grey | 彩转灰功能的参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnDemask | ( | int | encChn, |
IMPEncoderAttrDemask * | pdemaskAttr | ||
) |
获取通道去马赛克属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pdemaskAttr | 去马赛克属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnDenoise | ( | int | encChn, |
IMPEncoderAttrDenoise * | pdenoiseAttr | ||
) |
获取通道去噪属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pdenoiseAttr | 去噪属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnFrmRate | ( | int | encChn, |
IMPEncoderFrmRate * | pstFps | ||
) |
获取帧率控制属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstFpsCfg | 帧率控制属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnFrmUsedMode | ( | int | encChn, |
IMPEncoderAttrFrmUsed * | pfrmUsedAttr | ||
) |
获取通道输入帧使用模式属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pfrmUsedAttr | 输入帧使用模式属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnHSkip | ( | int | encChn, |
IMPEncoderAttrHSkip * | phSkipAttr | ||
) |
获取通道高级跳帧属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | phSkipAttr | 高级跳帧属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetChnROI | ( | int | encChn, |
IMPEncoderROICfg * | pstVencRoiCfg | ||
) |
获取通道ROI属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstFpsCfg | ROI属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetFisheyeEnableStatus | ( | int | encChn, |
int * | enable | ||
) |
获取Ingenic提供的鱼眼矫正算法的使能状态
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | enable | 返回设置的Ingenic提供的鱼眼矫正算法的使能状态,0:未使能,1:已使能 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetGOPSize | ( | int | encChn, |
IMPEncoderGOPSizeCfg * | pstGOPSizeCfg | ||
) |
获取通道GOP属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstGOPSizeCfg | GOPSize属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetH264TransCfg | ( | int | encChn, |
IMPEncoderH264TransCfg * | pstH264TransCfg | ||
) |
获取 H.264 协议编码通道的变换、量化属性
[in] | encChn | 编码Channel号, 取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstH264TransCfg | 返回H.264 协议编码通道的变换、量化属性 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetJpegeQl | ( | int | encChn, |
IMPEncoderJpegeQl * | pstJpegeQl | ||
) |
获取 JPEG 协议编码通道的量化表配置参数
[in] | encChn | 编码Channel号, 取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstJpegeQl | 返回JPEG 协议编码通道的量化表配置参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetMaxStreamCnt | ( | int | encChn, |
int * | nrMaxStream | ||
) |
获取码流Buffer数
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | nrMaxStream | 码流Buffer数变量指针 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetMbRC | ( | int | encChn, |
int * | bEnable | ||
) |
获取是否开启宏块级qp控制的状态
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | bEnable | 返回是否开启宏块级qp控制的状态, 0:不开启, 1:开启 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_GetStream | ( | int | encChn, |
IMPEncoderStream * | stream, | ||
bool | blockFlag | ||
) |
获取编码的码流
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | stream | 码流结构体指针 |
[in] | blockFlag | 是否使用阻塞方式获取,0:非阻塞,1:阻塞 |
0 | 成功 |
非0 | 失败 |
示例:
int IMP_Encoder_GetSuperFrameCfg | ( | int | encChn, |
IMPEncoderSuperFrmCfg * | pstSuperFrmParam | ||
) |
获取编码超大帧配置
[in] | encChn | 编码Channel号, 取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstSuperFrmParam | 返回编码超大帧配置 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_InsertUserData | ( | int | encChn, |
void * | userData, | ||
uint32_t | userDataLen | ||
) |
插入用户数据
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | userData | 用户数据指针 |
[in] | userDataLen | 用户数据长度, 取值范围:(0, 1024],以 byte 为单位 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_PollingStream | ( | int | encChn, |
uint32_t | timeoutMsec | ||
) |
Polling码流缓存
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | timeoutMsec | 超时时间,单位:毫秒 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_Query | ( | int | encChn, |
IMPEncoderCHNStat * | stat | ||
) |
查询编码Channel状态
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | stat | 编码Channel状态 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_RegisterChn | ( | int | encGroup, |
int | encChn | ||
) |
注册编码Channel到Group
[in] | encGroup | 编码Group号,取值范围: [0, NR_MAX_ENC_GROUPS - 1] |
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_ReleaseStream | ( | int | encChn, |
IMPEncoderStream * | stream | ||
) |
释放码流缓存
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | stream | 码流结构体指针 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_RequestIDR | ( | int | encChn | ) |
请求IDR帧
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChangeRef | ( | int | encChn, |
int | bEnable | ||
) |
设置是否允许改变BASE帧参考方式的状态
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | enable | 0:不允许改变,1,允许改变(默认) |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnAttrRcMode | ( | int | encChn, |
const IMPEncoderAttrRcMode * | pstRcModeCfg | ||
) |
设置码率控制模式属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | pstRcCfg | 码率控制模式属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnColor2Grey | ( | int | encChn, |
const IMPEncoderColor2GreyCfg * | pstColor2Grey | ||
) |
设置彩转灰功能
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | pstColor2Grey | 彩转灰功能的参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnDemask | ( | int | encChn, |
const IMPEncoderAttrDemask * | pdemaskAttr | ||
) |
设置通道去马赛克属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pdemaskAttr | 去马赛克属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnDenoise | ( | int | encChn, |
const IMPEncoderAttrDenoise * | pdenoiseAttr | ||
) |
设置通道去噪属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | pdenoiseAttr | 去噪属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnFrmRate | ( | int | encChn, |
const IMPEncoderFrmRate * | pstFps | ||
) |
动态设置帧率控制属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstFpsCfg | 帧率控制属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnFrmUsedMode | ( | int | encChn, |
const IMPEncoderAttrFrmUsed * | pfrmUsedAttr | ||
) |
设置通道输入帧使用模式属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pfrmUsedAttr | 输入帧使用模式属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnHSkip | ( | int | encChn, |
const IMPEncoderAttrHSkip * | phSkipAttr | ||
) |
设置通道高级跳帧属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | phSkipAttr | 高级跳帧属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnHSkipBlackEnhance | ( | int | encChn, |
const int | bBlackEnhance | ||
) |
设置通道高级跳帧中bBlackEnhance属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | bBlackEnhance | 逻辑值,对应IMPEncoderAttrHSkip中bBlackEnhance值 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetChnROI | ( | int | encChn, |
const IMPEncoderROICfg * | pstVencRoiCfg | ||
) |
设置通道ROI属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstFpsCfg | ROI属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetFisheyeEnableStatus | ( | int | encChn, |
int | enable | ||
) |
设置Ingenic提供的鱼眼矫正算法的使能状态
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | enable | 0:不使能(默认),1:使能 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetGOPSize | ( | int | encChn, |
const IMPEncoderGOPSizeCfg * | pstGOPSizeCfg | ||
) |
设置通道GOP属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[out] | pstGOPSizeCfg | GOP属性参数 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetH264TransCfg | ( | int | encChn, |
const IMPEncoderH264TransCfg * | pstH264TransCfg | ||
) |
设置 H.264 协议编码通道的变换、量化的属性
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | pstH264TransCfg | H.264 协议编码通道的变换、量化属性 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetJpegeQl | ( | int | encChn, |
const IMPEncoderJpegeQl * | pstJpegeQl | ||
) |
设置 JPEG 协议编码通道的量化表配置参数
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | pstJpegeQl | JPEG 协议编码通道的量化表配置参数,前128个字节填入量化表,后128个字节填0 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetMaxStreamCnt | ( | int | encChn, |
int | nrMaxStream | ||
) |
设置码流缓存Buffer个数
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | nrMaxStream | 码流Buffer数,取值范围: [1, NR_MAX_ENC_CHN_STREAM] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetMbRC | ( | int | encChn, |
int | bEnable | ||
) |
设置是否开启宏块级qp控制
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | bEnable | 0:不开启(默认), 1:开启 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_SetSuperFrameCfg | ( | int | encChn, |
const IMPEncoderSuperFrmCfg * | pstSuperFrmParam | ||
) |
设置编码超大帧配置
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
[in] | pstSuperFrmParam | 编码超大帧配置 |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_StartRecvPic | ( | int | encChn | ) |
开启编码Channel接收图像
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_StopRecvPic | ( | int | encChn | ) |
停止编码Channel接收图像
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
0 | 成功 |
非0 | 失败 |
int IMP_Encoder_UnRegisterChn | ( | int | encChn | ) |
反注册编码Channel到Group
[in] | encChn | 编码Channel号,取值范围: [0, NR_MAX_ENC_CHN - 1] |
0 | 成功 |
非0 | 失败 |