#  New Input File Format is as follows
#  <ParameterName> = <ParameterValue> # Comment
#

#############################################################################################
# Files      
#############################################################################################
InputFile       = ..\..\..\Test\TestVecs\Input\FourPeople_352x288_15.yuv
EncodedFile     = ..\..\..\Test\TestVecs\Output\FourPeople_352x288_15-7.264
#Default reference file in package is generated with single core configuration
ReferenceFile   = ..\..\..\Test\TestVecs\Reference\airshow_p352x288_ref.264

##########################################################################################
# Multicore Parameters
##########################################################################################
 
ncores                  = 1
CoreTeamMap             = 0,1,2,3,4,5,6,7
# ##########################################################################################
#  Encoder Control
# ##########################################################################################
EncodingPreset        	= 3 # encoding preset 0: DEFAULT, 1: HIGH_QUALITY, 2: HIGH_SPEED, 3:USER_DEFINED
RateControlPreset     	= 1 # 5: IVIDEO_USER_DEFINED, 4: IVIDEO_NONE, 2: IVIDEO_STORAGE, 1: IVIDEO_LOW_DELAY
framesToEncode        	= 153 # Total number of frames to encode 
MaxWidth              	= 640 # Max Frame width
MaxHeight             	= 480 # Max Frame height
MaxInterFrameInterval 	= 1 # I to P frame distance. 1 indicates no B frames. Value >1 indicates presence of B frames. 
InputChromaFormat     	= 1 # 1 => XDM_YUV_420P, Only 1 is supported.
InputContentType      	= 0 # Input buffer content type, 0 -> Progressive Type, 1-> Interlaced.
Profile               	= 66 # Encoding profile 100 => HP, 77 => MP, 66 => BP.  
Level                 	= 40 # Level IDC   (e.g. 20 = level 2.0) 
inputWidth              = 352 # width of image 
inputHeight             = 288 # Height of image 
targetFrameRate         = 15000 # Target frame rate in fps * 1000
targetBitRate           = 384000 # Target Bit Rate in Bits per second. 
intraFrameInterval    	= 150  # 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
interFrameInterval    	= 1 # M: Number of (M-1) B frames between two reference frames. 1 indicates no B frame. 
mvAccuracy          	= 2 # Pixel accuracy of the motion vector, 0 => integer pel 2=> quarter pel
generateHeader        	= 0 # 1: Encode only header, 0: Encode entire access unit, including the headers 
forceFrame            	= -1 # -1: IVIDEO_NA_FRAME, 3: IVIDEO_IDR_FRAME
dataLayout            	= 0 # input data buffer layout 0=> interleaved, 1=> seprated. Only 0 is supported and applicable only for interlace content.
sampleAspectRatioHeight = 1 # Aspect Ratio Height
sampleAspectRatioWidth  = 1 # Aspect Ratio Width

# ##########################################################################################
#  Rate Control Params
# ##########################################################################################
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
rcAlgo                  = 1 # Rate control algorithm used, 0: Variable Bitrate, 1 : Constant bitrate (low dealy), 2: Constrained CBR (No Frame Skips)
qpI                     = -1 # Initial QP for I/IDR frames, -1 indicates codec chosen 
qpP                     = -1 # Initial QP for P frames
qpOffsetB               = 4 # Offset of B frames QP from P frames 
qpMaxI                  = 51 # Maximum QP for I/IDR frames 
qpMinI                  = 18 # Minimum QP for I/IDR frames 
qpMaxP                  = 51 # Maximum QP for P frames 
qpMinP                  = 18 # Minimum QP for P frames 
qpMaxB                  = 51 # Maximum QP for B frames 
qpMinB                  = 1 # Minimum QP for B frames 
CbQPIndexOffset         = 0 # Specifies offset to be added to luma QP for addressing QPC values table for Cb components
CrQPIndexOffset         = 0 # Specifies offset to be added to luma QP for addressing QPC values table for Cr components
initialBufferLevel      = 200000 # Initial Buffer level for HRD compliance, keep same as HRDBufferSize for best quality
HRDBufferSize           = 200000 # Hypothetical Reference Decoder Buffer Size in bits - 2*bitrate for VBR
enablePRC               = 0 #  Control Flag to enable MB level Perceptual Rate Control, 0 => Disable, 1 => Enable
frameSkipAfterSceneChange = 1 # 0=> no forced skip after scenechange, 1 => force skip frame after coding scene change frame.
scalingMatrixPreset      = 0 # Scaling Matrix selection of encoder, 0: no scaling matrices, 1: normal, 2: noisy, 3 : standard default, 4 : user defined
##########################################################################################
#  InterCoding Control
##########################################################################################

interCodingPreset    = 1 # Inter coding mode preset, 0 => deafult values, 1 => user defined 
MvRangeVerP          = 32  # Vertical Motion Vector Range for P frames in integer pixels, Range supported is 16 to 496 
MvRangeHorP          = 144 # Horizontal Motion Vector Range for P frames in integer pixels, Range supported is 16 to 496
MvRangeVerB          = 32  # Vertical Motion Vector Range for B frames in integer pixels, Range supported is 16 to 496 
MvRangeHorB          = 144 # Horizontal Motion Vector Range for B frames in integer pixels, Range supported is 16 to 496
maxMVperMB           = 4 # Maximum MV per MB (Values of 1 & 4 are valid)

# ##########################################################################################
#  IntraCoding Control
# ##########################################################################################
intraCodingPreset             = 1 # Intra coding mode preset, 0 => deafult values, 1 => user defined  
enableIntraPartition          = 4 # 0 => INTRA_PARTITION_NONE , 1 => INTRA_PARTITION_ISLICES, 2 => INTRA_PARTITION_IPSLICES, 3 => INTRA_PARTITION_IBSLICES, 4 => INTRA_PARTITION_IPBSLICES.
intraRefreshMethod            = 0 # IH264_INTRAREFRESH_NONE  = 0, IH264_INTRAREFRESH_CYCLIC_MBS = 1
intraRefreshRate              = 0 # Rate at which intra MB Refresh is done. e.g. 10 indicates every 10th MB will coded as Intra in inter pictures.
constrainedIntraPredEnable    = 0 # Controls the intra macroblock coding in inter slices

# ##########################################################################################
# Entropy Coding Mode
# ##########################################################################################
entropyCodingMode               = 0 # Enropy coding type, (0 => CAVLC, 1 => CABAC)

# ##########################################################################################
#  Slice Mode Configuration
# ##########################################################################################
sliceCodingPreset            = 1 # Preset value for slice coding mode, 0 => deafult values, 1 => user defined
streamFormat                 = 0 # Type of bitstream to be encoded. Only value 0 is supprted (Byte stream format)
sliceMode                    = 2 # Type of slice coding, 0 => slice coding mode is frame based, 1 => Slices are controlled based upon number of Macroblocks
sliceUnitSize                = 1500 # Number of macroblocks per slice

# ##########################################################################################
#  Loop Filter Control
# ##########################################################################################

loopfilterPreset	           = 1 # Preset value for loop filter operation parameters, 0 => default values, 1 => user defined
loopfilterDisableIDC               = 2 # Disable H.264 loop filter, (0=Filter, 1= NoFilter, 2 = No loop filter across slices)
filterOffsetA                      = 0 # Alpha offset for loop filter
filterOffsetB                      = 0 # Beta offset for loop filter
# ##########################################################################################
#  VUI Control Params
# ##########################################################################################

vuiCodingPreset                = 1 # Preset value for VUI Control Params, 0 => deafult values, 1 => user defined
aspectRatioInfoPresentFlag     = 1 # Controls the insertion of aspect ratio information in VUI part of bit-stream 
aspectRatioIdc                 = 1 # Aspect ratio ID 
videoSignalTypePresentFlag     = 0 # controls the insertion of video signal type in VUI part of bit-stream
videoFormat                    = 2 # Video signal type
videoFullRangeFlag             = 0 # Flag to specigy Range of the pixels 
colourDescriptionPresentFlag   = 1 # Specifies whether colour_primaries, transfer_characteristics and matrix_coefficients are present or not.
colourPrimaries         	 = 5 # chromaticity coordinates of the source primaries(Table E-3 in standard)
transferCharacteristics 	 = 5 # opto-electronic transfer characteristic of the source picture(Table E-4 in standard)
matrixCoefficients      	 = 5 # matrix coefficients used in deriving Y,Cb,Cr signals from the G,B,R primaries(Table E-5 in standard)
timingInfoPresentFlag          = 1 # Controls the insertion of timing info related parameters in VUI part of bit-stream
##########################################################################################
#  MISC
##########################################################################################

gopStructure               = 0 # GOP structure, 0 => Open or Non uniform(IBBPBBP), 1 => Closed or Uniform (BBIBBPBB) 
log2MaxFNumMinus4          = 0 # sliceParams::frame_num syntax element will be reset after every (1<< (log2MaxFNumMinus4 + 4)) frames
picOrderCountType          = 2  # Picture order count type
IDRFrameInterval           = 1 # 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
transformBlockSize         = 0  # Tranform type, 0:4x4 only, 1: 8x8 only
topFieldFirstFlag          = 1  # Flag to indicate field order in interlaced content
interlaceCodingType        = 4 # Interlced field coding type selection, 2 => MRF 3=> ARF 4=> SPF
DebugTraceLevel            = 0 # Debug trace Enable 0 - Disable, 1- Level1, 2 - Level2, 3 - Level3,
lastNFramesToLog           = 5 # Last N frames to log into debug trace buffer