[18] | 1 | |
---|
| 2 | #========== file i/o ========== |
---|
| 3 | InputFile_0 : org_0.yuv # video input file for view 0 |
---|
| 4 | InputFile_1 : org_1.yuv # video input file for view 1 |
---|
| 5 | InputFile_2 : org_2.yuv # video input file for view 2 |
---|
| 6 | |
---|
| 7 | DepthInputFile_0 : org_depth_0.yuv # depth input file for view 0 |
---|
| 8 | DepthInputFile_1 : org_depth_1.yuv # depth input file for view 1 |
---|
| 9 | DepthInputFile_2 : org_depth_2.yuv # depth input file for view 2 |
---|
| 10 | |
---|
| 11 | ReconFile_0 : rec_0.yuv # video output file for view 0 |
---|
| 12 | ReconFile_1 : rec_1.yuv # video output file for view 1 |
---|
| 13 | ReconFile_2 : rec_2.yuv # video output file for view 2 |
---|
| 14 | |
---|
| 15 | DepthReconFile_0 : rec_depth_0.yuv # depth output file for view 0 |
---|
| 16 | DepthReconFile_1 : rec_depth_1.yuv # depth output file for view 1 |
---|
| 17 | DepthReconFile_2 : rec_depth_2.yuv # depth output file for view 2 |
---|
| 18 | |
---|
| 19 | BitstreamFile : stream.bit # bitstream file |
---|
| 20 | |
---|
| 21 | #========== general coding parameters ========== |
---|
| 22 | NumberOfViews : 3 # number of views to be coded |
---|
| 23 | CodeDepthMaps : 1 # encode depth maps |
---|
| 24 | FrameSkip : 0 # number of frames to be skipped at beginning of input sequences |
---|
| 25 | InputBitDepth : 8 # bit depth of input files |
---|
| 26 | OutputBitDepth : 8 # bit depth of output files |
---|
| 27 | InternalBitDepth : 8 # internal bit depth used for coding |
---|
| 28 | |
---|
[58] | 29 | CroppingMode : 0 # Cropping mode (0: no cropping, 1:automatic padding, 2: padding, 3:cropping) |
---|
| 30 | CropLeft : 0 # Left cropping/padding for cropping mode 3 |
---|
| 31 | CropRight : 0 # Right cropping/padding for cropping mode 3 |
---|
| 32 | CropTop : 0 # Top cropping/padding for cropping mode 3 |
---|
| 33 | CropBottom : 0 # Bottom cropping/padding for cropping mode 3 |
---|
| 34 | HorizontalPadding : 0 # horizontal source padding for cropping mode 2 |
---|
| 35 | VerticalPadding : 0 # vertical source padding for cropping mode 2 |
---|
[18] | 36 | |
---|
[58] | 37 | |
---|
[18] | 38 | #========== camera parameters ========== |
---|
| 39 | CameraParameterFile : cam_pars.txt # camera parameter file |
---|
| 40 | CodedCamParsPrecision : 5 # precision used for coding of camera parameters (in units of 2^(-x) luma samples) |
---|
| 41 | |
---|
| 42 | |
---|
| 43 | #========== coding unit definitions ========== |
---|
| 44 | MaxCUWidth : 64 # maximum coding unit witdh (in luma samples) |
---|
| 45 | MaxCUHeight : 64 # maximum coding unit height (in luma samples) |
---|
| 46 | MaxPartitionDepth : 4 # maximum coding unit depth |
---|
| 47 | QuadtreeTULog2MaxSize : 5 # log2 of maximum transform size |
---|
| 48 | QuadtreeTULog2MinSize : 2 # log2 of minimum transform size |
---|
| 49 | QuadtreeTUMaxDepthIntra : 3 # maximum transform tree depth for intra-coded CU's |
---|
| 50 | QuadtreeTUMaxDepthInter : 3 # maximum transform tree depth for inter-coded CU's |
---|
| 51 | |
---|
| 52 | |
---|
| 53 | #========== coding structure ========== |
---|
[58] | 54 | IntraPeriod : 24 # Period of I-Frame ( -1 = only first) |
---|
| 55 | DecodingRefreshType : 1 # Random Accesss 0:none, 1:CDR, 2:IDR |
---|
| 56 | GOPSize : 8 # GOP Size (number of B slice = GOPSize-1) |
---|
| 57 | # V0 Type POC QPoffset QPfactor temporal_id #ref_pics_active ref_pic #ref_pics reference pictures predict deltaRIdx-1 deltaRPS #ref_idcs reference idcs #IV_ref_pics IV reference pics IV ref list pos |
---|
| 58 | Frame1 : B 8 1 0.442 0 4 1 4 -8 -10 -12 -16 0 0 |
---|
| 59 | Frame2 : B 4 2 0.3536 0 2 1 3 -4 -6 4 1 0 4 5 1 1 0 0 1 0 |
---|
| 60 | Frame3 : B 2 3 0.3536 0 2 1 4 -2 -4 2 6 1 0 2 4 1 1 1 1 0 |
---|
| 61 | Frame4 : B 1 4 0.68 0 2 0 4 -1 1 3 7 1 0 1 5 1 0 1 1 1 0 |
---|
| 62 | Frame5 : B 3 4 0.68 0 2 0 4 -1 -3 1 5 1 0 -2 5 1 1 1 1 0 0 |
---|
| 63 | Frame6 : B 6 3 0.3536 0 2 1 4 -2 -4 -6 2 1 0 -3 5 1 1 1 1 0 0 |
---|
| 64 | Frame7 : B 5 4 0.68 0 2 0 4 -1 -5 1 3 1 0 1 5 1 0 1 1 1 0 |
---|
| 65 | Frame8 : B 7 4 0.68 0 2 0 4 -1 -3 -7 1 1 0 -2 5 1 1 1 1 0 0 |
---|
[78] | 66 | FrameI_v1 : P 0 3 0.442 0 1 1 0 0 1 -1 1 0 |
---|
[58] | 67 | Frame1_v1 : B 8 4 0.442 0 4 1 4 -8 -10 -12 -16 0 1 -1 2 0 |
---|
| 68 | Frame2_v1 : B 4 5 0.3536 0 3 1 3 -4 -6 4 1 0 4 5 1 1 0 0 1 1 -1 2 0 |
---|
| 69 | Frame3_v1 : B 2 6 0.3536 0 3 1 4 -2 -4 2 6 1 0 2 4 1 1 1 1 1 -1 2 0 |
---|
| 70 | Frame4_v1 : B 1 7 0.68 0 3 0 4 -1 1 3 7 1 0 1 5 1 0 1 1 1 1 -1 2 0 |
---|
| 71 | Frame5_v1 : B 3 7 0.68 0 3 0 4 -1 -3 1 5 1 0 -2 5 1 1 1 1 0 1 -1 3 0 |
---|
| 72 | Frame6_v1 : B 6 6 0.3536 0 3 1 4 -2 -4 -6 2 1 0 -3 5 1 1 1 1 0 1 -1 3 0 |
---|
| 73 | Frame7_v1 : B 5 7 0.68 0 3 0 4 -1 -5 1 3 1 0 1 5 1 0 1 1 1 1 -1 3 0 |
---|
| 74 | Frame8_v1 : B 7 7 0.68 0 3 0 4 -1 -3 -7 1 1 0 -2 5 1 1 1 1 0 1 -1 3 0 |
---|
[78] | 75 | FrameI_v2 : P 0 3 0.442 0 1 1 0 0 1 -2 1 0 |
---|
[58] | 76 | Frame1_v2 : B 8 4 0.442 0 4 1 4 -8 -10 -12 -16 0 1 -2 2 0 |
---|
| 77 | Frame2_v2 : B 4 5 0.3536 0 3 1 3 -4 -6 4 1 0 4 5 1 1 0 0 1 1 -2 2 0 |
---|
| 78 | Frame3_v2 : B 2 6 0.3536 0 3 1 4 -2 -4 2 6 1 0 2 4 1 1 1 1 1 -2 2 0 |
---|
| 79 | Frame4_v2 : B 1 7 0.68 0 3 0 4 -1 1 3 7 1 0 1 5 1 0 1 1 1 1 -2 2 0 |
---|
| 80 | Frame5_v2 : B 3 7 0.68 0 3 0 4 -1 -3 1 5 1 0 -2 5 1 1 1 1 0 1 -2 3 0 |
---|
| 81 | Frame6_v2 : B 6 6 0.3536 0 3 1 4 -2 -4 -6 2 1 0 -3 5 1 1 1 1 0 1 -2 3 0 |
---|
| 82 | Frame7_v2 : B 5 7 0.68 0 3 0 4 -1 -5 1 3 1 0 1 5 1 0 1 1 1 1 -2 3 0 |
---|
| 83 | Frame8_v2 : B 7 7 0.68 0 3 0 4 -1 -3 -7 1 1 0 -2 5 1 1 1 1 0 1 -2 3 0 |
---|
[18] | 84 | |
---|
[58] | 85 | ListCombination : 1 # Use combined list for uni-prediction in B-slices |
---|
| 86 | LCModification : 0 # enables signalling of combined reference list derivation |
---|
| 87 | DisableInter4x4 : 1 # Disable Inter4x4 (1: Disable Inter4x4, 0: Enable Inter4x4) |
---|
| 88 | |
---|
| 89 | |
---|
[18] | 90 | #========== encoder control /motion search ========== |
---|
| 91 | FastSearch : 1 # motion search mode (0:Full search, 1:Diamond, 2:PMVFAST) |
---|
| 92 | SearchRange : 96 # motion search range (in luma samples) |
---|
| 93 | BipredSearchRange : 4 # motion search range for bi-prediction refinement (in luma samples) |
---|
| 94 | HadamardME : 1 # use Hadamard SAD for fractional-sample search |
---|
| 95 | FEN : 1 # use fast encoder control |
---|
[78] | 96 | FDM : 1 # Fast Decision for Merge RD cost |
---|
[58] | 97 | TMVP : 1 # Enable TMVP |
---|
| 98 | ECU : 0 # Early CU setting |
---|
| 99 | CFM : 0 # Cbf fast mode setting |
---|
| 100 | SBACRD : 1 # SBAC based RD estimation |
---|
| 101 | ASR : 0 # adaptive motion search range |
---|
[18] | 102 | |
---|
| 103 | |
---|
| 104 | #========== quantization ========== |
---|
| 105 | DeltaQpRD : 0 # maximum delta QP offset for a slice |
---|
| 106 | MaxDeltaQP : 0 # maximum delta QP offset for a block |
---|
[58] | 107 | MaxCuDQPDepth : 0 # max depth of a minimum CuDQP for sub-LCU-level delta QP |
---|
[18] | 108 | RDOQ : 1 1 # use rate-distortion optimized quantization (RDOQ) |
---|
[58] | 109 | ChromaQpOffset : 0 # ChromaQPOffset |
---|
| 110 | ChromaQpOffset2nd : 0 # ChromaQPOffset2nd |
---|
| 111 | AdaptiveQpSelection : 0 # AdaptiveQpSelection |
---|
| 112 | AdaptiveQP : 0 # QP adaptation based on a psycho-visual model |
---|
| 113 | MaxQPAdaptationRange : 6 # QP adaptation range |
---|
| 114 | LambdaModifier0 : 1.0 # Lambda modifier for temporal layer 0 |
---|
| 115 | LambdaModifier1 : 1.0 # Lambda modifier for temporal layer 1 |
---|
| 116 | LambdaModifier2 : 1.0 # Lambda modifier for temporal layer 2 |
---|
| 117 | LambdaModifier3 : 1.0 # Lambda modifier for temporal layer 3 |
---|
[18] | 118 | |
---|
| 119 | |
---|
[58] | 120 | #=========== Quantization Matrix ================= |
---|
| 121 | ScalingList : 0 # ScalingList 0 : off, 1 : default, 2 : file read |
---|
| 122 | # ScalingListFile : # Scaling List file name. If file is not exist, use Default Matrix. |
---|
[18] | 123 | |
---|
| 124 | |
---|
[58] | 125 | #============ Lossless ================ |
---|
| 126 | LosslessCuEnabled : 0 # 1: Set "qpprime_y_zero_transquant_bypass_flag=1" and enable the lossless mode as well as the RD-based mode selection process. |
---|
| 127 | |
---|
| 128 | |
---|
[18] | 129 | #========== slices ========== |
---|
[58] | 130 | SliceGranularity : 0 # Slice granularity relative the LCU size |
---|
[18] | 131 | SliceMode : 0 # slice mode (0:off, 1:max # of LCUs, 2:max # of bytes) |
---|
| 132 | SliceArgument : 1500 # slice argument (SliceMode1:max # of LCUs, SliceMode2: max # of bytes) |
---|
| 133 | EntropySliceMode : 0 # entropy slices (0:off, 1:max # of LCUs, 2:max # of bins) |
---|
| 134 | EntropySliceArgument : 180000 # entropy slice argument (EntropySliceMode1:max # of LCUs, EntropySliceMode2:max # of bins) |
---|
| 135 | LFCrossSliceBoundaryFlag : 1 # loop-filtering across slice boundaries |
---|
| 136 | |
---|
| 137 | |
---|
| 138 | #========== deblocking ========== |
---|
[127] | 139 | DeblockingFilterControlPresent : 1 # Dbl control params present (0=not present, 1=present) |
---|
[58] | 140 | LoopFilterOffsetInAPS : 0 # Dbl params in APS or SliceHeader (0=SliceHeader, 1=APS) |
---|
| 141 | LoopFilterDisable : 0 1 # disable deblocking filter |
---|
| 142 | LoopFilterBetaOffset_div2 : 0 # Range: -13 ~ 13 |
---|
| 143 | LoopFilterTcOffset_div2 : 0 # Range: -13 ~ 13 |
---|
[18] | 144 | |
---|
| 145 | |
---|
| 146 | #========== coding tools ========== |
---|
[58] | 147 | ALFEncodePassReduction : 0 # ALF encoding (0:original 16-pass, 1:one-pass, 2:two-pass) |
---|
| 148 | SAO : 1 0 # Sample adaptive offset (0: OFF, 1: ON) |
---|
| 149 | ALF : 0 0 # Adaptive loop filter (0: OFF, 1: ON) |
---|
| 150 | LMChroma : 0 # Chroma from luma intra prediction mode (0: OFF, 1: ON) |
---|
| 151 | NSQT : 0 # Non-square transforms (0: OFF, 1: ON) |
---|
| 152 | AMP : 0 # Asymmetric motion partitions (0: OFF, 1: ON) |
---|
| 153 | ALFMaxNumFilter : 16 # ALF Max Number Filters per picture |
---|
| 154 | ALFParamInSlice : 0 # ALF params in SliceHeader or APS (0=APS, 1=SliceHeader) |
---|
| 155 | ALFPicBasedEncode : 1 # ALF LCU-based or picture-based encoding (0: LCU-based, 1: Picture-based) |
---|
| 156 | MaxNumOffsetsPerPic : 2048 # default |
---|
| 157 | SAOInterleaving : 0 # SAO interleaving flag (0: SAO parameter in APS, 1: SAO parameter in slice data) |
---|
| 158 | ConstrainedIntraPred : 0 # Constrained Intra Prediction |
---|
| 159 | weighted_pred_flag : 0 # weighted prediction flag (P-Slices) |
---|
| 160 | weighted_bipred_idc : 0 # weighted bipred idc (B-Slices) |
---|
| 161 | SignHideFlag : 1 # sign hiding |
---|
| 162 | SignHideThreshold : 4 # sign hiding threshold |
---|
[189] | 163 | IlluCompEnable : 1 # illumination compensation (0: OFF, 1: ON) |
---|
[18] | 164 | |
---|
[58] | 165 | #============ PCM ================ |
---|
| 166 | PCMEnabledFlag : 0 # 0: No PCM mode |
---|
| 167 | PCMLog2MaxSize : 5 # Log2 of maximum PCM block size. |
---|
| 168 | PCMLog2MinSize : 3 # Log2 of minimum PCM block size. |
---|
| 169 | PCMInputBitDepthFlag : 1 # 0: PCM bit-depth is internal bit-depth. 1: PCM bit-depth is input bit-depth. |
---|
| 170 | PCMFilterDisableFlag : 0 # 0: Enable loop filtering on I_PCM samples. 1: Disable loop filtering on I_PCM samples. |
---|
| 171 | |
---|
| 172 | |
---|
| 173 | #============ Tiles ================ |
---|
| 174 | TileInfoPresentFlag : 1 # 0: tiles parameters are NOT present in the PPS, 1: tiles parameters are present in the PPS |
---|
| 175 | UniformSpacingIdc : 0 # 0: the column boundaries are indicated by ColumnWidth array, the row boundaries are indicated by RowHeight array, 1: the column and row boundaries are distributed uniformly |
---|
| 176 | NumTileColumnsMinus1 : 0 # Number of columns in a picture minus 1 |
---|
| 177 | ColumnWidthArray : 2 3 # Array containing ColumnWidth values in units of LCU (from left to right in picture) |
---|
| 178 | NumTileRowsMinus1 : 0 # Number of rows in a picture minus 1 |
---|
| 179 | RowHeightArray : 2 # Array containing RowHeight values in units of LCU (from top to bottom in picture) |
---|
| 180 | TileLocationInSliceHeaderFlag : 0 # If TileBoundaryIndependenceIdc==0 flag is ignored, 1: Enable writing tile location information to slice header, 0: Disable writing tile location information to slice header. |
---|
| 181 | TileMarkerFlag : 1 # If TileBoundaryIndependenceIdc==0 flag is ignored, 1: Enable writing tile markers, 0: Disable writing tile markers. |
---|
| 182 | MaxTileMarkerEntryPoints : 4 # Maximum number of uniformly-spaced tile entry points (using tile markers). Default=4. If number of tiles < MaxTileMarkerEntryPoints then all tiles have entry points. |
---|
| 183 | TileControlPresentFlag : 1 # 0: tiles behavior control parameters are NOT present in the PPS, 1: tiles behavior control parameters are present in the PPS |
---|
| 184 | LFCrossTileBoundaryFlag : 1 # In-loop filtering is across or not across tile boundary. 0:not across, 1: across |
---|
| 185 | |
---|
| 186 | |
---|
| 187 | #============ WaveFront ================ |
---|
| 188 | 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. |
---|
| 189 | WaveFrontFlush : 0 # 0: No CABAC resets are performed, 1: A CABAC reset is performed at the end of each LCU line. |
---|
| 190 | WaveFrontSubstreams : 1 # >0: This many substreams per slice (or per tile if TileBoundaryIndependenceIdc=1) will be produced. |
---|
| 191 | |
---|
| 192 | |
---|
[18] | 193 | #========== multiview coding tools ========== |
---|
| 194 | PredDepthMapGen : 1 # generation of prediction depth maps (0:off, 1:using coded motion data, 2:using coded depth maps) |
---|
| 195 | MultiviewMvPred : 7 # usage of prediction depth maps (0:off, 1:for interview, 2:for inter, 4:for merge, X:bit-wise combinations) |
---|
| 196 | MultiviewMvRegMode : 1 # use original depth maps for regularizing inter-view motion vector |
---|
| 197 | MultiviewMvRegLambdaScale : 1.0 # lambda scale factor for inter-view motion vector regularization |
---|
| 198 | MultiviewResPred : 1 # inter-view residual prediction (0:off, 1:on) |
---|
| 199 | InterViewSkip : 0 # interview SKIP mode |
---|
| 200 | InterViewSkipLambdaScale : 8 # lambda scale for inter-view skip mode |
---|
[197] | 201 | DisparitySearchRangeRestriction : 0 # 0: No disparity restriction 1: Use disparity restriction |
---|
| 202 | VerticalDisparitySearchRange : 56 # vertical disparity search range (in luma samples) |
---|
[18] | 203 | |
---|
[58] | 204 | |
---|
[18] | 205 | #========== depth coding tools ========== |
---|
| 206 | DMM : 1 # use depth intra modes (wedgelets) |
---|
[58] | 207 | MVI : 1 # motion parameter inheritance |
---|
[18] | 208 | VSO : 1 # use of view synthesis optimization for depth coding |
---|
[189] | 209 | QTLPC : 1 # use of quadtree limitation + predictive coding of the quadtree for depth coding |
---|
| 210 | SDC : 1 # use simplified depth coding tree |
---|
| 211 | DLT : 1 # use depth lookup table |
---|
[18] | 212 | |
---|
| 213 | #========== view synthesis optimization (VSO) ========== |
---|
[101] | 214 | VSOConfig : [cx0 B(cc1) I(s0.25 s0.5 s0.75)][cx1 B(oo0) B(oo2) I(s0.25 s0.5 s0.75 s1.25 s1.5 s1.75)][cx2 B(cc1) I(s1.25 s1.5 s1.75)] # VSO configuration string |
---|
[189] | 215 | WVSO : 1 # use of WVSO (Depth distortion metric with a weighted depth fidelity term) |
---|
| 216 | VSOWeight : 10 # weight of VSO ( in SAD case, cf. squared in SSE case ) |
---|
| 217 | VSDWeight : 1 # weight of VSD ( in SAD case, cf. squared in SSE case ) |
---|
| 218 | DWeight : 1 # weight of depth distortion itself ( in SAD case, cf. squared in SSE case ) |
---|
| 219 | |
---|
[58] | 220 | #============ Misc. ================ |
---|
[78] | 221 | SEIpictureDigest : 0 # Control generation of picture_digest SEI messages |
---|
[42] | 222 | |
---|
| 223 | |
---|