gConfig.nCores = 1; gConfig.coreTeamMap[0] = '0'; gConfig.encodingPreset = 2;// # encoding preset 0: DEFAULT, 1: HIGH_QUALITY, 2: HIGH_SPEED, 3:USER_DEFINED gConfig.rateControlPreset = 5;// # 5: IVIDEO_USER_DEFINED, 4: IVIDEO_NONE, 2: IVIDEO_STORAGE, 1: IVIDEO_LOW_DELAY gConfig.maxWidth = 1920;// # Max Frame width gConfig.maxHeight = 1088;// # Max Frame height gConfig.inputChromaFormat = 1;// # 1 => XDM_YUV_420P, Only 1 is supported. gConfig.inputContentType = 0;// # Input buffer content type, 0 -> Progressive Type, 1-> Interlaced. gConfig.mvAccuracy = 2 ;//# Pixel accuracy of the motion vector, 0 => integer pel 2=> quarter pel gConfig.generateHeader = 0;// # 1: Encode only header, 0: Encode entire access unit, including the headers gConfig.forceFrame = -1 ;//# -1: IVIDEO_NA_FRAME, 3: IVIDEO_IDR_FRAME gConfig.dataLayout = 0 ;//# input data buffer layout 0=> interleaved, 1=> seprated. Only 0 is supported and applicable only for interlace content. gConfig.sampleAspectRatioHeight = 1 ;//# Aspect Ratio Height gConfig.sampleAspectRatioWidth = 1 ;//# Aspect Ratio Width gConfig.rateControlParamsPreset = 1;// # Preset value for selecting rate control params, 0: default (other parameters in this category will be decided by Codec internally), 1: user defined gConfig.qpI = -1;// # Initial QP for I/IDR frames, -1 indicates codec chosen gConfig.qpP = -1;// # Initial QP for P frames gConfig.qpOffsetB = 4;// # Offset of B frames QP from P frames gConfig.CbQPIndexOffset = 0 ;//# Specifies offset to be added to luma QP for addressing QPC values table for Cb components gConfig.CrQPIndexOffset = 0 ;//# Specifies offset to be added to luma QP for addressing QPC values table for Cr components gConfig.initialBufferLevel = 2000000 ;//# Initial Buffer level for HRD compliance, keep same as HRDBufferSize for best quality gConfig.HRDBufferSize = 2000000 ;//# Hypothetical Reference Decoder Buffer Size in bits - 2*bitrate for VBR gConfig.enablePRC = 1;// # Control Flag to enable MB level Perceptual Rate Control, 0 => Disable, 1 => Enable gConfig.frameSkipAfterSceneChange = 0;// # 0=> no forced skip after scenechange, 1 => force skip frame after coding scene change frame. gConfig.scalingMatrixPreset = 0 ;//# Scaling Matrix selection of encoder, 0: no scaling matrices, 1: normal, 2: noisy, 3 : standard default, 4 : user defined gConfig.suppressHighFreqCoeffs = 1 ;//#0=> No High Freq Suppression #1=>Adaptively enabled only for noise streams when Qp reaches it max & suppression for more than half of the coeffs 2 => Enabled for all streams when Qp reaches it max & suppression for half of the coeffs 3 => Enabled for all streams when Qp reaches it max & suppression for more than half of the coeffs gConfig.interCodingPreset = 1 ;//# Inter coding mode preset, 0 => deafult values, 1 => user defined gConfig.MvRangeVerP = 32 ;// # Vertical Motion Vector Range for P frames in integer pixels, Range supported is 16 to 496 gConfig.MvRangeHorP = 144;// # Horizontal Motion Vector Range for P frames in integer pixels, Range supported is 16 to 496 gConfig.MvRangeVerB = 32 ;// # Vertical Motion Vector Range for B frames in integer pixels, Range supported is 16 to 496 gConfig.MvRangeHorB = 144 ;//# Horizontal Motion Vector Range for B frames in integer pixels, Range supported is 16 to 496 gConfig.maxMVperMB = 4 ;//# Maximum MV per MB (Values of 1 & 4 are valid) gConfig.intraCodingPreset = 1 ;//# Intra coding mode preset, 0 => deafult values, 1 => user defined gConfig.enableIntraPartition = 4 ;//# 0 => INTRA_PARTITION_NONE , 1 => INTRA_PARTITION_ISLICES, 2 => INTRA_PARTITION_IPSLICES, 3 => INTRA_PARTITION_IBSLICES, 4 => INTRA_PARTITION_IPBSLICES. gConfig.intraRefreshMethod = 0 ;//# IH264_INTRAREFRESH_NONE = 0, IH264_INTRAREFRESH_CYCLIC_MBS = 1 gConfig.intraRefreshRate = 0 ;//# Rate at which intra MB Refresh is done. e.g. 10 indicates every 10th MB will coded as Intra in inter pictures. gConfig.constrainedIntraPredEnable = 0;// # Controls the intra macroblock coding in inter slices gConfig.entropyCodingMode = 1;// # Enropy coding type, (0 => CAVLC, 1 => CABAC) gConfig.sliceCodingPreset = 0 ;//# Preset value for slice coding mode, 0 => deafult values, 1 => user defined gConfig.streamFormat = 0;// # Type of bitstream to be encoded, 0 => Byte stream format, 1=> NALU format(without start code) gConfig.sliceMode = 0 ;//# Type of slice coding, 0 => slice coding mode is frame based, 1 => Slices are controlled based upon number of Macroblocks gConfig.sliceUnitSize = 1200 ;//# Number of macroblocks per slice gConfig.loopfilterPreset = 1 ;//# Preset value for loop filter operation parameters, 0 => default values, 1 => user defined gConfig.loopfilterDisableIDC = 2 ;//# Disable H.264 loop filter, (0=Filter, 1= NoFilter, 2 = No loop filter across slices) gConfig.filterOffsetA = 0 ;//# Alpha offset for loop filter gConfig.filterOffsetB = 0 ;//# Beta offset for loop filter gConfig.vuiCodingPreset = 1;// # Preset value for VUI Control Params, 0 => deafult values, 1 => user defined gConfig.aspectRatioInfoPresentFlag = 1 ;//# Controls the insertion of aspect ratio information in VUI part of bit-stream gConfig.aspectRatioIdc = 1 ;//# Aspect ratio ID gConfig.videoSignalTypePresentFlag = 0 ;//# controls the insertion of video signal type in VUI part of bit-stream gConfig.videoFormat = 2 ;//# Video signal type gConfig.videoFullRangeFlag = 0 ;//# Flag to specigy Range of the pixels gConfig.colourDescriptionPresentFlag = 1 ;//# Specifies whether colour_primaries, transfer_characteristics and matrix_coefficients are present or not. gConfig.colourPrimaries = 5;// # chromaticity coordinates of the source primaries(Table E-3 in standard) gConfig.transferCharacteristics = 5;// # opto-electronic transfer characteristic of the source picture(Table E-4 in standard) gConfig.matrixCoefficients = 5;// # matrix coefficients used in deriving Y,Cb,Cr signals from the G,B,R primaries(Table E-5 in standard) gConfig.timingInfoPresentFlag = 1;// # Controls the insertion of timing info related parameters in VUI part of bit-stream gConfig.gopStructure = 0 ;//# GOP structure, 0 => Open or Non uniform(IBBPBBP), 1 => Closed or Uniform (BBIBBPBB) gConfig.log2MaxFNumMinus4 = 0;// # sliceParams::frame_num syntax element will be reset after every (1<< (log2MaxFNumMinus4 + 4)) frames gConfig.picOrderCountType = 0 ;// # Picture order count type gConfig.transformBlockSize = 1 ;// # Tranform type, 0:4x4 only, 1: 8x8 only - 4x4 for BP, 8x8 for HP gConfig.topFieldFirstFlag = 1 ;// # Flag to indicate field order in interlaced content gConfig.interlaceCodingType = 4 ;//# Interlced field coding type selection, 2 => MRF 3=> ARF 4=> SPF gConfig.debugTraceLevel = 0 ;//# Debug trace Enable 0 - Disable, 1- Level1, 2 - Level2, 3 - Level3, gConfig.lastNFramesToLog = 5 ;//# Last N frames to log into debug trace buffer gConfig.maxInterFrameInterval = 3;// I to P frame distance. 1 indicates no B frames. Value >1 indicates presence of B frames. gConfig.profile = 100;// # Encoding profile 100 => HP, 77 => MP, 66 => BP. gConfig.level = 40;// # Level IDC (e.g. 20 = level 2.0) gConfig.inputWidth = 320;// # width of image gConfig.inputHeight = 240;// # Height of image gConfig.targetFrameRate = 30000;// # Target frame rate in fps * 1000 gConfig.targetBitRate = 300000;// # Target Bit Rate in Bits per second. gConfig.intraFrameInterval = 15;// # Interval between two consecutive intra frames, 0 => Only first frame to be intra coded, 1 => All intra frames, N => One intra frame and N-1 inter frames, where N > 1 gConfig.interFrameInterval = 3;// M: Number of (M-1) B frames between two reference frames. 1 indicates no B frame. gConfig.qpMaxI = 51;// # Maximum QP for I/IDR frames gConfig.qpMinI = 1;// # Minimum QP for I/IDR frames gConfig.qpMaxP = 51;// # Maximum QP for P frames gConfig.qpMinP = 3;// # Minimum QP for P frames gConfig.qpMaxB = 51 ;//# Maximum QP for B frames gConfig.qpMinB = 3 ;//# Minimum QP for B frames gConfig.rcAlgo = 2;// # Rate control algorithm used, 0: Variable Bitrate, 1 : Constant bitrate (low dealy), 2: Constrained CBR (No Frame Skips), 3:Constrained CBR (No Frame Skips with no scene change detection) gConfig.IDRFrameInterval = 2;// # Interval b/w two IDR frames 0=>IDR BBP I BBP I, 1=>IDR BBP IDR BBP IDR, 2=>IDR BBP I BBP IDR, 3=>IDR BBP I BBP I BBP IDR