-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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 |
footer