H.264 Codec for ESP32-S3
Loading...
Searching...
No Matches
Public Attributes | List of all members
TagEncParamExt Struct Reference

SVC Encoding Parameters extention. More...

#include <codec_app_def.h>

Collaboration diagram for TagEncParamExt:
Collaboration graph
[legend]

Public Attributes

EUsageType iUsageType
 same as in TagEncParamBase
 
int32_t iPicWidth
 same as in TagEncParamBase
 
int32_t iPicHeight
 same as in TagEncParamBase
 
int32_t iTargetBitrate
 same as in TagEncParamBase
 
RC_MODES iRCMode
 same as in TagEncParamBase
 
float fMaxFrameRate
 same as in TagEncParamBase
 
int32_t iTemporalLayerNum
 temporal layer number, max temporal layer = 4
 
int32_t iSpatialLayerNum
 spatial layer number,1<= iSpatialLayerNum <= MAX_SPATIAL_LAYER_NUM, MAX_SPATIAL_LAYER_NUM = 4
 
SSpatialLayerConfig sSpatialLayers [4]
 
ECOMPLEXITY_MODE iComplexityMode
 
uint32_t uiIntraPeriod
 period of Intra frame
 
int32_t iNumRefFrame
 number of reference frame used
 
EParameterSetStrategy eSpsPpsIdStrategy
 different stategy in adjust ID in SPS/PPS: 0- constant ID, 1-additional ID, 6-mapping and additional
 
bool bPrefixNalAddingCtrl
 false:not use Prefix NAL; true: use Prefix NAL
 
bool bEnableSSEI
 false:not use SSEI; true: use SSEI – TODO: planning to remove the interface of SSEI
 
bool bSimulcastAVC
 (when encoding more than 1 spatial layer) false: use SVC syntax for higher layers; true: use Simulcast AVC
 
int32_t iPaddingFlag
 0:disable padding;1:padding
 
int32_t iEntropyCodingModeFlag
 0:CAVLC 1:CABAC.
 
bool bEnableFrameSkip
 False: don't skip frame even if VBV buffer overflow.True: allow skipping frames to keep the bitrate within limits.
 
int32_t iMaxBitrate
 the maximum bitrate, in unit of bps, set it to UNSPECIFIED_BIT_RATE if not needed
 
int32_t iMaxQp
 the maximum QP encoder supports
 
int32_t iMinQp
 the minmum QP encoder supports
 
uint32_t uiMaxNalSize
 the maximum NAL size. This value should be not 0 for dynamic slice mode
 
bool bEnableLongTermReference
 1: on, 0: off
 
int32_t iLTRRefNum
 the number of LTR(long term reference),TODO: not supported to set it arbitrary yet
 
uint32_t iLtrMarkPeriod
 the LTR marked period that is used in feedback.
 
unsigned short iMultipleThreadIdc
 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; lager than 1: count number of threads;
 
bool bUseLoadBalancing
 only used when uiSliceMode=1 or 3, will change slicing of a picture during the run-time of multi-thread encoding, so the result of each run may be different
 
int32_t iLoopFilterDisableIdc
 0: on, 1: off, 2: on except for slice boundaries
 
int32_t iLoopFilterAlphaC0Offset
 AlphaOffset: valid range [-6, 6], default 0.
 
int32_t iLoopFilterBetaOffset
 BetaOffset: valid range [-6, 6], default 0.
 
bool bEnableDenoise
 denoise control
 
bool bEnableBackgroundDetection
 background detection control //VAA_BACKGROUND_DETECTION //BGD cmd
 
bool bEnableAdaptiveQuant
 adaptive quantization control
 
bool bEnableFrameCroppingFlag
 enable frame cropping flag: TRUE always in application
 
bool bEnableSceneChangeDetect
 
bool bIsLosslessLink
 LTR advanced setting.
 

Detailed Description

SVC Encoding Parameters extention.

Member Data Documentation

◆ bEnableAdaptiveQuant

bool bEnableAdaptiveQuant

adaptive quantization control

◆ bEnableBackgroundDetection

bool bEnableBackgroundDetection

background detection control //VAA_BACKGROUND_DETECTION //BGD cmd

◆ bEnableDenoise

bool bEnableDenoise

denoise control

◆ bEnableFrameCroppingFlag

bool bEnableFrameCroppingFlag

enable frame cropping flag: TRUE always in application

◆ bEnableFrameSkip

bool bEnableFrameSkip

False: don't skip frame even if VBV buffer overflow.True: allow skipping frames to keep the bitrate within limits.

◆ bEnableLongTermReference

bool bEnableLongTermReference

1: on, 0: off

◆ bEnableSceneChangeDetect

bool bEnableSceneChangeDetect

◆ bEnableSSEI

bool bEnableSSEI

false:not use SSEI; true: use SSEI – TODO: planning to remove the interface of SSEI

◆ bIsLosslessLink

bool bIsLosslessLink

LTR advanced setting.

◆ bPrefixNalAddingCtrl

bool bPrefixNalAddingCtrl

false:not use Prefix NAL; true: use Prefix NAL

◆ bSimulcastAVC

bool bSimulcastAVC

(when encoding more than 1 spatial layer) false: use SVC syntax for higher layers; true: use Simulcast AVC

◆ bUseLoadBalancing

bool bUseLoadBalancing

only used when uiSliceMode=1 or 3, will change slicing of a picture during the run-time of multi-thread encoding, so the result of each run may be different

◆ eSpsPpsIdStrategy

EParameterSetStrategy eSpsPpsIdStrategy

different stategy in adjust ID in SPS/PPS: 0- constant ID, 1-additional ID, 6-mapping and additional

◆ fMaxFrameRate

float fMaxFrameRate

same as in TagEncParamBase

◆ iComplexityMode

ECOMPLEXITY_MODE iComplexityMode

◆ iEntropyCodingModeFlag

int32_t iEntropyCodingModeFlag

0:CAVLC 1:CABAC.

◆ iLoopFilterAlphaC0Offset

int32_t iLoopFilterAlphaC0Offset

AlphaOffset: valid range [-6, 6], default 0.

◆ iLoopFilterBetaOffset

int32_t iLoopFilterBetaOffset

BetaOffset: valid range [-6, 6], default 0.

◆ iLoopFilterDisableIdc

int32_t iLoopFilterDisableIdc

0: on, 1: off, 2: on except for slice boundaries

◆ iLtrMarkPeriod

uint32_t iLtrMarkPeriod

the LTR marked period that is used in feedback.

◆ iLTRRefNum

int32_t iLTRRefNum

the number of LTR(long term reference),TODO: not supported to set it arbitrary yet

◆ iMaxBitrate

int32_t iMaxBitrate

the maximum bitrate, in unit of bps, set it to UNSPECIFIED_BIT_RATE if not needed

◆ iMaxQp

int32_t iMaxQp

the maximum QP encoder supports

◆ iMinQp

int32_t iMinQp

the minmum QP encoder supports

◆ iMultipleThreadIdc

unsigned short iMultipleThreadIdc

1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; lager than 1: count number of threads;

◆ iNumRefFrame

int32_t iNumRefFrame

number of reference frame used

◆ iPaddingFlag

int32_t iPaddingFlag

0:disable padding;1:padding

◆ iPicHeight

int32_t iPicHeight

same as in TagEncParamBase

◆ iPicWidth

int32_t iPicWidth

same as in TagEncParamBase

◆ iRCMode

RC_MODES iRCMode

same as in TagEncParamBase

◆ iSpatialLayerNum

int32_t iSpatialLayerNum

spatial layer number,1<= iSpatialLayerNum <= MAX_SPATIAL_LAYER_NUM, MAX_SPATIAL_LAYER_NUM = 4

◆ iTargetBitrate

int32_t iTargetBitrate

same as in TagEncParamBase

◆ iTemporalLayerNum

int32_t iTemporalLayerNum

temporal layer number, max temporal layer = 4

◆ iUsageType

EUsageType iUsageType

same as in TagEncParamBase

◆ sSpatialLayers

SSpatialLayerConfig sSpatialLayers[4]

◆ uiIntraPeriod

uint32_t uiIntraPeriod

period of Intra frame

◆ uiMaxNalSize

uint32_t uiMaxNalSize

the maximum NAL size. This value should be not 0 for dynamic slice mode


The documentation for this struct was generated from the following file: