ISVP-SDK  3.12.0
Ingenic Smart Video Platform SDK
Data Structures | Enumerations | Functions
imp_encoder.h File Reference

IMP video encoding header file. More...

#include <stdint.h>
#include <stdbool.h>
Include dependency graph for imp_encoder.h:

Go to the source code of this file.

Data Structures

struct  IMPEncoderFrmRate
 Define video encode channel framerate structure frmRateNum and frmRateDen is LCM must be 1 and GCD must be not greater than 64 The least common multiple of the greatest common divisor divisibility between frmRateNum and frmRateDen can not be more than 64, it is better to get the greatest common divisor number before the settings. More...
 
struct  IMPEncoderAttrH264FixQP
 Define the FixQp ratecontrol attribute of h264 channel. More...
 
struct  IMPEncoderAttrH264CBR
 Define the CBR ratecontrol attribute of h264 channel. More...
 
struct  IMPEncoderAttrH264VBR
 Define the VBR ratecontrol attribute of h264 channel. More...
 
struct  IMPEncoderAttrH264Smart
 Define the Smart ratecontrol attribute of h264 channel. More...
 
struct  IMPEncoderAttrDemask
 Define the demask attribute of h264 channel, it is suggested not to use it. More...
 
struct  IMPEncoderAttrDenoise
 Define the denoise attribute of h264 channel. More...
 
struct  IMPEncoderAttrFrmUsed
 Define the input frame usage mode attribute of h264 channel. More...
 
struct  IMPEncoderAttrHSkip
 Define high skip frame type structure of h264 channel. More...
 
struct  IMPEncoderAttrInitHSkip
 Define high skip frame type init structure of h264 channel. More...
 
struct  IMPEncoderAttrRcMode
 Define the channel ratecontroller mode attribute. More...
 
struct  IMPEncoderRcAttr
 Define the channel ratecontroller attribute. More...
 
union  IMPEncoderDataType
 Define the H264E bitstream type. More...
 
struct  IMPEncoderPack
 Define frame bitstream packet structure. More...
 
struct  IMPEncoderStream
 Define the bitstream structure of one frame. More...
 
struct  IMPEncoderCropCfg
 Define the encoder crop attribute(crop first, scaler second) More...
 
struct  IMPEncoderUserDataCfg
 Define insert user data attribute of h264 channel. More...
 
struct  IMPEncoderAttr
 Define encoder attribute structure. More...
 
struct  IMPEncoderCHNAttr
 Define encoder channel attribute structure. More...
 
struct  IMPEncoderCHNStat
 Define encode channel state attribute structure. More...
 
struct  IMPEncoderColor2GreyCfg
 Define color to grey parameter. More...
 
struct  IMPEncoderEnIDRCfg
 Define the Enalbe IDR parameter. More...
 
struct  IMPEncoderGOPSizeCfg
 Define the gopsize parameter. More...
 
struct  IMPEncoderROICfg
 Define ROI parameters. More...
 
struct  IMPEncoderSuperFrmCfg
 Paramete of super frame process strategy. More...
 
struct  IMPEncoderH264TransCfg
 Define H.264 encoder channel transform quantization struct. More...
 
struct  IMPEncoderJpegeQl
 Define JPEG encoder channel quantization table set param struct. More...
 

Enumerations

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
}
 Define h264 channel ratecontrol method. More...
 
enum  EncFrmUsedMode { ENC_FRM_BYPASS = 0, ENC_FRM_REUSED = 1, ENC_FRM_SKIP = 2 }
 Define the input frame usage mode of h264 channel. More...
 
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 stream NAL unit type codes. More...
 
enum  IMPEncoderSuperFrmMode { IMP_RC_SUPERFRM_NONE = 0, IMP_RC_SUPERFRM_DISCARD = 1, IMP_RC_SUPERFRM_REENCODE = 2, IMP_RC_SUPERFRM_BUTT = 3 }
 Define process strategy of ratecontrol super frame. More...
 
enum  IMPEncoderRcPriority { IMP_RC_PRIORITY_RDO = 0, IMP_RC_PRIORITY_BITRATE_FIRST = 1, IMP_RC_PRIORITY_FRAMEBITS_FIRST = 2, IMP_RC_PRIORITY_BUTT = 3 }
 Define priority type of ratecontrol. More...
 

Functions

int IMP_Encoder_CreateGroup (int encGroup)
 Create encode Group. More...
 
int IMP_Encoder_DestroyGroup (int encGroup)
 destroy the encoding Group More...
 
int IMP_Encoder_CreateChn (int encChn, const IMPEncoderCHNAttr *attr)
 create encoding channel More...
 
int IMP_Encoder_DestroyChn (int encChn)
 destroy encode Channel More...
 
int IMP_Encoder_GetChnAttr (int encChn, IMPEncoderCHNAttr *const attr)
 get encode channel attribute More...
 
int IMP_Encoder_RegisterChn (int encGroup, int encChn)
 register encode channel to Group More...
 
int IMP_Encoder_UnRegisterChn (int encChn)
 unregister encode channel from group More...
 
int IMP_Encoder_StartRecvPic (int encChn)
 start encode channel to receive frames More...
 
int IMP_Encoder_StopRecvPic (int encChn)
 stop encode channel to receive frames More...
 
int IMP_Encoder_Query (int encChn, IMPEncoderCHNStat *stat)
 query encode channel state More...
 
int IMP_Encoder_GetStream (int encChn, IMPEncoderStream *stream, bool blockFlag)
 Get encode bitstream. More...
 
int IMP_Encoder_ReleaseStream (int encChn, IMPEncoderStream *stream)
 release the bitstream buffer More...
 
int IMP_Encoder_PollingStream (int encChn, uint32_t timeoutMsec)
 Polling bitstream buffer. More...
 
int IMP_Encoder_SetMaxStreamCnt (int encChn, int nrMaxStream)
 Set bitstream buffer number. More...
 
int IMP_Encoder_GetMaxStreamCnt (int encChn, int *nrMaxStream)
 Get bitstream buffer number. More...
 
int IMP_Encoder_RequestIDR (int encChn)
 Requst IDR frame. More...
 
int IMP_Encoder_FlushStream (int encChn)
 flush old bitstream of encoder and start with idr frame to encode More...
 
int IMP_Encoder_SetChnColor2Grey (int encChn, const IMPEncoderColor2GreyCfg *pstColor2Grey)
 set color to grey attribute More...
 
int IMP_Encoder_GetChnColor2Grey (int encChn, IMPEncoderColor2GreyCfg *pstColor2Grey)
 get color to grey attribute More...
 
int IMP_Encoder_SetChnAttrRcMode (int encChn, const IMPEncoderAttrRcMode *pstRcModeCfg)
 Set encoding channel rate controller mode attribute(s) More...
 
int IMP_Encoder_GetChnAttrRcMode (int encChn, IMPEncoderAttrRcMode *pstRcModeCfg)
 Get encode channel rate controller mode attribute(s) More...
 
int IMP_Encoder_SetChnFrmRate (int encChn, const IMPEncoderFrmRate *pstFps)
 Set encode channel framerate controlled attribute. More...
 
int IMP_Encoder_GetChnFrmRate (int encChn, IMPEncoderFrmRate *pstFps)
 Get encode channel framerate controlled attribute. More...
 
int IMP_Encoder_SetChnROI (int encChn, const IMPEncoderROICfg *pstVencRoiCfg)
 Set encoder channel ROI attribute. More...
 
int IMP_Encoder_GetChnROI (int encChn, IMPEncoderROICfg *pstVencRoiCfg)
 Get encoder channel roi attribute. More...
 
int IMP_Encoder_GetGOPSize (int encChn, IMPEncoderGOPSizeCfg *pstGOPSizeCfg)
 Get encoder channel GOP attribute. More...
 
int IMP_Encoder_SetGOPSize (int encChn, const IMPEncoderGOPSizeCfg *pstGOPSizeCfg)
 Set encoder channel gop attribute. More...
 
int IMP_Encoder_SetChnDemask (int encChn, const IMPEncoderAttrDemask *pdemaskAttr)
 Set encoder channel demask attribute. More...
 
int IMP_Encoder_GetChnDemask (int encChn, IMPEncoderAttrDemask *pdemaskAttr)
 Get encoder channel demask attribute. More...
 
int IMP_Encoder_SetChnFrmUsedMode (int encChn, const IMPEncoderAttrFrmUsed *pfrmUsedAttr)
 Set encoder channel input frame usage mode attribute. More...
 
int IMP_Encoder_GetChnFrmUsedMode (int encChn, IMPEncoderAttrFrmUsed *pfrmUsedAttr)
 Get encoder channel input frame usage mode attribute. More...
 
int IMP_Encoder_SetChnDenoise (int encChn, const IMPEncoderAttrDenoise *pdenoiseAttr)
 Set encode channel denoise attribute. More...
 
int IMP_Encoder_GetChnDenoise (int encChn, IMPEncoderAttrDenoise *pdenoiseAttr)
 Get encode channel denoise attribute. More...
 
int IMP_Encoder_SetChnHSkip (int encChn, const IMPEncoderAttrHSkip *phSkipAttr)
 Set encode channel high skip reference attribute. More...
 
int IMP_Encoder_GetChnHSkip (int encChn, IMPEncoderAttrHSkip *phSkipAttr)
 Get encode channel high skip reference attribute. More...
 
int IMP_Encoder_SetChnHSkipBlackEnhance (int encChn, const int bBlackEnhance)
 Set encode channel'bBlackEnhance in high skip reference attribute. More...
 
int IMP_Encoder_InsertUserData (int encChn, void *userData, uint32_t userDataLen)
 insert userdata More...
 
int IMP_Encoder_SetFisheyeEnableStatus (int encChn, int enable)
 set enabled status of ingenic fisheye correction algorithm More...
 
int IMP_Encoder_GetFisheyeEnableStatus (int encChn, int *enable)
 get enabled status of ingenic fisheye correction algorithm More...
 
int IMP_Encoder_SetChangeRef (int encChn, int bEnable)
 set whether allow change base skip frame's reference or not More...
 
int IMP_Encoder_GetChangeRef (int encChn, int *bEnable)
 get whether allow change base skip frame's reference or not More...
 
int IMP_Encoder_SetMbRC (int encChn, int bEnable)
 set whether open mb ratecontrol or not More...
 
int IMP_Encoder_GetMbRC (int encChn, int *bEnable)
 get the status whether open mb ratecontrol or not More...
 
int IMP_Encoder_SetSuperFrameCfg (int encChn, const IMPEncoderSuperFrmCfg *pstSuperFrmParam)
 Set video coded supper frame configuration. More...
 
int IMP_Encoder_GetSuperFrameCfg (int encChn, IMPEncoderSuperFrmCfg *pstSuperFrmParam)
 Get video coded supper frame configuration. More...
 
int IMP_Encoder_SetH264TransCfg (int encChn, const IMPEncoderH264TransCfg *pstH264TransCfg)
 Set H.264 encode channel transform and quantization attribute. More...
 
int IMP_Encoder_GetH264TransCfg (int encChn, IMPEncoderH264TransCfg *pstH264TransCfg)
 Get H.264 encode channel transform and quantization attribute. More...
 
int IMP_Encoder_SetJpegeQl (int encChn, const IMPEncoderJpegeQl *pstJpegeQl)
 Set JPEG encode channel quantization table set param. More...
 
int IMP_Encoder_GetJpegeQl (int encChn, IMPEncoderJpegeQl *pstJpegeQl)
 Get JPEG encode channel quantization table set param. More...
 

Detailed Description

IMP video encoding header file.