|
H.264 Codec for ESP32-S3
|
SVC Encoding Parameters extention. More...
#include <codec_app_def.h>

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