7.4. Data Types

Relevant data types and data structures are defined as follows:

7.4.1. VENC_MAX_CHN_NUM

【Description】

Define the maximum number of channels for encoding

【Syntax】

#define VENC_MAX_CHN_NUM             16

【Member】

【Note】

Because the maximum number of channels is related to memory allocation, it is not open for expansion at present.

【Related Data Type and Interface】

None.

7.4.2. VENC_CHN_PARAM_S

【Description】

Define the Venc channel parameter structure.

【Syntax】

 typedef struct _VENC_CHN_PARAM_S {
  CVI_BOOL bColor2Grey;
  CVI_U32 u32Priority
  CVI_U32 u32MaxStrmCnt;
  CVI_U32 u32PollWakeUpFrmCnt;
  VENC_CROP_INFO_S stCropCfg;
  VENC_FRAME_RATE_S stFrameRate;
} VENC_CHN_PARAM_S;

【Member】

Member

Description

bColor2Grey

Reserved, not used yet

u32Priority

Reserved, not used yet

u32MaxStrmCnt

Reserved, not used yet

u32PollWakeUpFrmCnt

Reserved, not used yet

stCropCfg

Channel intercept (Crop) parameter

stFrameRate

Channel frame rate control parameters

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetChnParam

7.4.3. VENC_PACK_S

【Description】

Define the frame stream packet structure.

【Syntax】

 typedef struct _VENC_PACK_S {
  CVI_U64 u64PhyAddr;
  CVI_U8 ATTRIBUTE *pu8Addr;
  CVI_U32 ATTRIBUTE u32Len;
  CVI_U64 u64PTS;
  CVI_BOOL bFrameEnd;
  VENC_DATA_TYPE_U DataType;
  CVI_U32 u32Offset;
  CVI_U32 u32DataNum;
  VENC_PACK_INFO_S stPackInfo[8];
} VENC_PACK_S;

【Member】

Member

Description

u64PhyAddr

The first physical address of the bitstream.

pu8Addr

The first virtual address of the bitstream.

u32Len

The length of the stream packet.

DataType

Stream type, support H.264/JPEG/H.265 protocol type packet.

bFrameEnd

End of frame identifier.

CVI_TRUE: the stream packet is the last packet of the frame.

CVI_FALSE: the stream packet is not the last packet of the frame.

u32Offset

The offset between the valid data in the stream packet and the first address pu8Addr of the stream packet.

u64PTS

Time stamp. Unit: us.

u32DataNum

The number of other types of code stream packets in the current code stream packet (the type of current packet is specified by DataType).

stPackInfo[8]

The current stream packet contains other types of stream packet information.

【Note】

None.

【Related Data Type and Interface】

7.4.4. VENC_STREAM_S

【Description】

Define the frame stream type structure.

【Syntax】

 typedef struct _VENC_STREAM_S {
  VENC_PACK_S ATTRIBUTE *pstPack;
  CVI_U32 ATTRIBUTE u32PackCount;
  CVI_U32 u32Seq;

  union {
  VENC_STREAM_INFO_H264_S stH264Info;
  VENC_STREAM_INFO_JPEG_S stJpegInfo;
  VENC_STREAM_INFO_H265_S stH265Info;
  VENC_STREAM_INFO_PRORES_S stProresInfo;
  };

  union {
  VENC_STREAM_ADVANCE_INFO_H264_S stAdvanceH264Info;
  VENC_STREAM_ADVANCE_INFO_JPEG_S stAdvanceJpegInfo;
  VENC_STREAM_ADVANCE_INFO_H265_S stAdvanceH265Info;
  VENC_STREAM_ADVANCE_INFO_PRORES_S stAdvanceProresInfo;
  };
} VENC_STREAM_S;

【Member】

Member

Description

pstPack

Frame stream packet structure.

u32PackCount

The number of all packets in a frame stream.

u32Seq

Code stream sequence number.

stH264Info/stJpegInfo/stH265Info/stProresInfo

Stream information.

stAdvanceH264Info/stAdvanceJpegInfo/stAdvanceH265Info/stAdvanceProresInfo

Bit stream advanced information.

【Note】

None.

【Related Data Type and Interface】

7.4.5. VENC_GOP_ATTR_S

【Description】

Define the encoder GOP attribute structure.

【Syntax】

 typedef struct _VENC_GOP_ATTR_S {
  VENC_GOP_MODE_E enGopMode;
  union {
  VENC_GOP_NORMALP_S stNormalP;
  VENC_GOP_DUALP_S stDualP;
  VENC_GOP_SMARTP_S stSmartP;
  VENC_GOP_ADVSMARTP_S stAdvSmartP;
  VENC_GOP_BIPREDB_S stBipredB;
  };

} VENC_GOP_ATTR_S;

【Member】

Member

Description

enGopMode

Encoding GOP type.

stNormalP

Encoding single reference frame P frame GOP attribute structure.

stDualP

Reserved, not used yet

stSmartP

Encoding intelligent P-frame GOP attribute structure

stAdvSmartP

Reserved, not used yet

stBipredB

Reserved, not used yet

【Note】

None.

【Related Data Type and Interface】

7.4.6. VENC_GOP_NORMALP_S

【Description】

Define the encoder NormalP GOP attribute structure

【Syntax】

 typedef struct _VENC_GOP_NORMALP_S {
  CVI_S32 s32IPQpDelta;
} VENC_GOP_NORMALP_S;

【Member】

Member

Description

s32IPQpDelta

QP difference between I frame and P frame

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.7. VENC_GOP_SMARTP_S

【Description】

Define the encoder SmartP GOP attribute structure

【Syntax】

 typedef struct _VENC_GOP_SMARTP_S {
  CVI_U32 u32BgInterval;
  CVI_S32 s32BgQpDelta;
  CVI_S32 s32ViQpDelta;
} VENC_GOP_SMARTP_S;

【Member】

Member

Description

u32BgInterval

IDR frame interval

s32BgQpDelta

QP difference between IDR frame and P frame

s32ViQpDelta

QP difference between Vi frame and P frame

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.8. VENC_RECV_PIC_PARAM_S

【Description】

Defines the frame number structure that the coding channel continuously receives and encodes.

【Syntax】

 typedef struct _VENC_RECV_PIC_PARAM_S {
  CVI_S32 s32RecvPicNum;
} VENC_RECV_PIC_PARAM_S;

【Member】

Member

Description

s32RecvPicNum

The number of frames continuously received and encoded by the encoding channel.

Range: [- 1,0) ∪ (0 ∞]

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_StartRecvFrame

7.4.9. VENC_CHN_ATTR_S

【Description】

Define VENC_CHN_ATTR_S attribute.

【Syntax】

 typedef struct _VENC_CHN_ATTR_S {
  VENC_ATTR_S stVencAttr;
  VENC_RC_ATTR_S stRcAttr;
  VENC_GOP_ATTR_S stGopAttr;
} VENC_CHN_ATTR_S;

【Member】

Member

Description

stVencAttr

Venc attribute

stRcAtt

Rate controller properties.

stGopAttr

GOP Mode type structure. Please refer to the above typedef struct _VENC_GOP_ATTR_S

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.10. VENC_ATTR_S

【Description】

Define VENC_ATTR_S attribute.

【Syntax】

 typedef struct _VENC_ATTR_S {
  PAYLOAD_TYPE_E enType;
  CVI_U32 u32MaxPicWidth;
  CVI_U32 u32MaxPicHeight;
  CVI_U32 u32BufSize;
  CVI_U32 u32Profile;
  CVI_BOOL bByFrame;
  CVI_U32 u32PicWidth;
  CVI_U32 u32PicHeight;
  CVI_BOOL bSingleCore;
  CVI_BOOL bEsBufQueueEn;
  CVI_BOOL bIsoSendFrmEn;
  union {
  VENC_ATTR_H264_S stAttrH264e;
  VENC_ATTR_H265_S stAttrH265e;
  VENC_ATTR_JPEG_S stAttrJpege;
  VENC_ATTR_PRORES_S stAttrProres;
  };
} VENC_ATTR_S;

【Member】

Member

Description

enType

payload type.

u32MaxPicWidth

Maximum encoded image width

u32MaxPicHeight

Maximum encoded image height

u32BufSize

Encoded bitstream buffer size

u32Profile

Coding level

bByFrame

Encoded bitstream collection method CVI_TRUE: mainly in frame CVI_FALSE: Mainly in packets

u32PicWidth

Encoded image width

u32PicHeight

Encoded image height

bSingleCore

Only H264 or H265 is used

bEsBufQueueEn

Use an es buffer queue

bIsoSendFrmEn

Removes the restriction that SendFrame/GetStream must be paired

stAttrH264e / stAttrH265e /stAttrJpege / stAttrProres

Encoder attribute

【Note】

Open bIsoSendFrmEn at the same time as bEsBufQueueEn, otherwise there will be a burst screen

The bIsoSendFrmEn function must be disabled in dual-system, the dual-system removes the restriction that SendFrame/GetStream must be paired by default

【Related Data Type and Interface】

7.4.11. VENC_ATTR_H264_S

【Description】

Define H264 encoding attribute.

【Syntax】

 typedef struct _VENC_ATTR_H264_S {
  CVI_BOOL bRcnRefShareBuf;
  CVI_BOOL bSingleLumaBuf;
} VENC_ATTR_H264_S;

【Member】

Member

Description

bRcnRefShareBuf

Reserved

bSingleLumaBuf

  • The FrameBuffer of an encoding channel uses a Luma Buffer

【Note】

None.

【Related Data Type and Interface】

7.4.12. VENC_ATTR_H265_S

【Description】

Define H265 encoding attribute.

【Syntax】

 typedef struct _VENC_ATTR_H265_S {
  CVI_BOOL bRcnRefShareBuf;
} VENC_ATTR_H265_S;

【Member】

Member

Description

bRcnRefShareBuf

Reserved

【Note】

None.

【Related Data Type and Interface】

7.4.13. VENC_STREAM_INFO_S

【Description】

Define VENC_STREAM_INFO_S attribute.

【Syntax】

 typedef struct _ VENC_STREAM_INFO_S {
  H265E_REF_TYPE_E enRefType;

  CVI_U32 u32PicBytesNum;
  CVI_U32 u32PicCnt;
  CVI_U32 u32StartQp;
  CVI_U32 u32MeanQp;
  CVI_BOOL bPSkip;

  CVI_U32 u32ResidualBitNum;
  CVI_U32 u32HeadBitNum;
  CVI_U32 u32MadiVal;
  CVI_U32 u32MadpVal;
  CVI_U32 u32MseSum;
  CVI_U32 u32MseLcuCnt;
  double dPSNRVal;
} VENC_STREAM_INFO_S;

【Member】

Member

Description

u32MeanQp

The average QP of the current Frame

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_QueryStatus

7.4.14. VENC_CHN_STATUS_S

【Description】

Define VENC_CHN_STATUS_S attribute.

【Syntax】

typedef struct _VENC_CHN_STATUS_S {
  CVI_U32 u32LeftPics;
  CVI_U32 u32LeftStreamBytes;
  CVI_U32 u32LeftStreamFrames;
  CVI_U32 u32CurPacks;
  CVI_U32 u32LeftRecvPics;
  CVI_U32 u32LeftEncPics;
  CVI_BOOL bJpegSnapEnd;
  VENC_STREAM_INFO_S stVencStrmInfo;
} VENC_CHN_STATUS_S;

【Member】

Member

Description

u32LeftPics

Reserved

u32LeftStreamBytes

Reserved

u32LeftStreamFrames

Number of remaining frames to be received

u32CurPacks

The number of packets currently in the Frame

u32LeftRecvPics

Reserved

u32LeftEncPics

Reserved

bJpegSnapEnd

Reserved

stVencStrmInfo

Reserved

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_QueryStatus

7.4.15. VENC_JPEG_PARAM_S

【Description】

Define advanced parameters for JPEG encoding protocol.

【Syntax】

 typedef struct _VENC_JPEG_PARAM_S {
  CVI_U32 u32Qfactor;
  CVI_U8 u8YQt[64];
  CVI_U8 u8CbQt[64];
  CVI_U8 u8CrQt[64];
  CVI_U32 U32MCUPerECS;
} VENC_JPEG_PARAM_S;

【Member】

Member

Description

u32Qfactor

For details, see RFC2435. The default value is 0.

u8YQt

Y quantization table. (not implemented)

u8CbQt

Cb quantization table. (not implemented)

u8CrQt

Cr quantization table. (not implemented)

u32MCUPerECS

How many MCU are contained in each ECS? The default value is 0, indicating that Ecs are not divided. (not implemented)

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetJpegParam

  • CVI_VENC_GetJpegParam

7.4.16. VENC_RC_ATTR_S

【Description】

Defines the rate controller attribute of the coding channel.

【Syntax】

 typedef struct _VENC_RC_ATTR_S {
  VENC_RC_MODE_E enRcMode;
  union {
  VENC_H264_CBR_S stH264Cbr;
  VENC_H264_VBR_S stH264Vbr;
  VENC_H264_AVBR_S stH264AVbr;
  VENC_H264_QVBR_S stH264QVbr;
  VENC_H264_FIXQP_S stH264FixQp;
  VENC_H264_QPMAP_S stH264QpMap;

  VENC_MJPEG_CBR_S stMjpegCbr;
  VENC_MJPEG_VBR_S stMjpegVbr;
  VENC_MJPEG_FIXQP_S stMjpegFixQp;

  VENC_H265_CBR_S stH265Cbr;
  VENC_H265_VBR_S stH265Vbr;
  VENC_H265_AVBR_S stH265AVbr;
  VENC_H265_QVBR_S stH265QVbr;
  VENC_H265_FIXQP_S stH265FixQp;
  VENC_H265_QPMAP_S stH265QpMap;
  };
} VENC_RC_ATTR_S;

【Member】

Member

Description

enRcMode

RC mode.

stH264Cbr

H.264 protocol coding channel Cbr mode attribute.

stH264Vbr

H.264 protocol coding channel Vbr mode attribute.

stH264AVbr

H.264 protocol coding channel AVbr mode attribute.

stH264QVbr

H.264 protocol coding channel QVbr mode attribute.

stH264CVbr

H.264 protocol coding channel CVbr mode attribute.

stH264FixQp

H.264 protocol coding channel Fixqp mode attribute.

stH264QpMap

H.264 protocol coding channel QPMAP mode attribute.

stMjpegeFixQp

Mjpeg protocol coding channel Fixqp mode attribute.

stMjpegeCbr

Mjpeg protocol coding channel cbr mode attribute.

stMjpegeVbr

Mjpeg protocol coding channel vbr mode attribute.

stH265Cbr

H.265 protocol coding channel Cbr mode attribute.

stH265Vbr

H.265 protocol coding channel Vbr mode attribute.

stH265AVbr

H.265 protocol coding channel AVbr mode attribute.

stH265QVbr

H.265 protocol coding channel QVbr mode attribute.

stH265CVbr

H.265 protocol coding channel CVbr mode attribute.

stH265FixQp

H.265 protocol coding channel Fixqp mode attribute.

stH265QpMap

H.265 protocol coding channel QPMAP mode attribute.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.17. VENC_H264_CBR_S

【Description】

Structure definition for H.264 video encoding channel’s CBR properties.

【Syntax】

 typedef struct _VENC_H264_CBR_S {
  CVI_U32 u32Gop;
  CVI_U32 u32StatTime;
  CVI_U32 u32SrcFrameRate
  CVI_FR32 fr32DstFrameRate;
  CVI_U32 u32BitRate;
  CVI_BOOL bVariFpsEn;
} VENC_H264_CBR_S;

【Member】

Member

Description

u32Gop

H.264 gop value.

Range: [1, 65536]。

u32StatTime

CBR rate statistics time, in seconds.

Range: [1, 60].

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

u32BitRate

Average bitrate in kbps.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.18. VENC_H264_VBR_S

【Description】

Structure definition for H.264 video encoding channel’s VBR properties.

【Syntax】

 typedef struct _VENC_H264_VBR_S {
  CVI_U32 u32Gop;
  CVI_U32 u32StatTime;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate;
  CVI_U32 u32MaxBitRate;
  CVI_BOOL bVariFpsEn;
} VENC_H264_VBR_S;

【Member】

Member

Description

u32Gop

H.264 gop value

Range: [1, 65536]。

u32StatTime

VBR rate statistics time, in seconds..

Range: [1, 60].

u32SrcFrameRate

Input frame rate in fps,

fr32DstFrameRate

Encoder output frame rate, in fps.

u32MaxBitRate

Maximum output bitrate of the encoder, in kbps.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.19. VENC_H264_AVBR_S

【Description】

Structure definition for H.264 video encoding channel’s AVBR properties.

【Syntax】

 typedef struct _VENC_H264_AVBR_S {
  CVI_U32 u32Gop;
  CVI_U32 u32StatTime;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate;
  CVI_U32 u32MaxBitRate;
  CVI_BOOL bVariFpsEn;
} VENC_H264_AVBR_S;

【Member】

Member

Description

u32Gop

H.264 gop value.

Range: [1, 65536]。

u32StatTime

VBR rate statistics time, in seconds..

Range: [1, 60].

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

u32MaxBitRate

Maximum output bitrate of the encoder, in kbps.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.20. VENC_H264_FIXQP_S

【Description】

Structure definition for H.264 video encoding channel’s FIXQP properties.

【Syntax】

 typedef struct _VENC_H264_FIXQP_S {
  CVI_U32 u32Gop;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate
  CVI_U32 u32IQp;
  CVI_U32 u32PQp;
  CVI_U32 u32BQp;
  CVI_BOOL bVariFpsEn;
} VENC_H264_FIXQP_S;

【Member】

Member

Description

u32Gop

H.264 gop value

Range: [1, 65536]。

u32IQp

QP value of all macroblocks in I frame.

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

u32PQp

The QP value of all macroblocks in P frame.

u32BQp

QP values of all macroblocks in B frame.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.21. VENC_H264_QPMAP_S

【Description】

Structure definition for H.264 video encoding channel’s QPMAP properties.

【Syntax】

 typedef struct _VENC_H264_QPMAP_S {
  CVI_U32 u32Gop;
  CVI_U32 u32StatTime;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate;
  CVI_BOOL bVariFpsEn;
} VENC_H264_QPMAP_S;

【Member】

Member

Description

u32Gop

H.264 gop value

Range: [1, 65536]。

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

u32StatTime

QPMAP rate statistics time, in seconds..

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.22. VENC_MJPEG_FIXQP_S

【Description】

Structure definition for MJPEG video encoding channel’s FIXQP properties.

【Syntax】

 typedef struct _VENC_MJPEG_FIXQP_S {
  CVI_U32 u32SrcFrameRate
  CVI_FR32 fr32DstFrameRate;
  CVI_U32 u32Qfactor;
  CVI_BOOL bVariFpsEn;
} VENC_MJPEG_FIXQP_S;

【Member】

Member

Description

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

u32Qfactor

Qfactor of MJPEG encoding

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.23. VENC_MJPEG_CBR_S

【Description】

Structure definition for MJPEG video encoding channel’s CBR properties.

【Syntax】

 typedef struct _VENC_MJPEG_CBR_S {
  CVI_U32 u32StatTime;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate;
  CVI_U32 u32BitRate;
  CVI_BOOL bVariFpsEn;
} VENC_MJPEG_CBR_S;

【Member】

Member

Description

u32StatTime

CBR rate statistics time, in seconds..

u32BitRate

Average bitrate in kbps.

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.24. VENC_H265_CBR_S

【Description】

Structure definition for H.265 video encoding channel’s CBR properties.

【Syntax】

 typedef struct _VENC_H264_CBR_S {
    CVI_U32 u32Gop;
    CVI_U32 u32StatTime
    CVI_U32 u32SrcFrameRate;
    CVI_FR32 fr32DstFrameRate;
    CVI_U32 u32BitRate;
    CVI_BOOL bVariFpsEn;
} VENC_H264_CBR_S;
typedef struct _VENC_H264_CBR_S VENC_H265_CBR_S;

【Member】

Member

Description

u32Gop

H.265 gop value

u32StatTime

CBR rate statistics time, in seconds..

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

u32BitRate

Average bitrate in kbps.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.25. VENC_H265_VBR_S

【Description】

Structure definition for H.265 video encoding channel’s VBR properties.

【Syntax】

 typedef struct _VENC_H264_FIXQP_S {
  CVI_U32 u32Gop;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate
  CVI_U32 u32IQp;
  CVI_U32 u32PQp;
  CVI_U32 u32BQp;
  CVI_BOOL bVariFpsEn;
} VENC_H264_FIXQP_S;

【Member】

Member

Description

u32Gop

H.265 gop value

u32StatTime

VBR rate statistics time, in seconds..

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

u32MaxBitRate

Maximum output bitrate of the encoder, in kbps.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.26. VENC_H265_AVBR_S

【Description】

Structure definition for H.265 video encoding channel’s AVBR properties.

【Syntax】

typedef struct _VENC_H264_AVBR_S {
  CVI_U32 u32Gop;
  CVI_U32 u32StatTime;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate;
  CVI_U32 u32MaxBitRate;
  CVI_BOOL bVariFpsEn;
} VENC_H264_AVBR_S;
typedef struct _VENC_H264_AVBR_S VENC_H265_AVBR_S;

【Member】

Member

Description

u32Gop

H.265 gop value. range

u32StatTime

AVBR rate statistics time, in seconds.

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

u32MaxBitRate

Maximum output bitrate of the encoder, in kbps.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

u32Gop

H.264 gop value.

Range: [1, 65536]。

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.27. VENC_H265_FIXQP_S

【Description】

Structure definition for H.265 video encoding channel’s FIXQP properties.

【Syntax】

typedef struct _VENC_H264_FIXQP_S {
  CVI_U32 u32Gop;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate;
  CVI_U32 u32IQp;
  CVI_U32 u32PQp;
  CVI_U32 u32BQp;
  CVI_BOOL bVariFpsEn;
} VENC_H264_FIXQP_S;
typedef struct _VENC_H264_FIXQP_S VENC_H265_FIXQP_S;

【Member】

Member

Description

u32Gop

H.265 gop value

u32IQp

QP value of all macroblocks in I frame.

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

u32PQp

QP value of all macroblocks in P frame.

u32BQp

Reserved

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.28. VENC_H265_QPMAP_S

【Description】

Structure definition for H.265 video encoding channel’s QPMAP properties.

【Syntax】

 typedef struct _VENC_H265_QPMAP_S {
  CVI_U32 u32Gop;
  CVI_U32 u32StatTime;
  CVI_U32 u32SrcFrameRate;
  CVI_FR32 fr32DstFrameRate;
  VENC_RC_QPMAP_MODE_E enQpMapMode;
  CVI_BOOL bVariFpsEn;
} VENC_H265_QPMAP_S;

【Member】

Member

Description

u32Gop

H.264 gop value

Range: [1, 65536]。

u32StatTime

VBR rate statistical time in seconds

u32SrcFrameRate

Input frame rate in fps.

fr32DstFrameRate

Encoder output frame rate, in fps.

enQpMapMode

The method of selecting the QP value as either CU32 or CU64

u32BQp

QP values of all macroblocks in B frame.

bVariFpsEn

Enable Variable FPS. After this function is enabled, the Frame rate conversion function is enabled and disabled.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_CreateChn

7.4.29. VENC_RC_PARAM_S

【Description】

Definition of advanced bitrate control parameters for encoding channels. Main structure for bitrate control.

【Syntax】

typedef struct _VENC_RC_PARAM_S {
  CVI_U32 u32ThrdI[RC_TEXTURE_THR_SIZE];
  CVI_U32 u32ThrdP[RC_TEXTURE_THR_SIZE];
  CVI_U32 u32ThrdB[RC_TEXTURE_THR_SIZE];
  CVI_U32 u32DirectionThrd;
  CVI_S32 s32FirstFrameStartQp;
  CVI_S32 s32InitialDelay;
  CVI_U32 u32ThrdLv;
  CVI_BOOL bBgEnhanceEn;
  CVI_S32 s32BgDeltaQp;
  union {
  VENC_PARAM_H264_CBR_S stParamH264Cbr;
  VENC_PARAM_H264_VBR_S stParamH264Vbr;
  VENC_PARAM_H264_AVBR_S stParamH264AVbr;
  VENC_PARAM_H264_QVBR_S stParamH264QVbr;
  VENC_PARAM_H265_CBR_S stParamH265Cbr;
  VENC_PARAM_H265_VBR_S stParamH265Vbr;
  VENC_PARAM_H265_AVBR_S stParamH265AVbr;
  VENC_PARAM_H265_QVBR_S stParamH265QVbr;
  VENC_PARAM_MJPEG_CBR_S stParamMjpegCbr;
  VENC_PARAM_MJPEG_VBR_S stParamMjpegVbr;
  };
} VENC_RC_PARAM_S;

【Member】

Member

Description

u32ThrdI

Reserved

u32ThrdP

Reserved

u32ThrdB

Reserved

u32DirectionThrd

Reserved

u32RowQpDelta

The fluctuation amplitude value of the starting Qp for each row of macroblocks in macroblock-level bitrate control relative to the starting Qp of the frame.

s32FirstFrameStartQp

Set the initial Qp value of the first frame, CBR/VBR/AVBR/QVBR/CVBR is valid.

stSceneChangeDetect

Reserved

s32InitialDelay

Influence the frame encoding of the bitrate control.

u32ThrdLv

MAD threshold for macroblock level rate control

bBgEnhanceEn

Reserved

s32BgDeltaQp

The QP difference between IDR frame and P frame in smartP mode.

stParamH264Cbr

Advanced parameters for CBR rate control mode in H.264 channel.

stParamH264Vbr

Advanced parameters for VBR rate control mode in H.264 channel.

stParamH264AVbr

Advanced parameters for AVBR rate control mode in H.264 channel.

stParamH264QVbr

Reserved

stParamH264CVbr

Reserved

stParamMjpegCbr

Advanced parameters for CBR rate control mode in MJPEG channel.

stParamMjpegVbr

Reserved

stParamH265Cbr

Advanced parameters for CBR rate control mode in H.265 channel.

stParamH265Vbr

Advanced parameters for VBR rate control mode in H.265 channel.

stParamH265AVbr

Advanced parameters for AVBR rate control mode in H.265 channel.

stParamH265QVbr

Reserved

stParamH265CVbr

Reserved

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetRcParam

  • CVI_VENC_GetRcParam

7.4.30. VENC_PARAM_H264_CBR_S

【Description】

Definition of H.264 CBR advanced parameters

【Syntax】

 typedef struct _VENC_PARAM_H264_CBR_S {
  CVI_U32 u32MinIprop;
  CVI_U32 u32MaxIprop;
  CVI_U32 u32MaxQp;
  CVI_U32 u32MinQp;
  CVI_U32 u32MaxIQp;
  CVI_U32 u32MinIQp;
  CVI_S32 s32MaxReEncodeTimes;
  CVI_BOOL bQpMapEn;
} VENC_PARAM_H264_CBR_S;

【Member】

Member

Description

u32MinIprop

minimum IP ratio

u32MaxIprop

maximum IP ratio

u32MaxQp

Minimum QP

u32MinQp

Maximum QP

u32MaxIQp

Maximum QP for I-frames

u32MinIQp

Minimum QP for I-frames

s32MaxReEncodeTimes

Reserved

CVI_BOOL bQpMapEn

Reserved

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetRcParam

  • CVI_VENC_GetRcParam

7.4.31. VENC_PARAM_H264_VBR_S

【Description】

Definition of H.264 VBR advanced parameters

【Syntax】

 typedef struct _VENC_PARAM_H264_VBR_S {
  CVI_S32 s32ChangePos;
  CVI_U32 u32MinIprop;
  CVI_U32 u32MaxIprop;
  CVI_S32 s32MaxReEncodeTimes;
  CVI_BOOL bQpMapEn;

  CVI_U32 u32MaxQp;
  CVI_U32 u32MinQp;
  CVI_U32 u32MaxIQp;
  CVI_U32 u32MinIQp;
} VENC_PARAM_H264_VBR_S;

【Member】

Member

Description

s32ChangePos

bitrate control threshold

u32MinIprop

Reserved

u32MaxIprop

maximum IP ratio

s32MaxReEncodeTimes

Reserved

CVI_BOOL bQpMapEn

Reserved

u32MaxQp

Maximum QP

u32MinQp

Minimum QP

u32MaxIQp

maximum QP for I-frames

u32MinIQp

minimum QP for I-frames

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetRcParam

  • CVI_VENC_GetRcParam

7.4.32. VENC_PARAM_H264_AVBR_S

【Description】

Definition of H.264 AVBR advanced parameters

【Syntax】

 typedef struct _VENC_PARAM_H264_AVBR_S {
  CVI_S32 s32ChangePos;
  CVI_U32 u32MinIprop;
  CVI_U32 u32MaxIprop;
  CVI_S32 s32MaxReEncodeTimes;
  CVI_BOOL bQpMapEn;

  CVI_S32 s32MinStillPercent;
  CVI_U32 u32MaxStillQP;
  CVI_U32 u32MinStillPSNR;

  CVI_U32 u32MaxQp;
  CVI_U32 u32MinQp;
  CVI_U32 u32MaxIQp;
  CVI_U32 u32MinIQp;
  CVI_U32 u32MinQpDelta;

  CVI_U32 u32MotionSensitivity;
  CVI_S32 s32AvbrFrmLostOpen;
  CVI_S32 s32AvbrFrmGap;
  CVI_S32 s32AvbrPureStillThr;
} VENC_PARAM_H264_AVBR_S;

【Member】

Member

Description

s32ChangePos

bitrate control threshold

u32MinIprop

Reserved

u32MaxIprop

maximum IP ratio

s32MaxReEncodeTimes

Reserved

CVI_BOOL bQpMapEn

Reserved

s32MinStillPercent

minimum bitrate percentage for static scenes

u32MaxStillQP

Maximum QP for static scenes

u32MinStillPSNR

Reserved

u32MaxQp

Maximum QP

u32MinQp

Minimum QP

u32MaxIQp

Maximum QP for I-frames

u32MinIQp

Minimum QP for I-frames

u32MinQpDelta

The difference between frame-level minimum QP and macroblock-level minimum QP

u32MotionSensitivity

Motion sensitivity

s32AvbrFrmLostOpen

Frame dropping enable

s32AvbrFrmGap

Maximum number of dropped frames

s32AvbrPureStillThr

Still macroblock threshold value

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetRcParam

  • CVI_VENC_GetRcParam

7.4.33. VENC_PARAM_H265_CBR_S

【Description】

Definition of H.265 CBR advanced parameters

【Syntax】

 typedef struct _VENC_PARAM_H265_CBR_S {
  CVI_U32 u32MinIprop;
  CVI_U32 u32MaxIprop;
  CVI_U32 u32MaxQp;
  CVI_U32 u32MinQp;
  CVI_U32 u32MaxIQp;
  CVI_U32 u32MinIQp;
  CVI_S32 s32MaxReEncodeTimes;
  CVI_BOOL bQpMapEn;
  VENC_RC_QPMAP_MODE_E enQpMapMode;
} VENC_PARAM_H265_CBR_S;

【Member】

Member

Description

u32MinIprop

Reserved

u32MaxIprop

Reserved

u32MaxQp

Maximum QP

u32MinQp

Minimum QP

u32MaxIQp

Maximum QP for I-frames

u32MinIQp

Minimum QP for I-frames

s32MaxReEncodeTimes

Reserved

bQpMapEn

Enable QP map feature or not

enQpMapMode

QpMap mode

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetRcParam

  • CVI_VENC_GetRcParam

7.4.34. VENC_PARAM_H265_VBR_S

【Description】

Definition of H.265 VBR advanced parameters

【Syntax】

 typedef struct _VENC_PARAM_H265_VBR_S {
  CVI_S32 s32ChangePos;
  CVI_U32 u32MinIprop;
  CVI_U32 u32MaxIprop;
  CVI_S32 s32MaxReEncodeTimes;

  CVI_U32 u32MaxQp;
  CVI_U32 u32MinQp;
  CVI_U32 u32MaxIQp;
  CVI_U32 u32MinIQp;

  CVI_BOOL bQpMapEn;
  VENC_RC_QPMAP_MODE_E enQpMapMode;
} VENC_PARAM_H265_VBR_S;

【Member】

Member

Description

s32ChangePos

bitrate control threshold

u32MinIprop

Reserved

u32MaxIprop

Reserved

s32MaxReEncodeTimes

Reserved

u32MaxQp

Maximum QP

u32MinQp

Minimum QP

u32MaxIQp

Maximum QP for I-frames

u32MinIQp

Minimum QP for I-frames

CVI_BOOL bQpMapEn

Reserved

enQpMapMode

Reserved

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetRcParam

  • CVI_VENC_GetRcParam

7.4.35. VENC_PARAM_H265_AVBR_S

【Description】

Definition of H.265 AVBR advanced parameters

【Syntax】

 typedef struct _VENC_PARAM_H265_AVBR_S {
  CVI_S32 s32ChangePos;
  CVI_U32 u32MinIprop;
  CVI_U32 u32MaxIprop;
  CVI_S32 s32MaxReEncodeTimes;

  CVI_S32 s32MinStillPercent;
  CVI_U32 u32MaxStillQP;
  CVI_U32 u32MinStillPSNR;

  CVI_U32 u32MaxQp;
  CVI_U32 u32MinQp;
  CVI_U32 u32MaxIQp;
  CVI_U32 u32MinIQp;
  CVI_U32 u32MinQpDelta;

  CVI_U32 u32MotionSensitivity;
  CVI_S32 s32AvbrFrmLostOpen;
  CVI_S32 s32AvbrFrmGap;
  CVI_S32 s32AvbrPureStillThr;
  CVI_BOOL bQpMapEn;
  VENC_RC_QPMAP_MODE_E enQpMapMode;
} VENC_PARAM_H265_AVBR_S;

【Member】

Member

Description

s32ChangePos

Bitrate control threshold

u32MinIprop

Reserved

u32MaxIprop

Reserved

s32MaxReEncodeTimes

Reserved

s32MinStillPercent

Minimum bitrate percentage for static scenes

u32MaxStillQP

Maximum QP for static scenes

u32MinStillPSNR

Reserved

u32MaxQp

Maximum QP

u32MinQp

Minimum QP

u32MaxIQp

Maximum QP for I-frames

u32MinIQp

Minimum QP for I-frames

u32MinQpDelta

The difference between frame-level minimum QP and macroblock-level minimum QP

u32MotionSensitivity

Motion sensitivity

s32AvbrFrmLostOpen

Frame dropping enable

s32AvbrFrmGap

Maximum number of dropped frames

s32AvbrPureStillThr

Still macroblock threshold value

bQpMapEn

Reserved

enQpMapMode

Reserved

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetRcParam

  • CVI_VENC_GetRcParam

7.4.36. VENC_PARAM_MOD_S

【Description】

Encoding-related module parameters

【Syntax】

typedef struct _VENC_MODPARAM_S {
    VENC_MODTYPE_E enVencModType; /* RW; VencModType*/
    union {
        VENC_MOD_VENC_S stVencModParam;
        VENC_MOD_H264E_S stH264eModParam;
        VENC_MOD_H265E_S stH265eModParam;
        VENC_MOD_JPEGE_S stJpegeModParam;
        VENC_MOD_RC_S stRcModParam;
    };
} VENC_PARAM_MOD_S;

【Member】

Member

Description

enVencModType

Types of module parameters

stVencModParam /stH264eModParam /stH265eModParam /stJpegeModParam /stRcModParam

Venc / H264e / H265e / Jpege / Rc module parameter structure.

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetModParam

  • CVI_VENC_GetModParam

7.4.37. VENC_MOD_H264E_S

【Description】

H.264 encoding-related module parameters

【Syntax】

 typedef struct _VENC_MOD_H264E_S {
  CVI_U32 u32OneStreamBuffer;
  CVI_U32 u32H264eMiniBufMode;
  CVI_U32 u32H264ePowerSaveEn;
  VB_SOURCE_E enH264eVBSource;
  CVI_BOOL bQpHstgrmEn;
  CVI_U32 u32UserDataMaxLen;
  CVI_BOOL bSingleEsBuf;
  CVI_U32 u32SingleEsBufSize;
} VENC_MOD_H264E_S;

【Member】

Member

Description

u32OneStreamBuffer

Reserved

u32H264eMiniBufMode

Reserved

u32H264ePowerSaveEn

Reserved

enH264eVBSource

VB mode

bQpHstgrmEn

Reserved

u32UserDataMaxLen

Maximum user data size

bSingleEsBuf

Multiple channels using a shared stream buffer

u32SingleEsBufSize

StreamBuffer size

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetModParam

  • CVI_VENC_GetModParam

7.4.38. VENC_MOD_H265E_S

【Description】

H.265 encoding-related module parameters

【Syntax】

 typedef struct _VENC_MOD_H265E_S {
  CVI_U32 u32OneStreamBuffer;
  CVI_U32 u32H265eMiniBufMode;
  CVI_U32 u32H265ePowerSaveEn;
  VB_SOURCE_E enH265eVBSource;
  CVI_BOOL bQpHstgrmEn;
  CVI_U32 u32UserDataMaxLen;
  CVI_BOOL bSingleEsBuf;
  CVI_U32 u32SingleEsBufSize;
  H265E_REFRESH_TYPE_E enRefreshType;
} VENC_MOD_H265E_S;

【Member】

Member

Description

u32OneStreamBuffer

Reserved

u32H265eMiniBufMode

Reserved

u32H265ePowerSaveEn

Reserved

enH265eVBSource

VB mode

bQpHstgrmEn

Reserved

u32UserDataMaxLen

Maximum user data size

bSingleEsBuf

Multiple channels using a shared stream buffer

u32SingleEsBufSize

StreamBuffer size

enRefreshType

Refresh type

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetModParam

  • CVI_VENC_GetModParam

7.4.39. VENC_MOD_JPEGE_S

【Description】

JPEG encoding-related module parameters

【Syntax】

 typedef struct _VENC_MOD_JPEGE_S {
  CVI_U32 u32OneStreamBuffer;
  CVI_U32 u32JpegeMiniBufMode;
  CVI_U32 u32JpegClearStreamBuf;
  CVI_BOOL bSingleEsBuf;
  CVI_U32 u32SingleEsBufSize;
  JPEGE_FORMAT_E enJpegeFormat;
  JPEGE_MARKER_TYPE_E JpegMarkerOrder[JPEG_MARKER_ORDER_CNT];
} VENC_MOD_JPEGE_S;

【Member】

Member

Description

u32OneStreamBuffer

Reserved

u32JpegeMiniBufMode

Reserved

u32JpegClearStreamBuf

Reserved

bSingleEsBuf

Multiple channels using a shared stream buffer

u32SingleEsBufSize

StreamBuffer size

enJpegeFormat

JPEG header encoding mode

JpegMarkerOrder

Header encoding mark order

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetModParam

  • CVI_VENC_GetModParam

7.4.40. VENC_CHN_POOL_S

【Description】

Define the VB pool structure, which is bound to the encoding channel.

【Syntax】

 typedef struct _VENC_CHN_POOL_S {
    VB_POOL hPicVbPool; /* RW;  vb pool id for pic buffer */
    VB_POOL hPicInfoVbPool; /* RW;  vb pool id for pic info buffer */
} VENC_CHN_POOL_S;

【Member】

Member

Description

hPicVbPool

VB pool Poold for storing Picture

hPicInfoVbPool

VB pool Poold for storing Picture information

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_AttachVbPool

7.4.41. VENC_FRAMELOST_S

【Description】

Define the encoding frame dropping structure.

【Syntax】

 typedef struct _VENC_FRAMELOST_S {
  CVI_BOOL bFrmLostOpen;
  CVI_U32 u32FrmLostBpsThr;
  VENC_FRAMELOST_MODE_E enFrmLostMode;
  CVI_U32 u32EncFrmGaps;
} VENC_FRAMELOST_S;

【Member】

Member

Description

bFrmLostOpen

Frame dropping strategy enable

u32FrmLostBpsThr

Frame dropping bitrate threshold value

enFrmLostMode

Frame dropping mode

u32EncFrmGaps

Maximum consecutive dropped frames

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetFrameLostStrategy

  • CVI_VENC_GetFrameLostStrategy

7.4.42. VENC_H264_ENTROPY_S

【Description】

Define H.264 entropy coding information structure.

【Syntax】

 typedef struct _VENC_H264_ENTROPY_S {
  CVI_U32 u32EntropyEncModeI;
  CVI_U32 u32EntropyEncModeP;
  CVI_U32 u32EntropyEncModeB;
  CVI_U32 cabac_init_idc;
} VENC_H264_ENTROPY_S;

【Member】

Member

Description

u32EntropyEncModeI

I-frame entropy coding mode: 0 for CAVLC and 1 for CABAC.

u32EntropyEncModeP

P-frame entropy coding mode: 0 for CAVLC and 1 for CABAC.

u32EntropyEncModeB

Reserved, not used yet

cabac_init_idc

Refer to H264 encoding protocol

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetH264Entropy

  • CVI_VENC_GetH264Entropy

7.4.43. VENC_CU_PREDICTION_S

【Description】

Define the structure of coding unit prediction properties

【Syntax】

 typedef struct _VENC_CU_PREDICTION_S {
  OPERATION_MODE_E enPredMode;

  CVI_U32 u32IntraCost;
  CVI_U32 u32Intra32Cost;
  CVI_U32 u32Intra16Cost;
  CVI_U32 u32Intra8Cost;
  CVI_U32 u32Intra4Cost;

  CVI_U32 u32Inter64Cost;
  CVI_U32 u32Inter32Cost;
  CVI_U32 u32Inter16Cost;
  CVI_U32 u32Inter8Cost;
} VENC_CU_PREDICTION_S;

【Member】

Member

Description

enPredMode

Reserved, not used yet

u32IntraCost

Default to 0, used to reduce the probability of Intra Blocks.

u32Intra32Cost

Reserved, not used yet

u32Intra16Cost

Reserved, not used yet

u32Intra8Cost

Reserved, not used yet

u32Intra4Cost

Reserved, not used yet

u32Inter64Cost

Reserved, not used yet

u32Inter32Cost

Reserved, not used yet

u32Inter16Cost

Reserved, not used yet

u32Inter8Cost

Reserved, not used yet

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_SetCuPrediction

  • CVI_VENC_GetCuPrediction

7.4.44. VENC_H264_TRANS_S

【Description】

Define the structure of the H.264 protocol encoding channel transformation quantization.

【Syntax】

 typedef struct _VENC_H264_TRANS_S {
  CVI_U32 u32IntraTransMode;
  CVI_U32 u32InterTransMode;
  CVI_BOOL bScalingListValid;
  CVI_U8 InterScalingList8X8[64];
  CVI_U8 IntraScalingList8X8[64];
  CVI_S32 chroma_qp_index_offset;
} VENC_H264_TRANS_S;

【Member】

Member

Description

u32IntraTransMode

Reserved, not used yet

u32InterTransMode

Reserved, not used yet

bScalingListValid

Reserved, not used yet

InterScalingList8X8[64]

Reserved, not used yet

IntraScalingList8X8[64]

Reserved, not used yet

chroma_qp_index_offset

For details, see H.264 Protocol. The default value is 0. Value range: [-12, 12]

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_GetH264Trans

  • CVI_VENC_SetH264Trans

7.4.45. VENC_H265_TRANS_S

【Description】

Define the structure of the H.265 protocol encoding channel transformation quantization.

【Syntax】

 typedef struct _VENC_H265_TRANS_S {
  CVI_S32 cb_qp_offset;
  CVI_S32 cr_qp_offset;

  CVI_BOOL bScalingListEnabled;

  CVI_BOOL bScalingListTu4Valid;
  CVI_U8 InterScalingList4X4[2][16];
  CVI_U8 IntraScalingList4X4[2][16];

  CVI_BOOL bScalingListTu8Valid;
  CVI_U8 InterScalingList8X8[2][64];
  CVI_U8 IntraScalingList8X8[2][64];

  CVI_BOOL bScalingListTu16Valid;
  CVI_U8 InterScalingList16X16[2][64];
  CVI_U8 IntraScalingList16X16[2][64];

  CVI_BOOL bScalingListTU32Valid;
  CVI_U8 InterScalingList32X32[64];
  CVI_U8 IntraScalingList32X32[64];
} VENC_H265_TRANS_S;

【Member】

Member

Description

cb_qp_offset

For details, see H.265 Protocol. The default value is 0. Value range: [-12, 12]

cr_qp_offset

For details, see H.265 Protocol. The default value is 0. Value range: [-12, 12]

bScalingListEnabled

Reserved, not used yet

bScalingListTu4Valid

Reserved, not used yet

InterScalingList4X4[2][16]

Reserved, not used yet

IntraScalingList4X4[2][16]

Reserved, not used yet

bScalingListTu8Valid

Reserved, not used yet

InterScalingList8X8[2][64]

Reserved, not used yet

IntraScalingList8X8[2][64]

Reserved, not used yet

bScalingListTu16Valid

Reserved, not used yet

InterScalingList16X16[2][64]

Reserved, not used yet

IntraScalingList16X16[2][64]

Reserved, not used yet

bScalingListTu32Valid

Reserved, not used yet

InterScalingList32X32[64]

Reserved, not used yet

IntraScalingList32X32[64]

Reserved, not used yet

【Note】

None.

【Related Data Type and Interface】

  • CVI_VENC_GetH265Trans

  • CVI_VENC_SetH265Trans