Changeset 1106 in 3DVCSoftware
- Timestamp:
- 6 Nov 2014, 20:29:09 (10 years ago)
- Location:
- branches/HTM-12.2-dev2-HHI
- Files:
-
- 40 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view+depth_AllIntra.cfg
r1104 r1106 173 173 174 174 #========== multiview coding tools ========== 175 IvMvPred 176 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)175 IvMvPredFlag : 1 1 # Inter-view motion prediction 176 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 177 177 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 178 178 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 179 ViewSynthesisPred 180 DepthRefinement 181 IvMvScaling 182 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 183 SubPUMPILog2Size: 3 # Log2 of sub-PU size for MPI (3...6)184 D BBP: 1 # Depth-based Block Partitioning179 ViewSynthesisPredFlag : 1 # View synthesis prediction 180 DepthRefinementFlag : 1 # Disparity refined by depth DoNBDV 181 IvMvScalingFlag : 1 # Interview motion vector scaling 182 Log2SubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 183 Log2MpiSubPbSizeMinus3 : 3 # Log2 of sub-PU size for MPI (3...6) 184 DepthBasedBlkPartFlag : 1 # Depth-based Block Partitioning 185 185 186 186 #========== depth coding tools ========== 187 187 VSO : 1 # use of view synthesis optimization for depth coding 188 DMM: 1189 I VP: 1 # use of intra-view prediction mode190 SDC: 1191 DLT : 1192 QTL : 1193 LimQtPredFlag: 1194 InterS DC: 1 # use of inter sdc195 M PI: 1196 SingleDepthMode: 1 # use of single depth mode188 IntraWedgeFlag : 1 189 IntraContourFlag : 1 # use of intra-view prediction mode 190 IntraSdcFlag : 1 191 DLT : 1 192 QTL : 1 193 QtPredFlag : 1 194 InterSdcFlag : 1 # use of inter sdc 195 MpiFlag : 1 196 IntraSingleFlag : 1 # use of single depth mode 197 197 #========== view synthesis optimization (VSO) ========== 198 198 -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg
r1104 r1106 66 66 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 67 67 DirectRefLayers_4 : 0 1 # Indices in VPS of direct reference layers 68 DirectRefLayers_5 : 1 2# Indices in VPS of direct reference layers68 DirectRefLayers_5 : 1 4 # Indices in VPS of direct reference layers 69 69 70 70 DependencyTypes_1 : # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion … … 191 191 192 192 #========== multiview coding tools ========== 193 IvMvPred 194 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)193 IvMvPredFlag : 1 1 # Inter-view motion prediction 194 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 195 195 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 196 196 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 197 ViewSynthesisPred 198 DepthRefinement 199 IvMvScaling 200 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 201 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 202 D BBP: 1 # Depth-based Block Partitioning197 ViewSynthesisPredFlag : 1 # View synthesis prediction 198 DepthRefinementFlag : 1 # Disparity refined by depth DoNBDV 199 IvMvScalingFlag : 1 # Interview motion vector scaling 200 Log2SubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 201 Log2MpiSubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for MPI (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 202 DepthBasedBlkPartFlag : 1 # Depth-based Block Partitioning 203 203 204 204 #========== depth coding tools ========== 205 205 VSO : 1 # use of view synthesis optimization for depth coding 206 DMM: 1207 I VP: 1 # use of intra-view prediction mode208 SDC: 1209 DLT : 1210 QTL : 1211 LimQtPredFlag: 1212 InterS DC: 1 # use of inter sdc213 M PI: 1214 SingleDepthMode: 1 # use of single depth mode206 IntraWedgeFlag : 1 207 IntraContourFlag : 1 # use of intra-view prediction mode 208 IntraSdcFlag : 1 209 DLT : 1 210 QTL : 1 211 QtPredFlag : 1 212 InterSdcFlag : 1 # use of inter sdc 213 MpiFlag : 1 214 IntraSingleFlag : 1 # use of single depth mode 215 215 #========== view synthesis optimization (VSO) ========== 216 216 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 -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/fco/baseCfg_3view+depth.cfg
r1104 r1106 240 240 241 241 #========== multiview coding tools ========== 242 IvMvPred 243 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)242 IvMvPredFlag : 1 # Inter-view motion prediction 243 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 244 244 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 245 245 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 246 ViewSynthesisPred 247 DepthRefinement 248 IvMvScaling 249 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6)250 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 251 D BBP: 1 # Depth-based Block Partitioning246 ViewSynthesisPredFlag : 1 # View synthesis prediction 247 DepthRefinementFlag : 1 # Disparity refined by depth DoNBDV 248 IvMvScalingFlag : 1 # Interview motion vector scaling 249 Log2SubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for IvMvPred ( MinCbLog2SizeY - 3 ) ... ( CtbLog2SizeY - 3 ) 250 Log2MpiSubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for MPI (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 251 DepthBasedBlkPartFlag : 1 # Depth-based Block Partitioning 252 252 253 253 #========== depth coding tools ========== 254 VSO : 1 # use of view synthesis optimization for depth coding255 DMM: 1256 SDC: 1257 DLT : 1258 QTL : 0259 LimQtPredFlag: 0260 InterS DC: 1 # use of inter sdc261 M PI: 1254 VSO : 1 # use of view synthesis optimization for depth coding 255 IntraWedgeFlag : 1 256 IntraSdcFlag : 1 257 DLT : 1 258 QTL : 0 259 QtPredFlag : 0 260 InterSdcFlag : 1 # use of inter sdc 261 MpiFlag : 1 262 262 263 263 #========== view synthesis optimization (VSO) ========== -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/NonCTC/rc/baseCfg_3view+depth_rate_control.cfg
r1084 r1106 62 62 63 63 #======== VPS / Dependencies ================ 64 DirectRefLayers_1 : # Indices in VPS of direct reference layers65 DirectRefLayers_2 : 0 # Indices in VPS of direct reference layers66 DirectRefLayers_3 : 1 # Indices in VPS of direct reference layers67 DirectRefLayers_4 : 0 # Indices in VPS of direct reference layers68 DirectRefLayers_5 : 1 # Indices in VPS of direct reference layers69 70 DependencyTypes_1 : # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion71 DependencyTypes_2 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion72 DependencyTypes_3 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion73 DependencyTypes_4 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion74 DependencyTypes_5 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion64 DirectRefLayers_1 : 0 # Indices in VPS of direct reference layers 65 DirectRefLayers_2 : 0 1 # Indices in VPS of direct reference layers 66 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 67 DirectRefLayers_4 : 0 1 # Indices in VPS of direct reference layers 68 DirectRefLayers_5 : 1 4 # Indices in VPS of direct reference layers 69 70 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 71 DependencyTypes_2 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 72 DependencyTypes_3 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 73 DependencyTypes_4 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 74 DependencyTypes_5 : 2 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion 75 75 76 76 #========== Camera parameters ========== … … 252 252 253 253 #========== multiview coding tools ========== 254 IvMvPred 255 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)254 IvMvPredFlag : 1 1 # Inter-view motion prediction 255 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 256 256 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 257 257 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 258 ViewSynthesisPred 259 DepthRefinement 260 IvMvScaling 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 D BBP: 1 # Depth-based Block Partitioning258 ViewSynthesisPredFlag : 1 # View synthesis prediction 259 DepthRefinementFlag : 1 # Disparity refined by depth DoNBDV 260 IvMvScalingFlag : 1 # Interview motion vector scaling 261 Log2SubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 262 Log2MpiSubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for MPI (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 263 DepthBasedBlkPartFlag : 1 # Depth-based Block Partitioning 264 264 265 265 #========== depth coding tools ========== 266 266 VSO : 1 # use of view synthesis optimization for depth coding 267 DMM: 1268 I VP: 1 # use of intra-view prediction mode269 SDC: 1270 DLT : 1271 QTL : 1272 LimQtPredFlag: 1273 InterS DC: 1 # use of inter sdc274 M PI: 1275 SingleDepthMode: 1 # use of single depth mode267 IntraWedgeFlag : 1 268 IntraContourFlag : 1 # use of intra-view prediction mode 269 IntraSdcFlag : 1 270 DLT : 1 271 QTL : 1 272 QtPredFlag : 1 273 InterSdcFlag : 1 # use of inter sdc 274 MpiFlag : 1 275 IntraSingleFlag : 1 # use of single depth mode 276 276 #========== view synthesis optimization (VSO) ========== 277 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 -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/baseCfg_2view+depth.cfg
r1104 r1106 207 207 208 208 #========== multiview coding tools ========== 209 IvMvPred 210 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)209 IvMvPredFlag : 1 1 # Inter-view motion prediction 210 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 211 211 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 212 212 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 213 ViewSynthesisPred 214 DepthRefinement 215 IvMvScaling 216 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 217 SubPUMPILog2Size: 3 # Log2 of sub-PU size for MPI (3...6)218 D BBP: 1 # Depth-based Block Partitioning213 ViewSynthesisPredFlag : 1 # View synthesis prediction 214 DepthRefinementFlag : 1 # Disparity refined by depth DoNBDV 215 IvMvScalingFlag : 1 # Interview motion vector scaling 216 Log2SubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 217 Log2MpiSubPbSizeMinus3 : 3 # Log2 of sub-PU size for MPI (3...6) 218 DepthBasedBlkPartFlag : 1 # Depth-based Block Partitioning 219 219 220 220 #========== depth coding tools ========== 221 VSO : 1 # use of view synthesis optimization for depth coding222 DMM: 1223 I VP: 1 # use of intra-view prediction mode224 SDC: 1225 DLT : 1226 QTL : 1227 LimQtPredFlag: 1228 InterS DC: 1 # use of inter sdc229 M PI: 1230 SingleDepthMode: 1 # use of single depth mode221 VSO : 1 # use of view synthesis optimization for depth coding 222 IntraWedgeFlag : 1 223 IntraContourFlag : 1 # use of intra-view prediction mode 224 IntraSdcFlag : 1 225 DLT : 1 226 QTL : 1 227 QtPredFlag : 1 228 InterSdcFlag : 1 # use of inter sdc 229 MpiFlag : 1 230 IntraSingleFlag : 1 # use of single depth mode 231 231 #========== view synthesis optimization (VSO) ========== 232 232 -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/baseCfg_2view.cfg
r1084 r1106 178 178 179 179 #========== multiview coding tools ========== 180 IvMvPred 181 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)180 IvMvPredFlag : 1 # Inter-view motion prediction 181 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 182 182 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 183 183 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 184 ViewSynthesisPred 185 DepthRefinement 186 IvMvScaling 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 D BBP: 0 # Depth-based Block Partitioning184 ViewSynthesisPredFlag : 1 # View synthesis prediction 185 DepthRefinementFlag : 0 # Disparity refined by depth DoNBDV 186 IvMvScalingFlag : 1 # Interview motion vector scaling 187 Log2SubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 188 Log2MpiSubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for MPI (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 189 DepthBasedBlkPartFlag : 0 # Depth-based Block Partitioning 190 190 191 191 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/baseCfg_3view+depth.cfg
r1104 r1106 66 66 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 67 67 DirectRefLayers_4 : 0 1 # Indices in VPS of direct reference layers 68 DirectRefLayers_5 : 1 2# Indices in VPS of direct reference layers68 DirectRefLayers_5 : 1 4 # Indices in VPS of direct reference layers 69 69 70 70 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion … … 240 240 241 241 #========== multiview coding tools ========== 242 IvMvPred 243 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)242 IvMvPredFlag : 1 1 # Inter-view motion prediction 243 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 244 244 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 245 245 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 246 ViewSynthesisPred 247 DepthRefinement 248 IvMvScaling 249 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 250 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 251 D BBP: 1 # Depth-based Block Partitioning246 ViewSynthesisPredFlag : 1 # View synthesis prediction 247 DepthRefinementFlag : 1 # Disparity refined by depth DoNBDV 248 IvMvScalingFlag : 1 # Interview motion vector scaling 249 Log2SubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 250 Log2MpiSubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for MPI (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 251 DepthBasedBlkPartFlag : 1 # Depth-based Block Partitioning 252 252 253 253 #========== depth coding tools ========== 254 VSO : 1 # use of view synthesis optimization for depth coding255 DMM: 1256 I VP: 1 # use of intra-view prediction mode257 SDC: 1258 DLT : 1259 QTL : 1260 LimQtPredFlag: 1261 InterS DC: 1 # use of inter sdc262 M PI: 1263 SingleDepthMode: 1 # use of single depth mode254 VSO : 1 # use of view synthesis optimization for depth coding 255 IntraWedgeFlag : 1 256 IntraContourFlag : 1 # use of intra-view prediction mode 257 IntraSdcFlag : 1 258 DLT : 1 259 QTL : 1 260 QtPredFlag : 1 261 InterSdcFlag : 1 # use of inter sdc 262 MpiFlag : 1 263 IntraSingleFlag : 1 # use of single depth mode 264 264 #========== view synthesis optimization (VSO) ========== 265 265 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 -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/baseCfg_3view.cfg
r1084 r1106 198 198 199 199 #========== multiview coding tools ========== 200 IvMvPred 201 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)200 IvMvPredFlag : 1 # Inter-view motion prediction 201 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 202 202 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 203 203 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 204 ViewSynthesisPred 205 DepthRefinement 206 IvMvScaling 207 SubPULog2Size : 3 # Log2 of sub-PU size for IvMvPred (2...6) 208 SubPUMPILog2Size : 3 # Log2 of sub-PU size for MPI (3...6) 209 D BBP: 0 # Depth-based Block Partitioning204 ViewSynthesisPredFlag : 1 # View synthesis prediction 205 DepthRefinementFlag : 0 # Disparity refined by depth DoNBDV 206 IvMvScalingFlag : 1 # Interview motion vector scaling 207 Log2SubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for IvMvPred (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 208 Log2MpiSubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for MPI (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 209 DepthBasedBlkPartFlag : 0 # Depth-based Block Partitioning 210 210 211 211 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
branches/HTM-12.2-dev2-HHI/cfg/3D-HEVC/fullCfg.cfg
r1104 r1106 129 129 DirectRefLayers_3 : 1 2 # Indices in VPS of direct reference layers 130 130 DirectRefLayers_4 : 0 1 # Indices in VPS of direct reference layers 131 DirectRefLayers_5 : 1 2# Indices in VPS of direct reference layers131 DirectRefLayers_5 : 1 4 # Indices in VPS of direct reference layers 132 132 133 133 DependencyTypes_1 : 2 # Dependency types of direct reference layers, 0: Sample 1: Motion 2: Sample+Motion … … 316 316 #NumLCUInUnit : 1 # Number of LCU in an Unit. Fraction is not allowed 317 317 #========== multiview coding tools ========== 318 IvMvPred 319 AdvMultiviewResPred: 1 # Advanced inter-view residual prediction (0:off, 1:on)318 IvMvPredFlag : 1 1 # Inter-view motion prediction 319 IvResPredFlag : 1 # Advanced inter-view residual prediction (0:off, 1:on) 320 320 IlluCompEnable : 1 # Enable Illumination compensation ( 0: off, 1: on ) (v/d) 321 321 IlluCompLowLatencyEnc : 0 # Enable low-latency Illumination compensation encoding( 0: off, 1: on ) 322 ViewSynthesisPred 323 DepthRefinement 324 IvMvScaling 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 D BBP: 1 # Depth-based Block Partitioning322 ViewSynthesisPredFlag : 1 # View synthesis prediction 323 DepthRefinementFlag : 1 # Disparity refined by depth DoNBDV 324 IvMvScalingFlag : 1 # Interview motion vector scaling 325 Log2SubPbSizeMinus3 : 3 # Log2 of sub-PU size for IvMvPred (2...6) 326 Log2MpiSubPbSizeMinus3 : 0 # Log2 of sub-PU size minus 3 for MPI (0 ... 3) and smaller than or equal to log2(maxCUSize)-3 327 DepthBasedBlkPartFlag : 1 # Depth-based Block Partitioning 328 328 329 329 #========== depth coding tools ========== 330 330 VSO : 1 # use of view synthesis optimization for depth coding 331 DMM: 1332 I VP: 1 # use of intra-view prediction mode333 SDC: 1334 DLT : 1335 QTL : 1336 LimQtPredFlag: 1337 InterS DC: 1 # use of inter sdc338 M PI: 1339 SingleDepthMode: 1 # use of single depth mode331 IntraWedgeFlag : 1 332 IntraContourFlag : 1 # use of intra-view prediction mode 333 IntraSdcFlag : 1 334 DLT : 1 335 QTL : 1 336 QtPredFlag : 1 337 InterSdcFlag : 1 # use of inter sdc 338 MpiFlag : 1 339 IntraSingleFlag : 1 # use of single depth mode 340 340 #========== view synthesis optimization (VSO) ========== 341 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 -
branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncCfg.cpp
r1104 r1106 377 377 ("DepthFlag", m_depthFlag , std::vector<Int>(1,0), "Depth Flag") 378 378 #if H_3D_DIM 379 #if !HHI_TOOL_PARAMETERS_I2_J0107 379 380 ("DMM", m_useDMM, true, "Depth intra model modes") 380 381 ("IVP", m_useIVP, true, "intra-view prediction") 381 382 ("SDC", m_useSDC, true, "Simplified depth coding") 383 #endif 382 384 ("DLT", m_useDLT, true, "Depth lookup table") 383 385 #endif 384 386 #if H_3D 387 #if !HHI_TOOL_PARAMETERS_I2_J0107 385 388 ("SingleDepthMode", m_useSingleDepthMode, true, "Single depth mode") 389 #endif 386 390 #endif 387 391 #endif … … 534 538 ("DeblockingFilterMetric", m_DeblockingFilterMetric, false ) 535 539 540 #if !HHI_TOOL_PARAMETERS_I2_J0107 536 541 #if H_3D_ARP 537 542 ("AdvMultiviewResPred", m_uiUseAdvResPred, (UInt)1, "Usage of Advanced Residual Prediction" ) … … 541 546 ("SubPUMPILog2Size", m_iSubPUMPILog2Size, (Int)3, "Sub-PU MPI size index: 2^n") 542 547 #endif 548 #endif 543 549 #if H_3D_IC 544 550 ("IlluCompEnable", m_abUseIC, true, "Enable illumination compensation") 545 551 ("IlluCompLowLatencyEnc", m_bUseLowLatencyICEnc, false, "Enable low-latency illumination compensation encoding") 546 552 #endif 553 #if !HHI_TOOL_PARAMETERS_I2_J0107 547 554 #if H_3D_INTER_SDC 548 555 ("InterSDC", m_bDepthInterSDCFlag, true, "Enable depth inter SDC") … … 553 560 #if H_3D_IV_MERGE 554 561 ("MPI", m_bMPIFlag, true, "Enable MPI") 562 #endif 555 563 #endif 556 564 // Coding tools … … 793 801 794 802 #endif //HHI_VSO 803 #if HHI_TOOL_PARAMETERS_I2_J0107 804 ("QTL", m_bUseQTL , true , "Use depth quad tree limitation (encoder only)" ) 805 #else 795 806 #if H_3D_QTLPC 796 807 ("LimQtPredFlag", m_bLimQtPredFlag , true , "Use Predictive Coding with QTL" ) … … 808 819 #if H_3D 809 820 ("IvMvScaling", m_ivMvScalingFlag , true , "inter view motion vector scaling" ) 821 #endif 822 #endif 823 824 #if HHI_TOOL_PARAMETERS_I2_J0107 825 ("IvMvPredFlag" , m_ivMvPredFlag , std::vector< Bool >(2,true) , "Inter-view motion prediction" ) 826 ("IvMvScalingFlag" , m_ivMvScalingFlag , std::vector< Bool >(2,true) , "Inter-view motion vector scaling" ) 827 ("Log2SubPbSizeMinus3" , m_log2SubPbSizeMinus3 , 0 , "Log2 minus 3 of sub Pb size" ) 828 ("IvResPredFlag" , m_ivResPredFlag , true , "Inter-view residual prediction" ) 829 ("DepthRefinementFlag" , m_depthRefinementFlag , true , "Depth to refine disparity" ) 830 ("ViewSynthesisPredFlag" , m_viewSynthesisPredFlag , true , "View synthesis prediction" ) 831 ("DepthBasedBlkPartFlag" , m_depthBasedBlkPartFlag , true , "Depth base block partitioning" ) 832 ("MpiFlag" , m_mpiFlag , true , "Motion inheritance from texture to depth" ) 833 ("Log2MpiSubPbSizeMinus3", m_log2MpiSubPbSizeMinus3, 0 , "Log2 minus 3 of sub Pb size for MPI" ) 834 ("IntraContourFlag" , m_intraContourFlag , true , "Intra contour mode" ) 835 ("IntraWedgeFlag" , m_intraWedgeFlag , true , "Intra wedge mode and segmental depth DCs" ) 836 ("IntraSdcFlag" , m_intraSdcFlag , true , "Intra depth DCs" ) 837 ("QtPredFlag" , m_qtPredFlag , true , "Quad tree prediction from texture to depth") 838 ("InterSdcFlag" , m_interSdcFlag , true , "Inter depth DCs" ) 839 ("IntraSingleFlag" , m_intraSingleFlag , true , "Intra single mode" ) 810 840 #endif 811 841 #endif //H_3D … … 1650 1680 1651 1681 #if H_3D_ARP 1682 #if !HHI_TOOL_PARAMETERS_I2_J0107 1652 1683 xConfirmPara( ( 0 != m_uiUseAdvResPred ) && ( 1 != m_uiUseAdvResPred ), "UseAdvResPred must be 0 or 1." ); 1653 1684 #endif 1685 #endif 1654 1686 #if H_3D_SPIVMP 1687 #if HHI_TOOL_PARAMETERS_I2_J0107 1688 xConfirmPara( m_log2SubPbSizeMinus3 < 0, "Log2SubPbSizeMinus3 must be equal to 0 or greater."); 1689 xConfirmPara( m_log2SubPbSizeMinus3 > 3, "Log2SubPbSizeMinus3 must be equal to 3 or smaller."); 1690 xConfirmPara( (1<< ( m_log2SubPbSizeMinus3 + 3) ) > m_uiMaxCUWidth, "Log2SubPbSizeMinus3 must be equal to log2(maxCUSize)-3 or smaller."); 1691 1692 xConfirmPara( m_log2MpiSubPbSizeMinus3 < 0, "Log2MpiSubPbSizeMinus3 must be equal to 0 or greater."); 1693 xConfirmPara( m_log2MpiSubPbSizeMinus3 > 3, "Log2MpiSubPbSizeMinus3 must be equal to 3 or smaller."); 1694 xConfirmPara( (1<< (m_log2MpiSubPbSizeMinus3 + 3)) > m_uiMaxCUWidth, "Log2MpiSubPbSizeMinus3 must be equal to log2(maxCUSize)-3 or smaller."); 1695 #else 1655 1696 xConfirmPara( m_iSubPULog2Size < 3, "SubPULog2Size must be 3 or greater."); 1656 1697 xConfirmPara( m_iSubPULog2Size > 6, "SubPULog2Size must be 6 or smaller."); … … 1660 1701 xConfirmPara( m_iSubPUMPILog2Size > 6, "SubPUMPILog2Size must be 6 or smaller."); 1661 1702 xConfirmPara( ( 1 << m_iSubPUMPILog2Size ) > m_uiMaxCUWidth, "SubPUMPILog2Size must be log2(maxCUSize) or smaller."); 1703 #endif 1662 1704 #endif 1663 1705 #if ADAPTIVE_QP_SELECTION … … 2606 2648 printf("WVSO:%d ", m_bUseWVSO ); 2607 2649 #endif 2650 2651 #if HHI_TOOL_PARAMETERS_I2_J0107 2652 printf( "QTL:%d " , m_bUseQTL); 2653 printf( "IlluCompEnable:%d " , m_abUseIC); 2654 printf( "IlluCompLowLatencyEnc:%d ", m_bUseLowLatencyICEnc); 2655 printf( "DLT:%d ", m_useDLT ); 2656 2657 2658 printf( "IvMvPred:%d %d " , m_ivMvPredFlag[0], m_ivMvPredFlag[1] ); 2659 printf( "IvMvScaling:%d %d " , m_ivMvScalingFlag[0], m_ivMvScalingFlag[1] ); 2660 2661 printf( "Log2SubPbSizeMinus3:%d " , m_log2SubPbSizeMinus3 ); 2662 printf( "IvResPred:%d " , m_ivResPredFlag ? 1 : 0 ); 2663 printf( "DepthRefinement:%d " , m_depthRefinementFlag ? 1 : 0 ); 2664 printf( "ViewSynthesisPred:%d " , m_viewSynthesisPredFlag ? 1 : 0 ); 2665 printf( "DepthBasedBlkPart:%d " , m_depthBasedBlkPartFlag ? 1 : 0 ); 2666 printf( "Mpi:%d " , m_mpiFlag ? 1 : 0 ); 2667 printf( "Log2MpiSubPbSizeMinus3:%d " , m_log2MpiSubPbSizeMinus3 ); 2668 printf( "IntraContour:%d " , m_intraContourFlag ? 1 : 0 ); 2669 printf( "IntraWedge:%d " , m_intraWedgeFlag ? 1 : 0 ); 2670 printf( "IntraSdc:%d " , m_intraSdcFlag ? 1 : 0 ); 2671 printf( "QtPred:%d " , m_qtPredFlag ? 1 : 0 ); 2672 printf( "InterSdc:%d " , m_interSdcFlag ? 1 : 0 ); 2673 printf( "IntraSingle:%d " , m_intraSingleFlag ? 1 : 0 ); 2674 2675 #else 2608 2676 #if H_3D_QTLPC 2609 2677 printf("LimQtPredFlag:%d ", m_bLimQtPredFlag ? 1 : 0); 2610 2678 printf("QTL:%d ", m_bUseQTL); 2611 2679 #endif 2612 #if H_3D_IV_MERGE 2680 #if H_3D_IV_MERGE 2613 2681 printf("IvMvPred:%d %d", m_ivMvPredFlag[0] ? 1 : 0, m_ivMvPredFlag[1] ? 1 : 0); 2614 2682 #if H_3D_SPIVMP … … 2651 2719 printf( "MPI:%d ", m_bMPIFlag ? 1 : 0 ); 2652 2720 #endif 2721 #endif 2722 2653 2723 printf("\n\n"); 2654 2724 -
branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncCfg.h
r1084 r1106 132 132 Bool m_higherLayerIrapSkipFlag; 133 133 134 134 #if !HHI_TOOL_PARAMETERS_I2_J0107 135 135 #if H_3D_IV_MERGE 136 136 vector<Bool> m_ivMvPredFlag; ///< Interview motion vector prediction 137 137 138 #if H_3D_SPIVMP 138 139 Int m_iSubPULog2Size; … … 147 148 UInt m_uiARPStepNum; 148 149 #endif 150 #endif 151 149 152 #if H_3D_IC 150 153 Bool m_abUseIC; 151 154 Bool m_bUseLowLatencyICEnc; 152 155 #endif 156 157 #if !HHI_TOOL_PARAMETERS_I2_J0107 153 158 #if H_3D_NBDV_REF 154 159 Bool m_depthRefinementFlag; … … 159 164 #if H_3D 160 165 Bool m_ivMvScalingFlag; 166 #endif 161 167 #endif 162 168 #endif … … 486 492 #endif 487 493 #if H_3D_DIM 494 #if !HHI_TOOL_PARAMETERS_I2_J0107 488 495 Bool m_useDMM; ///< flag for using DMM 489 496 Bool m_useIVP; 490 497 Bool m_useSDC; ///< flag for using SDC 498 #endif 491 499 Bool m_useDLT; ///< flag for using DLT 492 500 #endif 501 #if !HHI_TOOL_PARAMETERS_I2_J0107 493 502 #if H_3D_SINGLE_DEPTH 494 503 Bool m_useSingleDepthMode; ///< flag for using single depth mode 495 504 #endif 505 #endif 496 506 #if H_3D_QTLPC 497 507 Bool m_bUseQTL; ///< flag for using depth QuadTree Limitation 498 508 #endif 509 #if !HHI_TOOL_PARAMETERS_I2_J0107 499 510 #if H_3D_INTER_SDC 500 511 Bool m_bDepthInterSDCFlag; ///< flag for inter SDC of depth map coding … … 506 517 Bool m_bMPIFlag; ///< flag for MPI of depth map coding 507 518 #endif 519 #endif 520 521 #if HHI_TOOL_PARAMETERS_I2_J0107 522 std::vector< Bool > m_ivMvPredFlag; 523 std::vector< Bool > m_ivMvScalingFlag; 524 Int m_log2SubPbSizeMinus3; 525 Bool m_ivResPredFlag; 526 Bool m_depthRefinementFlag; 527 Bool m_viewSynthesisPredFlag; 528 Bool m_depthBasedBlkPartFlag; 529 Bool m_mpiFlag; 530 Int m_log2MpiSubPbSizeMinus3; 531 Bool m_intraContourFlag; 532 Bool m_intraWedgeFlag; 533 Bool m_intraSdcFlag; 534 Bool m_qtPredFlag; 535 Bool m_interSdcFlag; 536 Bool m_intraSingleFlag; 537 #endif 538 508 539 #endif 509 540 // internal member functions -
branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncTop.cpp
r1104 r1106 140 140 xSetVPSVUI ( vps ); 141 141 #if H_3D 142 #if !HHI_TOOL_PARAMETERS_I2_J0107 142 143 xSetVPSExtension2 ( vps ); 144 #endif 143 145 m_ivPicLists.setVPS ( &vps ); 144 146 xDeriveDltArray ( vps, dlt ); … … 173 175 vps.printPTL(); 174 176 } 177 178 #if HHI_TOOL_PARAMETERS_I2_J0107 179 #if H_3D 180 // Set 3d tool parameters 181 182 for (Int d = 0; d < 2; d++) 183 { 184 m_sps3dExtension.setIvMvPredFlag ( d, m_ivMvPredFlag[d] ); 185 m_sps3dExtension.setIvMvScalingFlag ( d, m_ivMvScalingFlag[d] ); 186 if (d == 0 ) 187 { 188 m_sps3dExtension.setLog2SubPbSizeMinus3 ( d, m_log2SubPbSizeMinus3 ); 189 m_sps3dExtension.setIvResPredFlag ( d, m_ivResPredFlag ); 190 m_sps3dExtension.setDepthRefinementFlag ( d, m_depthRefinementFlag ); 191 m_sps3dExtension.setViewSynthesisPredFlag ( d, m_viewSynthesisPredFlag ); 192 m_sps3dExtension.setDepthBasedBlkPartFlag ( d, m_depthBasedBlkPartFlag ); 193 } 194 else 195 { 196 m_sps3dExtension.setMpiFlag ( d, m_mpiFlag ); 197 m_sps3dExtension.setLog2MpiSubPbSizeMinus3( d, m_log2MpiSubPbSizeMinus3); 198 m_sps3dExtension.setIntraContourFlag ( d, m_intraContourFlag ); 199 m_sps3dExtension.setIntraSdcWedgeFlag ( d, m_intraSdcFlag || m_intraWedgeFlag ); 200 m_sps3dExtension.setQtPredFlag ( d, m_qtPredFlag ); 201 m_sps3dExtension.setInterSdcFlag ( d, m_interSdcFlag ); 202 m_sps3dExtension.setIntraSingleFlag ( d, m_intraSingleFlag ); 203 } 204 } 205 #endif 206 #endif 175 207 176 208 for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++) … … 216 248 m_cTEncTop.setDWeight ( isDepth ? m_iDWeight : 0 ); 217 249 #endif // H_3D_VSO 250 #if !HHI_TOOL_PARAMETERS_I2_J0107 218 251 #if H_3D_SPIVMP 219 252 m_cTEncTop.setSubPULog2Size (( isDepth || 0==layerIdInVps ) ? 0 : m_iSubPULog2Size ); 220 253 m_cTEncTop.setSubPUMPILog2Size ( !isDepth ? 0 : m_iSubPUMPILog2Size ); 221 254 #endif 255 #endif 222 256 #if H_3D_IC 223 257 m_cTEncTop.setUseIC ( vps.getViewIndex( layerId ) == 0 || isDepth ? false : m_abUseIC ); 224 258 m_cTEncTop.setUseICLowLatencyEnc ( m_bUseLowLatencyICEnc ); 225 259 #endif 226 //========== Depth intra modes ========== 260 261 262 #if HHI_TOOL_PARAMETERS_I2_J0107 263 m_cTEncTop.setUseDMM ( isDepth ? m_intraWedgeFlag : false ); 264 m_cTEncTop.setUseSDC ( isDepth ? m_intraSdcFlag : false ); 265 m_cTEncTop.setUseDLT ( isDepth ? m_useDLT : false ); 266 m_cTEncTop.setUseQTL ( isDepth ? m_bUseQTL : false ); 267 #else 268 //========== Depth intra modes ========== 227 269 #if H_3D_DIM 228 270 m_cTEncTop.setUseDMM ( isDepth ? m_useDMM : false ); 271 #if !HHI_TOOL_PARAMETERS_I2_J0107 229 272 #if H_3D_FCO 230 273 m_cTEncTop.setUseIVP ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_useIVP : false ); … … 232 275 m_cTEncTop.setUseIVP ( isDepth ? m_useIVP : false ); 233 276 #endif 277 #endif 234 278 m_cTEncTop.setUseSDC ( isDepth ? m_useSDC : false ); 279 #endif 280 235 281 m_cTEncTop.setUseDLT ( isDepth ? m_useDLT : false ); 236 #endif 282 237 283 #if H_3D_SINGLE_DEPTH 238 284 m_cTEncTop.setUseSingleDepthMode ( isDepth ? m_useSingleDepthMode : false ); … … 254 300 m_cTEncTop.setUseMPI ( isDepth ? m_bMPIFlag : false ); 255 301 #endif 302 #endif 303 #endif 304 305 306 #if HHI_TOOL_PARAMETERS_I2_J0107 307 m_cTEncTop.setSps3dExtension ( m_sps3dExtension ); 256 308 #endif 257 309 #endif // H_3D … … 1436 1488 else 1437 1489 { 1490 #if HHI_TOOL_PARAMETERS_I2_J0107 1491 if( m_depthFlag[ curLayerIdInVps ] && ( m_mpiFlag|| m_qtPredFlag || m_intraContourFlag ) ) 1492 #else 1438 1493 if( m_depthFlag[ curLayerIdInVps ] && ( m_bMPIFlag || m_bLimQtPredFlag || m_useIVP ) ) 1494 #endif 1439 1495 { 1440 1496 Int nuhLayerIdTex = vps.getLayerIdInNuh( vps.getViewIndex( curLayerIdInNuh ), false ); … … 1444 1500 } 1445 1501 } 1446 1502 #if HHI_TOOL_PARAMETERS_I2_J0107 1503 if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0 && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_depthBasedBlkPartFlag ) ) 1504 #else 1447 1505 if( !m_depthFlag[ curLayerIdInVps ] && vps.getNumRefListLayers( curLayerIdInNuh) > 0 && ( m_depthRefinementFlag || m_viewSynthesisPredFlag || m_bUseDBBP) ) 1506 #endif 1448 1507 { 1449 1508 Int maxPresentTid =-1; … … 2148 2207 2149 2208 #if H_3D 2209 #if HHI_TOOL_PARAMETERS_I2_J0107 2210 #else 2150 2211 Void TAppEncTop::xSetVPSExtension2( TComVPS& vps ) 2151 2212 { … … 2230 2291 } 2231 2292 } 2293 #endif 2232 2294 2233 2295 Void TAppEncTop::xDeriveDltArray( TComVPS& vps, TComDLT& dlt ) -
branches/HTM-12.2-dev2-HHI/source/App/TAppEncoder/TAppEncTop.h
r1084 r1106 92 92 #if H_3D 93 93 TComDLT m_dlt; ///< dlt 94 #if HHI_TOOL_PARAMETERS_I2_J0107 95 TComSps3dExtension m_sps3dExtension; ///< Currently all layers share the same sps 3D Extension 96 #endif 94 97 #endif 95 98 … … 146 149 #endif 147 150 #if H_3D 151 #if !HHI_TOOL_PARAMETERS_I2_J0107 148 152 Void xSetVPSExtension2( TComVPS& vps ); 153 #endif 149 154 Void xDeriveDltArray( TComVPS& vps, TComDLT& dlt ); 150 155 #endif -
branches/HTM-12.2-dev2-HHI/source/Lib/TAppCommon/TAppComCamPara.cpp
r655 r1106 1203 1203 m_uiCamParsCodedPrecision = uiCodedCamParsPrecision; 1204 1204 m_iLog2Precision = iLog2Precision; 1205 #if !HHI_TOOL_PARAMETERS_I2_J0107 1205 1206 #if HHI_INTERVIEW_SKIP 1206 1207 m_iCurrentFrameId = 0 ; 1208 #endif 1207 1209 #endif 1208 1210 -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComDataCU.cpp
r1098 r1106 2425 2425 Bool depthRefineFlag = false; 2426 2426 #if H_3D_NBDV_REF 2427 #if HHI_TOOL_PARAMETERS_I2_J0107 2428 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 2429 #else 2427 2430 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ); 2431 #endif 2428 2432 #endif // H_3D_NBDV_REF 2429 2433 … … 3336 3340 inline Bool TComDataCU::xAddVspCand( Int mrgCandIdx, DisInfo* pDInfo, Int& iCount) 3337 3341 { 3342 #if HHI_TOOL_PARAMETERS_I2_J0107 3343 if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getViewSynthesisPredFlag( ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1) 3344 #else 3338 3345 if ( m_pcSlice->getViewIndex() == 0 || !m_pcSlice->getVPS()->getViewSynthesisPredFlag( m_pcSlice->getLayerIdInVps() ) || m_pcSlice->getIsDepth() || pDInfo->m_aVIdxCan == -1) 3346 #endif 3339 3347 { 3340 3348 return false; … … 3950 3958 deriveLeftBottomIdxGeneral ( uiAbsPartIdx, uiPUIdx, uiPartIdxLB ); 3951 3959 #if H_3D 3960 #if HHI_TOOL_PARAMETERS_I2_J0107 3961 Bool bMPIFlag = getSlice()->getMpiFlag(); 3962 #else 3952 3963 Bool bMPIFlag = getSlice()->getVPS()->getMPIFlag( getSlice()->getLayerIdInVps() ); 3964 #endif 3953 3965 Bool bIsDepth = getSlice()->getIsDepth(); 3954 3966 #endif … … 4429 4441 Int ivCandDir [4] = {0, 0, 0, 0}; 4430 4442 4443 #if HHI_TOOL_PARAMETERS_I2_J0107 4444 Bool ivMvPredFlag = getSlice()->getIvMvPredFlag(); 4445 #else 4431 4446 Bool ivMvPredFlag = getSlice()->getVPS()->getIvMvPredFlag( getSlice()->getLayerIdInVps() ); 4447 #endif 4432 4448 4433 4449 ivMvPredFlag &= (nPSW + nPSH > 12); … … 6000 6016 iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId ); 6001 6017 6018 #if HHI_TOOL_PARAMETERS_I2_J0107 6019 if ( iScale != 4096 && m_pcSlice->getIvMvScalingFlag( ) ) 6020 #else 6002 6021 if ( iScale != 4096 && m_pcSlice->getVPS()->getIvMvScalingFlag(getSlice()->getLayerIdInVps()) ) 6022 #endif 6003 6023 { 6004 6024 rcMv = cColMv.scaleMv( iScale ); … … 6188 6208 Int iViewIdx = getSlice()->getDefaultRefViewIdx(); 6189 6209 pDisp->m_aVIdxCan = iViewIdx; 6210 #if HHI_TOOL_PARAMETERS_I2_J0107 6211 Int iDisp = getSlice()->getDepthToDisparityB( iViewIdx )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ]; 6212 #else 6190 6213 Int iDisp = getSlice()->getDepthToDisparityB( iViewIdx )[ 1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ]; 6214 #endif 6191 6215 6192 6216 cMv.setHor(iDisp); … … 6301 6325 } 6302 6326 #if H_3D_NBDV_REF 6327 #if HHI_TOOL_PARAMETERS_I2_J0107 6328 if( !m_pcSlice->getDepthRefinementFlag( ) ) 6329 #else 6303 6330 if( !m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ) ) 6331 #endif 6304 6332 { 6305 6333 bDepthRefine = false; … … 6804 6832 Bool depthRefineFlag = false; 6805 6833 #if H_3D_NBDV_REF 6834 #if HHI_TOOL_PARAMETERS_I2_J0107 6835 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 6836 #else 6806 6837 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ); 6838 #endif 6807 6839 #endif // H_3D_NBDV_REF 6808 6840 … … 6862 6894 Void TComDataCU::getSPPara(Int iPUWidth, Int iPUHeight, Int& iNumSP, Int& iNumSPInOneLine, Int& iSPWidth, Int& iSPHeight) 6863 6895 { 6896 #if HHI_TOOL_PARAMETERS_I2_J0107 6897 Int iSubPUSize = ( getSlice()->getIsDepth() ? getSlice()->getMpiSubPbSize() : getSlice()->getSubPbSize() ); 6898 #else 6864 6899 Int iSubPUSize = 1<<getSlice()->getVPS()->getSubPULog2Size(getSlice()->getLayerId()); 6865 6900 if( getSlice()->getIsDepth() ) … … 6867 6902 iSubPUSize = 1<<getSlice()->getVPS()->getSubPUMPILog2Size(getSlice()->getLayerId()); 6868 6903 } 6904 #endif 6869 6905 6870 6906 iNumSPInOneLine = iPUWidth/iSubPUSize; … … 6945 6981 Bool depthRefineFlag = false; 6946 6982 #if H_3D_NBDV_REF 6983 #if HHI_TOOL_PARAMETERS_I2_J0107 6984 depthRefineFlag = m_pcSlice->getDepthRefinementFlag( ); 6985 #else 6947 6986 depthRefineFlag = m_pcSlice->getVPS()->getDepthRefinementFlag( m_pcSlice->getLayerIdInVps() ); 6987 #endif 6948 6988 #endif // H_3D_NBDV_REF 6949 6989 -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.cpp
r1104 r1106 1959 1959 #if H_3D 1960 1960 m_viewIndex [i] = -1; 1961 #if !HHI_TOOL_PARAMETERS_I2_J0107 1961 1962 m_vpsDepthModesFlag [i] = false; 1962 1963 m_ivMvScalingFlag[i] = true; 1963 1964 m_bIVPFlag [i] = false; 1965 #endif 1964 1966 #endif 1965 1967 … … 1985 1987 } 1986 1988 #if H_3D_ARP 1989 #if !HHI_TOOL_PARAMETERS_I2_J0107 1987 1990 m_uiUseAdvResPred[i] = 0; 1988 1991 m_uiARPStepNum[i] = 1; 1989 1992 #endif 1993 #endif 1990 1994 } 1991 1995 m_vpsVUI = new TComVPSVUI; 1992 1996 m_dpbSize = new TComDpbSize; 1993 1997 1998 #if !HHI_TOOL_PARAMETERS_I2_J0107 1994 1999 #if H_3D 1995 2000 for( Int i = 0; i < MAX_NUM_LAYERS; i++ ) … … 2024 2029 } 2025 2030 #endif 2031 #endif 2032 2026 2033 #endif 2027 2034 } … … 3776 3783 { 3777 3784 Bool tempRefPicInListsFlag = false; 3785 #if HHI_TOOL_PARAMETERS_I2_J0107 3786 if( !getIvResPredFlag() || this->isIRAP()) 3787 #else 3778 3788 if(!getVPS()->getUseAdvRP(getLayerId()) || this->isIRAP()) 3789 #endif 3779 3790 { 3780 3791 m_nARPStepNum = 0; … … 3809 3820 tempRefPicInListsFlag = getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0; 3810 3821 #endif 3822 #if HHI_TOOL_PARAMETERS_I2_J0107 3823 m_nARPStepNum = tempRefPicInListsFlag ? H_3D_ARP_WFNR : 0; 3824 #else 3811 3825 m_nARPStepNum = tempRefPicInListsFlag ? getVPS()->getARPStepNum(getLayerId()) : 0; 3826 #endif 3812 3827 } 3813 3828 … … 3994 4009 3995 4010 #if H_3D_VSP 4011 #if HHI_TOOL_PARAMETERS_I2_J0107 4012 setupLUT = setupLUT || getViewSynthesisPredFlag( ); 4013 #else 3996 4014 setupLUT = setupLUT || getVPS()->getViewSynthesisPredFlag( layerIdInVPS); 3997 4015 #endif 4016 #endif 3998 4017 3999 4018 #if H_3D_NBDV_REF 4019 #if HHI_TOOL_PARAMETERS_I2_J0107 4020 setupLUT = setupLUT || getDepthRefinementFlag( ); 4021 #else 4000 4022 setupLUT = setupLUT || getVPS()->getDepthRefinementFlag( layerIdInVPS ); 4023 #endif 4001 4024 #endif 4002 4025 4003 4026 #if H_3D_IV_MERGE 4027 #if HHI_TOOL_PARAMETERS_I2_J0107 4028 setupLUT = setupLUT || getIvMvPredFlag() && getIsDepth() ; 4029 #else 4004 4030 setupLUT = setupLUT || ( getVPS()->getIvMvPredFlag(layerIdInVPS ) && getIsDepth() ); 4031 #endif 4005 4032 #endif 4006 4033 … … 4183 4210 #endif 4184 4211 #endif 4212 4213 #if HHI_TOOL_PARAMETERS_I2_J0107 4214 #if H_3D 4215 4216 Void TComSlice::init3dToolParameters() 4217 { 4218 Bool depthFlag = getIsDepth(); 4219 4220 Bool depthOfRefViewsAvailFlag = false; 4221 Bool textOfCurViewAvailFlag = false; 4222 4223 TComVPS* vps = getVPS(); 4224 4225 if( !depthFlag ) 4226 { 4227 depthOfRefViewsAvailFlag = true; 4228 for( Int i = 0; i <= vps->getNumRefListLayers( getLayerId() ) - 1; i++) 4229 { 4230 Bool curDepthAvailableFlag = false; 4231 for (Int j = 0; j <= vps->getMaxLayersMinus1(); j++ ) 4232 { 4233 if ( vps->getDirectDependencyFlag( vps->getLayerIdInVps( getLayerId() ), j ) 4234 && vps->getVpsDepthFlag ( vps->getLayerIdInNuh( j ) ) == 1 4235 && vps->getViewOrderIdx( vps->getLayerIdInNuh( j ) ) == vps->getViewOrderIdx( vps->getIdRefListLayer( getLayerId(), i ) ) 4236 && vps->getDependencyId( vps->getLayerIdInNuh( j ) ) == 0 4237 && vps->getAuxId ( vps->getLayerIdInNuh( j ) ) == 0 4238 ) 4239 { 4240 curDepthAvailableFlag = true; 4241 } 4242 } 4243 if ( !curDepthAvailableFlag ) 4244 { 4245 depthOfRefViewsAvailFlag = false; 4246 } 4247 } 4248 } 4249 else 4250 { 4251 for (Int j = 0; j <= vps->getMaxLayersMinus1(); j++ ) 4252 { 4253 if ( vps->getDirectDependencyFlag( vps->getLayerIdInVps( getLayerId() ), j ) 4254 && vps->getVpsDepthFlag( vps->getLayerIdInNuh( j ) ) == 0 4255 && vps->getViewOrderIdx( vps->getLayerIdInNuh( j ) ) == getViewIndex() 4256 && vps->getDependencyId( vps->getLayerIdInNuh( j ) ) == 0 4257 && vps->getAuxId ( vps->getLayerIdInNuh( j ) ) == 0 4258 ) 4259 { 4260 textOfCurViewAvailFlag = true; 4261 } 4262 } 4263 } 4264 4265 Bool lidG0 = ( getLayerId() > 0 ); 4266 Bool nRLLG0 = ( getVPS()->getNumRefListLayers( getLayerId() ) > 0 ); 4267 4268 TComSps3dExtension* sps3dExt = getSPS()->getSps3dExtension(); 4269 4270 m_ivMvPredFlag = sps3dExt->getIvMvPredFlag ( depthFlag ) && lidG0 && nRLLG0 ; 4271 m_ivMvScalingFlag = sps3dExt->getIvMvScalingFlag ( depthFlag ) && lidG0 ; 4272 m_ivResPredFlag = sps3dExt->getIvResPredFlag ( depthFlag ) && lidG0 && nRLLG0 ; 4273 m_depthRefinementFlag = sps3dExt->getDepthRefinementFlag ( depthFlag ) && lidG0 && depthOfRefViewsAvailFlag; 4274 m_viewSynthesisPredFlag = sps3dExt->getViewSynthesisPredFlag( depthFlag ) && lidG0 && nRLLG0 && depthOfRefViewsAvailFlag; 4275 m_depthBasedBlkPartFlag = sps3dExt->getDepthBasedBlkPartFlag( depthFlag ) && lidG0 && depthOfRefViewsAvailFlag; 4276 m_mpiFlag = sps3dExt->getMpiFlag ( depthFlag ) && lidG0 && textOfCurViewAvailFlag; 4277 m_intraContourFlag = sps3dExt->getIntraContourFlag ( depthFlag ) && lidG0 && textOfCurViewAvailFlag; 4278 m_intraSdcWedgeFlag = sps3dExt->getIntraSdcWedgeFlag ( depthFlag ) && lidG0 ; 4279 m_qtPredFlag = sps3dExt->getQtPredFlag ( depthFlag ) && lidG0 && textOfCurViewAvailFlag; 4280 m_interSdcFlag = sps3dExt->getInterSdcFlag ( depthFlag ) && lidG0 ; 4281 m_intraSingleFlag = sps3dExt->getIntraSingleFlag ( depthFlag ) && lidG0 ; 4282 4283 m_subPbSize = lidG0 ? ( 1 << ( sps3dExt->getLog2SubPbSizeMinus3 ( depthFlag ) + 3 ) ) : getSPS()->getMaxCUWidth(); 4284 m_mpiSubPbSize = 1 << ( sps3dExt->getLog2MpiSubPbSizeMinus3( depthFlag ) + 3 ); 4285 4286 #if H_3D_OUTPUT_ACTIVE_TOOLS 4287 std::cout << "Layer: :" << getLayerId() << std::endl; 4288 std::cout << "DepthFlag: :" << getIsDepth() << std::endl; 4289 std::cout << "ViewOrderIdx: :" << getViewIndex() << std::endl; 4290 std::cout << "DepthOfRefViewsAvailFlag:" << depthOfRefViewsAvailFlag << std::endl; 4291 std::cout << "TextOfCurViewAvailFlag :" << textOfCurViewAvailFlag << std::endl; 4292 4293 std::cout << "ivMvPredFlag :" << m_ivMvPredFlag << std::endl; 4294 std::cout << "ivMvScalingFlag :" << m_ivMvScalingFlag << std::endl; 4295 std::cout << "ivResPredFlag :" << m_ivResPredFlag << std::endl; 4296 std::cout << "depthRefinementFlag :" << m_depthRefinementFlag << std::endl; 4297 std::cout << "viewSynthesisPredFlag :" << m_viewSynthesisPredFlag << std::endl; 4298 std::cout << "depthBasedBlkPartFlag :" << m_depthBasedBlkPartFlag << std::endl; 4299 std::cout << "mpiFlag :" << m_mpiFlag << std::endl; 4300 std::cout << "intraContourFlag :" << m_intraContourFlag << std::endl; 4301 std::cout << "intraSdcWedgeFlag :" << m_intraSdcWedgeFlag << std::endl; 4302 std::cout << "qtPredFlag :" << m_qtPredFlag << std::endl; 4303 std::cout << "interSdcFlag :" << m_interSdcFlag << std::endl; 4304 std::cout << "intraSingleFlag :" << m_intraSingleFlag << std::endl; 4305 std::cout << "subPbSize :" << m_subPbSize << std::endl; 4306 std::cout << "mpiSubPbSize :" << m_mpiSubPbSize << std::endl; 4307 #endif 4308 } 4309 #endif 4310 #endif 4311 4185 4312 4186 4313 /** get scaling matrix from RefMatrixID -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TComSlice.h
r1103 r1106 916 916 Void xSetRefLayerFlags( Int currLayerId ); 917 917 // VPS EXTENSION 2 SYNTAX ELEMENTS 918 #if !HHI_TOOL_PARAMETERS_I2_J0107 918 919 #if H_3D_ARP 919 920 UInt m_uiUseAdvResPred [MAX_NUM_LAYERS ]; … … 941 942 Bool m_bIVPFlag [MAX_NUM_LAYERS ]; 942 943 #endif 944 #endif 943 945 #if H_3D 944 946 UInt m_uiCamParPrecision; … … 948 950 Int ***m_aaaiCodedOffset; 949 951 #endif 952 #if !HHI_TOOL_PARAMETERS_I2_J0107 950 953 #if H_3D_INTER_SDC 951 954 Bool m_bInterSDCFlag[MAX_NUM_LAYERS ]; … … 956 959 #if H_3D_IV_MERGE 957 960 Bool m_bMPIFlag[MAX_NUM_LAYERS ]; 961 #endif 958 962 #endif 959 963 … … 1300 1304 #if H_3D 1301 1305 Int getDepthId ( Int layerIdInNuh) { return getScalabilityId( getLayerIdInVps(layerIdInNuh), DEPTH_ID ); } 1306 #if HHI_TOOL_PARAMETERS_I2_J0107 1307 Bool getVpsDepthFlag( Int layerIdInNuh) { return (getDepthId( layerIdInNuh ) > 0); } 1308 Int getViewOrderIdx( Int layerIdInNuh) { return getViewIndex( layerIdInNuh ); }; 1309 #endif 1302 1310 Int getLayerIdInNuh( Int viewIndex, Bool depthFlag ); 1303 1311 1312 #if !HHI_TOOL_PARAMETERS_I2_J0107 1304 1313 #if H_3D_ARP 1305 1314 UInt getUseAdvRP ( Int layerIdInVps ) { return m_uiUseAdvResPred[layerIdInVps]; } … … 1307 1316 Void setUseAdvRP ( Int layerIdInVps, UInt val ) { m_uiUseAdvResPred[layerIdInVps] = val; } 1308 1317 Void setARPStepNum( Int layerIdInVps, UInt val ) { m_uiARPStepNum[layerIdInVps] = val; } 1318 #endif 1309 1319 #endif 1310 1320 … … 1322 1332 Int* getInvCodedOffset ( Int viewIndex ) { return m_aaaiCodedOffset[viewIndex][1]; } 1323 1333 1334 #if !HHI_TOOL_PARAMETERS_I2_J0107 1324 1335 #if H_3D_IV_MERGE 1325 1336 Void setIvMvPredFlag ( Int layerIdInVps, Bool val ) { m_ivMvPredFlag[ layerIdInVps ] = val; } … … 1366 1377 #endif 1367 1378 #endif 1379 #endif 1368 1380 #endif 1369 1381 }; … … 1631 1643 }; 1632 1644 1645 #if HHI_TOOL_PARAMETERS_I2_J0107 1646 #if H_3D 1647 class TComSps3dExtension 1648 { 1649 public: 1650 TComSps3dExtension() 1651 { 1652 for (Int d = 0; d < 2; d++) 1653 { 1654 m_ivMvPredFlag [d] = false; 1655 m_ivMvScalingFlag [d] = false; 1656 m_log2SubPbSizeMinus3 [d] = 3; 1657 m_ivResPredFlag [d] = false; 1658 m_depthRefinementFlag [d] = false; 1659 m_viewSynthesisPredFlag [d] = false; 1660 m_depthBasedBlkPartFlag [d] = false; 1661 m_mpiFlag [d] = false; 1662 m_log2MpiSubPbSizeMinus3[d] = 3; 1663 m_intraContourFlag [d] = false; 1664 m_intraSdcWedgeFlag [d] = false; 1665 m_qtPredFlag [d] = false; 1666 m_interSdcFlag [d] = false; 1667 m_intraSingleFlag [d] = false; 1668 } 1669 } 1670 1671 Void setIvMvPredFlag( Int d, Bool flag ) { m_ivMvPredFlag[d] = flag; } 1672 Bool getIvMvPredFlag( Int d ) { return m_ivMvPredFlag[d]; } 1673 1674 Void setIvMvScalingFlag( Int d, Bool flag ) { m_ivMvScalingFlag[d] = flag; } 1675 Bool getIvMvScalingFlag( Int d ) { return m_ivMvScalingFlag[d]; } 1676 1677 Void setLog2SubPbSizeMinus3( Int d, Int val ) { m_log2SubPbSizeMinus3[d] = val; } 1678 Int getLog2SubPbSizeMinus3( Int d ) { return m_log2SubPbSizeMinus3[d]; } 1679 1680 Void setIvResPredFlag( Int d, Bool flag ) { m_ivResPredFlag[d] = flag; } 1681 Bool getIvResPredFlag( Int d ) { return m_ivResPredFlag[d]; } 1682 1683 Void setDepthRefinementFlag( Int d, Bool flag ) { m_depthRefinementFlag[d] = flag; } 1684 Bool getDepthRefinementFlag( Int d ) { return m_depthRefinementFlag[d]; } 1685 1686 Void setViewSynthesisPredFlag( Int d, Bool flag ) { m_viewSynthesisPredFlag[d] = flag; } 1687 Bool getViewSynthesisPredFlag( Int d ) { return m_viewSynthesisPredFlag[d]; } 1688 1689 Void setDepthBasedBlkPartFlag( Int d, Bool flag ) { m_depthBasedBlkPartFlag[d] = flag; } 1690 Bool getDepthBasedBlkPartFlag( Int d ) { return m_depthBasedBlkPartFlag[d]; } 1691 1692 Void setMpiFlag( Int d, Bool flag ) { m_mpiFlag[d] = flag; } 1693 Bool getMpiFlag( Int d ) { return m_mpiFlag[d]; } 1694 1695 Void setLog2MpiSubPbSizeMinus3( Int d, Int val ) { m_log2MpiSubPbSizeMinus3[d] = val; } 1696 Int getLog2MpiSubPbSizeMinus3( Int d ) { return m_log2MpiSubPbSizeMinus3[d]; } 1697 1698 Void setIntraContourFlag( Int d, Bool flag ) { m_intraContourFlag[d] = flag; } 1699 Bool getIntraContourFlag( Int d ) { return m_intraContourFlag[d]; } 1700 1701 Void setIntraSdcWedgeFlag( Int d, Bool flag ) { m_intraSdcWedgeFlag[d] = flag; } 1702 Bool getIntraSdcWedgeFlag( Int d ) { return m_intraSdcWedgeFlag[d]; } 1703 1704 Void setQtPredFlag( Int d, Bool flag ) { m_qtPredFlag[d] = flag; } 1705 Bool getQtPredFlag( Int d ) { return m_qtPredFlag[d]; } 1706 1707 Void setInterSdcFlag( Int d, Bool flag ) { m_interSdcFlag[d] = flag; } 1708 Bool getInterSdcFlag( Int d ) { return m_interSdcFlag[d]; } 1709 1710 Void setIntraSingleFlag( Int d, Bool flag ) { m_intraSingleFlag[d] = flag; } 1711 Bool getIntraSingleFlag( Int d ) { return m_intraSingleFlag[d]; } 1712 1713 private: 1714 1715 Bool m_ivMvPredFlag [2]; 1716 Bool m_ivMvScalingFlag [2]; 1717 Int m_log2SubPbSizeMinus3 [2]; 1718 Bool m_ivResPredFlag [2]; 1719 Bool m_depthRefinementFlag [2]; 1720 Bool m_viewSynthesisPredFlag [2]; 1721 Bool m_depthBasedBlkPartFlag [2]; 1722 Bool m_mpiFlag [2]; 1723 Int m_log2MpiSubPbSizeMinus3[2]; 1724 Bool m_intraContourFlag [2]; 1725 Bool m_intraSdcWedgeFlag [2]; 1726 Bool m_qtPredFlag [2]; 1727 Bool m_interSdcFlag [2]; 1728 Bool m_intraSingleFlag [2]; 1729 }; 1730 1731 #endif 1732 #endif 1733 1633 1734 /// SPS class 1634 1735 class TComSPS … … 1730 1831 #endif 1731 1832 #if H_3D 1833 #if HHI_TOOL_PARAMETERS_I2_J0107 1834 TComSps3dExtension m_sps3dExtension; 1835 #endif 1732 1836 UInt m_uiCamParPrecision; 1733 1837 Bool m_bCamParInSliceHeader; … … 1903 2007 Void setSpsRepFormatIdx( Int val ) { m_spsRepFormatIdx = val; } 1904 2008 Int getSpsRepFormatIdx( ) { return m_spsRepFormatIdx; } 1905 // SPS Extension 2009 2010 // SPS Extension 1906 2011 Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; } 1907 2012 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;} 2013 2014 #if HHI_TOOL_PARAMETERS_I2_J0107 2015 #if H_3D 2016 Void setSps3dExtension ( TComSps3dExtension& sps3dExtension ) { m_sps3dExtension = sps3dExtension; } 2017 TComSps3dExtension* getSps3dExtension ( ) { return &m_sps3dExtension; } 2018 #endif 2019 #endif 1908 2020 1909 2021 // Inference … … 2378 2490 Int m_iDefaultRefViewIdx; 2379 2491 Bool m_bDefaultRefViewIdxAvailableFlag; 2492 #endif 2493 2494 #if HHI_TOOL_PARAMETERS_I2_J0107 2495 Bool m_ivMvPredFlag ; 2496 Bool m_ivMvScalingFlag ; 2497 Bool m_ivResPredFlag ; 2498 Bool m_depthRefinementFlag ; 2499 Bool m_viewSynthesisPredFlag; 2500 Bool m_depthBasedBlkPartFlag; 2501 Bool m_mpiFlag ; 2502 Bool m_intraContourFlag ; 2503 Bool m_intraSdcWedgeFlag ; 2504 Bool m_qtPredFlag ; 2505 Bool m_interSdcFlag ; 2506 Bool m_intraSingleFlag ; 2507 2508 Int m_mpiSubPbSize ; 2509 Int m_subPbSize ; 2380 2510 #endif 2381 2511 public: … … 2689 2819 Int* getDepthToDisparityB( Int refViewIdx ) { return m_depthToDisparityB[ refViewIdx ]; }; 2690 2820 Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; }; 2821 #if !HHI_TOOL_PARAMETERS_I2_J0107 2691 2822 Bool getVpsDepthModesFlag () { return getVPS()->getVpsDepthModesFlag( getVPS()->getLayerIdInVps( m_layerId ) ); } 2692 2823 Bool getIVPFlag () { return getVPS()->getIVPFlag( getVPS()->getLayerIdInVps( m_layerId ) ); } 2824 #endif 2693 2825 #endif 2694 2826 #if H_3D_IC … … 2794 2926 TComPic* getPicFromRefPicSetInterLayer( Int setIdc, Int layerId ); 2795 2927 2928 2929 #if HHI_TOOL_PARAMETERS_I2_J0107 2930 #if H_3D 2931 // 3D-HEVC tool parameters 2932 Void init3dToolParameters(); 2933 Bool getIvMvPredFlag ( ) { return m_ivMvPredFlag ; }; 2934 Bool getIvMvScalingFlag ( ) { return m_ivMvScalingFlag ; }; 2935 Bool getIvResPredFlag ( ) { return m_ivResPredFlag ; }; 2936 Bool getDepthRefinementFlag ( ) { return m_depthRefinementFlag ; }; 2937 Bool getViewSynthesisPredFlag ( ) { return m_viewSynthesisPredFlag ; }; 2938 Bool getDepthBasedBlkPartFlag ( ) { return m_depthBasedBlkPartFlag ; }; 2939 Bool getMpiFlag ( ) { return m_mpiFlag ; }; 2940 Bool getIntraContourFlag ( ) { return m_intraContourFlag ; }; 2941 Bool getIntraSdcWedgeFlag ( ) { return m_intraSdcWedgeFlag ; }; 2942 Bool getQtPredFlag ( ) { return m_qtPredFlag ; }; 2943 Bool getInterSdcFlag ( ) { return m_interSdcFlag ; }; 2944 Bool getIntraSingleFlag ( ) { return m_intraSingleFlag ; }; 2945 2946 Int getMpiSubPbSize ( ) { return m_mpiSubPbSize ; }; 2947 Int getSubPbSize ( ) { return m_subPbSize ; }; 2948 #endif 2949 #endif 2950 2951 2796 2952 // Inference 2797 2953 Bool inferPocMsbValPresentFlag(); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibCommon/TypeDef.h
r1104 r1106 296 296 #if H_3D 297 297 #define HHI_DEPENDENCY_SIGNALLING_I1_J0107 1 298 #define HHI_TOOL_PARAMETERS_I2_J0107 1 298 299 #endif 299 300 #define H_MV_FIX_REF_LAYER_PIC_FLAG 1 300 301 #define H_3D_OUTPUT_ACTIVE_TOOLS 0 301 302 302 303 ///// ***** SINGLE DEPTH MODE ********* -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1103 r1106 721 721 } 722 722 723 #if HHI_TOOL_PARAMETERS_I2_J0107 724 Void TDecCavlc::parseSPS(TComSPS* pcSPS) 725 #else 723 726 #if H_3D 724 727 Void TDecCavlc::parseSPS(TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) 725 728 #else 726 729 Void TDecCavlc::parseSPS(TComSPS* pcSPS) 730 #endif 727 731 #endif 728 732 { … … 993 997 if ( pcSPS->getSps3dExtensionFlag() ) 994 998 { 999 #if HHI_TOOL_PARAMETERS_I2_J0107 1000 parseSPS3dExtension( pcSPS ); 1001 #else 995 1002 parseSPSExtension2( pcSPS, viewIndex, depthFlag ); 1003 #endif 996 1004 } 997 1005 … … 1020 1028 1021 1029 #if H_3D 1030 #if HHI_TOOL_PARAMETERS_I2_J0107 1031 Void TDecCavlc::parseSPS3dExtension( TComSPS* pcSPS ) 1032 { 1033 TComSps3dExtension* sps3dExt = pcSPS->getSps3dExtension(); 1034 UInt uiCode; 1035 for( Int d = 0; d <= 1; d++ ) 1036 { 1037 READ_FLAG( uiCode, "iv_mv_pred_flag" ); sps3dExt->setIvMvPredFlag( d, uiCode == 1 ); 1038 READ_FLAG( uiCode, "iv_mv_scaling_flag" ); sps3dExt->setIvMvScalingFlag( d, uiCode == 1 ); 1039 if( d == 0 ) 1040 { 1041 READ_UVLC( uiCode, "log2_sub_pb_size_minus3" ); sps3dExt->setLog2SubPbSizeMinus3( d, uiCode ); 1042 READ_FLAG( uiCode, "iv_res_pred_flag" ); sps3dExt->setIvResPredFlag( d, uiCode == 1 ); 1043 READ_FLAG( uiCode, "depth_refinement_flag" ); sps3dExt->setDepthRefinementFlag( d, uiCode == 1 ); 1044 READ_FLAG( uiCode, "view_synthesis_pred_flag" ); sps3dExt->setViewSynthesisPredFlag( d, uiCode == 1 ); 1045 READ_FLAG( uiCode, "depth_based_blk_part_flag" ); sps3dExt->setDepthBasedBlkPartFlag( d, uiCode == 1 ); 1046 } 1047 else 1048 { 1049 READ_FLAG( uiCode, "mpi_flag" ); sps3dExt->setMpiFlag( d, uiCode == 1 ); 1050 READ_UVLC( uiCode, "log2_mpi_sub_pb_size_minus3" ); sps3dExt->setLog2MpiSubPbSizeMinus3( d, uiCode ); 1051 READ_FLAG( uiCode, "intra_contour_flag" ); sps3dExt->setIntraContourFlag( d, uiCode == 1 ); 1052 READ_FLAG( uiCode, "intra_sdc_wedge_flag" ); sps3dExt->setIntraSdcWedgeFlag( d, uiCode == 1 ); 1053 READ_FLAG( uiCode, "qt_pred_flag" ); sps3dExt->setQtPredFlag( d, uiCode == 1 ); 1054 READ_FLAG( uiCode, "inter_sdc_flag" ); sps3dExt->setInterSdcFlag( d, uiCode == 1 ); 1055 READ_FLAG( uiCode, "intra_single_flag" ); sps3dExt->setIntraSingleFlag( d, uiCode == 1 ); 1056 } 1057 } 1058 } 1059 #else 1022 1060 Void TDecCavlc::parseSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) 1023 1061 { 1024 1062 1025 1063 } 1064 #endif 1026 1065 #endif 1027 1066 … … 1841 1880 { 1842 1881 UInt uiCode; 1882 1883 #if !HHI_TOOL_PARAMETERS_I2_J0107 1843 1884 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1844 1885 { … … 1906 1947 } 1907 1948 } 1949 #endif 1908 1950 1909 1951 UInt uiCamParPrecision = 0; … … 1994 2036 #endif 1995 2037 rpcSlice->setSPS(sps); 2038 #if HHI_TOOL_PARAMETERS_I2_J0107 2039 #if H_3D 2040 rpcSlice->init3dToolParameters(); 2041 #endif 2042 #endif 1996 2043 rpcSlice->setPPS(pps); 1997 2044 if( pps->getDependentSliceSegmentsEnabledFlag() && ( !firstSliceSegmentInPic )) … … 2599 2646 READ_UVLC( uiCode, "five_minus_max_num_merge_cand"); 2600 2647 #if H_3D_IV_MERGE 2648 #if HHI_TOOL_PARAMETERS_I2_J0107 2649 rpcSlice->setMaxNumMergeCand(( ( rpcSlice->getMpiFlag() || rpcSlice->getIvMvPredFlag() ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode); 2650 #else 2601 2651 if(rpcSlice->getIsDepth()) 2602 2652 { … … 2610 2660 rpcSlice->setMaxNumMergeCand(( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode); 2611 2661 } 2662 #endif 2612 2663 2613 2664 #else -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCAVLC.h
r1084 r1106 91 91 #if H_3D 92 92 Void parseVPSExtension2 ( TComVPS* pcVPS ); 93 #if HHI_TOOL_PARAMETERS_I2_J0107 94 Void parseSPS3dExtension ( TComSPS* pcSPS ); 95 Void parseSPS ( TComSPS* pcSPS ); 96 #else 93 97 Void parseSPSExtension2 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 94 98 Void parseSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 99 #endif 95 100 #else 96 101 Void parseSPS ( TComSPS* pcSPS ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecCu.cpp
r1094 r1106 315 315 { 316 316 #if H_3D_ARP && H_3D_IV_MERGE 317 #if HHI_TOOL_PARAMETERS_I2_J0107 318 if( pcCU->getSlice()->getIvResPredFlag() || pcCU->getSlice()->getIvMvPredFlag() ) 319 #else 317 320 if( pcCU->getSlice()->getVPS()->getUseAdvRP( pcCU->getSlice()->getLayerId() ) || pcCU->getSlice()->getVPS()->getIvMvPredFlag( pcCU->getSlice()->getLayerId() )) 321 #endif 318 322 #else 319 323 #if H_3D_ARP … … 345 349 #endif 346 350 #if H_3D_NBDV_REF 351 #if HHI_TOOL_PARAMETERS_I2_J0107 352 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() ) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done. 353 #else 347 354 if(pcCU->getSlice()->getVPS()->getDepthRefinementFlag( pcCU->getSlice()->getLayerIdInVps() )) //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done. 355 #endif 348 356 { 349 357 DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo, true); … … 1064 1072 } 1065 1073 } 1066 1074 1067 1075 TextType eText = ( uiChromaId > 0 ? TEXT_CHROMA_V : TEXT_CHROMA_U ); 1068 1076 UInt uiWidth = pcCU ->getWidth ( 0 ) >> ( uiTrDepth + 1 ); … … 1072 1080 Pel* piPred = ( uiChromaId > 0 ? pcPredYuv->getCrAddr( uiAbsPartIdx ) : pcPredYuv->getCbAddr( uiAbsPartIdx ) ); 1073 1081 Pel* piResi = ( uiChromaId > 0 ? pcResiYuv->getCrAddr( uiAbsPartIdx ) : pcResiYuv->getCbAddr( uiAbsPartIdx ) ); 1074 1082 1075 1083 UInt uiNumCoeffInc = ( ( pcCU->getSlice()->getSPS()->getMaxCUWidth() * pcCU->getSlice()->getSPS()->getMaxCUHeight() ) >> ( pcCU->getSlice()->getSPS()->getMaxCUDepth() << 1 ) ) >> 2; 1076 1084 TCoeff* pcCoeff = ( uiChromaId > 0 ? pcCU->getCoeffCr() : pcCU->getCoeffCb() ) + ( uiNumCoeffInc * uiAbsPartIdx ); 1077 1085 1078 1086 UInt uiChromaPredMode = pcCU->getChromaIntraDir( 0 ); 1079 1087 1080 1088 UInt uiZOrder = pcCU->getZorderIdxInCU() + uiAbsPartIdx; 1081 1089 Pel* piRecIPred = ( uiChromaId > 0 ? pcCU->getPic()->getPicYuvRec()->getCrAddr( pcCU->getAddr(), uiZOrder ) : pcCU->getPic()->getPicYuvRec()->getCbAddr( pcCU->getAddr(), uiZOrder ) ); … … 1088 1096 1089 1097 pcCU->getPattern()->initAdiPatternChroma( pcCU, uiAbsPartIdx, uiTrDepth, 1090 1091 1092 1093 1098 m_pcPrediction->getPredicBuf (), 1099 m_pcPrediction->getPredicBufWidth (), 1100 m_pcPrediction->getPredicBufHeight (), 1101 bAboveAvail, bLeftAvail ); 1094 1102 Int* pPatChroma = ( uiChromaId > 0 ? pcCU->getPattern()->getAdiCrBuf( uiWidth, uiHeight, m_pcPrediction->getPredicBuf() ) : pcCU->getPattern()->getAdiCbBuf( uiWidth, uiHeight, m_pcPrediction->getPredicBuf() ) ); 1095 1103 1096 1104 //===== get prediction signal ===== 1097 1105 { … … 1108 1116 if ( pcCU->getCbf( uiAbsPartIdx, eText, uiTrDepth ) ) 1109 1117 { 1110 //===== inverse transform =====1111 Int curChromaQpOffset;1112 if(eText == TEXT_CHROMA_U)1113 {1114 curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCbQpOffset() + pcCU->getSlice()->getSliceQpDeltaCb();1115 }1116 else1117 {1118 curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCrQpOffset() + pcCU->getSlice()->getSliceQpDeltaCr();1119 }1120 m_pcTrQuant->setQPforQuant ( pcCU->getQP(0), eText, pcCU->getSlice()->getSPS()->getQpBDOffsetC(), curChromaQpOffset );1121 1122 Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)eText];1118 //===== inverse transform ===== 1119 Int curChromaQpOffset; 1120 if(eText == TEXT_CHROMA_U) 1121 { 1122 curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCbQpOffset() + pcCU->getSlice()->getSliceQpDeltaCb(); 1123 } 1124 else 1125 { 1126 curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCrQpOffset() + pcCU->getSlice()->getSliceQpDeltaCr(); 1127 } 1128 m_pcTrQuant->setQPforQuant ( pcCU->getQP(0), eText, pcCU->getSlice()->getSPS()->getQpBDOffsetC(), curChromaQpOffset ); 1129 1130 Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)eText]; 1123 1131 assert(scalingListType < SCALING_LIST_NUM); 1124 m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), eText, REG_DCT, piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkipChroma );1125 1126 //===== reconstruction =====1127 Pel* pPred = piPred;1128 Pel* pResi = piResi;1129 Pel* pReco = piReco;1130 Pel* pRecIPred = piRecIPred;1131 for( UInt uiY = 0; uiY < uiHeight; uiY++ )1132 {1133 for( UInt uiX = 0; uiX < uiWidth; uiX++ )1134 {1135 pReco [ uiX ] = ClipC( pPred[ uiX ] + pResi[ uiX ] );1136 pRecIPred[ uiX ] = pReco[ uiX ];1137 }1138 pPred += uiStride;1139 pResi += uiStride;1140 pReco += uiStride;1141 pRecIPred += uiRecIPredStride;1142 }1143 }1132 m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), eText, REG_DCT, piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkipChroma ); 1133 1134 //===== reconstruction ===== 1135 Pel* pPred = piPred; 1136 Pel* pResi = piResi; 1137 Pel* pReco = piReco; 1138 Pel* pRecIPred = piRecIPred; 1139 for( UInt uiY = 0; uiY < uiHeight; uiY++ ) 1140 { 1141 for( UInt uiX = 0; uiX < uiWidth; uiX++ ) 1142 { 1143 pReco [ uiX ] = ClipC( pPred[ uiX ] + pResi[ uiX ] ); 1144 pRecIPred[ uiX ] = pReco[ uiX ]; 1145 } 1146 pPred += uiStride; 1147 pResi += uiStride; 1148 pReco += uiStride; 1149 pRecIPred += uiRecIPredStride; 1150 } 1151 } 1144 1152 else 1145 1153 { -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecEntropy.cpp
r1100 r1106 153 153 #if H_3D_DBBP 154 154 #if SEC_DBBP_VIEW_REF_CHECK_J0037 155 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 155 #if HHI_TOOL_PARAMETERS_I2_J0107 156 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 157 #else 158 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 159 #endif 156 160 #else 157 161 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 ) … … 833 837 pcCU->setSDCFlagSubParts( false, uiAbsPartIdx, uiDepth ); 834 838 839 #if HHI_TOOL_PARAMETERS_I2_J0107 840 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) || 841 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) ) 842 #else 835 843 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) || 836 844 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getVpsDepthModesFlag( pcCU->getSlice()->getLayerIdInVps() ) ) ) 845 #endif 837 846 { 838 847 return; -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecEntropy.h
r1084 r1106 66 66 67 67 virtual Void parseVPS ( TComVPS* pcVPS ) = 0; 68 #if HHI_TOOL_PARAMETERS_I2_J0107 69 virtual Void parseSPS ( TComSPS* pcSPS ) = 0; 70 #else 68 71 #if H_3D 69 72 virtual Void parseSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) = 0; 70 73 #else 71 74 virtual Void parseSPS ( TComSPS* pcSPS ) = 0; 75 #endif 72 76 #endif 73 77 #if H_3D … … 157 161 Void resetEntropy ( TComSlice* p) { m_pcEntropyDecoderIf->resetEntropy(p); } 158 162 Void decodeVPS ( TComVPS* pcVPS ) { m_pcEntropyDecoderIf->parseVPS(pcVPS); } 163 #if HHI_TOOL_PARAMETERS_I2_J0107 164 Void decodeSPS ( TComSPS* pcSPS ) { m_pcEntropyDecoderIf->parseSPS(pcSPS); } 165 #else 159 166 #if H_3D 160 167 Void decodeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) { m_pcEntropyDecoderIf->parseSPS(pcSPS, viewIndex, depthFlag ); } 161 168 #else 162 169 Void decodeSPS ( TComSPS* pcSPS ) { m_pcEntropyDecoderIf->parseSPS(pcSPS); } 170 #endif 163 171 #endif 164 172 #if H_3D -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecSbac.cpp
r1084 r1106 703 703 704 704 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS(); 705 #if HHI_TOOL_PARAMETERS_I2_J0107 706 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 707 #else 705 708 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId()); 709 #endif 706 710 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 707 711 Bool bDepthMapDetect = (pcTexture != NULL); … … 757 761 Bool bParsePartSize = true; 758 762 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS(); 763 #if HHI_TOOL_PARAMETERS_I2_J0107 764 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 765 #else 759 766 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId()); 767 #endif 760 768 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 761 769 Bool bDepthMapDetect = (pcTexture != NULL); … … 982 990 { 983 991 #if H_3D_DIM 992 #if HHI_TOOL_PARAMETERS_I2_J0107 993 if( pcCU->getSlice()->getIntraSdcWedgeFlag() || pcCU->getSlice()->getIntraContourFlag() ) 994 #else 984 995 if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() ) 996 #endif 985 997 { 986 998 parseIntraDepth( pcCU, absPartIdx+partOffset*j, depth ); … … 1124 1136 if( uiIsDimMode ) 1125 1137 { 1138 #if HHI_TOOL_PARAMETERS_I2_J0107 1139 if( pcCU->getSlice()->getIntraSdcWedgeFlag() && pcCU->getSlice()->getIntraContourFlag() ) 1140 #else 1126 1141 if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag() ) 1142 #endif 1127 1143 { 1128 1144 m_pcTDecBinIf->decodeBin( uiSymbol, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); … … 1136 1152 } 1137 1153 } 1154 #if HHI_TOOL_PARAMETERS_I2_J0107 1155 else if ( pcCU->getSlice()->getIntraSdcWedgeFlag() ) 1156 #else 1138 1157 else if ( pcCU->getSlice()->getVpsDepthModesFlag() ) 1158 #endif 1139 1159 { 1140 1160 pcCU->setLumaIntraDirSubParts( DIM_OFFSET, absPartIdx, depth ); 1141 1161 } 1162 #if HHI_TOOL_PARAMETERS_I2_J0107 1163 else if( pcCU->getSlice()->getIntraContourFlag() ) 1164 #else 1142 1165 else if( pcCU->getSlice()->getIVPFlag() ) 1166 #endif 1143 1167 { 1144 1168 pcCU->setLumaIntraDirSubParts( ( 1+ DIM_OFFSET ), absPartIdx, depth ); … … 2120 2144 Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2121 2145 { 2146 #if HHI_TOOL_PARAMETERS_I2_J0107 2147 AOF( pcCU->getSlice()->getDepthBasedBlkPartFlag() ); 2148 #else 2122 2149 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ); 2150 #endif 2123 2151 AOF( !pcCU->getSlice()->getIsDepth() ); 2124 2152 -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecSbac.h
r1084 r1106 76 76 Void setBitstream ( TComInputBitstream* p ) { m_pcBitstream = p; m_pcTDecBinIf->init( p ); } 77 77 Void parseVPS ( TComVPS* /*pcVPS*/ ) {} 78 #if HHI_TOOL_PARAMETERS_I2_J0107 79 Void parseSPS ( TComSPS* /*pcSPS*/ ) {} 80 #else 78 81 #if H_3D 79 82 Void parseSPS ( TComSPS* /*pcSPS*/ , Int /*viewIndex*/, Bool /*depthFlag*/ ) {} 80 83 #else 81 84 Void parseSPS ( TComSPS* /*pcSPS*/ ) {} 85 #endif 82 86 #endif 83 87 #if H_3D -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibDecoder/TDecTop.cpp
r1100 r1106 726 726 727 727 #endif 728 #if HHI_TOOL_PARAMETERS_I2_J0107 729 #if H_3D 730 m_apcSlicePilot->init3dToolParameters(); 731 #endif 732 #endif 728 733 pps->setSPS(sps); 729 734 pps->setNumSubstreams(pps->getEntropyCodingSyncEnabledFlag() ? ((sps->getPicHeightInLumaSamples() + sps->getMaxCUHeight() - 1) / sps->getMaxCUHeight()) * (pps->getNumTileColumnsMinus1() + 1) : 1); … … 1239 1244 TComVPS* vps = m_parameterSetManagerDecoder.getPrefetchedVPS( 0 ); 1240 1245 assert( vps != 0 ); 1246 #if HHI_TOOL_PARAMETERS_I2_J0107 1247 m_cEntropyDecoder.decodeSPS( sps ); 1248 #else 1241 1249 m_cEntropyDecoder.decodeSPS( sps, vps->getViewIndex( m_layerId ), ( vps->getDepthId( m_layerId ) == 1 ) ); 1250 #endif 1242 1251 #else 1243 1252 m_cEntropyDecoder.decodeSPS( sps ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCavlc.cpp
r1103 r1106 638 638 } 639 639 640 #if HHI_TOOL_PARAMETERS_I2_J0107 641 Void TEncCavlc::codeSPS( TComSPS* pcSPS ) 642 #else 640 643 #if H_3D 641 644 Void TEncCavlc::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) 642 645 #else 643 646 Void TEncCavlc::codeSPS( TComSPS* pcSPS ) 647 #endif 644 648 #endif 645 649 { … … 842 846 if ( pcSPS->getSps3dExtensionFlag() ) 843 847 { 848 #if HHI_TOOL_PARAMETERS_I2_J0107 849 codeSPS3dExtension( pcSPS ); 850 #else 844 851 codeSPSExtension2( pcSPS, viewIndex, depthFlag ); 852 #endif 845 853 } 846 854 … … 868 876 869 877 #if H_3D 878 #if HHI_TOOL_PARAMETERS_I2_J0107 879 Void TEncCavlc::codeSPS3dExtension( TComSPS* pcSPS ) 880 { 881 TComSps3dExtension* sps3dExt = pcSPS->getSps3dExtension(); 882 for( Int d = 0; d <= 1; d++ ) 883 { 884 WRITE_FLAG( sps3dExt->getIvMvPredFlag( d ) ? 1 : 0 , "iv_mv_pred_flag" ); 885 WRITE_FLAG( sps3dExt->getIvMvScalingFlag( d ) ? 1 : 0 , "iv_mv_scaling_flag" ); 886 if( d == 0 ) 887 { 888 WRITE_UVLC( sps3dExt->getLog2SubPbSizeMinus3( d ), "log2_sub_pb_size_minus3" ); 889 WRITE_FLAG( sps3dExt->getIvResPredFlag( d ) ? 1 : 0 , "iv_res_pred_flag" ); 890 WRITE_FLAG( sps3dExt->getDepthRefinementFlag( d ) ? 1 : 0 , "depth_refinement_flag" ); 891 WRITE_FLAG( sps3dExt->getViewSynthesisPredFlag( d ) ? 1 : 0 , "view_synthesis_pred_flag" ); 892 WRITE_FLAG( sps3dExt->getDepthBasedBlkPartFlag( d ) ? 1 : 0 , "depth_based_blk_part_flag" ); 893 } 894 else 895 { 896 WRITE_FLAG( sps3dExt->getMpiFlag( d ) ? 1 : 0 , "mpi_flag" ); 897 WRITE_UVLC( sps3dExt->getLog2MpiSubPbSizeMinus3( d ), "log2_mpi_sub_pb_size_minus3" ); 898 WRITE_FLAG( sps3dExt->getIntraContourFlag( d ) ? 1 : 0 , "intra_contour_flag" ); 899 WRITE_FLAG( sps3dExt->getIntraSdcWedgeFlag( d ) ? 1 : 0 , "intra_sdc_wedge_flag" ); 900 WRITE_FLAG( sps3dExt->getQtPredFlag( d ) ? 1 : 0 , "qt_pred_flag" ); 901 WRITE_FLAG( sps3dExt->getInterSdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" ); 902 WRITE_FLAG( sps3dExt->getIntraSingleFlag( d ) ? 1 : 0 , "intra_single_flag" ); 903 } 904 } 905 } 906 #else 870 907 Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) 871 908 { 872 909 873 910 } 911 #endif 874 912 #endif 875 913 … … 1577 1615 Void TEncCavlc::codeVPSExtension2( TComVPS* pcVPS ) 1578 1616 { 1617 #if !HHI_TOOL_PARAMETERS_I2_J0107 1579 1618 for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ ) 1580 1619 { … … 1622 1661 } 1623 1662 } 1663 #endif 1624 1664 WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" ); 1625 1665 for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++) … … 2088 2128 { 2089 2129 #if H_3D_IV_MERGE 2130 #if HHI_TOOL_PARAMETERS_I2_J0107 2131 WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 2132 #else 2090 2133 if(pcSlice->getIsDepth()) 2091 2134 { … … 2099 2142 WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); 2100 2143 } 2144 #endif 2101 2145 #else 2102 2146 WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand"); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCavlc.h
r1084 r1106 100 100 #if H_3D 101 101 Void codeVPSExtension2 ( TComVPS* pcVPS ); 102 #if HHI_TOOL_PARAMETERS_I2_J0107 103 Void codeSPS3dExtension ( TComSPS* pcSPS ); 104 Void codeSPS ( TComSPS* pcSPS ); 105 #else 102 106 Void codeSPSExtension2 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 103 107 Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 108 #endif 104 109 #else 105 110 Void codeSPS ( TComSPS* pcSPS ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCfg.h
r1084 r1106 392 392 Double m_dDispCoeff; 393 393 #endif 394 #if !HHI_TOOL_PARAMETERS_I2_J0107 394 395 #if H_3D_ARP 395 396 UInt m_uiUseAdvResPred; … … 400 401 Int m_iSubPUMPILog2Size; 401 402 #endif 403 #endif 402 404 #if H_3D_IC 403 405 Bool m_bUseIC; 404 406 Bool m_bUseICLowLatencyEnc; 405 407 #endif 408 #if !HHI_TOOL_PARAMETERS_I2_J0107 406 409 #if H_3D_INTER_SDC 407 410 bool m_bInterSDC; … … 409 412 #if H_3D_DBBP 410 413 Bool m_bUseDBBP; 414 #endif 411 415 #endif 412 416 //====== Depth Intra Modes ====== 413 417 #if H_3D_DIM 414 418 Bool m_useDMM; 419 #if !HHI_TOOL_PARAMETERS_I2_J0107 415 420 Bool m_useIVP; 421 #endif 416 422 Bool m_useSDC; 417 423 Bool m_useDLT; 418 424 #endif 425 #if !HHI_TOOL_PARAMETERS_I2_J0107 419 426 #if H_3D_SINGLE_DEPTH 420 427 Bool m_useSingleDepthMode; 421 428 #endif 429 422 430 #if H_3D_IV_MERGE 423 431 Bool m_useMPI; 432 #endif 424 433 #endif 425 434 #if H_3D_QTLPC … … 497 506 Void setMaxTempLayer ( Int maxTempLayer ) { m_maxTempLayer = maxTempLayer; } 498 507 508 #if !HHI_TOOL_PARAMETERS_I2_J0107 499 509 #if H_3D_ARP 500 510 UInt getUseAdvRP ( ) { return m_uiUseAdvResPred; } … … 510 520 Void setSubPUMPILog2Size (Int u) { m_iSubPUMPILog2Size = u; } 511 521 #endif 522 #endif 512 523 #if H_3D_IC 513 524 Void setUseIC ( Bool bVal ) { m_bUseIC = bVal; } … … 516 527 Bool getUseICLowLatencyEnc () { return m_bUseICLowLatencyEnc; } 517 528 #endif 529 #if !HHI_TOOL_PARAMETERS_I2_J0107 518 530 #if H_3D_INTER_SDC 519 531 Void setInterSDCEnable ( Bool bVal ) { m_bInterSDC = bVal; } … … 523 535 Void setUseDBBP ( Bool b ) { m_bUseDBBP = b; } 524 536 Bool getUseDBBP() { return m_bUseDBBP; } 537 #endif 525 538 #endif 526 539 //======== Transform ============= … … 932 945 Void setFrameOnlyConstraintFlag(Bool b) { m_frameOnlyConstraintFlag = b; } 933 946 #if H_3D 947 948 // Only flags that are not in the SPS3dExtension should go here. 934 949 /// 3D Tools 935 950 … … 976 991 Bool getUseDMM () { return m_useDMM; } 977 992 Void setUseDMM ( Bool b) { m_useDMM = b; } 993 #if !HHI_TOOL_PARAMETERS_I2_J0107 978 994 Bool getUseIVP () { return m_useIVP; } 979 995 Void setUseIVP ( Bool b) { m_useIVP = b; } 996 #endif 980 997 Bool getUseSDC () { return m_useSDC; } 981 998 Void setUseSDC ( Bool b) { m_useSDC = b; } 999 982 1000 Bool getUseDLT () { return m_useDLT; } 983 1001 Void setUseDLT ( Bool b) { m_useDLT = b; } 984 1002 #endif 1003 #if !HHI_TOOL_PARAMETERS_I2_J0107 985 1004 #if H_3D_SINGLE_DEPTH 986 1005 Void setUseSingleDepthMode ( Bool bVal ) { m_useSingleDepthMode = bVal; } 987 1006 Bool getUseSingleDepthMode () { return m_useSingleDepthMode; } 988 1007 #endif 1008 #endif 989 1009 #if H_3D_QTLPC 990 1010 Void setUseQTL ( Bool b ) { m_bUseQTL = b; } 991 1011 Bool getUseQTL () { return m_bUseQTL; } 992 1012 #endif 1013 #if !HHI_TOOL_PARAMETERS_I2_J0107 993 1014 #if H_3D_IV_MERGE 994 1015 Void setUseMPI ( Bool b ) { m_useMPI = b; } 995 1016 Bool getUseMPI () { return m_useMPI; } 996 1017 #endif 1018 #endif 997 1019 #endif // H_3D 998 1020 }; -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncCu.cpp
r1100 r1106 410 410 #if H_3D_QTLPC 411 411 TComVPS *vps = pcPic->getSlice(0)->getVPS(); 412 #if HHI_TOOL_PARAMETERS_I2_J0107 413 Bool bLimQtPredFalg = pcPic->getSlice(0)->getQtPredFlag(); 414 #else 412 415 Bool bLimQtPredFalg = vps->getLimQtPredFlag(pcPic->getSlice(0)->getLayerId()); 416 #endif 413 417 TComPic *pcTexture = rpcBestCU->getSlice()->getTexturePic(); 414 418 … … 566 570 { 567 571 #if H_3D_ARP && H_3D_IV_MERGE 572 #if HHI_TOOL_PARAMETERS_I2_J0107 573 if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() ) 574 #else 568 575 if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) || rpcTempCU->getSlice()->getVPS()->getIvMvPredFlag(rpcTempCU->getSlice()->getLayerId()) ) 576 #endif 569 577 #else 570 578 #if H_3D_ARP … … 590 598 #endif 591 599 #if H_3D_NBDV_REF 600 #if HHI_TOOL_PARAMETERS_I2_J0107 601 if( rpcTempCU->getSlice()->getDepthRefinementFlag() ) 602 #else 592 603 if(rpcTempCU->getSlice()->getVPS()->getDepthRefinementFlag( rpcTempCU->getSlice()->getLayerIdInVps())) 604 #endif 593 605 DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true); 594 606 else … … 673 685 #if H_3D_DBBP 674 686 #if SEC_DBBP_VIEW_REF_CHECK_J0037 687 #if HHI_TOOL_PARAMETERS_I2_J0107 688 if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 689 #else 675 690 if( m_pcEncCfg->getUseDBBP() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 691 #endif 676 692 #else 677 693 if( m_pcEncCfg->getUseDBBP() ) … … 2032 2048 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2033 2049 #if H_3D_INTER_SDC 2050 #if HHI_TOOL_PARAMETERS_I2_J0107 2051 if( rpcTempCU->getSlice()->getInterSdcFlag() && !uiNoResidual ) 2052 #else 2034 2053 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && !uiNoResidual ) 2054 #endif 2035 2055 { 2036 2056 Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE}; … … 2104 2124 { 2105 2125 #if H_3D_INTER_SDC 2126 #if HHI_TOOL_PARAMETERS_I2_J0107 2127 if( rpcTempCU->getSlice()->getInterSdcFlag() ) 2128 #else 2106 2129 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) ) 2130 #endif 2107 2131 { 2108 2132 bestIsSkip = !rpcBestCU->getSDCFlag( 0 ) && ( rpcBestCU->getQtRootCbf(0) == 0 ); … … 2191 2215 for( Int nARPW = 0; nARPW <= nARPWMax; nARPW++ ) 2192 2216 { 2217 #if HHI_TOOL_PARAMETERS_I2_J0107 2218 if( !bFirstTime && rpcTempCU->getSlice()->getIvResPredFlag() ) 2219 #else 2193 2220 if( bFirstTime == false && rpcTempCU->getSlice()->getVPS()->getUseAdvRP( iLayerId ) ) 2221 #endif 2194 2222 { 2195 2223 rpcTempCU->initEstData( rpcTempCU->getDepth(0), rpcTempCU->getQP(0),bTransquantBypassFlag ); … … 2297 2325 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 2298 2326 #if H_3D_INTER_SDC 2327 #if HHI_TOOL_PARAMETERS_I2_J0107 2328 if( rpcTempCU->getSlice()->getInterSdcFlag() && ePartSize == SIZE_2Nx2N) 2329 #else 2299 2330 if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && ePartSize == SIZE_2Nx2N) 2331 #endif 2300 2332 { 2301 2333 Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE}; -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncEntropy.cpp
r1100 r1106 78 78 } 79 79 80 #if HHI_TOOL_PARAMETERS_I2_J0107 81 Void TEncEntropy::encodeSPS( TComSPS* pcSPS ) 82 { 83 m_pcEntropyCoderIf->codeSPS( pcSPS ); 84 return; 85 } 86 #else 80 87 #if H_3D 81 88 Void TEncEntropy::encodeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) … … 90 97 return; 91 98 } 99 #endif 92 100 #endif 93 101 … … 269 277 #if H_3D_DBBP 270 278 #if SEC_DBBP_VIEW_REF_CHECK_J0037 279 #if HHI_TOOL_PARAMETERS_I2_J0107 280 if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 281 #else 271 282 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() ) 283 #endif 272 284 #else 273 285 if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 ) … … 784 796 Void TEncEntropy::encodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) 785 797 { 798 #if HHI_TOOL_PARAMETERS_I2_J0107 799 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) || 800 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) ) 801 #else 786 802 if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) || 787 803 ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getVpsDepthModesFlag( pcCU->getSlice()->getLayerIdInVps() ) ) ) 804 #endif 788 805 { 789 806 return; -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncEntropy.h
r1084 r1106 69 69 70 70 virtual Void codeVPS ( TComVPS* pcVPS ) = 0; 71 #if HHI_TOOL_PARAMETERS_I2_J0107 72 virtual Void codeSPS ( TComSPS* pcSPS ) = 0; 73 #else 71 74 #if !H_3D 72 75 virtual Void codeSPS ( TComSPS* pcSPS ) = 0; 73 76 #else 74 77 virtual Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) = 0; 78 #endif 75 79 #endif 76 80 virtual Void codePPS ( TComPPS* pcPPS ) = 0; … … 165 169 Void encodeVPS ( TComVPS* pcVPS); 166 170 // SPS 171 #if HHI_TOOL_PARAMETERS_I2_J0107 172 Void encodeSPS ( TComSPS* pcSPS ); 173 #else 167 174 #if H_3D 168 175 Void encodeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 169 176 #else 170 177 Void encodeSPS ( TComSPS* pcSPS ); 178 #endif 171 179 #endif 172 180 Void encodePPS ( TComPPS* pcPPS ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncGOP.cpp
r1103 r1106 958 958 #endif 959 959 #if H_3D_SINGLE_DEPTH 960 #if HHI_TOOL_PARAMETERS_I2_J0107 961 pcSlice->setApplySingleDepthMode( pcSlice->getIntraSingleFlag() ); 962 #else 960 963 TEncTop* pcEncTop = (TEncTop*) m_pcCfg; 961 964 bool enableSingleDepthMode=false; … … 968 971 } 969 972 pcSlice->setApplySingleDepthMode(enableSingleDepthMode); 973 #endif 970 974 #endif 971 975 #if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037 … … 1433 1437 pcSlice->getSPS()->getVuiParameters()->setHrdParametersPresentFlag( true ); 1434 1438 } 1439 #if HHI_TOOL_PARAMETERS_I2_J0107 1440 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS()); 1441 #else 1435 1442 #if !H_3D 1436 1443 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS()); 1437 1444 #else 1438 1445 m_pcEntropyCoder->encodeSPS(pcSlice->getSPS(), pcSlice->getViewIndex(), pcSlice->getIsDepth() ); 1446 #endif 1439 1447 #endif 1440 1448 writeRBSPTrailingBits(nalu.m_Bitstream); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncSbac.cpp
r1084 r1106 255 255 curCost += m_CUTransquantBypassFlagSCModel.calcCost( curSliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG ); 256 256 #if H_3D_DIM 257 #if HHI_TOOL_PARAMETERS_I2_J0107 258 if( m_pcSlice->getIntraSdcWedgeFlag() || m_pcSlice->getIntraContourFlag() ) 259 #else 257 260 if( m_pcSlice->getVpsDepthModesFlag() || m_pcSlice->getIVPFlag() ) 261 #endif 258 262 { 259 263 curCost += m_cDepthIntraModeSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_DEPTH_INTRA_MODE ); … … 346 350 } 347 351 352 #if HHI_TOOL_PARAMETERS_I2_J0107 353 Void TEncSbac::codeSPS( TComSPS* pcSPS ) 354 #else 348 355 #if H_3D 349 356 Void TEncSbac::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ) 350 357 #else 351 358 Void TEncSbac::codeSPS( TComSPS* pcSPS ) 359 #endif 352 360 #endif 353 361 { … … 626 634 #if H_3D_QTLPC 627 635 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS(); 636 #if HHI_TOOL_PARAMETERS_I2_J0107 637 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 638 #else 628 639 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId()); 640 #endif 629 641 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 630 642 Bool bDepthMapDetect = (pcTexture != NULL); … … 999 1011 1000 1012 TComVPS *vps = pcCU->getPic()->getSlice(0)->getVPS(); 1013 #if HHI_TOOL_PARAMETERS_I2_J0107 1014 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); 1015 #else 1001 1016 Bool bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId()); 1017 #endif 1002 1018 TComPic *pcTexture = pcCU->getSlice()->getTexturePic(); 1003 1019 Bool bDepthMapDetect = (pcTexture != NULL); … … 1060 1076 dir[j] = pcCU->getLumaIntraDir( absPartIdx+partOffset*j ); 1061 1077 #if H_3D_DIM 1078 #if HHI_TOOL_PARAMETERS_I2_J0107 1079 if( pcCU->getSlice()->getIntraSdcWedgeFlag() || pcCU->getSlice()->getIntraContourFlag() ) 1080 #else 1062 1081 if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() ) 1082 #endif 1063 1083 { 1064 1084 codeIntraDepth( pcCU, absPartIdx+partOffset*j ); … … 1206 1226 } 1207 1227 //mode coding 1228 #if HHI_TOOL_PARAMETERS_I2_J0107 1229 if( pcCU->getSlice()->getIntraSdcWedgeFlag() && pcCU->getSlice()->getIntraContourFlag()) 1230 #else 1208 1231 if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag()) 1232 #endif 1209 1233 { 1210 1234 m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); … … 2305 2329 PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx ); 2306 2330 AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N ); 2331 #if HHI_TOOL_PARAMETERS_I2_J0107 2332 AOF( pcCU->getSlice()->getDepthBasedBlkPartFlag() ); 2333 #else 2307 2334 AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) ); 2335 #endif 2308 2336 AOF( !pcCU->getSlice()->getIsDepth() ); 2309 2337 -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncSbac.h
r1084 r1106 94 94 95 95 Void codeVPS ( TComVPS* pcVPS ); 96 #if HHI_TOOL_PARAMETERS_I2_J0107 97 Void codeSPS ( TComSPS* pcSPS ); 98 #else 96 99 #if !H_3D 97 100 Void codeSPS ( TComSPS* pcSPS ); 98 101 #else 99 102 Void codeSPS ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag ); 103 #endif 100 104 #endif 101 105 Void codePPS ( TComPPS* pcPPS ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncSearch.cpp
r1094 r1106 3117 3117 } 3118 3118 #endif 3119 3119 3120 3120 #if H_3D_DIM 3121 3121 //===== determine set of depth intra modes to be tested ===== 3122 3122 if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight ) 3123 3123 { 3124 #if HHI_TOOL_PARAMETERS_I2_J0107 3125 if( bOnlyIVP && pcCU->getSlice()->getIntraContourFlag() ) 3126 #else 3124 3127 if( bOnlyIVP && m_pcEncCfg->getUseIVP() ) 3128 #endif 3125 3129 { 3126 3130 TComWedgelet* dmm4Segmentation = new TComWedgelet( uiWidth, uiHeight ); … … 3144 3148 3145 3149 #if H_3D_DIM_DMM 3150 #if HHI_TOOL_PARAMETERS_I2_J0107 3151 if( ( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) || pcCU->getSlice()->getIntraContourFlag() ) 3152 #else 3146 3153 if( ( m_pcEncCfg->getUseDMM() || m_pcEncCfg->getUseIVP() ) 3154 #endif 3147 3155 #if H_3D_FAST_DEPTH_INTRA 3148 3156 && (uiRdModeList[0] != PLANAR_IDX || varCU >= varThreshold) … … 3151 3159 { 3152 3160 UInt uiStart, uiEnd; 3161 #if HHI_TOOL_PARAMETERS_I2_J0107 3162 if( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSlice()->getIntraContourFlag() ) 3163 #else 3153 3164 if( m_pcEncCfg->getUseDMM() && m_pcEncCfg->getUseIVP() ) 3165 #endif 3154 3166 { 3155 3167 uiStart = 0; 3156 3168 uiEnd = 2; 3157 3169 } 3170 #if HHI_TOOL_PARAMETERS_I2_J0107 3171 else if( ( m_pcEncCfg->getUseDMM() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) ) 3172 #else 3158 3173 else if( m_pcEncCfg->getUseDMM() ) 3174 #endif 3159 3175 { 3160 3176 uiStart = 0; 3161 3177 uiEnd = 1; 3162 3178 } 3179 #if HHI_TOOL_PARAMETERS_I2_J0107 3180 else if( pcCU->getSlice()->getIntraContourFlag() ) 3181 #else 3163 3182 else if( m_pcEncCfg->getUseIVP() ) 3183 #endif 3164 3184 { 3165 3185 uiStart = 1; … … 3299 3319 #if H_3D_DIM_SDC 3300 3320 #if H_3D_FAST_INTRA_SDC 3301 Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD);3321 Bool bTestSDC = ( ( m_pcEncCfg->getUseSDC() && pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD); 3302 3322 #else 3303 3323 Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) ); … … 5319 5339 #endif 5320 5340 #if H_3D_INTER_SDC 5341 #if HHI_TOOL_PARAMETERS_I2_J0107 5342 pcPatternKey->setSDCMRSADFlag( pcCU->getSlice()->getInterSdcFlag() ); 5343 #else 5321 5344 if ( pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) 5322 5345 { … … 5327 5350 pcPatternKey->setSDCMRSADFlag( false ); 5328 5351 } 5352 #endif 5329 5353 #endif 5330 5354 -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncSlice.cpp
r1100 r1106 215 215 rpcSlice->setPicOutputFlag( true ); 216 216 rpcSlice->setPOC( pocCurr ); 217 #if HHI_TOOL_PARAMETERS_I2_J0107 218 #if H_3D 219 rpcSlice->init3dToolParameters(); 220 #endif 221 #endif 217 222 #if H_3D_IC 218 223 rpcSlice->setApplyIC( false ); … … 608 613 rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() ); 609 614 #if H_3D_IV_MERGE 615 #if HHI_TOOL_PARAMETERS_I2_J0107 616 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) ) ? 1 : 0 )); 617 #else 610 618 if(rpcSlice->getIsDepth()) 611 619 { … … 616 624 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) ); 617 625 } 626 #endif 618 627 #else 619 628 rpcSlice->setMaxNumMergeCand ( m_pcCfg->getMaxNumMergeCand() ); -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncTop.cpp
r1103 r1106 534 534 Void TEncTop::encode(Bool flush, TComPicYuv* pcPicYuvOrg, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded, bool isTff, Int gopId ) 535 535 { 536 assert( 0 ); // Field coding and multiview need to be fur hter harmonized.536 assert( 0 ); // Field coding and multiview need to be further harmonized. 537 537 } 538 538 #else -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibEncoder/TEncTop.h
r1084 r1106 270 270 Void setIvPicLists ( TComPicLists* picLists) { m_ivPicLists = picLists; } 271 271 #endif 272 #if HHI_TOOL_PARAMETERS_I2_J0107 273 #if H_3D 274 Void setSps3dExtension ( TComSps3dExtension sps3dExtension ) { m_cSPS.setSps3dExtension( sps3dExtension ); }; 275 #endif 276 #endif 272 277 #if H_3D_IC 273 278 Void setICEnableCandidate ( Int* ICEnableCandidate) { m_aICEnableCandidate = ICEnableCandidate; } -
branches/HTM-12.2-dev2-HHI/source/Lib/TLibExtractor/TExtrTop.cpp
r655 r1106 74 74 #if H_3D 75 75 Int layerIdInVPS = m_cVPS.getLayerIdInVps( uiLayerId ); 76 #if HHI_TOOL_PARAMETERS_I2_J0107 77 m_cEntropyDecoder .decodeSPS( &cSPS ); 78 #else 76 79 m_cEntropyDecoder .decodeSPS( &cSPS, m_cVPS.getViewIndex( layerIdInVPS ), ( m_cVPS.getDepthId( layerIdInVPS ) == 1 ) ); 80 #endif 77 81 #else 78 82 m_cEntropyDecoder .decodeSPS( &cSPS );
Note: See TracChangeset for help on using the changeset viewer.