7 #ifndef __IMP_ENCODER_H__
8 #define __IMP_ENCODER_H__
363 IMP_RC_SUPERFRM_BUTT = 3,
373 IMP_RC_PRIORITY_BUTT = 3,
394 uint8_t interScalingList8X8[64];
395 uint8_t intraScalingList8X8[64];
404 uint8_t qmem_table[256];
int dnIQp
去噪I帧量化参数
Definition: imp_encoder.h:137
int iBiasLvl
调整I帧QP以调节I帧的图像质量及其码流大小,范围:[-3,3]
Definition: imp_encoder.h:82
bool gopRelation
GOP是否关联
Definition: imp_encoder.h:86
超大帧阈值优先
Definition: imp_encoder.h:372
uint32_t changePos
开始调整 Qp 时的码率相对于最大码率的比例,取值范围:[50, 100]
Definition: imp_encoder.h:114
int IMP_Encoder_SetChnROI(int encChn, const IMPEncoderROICfg *pstVencRoiCfg)
设置通道ROI属性
int IMP_Encoder_SetChnColor2Grey(int encChn, const IMPEncoderColor2GreyCfg *pstColor2Grey)
设置彩转灰功能
编码条带数据分割块B
Definition: imp_encoder.h:229
IMPEncoderH264NaluType
H264码流NALU类型
Definition: imp_encoder.h:225
int IMP_Encoder_GetGOPSize(int encChn, IMPEncoderGOPSizeCfg *pstGOPSizeCfg)
获取通道GOP属性
int s32Qp
ROI区域的相对或绝对qp值
Definition: imp_encoder.h:352
int IMP_Encoder_GetChnROI(int encChn, IMPEncoderROICfg *pstVencRoiCfg)
获取通道ROI属性
int64_t timestamp
时间戳,单位us
Definition: imp_encoder.h:254
int IMP_Encoder_ReleaseStream(int encChn, IMPEncoderStream *stream)
释放码流缓存
bool gopRelation
gop是否关联
Definition: imp_encoder.h:102
IMPEncoderAttr encAttr
编码器属性结构体
Definition: imp_encoder.h:308
int n
参考帧间隔数
Definition: imp_encoder.h:182
定义编码Channel码率控制器属性
Definition: imp_encoder.h:212
IMPEncoderCropCfg crop
编码器裁剪属性
Definition: imp_encoder.h:300
bool gopRelation
gop是否关联
Definition: imp_encoder.h:118
丢帧模式
Definition: imp_encoder.h:147
int32_t iBiasLvl
调整I帧QP以调节I帧的图像质量及其码流大小,范围:[-3,3]
Definition: imp_encoder.h:113
uint32_t superPFrmBitsThr
P 帧超大阈值, 默认为I帧超大阈值除以1.4.
Definition: imp_encoder.h:382
int IMP_Encoder_SetChnHSkipBlackEnhance(int encChn, const int bBlackEnhance)
设置通道高级跳帧中bBlackEnhance属性
int32_t iBiasLvl
调整I帧QP以调节I帧的图像质量及其码流大小,范围:[-3,3]
Definition: imp_encoder.h:97
uint32_t interTransMode
帧间预测的变换模式 0:支持 4x4,8x8 变换, high profile 支持; 1:4x4 变换, baseline, main, high profile 均支持; 2: 8x8 变换, high profile 支持; 目前只支持配置1
Definition: imp_encoder.h:392
IMPSkipType maxHSkipType
需要使用的最大跳帧类型
Definition: imp_encoder.h:193
uint32_t bufSize
配置 buffer 大小,取值范围:不小于图像宽高乘积的1.5倍。设置通道编码属性时,将此参数设置为0,IMP内部会...
Definition: imp_encoder.h:296
bool enable
开启或关闭彩转灰功能
Definition: imp_encoder.h:328
IMPEncoderPack * pack
帧码流包结构
Definition: imp_encoder.h:264
IMPRefType
Definition: imp_encoder.h:169
定义帧码流类型结构体
Definition: imp_encoder.h:263
uint32_t superBFrmBitsThr
B 帧超大阈值, 默认为P帧超大阈值除以1.3, 暂不支持B帧
Definition: imp_encoder.h:383
IMPEncoderAttrH264FixQP attrH264FixQp
H.264 协议编码Channel Fixqp 模式属性
Definition: imp_encoder.h:202
EncFrmUsedMode frmUsedMode
输入帧使用模式
Definition: imp_encoder.h:155
uint32_t maxQp
编码器支持图像最大QP
Definition: imp_encoder.h:109
定义H.264编码Channel VBR属性结构
Definition: imp_encoder.h:92
访问单元分隔符
Definition: imp_encoder.h:235
int IMP_Encoder_GetH264TransCfg(int encChn, IMPEncoderH264TransCfg *pstH264TransCfg)
获取 H.264 协议编码通道的变换、量化属性
高级跳帧模式:1M开放跳帧
Definition: imp_encoder.h:165
uint32_t curPacks
当前帧的码流包个数
Definition: imp_encoder.h:320
IDR图像的编码条带
Definition: imp_encoder.h:231
int IMP_Encoder_GetSuperFrameCfg(int encChn, IMPEncoderSuperFrmCfg *pstSuperFrmParam)
获取编码超大帧配置
uint32_t leftStreamFrames
码流buffer剩余的帧数
Definition: imp_encoder.h:319
int dnType
去噪类型,0:忽略,不降噪,1:使用IP帧类型降噪,2:使用I帧类型降噪
Definition: imp_encoder.h:136
bool enable
是否使能去噪功能, 0:忽略,1:按当前帧类型去噪,信息损失最大,2:按I帧去噪,信息损失中等 ...
Definition: imp_encoder.h:135
uint32_t minQp
编码器支持图像最小QP
Definition: imp_encoder.h:110
bool enable
是否进行裁剪,取值范围:[FALSE, TRUE],TRUE:使能裁剪,FALSE:不使能裁剪
Definition: imp_encoder.h:276
uint32_t virAddr
码流包虚拟地址
Definition: imp_encoder.h:251
int IMP_Encoder_UnRegisterChn(int encChn)
反注册编码Channel到Group
定义H.264编码Channel输入帧使用模式属性
Definition: imp_encoder.h:153
int IMP_Encoder_GetChangeRef(int encChn, int *bEnable)
获取是否允许改变BASE帧参考方式的状态
IMPEncoderRcAttr rcAttr
码率控制器属性结构体
Definition: imp_encoder.h:309
IMPEncoderUserDataCfg userData
插入用户数据属性,只针对H264
Definition: imp_encoder.h:301
bool enable
是否使能去马赛克功能
Definition: imp_encoder.h:125
IMPPayloadType enType
编码协议类型
Definition: imp_encoder.h:295
IMPEncoderRcPriority rcPriority
码率控制优先级, 默认为 IMP_RC_PRIORITY_RDO
Definition: imp_encoder.h:384
定义设置EnableIDR参数
Definition: imp_encoder.h:334
uint32_t leftStreamBytes
码流buffer剩余的byte数
Definition: imp_encoder.h:318
IMPPayloadType
编解码协议类型
Definition: imp_common.h:82
一个非IDR图像的编码条带
Definition: imp_encoder.h:227
Smart 模式
Definition: imp_encoder.h:56
int gopsize
IDR参数
Definition: imp_encoder.h:342
定义H.264编码Channel Smart属性结构
Definition: imp_encoder.h:108
bool adaptiveMode
自适应模式
Definition: imp_encoder.h:85
int IMP_Encoder_StopRecvPic(int encChn)
停止编码Channel接收图像
uint32_t frmQPStep
帧间QP变化步长
Definition: imp_encoder.h:100
重编超大帧, 支持
Definition: imp_encoder.h:362
IMPEncoderRcMode
定义编码Channel码率控制器模式
Definition: imp_encoder.h:52
int IMP_Encoder_SetChangeRef(int encChn, int bEnable)
设置是否允许改变BASE帧参考方式的状态
int IMP_Encoder_GetJpegeQl(int encChn, IMPEncoderJpegeQl *pstJpegeQl)
获取 JPEG 协议编码通道的量化表配置参数
IMPEncoderRcPriority
码率控制优先级枚举
Definition: imp_encoder.h:369
int IMP_Encoder_SetChnHSkip(int encChn, const IMPEncoderAttrHSkip *phSkipAttr)
设置通道高级跳帧属性
int IMP_Encoder_GetChnAttrRcMode(int encChn, IMPEncoderAttrRcMode *pstRcModeCfg)
获取码率控制模式属性
uint32_t frmQPStep
帧间QP变化步长
Definition: imp_encoder.h:83
VBR 模式
Definition: imp_encoder.h:55
int IMP_Encoder_DestroyGroup(int encGroup)
销毁编码Grouop.
定义 H.264 协议编码通道变换、量化结构体
Definition: imp_encoder.h:390
uint32_t phyAddr
码流包物理地址
Definition: imp_encoder.h:250
IMPEncoderRcMode rcMode
RC 模式
Definition: imp_encoder.h:200
IMPEncoderAttrHSkip hSkipAttr
高级跳帧属性
Definition: imp_encoder.h:192
编码条带数据分割块C
Definition: imp_encoder.h:230
bool bEnable
是否使能本区域ROI功能
Definition: imp_encoder.h:350
uint32_t changePos
VBR 开始调整 Qp 时的码率相对于最大码率的比例,取值范围:[50, 100].
Definition: imp_encoder.h:98
IMPEncoderSuperFrmMode
定义码率控制中超大帧处理模式
Definition: imp_encoder.h:359
uint32_t length
码流包长度
Definition: imp_encoder.h:252
IMPSkipType skipType
跳帧类型
Definition: imp_encoder.h:180
uint32_t w
裁剪的区域,宽
Definition: imp_encoder.h:279
uint32_t profile
编码的等级, 0: baseline; 1:MP; 2:HP
Definition: imp_encoder.h:297
定义编码Channel的状态结构体
Definition: imp_encoder.h:315
定义彩转灰(C2G)参数
Definition: imp_encoder.h:327
IMPEncoderAttrInitHSkip attrHSkip
高级跳帧初始化属性
Definition: imp_encoder.h:219
uint32_t x
裁剪的区域,左上角x坐标
Definition: imp_encoder.h:277
IMPEncoderSuperFrmMode superFrmMode
超大帧处理模式,默认为 SUPERFRM_REENCODE
Definition: imp_encoder.h:380
int IMP_Encoder_GetMbRC(int encChn, int *bEnable)
获取是否开启宏块级qp控制的状态
INV 模式
Definition: imp_encoder.h:57
int demaskThresd
去马赛克阈值
Definition: imp_encoder.h:128
int IMP_Encoder_SetChnFrmRate(int encChn, const IMPEncoderFrmRate *pstFps)
动态设置帧率控制属性
重复使用帧模式
Definition: imp_encoder.h:146
int maxSameSceneCnt
同一场景占用gop最大数目,仅对H1M Skip类型有效,若设为未大于0,则m值不起作用
Definition: imp_encoder.h:183
uint32_t maxUserDataSize
最大用户插入数据缓存空间大小,范围:16-1024
Definition: imp_encoder.h:288
辅助增强信息 (SEI)
Definition: imp_encoder.h:232
顺序全使用模式-默认模式
Definition: imp_encoder.h:145
uint32_t qualityLvl
视频质量最低水平, 范围[0-7], 值越低图像质量越高, 但码流越大.
Definition: imp_encoder.h:115
高级跳帧模式:N1开放跳帧
Definition: imp_encoder.h:163
uint32_t picWidth
编码图像宽度
Definition: imp_encoder.h:298
int m
增强帧间隔数
Definition: imp_encoder.h:181
uint32_t frmRateDen
在一帧内的时间单元的数量, 以时间单元为单位。即帧率的分母
Definition: imp_encoder.h:65
定义H.264编码Channel CBR属性结构
Definition: imp_encoder.h:78
int IMP_Encoder_RequestIDR(int encChn)
请求IDR帧
int IMP_Encoder_GetFisheyeEnableStatus(int encChn, int *enable)
获取Ingenic提供的鱼眼矫正算法的使能状态
uint32_t frmUsedTimes
在重复帧或丢帧模式下每次使用的帧间隔
Definition: imp_encoder.h:156
定义H264高级跳帧类型初始化结构体
Definition: imp_encoder.h:191
bool enable
是否设置EnableIDR
Definition: imp_encoder.h:335
uint32_t gopQPStep
GOP间QP变化步长
Definition: imp_encoder.h:101
uint32_t superIFrmBitsThr
I 帧超大阈值, 默认为w*h*3/2*8/ratio, ratio: 主分辨率为6, 次分辨率为3.
Definition: imp_encoder.h:381
高级跳帧模式中的长期基本帧
Definition: imp_encoder.h:171
int IMP_Encoder_SetChnFrmUsedMode(int encChn, const IMPEncoderAttrFrmUsed *pfrmUsedAttr)
设置通道输入帧使用模式属性
uint32_t y
裁剪的区域,左上角y坐标
Definition: imp_encoder.h:278
uint32_t gopQPStep
GOP间QP变化步长
Definition: imp_encoder.h:84
int IMP_Encoder_FlushStream(int encChn)
刷掉编码器里残留的旧码流,并以IDR帧开始编码
定义H.264编码Channel Fixqp属性结构
Definition: imp_encoder.h:71
定义编码Channel属性结构体
Definition: imp_encoder.h:307
填充数据
Definition: imp_encoder.h:236
int IMP_Encoder_GetChnFrmUsedMode(int encChn, IMPEncoderAttrFrmUsed *pfrmUsedAttr)
获取通道输入帧使用模式属性
IMPEncoderAttrH264CBR attrH264Cbr
H.264 协议编码Channel Cbr 模式属性
Definition: imp_encoder.h:203
uint32_t seq
码流序列号,按帧获取帧序号,按包获取包序号
Definition: imp_encoder.h:266
int IMP_Encoder_SetChnDemask(int encChn, const IMPEncoderAttrDemask *pdemaskAttr)
设置通道去马赛克属性
uint32_t maxBitRate
编码器输出最大码率,以kbps为单位
Definition: imp_encoder.h:112
高级跳帧模式:N1封闭跳帧
Definition: imp_encoder.h:164
int bBlackEnhance
是否使得增强帧以空码流输出
Definition: imp_encoder.h:185
uint32_t leftPics
待编码的图像数
Definition: imp_encoder.h:317
IMPEncoderAttrH264VBR attrH264Vbr
H.264 协议编码Channel Vbr 模式属性
Definition: imp_encoder.h:204
IMPEncoderFrmRate outFrmRate
编码Channel的输出帧率(输出帧率不能大于输入帧率)
Definition: imp_encoder.h:213
Fixqp 模式
Definition: imp_encoder.h:53
int IMP_Encoder_GetChnDemask(int encChn, IMPEncoderAttrDemask *pdemaskAttr)
获取通道去马赛克属性
int IMP_Encoder_SetGOPSize(int encChn, const IMPEncoderGOPSizeCfg *pstGOPSizeCfg)
设置通道GOP属性
Definition: imp_encoder.h:402
uint32_t maxGop
gop值,必须是帧率的整数倍
Definition: imp_encoder.h:214
定义设置ROI参数
Definition: imp_encoder.h:348
uint32_t frmRateNum
在一秒钟内的时间单元的数量, 以时间单元为单位。即帧率的分子
Definition: imp_encoder.h:64
定义编码器裁剪属性,针对输入编码器的图像先做裁剪,与编码通道的尺寸进行比较再做缩放 ...
Definition: imp_encoder.h:275
IMPEncoderAttrRcMode attrRcMode
码率控制模式属性
Definition: imp_encoder.h:215
序列参数集
Definition: imp_encoder.h:233
目标码率与质量平衡
Definition: imp_encoder.h:370
定义编码channel帧率结构体,frmRateNum和frmRateDen经过最大公约数整除后两者之间的最小公倍数不能超过64,...
Definition: imp_encoder.h:63
uint32_t staticTime
码率统计时间,以秒为单位
Definition: imp_encoder.h:95
IMPRect rect
区域坐标属性
Definition: imp_encoder.h:353
高级跳帧模式中的增强帧
Definition: imp_encoder.h:173
IMPEncoderAttrDenoise attrDenoise
去噪属性
Definition: imp_encoder.h:218
2倍跳帧参考
Definition: imp_encoder.h:161
int IMP_Encoder_SetJpegeQl(int encChn, const IMPEncoderJpegeQl *pstJpegeQl)
设置 JPEG 协议编码通道的量化表配置参数
无特殊策略, 支持
Definition: imp_encoder.h:360
IMPEncoderAttrH264Smart attrH264Smart
H.264 协议编码Channel Smart 模式属性
Definition: imp_encoder.h:205
int IMP_Encoder_DestroyChn(int encChn)
销毁编码Channel
定义编码器属性结构体
Definition: imp_encoder.h:294
int IMP_Encoder_SetChnDenoise(int encChn, const IMPEncoderAttrDenoise *pdenoiseAttr)
设置通道去噪属性
int IMP_Encoder_CreateGroup(int encGroup)
创建编码Group
丢弃超大帧, 不支持, 由调用者自己决定是否丢弃
Definition: imp_encoder.h:361
bool bRelatedQp
0:绝对ROI,1:相对ROI
Definition: imp_encoder.h:351
uint32_t outBitRate
编码器输出码率,以kbps为单位
Definition: imp_encoder.h:81
bool bScalingListValid
interScalingList8x8、intraScalingList8x8 是否有效标识, 只在 high profile 下才有意义; 0:无效...
Definition: imp_encoder.h:393
int demaskCnt
去马赛克保持时间参数
Definition: imp_encoder.h:127
uint32_t qualityLvl
视频质量最低水平, 范围[0-7], 值越低图像质量越高, 但码流越大, minBitRate = maxBitRate * quality[qualit...
Definition: imp_encoder.h:99
超大帧处理策略参数
Definition: imp_encoder.h:379
int IMP_Encoder_PollingStream(int encChn, uint32_t timeoutMsec)
Polling码流缓存
uint32_t work_done
通道程序运行状态,0:正在运行,1,未运行
Definition: imp_encoder.h:321
uint32_t intraTransMode
帧间预测的变换模式 0:支持 4x4,8x8 变换, high profile 支持; 1:4x4 变换, baseline, main, high profile 均支持; 2: 8x8 变换, high profile 支持; 目前只支持配置1
Definition: imp_encoder.h:391
int IMP_Encoder_GetStream(int encChn, IMPEncoderStream *stream, bool blockFlag)
获取编码的码流
bool isAutoMode
开启自动去马赛克模式, 0:手动,1:自动
Definition: imp_encoder.h:126
int IMP_Encoder_GetMaxStreamCnt(int encChn, int *nrMaxStream)
获取码流Buffer数
uint32_t minQp
编码器支持图像最小QP
Definition: imp_encoder.h:80
定义设置gopsize参数
Definition: imp_encoder.h:341
int IMP_Encoder_InsertUserData(int encChn, void *userData, uint32_t userDataLen)
插入用户数据
定义编码码流类型
Definition: imp_encoder.h:242
int IMP_Encoder_GetChnColor2Grey(int encChn, IMPEncoderColor2GreyCfg *pstColor2Grey)
获取彩转灰功能属性
定义H.264编码Channel去噪属性,一经使能不能改变,但去噪类型可以动态改变;
Definition: imp_encoder.h:134
未指定
Definition: imp_encoder.h:226
int IMP_Encoder_CreateChn(int encChn, const IMPEncoderCHNAttr *attr)
创建编码Channel
uint32_t maxBitRate
编码器输出最大码率,以kbps为单位
Definition: imp_encoder.h:96
uint32_t qp
帧级Qp值
Definition: imp_encoder.h:72
int dnPQp
去噪P帧量化参数
Definition: imp_encoder.h:138
int IMP_Encoder_Query(int encChn, IMPEncoderCHNStat *stat)
查询编码Channel状态
编码条带数据分割块A
Definition: imp_encoder.h:228
高级跳帧模式中的关键帧
Definition: imp_encoder.h:170
int chroma_qp_index_offset
具体含义请参见 H.264 协议, 系统默认值为 0; 取值范围:[-12, 12]
Definition: imp_encoder.h:396
CBR 模式
Definition: imp_encoder.h:54
uint32_t gopQPStep
gop间QP变化步长
Definition: imp_encoder.h:117
int IMP_Encoder_GetChnDenoise(int encChn, IMPEncoderAttrDenoise *pdenoiseAttr)
获取通道去噪属性
定义H264高级跳帧类型结构体
Definition: imp_encoder.h:179
1倍跳帧参考
Definition: imp_encoder.h:160
uint32_t packCount
一帧码流的所有包的个数
Definition: imp_encoder.h:265
int IMP_Encoder_GetChnFrmRate(int encChn, IMPEncoderFrmRate *pstFps)
获取帧率控制属性
int IMP_Encoder_GetChnHSkip(int encChn, IMPEncoderAttrHSkip *phSkipAttr)
获取通道高级跳帧属性
int IMP_Encoder_SetH264TransCfg(int encChn, const IMPEncoderH264TransCfg *pstH264TransCfg)
设置 H.264 协议编码通道的变换、量化的属性
bool frameEnd
帧结束标识
Definition: imp_encoder.h:255
EncFrmUsedMode
定义H.264编码Channel输入帧使用模式
Definition: imp_encoder.h:144
IMPEncoderDataType dataType
码流类型
Definition: imp_encoder.h:257
IMPEncoderH264NaluType h264Type
H264E NALU 码流包类型
Definition: imp_encoder.h:243
uint32_t picHeight
编码图像高度
Definition: imp_encoder.h:299
IMPEncoderAttrFrmUsed attrFrmUsed
输入帧使用模式属性
Definition: imp_encoder.h:216
IMPEncoderAttrDemask attrDemask
去马赛克属性
Definition: imp_encoder.h:217
int IMP_Encoder_SetChnAttrRcMode(int encChn, const IMPEncoderAttrRcMode *pstRcModeCfg)
设置码率控制模式属性
uint32_t staticTime
码率统计时间,以秒为单位
Definition: imp_encoder.h:111
uint32_t maxQp
编码器支持图像最大QP
Definition: imp_encoder.h:79
uint32_t minQp
编码器支持图像最小QP
Definition: imp_encoder.h:94
uint32_t h
裁剪的区域,高
Definition: imp_encoder.h:280
int IMP_Encoder_GetChnAttr(int encChn, IMPEncoderCHNAttr *const attr)
获取编码Channel的属性
uint32_t frmQPStep
帧间QP变化步长
Definition: imp_encoder.h:116
高级跳帧模式中的短期基本帧
Definition: imp_encoder.h:172
int bEnableScenecut
是否使能场景切换,仅对H1M Skip类型有效
Definition: imp_encoder.h:184
定义帧码流包结构体
Definition: imp_encoder.h:249
int IMP_Encoder_RegisterChn(int encGroup, int encChn)
注册编码Channel到Group
bool registered
注册到Group标志,取值范围:{TRUE, FALSE},TRUE:注册,FALSE:未注册
Definition: imp_encoder.h:316
bool user_ql_en
0: 使用默认量化表; 1:使用用户量化表
Definition: imp_encoder.h:403
uint32_t maxQp
编码器支持图像最大QP
Definition: imp_encoder.h:93
IMPSkipType
Definition: imp_encoder.h:159
定义H.264编码Channel去马赛克属性
Definition: imp_encoder.h:124
图像参数集
Definition: imp_encoder.h:234
定义编码Channel码率控制器码率控制模式属性
Definition: imp_encoder.h:199
uint32_t u32Index
ROI区域索引值,支持0-7.
Definition: imp_encoder.h:349
bool enable
是否使能输入帧使用模式
Definition: imp_encoder.h:154
目标码率优先
Definition: imp_encoder.h:371
定义编码器插入用户数据属性,只针对H264
Definition: imp_encoder.h:286
高级跳帧模式:1M封闭跳帧
Definition: imp_encoder.h:166
int IMP_Encoder_SetMaxStreamCnt(int encChn, int nrMaxStream)
设置码流缓存Buffer个数
int IMP_Encoder_StartRecvPic(int encChn)
开启编码Channel接收图像
4倍跳帧参考
Definition: imp_encoder.h:162
int IMP_Encoder_SetMbRC(int encChn, int bEnable)
设置是否开启宏块级qp控制
IMP 矩形区域信息.
Definition: imp_common.h:162
int IMP_Encoder_SetSuperFrameCfg(int encChn, const IMPEncoderSuperFrmCfg *pstSuperFrmParam)
设置编码超大帧配置
int IMP_Encoder_SetFisheyeEnableStatus(int encChn, int enable)
设置Ingenic提供的鱼眼矫正算法的使能状态
uint32_t maxUserDataCnt
最大用户插入数据缓存空间个数,范围:0-2
Definition: imp_encoder.h:287