09-29-2018, 09:48 AM
Use this API ERRORTYPE AW_MPI_VENC_SetChnAttr(VENC_CHN VeChn, const VENC_CHN_ATTR_S *pAttr)
typedef struct VENC_CHN_ATTR_S
{
VENC_ATTR_S VeAttr; /*the attribute of video encoder*/
VENC_RC_ATTR_S RcAttr; /*the attribute of rate ctrl*/
}VENC_CHN_ATTR_S;
typedef struct VENC_RC_ATTR_S
{
VENC_RC_MODE_E mRcMode; /*the type of rc*/
union
{
VENC_ATTR_H264_CBR_S mAttrH264Cbr;
VENC_ATTR_H264_VBR_S mAttrH264Vbr;
VENC_ATTR_H264_FIXQP_S mAttrH264FixQp;
VENC_ATTR_H264_ABR_S mAttrH264Abr;
VENC_ATTR_H264_QPMAP_S mAttrH264QpMap;
VENC_ATTR_MPEG4_CBR_S mAttrMpeg4Cbr;
VENC_ATTR_MPEG4_FIXQP_S mAttrMpeg4FixQp;
VENC_ATTR_MPEG4_VBR_S mAttrMpeg4Vbr;
VENC_ATTR_MJPEG_CBR_S mAttrMjpegeCbr;
VENC_ATTR_MJPEG_FIXQP_S mAttrMjpegeFixQp;
VENC_ATTR_MJPEG_VBR_S mAttrMjpegeVbr;
VENC_ATTR_H265_CBR_S mAttrH265Cbr;
VENC_ATTR_H265_VBR_S mAttrH265Vbr;
VENC_ATTR_H265_FIXQP_S mAttrH265FixQp;
VENC_ATTR_H265_ABR_S mAttrH265Abr;
VENC_ATTR_H265_QPMAP_S mAttrH265QpMap;
};
void* pRcAttr ;
}VENC_RC_ATTR_S;
if u use h264 CBR,set bitrate in this
VENC_ATTR_H264_CBR_S
typedef struct VENC_ATTR_H264_CBR_S
{
unsigned int mGop;
unsigned int mStatTime;
unsigned int mSrcFrmRate;
unsigned int fr32DstFrmRate ;
unsigned int mBitRate;
unsigned int mFluctuateLevel;
} VENC_ATTR_H264_CBR_S;
here unsigned int mBitRate;
typedef struct VENC_CHN_ATTR_S
{
VENC_ATTR_S VeAttr; /*the attribute of video encoder*/
VENC_RC_ATTR_S RcAttr; /*the attribute of rate ctrl*/
}VENC_CHN_ATTR_S;
typedef struct VENC_RC_ATTR_S
{
VENC_RC_MODE_E mRcMode; /*the type of rc*/
union
{
VENC_ATTR_H264_CBR_S mAttrH264Cbr;
VENC_ATTR_H264_VBR_S mAttrH264Vbr;
VENC_ATTR_H264_FIXQP_S mAttrH264FixQp;
VENC_ATTR_H264_ABR_S mAttrH264Abr;
VENC_ATTR_H264_QPMAP_S mAttrH264QpMap;
VENC_ATTR_MPEG4_CBR_S mAttrMpeg4Cbr;
VENC_ATTR_MPEG4_FIXQP_S mAttrMpeg4FixQp;
VENC_ATTR_MPEG4_VBR_S mAttrMpeg4Vbr;
VENC_ATTR_MJPEG_CBR_S mAttrMjpegeCbr;
VENC_ATTR_MJPEG_FIXQP_S mAttrMjpegeFixQp;
VENC_ATTR_MJPEG_VBR_S mAttrMjpegeVbr;
VENC_ATTR_H265_CBR_S mAttrH265Cbr;
VENC_ATTR_H265_VBR_S mAttrH265Vbr;
VENC_ATTR_H265_FIXQP_S mAttrH265FixQp;
VENC_ATTR_H265_ABR_S mAttrH265Abr;
VENC_ATTR_H265_QPMAP_S mAttrH265QpMap;
};
void* pRcAttr ;
}VENC_RC_ATTR_S;
if u use h264 CBR,set bitrate in this
VENC_ATTR_H264_CBR_S
typedef struct VENC_ATTR_H264_CBR_S
{
unsigned int mGop;
unsigned int mStatTime;
unsigned int mSrcFrmRate;
unsigned int fr32DstFrmRate ;
unsigned int mBitRate;
unsigned int mFluctuateLevel;
} VENC_ATTR_H264_CBR_S;
here unsigned int mBitRate;