Changeset 1066 in 3DVCSoftware
- Timestamp:
- 13 Oct 2014, 12:19:36 (10 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 deleted
- 52 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view+depth_AllIntra.cfg
r1040 r1066 22 22 ScalabilityMask : 3 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 23 23 DimensionIdLen : 1 2 # Number of bits to store Ids, per scalability dimension, (m) 24 ViewOrderIndex : 0 0 1 1 # ViewOrderIndex (m)24 ViewOrderIndex : 0 0 1 1 # ViewOrderIndex, per layer (m) 25 25 DepthFlag : 0 1 0 1 # DepthFlag (m) 26 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)26 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 27 27 SplittingFlag : 0 # Splitting Flag 28 ViewId : 1 0 # ViewId per ViewOrderIndex (m)28 ViewId : 1 0 # ViewId, per ViewOrderIndex (m) 29 29 30 30 #======== VPS/ Layer sets ================ 31 31 VpsNumLayerSets : 3 # Number of layer sets 32 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 33 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 34 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 35 32 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 33 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 34 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 2 35 36 #======== VPS / Output layer sets ================ 36 37 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 37 38 OutputLayerSetIdx : 2 # Indices of layer sets used to derive additional output layer sets 38 39 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of output layers in additional output layer set 39 ProfileLevelTierIdx : 0 0 0 0 # Indices to profile level tier (TBD) 40 41 #======== VPS / PTLI ================ 42 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 43 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 44 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 45 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 46 47 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 48 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 49 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 50 ProfileTierLevelIdx_3 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 51 ProfileTierLevelIdx_4 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 40 52 41 53 #======== VPS / Dependencies ================ … … 164 176 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 165 177 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 178 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 166 179 ViewSynthesisPred : 1 # View synthesis prediction 167 DepthRefinement : 1 # Dispar y refined by depth DoNBDV180 DepthRefinement : 1 # Disparity refined by depth DoNBDV 168 181 IvMvScaling : 1 # Interview motion vector scaling 169 182 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 170 183 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 184 DBBP : 1 # Depth-based Block Partitioning 171 185 172 186 #========== depth coding tools ========== -
trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view_AllIntra.cfg
r872 r1066 13 13 ReconFile_1 : rec_2.yuv 14 14 15 NumberOfLayers : 2 # number of layers to be coded15 NumberOfLayers : 2 # Number of layers 16 16 17 17 #======== VPS ============================ 18 ScalabilityMask : 1 # Scalability Mask ( 1: View Scalability, shall be 1 for MV-HEVC)18 ScalabilityMask : 2 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 19 19 DimensionIdLen : 3 # Number of bits to store Ids, per scalability dimension, (m) 20 View Id : 0 1 # ViewId (m)21 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)20 ViewOrderIndex : 0 1 # ViewOrderIndex, per layer (m) 21 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 22 22 SplittingFlag : 0 # Splitting Flag 23 ViewId : 1 0 # ViewId, per ViewOrderIndex (m) 23 24 25 #======== VPS/ Layer sets ================ 26 VpsNumLayerSets : 2 # Number of layer sets 27 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 28 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 29 30 #======== VPS / Output layer sets ================ 31 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 32 33 OutputLayerSetIdx : 1 # Indices of layer sets used to derive additional output layer sets 34 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 0 35 36 #======== VPS / PTLI ================ 37 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 38 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 39 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 40 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 41 42 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 43 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 44 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 45 46 #======== VPS / Dependencies ================ 47 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 48 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 24 49 25 50 #========== Camera parameters ========== -
trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg
r1040 r1066 26 26 ScalabilityMask : 3 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 27 27 DimensionIdLen : 1 2 # Number of bits to store Ids, per scalability dimension, (m) 28 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex (m)28 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m) 29 29 DepthFlag : 0 1 0 1 0 1 # DepthFlag (m) 30 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)30 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 31 31 SplittingFlag : 0 # Splitting Flag 32 ViewId : 1 0 2 # ViewId per ViewOrderIndex (m)32 ViewId : 1 0 2 # ViewId, per ViewOrderIndex (m) 33 33 34 34 #======== VPS/ Layer sets ================ 35 35 VpsNumLayerSets : 5 # Number of layer sets 36 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 37 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 38 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 39 LayerIdsInSet_3 : 0 1 4 5 # Indices in VPS of layers in layer set 40 LayerIdsInSet_4 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 41 36 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 37 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 38 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 2 39 LayerIdsInSet_3 : 0 1 4 5 # Indices in VPS of layers in layer set 3 40 LayerIdsInSet_4 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 4 41 42 #======== VPS / Output layer sets ================ 42 43 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 43 44 OutputLayerSetIdx : 2 3 # Indices of layer sets used to derive additional output layer sets 44 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of additional output layers 45 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of additional output layers 46 ProfileLevelTierIdx : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD) 45 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of output layers in additional output layer set 0 46 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of output layers in additional output layer set 1 47 48 49 #======== VPS / PTLI ================ 50 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 51 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 52 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 53 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 54 55 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 56 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 57 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 58 ProfileTierLevelIdx_3 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 59 ProfileTierLevelIdx_4 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 60 ProfileTierLevelIdx_5 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 61 ProfileTierLevelIdx_6 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary) 47 62 48 63 #======== VPS / Dependencies ================ … … 179 194 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 180 195 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 196 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 181 197 ViewSynthesisPred : 1 # View synthesis prediction 182 DepthRefinement : 1 # Dispar y refined by depth DoNBDV198 DepthRefinement : 1 # Disparity refined by depth DoNBDV 183 199 IvMvScaling : 1 # Interview motion vector scaling 184 200 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 185 201 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 202 DBBP : 1 # Depth-based Block Partitioning 186 203 187 204 #========== depth coding tools ========== -
trunk/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view_AllIntra.cfg
r872 r1066 15 15 ReconFile_2 : rec_6.yuv 16 16 17 NumberOfLayers : 3 # number of layers to be coded17 NumberOfLayers : 3 # Number of layers 18 18 19 19 #======== VPS ============================ 20 ScalabilityMask : 1 # Scalability Mask ( 1: View Scalability, shall be 1 for MV-HEVC)20 ScalabilityMask : 2 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 21 21 DimensionIdLen : 3 # Number of bits to store Ids, per scalability dimension, (m) 22 View Id : 0 1 2 # ViewId (m)23 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)22 ViewOrderIndex : 0 1 2 # ViewOrderIndex, per layer (m) 23 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 24 24 SplittingFlag : 0 # Splitting Flag 25 ViewId : 1 0 2 # ViewId, per ViewOrderIndex (m) 26 27 #======== VPS / Layer sets ================ 28 VpsNumLayerSets : 4 # Number of layer sets 29 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 30 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 31 LayerIdsInSet_2 : 0 2 # Indices in VPS of layers in layer set 2 32 LayerIdsInSet_3 : 0 1 2 # Indices in VPS of layers in layer set 3 33 34 #======== VPS / Output layer sets ================ 35 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 36 37 OutputLayerSetIdx : 1 2 # Indices of layer sets used to derive additional output layer sets 38 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 0 39 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 40 41 #======== VPS / PTLI ================ 42 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 43 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 44 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 45 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 46 47 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 48 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 49 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 50 ProfileTierLevelIdx_3 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 51 ProfileTierLevelIdx_4 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 52 ProfileTierLevelIdx_5 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 53 54 #======== VPS / Dependencies ================ 55 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 56 DirectRefLayers_2 : 0 # Indices in VPS of direct reference layers 57 58 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 59 DependencyTypes_2 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 25 60 26 61 #========== Camera parameters ========== -
trunk/cfg/3D-HEVC/NonCTC/fco/baseCfg_3view+depth.cfg
r1040 r1066 26 26 ScalabilityMask : 3 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 27 27 DimensionIdLen : 1 2 # Number of bits to store Ids, per scalability dimension, (m) 28 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex (m)28 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m) 29 29 DepthFlag : 0 1 1 0 1 0 # DepthFlag (m) 30 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)30 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 31 31 SplittingFlag : 0 # Splitting Flag 32 ViewId : 1 0 2 # ViewId per ViewOrderIndex (m)32 ViewId : 1 0 2 # ViewId, per ViewOrderIndex (m) 33 33 34 34 #======== VPS/ Layer sets ================ … … 40 40 LayerIdsInSet_4 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 41 41 42 #======== VPS / Output layer sets ================ 42 43 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 43 44 OutputLayerSetIdx : 2 3 # Indices of layer sets used to derive additional output layer sets 44 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of additional output layers 45 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of additional output layers 46 ProfileLevelTierIdx : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD) 45 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of output layers in additional output layer set 0 46 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of output layers in additional output layer set 1 47 48 49 #======== VPS / PTLI ================ 50 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 51 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 52 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 53 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 54 55 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 56 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 57 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 58 ProfileTierLevelIdx_3 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 59 ProfileTierLevelIdx_4 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 60 ProfileTierLevelIdx_5 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 61 ProfileTierLevelIdx_6 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary) 47 62 48 63 #======== VPS / Dependencies ================ … … 228 243 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 229 244 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 245 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 230 246 ViewSynthesisPred : 1 # View synthesis prediction 231 DepthRefinement : 1 # Dispar y refined by depth DoNBDV247 DepthRefinement : 1 # Disparity refined by depth DoNBDV 232 248 IvMvScaling : 1 # Interview motion vector scaling 249 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 250 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 233 251 DBBP : 1 # Depth-based Block Partitioning 234 252 -
trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view+depth.cfg
r872 r1066 17 17 LayerIdsInSet_3 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 18 18 19 #======== VPS / Output layer sets ================ 19 20 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 20 21 OutputLayerSetIdx : 2 3 # Indices of layer sets used to derive additional output layer sets 21 22 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of additional output layers 22 23 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of additional output layers 23 ProfileLevelTierIdx : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD) 24 25 #======== VPS / PTLI ================ 26 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 27 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 28 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 29 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 30 31 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 32 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 33 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 34 ProfileTierLevelIdx_3 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 35 ProfileTierLevelIdx_4 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 36 ProfileTierLevelIdx_5 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 37 24 38 25 39 #======== VPS / Dependencies ================ -
trunk/cfg/3D-HEVC/NonCTC/ibp/gopCfg_IBP_3view.cfg
r872 r1066 13 13 LayerIdsInSet_2 : 0 1 2 # LayerIdcs in vps of layer set 14 14 15 #======== VPS / Output layer sets ================ 15 16 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 16 17 OutputLayerSetIdx : 1 2 # Indices of layer sets used to derive additional output layer sets 17 18 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 18 19 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 19 ProfileLevelTierIdx : 0 0 0 0 0 # Indices to profile level tier (TBD) 20 21 #======== VPS / PTLI ================ 22 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 23 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 24 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 25 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 26 27 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 28 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 29 ProfileTierLevelIdx_2 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 30 ProfileTierLevelIdx_3 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 31 ProfileTierLevelIdx_4 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 20 32 21 33 #======== VPS / Dependencies ================ -
trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_ILP_on_IRAP_3view+depth.cfg
r872 r1066 3 3 #======== VPS/ Layer sets ================ 4 4 VpsNumLayerSets : 4 # Number of layer sets 5 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 6 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 7 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 8 LayerIdsInSet_3 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 5 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 6 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 7 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 2 8 LayerIdsInSet_3 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 3 9 9 10 #======== VPS / Output layer sets ================ 10 11 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 11 12 OutputLayerSetIdx : 2 3 # Indices of layer sets used to derive additional output layer sets 12 13 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of additional output layers 13 14 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of additional output layers 14 ProfileLevelTierIdx : 0 0 0 0 0 0 0 # Indices to profile level tier (TBD) 15 16 #======== VPS / PTLI ================ 17 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 18 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 19 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 20 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 21 22 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 23 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 24 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 25 ProfileTierLevelIdx_3 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 26 ProfileTierLevelIdx_4 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 27 ProfileTierLevelIdx_5 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 28 29 15 30 16 31 #======== VPS / Dependencies ================ -
trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view+depth.cfg
r872 r1066 1 1 #======== VPS/ Layer sets ================ 2 2 VpsNumLayerSets : 4 # Number of layer sets 3 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 4 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 5 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 6 LayerIdsInSet_3 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 3 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 4 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 5 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 2 6 LayerIdsInSet_3 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 3 7 7 8 #======== VPS / Output layer sets ================ 8 9 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 9 10 OutputLayerSetIdx : 2 3 # Indices of layer sets used to derive additional output layer sets 10 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of additional output layers 11 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of additional output layers 12 ProfileLevelTierIdx : 0 0 0 0 0 0 0 # Indices to profile level tier (TBD) 11 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of output layers in additional output layer set 0 12 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of output layers in additional output layer set 1 13 14 #======== VPS / PTLI ================ 15 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 16 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 17 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 18 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 19 20 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 21 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 22 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 23 ProfileTierLevelIdx_3 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 24 ProfileTierLevelIdx_4 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 25 ProfileTierLevelIdx_5 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 26 27 13 28 14 29 #======== VPS / Dependencies ================ -
trunk/cfg/3D-HEVC/NonCTC/misc/gopCfg_NoIv_3view.cfg
r872 r1066 6 6 LayerIdsInSet_3 : 0 1 2 # Indices in VPS of layers in layer set 7 7 8 #======== VPS / Output layer sets ================ 8 9 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 9 10 OutputLayerSetIdx : 1 2 # Indices of layer sets used to derive additional output layer sets 10 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 11 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 12 ProfileLevelTierIdx : 0 0 0 0 0 0 # Indices to profile level tier (TBD) 11 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 0 12 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 13 14 #======== VPS / PTLI ================ 15 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 16 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 17 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 18 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 19 20 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 21 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 22 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 23 ProfileTierLevelIdx_3 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 24 ProfileTierLevelIdx_4 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 25 ProfileTierLevelIdx_5 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 13 26 14 27 #======== VPS / Dependencies ================ -
trunk/cfg/3D-HEVC/NonCTC/rc/baseCfg_3view+depth_rate_control.cfg
r1040 r1066 26 26 ScalabilityMask : 3 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 27 27 DimensionIdLen : 1 2 # Number of bits to store Ids, per scalability dimension, (m) 28 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex (m)28 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m) 29 29 DepthFlag : 0 1 0 1 0 1 # DepthFlag (m) 30 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)30 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 31 31 SplittingFlag : 0 # Splitting Flag 32 ViewId : 1 0 2 # ViewId per ViewOrderIndex (m)32 ViewId : 1 0 2 # ViewId, per ViewOrderIndex (m) 33 33 34 34 #======== VPS/ Layer sets ================ 35 35 VpsNumLayerSets : 5 # Number of layer sets 36 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 37 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 38 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 39 LayerIdsInSet_3 : 0 1 4 5 # Indices in VPS of layers in layer set 40 LayerIdsInSet_4 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 41 36 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 37 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 38 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 2 39 LayerIdsInSet_3 : 0 1 4 5 # Indices in VPS of layers in layer set 3 40 LayerIdsInSet_4 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 4 41 42 #======== VPS / Output layer sets ================ 42 43 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 43 44 OutputLayerSetIdx : 2 3 # Indices of layer sets used to derive additional output layer sets 44 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of additional output layers 45 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of additional output layers 46 ProfileLevelTierIdx : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD) 45 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of output layers in additional output layer set 0 46 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of output layers in additional output layer set 1 47 48 49 #======== VPS / PTLI ================ 50 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 51 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 52 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 53 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 54 55 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 56 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 57 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 58 ProfileTierLevelIdx_3 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 59 ProfileTierLevelIdx_4 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 60 ProfileTierLevelIdx_5 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 61 ProfileTierLevelIdx_6 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary) 47 62 48 63 #======== VPS / Dependencies ================ … … 237 252 238 253 #========== multiview coding tools ========== 239 IvMvPred : 1 254 IvMvPred : 1 1 # Inter-view motion prediction 240 255 AdvMultiviewResPred : 1 # Advanced inter-view residual prediction (0:off, 1:on) 241 256 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 257 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 242 258 ViewSynthesisPred : 1 # View synthesis prediction 243 DepthRefinement : 1 # Dispar y refined by depth DoNBDV259 DepthRefinement : 1 # Disparity refined by depth DoNBDV 244 260 IvMvScaling : 1 # Interview motion vector scaling 245 246 261 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 262 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 263 DBBP : 1 # Depth-based Block Partitioning 247 264 248 265 #========== depth coding tools ========== 249 266 VSO : 1 # use of view synthesis optimization for depth coding 250 267 DMM : 1 268 IVP : 1 # use of intra-view prediction mode 251 269 SDC : 1 252 270 DLT : 1 … … 255 273 InterSDC : 1 # use of inter sdc 256 274 MPI : 1 257 275 SingleDepthMode : 1 # use of single depth mode 258 276 #========== view synthesis optimization (VSO) ========== 259 277 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 -
trunk/cfg/3D-HEVC/baseCfg_2view+depth.cfg
r1040 r1066 22 22 ScalabilityMask : 3 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 23 23 DimensionIdLen : 1 2 # Number of bits to store Ids, per scalability dimension, (m) 24 ViewOrderIndex : 0 0 1 1 # ViewOrderIndex (m)24 ViewOrderIndex : 0 0 1 1 # ViewOrderIndex, per layer (m) 25 25 DepthFlag : 0 1 0 1 # DepthFlag (m) 26 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)26 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 27 27 SplittingFlag : 0 # Splitting Flag 28 ViewId : 1 0 # ViewId per ViewOrderIndex (m)28 ViewId : 1 0 # ViewId, per ViewOrderIndex (m) 29 29 30 30 #======== VPS/ Layer sets ================ 31 31 VpsNumLayerSets : 3 # Number of layer sets 32 LayerIdsInSet_0 : 0 # LayerIds in vps of layer set 33 LayerIdsInSet_1 : 0 1 # LayerIds in vps of layer set 34 LayerIdsInSet_2 : 0 1 2 3 # LayerIds in vps of layer set 35 36 DefaultTargetOutputLayerIdc: 0 # Output highest layer of layer sets by default 37 OutputLayerSetIdx : 2 # Indices of layer sets used as additional output layer sets 38 LayerIdsInAddOutputLayerSet_0 : 2 3 # LayerIds in vps of additional output layers 39 ProfileLevelTierIdx : 0 0 0 0 # Indices to profile level tier (TBD) 32 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 33 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 34 LayerIdsInSet_2 : 0 1 2 3 # Indices in VPS of layers in layer set 2 35 36 #======== VPS / Output layer sets ================ 37 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 38 OutputLayerSetIdx : 2 # Indices of layer sets used to derive additional output layer sets 39 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of output layers in additional output layer set 40 41 #======== VPS / PTLI ================ 42 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 43 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 44 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 45 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 46 47 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 48 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 49 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 50 ProfileTierLevelIdx_3 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 51 ProfileTierLevelIdx_4 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 40 52 41 53 #======== VPS / Dependencies ================ … … 70 82 # QPfactor betaOffsetDiv2 #ref_pics_active reference pictures deltaRPS reference idcs ilPredLayerIdc refLayerPicPosIl_L1 71 83 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 72 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0073 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 51 1 0 0 1 074 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 41 1 1 1 075 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 51 0 1 1 1 076 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 51 1 1 1 0 077 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 51 1 1 1 0 078 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 51 0 1 1 1 079 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 51 1 1 1 0 080 81 FrameI_l1: I 0 0 0.442 0 0 0 0 0 0082 Frame1_l1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0083 Frame2_l1: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 51 1 0 0 1 084 Frame3_l1: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 41 1 1 1 085 Frame4_l1: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 51 0 1 1 1 086 Frame5_l1: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 51 1 1 1 0 087 Frame6_l1: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 51 1 1 1 0 088 Frame7_l1: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 51 0 1 1 1 089 Frame8_l1: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 51 1 1 1 0 090 91 FrameI_l2: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 -192 Frame1_l2: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 -193 Frame2_l2: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 -194 Frame3_l2: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 -195 Frame4_l2: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 -196 Frame5_l2: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 -197 Frame6_l2: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 -198 Frame7_l2: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 -199 Frame8_l2: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 -1100 101 FrameI_l3: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 -1102 Frame1_l3: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 -1103 Frame2_l3: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 -1104 Frame3_l3: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 -1105 Frame4_l3: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 -1106 Frame5_l3: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 -1107 Frame6_l3: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 -1108 Frame7_l3: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 -1109 Frame8_l3: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 -184 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 85 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 86 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 87 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 88 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 89 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 90 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 91 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 92 93 FrameI_l1: I 0 0 0.442 0 0 0 0 0 0 0 94 Frame1_l1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 95 Frame2_l1: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 96 Frame3_l1: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 97 Frame4_l1: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 98 Frame5_l1: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 99 Frame6_l1: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 100 Frame7_l1: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 101 Frame8_l1: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 102 103 FrameI_l2: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 104 Frame1_l2: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 105 Frame2_l2: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 106 Frame3_l2: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 107 Frame4_l2: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 108 Frame5_l2: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 109 Frame6_l2: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 110 Frame7_l2: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 111 Frame8_l2: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 112 113 FrameI_l3: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 114 Frame1_l3: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 115 Frame2_l3: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 116 Frame3_l3: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 117 Frame4_l3: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 118 Frame5_l3: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 119 Frame6_l3: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 120 Frame7_l3: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 121 Frame8_l3: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 110 122 111 123 #=========== Motion Search ============= … … 200 212 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 201 213 ViewSynthesisPred : 1 # View synthesis prediction 202 DepthRefinement : 1 # Dispar y refined by depth DoNBDV214 DepthRefinement : 1 # Disparity refined by depth DoNBDV 203 215 IvMvScaling : 1 # Interview motion vector scaling 204 216 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) -
trunk/cfg/3D-HEVC/baseCfg_2view.cfg
r950 r1066 2 2 # (m) specification per layer/dimension/layerset possible 3 3 # (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 ) 4 # (v/d) two values possible first for depth layer, second for texture layers5 4 6 5 #======== File I/O ===================== … … 14 13 ReconFile_1 : rec_2.yuv 15 14 16 NumberOfLayers : 2 # number of layers to be coded15 NumberOfLayers : 2 # Number of layers 17 16 18 17 #======== VPS ============================ 19 18 ScalabilityMask : 2 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 20 19 DimensionIdLen : 3 # Number of bits to store Ids, per scalability dimension, (m) 21 ViewOrderIndex : 0 1 # ViewOrderIndex (m)22 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)20 ViewOrderIndex : 0 1 # ViewOrderIndex, per layer (m) 21 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 23 22 SplittingFlag : 0 # Splitting Flag 24 ViewId : 1 0 # ViewId per ViewOrderIndex (m)23 ViewId : 1 0 # ViewId, per ViewOrderIndex (m) 25 24 26 25 #======== VPS/ Layer sets ================ 27 26 VpsNumLayerSets : 2 # Number of layer sets 28 27 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 29 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 328 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 30 29 30 #======== VPS / Output layer sets ================ 31 31 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 32 32 … … 34 34 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 0 35 35 36 ProfileLevelTierIdx : 0 0 0 # Indices to profile level tier (TBD) 36 #======== VPS / PTLI ================ 37 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 38 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 39 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 40 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 41 42 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 43 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 44 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 37 45 38 46 #======== VPS / Dependencies ================ … … 63 71 # QPfactor betaOffsetDiv2 #ref_pics_active reference pictures deltaRPS reference idcs ilPredLayerIdc refLayerPicPosIl_L1 64 72 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 65 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0066 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 51 1 0 0 1 067 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 41 1 1 1 068 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 51 0 1 1 1 069 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 51 1 1 1 0 070 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 51 1 1 1 0 071 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 51 0 1 1 1 072 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 51 1 1 1 0 073 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 74 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 75 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 76 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 77 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 78 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 79 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 80 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 73 81 74 FrameI_l1: P 0 3 0.442 0 0 0 1 0 0 1 00 -175 Frame1_l1: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 01 -176 Frame2_l1: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 01 -177 Frame3_l1: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 01 -178 Frame4_l1: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 01 -179 Frame5_l1: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 02 -180 Frame6_l1: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 02 -181 Frame7_l1: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 02 -182 Frame8_l1: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 02 -182 FrameI_l1: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 83 Frame1_l1: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 84 Frame2_l1: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 85 Frame3_l1: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 86 Frame4_l1: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 87 Frame5_l1: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 88 Frame6_l1: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 89 Frame7_l1: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 90 Frame8_l1: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 83 91 84 92 #=========== Motion Search ============= … … 175 183 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 176 184 ViewSynthesisPred : 1 # View synthesis prediction 177 DepthRefinement : 1 # Dispary refined by depth DoNBDV185 DepthRefinement : 0 # Disparity refined by depth DoNBDV 178 186 IvMvScaling : 1 # Interview motion vector scaling 187 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 188 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 189 DBBP : 0 # Depth-based Block Partitioning 179 190 180 191 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
trunk/cfg/3D-HEVC/baseCfg_3view+depth.cfg
r1040 r1066 26 26 ScalabilityMask : 3 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 27 27 DimensionIdLen : 1 2 # Number of bits to store Ids, per scalability dimension, (m) 28 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex (m)28 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m) 29 29 DepthFlag : 0 1 0 1 0 1 # DepthFlag (m) 30 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)30 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 31 31 SplittingFlag : 0 # Splitting Flag 32 ViewId : 1 0 2 # ViewId per ViewOrderIndex (m)33 34 #======== VPS / Layer sets ================32 ViewId : 1 0 2 # ViewId, per ViewOrderIndex (m) 33 34 #======== VPS / Layer sets ================ 35 35 VpsNumLayerSets : 5 # Number of layer sets 36 36 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 … … 40 40 LayerIdsInSet_4 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 4 41 41 42 #======== VPS / Output layer sets ================ 42 43 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 43 44 OutputLayerSetIdx : 2 3 # Indices of layer sets used to derive additional output layer sets … … 45 46 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of output layers in additional output layer set 1 46 47 47 ProfileLevelTierIdx : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD) 48 49 #======== VPS / PTLI ================ 50 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 51 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 52 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 53 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 54 55 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 56 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 57 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 58 ProfileTierLevelIdx_3 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 59 ProfileTierLevelIdx_4 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 60 ProfileTierLevelIdx_5 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 61 ProfileTierLevelIdx_6 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary) 48 62 49 63 #======== VPS / Dependencies ================ … … 82 96 # QPfactor betaOffsetDiv2 #ref_pics_active reference pictures deltaRPS reference idcs ilPredLayerIdc refLayerPicPosIl_L1 83 97 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 84 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0085 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 51 1 0 0 1 086 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 41 1 1 1 087 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 51 0 1 1 1 088 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 51 1 1 1 0 089 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 51 1 1 1 0 090 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 51 0 1 1 1 091 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 51 1 1 1 0 092 93 FrameI_l1: I 0 0 0.442 0 0 0 0 0 0094 Frame1_l1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0095 Frame2_l1: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 51 1 0 0 1 096 Frame3_l1: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 41 1 1 1 097 Frame4_l1: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 51 0 1 1 1 098 Frame5_l1: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 51 1 1 1 0 099 Frame6_l1: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 51 1 1 1 0 0100 Frame7_l1: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 51 0 1 1 1 0101 Frame8_l1: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 51 1 1 1 0 098 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 99 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 100 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 101 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 102 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 103 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 104 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 105 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 106 107 FrameI_l1: I 0 0 0.442 0 0 0 0 0 0 0 108 Frame1_l1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 109 Frame2_l1: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 110 Frame3_l1: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 111 Frame4_l1: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 112 Frame5_l1: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 113 Frame6_l1: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 114 Frame7_l1: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 115 Frame8_l1: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 102 116 103 117 FrameI_l2: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 … … 231 245 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 232 246 ViewSynthesisPred : 1 # View synthesis prediction 233 DepthRefinement : 1 # Dispar y refined by depth DoNBDV247 DepthRefinement : 1 # Disparity refined by depth DoNBDV 234 248 IvMvScaling : 1 # Interview motion vector scaling 235 249 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) -
trunk/cfg/3D-HEVC/baseCfg_3view.cfg
r964 r1066 15 15 ReconFile_2 : rec_6.yuv 16 16 17 NumberOfLayers : 3 # number of layers to be coded17 NumberOfLayers : 3 # Number of layers 18 18 19 19 #======== VPS ============================ 20 20 ScalabilityMask : 2 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 21 21 DimensionIdLen : 3 # Number of bits to store Ids, per scalability dimension, (m) 22 ViewOrderIndex : 0 1 2 # ViewOrderIndex (m)23 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)22 ViewOrderIndex : 0 1 2 # ViewOrderIndex, per layer (m) 23 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 24 24 SplittingFlag : 0 # Splitting Flag 25 ViewId : 1 0 2 # ViewId per ViewOrderIndex (m)25 ViewId : 1 0 2 # ViewId, per ViewOrderIndex (m) 26 26 27 27 #======== VPS / Layer sets ================ … … 32 32 LayerIdsInSet_3 : 0 1 2 # Indices in VPS of layers in layer set 3 33 33 34 #======== VPS / Output layer sets ================ 34 35 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 35 36 … … 38 39 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 39 40 40 ProfileLevelTierIdx : 0 0 0 0 0 0 # Indices to profile level tier (TBD) 41 #======== VPS / PTLI ================ 42 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 43 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 44 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 45 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 46 47 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 48 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 49 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 50 ProfileTierLevelIdx_3 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 51 ProfileTierLevelIdx_4 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 52 ProfileTierLevelIdx_5 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 41 53 42 54 #======== VPS / Dependencies ================ 43 55 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 44 56 DirectRefLayers_2 : 0 # Indices in VPS of direct reference layers 57 45 58 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 46 59 DependencyTypes_2 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion … … 69 82 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 70 83 71 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0072 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 51 1 0 0 1 073 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 41 1 1 1 074 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 51 0 1 1 1 075 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 51 1 1 1 0 076 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 51 1 1 1 0 077 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 51 0 1 1 1 078 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 51 1 1 1 0 084 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 85 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 86 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 87 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 88 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 89 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 90 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 91 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 79 92 80 93 FrameI_l1: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 … … 189 202 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 190 203 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 191 ViewSynthesisPred : 0# View synthesis prediction192 DepthRefinement : 0 # Dispar y refined by depth DoNBDV204 ViewSynthesisPred : 1 # View synthesis prediction 205 DepthRefinement : 0 # Disparity refined by depth DoNBDV 193 206 IvMvScaling : 1 # Interview motion vector scaling 194 207 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) -
trunk/cfg/3D-HEVC/fullCfg.cfg
r1040 r1066 10 10 InputFile_3 : newspapercc_2_depth.yuv 11 11 InputFile_4 : newspapercc_6.yuv 12 InputFile_5 : newspapercc_6_depth.yuv 12 InputFile_5 : newspapercc_6_depth.yuv 13 InputFile_6 : 14 InputFile_7 : 15 InputFile_8 : 16 InputFile_9 : 17 InputFile_10 : 18 InputFile_11 : 19 13 20 14 21 BitstreamFile : stream.bit … … 19 26 ReconFile_3 : rec_2_depth.yuv 20 27 ReconFile_4 : rec_6.yuv 21 ReconFile_5 : rec_6_depth.yuv 28 ReconFile_5 : rec_6_depth.yuv 29 ReconFile_6 : 30 ReconFile_7 : 31 ReconFile_8 : 32 ReconFile_9 : 33 ReconFile_10 : 34 ReconFile_11 : 35 22 36 23 37 FramesToBeEncoded : 3 # Number of frames to be coded … … 26 40 SourceHeight : 768 # Input frame height 27 41 NumberOfLayers : 6 42 TargetEncLayerIdList : # Layer Id in Nuh to be encoded, (empty:-> all layers will be encode) 28 43 29 44 #======== VPS ============================ 30 45 ScalabilityMask : 3 # Scalability Mask ( 2: View Scalability, 3: View + Depth Scalability ) 31 46 DimensionIdLen : 1 2 # Number of bits to store Ids, per scalability dimension, (m) 32 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex (m)47 ViewOrderIndex : 0 0 1 1 2 2 # ViewOrderIndex, per layer (m) 33 48 DepthFlag : 0 1 0 1 0 1 # DepthFlag (m) 34 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)49 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 35 50 SplittingFlag : 0 # Splitting Flag 36 ViewId : 1 0 2 # ViewId per ViewOrderIndex (m) 37 51 ViewId : 1 0 2 # ViewId, per ViewOrderIndex (m) 52 OutputVpsInfo : 0 # Output VPS information 53 #======== VPS/ Layer sets ================ 38 54 VpsNumLayerSets : 5 # Number of layer sets 39 55 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 … … 42 58 LayerIdsInSet_3 : 0 1 4 5 # Indices in VPS of layers in layer set 3 43 59 LayerIdsInSet_4 : 0 1 2 3 4 5 # Indices in VPS of layers in layer set 4 44 60 LayerIdsInSet_5 : 61 LayerIdsInSet_6 : 62 LayerIdsInSet_7 : 63 LayerIdsInSet_8 : 64 LayerIdsInSet_9 : 65 LayerIdsInSet_10 : 66 67 NumAddLayerSets : 0 # Specifies the number of additional layer sets 68 HighestLayerIdxPlus1_0 : -1 # Highest layer idx plus 1 for the 0-th additional layer set, per independent layer (m) (first value will be ignored) 69 HighestLayerIdxPlus1_1 : -1 # Highest layer idx plus 1 for the 1-th additional layer set, per independent layer (m) (first value will be ignored) 70 HighestLayerIdxPlus1_2 : -1 # Highest layer idx plus 1 for the 2-th additional layer set, per independent layer (m) (first value will be ignored) 71 HighestLayerIdxPlus1_3 : -1 # Highest layer idx plus 1 for the 4-th additional layer set, per independent layer (m) (first value will be ignored) 72 HighestLayerIdxPlus1_4 : -1 # Highest layer idx plus 1 for the 5-th additional layer set, per independent layer (m) (first value will be ignored) 73 HighestLayerIdxPlus1_5 : -1 # Highest layer idx plus 1 for the 6-th additional layer set, per independent layer (m) (first value will be ignored) 74 HighestLayerIdxPlus1_6 : -1 # Highest layer idx plus 1 for the 7-th additional layer set, per independent layer (m) (first value will be ignored) 75 76 #======== VPS / Output layer sets ================ 45 77 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 46 78 … … 50 82 LayerIdsInDefOutputLayerSet_3 : # Indices in VPS of output layers in layer set 3 (when DefaultTargetOutputLayerIdc is equal to 2) 51 83 LayerIdsInDefOutputLayerSet_4 : # Indices in VPS of output layers in layer set 4 (when DefaultTargetOutputLayerIdc is equal to 2) 84 LayerIdsInDefOutputLayerSet_5 : # Indices in VPS of output layers in layer set 5 (when DefaultTargetOutputLayerIdc is equal to 2) 85 LayerIdsInDefOutputLayerSet_6 : # Indices in VPS of output layers in layer set 6 (when DefaultTargetOutputLayerIdc is equal to 2) 86 LayerIdsInDefOutputLayerSet_7 : # Indices in VPS of output layers in layer set 7 (when DefaultTargetOutputLayerIdc is equal to 2) 87 LayerIdsInDefOutputLayerSet_8 : # Indices in VPS of output layers in layer set 8 (when DefaultTargetOutputLayerIdc is equal to 2) 88 LayerIdsInDefOutputLayerSet_9 : # Indices in VPS of output layers in layer set 9 (when DefaultTargetOutputLayerIdc is equal to 2) 52 89 53 90 … … 55 92 LayerIdsInAddOutputLayerSet_0 : 2 3 # Indices in VPS of output layers in additional output layer set 0 56 93 LayerIdsInAddOutputLayerSet_1 : 4 5 # Indices in VPS of output layers in additional output layer set 1 57 58 ProfileLevelTierIdx : 0 0 0 0 0 0 0 0 # Indices to profile level tier (TBD) 94 LayerIdsInAddOutputLayerSet_2 : # Indices in VPS of output layers in additional output layer set 2 95 LayerIdsInAddOutputLayerSet_3 : # Indices in VPS of output layers in additional output layer set 3 96 LayerIdsInAddOutputLayerSet_4 : # Indices in VPS of output layers in additional output layer set 4 97 LayerIdsInAddOutputLayerSet_5 : # Indices in VPS of output layers in additional output layer set 5 98 LayerIdsInAddOutputLayerSet_6 : # Indices in VPS of output layers in additional output layer set 6 99 LayerIdsInAddOutputLayerSet_7 : # Indices in VPS of output layers in additional output layer set 7 100 LayerIdsInAddOutputLayerSet_8 : # Indices in VPS of output layers in additional output layer set 8 101 LayerIdsInAddOutputLayerSet_9 : # Indices in VPS of output layers in additional output layer set 9 102 LayerIdsInAddOutputLayerSet_10: # Indices in VPS of output layers in additional output layer set 10 103 104 105 #======== VPS / PTLI ================ 106 Profile : main main 3d-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 107 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 108 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 109 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 110 111 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 112 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 113 ProfileTierLevelIdx_2 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 114 ProfileTierLevelIdx_3 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 115 ProfileTierLevelIdx_4 : 1 2 2 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 116 ProfileTierLevelIdx_5 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 117 ProfileTierLevelIdx_6 : 1 2 2 2 # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary) 118 ProfileTierLevelIdx_7 : # VpsProfileTierLevel indices of layers in output layer set 7 (m) (should be -1, when layer is not necessary) 119 ProfileTierLevelIdx_8 : # VpsProfileTierLevel indices of layers in output layer set 8 (m) (should be -1, when layer is not necessary) 120 ProfileTierLevelIdx_9 : # VpsProfileTierLevel indices of layers in output layer set 9 (m) (should be -1, when layer is not necessary) 121 ProfileTierLevelIdx_10 : # VpsProfileTierLevel indices of layers in output layer set 10 (m) (should be -1, when layer is not necessary) 122 ProfileTierLevelIdx_11 : # VpsProfileTierLevel indices of layers in output layer set 11 (m) (should be -1, when layer is not necessary) 123 ProfileTierLevelIdx_12 : # VpsProfileTierLevel indices of layers in output layer set 12 (m) (should be -1, when layer is not necessary) 124 ProfileTierLevelIdx_13 : # VpsProfileTierLevel indices of layers in output layer set 13 (m) (should be -1, when layer is not necessary) 59 125 60 126 #======== VPS / Dependencies ================ … … 93 159 94 160 # QPfactor betaOffsetDiv2 #ref_pics_active reference pictures deltaRPS reference idcs ilPredLayerIdc refLayerPicPosIl_L1 95 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 collocatedRefLayerIdx161 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 96 162 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 97 163 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 … … 113 179 Frame8_l1: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 114 180 115 FrameI_l2: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 -1116 Frame1_l2: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 -1117 Frame2_l2: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 -1118 Frame3_l2: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 -1119 Frame4_l2: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 -1120 Frame5_l2: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 -1121 Frame6_l2: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 -1122 Frame7_l2: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 -1123 Frame8_l2: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 -1124 125 FrameI_l3: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 -1126 Frame1_l3: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 -1127 Frame2_l3: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 -1128 Frame3_l3: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 -1129 Frame4_l3: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 -1130 Frame5_l3: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 -1131 Frame6_l3: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 -1132 Frame7_l3: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 -1133 Frame8_l3: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 -1134 135 FrameI_l4: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 -1136 Frame1_l4: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 -1137 Frame2_l4: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 -1138 Frame3_l4: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 -1139 Frame4_l4: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 -1140 Frame5_l4: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 -1141 Frame6_l4: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 -1142 Frame7_l4: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 -1143 Frame8_l4: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 -1144 145 FrameI_l5: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 -1146 Frame1_l5: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 -1147 Frame2_l5: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 -1148 Frame3_l5: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 -1149 Frame4_l5: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 -1150 Frame5_l5: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 -1151 Frame6_l5: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 -1152 Frame7_l5: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 -1153 Frame8_l5: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 -1181 FrameI_l2: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 182 Frame1_l2: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 183 Frame2_l2: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 184 Frame3_l2: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 185 Frame4_l2: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 186 Frame5_l2: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 187 Frame6_l2: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 188 Frame7_l2: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 189 Frame8_l2: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 190 191 FrameI_l3: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 192 Frame1_l3: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 193 Frame2_l3: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 194 Frame3_l3: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 195 Frame4_l3: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 196 Frame5_l3: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 197 Frame6_l3: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 198 Frame7_l3: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 199 Frame8_l3: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 200 201 FrameI_l4: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 202 Frame1_l4: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 203 Frame2_l4: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 204 Frame3_l4: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 205 Frame4_l4: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 206 Frame5_l4: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 207 Frame6_l4: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 208 Frame7_l4: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 209 Frame8_l4: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 210 211 FrameI_l5: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 212 Frame1_l5: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 213 Frame2_l5: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 214 Frame3_l5: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 215 Frame4_l5: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 216 Frame5_l5: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 217 Frame6_l5: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 218 Frame7_l5: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 219 Frame8_l5: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 154 220 155 221 #=========== Motion Search ============= … … 238 304 RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP 239 305 240 DepthMADPred : 0 # 0: Disable Depth based MAD prediction for extended view 1: Enable Depth based MAD prediction for extended view241 TargetBitAssign : 0 # Manual assignment of target bit-rate242 ViewWiseTargetBits : 950000 315000 358000 # View-wise target bit-rate setting306 #DepthMADPred : 0 # 0: Disable Depth based MAD prediction for extended view 1: Enable Depth based MAD prediction for extended view 307 #TargetBitAssign : 0 # Manual assignment of target bit-rate 308 #ViewWiseTargetBits : 950000 315000 358000 # View-wise target bit-rate setting 243 309 244 310 #============ Rate Control URQ ====================== … … 255 321 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 256 322 ViewSynthesisPred : 1 # View synthesis prediction 257 DepthRefinement : 1 # Dispar y refined by depth DoNBDV323 DepthRefinement : 1 # Disparity refined by depth DoNBDV 258 324 IvMvScaling : 1 # Interview motion vector scaling 259 325 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 326 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 327 DBBP : 1 # Depth-based Block Partitioning 260 328 261 329 #========== depth coding tools ========== … … 269 337 InterSDC : 1 # use of inter sdc 270 338 MPI : 1 271 339 SingleDepthMode : 1 # use of single depth mode 272 340 #========== view synthesis optimization (VSO) ========== 273 341 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 -
trunk/cfg/MV-HEVC/NonCTC/gopCfg_IBP_3view.cfg
r872 r1066 13 13 LayerIdsInSet_2 : 0 1 2 # Indices in VPS of layers in layer set 2 14 14 15 #======== VPS / Output layer sets ================ 15 16 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 16 17 OutputLayerSetIdx : 1 2 # Indices of layer sets used to derive additional output layer sets … … 18 19 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 19 20 20 ProfileLevelTierIdx : 0 0 0 0 0 # Indices to profile level tier (TBD) 21 22 #======== VPS / PTLI ================ 23 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 24 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 25 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 26 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 27 28 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 29 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 30 ProfileTierLevelIdx_2 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 31 ProfileTierLevelIdx_3 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 32 ProfileTierLevelIdx_4 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 21 33 22 34 #======== VPS / Dependencies ================ … … 25 37 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 26 38 DependencyTypes_2 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 39 27 40 28 41 # QPfactor betaOffsetDiv2 #ref_pics_active reference pictures deltaRPS reference idcs ilPredLayerIdc refLayerPicPosIl_L1 -
trunk/cfg/MV-HEVC/NonCTC/gopCfg_IPB_on_IRAP_3view.cfg
r872 r1066 8 8 LayerIdsInSet_3 : 0 1 2 # Indices in VPS of layers in layer set 3 9 9 10 #======== VPS / Output layer sets ================ 10 11 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 11 12 OutputLayerSetIdx : 1 2 # Indices of layer sets used to derive additional output layer sets … … 13 14 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 14 15 15 ProfileLevelTierIdx : 0 0 0 0 0 0 # Indices to profile level tier (TBD) 16 17 #======== VPS / PTLI ================ 18 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 19 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 20 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 21 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 22 23 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 24 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 25 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 26 ProfileTierLevelIdx_3 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 27 ProfileTierLevelIdx_4 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 28 ProfileTierLevelIdx_5 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 29 16 30 17 31 #======== VPS / Dependencies ================ -
trunk/cfg/MV-HEVC/NonCTC/gopCfg_NoIv_3view.cfg
r872 r1066 9 9 LayerIdsInSet_6 : 0 1 2 # Indices in VPS of layers in layer set 3 10 10 11 #======== VPS / Output layer sets ================ 11 12 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 12 13 13 14 OutputLayerSetIdx : # Indices of layer sets used to derive additional output layer sets 15 16 #======== VPS / PTLI ================ 17 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 18 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 19 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 20 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 21 22 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 23 ProfileTierLevelIdx_1 : 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 24 ProfileTierLevelIdx_2 : 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 25 ProfileTierLevelIdx_3 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 26 ProfileTierLevelIdx_4 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 27 ProfileTierLevelIdx_5 : 2 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 28 ProfileTierLevelIdx_6 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary) 29 14 30 15 31 … … 17 33 DirectRefLayers_1 : # Indices in VPS of direct reference layers 18 34 DirectRefLayers_2 : # Indices in VPS of direct reference layers 35 DirectRefLayers_3 : # Indices in VPS of direct reference layers 36 DirectRefLayers_4 : # Indices in VPS of direct reference layers 37 DirectRefLayers_5 : # Indices in VPS of direct reference layers 38 19 39 DependencyTypes_1 : # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 20 40 DependencyTypes_2 : # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion -
trunk/cfg/MV-HEVC/NonCTC/gopCfg_PIP_on_IRAP_3view.cfg
r872 r1066 8 8 LayerIdsInSet_3 : 0 1 2 # Indices in VPS of layers in layer set 3 9 9 10 #======== VPS / Output layer sets ================ 10 11 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 11 12 OutputLayerSetIdx : 1 2 # Indices of layer sets used to derive additional output layer sets … … 13 14 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 14 15 15 ProfileLevelTierIdx : 0 0 0 0 0 0 # Indices to profile level tier (TBD) 16 17 #======== VPS / PTLI ================ 18 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 19 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 20 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 21 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 22 23 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 24 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 25 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 26 ProfileTierLevelIdx_3 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 27 ProfileTierLevelIdx_4 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 28 ProfileTierLevelIdx_5 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 29 16 30 17 31 #======== VPS / Dependencies ================ -
trunk/cfg/MV-HEVC/NonCTC/layerwise_startup_IBP_3view.cfg
r964 r1066 11 11 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 12 12 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 13 LayerIdsInSet_2 : 0 1 2 # Indices in VPS of layers in layer set 313 LayerIdsInSet_2 : 0 1 2 # Indices in VPS of layers in layer set 2 14 14 15 #======== VPS / Output layer sets ================ 15 16 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 16 17 OutputLayerSetIdx : 1 2 # Indices of layer sets used to derive additional output layer sets 17 18 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 0 18 19 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 19 ProfileLevelTierIdx : 0 0 0 0 0 # Indices to profile level tier (TBD) 20 20 21 21 22 #======== VPS / Dependencies ================ … … 24 25 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 25 26 DependencyTypes_2 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 27 28 #======== VPS / PTLI ================ 29 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 30 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 31 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 32 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 33 34 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 35 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 36 ProfileTierLevelIdx_2 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 37 ProfileTierLevelIdx_3 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 38 ProfileTierLevelIdx_4 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 39 26 40 27 41 # QPfactor betaOffsetDiv2 #ref_pics_active reference pictures deltaRPS reference idcs ilPredLayerIdc refLayerPicPosIl_L1 -
trunk/cfg/MV-HEVC/baseCfg_2view.cfg
r872 r1066 13 13 ReconFile_1 : rec_2.yuv 14 14 15 NumberOfLayers : 2 # number of layers to be coded15 NumberOfLayers : 2 # Number of layers 16 16 17 17 #======== VPS ============================ 18 ScalabilityMask : 2 # Scalability Mask ( 2: View Scalability, shall be 2 for MV-HEVC)18 ScalabilityMask : 2 # Scalability Mask ( Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary ) 19 19 DimensionIdLen : 3 # Number of bits to store Ids, per scalability dimension, (m) 20 ViewOrderIndex : 0 1 # ViewOrderIndex (m)21 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m)20 ViewOrderIndex : 0 1 # ViewOrderIndex, per layer (m) 21 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 22 22 SplittingFlag : 0 # Splitting Flag 23 ViewId : 1 0 # ViewId per ViewOrderIndex (m)23 ViewId : 1 0 # ViewId, per ViewOrderIndex (m) 24 24 25 25 #======== VPS/ Layer sets ================ 26 26 VpsNumLayerSets : 2 # Number of layer sets 27 27 LayerIdsInSet_0 : 0 # Indices in VPS of layers in layer set 0 28 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 328 LayerIdsInSet_1 : 0 1 # Indices in VPS of layers in layer set 1 29 29 30 #======== VPS / Output layer sets ================ 30 31 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 31 32 32 33 OutputLayerSetIdx : 1 # Indices of layer sets used to derive additional output layer sets 33 34 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 0 34 ProfileLevelTierIdx : 0 0 0 # Indices to profile level tier (TBD) 35 36 #======== VPS / PTLI ================ 37 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 38 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 39 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 40 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 41 42 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 43 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 44 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 35 45 36 46 #======== VPS / Dependencies ================ 37 47 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 38 48 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 49 50 39 51 40 52 #======== Unit definition ================ … … 56 68 # QPfactor betaOffsetDiv2 #ref_pics_active reference pictures deltaRPS reference idcs ilPredLayerIdc refLayerPicPosIl_L1 57 69 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 58 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0059 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1060 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1061 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1062 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0063 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0064 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1065 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0070 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 71 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 72 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 73 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 74 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 75 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 76 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 77 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 66 78 67 79 FrameI_l1: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 -
trunk/cfg/MV-HEVC/baseCfg_3view.cfg
r964 r1066 15 15 ReconFile_2 : rec_6.yuv 16 16 17 NumberOfLayers : 3 # number of layers to be coded17 NumberOfLayers : 3 # Number of layers 18 18 19 19 #======== VPS ============================ 20 ScalabilityMask : 2 # Scalability Mask ( 2: View Scalability, shall be 2 for MV-HEVC)20 ScalabilityMask : 2 # Scalability Mask ( Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary ) 21 21 DimensionIdLen : 3 # Number of bits to store Ids, per scalability dimension, (m) 22 22 ViewOrderIndex : 0 1 2 # ViewOrderIndex, per layer (m) … … 31 31 LayerIdsInSet_2 : 0 2 # Indices in VPS of layers in layer set 2 32 32 LayerIdsInSet_3 : 0 1 2 # Indices in VPS of layers in layer set 3 33 LayerIdsInSet_4 : 34 LayerIdsInSet_5 : 35 LayerIdsInSet_6 : 36 37 33 34 #======== VPS / Output layer sets ================ 38 35 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet 39 36 … … 41 38 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 0 42 39 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 43 LayerIdsInAddOutputLayerSet_2 : # Indices in VPS of output layers in additional output layer set 1 44 LayerIdsInAddOutputLayerSet_3 : # Indices in VPS of output layers in additional output layer set 1 45 LayerIdsInAddOutputLayerSet_4 : # Indices in VPS of output layers in additional output layer set 1 46 47 ProfileLevelTierIdx : 0 0 0 0 0 0 # Indices to profile level tier (TBD) 40 41 #======== VPS / PTLI ================ 42 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 43 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 44 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 45 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 46 47 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 48 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 49 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 50 ProfileTierLevelIdx_3 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 51 ProfileTierLevelIdx_4 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 52 ProfileTierLevelIdx_5 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 48 53 49 54 #======== VPS / Dependencies ================ 50 55 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 51 56 DirectRefLayers_2 : 0 # Indices in VPS of direct reference layers 57 DirectRefLayers_3 : # Indices in VPS of direct reference layers 58 DirectRefLayers_4 : # Indices in VPS of direct reference layers 59 DirectRefLayers_5 : # Indices in VPS of direct reference layers 60 52 61 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 53 62 DependencyTypes_2 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 63 DependencyTypes_3 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 64 DependencyTypes_4 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 65 DependencyTypes_5 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 54 66 55 67 #======== Unit definition ================ … … 72 84 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 73 85 74 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0075 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1076 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1077 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1078 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0079 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0080 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1081 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0086 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 87 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 88 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 89 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 90 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 91 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 92 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 93 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 82 94 83 95 FrameI_l1: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 -
trunk/cfg/MV-HEVC/fullCfg.cfg
r872 r1066 8 8 InputFile_1 : newspapercc_2.yuv 9 9 InputFile_2 : newspapercc_6.yuv 10 InputFile_3 : 11 InputFile_4 : 12 InputFile_5 : 13 InputFile_6 : 14 InputFile_7 : 15 InputFile_8 : 16 InputFile_9 : 17 InputFile_10 : 18 InputFile_11 : 10 19 11 20 BitstreamFile : stream.bit … … 14 23 ReconFile_1 : rec_2.yuv 15 24 ReconFile_2 : rec_6.yuv 25 ReconFile_3 : 26 ReconFile_4 : 27 ReconFile_5 : 28 ReconFile_6 : 29 ReconFile_7 : 30 ReconFile_8 : 31 ReconFile_9 : 32 ReconFile_10 : 33 ReconFile_11 : 34 35 36 NumberOfLayers : 3 # Number of layers 37 TargetEncLayerIdList : # Layer Id in Nuh to be encoded, (empty:-> all layers will be encode) 16 38 17 39 FramesToBeEncoded : 3 # Number of frames to be coded … … 19 41 SourceWidth : 1024 # Input frame width 20 42 SourceHeight : 768 # Input frame height 21 NumberOfLayers : 322 43 23 44 #======== VPS ============================ 24 ScalabilityMask : 2 # Scalability Mask ( 2: View Scalability, shall be 2 for MV-HEVC)45 ScalabilityMask : 2 # Scalability Mask ( Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary ) 25 46 DimensionIdLen : 3 # Number of bits to store Ids, per scalability dimension, (m) 26 ViewOrderIndex : 0 1 2 # View Order Index (m) 27 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling ) (m) 47 ViewOrderIndex : 0 1 2 # ViewOrderIndex, per layer (m) 48 AuxId : # Auxiliary Id, per layer (m) 49 LayerIdInNuh : 0 # Layer Id in NAL unit header, (0: no explicit signalling, otherwise per layer ) (m) 28 50 SplittingFlag : 0 # Splitting Flag 29 ViewId : 1 0 2 # ViewId per ViewOrderIndex (m) 51 ViewId : 1 0 2 # ViewId, per ViewOrderIndex (m) 52 OutputVpsInfo : 0 # Output VPS information 30 53 31 54 #======== VPS/ Layer sets ================ … … 35 58 LayerIdsInSet_2 : 0 2 # Indices in VPS of layers in layer set 2 36 59 LayerIdsInSet_3 : 0 1 2 # Indices in VPS of layers in layer set 3 60 LayerIdsInSet_4 : 61 LayerIdsInSet_5 : 62 LayerIdsInSet_6 : 63 LayerIdsInSet_7 : 64 LayerIdsInSet_8 : 65 LayerIdsInSet_9 : 66 LayerIdsInSet_10 : 67 68 NumAddLayerSets : 0 # Specifies the number of additional layer sets 69 HighestLayerIdxPlus1_0 : -1 # Highest layer idx plus 1 for the 0-th additional layer set, per independent layer (m) (first value will be ignored) 70 HighestLayerIdxPlus1_1 : -1 # Highest layer idx plus 1 for the 1-th additional layer set, per independent layer (m) (first value will be ignored) 71 HighestLayerIdxPlus1_2 : -1 # Highest layer idx plus 1 for the 2-th additional layer set, per independent layer (m) (first value will be ignored) 72 HighestLayerIdxPlus1_3 : -1 # Highest layer idx plus 1 for the 4-th additional layer set, per independent layer (m) (first value will be ignored) 73 HighestLayerIdxPlus1_4 : -1 # Highest layer idx plus 1 for the 5-th additional layer set, per independent layer (m) (first value will be ignored) 74 HighestLayerIdxPlus1_5 : -1 # Highest layer idx plus 1 for the 6-th additional layer set, per independent layer (m) (first value will be ignored) 75 HighestLayerIdxPlus1_6 : -1 # Highest layer idx plus 1 for the 7-th additional layer set, per independent layer (m) (first value will be ignored) 76 77 #======== VPS / Output layer sets ================ 37 78 38 79 DefaultTargetOutputLayerIdc : 0 # Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet … … 41 82 LayerIdsInDefOutputLayerSet_2 : # Indices in VPS of output layers in layer set 2 (when DefaultTargetOutputLayerIdc is equal to 2) 42 83 LayerIdsInDefOutputLayerSet_3 : # Indices in VPS of output layers in layer set 3 (when DefaultTargetOutputLayerIdc is equal to 2) 84 LayerIdsInDefOutputLayerSet_4 : # Indices in VPS of output layers in layer set 4 (when DefaultTargetOutputLayerIdc is equal to 2) 85 LayerIdsInDefOutputLayerSet_5 : # Indices in VPS of output layers in layer set 5 (when DefaultTargetOutputLayerIdc is equal to 2) 86 LayerIdsInDefOutputLayerSet_6 : # Indices in VPS of output layers in layer set 6 (when DefaultTargetOutputLayerIdc is equal to 2) 87 LayerIdsInDefOutputLayerSet_7 : # Indices in VPS of output layers in layer set 7 (when DefaultTargetOutputLayerIdc is equal to 2) 88 LayerIdsInDefOutputLayerSet_8 : # Indices in VPS of output layers in layer set 8 (when DefaultTargetOutputLayerIdc is equal to 2) 89 LayerIdsInDefOutputLayerSet_9 : # Indices in VPS of output layers in layer set 9 (when DefaultTargetOutputLayerIdc is equal to 2) 43 90 44 91 … … 46 93 LayerIdsInAddOutputLayerSet_0 : 1 # Indices in VPS of output layers in additional output layer set 0 47 94 LayerIdsInAddOutputLayerSet_1 : 2 # Indices in VPS of output layers in additional output layer set 1 48 49 50 ProfileLevelTierIdx : 0 0 0 0 # Indices to profile level tier (TBD) 95 LayerIdsInAddOutputLayerSet_2 : # Indices in VPS of output layers in additional output layer set 2 96 LayerIdsInAddOutputLayerSet_3 : # Indices in VPS of output layers in additional output layer set 3 97 LayerIdsInAddOutputLayerSet_4 : # Indices in VPS of output layers in additional output layer set 4 98 LayerIdsInAddOutputLayerSet_5 : # Indices in VPS of output layers in additional output layer set 5 99 LayerIdsInAddOutputLayerSet_6 : # Indices in VPS of output layers in additional output layer set 6 100 LayerIdsInAddOutputLayerSet_7 : # Indices in VPS of output layers in additional output layer set 7 101 LayerIdsInAddOutputLayerSet_8 : # Indices in VPS of output layers in additional output layer set 8 102 LayerIdsInAddOutputLayerSet_9 : # Indices in VPS of output layers in additional output layer set 9 103 LayerIdsInAddOutputLayerSet_10: # Indices in VPS of output layers in additional output layer set 10 104 105 #======== VPS / PTLI ================ 106 107 Profile : main main multiview-main # Profile indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 108 Level : none none none # Level indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 109 Tier : main main main # Tier indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 110 InblFlag : 0 0 0 # Inbl indication in VpsProfileTierLevel, per VpsProfileTierLevel syntax structure (m) 111 112 ProfileTierLevelIdx_0 : 1 # VpsProfileTierLevel indices of layers in output layer set 0 (m) (should be -1, when layer is not necessary) 113 ProfileTierLevelIdx_1 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 1 (m) (should be -1, when layer is not necessary) 114 ProfileTierLevelIdx_2 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 2 (m) (should be -1, when layer is not necessary) 115 ProfileTierLevelIdx_3 : 1 2 2 # VpsProfileTierLevel indices of layers in output layer set 3 (m) (should be -1, when layer is not necessary) 116 ProfileTierLevelIdx_4 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 4 (m) (should be -1, when layer is not necessary) 117 ProfileTierLevelIdx_5 : 1 2 # VpsProfileTierLevel indices of layers in output layer set 5 (m) (should be -1, when layer is not necessary) 118 ProfileTierLevelIdx_6 : # VpsProfileTierLevel indices of layers in output layer set 6 (m) (should be -1, when layer is not necessary) 119 ProfileTierLevelIdx_7 : # VpsProfileTierLevel indices of layers in output layer set 7 (m) (should be -1, when layer is not necessary) 120 ProfileTierLevelIdx_8 : # VpsProfileTierLevel indices of layers in output layer set 8 (m) (should be -1, when layer is not necessary) 121 ProfileTierLevelIdx_9 : # VpsProfileTierLevel indices of layers in output layer set 9 (m) (should be -1, when layer is not necessary) 122 ProfileTierLevelIdx_10 : # VpsProfileTierLevel indices of layers in output layer set 10 (m) (should be -1, when layer is not necessary) 123 ProfileTierLevelIdx_11 : # VpsProfileTierLevel indices of layers in output layer set 11 (m) (should be -1, when layer is not necessary) 124 ProfileTierLevelIdx_12 : # VpsProfileTierLevel indices of layers in output layer set 12 (m) (should be -1, when layer is not necessary) 125 ProfileTierLevelIdx_13 : # VpsProfileTierLevel indices of layers in output layer set 13 (m) (should be -1, when layer is not necessary) 126 ProfileTierLevelIdx_14 : # VpsProfileTierLevel indices of layers in output layer set 14 (m) (should be -1, when layer is not necessary) 127 128 #======== VPS / Dependencies ================ 129 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 130 DirectRefLayers_2 : 0 # Indices in VPS of direct reference layers 131 DirectRefLayers_3 : # Indices in VPS of direct reference layers 132 DirectRefLayers_4 : # Indices in VPS of direct reference layers 133 DirectRefLayers_5 : # Indices in VPS of direct reference layers 134 135 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 136 DependencyTypes_2 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 137 DependencyTypes_3 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 138 DependencyTypes_4 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 139 DependencyTypes_5 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 140 141 51 142 #======== Unit definition ================ 52 143 MaxCUWidth : 64 # Maximum coding unit width in pixel … … 67 158 # QPfactor betaOffsetDiv2 #ref_pics_active reference pictures deltaRPS reference idcs ilPredLayerIdc refLayerPicPosIl_L1 68 159 # Type POC QPoffset tcOffsetDiv2 temporal_id #ref_pics predict #ref_idcs #ActiveRefLayerPics refLayerPicPosIl_L0 69 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 70 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 71 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 72 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 73 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 74 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 75 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 76 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 160 161 Frame1: B 8 1 0.442 0 0 0 4 4 -8 -10 -12 -16 0 0 162 Frame2: B 4 2 0.3536 0 0 0 2 3 -4 -6 4 1 4 5 1 1 0 0 1 0 163 Frame3: B 2 3 0.3536 0 0 0 2 4 -2 -4 2 6 1 2 4 1 1 1 1 0 164 Frame4: B 1 4 0.68 0 0 0 2 4 -1 1 3 7 1 1 5 1 0 1 1 1 0 165 Frame5: B 3 4 0.68 0 0 0 2 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 0 166 Frame6: B 6 3 0.3536 0 0 0 2 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 0 167 Frame7: B 5 4 0.68 0 0 0 2 4 -1 -5 1 3 1 1 5 1 0 1 1 1 0 168 Frame8: B 7 4 0.68 0 0 0 2 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 0 77 169 78 FrameI_l1: P 0 3 0.442 0 0 0 1 0 0 1 -1 0 -1 79 Frame1_l1: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 -1 1 -1 80 Frame2_l1: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 -1 1 -1 81 Frame3_l1: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 -1 1 -1 82 Frame4_l1: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 -1 1 -1 83 Frame5_l1: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 -1 2 -1 84 Frame6_l1: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 -1 2 -1 85 Frame7_l1: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 -1 2 -1 86 Frame8_l1: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 -1 2 -1 87 88 FrameI_l2: P 0 3 0.442 0 0 0 1 0 0 1 -2 0 -1 89 Frame1_l2: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 -2 1 -1 90 Frame2_l2: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 -2 1 -1 91 Frame3_l2: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 -2 1 -1 92 Frame4_l2: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 -2 1 -1 93 Frame5_l2: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 -2 2 -1 94 Frame6_l2: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 -2 2 -1 95 Frame7_l2: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 -2 2 -1 96 Frame8_l2: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 -2 2 -1 170 FrameI_l1: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 171 Frame1_l1: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 172 Frame2_l1: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 173 Frame3_l1: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 174 Frame4_l1: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 175 Frame5_l1: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 176 Frame6_l1: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 177 Frame7_l1: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 178 Frame8_l1: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 179 180 FrameI_l2: P 0 3 0.442 0 0 0 1 0 0 1 0 0 -1 181 Frame1_l2: B 8 4 0.442 0 0 0 4 4 -8 -10 -12 -16 0 1 0 1 -1 182 Frame2_l2: B 4 5 0.3536 0 0 0 3 3 -4 -6 4 1 4 5 1 1 0 0 1 1 0 1 -1 183 Frame3_l2: B 2 6 0.3536 0 0 0 3 4 -2 -4 2 6 1 2 4 1 1 1 1 1 0 1 -1 184 Frame4_l2: B 1 7 0.68 0 0 0 3 4 -1 1 3 7 1 1 5 1 0 1 1 1 1 0 1 -1 185 Frame5_l2: B 3 7 0.68 0 0 0 3 4 -1 -3 1 5 1 -2 5 1 1 1 1 0 1 0 2 -1 186 Frame6_l2: B 6 6 0.3536 0 0 0 3 4 -2 -4 -6 2 1 -3 5 1 1 1 1 0 1 0 2 -1 187 Frame7_l2: B 5 7 0.68 0 0 0 3 4 -1 -5 1 3 1 1 5 1 0 1 1 1 1 0 2 -1 188 Frame8_l2: B 7 7 0.68 0 0 0 3 4 -1 -3 -7 1 1 -2 5 1 1 1 1 0 1 0 2 -1 189 190 FrameI_l3: 191 Frame1_l3: 192 Frame2_l3: 193 Frame3_l3: 194 Frame4_l3: 195 Frame5_l3: 196 Frame6_l3: 197 Frame7_l3: 198 Frame8_l3: 199 200 FrameI_l4: 201 Frame1_l4: 202 Frame2_l4: 203 Frame3_l4: 204 Frame4_l4: 205 Frame5_l4: 206 Frame6_l4: 207 Frame7_l4: 208 Frame8_l4: 209 210 FrameI_l5: 211 Frame1_l5: 212 Frame2_l5: 213 Frame3_l5: 214 Frame4_l5: 215 Frame5_l5: 216 Frame6_l5: 217 Frame7_l5: 218 Frame8_l5: 219 97 220 98 221 #=========== Motion Search ============= -
trunk/source/App/TAppDecoder/TAppDecCfg.cpp
r872 r1066 94 94 ("TarDecLayerIdSetFile,l", cfg_TargetDecLayerIdSetFile, string(""), "targetDecLayerIdSet file name. The file should include white space separated LayerId values to be decoded. Omitting the option or a value of -1 in the file decodes all layers.") 95 95 ("RespectDefDispWindow,w", m_respectDefDispWindow, 0, "Only output content inside the default display window\n") 96 #if H_MV 97 #if H_MV_HLS10_GEN_FIX 98 ("OutputVpsInfo,v", m_outputVpsInfo, false, "Output information about the layer dependencies and layer sets") 99 #endif 100 #endif 96 101 ; 97 102 po::setDefaults(opts); -
trunk/source/App/TAppDecoder/TAppDecCfg.h
r964 r1066 80 80 81 81 #if H_MV 82 #if H_MV_HLS10_GEN_FIX 83 Bool m_outputVpsInfo; ///< Output VPS information 84 #endif 82 85 Void xAppendToFileNameEnd( Char* pchInputFileName, const Char* pchStringToAppend, Char*& rpchOutputFileName); ///< create filenames 83 86 #endif -
trunk/source/App/TAppDecoder/TAppDecTop.cpp
r976 r1066 239 239 { 240 240 TComVPS* vps = m_vps; 241 if ( m_targetOptLayerSetIdx == -1 ) 241 if ( m_targetOptLayerSetIdx == -1 ) 242 { 243 // Not normative! Corresponds to specification by "External Means". (Should be set equal to 0, when no external means available. ) 244 m_targetOptLayerSetIdx = vps->getVpsNumLayerSetsMinus1(); 245 } 246 247 for (Int dI = 0; dI < m_numDecoders; dI++ ) 248 { 249 m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx ); 250 } 251 252 if ( m_targetOptLayerSetIdx < 0 || m_targetOptLayerSetIdx >= vps->getNumOutputLayerSets() ) 253 { 254 fprintf(stderr, "\ntarget output layer set index must be in the range of 0 to %d, inclusive \n", vps->getNumOutputLayerSets() - 1 ); 255 exit(EXIT_FAILURE); 256 } 257 m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx ); 258 } 259 #if H_MV_HLS10_GEN_FIX 260 if (m_outputVpsInfo ) 242 261 { 243 // Not normative! Corresponds to specification by "External Means". (Should be set equal to 0, when no external means available. ) 244 m_targetOptLayerSetIdx = vps->getVpsNumLayerSetsMinus1(); 262 #if H_MV_HLS10_AUX 263 m_vps->printScalabilityId(); 264 #endif 265 m_vps->printLayerDependencies(); 266 m_vps->printLayerSets(); 267 m_vps->printPTL(); 245 268 } 246 247 for (Int dI = 0; dI < m_numDecoders; dI++ ) 248 { 249 m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx ); 250 } 251 252 if ( m_targetOptLayerSetIdx < 0 || m_targetOptLayerSetIdx >= vps->getNumOutputLayerSets() ) 253 { 254 fprintf(stderr, "\ntarget output layer set index must be in the range of 0 to %d, inclusive \n", vps->getNumOutputLayerSets() - 1 ); 255 exit(EXIT_FAILURE); 256 } 257 m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx ); 258 } 259 } 269 #endif 270 } 260 271 #if H_3D 261 272 if (nalu.m_nalUnitType == NAL_UNIT_VPS ) … … 569 580 Int dpbFullness = 0; 570 581 #if H_MV 582 #if H_MV_HLS10_ADD_LAYERSETS 583 TComSPS* activeSPS = m_tDecTop[ decIdx ]->getActiveSPS(); 584 #else 571 585 // preliminary fix 572 586 TComSPS* activeSPS = m_tDecTop[0]->getActiveSPS(); 587 #endif 573 588 #else 574 589 TComSPS* activeSPS = m_cTDecTop.getActiveSPS(); … … 1140 1155 Int curLayerId = m_tDecTop[dIdx]->getLayerId(); 1141 1156 Int curLayerIdxInVps = m_vps->getLayerIdInNuh( curLayerId ); 1157 #if H_MV_HLS10_REF_PRED_LAYERS 1158 if ( m_vps->getDependencyFlag(optLayerIdxInVps, curLayerIdxInVps ) ) 1159 #else 1142 1160 if ( m_vps->getInDirectDependencyFlag(optLayerIdxInVps, curLayerIdxInVps ) ) 1161 #endif 1143 1162 { 1144 1163 TComPic* curPic = m_ivPicLists.getPic( curLayerId, pocLastPic ); -
trunk/source/App/TAppEncoder/TAppEncCfg.cpp
r1039 r1066 241 241 {"main-still-picture", Profile::MAINSTILLPICTURE}, 242 242 #if H_MV 243 #if H_MV_HLS10_PTL 244 {"multiview-main", Profile::MULTIVIEWMAIN}, 245 #if H_3D 246 {"3d-main" , Profile::MAIN3D}, 247 #endif 248 249 #else 243 250 {"main-stereo", Profile::MAINSTEREO}, 244 251 {"main-multiview", Profile::MAINMULTIVIEW}, 245 252 #if H_3D 246 253 {"main-3d" , Profile::MAIN3D}, 254 #endif 247 255 #endif 248 256 #endif … … 333 341 #if H_MV 334 342 vector<Int> cfg_dimensionLength; 343 #if H_MV_HLS10_PTL 344 string cfg_profiles; 345 string cfg_levels; 346 string cfg_tiers; 347 #endif 335 348 #if H_3D 336 349 cfg_dimensionLength.push_back( 2 ); // depth … … 367 380 ("NumberOfLayers", m_numberOfLayers , 1, "Number of layers") 368 381 #if !H_3D 382 #if H_MV_HLS10_AUX 383 ("ScalabilityMask", m_scalabilityMask , 2 , "Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary") 384 #else 369 385 ("ScalabilityMask", m_scalabilityMask , 2 , "Scalability Mask") 386 #endif 370 387 #else 371 388 ("ScalabilityMask", m_scalabilityMask , 3 , "Scalability Mask, 1: Texture 3: Texture + Depth ") … … 374 391 ("ViewOrderIndex", m_viewOrderIndex , std::vector<Int>(1,0), "View Order Index per layer") 375 392 ("ViewId", m_viewId , std::vector<Int>(1,0), "View Id per View Order Index") 393 #if H_MV_HLS10_AUX 394 ("AuxId", m_auxId , std::vector<Int>(1,0), "AuxId per layer") 395 #endif 376 396 #if H_3D 377 397 ("DepthFlag", m_depthFlag , std::vector<Int>(1,0), "Depth Flag") … … 388 408 #endif 389 409 #endif 390 ("LayerIdInNuh", m_layerIdInNuh , std::vector<Int>(1,0), "LayerId in Nuh") 410 #if H_MV_HLS10_GEN_FIX 411 ("TargetEncLayerIdList", m_targetEncLayerIdList, std::vector<Int>(0,0), "LayerIds in Nuh to be encoded") 412 #endif 413 ("LayerIdInNuh", m_layerIdInNuh , std::vector<Int>(1,0), "LayerId in Nuh") 391 414 ("SplittingFlag", m_splittingFlag , false , "Splitting Flag") 392 415 … … 394 417 ("VpsNumLayerSets", m_vpsNumLayerSets , 1 , "Number of layer sets") 395 418 ("LayerIdsInSet_%d", m_layerIdsInSets , std::vector<Int>(1,0), MAX_VPS_OP_SETS_PLUS1 ,"LayerIds of Layer set") 419 #if H_MV_HLS10_ADD_LAYERSETS 420 ("NumAddLayerSets" , m_numAddLayerSets , 0 , "NumAddLayerSets ") 421 ("HighestLayerIdxPlus1_%d", m_highestLayerIdxPlus1, std::vector< Int >(0,0) ,MAX_VPS_NUM_ADD_LAYER_SETS, "HighestLayerIdxPlus1") 422 #endif 396 423 ("DefaultTargetOutputLayerIdc" , m_defaultOutputLayerIdc , 0, "Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet") 397 424 ("OutputLayerSetIdx", m_outputLayerSetIdx , std::vector<Int>(0,0), "Indices of layer sets used as additional output layer sets") … … 400 427 ("LayerIdsInDefOutputLayerSet_%d", m_layerIdsInDefOutputLayerSet , std::vector<Int>(0,0), MAX_VPS_OP_SETS_PLUS1, "Indices in VPS of output layers in layer set") 401 428 ("AltOutputLayerFlag", m_altOutputLayerFlag , std::vector<Bool>(1,0), "Alt output layer flag") 429 430 #if H_MV_HLS10_PTL 431 ("ProfileTierLevelIdx_%d", m_profileTierLevelIdx, std::vector<Int>(0), MAX_NUM_LAYERS, "Indices to profile level tier for ols") 432 #else 402 433 ("ProfileLevelTierIdx", m_profileLevelTierIdx, std::vector<Int>(1,0), "Indices to profile level tier") 403 434 #endif 404 435 // Layer dependencies 405 436 ("DirectRefLayers_%d", m_directRefLayers , std::vector<Int>(0,0), MAX_NUM_LAYERS, "LayerIds of direct reference layers") … … 431 462 432 463 // Profile and level 464 #if H_MV_HLS10_PTL 465 ("Profile", cfg_profiles, string(""), "Profile in VpsProfileTierLevel (Indication only)") 466 ("Level", cfg_levels , string(""), "Level indication in VpsProfileTierLevel (Indication only)") 467 ("Tier", cfg_tiers , string(""), "Tier indication in VpsProfileTierLevel (Indication only)") 468 ("InblFlag",m_inblFlag , std::vector<Bool>(0), "InblFlags in VpsProfileTierLevel (Indication only)" ) 469 #else 433 470 ("Profile", m_profile, Profile::NONE, "Profile to be used when encoding (Incomplete)") 434 471 ("Level", m_level, Level::NONE, "Level limit to be used, eg 5.1 (Incomplete)") 435 472 ("Tier", m_levelTier, Level::MAIN, "Tier to use for interpretation of --Level") 436 473 #endif 437 474 ("ProgressiveSource", m_progressiveSourceFlag, false, "Indicate that source is progressive") 438 475 ("InterlacedSource", m_interlacedSourceFlag, false, "Indicate that source is interlaced") … … 613 650 #endif 614 651 #if H_MV 615 652 #if H_MV_HLS10_GEN_FIX 653 // A lot of this stuff could should actually be derived by the encoder. 654 #endif // H_MV_HLS10_GEN 616 655 // VPS VUI 617 656 ("VpsVuiPresentFlag" , m_vpsVuiPresentFlag , false , "VpsVuiPresentFlag ") … … 637 676 ("CtuBasedOffsetEnabledFlag" , m_ctuBasedOffsetEnabledFlag , std::vector< Bool >(1,0) ,MAX_NUM_LAYERS , "CtuBasedOffsetEnabledFlag per direct reference for the N-th layer") 638 677 ("MinHorizontalCtuOffsetPlus1" , m_minHorizontalCtuOffsetPlus1 , std::vector< Int >(1,0) ,MAX_NUM_LAYERS , "MinHorizontalCtuOffsetPlus1 per direct reference for the N-th layer") 678 #if H_MV_HLS10_VPS_VUI 679 ("SingleLayerForNonIrapFlag", m_singleLayerForNonIrapFlag, false , "SingleLayerForNonIrapFlag") 680 ("HigherLayerIrapSkipFlag" , m_higherLayerIrapSkipFlag , false , "HigherLayerIrapSkipFlag ") 681 #endif 639 682 #endif 640 683 … … 742 785 ("SEISubBitstreamAvgBitRate", m_sbPropAvgBitRate, std::vector< Int >(1,0) ,"Specifies average bit rate of the i-th sub-bitstream") 743 786 ("SEISubBitstreamMaxBitRate", m_sbPropMaxBitRate, std::vector< Int >(1,0) ,"Specifies maximum bit rate of the i-th sub-bitstream") 787 788 #if H_MV_HLS10_GEN_FIX 789 ("OutputVpsInfo", m_outputVpsInfo, false ,"Output information about the layer dependencies and layer sets") 790 #endif 744 791 #endif 745 792 #if H_3D … … 792 839 #endif //H_3D 793 840 ; 794 #if H_MV 841 842 #if H_MV 795 843 // parse coding structure 796 844 for( Int k = 0; k < MAX_NUM_LAYERS; k++ ) … … 1034 1082 } 1035 1083 m_iNumberOfViews = (Int) uniqueViewOrderIndices.size(); 1084 #if H_MV_HLS10_AUX 1085 xResizeVector( m_auxId ); 1086 #endif 1036 1087 1037 1088 #if H_3D … … 1067 1118 xResizeVector( m_wppInUseFlag ); 1068 1119 1120 #if H_MV_HLS10_ADD_LAYERSETS 1121 for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + m_numAddLayerSets + (Int) m_outputLayerSetIdx.size(); olsIdx++) 1122 #else 1069 1123 for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + (Int) m_outputLayerSetIdx.size(); olsIdx++) 1124 #endif 1070 1125 { 1071 1126 m_altOutputLayerFlag.push_back( false ); … … 1177 1232 } 1178 1233 } 1234 1235 #if H_MV 1236 #if H_MV_HLS10_PTL 1237 // parse PTL 1238 Bool anyEmpty = false; 1239 if( cfg_profiles.empty() ) 1240 { 1241 #if H_3D 1242 cfg_profiles = string("main main 3d-main"); 1243 #else 1244 cfg_profiles = string("main main multiview-main"); 1245 #endif 1246 fprintf(stderr, "\nWarning: No profiles given, using defaults: %s", cfg_profiles.c_str() ); 1247 anyEmpty = true; 1248 } 1249 1250 if( cfg_levels.empty() ) 1251 { 1252 cfg_levels = string("none none none"); 1253 fprintf(stderr, "\nWarning: No levels given, using defaults: %s", cfg_levels.c_str() ); 1254 anyEmpty = true; 1255 } 1256 1257 if( cfg_tiers.empty() ) 1258 { 1259 cfg_tiers = string("main main main"); 1260 fprintf(stderr, "\nWarning: No tiers given, using defaults: %s", cfg_tiers.c_str()); 1261 anyEmpty = true; 1262 } 1263 1264 if( m_inblFlag.empty() ) 1265 { 1266 fprintf(stderr, "\nWarning: No inblFlags given, using defaults:"); 1267 for( Int i = 0; i < 3; i++) 1268 { 1269 m_inblFlag.push_back( false ); 1270 fprintf(stderr," %d", (Int) m_inblFlag[i]); 1271 } 1272 anyEmpty = true; 1273 } 1274 1275 if ( anyEmpty ) 1276 { 1277 fprintf( stderr, "\n" ); 1278 } 1279 1280 xReadStrToEnum( cfg_profiles, m_profile ); 1281 xReadStrToEnum( cfg_levels, m_level ); 1282 xReadStrToEnum( cfg_tiers , m_levelTier ); 1283 #endif 1284 #endif 1179 1285 #if H_3D 1180 1286 // set global varibles … … 1291 1397 fprintf(stderr, "******************************************************************\n"); 1292 1398 } 1399 1400 1401 #if !H_MV_HLS10_PTL 1293 1402 if( m_profile==Profile::NONE ) 1294 1403 { … … 1303 1412 fprintf(stderr, "***************************************************************************\n"); 1304 1413 } 1414 #endif 1305 1415 1306 1416 Bool check_failed = false; /* abort if there is a fatal configuration problem */ … … 1321 1431 xConfirmPara( m_scalabilityMask != 2 && m_scalabilityMask != 3, "Scalability Mask must be equal to 2 or 3. "); 1322 1432 #else 1433 #if H_MV_HLS10_AUX 1434 xConfirmPara( m_scalabilityMask != 2 && m_scalabilityMask != 8 && m_scalabilityMask != 10, "Scalability Mask must be equal to 2, 8 or 10"); 1435 #else 1323 1436 xConfirmPara( m_scalabilityMask != 2 , "Scalability Mask must be equal to 2. "); 1437 #endif 1324 1438 #endif 1325 1439 … … 1332 1446 1333 1447 m_dimIds.push_back( m_viewOrderIndex ); 1334 xConfirmPara( m_dimensionIdLen.size() < m_dimIds.size(), "DimensionIdLen must be given for all dimensions. " ); Int dimBitOffset[MAX_NUM_SCALABILITY_TYPES+1]; 1448 #if H_MV_HLS10_AUX 1449 for (Int i = 0; i < m_auxId.size(); i++) 1450 { 1451 xConfirmPara( !( ( m_auxId[i] >= 0 && m_auxId[i] <= 2 ) || ( m_auxId[i] >= 128 && m_auxId[i] <= 159 ) ) , "AuxId shall be in the range of 0 to 2, inclusive, or 128 to 159, inclusive"); 1452 } 1453 if ( m_scalabilityMask & ( 1 << AUX_ID ) ) 1454 { 1455 m_dimIds.push_back ( m_auxId ); 1456 } 1457 #endif 1458 xConfirmPara( m_dimensionIdLen.size() < m_dimIds.size(), "DimensionIdLen must be given for all dimensions. " ); 1459 Int dimBitOffset[MAX_NUM_SCALABILITY_TYPES+1]; 1335 1460 1336 1461 dimBitOffset[ 0 ] = 0; … … 1428 1553 { 1429 1554 Int refLayerSetIdx = m_outputLayerSetIdx[ lsIdx ]; 1555 #if H_MV_HLS10_ADD_LAYERSETS 1556 xConfirmPara( refLayerSetIdx < 0 || refLayerSetIdx >= m_vpsNumLayerSets + m_numAddLayerSets, "Output layer set idx must be greater or equal to 0 and less than the VpsNumLayerSets plus NumAddLayerSets." ); 1557 #else 1430 1558 xConfirmPara( refLayerSetIdx < 0 || refLayerSetIdx >= m_vpsNumLayerSets, "Output layer set idx must be greater or equal to 0 and less than the VpsNumLayerSets." ); 1431 1559 #endif 1560 #if !H_MV_HLS10_ADD_LAYERSETS 1432 1561 for (Int i = 0; i < m_layerIdsInAddOutputLayerSet[ lsIdx ].size(); i++) 1433 1562 { … … 1443 1572 xConfirmPara( !isAlsoInLayerSet, "All output layers of a output layer set be included in corresponding layer set."); 1444 1573 } 1574 #endif 1445 1575 } 1446 1576 … … 1454 1584 anyDefaultOutputFlag = anyDefaultOutputFlag || ( m_layerIdsInDefOutputLayerSet[lsIdx].size() != 0 ); 1455 1585 } 1586 #if H_MV_HLS10_ADD_LAYERSETS 1587 if ( anyDefaultOutputFlag ) 1588 { 1589 printf( "\nWarning: Ignoring LayerIdsInDefOutputLayerSet parameters, since defaultTargetOuputLayerIdc is not equal 2.\n" ); 1590 } 1591 #else 1456 1592 printf( "\nWarning: Ignoring LayerIdsInDefOutputLayerSet parameters, since defaultTargetOuputLayerIdc is not equal 2.\n" ); 1593 #endif 1457 1594 } 1458 1595 else … … 1476 1613 } 1477 1614 1615 #if H_MV_HLS10_ADD_LAYERSETS 1616 xConfirmPara( m_altOutputLayerFlag.size() < m_vpsNumLayerSets + m_numAddLayerSets + m_outputLayerSetIdx.size(), "The number of alt output layer flags must be equal to the number of layer set additional output layer sets plus the number of output layer set indices" ); 1617 #else 1478 1618 xConfirmPara( m_altOutputLayerFlag.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" ); 1479 xConfirmPara( m_profileLevelTierIdx.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" ); 1480 1481 // Layer Dependencies 1619 #endif 1620 1621 // PTL 1622 #if H_MV_HLS10_PTL 1623 xConfirmPara( ( m_profile.size() != m_inblFlag.size() || m_profile.size() != m_level.size() || m_profile.size() != m_levelTier.size() ), "The number of Profiles, Levels, Tiers and InblFlags must be equal." ); 1624 1625 if ( m_numberOfLayers > 1) 1626 { 1627 xConfirmPara( m_profile.size() <= 1, "The number of profiles, tiers, levels, and inblFlags must be greater than 1."); 1628 xConfirmPara( m_inblFlag[0], "VpsProfileTierLevel[0] must have inblFlag equal to 0"); 1629 if (m_profile.size() > 1 ) 1630 { 1631 xConfirmPara( m_profile[0] != m_profile[1], "The profile in VpsProfileTierLevel[1] must be equal to the profile in VpsProfileTierLevel[0]."); 1632 xConfirmPara( m_inblFlag[0] != m_inblFlag[1], "inblFlag in VpsProfileTierLevel[1] must be equal to the inblFlag in VpsProfileTierLevel[0]."); 1633 } 1634 } 1635 #else 1636 xConfirmPara( m_profileLevelTierIdx.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" ); 1637 #endif 1638 1639 // Layer Dependencies 1482 1640 for (Int i = 0; i < m_numberOfLayers; i++ ) 1483 1641 { … … 2341 2499 #endif 2342 2500 #if H_MV 2501 #if H_MV_HLS10_GEN_FIX 2502 xPrintParaVector( "NuhLayerId" , m_layerIdInNuh ); 2503 if ( m_targetEncLayerIdList.size() > 0) 2504 { 2505 xPrintParaVector( "TargetEncLayerIdList" , m_targetEncLayerIdList ); 2506 } 2507 #endif 2343 2508 xPrintParaVector( "ViewIdVal" , m_viewId ); 2344 2509 xPrintParaVector( "ViewOrderIndex", m_viewOrderIndex ); 2510 #if H_MV_HLS10_AUX 2511 xPrintParaVector( "AuxId", m_auxId ); 2512 #endif 2345 2513 #endif 2346 2514 #if H_3D -
trunk/source/App/TAppEncoder/TAppEncCfg.h
r1039 r1066 78 78 std::vector<Int> m_viewId; ///< view id 79 79 std::vector<Int> m_viewOrderIndex; ///< view order index 80 #if H_MV_HLS10_AUX 81 std::vector<Int> m_auxId; ///< auxiliary id 82 #endif 80 83 #if H_3D 81 84 std::vector<Int> m_depthFlag; ///< depth flag 85 #endif 86 #if H_MV_HLS10_GEN_FIX 87 std::vector<Int> m_targetEncLayerIdList; ///< layer Ids in Nuh to be encoded 82 88 #endif 83 89 std::vector<Int> m_layerIdInNuh; ///< layer Id in Nuh for each layer … … 89 95 Int m_vpsNumLayerSets; ///< Number of layer sets 90 96 std::vector< std::vector<Int> > m_layerIdsInSets; ///< LayerIds in vps of layer set 91 Int m_defaultOutputLayerIdc; ///< Specifies output layers of layer sets, 0: output all layers, 1: output highest layers, 2: specified by LayerIdsInDefOuputLayerSet 97 #if H_MV_HLS10_ADD_LAYERSETS 98 Int m_numAddLayerSets; ///< Number of additional layer sets 99 std::vector< std::vector<Int> > m_highestLayerIdxPlus1; ///< HighestLayerIdxPlus1 for each additional layer set and each independent layer (value with index 0 will be ignored) 100 #endif 101 Int m_defaultOutputLayerIdc; ///< Specifies output layers of layer sets, 0: output all layers, 1: output highest layers, 2: specified by LayerIdsInDefOuputLayerSet 92 102 std::vector<Int> m_outputLayerSetIdx; ///< Indices of layer sets used as additional output layer sets 93 103 std::vector< std::vector<Int> > m_layerIdsInAddOutputLayerSet; ///< LayerIds in vps of additional output layers 94 104 std::vector< std::vector<Int> > m_layerIdsInDefOutputLayerSet; ///< Indices in vps of output layers in layer sets 105 #if H_MV_HLS10_ADD_LAYERSETS 106 std::vector< std::vector< Int > > m_profileTierLevelIdx; ///< Indices of of profile, per layer in layer set 107 #else 95 108 std::vector<Int> m_profileLevelTierIdx; ///< Indices of of profile level tier 109 #endif 96 110 std::vector<Bool> m_altOutputLayerFlag; ///< Alt output layer flag 97 111 … … 124 138 std::vector< std::vector<Bool > > m_ctuBasedOffsetEnabledFlag; 125 139 std::vector< std::vector<Int > > m_minHorizontalCtuOffsetPlus1; 140 #if H_MV_HLS10_VPS_VUI 141 Bool m_singleLayerForNonIrapFlag; 142 Bool m_higherLayerIrapSkipFlag; 143 #endif // H_MV_HLS10_VPS_VUI 144 126 145 127 146 #if H_3D_IV_MERGE … … 174 193 175 194 // profile/level 195 #if H_MV_HLS10_PTL 196 #if H_MV 197 std::vector< Profile::Name > m_profile; 198 std::vector< Level::Tier > m_levelTier; 199 std::vector< Level::Name > m_level; 200 std::vector< Bool > m_inblFlag; 201 #else 176 202 Profile::Name m_profile; 177 203 Level::Tier m_levelTier; 178 204 Level::Name m_level; 205 #endif 206 #endif 207 179 208 Bool m_progressiveSourceFlag; 180 209 Bool m_interlacedSourceFlag; 181 210 Bool m_nonPackedConstraintFlag; 182 211 Bool m_frameOnlyConstraintFlag; 183 184 212 // coding structure 185 213 #if H_MV … … 440 468 std::vector<Int> m_sbPropAvgBitRate; 441 469 std::vector<Int> m_sbPropMaxBitRate; 470 #if H_MV_HLS10_GEN_FIX 471 Bool m_outputVpsInfo; 472 #endif 442 473 #endif 443 474 #if H_3D … … 506 537 Void xPrintUsage (); ///< print usage 507 538 #if H_MV 539 540 #if H_MV_HLS10_PTL 541 template<typename T> 542 Void xReadStrToEnum(string in, std::vector<T> &val) 543 { 544 val.clear(); 545 546 char* cElement = NULL; 547 char* cString = new char[in.size()+1]; 548 strcpy(cString, in.c_str()); 549 550 cElement = strtok( cString, " " ); 551 while ( cElement != NULL ) 552 { 553 T profile; 554 std::istringstream ss( cElement ); 555 ss >> profile; 556 val.push_back( profile ); 557 cElement = strtok( NULL, " " ); 558 } 559 delete[] cString; 560 } 561 #endif 562 563 508 564 template <typename T> 509 565 Void xResizeVector( std::vector<T> & rpcVector ) -
trunk/source/App/TAppEncoder/TAppEncTop.cpp
r1039 r1066 133 133 xSetLayerIds ( vps ); 134 134 xSetDimensionIdAndLength ( vps ); 135 xSetDependencies( vps ); 135 xSetDependencies ( vps ); 136 xSetRepFormat ( vps ); 136 137 xSetProfileTierLevel ( vps ); 137 xSetRepFormat ( vps );138 138 xSetLayerSets ( vps ); 139 139 xSetDpbSize ( vps ); … … 144 144 xDeriveDltArray ( vps, dlt ); 145 145 #endif 146 146 #if H_MV_HLS10_GEN_FIX 147 if ( m_targetEncLayerIdList.size() == 0 ) 148 { 149 for (Int i = 0; i < m_numberOfLayers; i++ ) 150 { 151 m_targetEncLayerIdList.push_back( vps.getLayerIdInNuh( i ) ); 152 } 153 } 154 for( Int i = (Int) m_targetEncLayerIdList.size()-1 ; i >= 0 ; i--) 155 { 156 Int iNuhLayerId = m_targetEncLayerIdList[i]; 157 Bool allRefLayersPresent = true; 158 for( Int j = 0; j < vps.getNumRefLayers( iNuhLayerId ); j++) 159 { 160 allRefLayersPresent = allRefLayersPresent && xLayerIdInTargetEncLayerIdList( vps.getIdRefLayer( iNuhLayerId, j) ); 161 } 162 if ( !allRefLayersPresent ) 163 { 164 printf("\nCannot encode layer with nuh_layer_id equal to %d since not all reference layers are in TargetEncLayerIdList\n", iNuhLayerId); 165 m_targetEncLayerIdList.erase( m_targetEncLayerIdList.begin() + i ); 166 } 167 } 168 #endif 169 170 #if H_MV_HLS10_ADD_LAYERSETS 171 if ( m_outputVpsInfo ) 172 { 173 #if H_MV_HLS10_AUX 174 vps.printScalabilityId(); 175 #endif 176 vps.printLayerDependencies(); 177 vps.printLayerSets(); 178 vps.printPTL(); 179 } 180 #endif 147 181 148 182 for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++) … … 200 234 m_cTEncTop.setUseDMM ( isDepth ? m_useDMM : false ); 201 235 #if SEPARATE_FLAG_I0085 236 #if LGE_FCO_I0116 237 m_cTEncTop.setUseIVP ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_useIVP : false ); 238 #else 202 239 m_cTEncTop.setUseIVP ( isDepth ? m_useIVP : false ); 240 #endif 203 241 #endif 204 242 m_cTEncTop.setUseSDC ( isDepth ? m_useSDC : false ); … … 210 248 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX 211 249 #if H_3D_QTLPC 250 #if LGE_FCO_I0116 251 m_cTEncTop.setUseQTL ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bUseQTL : false ); 252 #else 212 253 m_cTEncTop.setUseQTL ( isDepth ? m_bUseQTL : false ); 254 #endif 213 255 #if !MTK_I0099_VPS_EX2 214 256 m_cTEncTop.setUsePC ( isDepth ? m_bUsePC : false ); … … 224 266 #endif 225 267 #if H_3D_IV_MERGE 226 m_cTEncTop.setUseMPI ( isDepth ? m_bMPIFlag : false ); 268 #if LGE_FCO_I0116 269 m_cTEncTop.setUseMPI ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bMPIFlag : false ); 270 #else 271 m_cTEncTop.setUseMPI ( isDepth ? m_bMPIFlag : false ); 272 #endif 227 273 #endif 228 274 #endif // H_3D … … 236 282 #endif 237 283 284 #if H_MV 285 m_cTEncTop.setProfile(m_profile[0]); 286 m_cTEncTop.setLevel (m_levelTier[0], m_level[0]); 287 #else 238 288 m_cTEncTop.setProfile(m_profile); 239 289 m_cTEncTop.setLevel(m_levelTier, m_level); 290 #endif 240 291 m_cTEncTop.setProgressiveSourceFlag(m_progressiveSourceFlag); 241 292 m_cTEncTop.setInterlacedSourceFlag(m_interlacedSourceFlag); … … 789 840 790 841 #if H_MV 842 #if H_MV_HLS10_GEN_FIX 843 while ( (m_targetEncLayerIdList.size() != 0 ) && !allEos ) 844 #else 791 845 while ( !allEos ) 846 #endif 792 847 { 793 848 for(Int layer=0; layer < m_numberOfLayers; layer++ ) 794 849 { 850 #if H_MV_HLS10_GEN_FIX 851 if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) )) 852 { 853 continue; 854 } 855 #endif 856 795 857 Int frmCnt = 0; 796 858 while ( !eos[layer] && !(frmCnt == gopSize)) … … 832 894 for(Int layer=0; layer < m_numberOfLayers; layer++ ) 833 895 { 896 #if H_MV_HLS10_GEN_FIX 897 if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) )) 898 { 899 continue; 900 } 901 #endif 902 834 903 #if H_3D_VSO 835 904 if( m_bUseVSO && m_bUseEstimatedVSD && iNextPoc < m_framesToBeEncoded ) … … 858 927 for(Int layer=0; layer < m_numberOfLayers; layer++ ) 859 928 { 929 #if H_MV_HLS10_GEN_FIX 930 if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) )) 931 { 932 continue; 933 } 934 #endif 860 935 m_acTEncTopList[layer]->printSummary( m_acTEncTopList[layer]->getNumAllPicCoded(), m_isField ); 861 936 } … … 1321 1396 // Max sub layers, + presence flag 1322 1397 Bool subLayersMaxMinus1PresentFlag = false; 1398 #if !H_MV_FIX_SUB_LAYERS_MAX_MINUS1 1323 1399 Int subLayersMaxMinus1 = -1; 1400 #endif 1324 1401 for (Int curLayerIdInVps = 0; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++ ) 1325 { 1326 Int curSubLayersMaxMinus1 = -1;1402 { 1403 Int curSubLayersMaxMinus1 = 0; 1327 1404 for( Int i = 0; i < getGOPSize(); i++ ) 1328 1405 { … … 1332 1409 1333 1410 vps.setSubLayersVpsMaxMinus1( curLayerIdInVps, curSubLayersMaxMinus1 ); 1411 #if !H_MV_FIX_SUB_LAYERS_MAX_MINUS1 1334 1412 if ( subLayersMaxMinus1 == -1 ) 1335 1413 { … … 1340 1418 subLayersMaxMinus1PresentFlag = subLayersMaxMinus1PresentFlag || ( curSubLayersMaxMinus1 != subLayersMaxMinus1 ); 1341 1419 } 1420 #else 1421 subLayersMaxMinus1PresentFlag = subLayersMaxMinus1PresentFlag || ( curSubLayersMaxMinus1 != vps.getMaxSubLayersMinus1() ); 1422 #endif 1342 1423 } 1343 1424 … … 1348 1429 Bool maxTidRefPresentFlag = false; 1349 1430 for ( Int refLayerIdInVps = 0; refLayerIdInVps < m_numberOfLayers; refLayerIdInVps++) 1350 1431 { 1351 1432 for ( Int curLayerIdInVps = 1; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++) 1352 1433 { 1353 1434 Int maxTid = -1; 1435 #if H_MV_FIX_LOOP_GOPSIZE 1436 for( Int i = 0; i < ( getGOPSize() + 1); i++ ) 1437 { 1438 GOPEntry geCur = m_GOPListMvc[curLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )]; 1439 GOPEntry geRef = m_GOPListMvc[refLayerIdInVps][( i < getGOPSize() ? i : MAX_GOP )]; 1440 #else 1354 1441 for( Int i = 0; i < getGOPSize(); i++ ) 1355 1442 { 1356 1443 GOPEntry geCur = m_GOPListMvc[curLayerIdInVps][i]; 1357 GOPEntry geRef = m_GOPListMvc[refLayerIdInVps][i]; 1358 1444 GOPEntry geRef = m_GOPListMvc[refLayerIdInVps][i]; 1445 #endif 1359 1446 for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++) 1360 1447 { 1361 1448 if ( m_directRefLayers[ curLayerIdInVps ][ geCur.m_interLayerPredLayerIdc[ j ]] == refLayerIdInVps ) 1362 1449 { 1450 #if H_MV_FIX_LOOP_GOPSIZE 1451 Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 ); 1452 Bool refLayerZero = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 ); 1453 maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId ); 1454 #else 1363 1455 maxTid = std::max( maxTid, geRef.m_temporalId ); 1456 #endif 1364 1457 } 1365 1458 } … … 1487 1580 Void TAppEncTop::xSetProfileTierLevel( TComVPS& vps ) 1488 1581 { 1582 #if H_MV_HLS10_PTL 1583 1584 // SET PTL 1585 assert( m_profile.size() == m_level.size() && m_profile.size() == m_levelTier.size() ); 1586 vps.setVpsNumProfileTierLevelMinus1( (Int) m_profile.size() - 1 ); 1587 for ( Int ptlIdx = 0; ptlIdx <= vps.getVpsNumProfileTierLevelMinus1(); ptlIdx++ ) 1588 { 1589 if ( ptlIdx > 1 ) 1590 { 1591 Bool vpsProfilePresentFlag = ( m_profile[ptlIdx] != m_profile[ptlIdx - 1] ) 1592 || ( m_inblFlag[ptlIdx ] != m_inblFlag[ptlIdx - 1] ); 1593 vps.setVpsProfilePresentFlag( ptlIdx, vpsProfilePresentFlag ); 1594 } 1595 1596 xSetProfileTierLevel( vps, ptlIdx, -1, m_profile[ptlIdx], m_level[ptlIdx], 1597 m_levelTier[ ptlIdx ], m_progressiveSourceFlag, m_interlacedSourceFlag, 1598 m_nonPackedConstraintFlag, m_frameOnlyConstraintFlag, m_inblFlag[ptlIdx] ); 1599 } 1600 #else 1489 1601 const Int vpsNumProfileTierLevelMinus1 = 0; //TBD 1490 1602 vps.setVpsNumProfileTierLevelMinus1( vpsNumProfileTierLevelMinus1 ); … … 1494 1606 vps.setVpsProfilePresentFlag( i, true ); 1495 1607 } 1496 } 1497 1608 #endif 1609 } 1610 1611 #if H_MV_HLS10_PTL 1612 Void TAppEncTop::xSetProfileTierLevel(TComVPS& vps, Int profileTierLevelIdx, Int subLayer, Profile::Name profile, Level::Name level, Level::Tier tier, Bool progressiveSourceFlag, Bool interlacedSourceFlag, Bool nonPackedConstraintFlag, Bool frameOnlyConstraintFlag, Bool inbldFlag) 1613 { 1614 TComPTL* ptlStruct = vps.getPTL( profileTierLevelIdx ); 1615 assert( ptlStruct != NULL ); 1616 1617 ProfileTierLevel* ptl; 1618 if ( subLayer == -1 ) 1619 { 1620 ptl = ptlStruct->getGeneralPTL(); 1621 } 1622 else 1623 { 1624 ptl = ptlStruct->getSubLayerPTL( subLayer ); 1625 } 1626 1627 assert( ptl != NULL ); 1628 1629 ptl->setProfileIdc( profile ); 1630 ptl->setTierFlag ( tier ); 1631 ptl->setLevelIdc ( level ); 1632 ptl->setProfileCompatibilityFlag( profile, true ); 1633 #if H_MV_HLS10_PTL_INBL_FIX 1634 ptl->setInbldFlag( inbldFlag ); 1635 #endif 1636 1637 switch ( profile ) 1638 { 1639 case Profile::MAIN: 1640 break; 1641 case Profile::MULTIVIEWMAIN: 1642 #if H_3D 1643 case Profile::MAIN3D: 1644 #endif 1645 ptl->setMax12bitConstraintFlag ( true ); 1646 ptl->setMax12bitConstraintFlag ( true ); 1647 ptl->setMax10bitConstraintFlag ( true ); 1648 ptl->setMax8bitConstraintFlag ( true ); 1649 ptl->setMax422chromaConstraintFlag ( true ); 1650 ptl->setMax420chromaConstraintFlag ( true ); 1651 ptl->setMaxMonochromeConstraintFlag ( false ); 1652 ptl->setIntraConstraintFlag ( false ); 1653 ptl->setOnePictureOnlyConstraintFlag( false ); 1654 ptl->setLowerBitRateConstraintFlag ( true ); 1655 break; 1656 default: 1657 assert( 0 ); // other profiles currently not supported 1658 break; 1659 } 1660 } 1661 #endif 1498 1662 1499 1663 Void TAppEncTop::xSetRepFormat( TComVPS& vps ) … … 1513 1677 //repFormat->setSeparateColourPlaneVpsFlag( ); 1514 1678 1679 #if H_MV_HLS10_GEN_VSP_CONF_WIN 1680 repFormat->setConformanceWindowVpsFlag( true ); 1681 repFormat->setConfWinVpsLeftOffset ( m_confLeft / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) ); 1682 repFormat->setConfWinVpsRightOffset ( m_confRight / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) ); 1683 repFormat->setConfWinVpsTopOffset ( m_confTop / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) ); 1684 repFormat->setConfWinVpsBottomOffset ( m_confBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) ); 1685 #endif 1686 1515 1687 assert( vps.getRepFormat( 0 ) == NULL ); 1516 1688 vps.setRepFormat( 0 , repFormat ); … … 1528 1700 { 1529 1701 Int currLsIdx = vps.olsIdxToLsIdx( i ); 1702 #if !H_MV_HLS10_ADD_LAYERSETS 1530 1703 std::vector<Int> targetDecLayerIdList = vps.getTargetDecLayerIdList( i ); 1704 #endif 1531 1705 Bool subLayerFlagInfoPresentFlag = false; 1532 1706 … … 1534 1708 { 1535 1709 Bool subLayerDpbInfoPresentFlag = false; 1710 #if !H_MV_HLS10_ADD_LAYERSETS 1536 1711 assert( vps.getNumLayersInIdList( currLsIdx ) == targetDecLayerIdList.size() ); 1712 #endif 1537 1713 for( Int k = 0; k < vps.getNumLayersInIdList( currLsIdx ); k++ ) 1538 1714 { 1715 #if H_MV_HLS10_DBP_SIZE 1716 Int layerIdInVps = vps.getLayerIdInVps( vps.getLayerSetLayerIdList( currLsIdx, k ) ); 1717 if ( vps.getNecessaryLayerFlag( i,k ) && ( vps.getVpsBaseLayerInternalFlag() || vps.getLayerSetLayerIdList( currLsIdx, k ) != 0 ) ) 1718 { 1719 dpbSize->setMaxVpsDecPicBufferingMinus1( i, k, j, m_maxDecPicBufferingMvc[ layerIdInVps ][ j ] - 1 ); 1720 if ( j > 0 ) 1721 { 1722 subLayerDpbInfoPresentFlag = subLayerDpbInfoPresentFlag || ( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ) != dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j - 1 ) ); 1723 } 1724 } 1725 else 1726 { 1727 if (vps.getNecessaryLayerFlag(i,k) && j == 0 && k == 0 ) 1728 { 1729 dpbSize->setMaxVpsDecPicBufferingMinus1(i, k ,j, 0 ); 1730 } 1731 } 1732 #else 1539 1733 Int layerIdInVps = vps.getLayerIdInVps( targetDecLayerIdList[k] ); 1540 1734 dpbSize->setMaxVpsDecPicBufferingMinus1( i, k, j, m_maxDecPicBufferingMvc[ layerIdInVps ][ j ] - 1 ); 1735 1541 1736 if ( j > 0 ) 1542 1737 { 1543 1738 subLayerDpbInfoPresentFlag = subLayerDpbInfoPresentFlag || ( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ) != dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j - 1 ) ); 1544 1739 } 1740 #endif 1545 1741 } 1546 1742 1547 1743 Int maxNumReorderPics = MIN_INT; 1744 #if H_MV_HLS10_DBP_SIZE 1745 for ( Int idx = 0; idx < vps.getNumLayersInIdList( currLsIdx ); idx++ ) 1746 { 1747 if (vps.getNecessaryLayerFlag(i, idx )) 1748 { 1749 Int layerIdInVps = vps.getLayerIdInVps( vps.getLayerSetLayerIdList(currLsIdx, idx) ); 1750 maxNumReorderPics = std::max( maxNumReorderPics, m_numReorderPicsMvc[ layerIdInVps ][ j ] ); 1751 } 1752 } 1753 #else 1548 1754 for ( Int idx = 0; idx < targetDecLayerIdList.size(); idx++ ) 1549 1755 { … … 1551 1757 maxNumReorderPics = std::max( maxNumReorderPics, m_numReorderPicsMvc[ layerIdInVps ][ j ] ); 1552 1758 } 1759 #endif 1553 1760 assert( maxNumReorderPics != MIN_INT ); 1554 1761 … … 1576 1783 } 1577 1784 1578 1579 1785 Void TAppEncTop::xSetLayerSets( TComVPS& vps ) 1580 1786 { … … 1598 1804 // Additional output layer sets + profileLevelTierIdx 1599 1805 vps.setDefaultOutputLayerIdc ( m_defaultOutputLayerIdc ); 1806 #if H_MV_HLS10_ADD_LAYERSETS 1807 if( vps.getNumIndependentLayers() == 0 && m_numAddLayerSets > 0 ) 1808 { 1809 fprintf( stderr, "\nWarning: Ignoring additional layer sets since NumIndependentLayers is equal to 0.\n"); 1810 } 1811 else 1812 { 1813 vps.setNumAddLayerSets( m_numAddLayerSets ); 1814 if ( m_highestLayerIdxPlus1.size() < vps.getNumAddLayerSets() ) 1815 { 1816 fprintf(stderr, "\nError: Number of highestLayerIdxPlus1 parameters must be greater than or equal to NumAddLayerSets\n"); 1817 exit(EXIT_FAILURE); 1818 } 1819 1820 for (Int i = 0; i < vps.getNumAddLayerSets(); i++) 1821 { 1822 if ( m_highestLayerIdxPlus1[ i ].size() < vps.getNumIndependentLayers() ) 1823 { 1824 fprintf(stderr, "Error: Number of elements in highestLayerIdxPlus1[ %d ] parameters must be greater than or equal to NumIndependentLayers(= %d)\n", i, vps.getNumIndependentLayers()); 1825 exit(EXIT_FAILURE); 1826 } 1827 1828 for (Int j = 1; j < vps.getNumIndependentLayers(); j++) 1829 { 1830 if ( m_highestLayerIdxPlus1[ i ][ j ] < 0 || m_highestLayerIdxPlus1[ i ][ j ] > vps.getNumLayersInTreePartition( j ) ) 1831 { 1832 fprintf(stderr, "Error: highestLayerIdxPlus1[ %d ][ %d ] shall be in the range of 0 to NumLayersInTreePartition[ %d ] (= %d ), inclusive. \n", i, j, j, vps.getNumLayersInTreePartition( j ) ); 1833 exit(EXIT_FAILURE); 1834 } 1835 vps.setHighestLayerIdxPlus1( i, j, m_highestLayerIdxPlus1[ i ][ j ] ); 1836 } 1837 vps.deriveAddLayerSetLayerIdList( i ); 1838 } 1839 } 1840 #else 1600 1841 vps.setNumAddLayerSets ( 0 ); 1842 #endif 1601 1843 vps.setNumAddOlss ( numAddOuputLayerSets ); 1602 1844 vps.initTargetLayerIdLists(); 1603 1845 1846 #if H_MV_HLS10_ADD_LAYERSETS 1847 for (Int olsIdx = 0; olsIdx < vps.getNumLayerSets() + numAddOuputLayerSets; olsIdx++) 1848 { 1849 Int addOutLsIdx = olsIdx - vps.getNumLayerSets(); 1850 #else 1604 1851 for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + numAddOuputLayerSets; olsIdx++) 1605 1852 { 1606 1853 Int addOutLsIdx = olsIdx - m_vpsNumLayerSets; 1607 1854 #endif 1608 1855 vps.setLayerSetIdxForOlsMinus1( olsIdx, ( ( addOutLsIdx < 0 ) ? olsIdx : m_outputLayerSetIdx[ addOutLsIdx ] ) - 1 ); 1609 1856 1857 #if H_MV_HLS10_ADD_LAYERSETS 1858 Int lsIdx = vps.olsIdxToLsIdx( olsIdx ); 1859 #else 1610 1860 std::vector<Int>& layerIdList = m_layerIdsInSets[ vps.olsIdxToLsIdx( olsIdx ) ]; 1611 1861 #endif 1612 1862 if (vps.getDefaultOutputLayerIdc() == 2 || addOutLsIdx >= 0 ) 1613 1863 { 1864 #if H_MV_HLS10_ADD_LAYERSETS 1865 for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++) 1866 #else 1614 1867 for ( Int i = 0; i < layerIdList.size(); i++) 1868 #endif 1615 1869 { 1616 1870 vps.setOutputLayerFlag( olsIdx, i, ( olsIdx == 0 && i == 0 ) ? vps.inferOutputLayerFlag(olsIdx, i ) : false ); // This is a software only fix for a bug in the spec. In spec outputLayerFlag neither present nor inferred for this case ! … … 1622 1876 for (Int j = 0; j < outLayerIdList.size(); j++) 1623 1877 { 1878 #if H_MV_HLS10_ADD_LAYERSETS 1879 for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++) 1880 { 1881 if ( vps.getLayerSetLayerIdList( lsIdx, i ) == outLayerIdList[ j ] ) 1882 #else 1624 1883 for (Int i = 0; i < layerIdList.size(); i++ ) 1625 1884 { 1626 1885 if ( layerIdList[ i ] == outLayerIdList[ j ] ) 1886 #endif 1627 1887 { 1628 1888 vps.setOutputLayerFlag( olsIdx, i, true ); … … 1631 1891 } 1632 1892 } 1633 assert( outputLayerInLayerSetFlag ); // The output layer is not not in the layer set. 1893 #if H_MV_HLS10_ADD_LAYERSETS 1894 if ( !outputLayerInLayerSetFlag ) 1895 { 1896 fprintf(stderr, "Error: Output layer %d in output layer set %d not in corresponding layer set %d \n", outLayerIdList[ j ], olsIdx , lsIdx ); 1897 exit(EXIT_FAILURE); 1898 } 1899 #else 1900 assert( outputLayerInLayerSetFlag ); // The output layer is not in the layer set. 1901 #endif 1634 1902 } 1635 1903 } 1636 1904 else 1637 1905 { 1906 #if H_MV_HLS10_ADD_LAYERSETS 1907 for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++) 1908 #else 1638 1909 for ( Int i = 0; i < layerIdList.size(); i++) 1910 #endif 1639 1911 { 1640 1912 vps.setOutputLayerFlag( olsIdx, i, vps.inferOutputLayerFlag( olsIdx, i ) ); … … 1642 1914 } 1643 1915 1916 #if H_MV_HLS10_NESSECARY_LAYER 1917 vps.deriveNecessaryLayerFlags( olsIdx ); 1918 #endif 1644 1919 vps.deriveTargetLayerIdList( olsIdx ); 1645 1920 1921 #if H_MV_HLS10_PTL 1922 // SET profile_tier_level_index. 1923 if ( olsIdx == 0 ) 1924 { 1925 vps.setProfileTierLevelIdx( 0, 0 , vps.getMaxLayersMinus1() > 0 ? 1 : 0 ); 1926 } 1927 else 1928 { 1929 if( (Int) m_profileTierLevelIdx[ olsIdx ].size() < vps.getNumLayersInIdList( lsIdx ) ) 1930 { 1931 fprintf( stderr, "Warning: Not enough profileTierLevelIdx values given for the %d-th OLS. Inferring default values.\n", olsIdx ); 1932 } 1933 for (Int j = 0; j < vps.getNumLayersInIdList( lsIdx ); j++) 1934 { 1935 if( j < (Int) m_profileTierLevelIdx[ olsIdx ].size() ) 1936 { 1937 vps.setProfileTierLevelIdx(olsIdx, j, m_profileTierLevelIdx[olsIdx][j] ); 1938 #if H_MV_HLS10_PTL_FIX 1939 if( !vps.getNecessaryLayerFlag(olsIdx,j) && m_profileTierLevelIdx[ olsIdx ][ j ] != -1 ) 1940 { 1941 fprintf( stderr, "Warning: The %d-th layer in the %d-th OLS is not necessary such that profileTierLevelIdx[%d][%d] will be ignored. Set value to -1 to suppress warning.\n", j,olsIdx,olsIdx,j ); 1942 } 1943 } 1944 else if ( vps.getNecessaryLayerFlag(olsIdx,j) ) 1945 #else 1946 } 1947 else 1948 #endif 1949 { 1950 // setting default values 1951 if ( j == 0 || vps.getVpsNumProfileTierLevelMinus1() < 1 ) 1952 { 1953 // set base layer as default 1954 vps.setProfileTierLevelIdx(olsIdx, j, 1 ); 1955 } 1956 else 1957 { 1958 // set VpsProfileTierLevel[2] as default 1959 vps.setProfileTierLevelIdx(olsIdx, j, 2 ); 1960 } 1961 } 1962 } 1963 } 1964 #else 1646 1965 if ( olsIdx > 0 ) 1647 1966 { 1648 1967 vps.setProfileLevelTierIdx( olsIdx, m_profileLevelTierIdx[ olsIdx ] ); 1649 1968 } 1969 #endif 1650 1970 1651 1971 if ( vps.getNumOutputLayersInOutputLayerSet( olsIdx ) == 1 && … … 1685 2005 if( pcVPSVUI->getBitRatePresentVpsFlag( ) || pcVPSVUI->getPicRatePresentVpsFlag( ) ) 1686 2006 { 2007 #if H_MV_HLS10_VPS_VUI 2008 for( Int i = 0; i < vps.getNumLayerSets(); i++ ) 2009 #else 1687 2010 for( Int i = 0; i <= vps.getVpsNumLayerSetsMinus1(); i++ ) 2011 #endif 1688 2012 { 1689 2013 for( Int j = 0; j <= vps.getMaxTLayers(); j++ ) … … 1734 2058 for( Int j = 0; j < vps.getNumDirectRefLayers( vps.getLayerIdInNuh( i ) ) ; j++ ) 1735 2059 { 2060 #if H_MV_HLS10_REF_PRED_LAYERS 2061 Int layerIdx = vps.getLayerIdInVps( vps.getIdDirectRefLayer(vps.getLayerIdInNuh( i ) , j )); 2062 #else 1736 2063 Int layerIdx = vps.getLayerIdInVps( vps.getRefLayerId(vps.getLayerIdInNuh( i ) , j )); 2064 #endif 1737 2065 if( pcVPSVUI->getTilesInUseFlag( i ) && pcVPSVUI->getTilesInUseFlag( layerIdx ) ) 1738 2066 { … … 1752 2080 } 1753 2081 } 2082 2083 #if H_MV_HLS10_VPS_VUI 2084 pcVPSVUI->setSingleLayerForNonIrapFlag( m_singleLayerForNonIrapFlag ); 2085 pcVPSVUI->setHigherLayerIrapSkipFlag( m_higherLayerIrapSkipFlag ); 2086 #endif 1754 2087 1755 2088 pcVPSVUI->setIlpRestrictedRefLayersFlag( m_ilpRestrictedRefLayersFlag ); … … 1808 2141 } 1809 2142 } 1810 #endif 2143 #if H_MV_HLS10_GEN_FIX 2144 Bool TAppEncTop::xLayerIdInTargetEncLayerIdList(Int nuhLayerId) 2145 { 2146 return ( std::find(m_targetEncLayerIdList.begin(), m_targetEncLayerIdList.end(), nuhLayerId) != m_targetEncLayerIdList.end()) ; 2147 } 2148 #endif 2149 2150 2151 #endif 2152 2153 1811 2154 #if H_3D 1812 2155 Void TAppEncTop::xSetVPSExtension2( TComVPS& vps ) … … 1816 2159 Bool isDepth = ( vps.getDepthId( layer ) == 1 ) ; 1817 2160 Bool isLayerZero = ( layer == 0 ); 2161 #if LGE_FCO_I0116 2162 Bool isDepthFirst = (layer > 1 ? true : false); 2163 #endif 1818 2164 1819 2165 #if H_3D_ARP … … 1838 2184 vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) ); 1839 2185 #if SEPARATE_FLAG_I0085 2186 #if LGE_FCO_I0116 2187 vps.setIVPFlag ( layer, isDepth && !isLayerZero && m_useIVP && !isDepthFirst ); 2188 #else 1840 2189 vps.setIVPFlag ( layer, isDepth && !isLayerZero && m_useIVP ); 2190 #endif 1841 2191 #endif 1842 2192 #endif … … 1866 2216 #endif 1867 2217 #if MTK_I0099_VPS_EX2 2218 #if LGE_FCO_I0116 2219 vps.setLimQtPredFlag ( layer, isDepth && m_bLimQtPredFlag && !isDepthFirst ); 2220 #else 1868 2221 vps.setLimQtPredFlag ( layer, isDepth && m_bLimQtPredFlag ); 2222 #endif 1869 2223 #endif 1870 2224 #if H_3D_NBDV_REF … … 1881 2235 #endif 1882 2236 #if H_3D_IV_MERGE 2237 #if LGE_FCO_I0116 2238 vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag && !isDepthFirst ); 2239 #else 1883 2240 vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag ); 2241 #endif 1884 2242 #endif 1885 2243 } -
trunk/source/App/TAppEncoder/TAppEncTop.h
r976 r1066 132 132 Void xSetLayerSets ( TComVPS& vps ); 133 133 Void xSetProfileTierLevel ( TComVPS& vps ); 134 135 #if H_MV_HLS10_PTL 136 Void xSetProfileTierLevel( TComVPS& vps, Int profileTierLevelIdx, Int subLayer, 137 Profile::Name profile, Level::Name level, Level::Tier tier, 138 Bool progressiveSourceFlag, Bool interlacedSourceFlag, 139 Bool nonPackedConstraintFlag, Bool frameOnlyConstraintFlag, 140 Bool inbldFlag ); 141 #endif 134 142 Void xSetRepFormat ( TComVPS& vps ); 135 143 Void xSetDpbSize ( TComVPS& vps ); … … 137 145 GOPEntry* xGetGopEntry( Int layerIdInVps, Int poc ); 138 146 Int xGetMax( std::vector<Int>& vec); 147 #if H_MV_HLS10_GEN_FIX 148 Bool xLayerIdInTargetEncLayerIdList( Int nuhLayerId ); 149 #endif 139 150 #endif 140 151 #if H_3D -
trunk/source/Lib/TLibCommon/TComDataCU.cpp
r1039 r1066 4177 4177 TComPic * pcTexPic = m_pcSlice->getTexturePic(); 4178 4178 #if H_3D_FCO 4179 #if LGE_FCO_I0116 4180 if (pcTexPic && pcTexPic->getReconMark()) 4181 #else 4179 4182 if (pcTexturePic->getReconMark()) 4183 #endif 4180 4184 { 4181 4185 #endif … … 6160 6164 TComMv cMv; 6161 6165 #if MTK_I0093 6162 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ 1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ]; 6166 #if H_3D_FIX_64BIT_SHIFT 6167 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ]; 6168 #else 6169 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ 1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ]; 6170 #endif 6163 6171 #else 6164 6172 Int iDisp = getSlice()->getDepthToDisparityB( 0 )[ 128 ]; -
trunk/source/Lib/TLibCommon/TComRom.cpp
r1039 r1066 71 71 c <<= 1; 72 72 } 73 74 #if H_MV 75 #if H_MV_HLS_PTL_LIMITS 76 g_generalTierAndLevelLimits[ Level::LEVEL1 ] = TComGeneralTierAndLevelLimits( 36864, 350, INT_MIN, 16, 1, 1 ); 77 g_generalTierAndLevelLimits[ Level::LEVEL2 ] = TComGeneralTierAndLevelLimits( 122880, 1500, INT_MIN, 16, 1, 1 ); 78 g_generalTierAndLevelLimits[ Level::LEVEL2_1 ] = TComGeneralTierAndLevelLimits( 245760, 3000, INT_MIN, 20, 1, 1 ); 79 g_generalTierAndLevelLimits[ Level::LEVEL3 ] = TComGeneralTierAndLevelLimits( 552960, 6000, INT_MIN, 30, 2, 2 ); 80 g_generalTierAndLevelLimits[ Level::LEVEL3_1 ] = TComGeneralTierAndLevelLimits( 983040, 10000, INT_MIN, 40, 3, 3 ); 81 g_generalTierAndLevelLimits[ Level::LEVEL4 ] = TComGeneralTierAndLevelLimits( 2228224, 12000, 30000, 75, 5, 5 ); 82 g_generalTierAndLevelLimits[ Level::LEVEL4_1 ] = TComGeneralTierAndLevelLimits( 2228224, 20000, 50000, 75, 5, 5 ); 83 g_generalTierAndLevelLimits[ Level::LEVEL5 ] = TComGeneralTierAndLevelLimits( 8912896, 25000, 100000, 200, 11, 10 ); 84 g_generalTierAndLevelLimits[ Level::LEVEL5_1 ] = TComGeneralTierAndLevelLimits( 8912896, 40000, 160000, 200, 11, 10 ); 85 g_generalTierAndLevelLimits[ Level::LEVEL5_2 ] = TComGeneralTierAndLevelLimits( 8912896, 60000, 240000, 200, 11, 10 ); 86 g_generalTierAndLevelLimits[ Level::LEVEL6 ] = TComGeneralTierAndLevelLimits( 35651584, 60000, 240000, 600, 22, 20 ); 87 g_generalTierAndLevelLimits[ Level::LEVEL6_1 ] = TComGeneralTierAndLevelLimits( 35651584, 120000, 480000, 600, 22, 20 ); 88 g_generalTierAndLevelLimits[ Level::LEVEL6_2 ] = TComGeneralTierAndLevelLimits( 35651584, 240000, 800000, 600, 22, 20 ); 89 #endif 90 #endif 91 73 92 } 74 93 … … 369 388 370 389 Char g_aucConvertToBit [ MAX_CU_SIZE+1 ]; 371 390 #if !MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX 372 391 #if H_3D_IC 373 392 UInt g_aICEnableCANDIDATE[10] = { 0, }; 374 393 UInt g_aICEnableNUM[ 10 ] = { 0, }; 375 394 Int g_lastlayer=0; 395 #endif 376 396 #endif 377 397 #if ENC_DEC_TRACE … … 383 403 UInt64 g_nSymbolCounter = 0; 384 404 #if H_MV_ENC_DEC_TRAC 385 Bool g_traceCU = true;386 Bool g_tracePU = true;387 Bool g_traceTU = true;405 Bool g_traceCU = false; 406 Bool g_tracePU = false; 407 Bool g_traceTU = false; 388 408 Bool g_disableHLSTrace = false; 389 409 UInt64 g_stopAtCounter = 0; -
trunk/source/Lib/TLibCommon/TComRom.h
r1039 r1066 187 187 // ========================================== 188 188 189 #if H_MV_HLS_PTL_LIMITS 190 class TComGeneralTierAndLevelLimits 191 { 192 public: 193 TComGeneralTierAndLevelLimits::TComGeneralTierAndLevelLimits 194 ( Int maxLumaPs, 195 Int maxCPBMainTier, 196 Int maxCPBHighTier, 197 Int maxSliceSegmentsPerPicture, 198 Int maxTileRows, 199 Int maxTileCols ) 200 : m_maxLumaPs ( maxLumaPs ), 201 m_maxCPBMainTier ( maxCPBMainTier ), 202 m_maxCPBHighTier ( maxCPBHighTier ), 203 m_maxSliceSegmentsPerPicture( maxSliceSegmentsPerPicture ), 204 m_maxTileRows ( maxTileRows ), 205 m_maxTileCols ( maxTileCols ); 206 {}; 207 208 Int getMaxLumaPs ( ) { return m_maxLumaPs ; }; 209 Int getMaxCPBMainTier ( ) { return m_maxCPBMainTier ; }; 210 Int getMaxCPBHighTier ( ) { return m_maxCPBHighTier ; }; 211 Int getMaxSliceSegmentsPerPicture( ) { return m_maxSliceSegmentsPerPicture; }; 212 Int getMaxTileRows ( ) { return m_maxTileRows ; }; 213 Int getMaxTileCols ( ) { return m_maxTileCols ; }; 214 215 private: 216 const Int m_maxLumaPs; 217 const Int m_maxCPBMainTier; 218 const Int m_maxCPBHighTier; 219 const Int m_maxSliceSegmentsPerPicture; 220 const Int m_maxTileRows; 221 const Int m_maxTileCols; 222 }; 223 224 extern std::map< Level::Name, TComGeneralTierAndLevelLimits > g_generalTierAndLevelLimits; 225 226 #endif 189 227 // ==================================================================================================================== 190 228 // Misc. … … 192 230 193 231 extern Char g_aucConvertToBit [ MAX_CU_SIZE+1 ]; // from width to log2(width)-2 194 232 #if !MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX 195 233 #if H_3D_IC 196 234 extern UInt g_aICEnableCANDIDATE[10]; 197 235 extern UInt g_aICEnableNUM[ 10 ]; //10 layers 198 236 extern Int g_lastlayer; 237 #endif 199 238 #endif 200 239 -
trunk/source/Lib/TLibCommon/TComSlice.cpp
r1039 r1066 1 /*The copyright in this software is being made available under the BSD1 /* The copyright in this software is being made available under the BSD 2 2 * License, included below. This software may be subject to other third party 3 3 * and contributor rights, including patent rights, and no such rights are … … 103 103 , m_temporalLayerNonReferenceFlag ( false ) 104 104 , m_enableTMVPFlag ( true ) 105 #if I0044_SLICE_TMVP 106 , m_availableForTMVPRefFlag ( true ) 107 #endif 105 108 #if H_MV 106 109 , m_refPicSetInterLayer0 ( NULL ) … … 725 728 726 729 assert( rpsCurrList[li][ orgIdx ] != NULL ); 730 #if DISCARDABLE_PIC_RPS 731 assert( rpsCurrList[li][ orgIdx ]->getSlice(0)->getDiscardableFlag() == 0 ); // Inter-layer RPS shall not contain picture with discardable_flag = 1. 732 #endif 727 733 m_apcRefPicList [li][rIdx] = rpsCurrList [li][ orgIdx ]; 728 734 m_bIsUsedAsLongTerm[li][rIdx] = usedAsLongTerm [li][ orgIdx ] ; … … 1875 1881 #if H_MV 1876 1882 m_vpsBaseLayerInternalFlag = true; 1883 #if H_MV_HLS10_GEN_VSP_BASE_LAYER_AVAIL 1884 m_vpsBaseLayerAvailableFlag = true; 1885 #endif 1877 1886 #endif 1878 1887 … … 1900 1909 { 1901 1910 m_layerSetIdxForOlsMinus1[i] = -1; 1911 #if !H_MV_HLS10_PTL 1902 1912 m_profileLevelTierIdx[i] = 0; 1913 #endif 1903 1914 for ( Int j = 0; j < MAX_VPS_NUH_LAYER_ID_PLUS1; j++) 1904 1915 { 1916 #if H_MV_HLS10_PTL 1917 #if H_MV_HLS10_PTL_FIX 1918 m_profileTierLevelIdx[i][j] = -1; 1919 #else 1920 m_profileTierLevelIdx[i][j] = false; 1921 #endif 1922 #endif 1905 1923 m_outputLayerFlag[i][j] = false; 1906 1924 } … … 1966 1984 m_directDependencyFlag[i][j] = false; 1967 1985 m_directDependencyType[i][j] = -1; 1986 #if H_MV_HLS10_REF_PRED_LAYERS 1987 m_dependencyFlag [i][j] = false; 1988 m_idDirectRefLayer[i][j] = -1; 1989 m_idPredictedLayer[i][j] = -1; 1990 m_idRefLayer [i][j] = -1; 1991 #else 1968 1992 m_refLayerId[i][j] = -1; 1993 #endif 1969 1994 m_maxTidIlRefPicsPlus1[i][j] = 7; 1970 1995 } … … 2050 2075 assert( getVpsNumRepFormatsMinus1() <= 255 ); 2051 2076 2077 #if H_MV_HLS10_ADD_LAYERSETS 2078 // The value of num_add_layer_sets shall be in the range of 0 to 1023, inclusive. 2079 assert( getNumAddLayerSets() >= 0 && getNumAddLayerSets() <= 1023 ); 2080 #endif 2052 2081 return true; 2053 2082 } … … 2081 2110 Void TComVPS::setRefLayers() 2082 2111 { 2112 2113 #if H_MV_HLS10_REF_PRED_LAYERS 2114 for( Int i = 0; i <= getMaxLayersMinus1(); i++ ) 2115 { 2116 for( Int j = 0; j <= getMaxLayersMinus1(); j++ ) 2117 { 2118 m_dependencyFlag[ i ][ j ] = getDirectDependencyFlag( i , j ); 2119 for( Int k = 0; k < i; k++ ) 2120 { 2121 if( getDirectDependencyFlag(i , k ) && m_dependencyFlag[k][j] ) 2122 { 2123 m_dependencyFlag[ i ][ j ] = true; 2124 } 2125 } 2126 } 2127 } 2128 2129 for( Int i = 0; i <= getMaxLayersMinus1(); i++ ) 2130 { 2131 Int iNuhLId = getLayerIdInNuh( i ); 2132 Int d = 0; 2133 Int r = 0; 2134 Int p = 0; 2135 for( Int j = 0; j <= getMaxLayersMinus1(); j++ ) 2136 { 2137 Int jNuhLid = getLayerIdInNuh( j ); 2138 if( getDirectDependencyFlag( i , j ) ) 2139 { 2140 m_idDirectRefLayer[iNuhLId][d++] = jNuhLid; 2141 } 2142 if( getDependencyFlag( i , j ) ) 2143 { 2144 m_idRefLayer [iNuhLId][r++] = jNuhLid; 2145 } 2146 if( getDependencyFlag( j , i ) ) 2147 { 2148 m_idPredictedLayer[iNuhLId][p++] = jNuhLid; 2149 } 2150 } 2151 m_numDirectRefLayers[ iNuhLId ] = d; 2152 m_numRefLayers [ iNuhLId ] = r; 2153 m_numPredictedLayers[ iNuhLId ] = p; 2154 } 2155 2156 Bool layerIdInListFlag[ 64 ]; 2157 for( Int i = 0; i <= 63; i++ ) 2158 { 2159 layerIdInListFlag[ i ] = 0; 2160 } 2161 2162 Int k = 0; 2163 for( Int i = 0; i <= getMaxLayersMinus1(); i++ ) 2164 { 2165 Int iNuhLId = getLayerIdInNuh( i ); 2166 if( getNumDirectRefLayers( iNuhLId ) == 0 ) 2167 { 2168 m_treePartitionLayerIdList[ k ][ 0 ] = iNuhLId; 2169 Int h = 1; 2170 for( Int j = 0; j < getNumPredictedLayers( iNuhLId ); j++ ) 2171 { 2172 Int predLId = getIdPredictedLayer( iNuhLId, j ); 2173 if ( !layerIdInListFlag[ predLId ] ) 2174 { 2175 m_treePartitionLayerIdList[ k ][ h++ ] = predLId; 2176 layerIdInListFlag[ predLId ] = 1; 2177 } 2178 } 2179 m_numLayersInTreePartition[ k++ ] = h; 2180 } 2181 } 2182 m_numIndependentLayers = k; 2183 #else // H_MV_HLS10_GEN 2184 2083 2185 for( Int i = 0; i <= getMaxLayersMinus1(); i++ ) 2084 2186 { … … 2116 2218 } 2117 2219 } 2118 2220 2119 2221 for( Int i = 0; i <= getMaxLayersMinus1(); i++ ) // Bug in spec "<" instead of "<=" 2120 2222 { … … 2136 2238 countedLayerIdxFlag[ i ] = 0; 2137 2239 } 2138 2139 2240 for( Int i = 0, k = 0; i <= getMaxLayersMinus1(); i++ ) 2140 2241 { … … 2144 2245 m_treePartitionLayerIdList[ k ][ 0 ] = iNuhLId; 2145 2246 m_numLayersInTreePartition[ k ] = 1; 2247 2146 2248 for( Int j = 0; j < m_numPredictedLayers[ iNuhLId ]; j++ ) 2147 2249 { … … 2154 2256 } 2155 2257 k++; 2156 } 2157 m_numIndependentLayers = k; 2158 } 2159 } 2160 2258 2259 m_numIndependentLayers = k; 2260 } 2261 } 2262 #endif // H_MV_HLS10_GEN 2263 } 2264 2265 #if !H_MV_HLS10_REF_PRED_LAYERS 2161 2266 Int TComVPS::getRefLayerId( Int layerIdInNuh, Int idx ) 2162 2267 { … … 2166 2271 return refLayerIdInNuh; 2167 2272 } 2273 #endif 2168 2274 2169 2275 Int TComVPS::getScalabilityId( Int layerIdInVps, ScalabilityType scalType ) … … 2203 2309 for ( i = 0; i < iNumViews ; i++ ) 2204 2310 { 2311 #if H_3D_FIX_UNINIT 2312 m_bCamParPresent[i] = false; 2313 #endif 2205 2314 m_bCamParInSliceHeader[i] = false; 2206 2315 m_aaaiCodedScale[i] = new Int*[ 2 ]; … … 2315 2424 { 2316 2425 assert( lsIdx >= 0 ); 2426 #if H_MV_HLS10_ADD_LAYERSETS 2427 assert( lsIdx <= getNumLayerSets() ); 2428 #else 2317 2429 assert( lsIdx <= getVpsNumLayerSetsMinus1() ); 2430 #endif 2318 2431 return (Int) m_layerSetLayerIdList[ lsIdx ].size(); 2319 2432 } … … 2339 2452 } 2340 2453 2454 #if !H_MV_HLS10_REF_PRED_LAYERS 2341 2455 Bool TComVPS::getInDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Int depth /*= 0 */ ) 2342 2456 { 2457 #if H_MV_HLS10_REF_PRED_LAYERS 2458 // TBD: Remove getInDirectDependencyFlag entirely. 2459 return getDependencyFlag( depLayeridInVps, refLayeridInVps ); 2460 #else 2343 2461 assert( depth < 65 ); 2344 2462 Bool dependentFlag = getDirectDependencyFlag( depLayeridInVps, refLayeridInVps ); … … 2352 2470 } 2353 2471 return dependentFlag; 2354 } 2472 #endif 2473 } 2474 #endif 2355 2475 2356 2476 Void TComVPS::deriveLayerSetLayerIdList() … … 2378 2498 { 2379 2499 Int lsIdx = olsIdxToLsIdx( i ); 2380 2500 2381 2501 for( Int j = 0; j < getNumLayersInIdList( lsIdx ); j++ ) 2382 2502 { 2383 m_targetDecLayerIdLists[i].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] ); 2503 #if H_MV_HLS10_NESSECARY_LAYER 2504 if ( getNecessaryLayerFlag( i , j )) 2505 { 2506 #endif 2507 m_targetDecLayerIdLists[i].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] ); 2508 #if H_MV_HLS10_NESSECARY_LAYER 2509 } 2510 #endif 2511 2384 2512 if( getOutputLayerFlag( i, j )) 2385 2513 { … … 2429 2557 } 2430 2558 2559 #if !H_MV_HLS10_ADD_LAYERSETS 2431 2560 Void TComVPS::inferDbpSizeLayerSetZero( TComSPS* sps, Bool encoder ) 2432 2561 { … … 2451 2580 } 2452 2581 } 2453 2582 #endif 2454 2583 Bool TComVPS::getAltOutputLayerFlagVar( Int i ) 2455 2584 { … … 2465 2594 } 2466 2595 2596 #if !H_MV_HLS10_MAXNUMPICS 2467 2597 Int TComVPS::getMaxNumPics( Int layerId ) 2468 2598 { … … 2483 2613 return maxNumPics; 2484 2614 } 2485 2615 #endif 2616 2617 #if !H_MV_HLS10_REF_PRED_LAYERS 2486 2618 Void TComVPS::xSetRefLayerFlags( Int currLayerId ) 2487 2619 { … … 2496 2628 } 2497 2629 } 2630 2631 #endif 2632 2633 #if H_MV_HLS10_PTL_FIX 2634 Int TComVPS::inferProfileTierLevelIdx(Int i, Int j) 2635 { 2636 Bool inferZero = ( i == 0 && j == 0 && getVpsBaseLayerInternalFlag() ); 2637 Bool inferGreaterZero = getNecessaryLayerFlag(i,j) && ( getVpsNumProfileTierLevelMinus1() == 0 ); 2638 assert( inferZero || inferGreaterZero ); 2639 2640 Bool ptlIdx = 0; // inference for greaterZero 2641 if ( inferZero ) 2642 { 2643 ptlIdx = getMaxLayersMinus1() > 0 ? 1 : 0; 2644 if ( inferGreaterZero ) 2645 { 2646 assert( ptlIdx == 0 ); 2647 // This should never happen since : 2648 // When vps_max_layers_minus1 is greater than 0, the value of vps_num_profile_tier_level_minus1 shall be greater than or equal to 1. 2649 } 2650 } 2651 return ptlIdx; 2652 } 2653 #endif 2654 2655 #if H_MV_HLS10_ADD_LAYERSETS 2656 Void TComVPS::deriveAddLayerSetLayerIdList(Int i) 2657 { 2658 assert( m_layerSetLayerIdList.size() == ( getVpsNumLayerSetsMinus1() + 1 + i ) ); 2659 std::vector<Int> layerSetLayerIdList; 2660 2661 for( Int treeIdx = 1; treeIdx < getNumIndependentLayers(); treeIdx++ ) 2662 { 2663 // The value of highest_layer_idx_plus1[ i ][ j ] shall be in the range of 0 to NumLayersInTreePartition[ j ], inclusive. 2664 assert( getHighestLayerIdxPlus1( i, treeIdx ) >= 0 && getHighestLayerIdxPlus1( i, treeIdx ) <= getNumLayersInTreePartition( treeIdx ) ); 2665 2666 for( Int layerCnt = 0; layerCnt < getHighestLayerIdxPlus1( i, treeIdx ); layerCnt++ ) 2667 { 2668 layerSetLayerIdList.push_back( getTreePartitionLayerIdList( treeIdx, layerCnt ) ); 2669 } 2670 } 2671 m_layerSetLayerIdList.push_back( layerSetLayerIdList ); 2672 2673 //It is a requirement of bitstream conformance that 2674 //NumLayersInIdList[ vps_num_layer_sets_minus1 + 1 + i ] shall be greater than 0. 2675 assert( getNumLayersInIdList( getVpsNumLayerSetsMinus1() + 1 + i ) > 0 ); 2676 } 2677 2678 #endif 2679 2680 #if H_MV_HLS10_NESSECARY_LAYER 2681 Void TComVPS::deriveNecessaryLayerFlags(Int olsIdx) 2682 { 2683 AOF( olsIdx >= 0 && olsIdx < getNumOutputLayerSets() ); 2684 Int lsIdx = olsIdxToLsIdx( olsIdx ); 2685 for( Int lsLayerIdx = 0; lsLayerIdx < getNumLayersInIdList( lsIdx) ; lsLayerIdx++ ) 2686 { 2687 m_necessaryLayerFlag[ olsIdx ][ lsLayerIdx ] = 0; 2688 } 2689 for( Int lsLayerIdx = 0; lsLayerIdx < getNumLayersInIdList( lsIdx ); lsLayerIdx++ ) 2690 { 2691 if( getOutputLayerFlag( olsIdx, lsLayerIdx )) 2692 { 2693 m_necessaryLayerFlag[ olsIdx ][ lsLayerIdx ] = 1; 2694 Int currLayerId = getLayerSetLayerIdList( lsIdx, lsLayerIdx ); 2695 for( Int rLsLayerIdx = 0; rLsLayerIdx < lsLayerIdx; rLsLayerIdx++ ) 2696 { 2697 Int refLayerId = getLayerSetLayerIdList( lsIdx, rLsLayerIdx ); 2698 if( getDependencyFlag( getLayerIdInVps( currLayerId ), getLayerIdInVps( refLayerId ) ) ) 2699 { 2700 m_necessaryLayerFlag[ olsIdx ][ rLsLayerIdx ] = 1; 2701 } 2702 } 2703 } 2704 } 2705 m_numNecessaryLayers[ olsIdx ] = 0; 2706 for( Int lsLayerIdx = 0; lsLayerIdx < getNumLayersInIdList( lsIdx ); lsLayerIdx++ ) 2707 { 2708 m_numNecessaryLayers[ olsIdx ] += m_necessaryLayerFlag[ olsIdx ][ lsLayerIdx ]; 2709 } 2710 } 2711 #endif 2712 2713 #if H_MV_HLS10_ADD_LAYERSETS 2714 Void TComVPS::printPTL() 2715 { 2716 std::vector<Int> idx; 2717 std::vector<Int> num; 2718 std::vector< std::vector<Int> > ptlInfo; 2719 2720 std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "PTLI" << std::endl; 2721 2722 for ( Int i = 0; i <= getVpsNumProfileTierLevelMinus1(); i++ ) 2723 { 2724 std::vector<Int> curPtlInfo; 2725 ProfileTierLevel* ptl = getPTL( i )->getGeneralPTL(); 2726 curPtlInfo.push_back( (Int) ptl->getProfileIdc() ); 2727 curPtlInfo.push_back( (Int) ptl->getTierFlag() ); 2728 curPtlInfo.push_back( (Int) ptl->getLevelIdc() ); 2729 curPtlInfo.push_back( (Int) ptl->getInbldFlag() ); 2730 2731 idx.push_back ( i ); 2732 num.push_back ( 4 ); 2733 ptlInfo.push_back( curPtlInfo ); 2734 } 2735 2736 xPrintArray( "VpsProfileTierLevel", getVpsNumProfileTierLevelMinus1() + 1, idx, num, ptlInfo, false ); 2737 2738 num.clear(); 2739 idx.clear(); 2740 for (Int i = 0; i < getNumOutputLayerSets(); i++) 2741 { 2742 num.push_back ( getNumLayersInIdList( olsIdxToLsIdx( i )) ); 2743 idx.push_back( i ); 2744 } 2745 2746 xPrintArray( "profile_tier_level_idx", getNumOutputLayerSets(), idx, num, m_profileTierLevelIdx, true ); 2747 std::cout << std::endl; 2748 } 2749 2750 Void TComVPS::printLayerDependencies() 2751 { 2752 vector<Int> fullArray; 2753 vector<Int> range; 2754 2755 #if H_3D 2756 vector<Int> depthId; 2757 #endif 2758 2759 #if H_MV_HLS10_AUX 2760 vector<Int> viewOrderIndex; 2761 vector<Int> auxId; 2762 vector<Int> dependencyId; 2763 vector<Int> viewId; 2764 #endif 2765 for (Int i = 0; i <= getMaxLayersMinus1(); i++ ) 2766 { 2767 fullArray.push_back( getMaxLayersMinus1() + 1 ); 2768 range.push_back( i ); 2769 #if H_MV_HLS10_AUX 2770 viewOrderIndex.push_back( getViewIndex ( i ) ); 2771 dependencyId .push_back( getDependencyId( i ) ); 2772 auxId .push_back( getAuxId ( i ) ); 2773 viewId .push_back( getViewId ( getLayerIdInNuh( i ) ) ); 2774 #if H_3D 2775 depthId.push_back( getDepthId( i ) ); 2776 #endif 2777 #endif 2778 } 2779 std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "Layer Dependencies" << std::endl; 2780 xPrintArray( "direct_dependency_flag", getMaxLayersMinus1()+1, range, fullArray, m_directDependencyFlag, false ); 2781 xPrintArray( "DependencyFlag", getMaxLayersMinus1()+1, range, fullArray, m_dependencyFlag, false ); 2782 xPrintArray( "layer_id_in_nuh", getMaxLayersMinus1()+1, m_layerIdInNuh, true ); 2783 xPrintArray( "IdPredictedLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numPredictedLayers, m_idPredictedLayer, true ); 2784 xPrintArray( "IdRefLayer" , getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numRefLayers, m_idRefLayer, true ); 2785 xPrintArray( "IdDirectRefLayer", getMaxLayersMinus1() + 1, m_layerIdInNuh, m_numDirectRefLayers, m_idDirectRefLayer, true ); 2786 std::cout << std::endl; 2787 } 2788 2789 #if H_MV_HLS10_AUX 2790 Void TComVPS::printScalabilityId() 2791 { 2792 vector<Int> layerIdxInVps; 2793 2794 #if H_3D 2795 vector<Int> depthId; 2796 #endif 2797 2798 vector<Int> viewOrderIndex; 2799 vector<Int> auxId; 2800 vector<Int> dependencyId; 2801 vector<Int> viewId; 2802 2803 for (Int i = 0; i <= getMaxLayersMinus1(); i++ ) 2804 { 2805 Int layerIdInNuh = getLayerIdInNuh( i ); 2806 layerIdxInVps .push_back( i ); 2807 viewOrderIndex.push_back( getViewIndex ( layerIdInNuh ) ); 2808 dependencyId .push_back( getDependencyId( layerIdInNuh ) ); 2809 auxId .push_back( getAuxId ( layerIdInNuh ) ); 2810 viewId .push_back( getViewId ( layerIdInNuh ) ); 2811 #if H_3D 2812 depthId .push_back( getDepthId ( layerIdInNuh ) ); 2813 #endif 2814 } 2815 2816 std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "Scalability Ids" << std::endl; 2817 xPrintArray( "layerIdxInVps" , getMaxLayersMinus1()+1, layerIdxInVps, false ); 2818 xPrintArray( "layer_id_in_nuh", getMaxLayersMinus1()+1, m_layerIdInNuh, false ); 2819 2820 xPrintArray( "ViewOrderIndex", getMaxLayersMinus1()+1, viewOrderIndex, false ); 2821 xPrintArray( "DependencyId" , getMaxLayersMinus1()+1, dependencyId , false ); 2822 xPrintArray( "AuxId" , getMaxLayersMinus1()+1, auxId , false ); 2823 xPrintArray( "ViewId" , getMaxLayersMinus1()+1, viewId , false ); 2824 2825 std::cout << std::endl; 2826 } 2827 #endif 2828 2829 Void TComVPS::printLayerSets() 2830 { 2831 vector<Int> fullArray; 2832 vector<Int> numLayersInIdList; 2833 vector<Int> rangeLayerSets; 2834 2835 2836 for (Int i = 0; i < getNumLayerSets(); i++ ) 2837 { 2838 numLayersInIdList.push_back( getNumLayersInIdList( i ) ); 2839 rangeLayerSets.push_back( i ); 2840 } 2841 2842 vector<Int> rangeOutputLayerSets; 2843 vector<Int> numOutputLayersInOutputLayerSet; 2844 vector<Int> numDecLayer; 2845 vector<Int> numLayersInLayerSetForOutputLayerSet; 2846 vector<Int> vOlsIdxToLsIdx; 2847 for (Int i = 0; i < getNumOutputLayerSets(); i++ ) 2848 { 2849 vOlsIdxToLsIdx.push_back( olsIdxToLsIdx(i)); 2850 numOutputLayersInOutputLayerSet.push_back( getNumOutputLayersInOutputLayerSet( i ) ); 2851 numDecLayer.push_back( (Int) m_targetDecLayerIdLists[ i ].size() ); 2852 rangeOutputLayerSets.push_back( i ); 2853 numLayersInLayerSetForOutputLayerSet.push_back( getNumLayersInIdList( olsIdxToLsIdx( i ) ) ); 2854 } 2855 2856 vector<Int> rangeIndependentLayers; 2857 for(Int i = 0; i < getNumIndependentLayers(); i++ ) 2858 { 2859 rangeIndependentLayers.push_back( i ); 2860 } 2861 2862 vector<Int> rangeAddLayerSets; 2863 vector<Int> numHighestLayerIdxPlus1; 2864 for(Int i = 0; i < getNumAddLayerSets(); i++ ) 2865 { 2866 rangeAddLayerSets.push_back( i ); 2867 numHighestLayerIdxPlus1.push_back( getNumIndependentLayers() ); 2868 } 2869 2870 std::cout << std::right << std::setw(60) << std::setfill('-') << " " << std::setfill(' ') << std::endl << "Layer Sets" << std::endl; 2871 xPrintArray( "TreePartitionLayerIdList", getNumIndependentLayers(), rangeIndependentLayers, m_numLayersInTreePartition, m_treePartitionLayerIdList, true ); 2872 xPrintArray( "highest_layer_idx_plus1", getNumAddLayerSets(), rangeAddLayerSets, numHighestLayerIdxPlus1, m_highestLayerIdxPlus1, true ); 2873 xPrintArray( "LayerSetLayerIdList" , (Int) getNumLayerSets() , rangeLayerSets , numLayersInIdList, m_layerSetLayerIdList, true ); 2874 xPrintArray( "OlsIdxToLsIdx", (Int) vOlsIdxToLsIdx.size(), vOlsIdxToLsIdx, true ); 2875 xPrintArray( "OutputLayerFlag" , getNumOutputLayerSets(), rangeOutputLayerSets, numLayersInLayerSetForOutputLayerSet, m_outputLayerFlag, true ); 2876 xPrintArray( "TargetOptLayerIdList", getNumOutputLayerSets(), rangeOutputLayerSets, numOutputLayersInOutputLayerSet, m_targetOptLayerIdLists, true ); 2877 xPrintArray( "NecessaryLayerFlag" , getNumOutputLayerSets(), rangeOutputLayerSets, numLayersInLayerSetForOutputLayerSet, m_necessaryLayerFlag , true ); 2878 xPrintArray( "TargetDecLayerIdList", getNumOutputLayerSets(), rangeOutputLayerSets, numDecLayer, m_targetDecLayerIdLists, true ); 2879 std::cout << endl; 2880 } 2881 2882 #endif 2498 2883 2499 2884 #endif // H_MV … … 2579 2964 #endif 2580 2965 2966 #if !H_MV_HLS10_PPS 2581 2967 m_numScaledRefLayerOffsets = 0; 2582 2968 … … 2590 2976 m_scaledRefLayerLeftOffset [i] = 0; 2591 2977 m_scaledRefLayerTopOffset [i] = 0; 2592 m_scaledRefLayerRi ghtOffset [i] = 0;2978 m_scaledRefLayerRiFghtOffset [i] = 0; 2593 2979 m_scaledRefLayerBottomOffset [i] = 0; 2594 2980 } 2981 #endif 2595 2982 #endif 2596 2983 } … … 2967 3354 Void TComSPS::inferRepFormat( TComVPS* vps, Int layerIdCurr ) 2968 3355 { 3356 #if H_MV_HLS10_MULTILAYERSPS 3357 if ( getMultiLayerExtSpsFlag() ) 3358 #else 2969 3359 if ( layerIdCurr > 0 ) 3360 #endif 2970 3361 { 2971 3362 Int repFormatIdx = getUpdateRepFormatFlag() ? getSpsRepFormatIdx() : vps->getVpsRepFormatIdx( vps->getLayerIdInVps( layerIdCurr ) ) ; 2972 3363 TComRepFormat* repFormat = vps->getRepFormat( repFormatIdx ); 2973 setChromaFormatIdc( repFormat->getChromaFormatVpsIdc() ); 2974 //// ToDo: add when supported: 2975 // setSeperateColourPlaneFlag( repFormat->getSeparateColourPlaneVpsFlag() ) ; 2976 2977 setPicWidthInLumaSamples ( repFormat->getPicWidthVpsInLumaSamples() ); 2978 setPicHeightInLumaSamples( repFormat->getPicHeightVpsInLumaSamples() ); 2979 2980 setBitDepthY ( repFormat->getBitDepthVpsLumaMinus8() + 8 ); 2981 setQpBDOffsetY ( (Int) (6*( getBitDepthY() - 8 )) ); 2982 2983 setBitDepthC ( repFormat->getBitDepthVpsChromaMinus8() + 8 ); 2984 setQpBDOffsetC ( (Int) (6* ( getBitDepthC() -8 ) ) ); 2985 if ( getLayerId() > 0 && getUpdateRepFormatFlag() ) 3364 setChromaFormatIdc( repFormat->getChromaFormatVpsIdc() ); 3365 //// ToDo: add when supported: 3366 // setSeperateColourPlaneFlag( repFormat->getSeparateColourPlaneVpsFlag() ) ; 3367 3368 setPicWidthInLumaSamples ( repFormat->getPicWidthVpsInLumaSamples() ); 3369 setPicHeightInLumaSamples( repFormat->getPicHeightVpsInLumaSamples() ); 3370 3371 setBitDepthY ( repFormat->getBitDepthVpsLumaMinus8() + 8 ); 3372 setQpBDOffsetY ( (Int) (6*( getBitDepthY() - 8 )) ); 3373 3374 setBitDepthC ( repFormat->getBitDepthVpsChromaMinus8() + 8 ); 3375 setQpBDOffsetC ( (Int) (6* ( getBitDepthC() -8 ) ) ); 3376 #if H_MV_HLS10_GEN_VSP_CONF_WIN 3377 Window &spsConf = getConformanceWindow(); 3378 3379 // Scaled later 3380 spsConf.setScaledFlag( false ); 3381 spsConf.setWindowLeftOffset ( repFormat->getConfWinVpsLeftOffset() ); 3382 spsConf.setWindowRightOffset ( repFormat->getConfWinVpsRightOffset() ); 3383 spsConf.setWindowTopOffset ( repFormat->getConfWinVpsTopOffset() ); 3384 spsConf.setWindowBottomOffset( repFormat->getConfWinVpsBottomOffset() ); 3385 #endif 3386 3387 #if H_MV_HLS10_MULTILAYERSPS 3388 if ( getMultiLayerExtSpsFlag() && getUpdateRepFormatFlag() ) 3389 #else 3390 if ( getLayerId() > 0 && getUpdateRepFormatFlag() ) 3391 #endif 2986 3392 { 2987 3393 assert( getChromaFormatIdc() <= repFormat->getChromaFormatVpsIdc() ); … … 3017 3423 const std::vector<Int>& targetDecLayerIdList = vps->getTargetDecLayerIdList( vps->olsIdxToLsIdx( targetOptLayerSetIdx )); 3018 3424 3425 #if H_MV_HLS10_MULTILAYERSPS 3426 if ( getMultiLayerExtSpsFlag() ) 3427 #else 3019 3428 if (getLayerId() > 0 ) 3429 #endif 3020 3430 { 3021 3431 Int layerIdx = 0; … … 3035 3445 Int maxDecPicBufferingMinus1 = vps->getDpbSize()->getMaxVpsDecPicBufferingMinus1( targetOptLayerSetIdx, layerIdx, i ) ; 3036 3446 3037 if ( encoder ) 3447 #if H_MV_HLS10_MULTILAYERSPS 3448 // This preliminary fix needs to be checked. 3449 Int maxNumReorderPics = vps->getDpbSize()->getMaxVpsNumReorderPics( targetOptLayerSetIdx, i ); 3450 Int maxLatencyIncreasePlus1 = vps->getDpbSize()->getMaxVpsLatencyIncreasePlus1( targetOptLayerSetIdx, i ); 3451 #endif 3452 if ( encoder ) 3038 3453 { 3039 3454 assert( getMaxDecPicBuffering( i ) - 1 == maxDecPicBufferingMinus1 ); 3455 #if H_MV_HLS10_MULTILAYERSPS 3456 // This preliminary fix needs to be checked. 3457 assert( getNumReorderPics( i ) == maxNumReorderPics ); 3458 assert( getMaxLatencyIncrease( i ) == maxLatencyIncreasePlus1 ); 3459 #endif 3460 3040 3461 } 3041 3462 else 3042 3463 { 3464 #if !H_MV_HLS10_MULTILAYERSPS 3043 3465 setMaxDecPicBuffering(i, maxDecPicBufferingMinus1 + 1 ); 3044 } 3045 } 3466 #else 3467 // This preliminary fix needs to be checked. 3468 setMaxDecPicBuffering( maxDecPicBufferingMinus1 + 1 , i); 3469 setNumReorderPics ( maxNumReorderPics, i ); 3470 setMaxLatencyIncrease( maxLatencyIncreasePlus1 - 1 , i); 3471 #endif 3472 } 3473 } 3046 3474 } 3047 3475 } … … 3049 3477 Void TComSPS::checkRpsMaxNumPics( TComVPS* vps, Int currLayerId ) 3050 3478 { 3479 #if !H_MV_HLS10_MAXNUMPICS 3051 3480 // In spec, when rps is in SPS, nuh_layer_id of SPS is used instead 3052 3481 // of nuh_layer_id of slice (currLayerId), this seems to be a bug. 3053 3482 #endif 3054 3483 for (Int i = 0; i < getRPSList()->getNumberOfReferencePictureSets(); i++ ) 3055 3484 { … … 3057 3486 if ( !rps->getInterRPSPrediction() ) 3058 3487 { 3488 #if H_MV_HLS10_MAXNUMPICS 3489 rps->checkMaxNumPics( vps->getVpsExtensionFlag(), MAX_INT, getLayerId(), getMaxDecPicBuffering( getSpsMaxSubLayersMinus1() ) - 1 ); // INT_MAX to be replaced by DpbSize 3490 #else 3059 3491 rps->checkMaxNumPics( vps->getVpsExtensionFlag(), vps->getMaxNumPics( currLayerId ), 3060 3492 getLayerId(), getMaxDecPicBuffering( getSpsMaxSubLayersMinus1() ) - 1 ); 3061 } 3062 } 3063 } 3064 3493 #endif 3494 } 3495 } 3496 } 3497 3498 #if H_MV_HLS10_MULTILAYERSPS 3499 Void TComSPS::inferSpsMaxSubLayersMinus1(Bool atPsActivation, TComVPS* vps) 3500 { 3501 assert( getLayerId() != 0 ); 3502 if ( !atPsActivation ) 3503 { 3504 assert( vps == NULL ); 3505 if (getSpsExtOrMaxSubLayersMinus1() != 7) 3506 { 3507 setSpsMaxSubLayersMinus1( getSpsExtOrMaxSubLayersMinus1() ); 3508 } 3509 } 3510 else 3511 { 3512 assert( vps != NULL ); 3513 if (getSpsExtOrMaxSubLayersMinus1() == 7) 3514 { 3515 setSpsMaxSubLayersMinus1( vps->getMaxSubLayersMinus1() ); 3516 } 3517 } 3518 } 3519 #endif 3065 3520 #endif 3066 3521 … … 3425 3880 { 3426 3881 TComVPS* vps = getVPS(); 3882 #if H_MV_HLS10_REF_PRED_LAYERS 3883 Int refLayerIdx = vps->getLayerIdInVps( vps->getIdDirectRefLayer( getLayerId(), i ) ); 3884 #else 3427 3885 Int refLayerIdx = vps->getLayerIdInVps( vps->getRefLayerId( getLayerId(), i ) ); 3886 #endif 3428 3887 3429 3888 Bool refLayerPicFlag = ( vps->getSubLayersVpsMaxMinus1( refLayerIdx ) >= getTLayer() ) && ( getTLayer() == 0 ) && … … 3496 3955 Int TComSlice::getRefPicLayerId( Int i ) 3497 3956 { 3957 #if H_MV_HLS10_REF_PRED_LAYERS 3958 return getVPS()->getIdDirectRefLayer( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3959 #else 3498 3960 return getVPS()->getRefLayerId( getLayerId(), getInterLayerPredLayerIdc( i ) ); 3961 #endif 3499 3962 } 3500 3963 … … 3602 4065 m_bApplyIC = true; 3603 4066 Int refLayer = curLayer-1; 3604 if( (refLayer>=0) && (g_aICEnableCANDIDATE[refLayer]>0) ) 4067 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX 4068 Int ICEnableCandidate = getICEnableCandidate(refLayer); 4069 Int ICEnableNum = getICEnableNum(refLayer); 4070 if( (refLayer>=0) && (ICEnableCandidate>0) ) 3605 4071 { 3606 Double ratio=Double( g_aICEnableNUM[refLayer])/Double(g_aICEnableCANDIDATE[refLayer]);4072 Double ratio=Double(ICEnableNum/Double(ICEnableCandidate)); 3607 4073 3608 4074 if( ratio > IC_LOW_LATENCY_ENCODING_THRESHOLD) 3609 {4075 { 3610 4076 m_bApplyIC=true; 3611 4077 } … … 3615 4081 } 3616 4082 } 4083 setICEnableCandidate(curLayer, 0); 4084 setICEnableNum(curLayer, 0); 4085 #else 4086 if( (refLayer>=0) && (g_aICEnableCANDIDATE[refLayer]>0) ) 4087 { 4088 Double ratio=Double(g_aICEnableNUM[refLayer])/Double(g_aICEnableCANDIDATE[refLayer]); 4089 4090 if( ratio > IC_LOW_LATENCY_ENCODING_THRESHOLD) 4091 { 4092 m_bApplyIC=true; 4093 } 4094 else 4095 { 4096 m_bApplyIC=false; 4097 } 4098 } 3617 4099 g_aICEnableNUM[curLayer]=0; 3618 4100 g_aICEnableCANDIDATE[curLayer]=0; 3619 4101 g_lastlayer=getDepth(); 4102 #endif 3620 4103 } 3621 4104 } … … 3727 4210 3728 4211 #if H_3D_DDD 4212 #if LGE_FCO_I0116 4213 if( getIsDepth() && getViewIndex() > 0 && getVPS()->getMPIFlag(layerIdInVPS)) 4214 #else 3729 4215 if( getIsDepth() && getViewIndex() > 0 ) 4216 #endif 3730 4217 { 3731 4218 TComSlice *pcTextSlice = getTexturePic()->getSlice( 0 ); … … 4209 4696 , m_nonPackedConstraintFlag(false) 4210 4697 , m_frameOnlyConstraintFlag(false) 4698 #if H_MV_HLS10_PTL 4699 , m_max12bitConstraintFlag ( false ) 4700 , m_max10bitConstraintFlag ( false ) 4701 , m_max8bitConstraintFlag ( false ) 4702 , m_max422chromaConstraintFlag ( false ) 4703 , m_max420chromaConstraintFlag ( false ) 4704 , m_maxMonochromeConstraintFlag ( false ) 4705 , m_intraConstraintFlag ( false ) 4706 , m_onePictureOnlyConstraintFlag( false ) 4707 , m_lowerBitRateConstraintFlag ( false ) 4708 , m_inbldFlag ( false ) 4709 #endif 4211 4710 { 4212 4711 ::memset(m_profileCompatibilityFlag, 0, sizeof(m_profileCompatibilityFlag)); 4213 4712 } 4713 4714 #if H_MV_HLS10_PTL_INFER_FIX 4715 Bool ProfileTierLevel::getV2ConstraintsPresentFlag() 4716 { 4717 return ( 4718 getProfileIdc( ) == 4 || getProfileCompatibilityFlag( 4 ) || getProfileIdc( ) == 5 || getProfileCompatibilityFlag( 5 ) || 4719 getProfileIdc( ) == 6 || getProfileCompatibilityFlag( 6 ) || getProfileIdc( ) == 7 || getProfileCompatibilityFlag( 7 ) 4720 ); 4721 } 4722 4723 Bool ProfileTierLevel::getInbldPresentFlag() 4724 { 4725 return ( 4726 ( getProfileIdc() >= 1 && getProfileIdc() <= 5 ) || getProfileCompatibilityFlag( 1 ) || getProfileCompatibilityFlag( 2 ) || 4727 getProfileCompatibilityFlag( 3 ) || getProfileCompatibilityFlag( 4 ) || getProfileCompatibilityFlag( 5 ) 4728 ); 4729 } 4730 4731 Void ProfileTierLevel::copyV2ConstraintFlags(ProfileTierLevel* ptlRef) 4732 { 4733 setMax12bitConstraintFlag ( ptlRef->getMax12bitConstraintFlag ( ) ); 4734 setMax10bitConstraintFlag ( ptlRef->getMax10bitConstraintFlag ( ) ); 4735 setMax8bitConstraintFlag ( ptlRef->getMax8bitConstraintFlag ( ) ); 4736 setMax422chromaConstraintFlag ( ptlRef->getMax422chromaConstraintFlag ( ) ); 4737 setMax420chromaConstraintFlag ( ptlRef->getMax420chromaConstraintFlag ( ) ); 4738 setMaxMonochromeConstraintFlag ( ptlRef->getMaxMonochromeConstraintFlag ( ) ); 4739 setIntraConstraintFlag ( ptlRef->getIntraConstraintFlag ( ) ); 4740 setOnePictureOnlyConstraintFlag ( ptlRef->getOnePictureOnlyConstraintFlag ( ) ); 4741 setLowerBitRateConstraintFlag ( ptlRef->getLowerBitRateConstraintFlag ( ) ); 4742 } 4743 4744 Void ProfileTierLevel::copyProfile(ProfileTierLevel* ptlRef) 4745 { 4746 setProfileSpace ( ptlRef->getProfileSpace ( ) ); 4747 setTierFlag ( ptlRef->getTierFlag ( ) ); 4748 setProfileIdc ( ptlRef->getProfileIdc ( ) ); 4749 for (Int j = 0; j < 32; j++) 4750 { 4751 setProfileCompatibilityFlag(j, ptlRef->getProfileCompatibilityFlag ( j ) ); 4752 } 4753 setProgressiveSourceFlag ( ptlRef->getProgressiveSourceFlag ( ) ); 4754 setInterlacedSourceFlag ( ptlRef->getInterlacedSourceFlag ( ) ); 4755 setNonPackedConstraintFlag ( ptlRef->getNonPackedConstraintFlag ( ) ); 4756 setFrameOnlyConstraintFlag ( ptlRef->getFrameOnlyConstraintFlag ( ) ); 4757 copyV2ConstraintFlags ( ptlRef ); 4758 } 4759 4760 #endif 4214 4761 4215 4762 TComPTL::TComPTL() … … 4220 4767 4221 4768 #if H_MV 4769 #if !H_MV_HLS10_PTL_INFER_FIX 4222 4770 Void TComPTL::copyLevelFrom( TComPTL* source ) 4223 4771 { … … 4229 4777 } 4230 4778 } 4779 #else 4780 Void TComPTL::inferGeneralValues(Bool profilePresentFlag, Int k, TComPTL* refPTL) 4781 { 4782 ProfileTierLevel* refProfileTierLevel = NULL; 4783 if ( k > 0 ) 4784 { 4785 assert( refPTL != NULL); 4786 refProfileTierLevel = refPTL->getGeneralPTL(); 4787 } 4788 4789 ProfileTierLevel* curProfileTierLevel = getGeneralPTL( ); 4790 4791 if( !profilePresentFlag ) 4792 { 4793 assert( k > 0 ); 4794 assert( refProfileTierLevel != NULL ); 4795 curProfileTierLevel->copyProfile( refProfileTierLevel); 4796 } 4797 else 4798 { 4799 if ( !curProfileTierLevel->getV2ConstraintsPresentFlag() ) 4800 { 4801 curProfileTierLevel->setMax12bitConstraintFlag ( false ); 4802 curProfileTierLevel->setMax10bitConstraintFlag ( false ); 4803 curProfileTierLevel->setMax8bitConstraintFlag ( false ); 4804 curProfileTierLevel->setMax422chromaConstraintFlag ( false ); 4805 curProfileTierLevel->setMax420chromaConstraintFlag ( false ); 4806 curProfileTierLevel->setMaxMonochromeConstraintFlag ( false ); 4807 curProfileTierLevel->setIntraConstraintFlag ( false ); 4808 curProfileTierLevel->setOnePictureOnlyConstraintFlag ( false ); 4809 curProfileTierLevel->setLowerBitRateConstraintFlag ( false ); 4810 } 4811 4812 if ( !curProfileTierLevel->getInbldPresentFlag() ) 4813 { 4814 curProfileTierLevel->setInbldFlag( false ); 4815 } 4816 } 4817 } 4818 4819 Void TComPTL::inferSubLayerValues(Int maxNumSubLayersMinus1, Int k, TComPTL* refPTL) 4820 { 4821 assert( k == 0 || refPTL != NULL ); 4822 4823 for (Int i = maxNumSubLayersMinus1; i >= 0; i--) 4824 { 4825 ProfileTierLevel* refProfileTierLevel; 4826 if ( k != 0 ) 4827 { 4828 refProfileTierLevel = refPTL->getSubLayerPTL( i ); 4829 } 4830 else 4831 { 4832 if ( i == maxNumSubLayersMinus1) 4833 { 4834 refProfileTierLevel = getGeneralPTL(); 4835 } 4836 else 4837 { 4838 refProfileTierLevel = getSubLayerPTL( i + 1 ); 4839 } 4840 } 4841 4842 ProfileTierLevel* curProfileTierLevel = getSubLayerPTL( i ); 4843 if( !getSubLayerLevelPresentFlag( i ) ) 4844 { 4845 curProfileTierLevel->setLevelIdc( refProfileTierLevel->getLevelIdc() ); 4846 } 4847 4848 if( !getSubLayerProfilePresentFlag( i ) ) 4849 { 4850 curProfileTierLevel->copyProfile( refProfileTierLevel); 4851 } 4852 else 4853 { 4854 if ( !curProfileTierLevel->getV2ConstraintsPresentFlag() ) 4855 { 4856 curProfileTierLevel->copyV2ConstraintFlags( refProfileTierLevel ); 4857 } 4858 4859 if ( !curProfileTierLevel->getInbldPresentFlag() ) 4860 { 4861 &nbs