-
Notifications
You must be signed in to change notification settings - Fork 1.8k
TypesAndStructures
huashi edited this page Nov 17, 2014
·
13 revisions
SVC Encoding Parameters extention
Name | Type | Descritpion |
iUsageType | EUsageType | application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal; |
iPicWidth | int | width of picture in luminance samples (the maximum of all layers if multiple spatial layers presents) |
iPicHeight | int | height of picture in luminance samples((the maximum of all layers if multiple spatial layers presents) |
iTargetBitrate | int | target bitrate desired |
iRCMode | RC_MODES | rate control mode |
fMaxFrameRate | float | maximal input frame rate |
iTemporalLayerNum | int | temporal layer number, max temporal layer = 4 |
iSpatialLayerNum | int | spatial layer number, 1<= iSpatialLayerNum <= MAX_SPATIAL_LAYER_NUM, MAX_SPATIAL_LAYER_NUM = 4 |
sSpatialLayers | SSpatialLayerConfig | |
iComplexityMode | ECOMPLEXITY_MODE | |
uiIntraPeriod | unsigned int | period of Intra frame |
iNumRefFrame | int | number of reference frame used |
bEnableSpsPpsIdAddition | bool | false:not adjust ID in SPS/PPS; true: adjust ID in SPS/PPS |
bPrefixNalAddingCtrl | bool | false:not use Prefix NAL; true: use Prefix NAL |
bEnableSSEI | bool | false:not use SSEI; true: use SSEI |
iPaddingFlag | int | 0:disable padding;1:padding |
iEntropyCodingModeFlag | int | 0:CAVLC 1:CABAC. |
bEnableFrameSkip | bool | False: don't skip frame even if VBV buffer overflow.True: allow skipping frames to keep the bitrate within limits. |
iMaxBitrate | int | the maximum bitrate |
iMaxQp | int | the maximum QP encoder supports |
iMinQp | int | The minmum QP encoder supports. |
uiMaxNalSize | unsigned int | The maximum NAL size. This value should be not 0 for dynamic slice mode. |
bEnableLongTermReference | bool | 1: on, 0: off |
iLTRRefNum | int | The number of LTR(long term reference),TODO: not supported to set it arbitrary yet. |
iLtrMarkPeriod | unsigned int | The LTR marked period that is used in feedback. |
iMultipleThreadIdc | unsigned short | 1 # 0: auto(dynamic imp. internal encoder); 1: multiple threads imp. disabled; lager than 1: count number of threads; |
iLoopFilterDisableIdc | int | 0: on, 1: off, 2: on except for slice boundaries |
iLoopFilterAlphaC0Offset | int | AlphaOffset: valid range [-6, 6], default 0. |
iLoopFilterBetaOffset | int | BetaOffset: valid range [-6, 6], default 0. |
bEnableDenoise | bool | denoise control |
bEnableBackgroundDetection | bool | background detection control //VAA_BACKGROUND_DETECTION //BGD cmd |
bEnableAdaptiveQuant | bool | adaptive quantization control |
bEnableFrameCroppingFlag | bool | enable frame cropping flag: TRUE always in application |
bEnableSceneChangeDetect | bool | |
bIsLosslessLink | bool | LTR advanced setting. |
Option types introduced in decoder application
Name | Initializer | Descritpion |
DECODER_OPTION_DATAFORMAT | = 0 | color format, now supports 23 only (I420) |
DECODER_OPTION_END_OF_STREAM | end of stream flag | |
DECODER_OPTION_VCL_NAL | feedback whether or not have VCL NAL in current AU for application layer | |
DECODER_OPTION_TEMPORAL_ID | feedback temporal id for application layer | |
DECODER_OPTION_FRAME_NUM | feedback current decoded frame number | |
DECODER_OPTION_IDR_PIC_ID | feedback current frame belong to which IDR period | |
DECODER_OPTION_LTR_MARKING_FLAG | feedback wether current frame mark a LTR | |
DECODER_OPTION_LTR_MARKED_FRAME_NUM | feedback frame num marked by current Frame | |
DECODER_OPTION_ERROR_CON_IDC | not finished yet, indicate decoder error concealment status, in progress | |
DECODER_OPTION_TRACE_LEVEL | ||
DECODER_OPTION_TRACE_CALLBACK | a void (*)(void* context, int level, const char* message) function which receives log messages | |
DECODER_OPTION_TRACE_CALLBACK_CONTEXT | Context info of trace callbac. | |
DECODER_OPTION_GET_STATISTICS |
SVC Decoding Parameters, reserved here and potential applicable in the future
Name | Type | Descritpion |
pFileNameRestructed | char * | File name of restructed frame used for PSNR calculation based debug. |
eOutputColorFormat | EVideoFormatType | color space format to be outputed, EVideoFormatType specified in codec_def.h |
uiCpuLoad | unsigned int | CPU load. |
uiTargetDqLayer | unsigned char | Setting target dq layer id. |
eEcActiveIdc | ERROR_CON_IDC | Whether active error concealment feature in decoder. |
sVideoProperty | SVideoProperty | Video stream property. |
structure for source picture
Name | Type | Descritpion |
iColorFormat | int | color space type |
iStride | int | stride for each plane pData |
pData | unsigned char * | plane pData |
iPicWidth | int | luma picture width in x coordinate |
iPicHeight | int | luma picture height in y coordinate |
uiTimeStamp | long long |
Option types introduced in SVC encoder application
Name | Initializer | Descritpion |
ENCODER_OPTION_DATAFORMAT | = 0 | |
ENCODER_OPTION_IDR_INTERVAL | IDR period,0/-1 means no Intra period (only the first frame); lager than 0 means the desired IDR period, must be multiple of (2^temporal_layer) | |
ENCODER_OPTION_SVC_ENCODE_PARAM_BASE | Structure of Base Param. | |
ENCODER_OPTION_SVC_ENCODE_PARAM_EXT | Structure of Extension Param. | |
ENCODER_OPTION_FRAME_RATE | Maximal input frame rate, current supported range: MAX_FRAME_RATE = 30,MIN_FRAME_RATE = 1. | |
ENCODER_OPTION_BITRATE | ||
ENCODER_OPTION_MAX_BITRATE | ||
ENCODER_OPTION_INTER_SPATIAL_PRED | ||
ENCODER_OPTION_RC_MODE | ||
ENCODER_PADDING_PADDING | 0:disable padding;1:padding | |
ENCODER_OPTION_PROFILE | Assgin the profile for each layer. | |
ENCODER_OPTION_LEVEL | Assgin the level for each layer. | |
ENCODER_OPTION_NUMBER_REF | The number of refererence frame. | |
ENCODER_OPTION_DELIVERY_STATUS | The delivery info which is a feedback from app level. | |
ENCODER_LTR_RECOVERY_REQUEST | ||
ENCODER_LTR_MARKING_FEEDBACK | ||
ENCODER_LTR_MARKING_PERIOD | ||
ENCODER_OPTION_LTR | 0:not enable LTR;larger than 0 enable LTR; LTR number is fixed to be 2 in current encoder | |
ENCODER_OPTION_COMPLEXITY | ||
ENCODER_OPTION_ENABLE_SSEI |
enable SSEI: true enable ssei; false disable ssei |
|
ENCODER_OPTION_ENABLE_PREFIX_NAL_ADDING |
enable prefix: true enable prefix; false disable prefix |
|
ENCODER_OPTION_ENABLE_SPS_PPS_ID_ADDITION |
enable pSps/pPps id addition: true enable pSps/pPps id; false disable pSps/pPps id addistion |
|
ENCODER_OPTION_CURRENT_PATH | ||
ENCODER_OPTION_DUMP_FILE | Dump layer reconstruct frame to a specified file. | |
ENCODER_OPTION_TRACE_LEVEL | trace info based on the trace level | |
ENCODER_OPTION_TRACE_CALLBACK | a void (*)(void* context, int level, const char* message) function which receives log messages | |
ENCODER_OPTION_TRACE_CALLBACK_CONTEXT | Context info of trace callback. | |
ENCODER_OPTION_GET_STATISTICS | read only | |
ENCODER_OPTION_STATISTICS_LOG_INTERVAL | log interval in milliseconds | |
ENCODER_OPTION_IS_LOSSLESS_LINK | advanced algorithmetic settings |
Name | Type | Descritpion |
iBufferStatus | int | 0: one frame data is not ready; 1: one frame data is ready |
sSystemBuffer | SSysMEMBuffer | memory info for one picture |
UsrData | union SBufferInfo::@2 | Output buffer info. |
SVC Encoding Parameters
Name | Type | Descritpion |
iUsageType | EUsageType | application type;// CAMERA_VIDEO_REAL_TIME: //camera video signal; SCREEN_CONTENT_REAL_TIME: screen content signal; |
iPicWidth | int | width of picture in luminance samples (the maximum of all layers if multiple spatial layers presents) |
iPicHeight | int | height of picture in luminance samples((the maximum of all layers if multiple spatial layers presents) |
iTargetBitrate | int | target bitrate desired |
iRCMode | RC_MODES | rate control mode |
fMaxFrameRate | float | maximal input frame rate |
frame bit stream info
Name | Type | Descritpion |
iTemporalId | int | Temporal ID. |
iSubSeqId | int |
refer to D.2.11 Sub-sequence information SEI message semantics The sub sequence layers are ordered hierarchically based on their dependency on each other so that any picture in a layer shall not be predicted from any picture on any higher layer. |
iLayerNum | int | |
sLayerInfo | SLayerBSInfo | |
eFrameType | EVideoFrameType | |
uiTimeStamp | long long |