ISVP-SDK  3.12.0
Ingenic Smart Video Platform SDK
结构体 | 枚举 | 函数
imp_encoder.h 文件参考

IMP视频编码头文件 更多...

#include <stdint.h>
#include <stdbool.h>
imp_encoder.h 的引用(Include)关系图:

浏览源代码.

结构体

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
 

枚举

enum  IMPEncoderRcMode {
  ENC_RC_MODE_FIXQP = 0, ENC_RC_MODE_CBR = 1, ENC_RC_MODE_VBR = 2, ENC_RC_MODE_SMART = 3,
  ENC_RC_MODE_INV = 4
}
 定义编码Channel码率控制器模式 更多...
 
enum  EncFrmUsedMode { ENC_FRM_BYPASS = 0, ENC_FRM_REUSED = 1, ENC_FRM_SKIP = 2 }
 定义H.264编码Channel输入帧使用模式 更多...
 
enum  IMPSkipType {
  IMP_Encoder_STYPE_N1X = 0, IMP_Encoder_STYPE_N2X = 1, IMP_Encoder_STYPE_N4X = 2, IMP_Encoder_STYPE_HN1_FALSE = 3,
  IMP_Encoder_STYPE_HN1_TRUE = 4, IMP_Encoder_STYPE_H1M_FALSE = 5, IMP_Encoder_STYPE_H1M_TRUE = 6
}
 
enum  IMPRefType { IMP_Encoder_FSTYPE_IDR = 0, IMP_Encoder_FSTYPE_LBASE = 1, IMP_Encoder_FSTYPE_SBASE = 2, IMP_Encoder_FSTYPE_ENHANCE = 3 }
 
enum  IMPEncoderH264NaluType {
  IMP_H264_NAL_UNKNOWN = 0, IMP_H264_NAL_SLICE = 1, IMP_H264_NAL_SLICE_DPA = 2, IMP_H264_NAL_SLICE_DPB = 3,
  IMP_H264_NAL_SLICE_DPC = 4, IMP_H264_NAL_SLICE_IDR = 5, IMP_H264_NAL_SEI = 6, IMP_H264_NAL_SPS = 7,
  IMP_H264_NAL_PPS = 8, IMP_H264_NAL_AUD = 9, IMP_H264_NAL_FILLER = 12
}
 H264码流NALU类型 更多...
 
enum  IMPEncoderSuperFrmMode { IMP_RC_SUPERFRM_NONE = 0, IMP_RC_SUPERFRM_DISCARD = 1, IMP_RC_SUPERFRM_REENCODE = 2, IMP_RC_SUPERFRM_BUTT = 3 }
 定义码率控制中超大帧处理模式 更多...
 
enum  IMPEncoderRcPriority { IMP_RC_PRIORITY_RDO = 0, IMP_RC_PRIORITY_BITRATE_FIRST = 1, IMP_RC_PRIORITY_FRAMEBITS_FIRST = 2, IMP_RC_PRIORITY_BUTT = 3 }
 码率控制优先级枚举 更多...
 

函数

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 协议编码通道的量化表配置参数 更多...
 

详细描述

IMP视频编码头文件