#======== Legend for comments ===================== 
# (m) specification per layer/dimension/layerset possible
# (c) cyclic repetition of values, if not given for all layers/dimensions/layersets. (e.g. 5 layers and 1 2 3 -> 1 2 3 1 2  )

#======== File I/O =====================

InputFile_0                   : newspapercc_4.yuv                              
InputFile_1                   : newspapercc_4_depth.yuv                               
InputFile_2                   : newspapercc_2.yuv                              
InputFile_3                   : newspapercc_2_depth.yuv                              

BitstreamFile                 : stream.bit                         

ReconFile_0                   : rec_4.yuv                          
ReconFile_1                   : rec_4_depth.yuv                         
ReconFile_2                   : rec_2.yuv                           
ReconFile_3                   : rec_2_depth.yuv                          

NumberOfLayers                : 4

#======== VPS ============================
ScalabilityMask               : 3           # Scalability Mask             ( 2: View Scalability, 3: View + Depth Scalability )
DimensionIdLen                : 1 2         # Number of bits to store Ids,  per scalability dimension, (m)
ViewOrderIndex                : 0 0 1 1     # ViewOrderIndex, per layer (m)
DepthFlag                     : 0 1 0 1     # DepthFlag  (m) 
LayerIdInNuh                  : 0           # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m)
SplittingFlag                 : 0           # Splitting Flag 
ViewId                        : 1 0         # ViewId, per ViewOrderIndex (m)

#======== VPS/ Layer sets ================
VpsNumLayerSets               : 3           # Number of layer sets    
LayerIdsInSet_0               : 0           # Indices in VPS of layers in layer set 0
LayerIdsInSet_1               : 0 1         # Indices in VPS of layers in layer set 1
LayerIdsInSet_2               : 0 1 2 3     # Indices in VPS of layers in layer set 2

#======== VPS / Output layer sets ================
DefaultTargetOutputLayerIdc   : 0           # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet
OutputLayerSetIdx             : 2           # Indices of layer sets used to derive additional output layer sets
LayerIdsInAddOutputLayerSet_0 : 2 3         # Indices in VPS of output layers in additional output layer set

#======== VPS / PTLI ================
Profile                       : main main 3d-main          # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m) 
Level                         : none none none             # Level   indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m) 
Tier                          : main main main             # Tier    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m) 
InblFlag                      : 0    0    0                # Inbl    indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure  (m) 

ProfileTierLevelIdx_0         : 1                          # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary)
ProfileTierLevelIdx_1         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary)
ProfileTierLevelIdx_2         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary)
ProfileTierLevelIdx_3         : 1 2                        # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary)
ProfileTierLevelIdx_4         : 1 2 2 2                    # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary)

#======== VPS / Dependencies ================
DirectRefLayers_1             : 0           # Indices in VPS of direct reference layers 
DirectRefLayers_2             : 0 1         # Indices in VPS of direct reference layers 
DirectRefLayers_3             : 1 2         # Indices in VPS of direct reference layers 

DependencyTypes_1             : 6           # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
DependencyTypes_2             : 2 0         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree
DependencyTypes_3             : 2 6         # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 6: Sample+Motion+Quadtree

#========== Camera parameters ==========
CameraParameterFile           : cam_pars.txt  # camera parameter file
CodedCamParsPrecision         : 5           # precision used for coding of camera parameters (in units of 2^(-x) luma samples)

#======== Unit definition ================
MaxCUWidth                    : 64          # Maximum coding unit width in pixel
MaxCUHeight                   : 64          # Maximum coding unit height in pixel
MaxPartitionDepth             : 4           # Maximum coding unit depth
QuadtreeTULog2MaxSize         : 5           # Log2 of maximum transform size for
                                            # quadtree-based TU coding (2...6)
QuadtreeTULog2MinSize         : 2           # Log2 of minimum transform size for
                                            # quadtree-based TU coding (2...6)
QuadtreeTUMaxDepthInter       : 3
QuadtreeTUMaxDepthIntra       : 3

#======== Coding Structure =============
IntraPeriod                   : 1           # Period of I-Frame ( -1 = only first)
DecodingRefreshType           : 1           # Random Accesss 0:none, 1:CRA, 2:IDR, 3:Recovery Point SEI
GOPSize                       : 1           # GOP Size (number of B slice = GOPSize-1)
Frame1    : B  1  1  0.442   0  0  0  4  0                  0                    0             0
FrameI_l1:  I  0  0  0.442   0  0  0  0  0                  0                    0             1
Frame1_l1 : B  1  1  0.442   0  0  0  4  0                  0                    0             1
FrameI_l2 : I  0  0  0.442   0  0  0  0  0                  0                    0             1
Frame1_l2 : B  1  1  0.442   0  0  0  4  0                  0                    0             1
FrameI_l3 : I  0  0  0.442   0  0  0  0  0                  0                    0             1
Frame1_l3 : B  1  1  0.442   0  0  0  4  0                  0                    0             1

#=========== Motion Search =============
FastSearch                    : 1           # 0:Full search  1:TZ search
SearchRange                   : 64          # (0: Search range is a Full frame)
BipredSearchRange             : 4           # Search range for bi-prediction refinement
HadamardME                    : 1           # Use of hadamard measure for fractional ME
FEN                           : 1           # Fast encoder decision
FDM                           : 1           # Fast Decision for Merge RD cost

#======== Quantization =============
MaxDeltaQP                    : 0           # CU-based multi-QP optimization
MaxCuDQPDepth                 : 0           # Max depth of a minimum CuDQP for sub-LCU-level delta QP
DeltaQpRD                     : 0           # Slice-based multi-QP optimization
RDOQ                          : 1           # RDOQ
RDOQTS                        : 1           # RDOQ for transform skip

#=========== Deblock Filter ============

LoopFilterOffsetInPPS         : 1           # Dbl params: 0=varying params in SliceHeader, param = base_param + GOP_offset_param; 1 (default) =constant params in PPS, param = base_param)
LoopFilterDisable             : 0 1         # Disable deblocking filter (0=Filter, 1=No Filter) (mc)
LoopFilterBetaOffset_div2     : 0           # base_param: -6 ~ 6 
LoopFilterTcOffset_div2       : 0           # base_param: -6 ~ 6
DeblockingFilterMetric        : 0           # blockiness metric (automatically configures deblocking parameters in bitstream). Applies slice-level loop filter offsets (LoopFilterOffsetInPPS and LoopFilterDisable must be 0)


#=========== Misc. ============
InternalBitDepth              : 8           # codec operating bit-depth

#=========== Coding Tools =================
SAO                           : 1 0         # Sample adaptive offset  (0: OFF, 1: ON) (mc)
AMP                           : 1           # Asymmetric motion partitions (0: OFF, 1: ON)
TransformSkip                 : 1           # Transform skipping (0: OFF, 1: ON)
TransformSkipFast             : 1           # Fast Transform skipping (0: OFF, 1: ON)
SAOLcuBoundary                : 0           # SAOLcuBoundary using non-deblocked pixels (0: OFF, 1: ON)

#============ Slices ================
SliceMode                : 0                # 0: Disable all slice options.
                                            # 1: Enforce maximum number of LCU in an slice,
                                            # 2: Enforce maximum number of bytes in an 'slice'
                                            # 3: Enforce maximum number of tiles in a slice
SliceArgument            : 1500             # Argument for 'SliceMode'.
                                            # If SliceMode==1 it represents max. SliceGranularity-sized blocks per slice.
                                            # If SliceMode==2 it represents max. bytes per slice.
                                            # If SliceMode==3 it represents max. tiles per slice.

LFCrossSliceBoundaryFlag : 1                # In-loop filtering, including ALF and DB, is across or not across slice boundary.
                                            # 0:not across, 1: across

#============ PCM ================
PCMEnabledFlag                      : 0                # 0: No PCM mode
PCMLog2MaxSize                      : 5                # Log2 of maximum PCM block size.
PCMLog2MinSize                      : 3                # Log2 of minimum PCM block size.
PCMInputBitDepthFlag                : 1                # 0: PCM bit-depth is internal bit-depth. 1: PCM bit-depth is input bit-depth.
PCMFilterDisableFlag                : 0                # 0: Enable loop filtering on I_PCM samples. 1: Disable loop filtering on I_PCM samples.

#============ Tiles ================
TileUniformSpacing                  : 0                # 0: the column boundaries are indicated by TileColumnWidth array, the row boundaries are indicated by TileRowHeight array
                                                       # 1: the column and row boundaries are distributed uniformly
NumTileColumnsMinus1                : 0                # Number of tile columns in a picture minus 1
TileColumnWidthArray                : 2 3              # Array containing tile column width values in units of CTU (from left to right in picture)   
NumTileRowsMinus1                   : 0                # Number of tile rows in a picture minus 1
TileRowHeightArray                  : 2                # Array containing tile row height values in units of CTU (from top to bottom in picture)
LFCrossTileBoundaryFlag             : 1                  # In-loop filtering is across or not across tile boundary.
                                                       # 0:not across, 1: across                                                       

#============ WaveFront ================
WaveFrontSynchro                    : 0                # 0:  No WaveFront synchronisation (WaveFrontSubstreams must be 1 in this case).
                                                       # >0: WaveFront synchronises with the LCU above and to the right by this many LCUs.

#=========== Quantization Matrix =================
ScalingList                   : 0                      # ScalingList 0 : off, 1 : default, 2 : file read
ScalingListFile               : scaling_list.txt       # Scaling List file name. If file is not exist, use Default Matrix.

#============ Lossless ================
TransquantBypassEnableFlag: 0  # Value of PPS flag.
CUTransquantBypassFlagForce: 0 # Constant lossless-value signaling per CU, if TransquantBypassEnableFlag is 1.

#============ Rate Control ======================
RateControl                         : 0                # Rate control: enable rate control
TargetBitrate                       : 1000000          # Rate control: target bitrate, in bps
KeepHierarchicalBit                 : 1                # Rate control: keep hierarchical bit allocation in rate control algorithm
LCULevelRateControl                 : 1                # Rate control: 1: LCU level RC; 0: picture level RC
RCLCUSeparateModel                  : 1                # Rate control: use LCU level separate R-lambda model
InitialQP                           : 0                # Rate control: initial QP
RCForceIntraQP                      : 0                # Rate control: force intra QP to be equal to initial QP

#========== multiview coding tools ==========
IvMvPredFlag                        : 1 1              # Inter-view motion prediction
IvResPredFlag                       : 1                # Advanced inter-view residual prediction (0:off, 1:on)
IlluCompEnable                      : 1                # Enable Illumination compensation ( 0: off, 1: on )  (v/d)
IlluCompLowLatencyEnc               : 0                # Enable low-latency Illumination compensation encoding( 0: off, 1: on )
ViewSynthesisPredFlag               : 1                # View synthesis prediction 
DepthRefinementFlag                 : 1                # Disparity refined by depth DoNBDV
IvMvScalingFlag                     : 1                # Interview motion vector scaling
Log2SubPbSizeMinus3                 : 0                # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3
Log2MpiSubPbSizeMinus3              : 3	               # Log2 of sub-PU size for MPI (3...6)
DepthBasedBlkPartFlag               : 1                # Depth-based Block Partitioning

#========== depth coding tools ==========
VSO                       : 1                                      # use of view synthesis optimization for depth coding
IntraWedgeFlag                      : 1
IntraContourFlag                    : 1                 # use of intra-view prediction mode
IntraSdcFlag                        : 1
DLT                                 : 1
QTL                                 : 1
QtPredFlag                          : 1
InterSdcFlag                        : 1                             # use of inter sdc
MpiFlag                             : 1
DepthIntraSkip                      : 1     

#========== view synthesis optimization (VSO) ==========

VSOConfig                 : [cx0 B(cc1) I(s0.25 s0.5 s0.75)][cx1 B(oo0) I(s0.25 s0.5 s0.75)]  # VSO configuration string
#VSOConfig                 : [ox0 B(cc1) I(s0.25 s0.5 s0.75)][cx1 B(oo0) I(s0.25 s0.5 s0.75)]  # VSO configuration string // FCO
WVSO                      : 1                                    # use of WVSO (Depth distortion metric with a weighted depth fidelity term) 
VSOWeight                 : 10                                   # weight of VSO ( in SAD case, cf. squared in SSE case )
VSDWeight                 : 1                                    # weight of VSD ( in SAD case, cf. squared in SSE case )
DWeight                   : 1                                    # weight of depth distortion itself ( in SAD case, cf. squared in SSE case )
UseEstimatedVSD           : 1                                    # Model based VSD estimation instead of rendering based for some encoder decisions      



### DO NOT ADD ANYTHING BELOW THIS LINE ###
### DO NOT DELETE THE EMPTY LINE BELOW ###