Changeset 1015 in 3DVCSoftware
- Timestamp:
- 24 Jul 2014, 06:42:46 (10 years ago)
- Location:
- branches/HTM-11.2-dev3-Samsung
- Files:
-
- 2 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-11.2-dev3-Samsung/cfg/3D-HEVC/NonCTC/allintra/baseCfg_2view+depth_AllIntra.cfg
r983 r1015 173 173 VSO : 1 # use of view synthesis optimization for depth coding 174 174 DMM : 1 175 IVP : 1 # use of intra-view prediction mode 175 176 SDC : 1 176 177 DLT : 1 -
branches/HTM-11.2-dev3-Samsung/cfg/3D-HEVC/NonCTC/allintra/baseCfg_3view+depth_AllIntra.cfg
r983 r1015 188 188 VSO : 1 # use of view synthesis optimization for depth coding 189 189 DMM : 1 190 IVP : 1 # use of intra-view prediction mode 190 191 SDC : 1 191 192 DLT : 1 -
branches/HTM-11.2-dev3-Samsung/cfg/3D-HEVC/baseCfg_2view+depth.cfg
r983 r1015 209 209 VSO : 1 # use of view synthesis optimization for depth coding 210 210 DMM : 1 211 IVP : 1 # use of intra-view prediction mode 211 212 SDC : 1 212 213 DLT : 1 -
branches/HTM-11.2-dev3-Samsung/cfg/3D-HEVC/baseCfg_3view+depth.cfg
r983 r1015 240 240 VSO : 1 # use of view synthesis optimization for depth coding 241 241 DMM : 1 242 IVP : 1 # use of intra-view prediction mode 242 243 SDC : 1 243 244 DLT : 1 -
branches/HTM-11.2-dev3-Samsung/cfg/3D-HEVC/fullCfg.cfg
r950 r1015 262 262 VSO : 1 # use of view synthesis optimization for depth coding 263 263 DMM : 1 264 IVP : 1 # use of intra-view prediction mode 264 265 SDC : 1 265 266 DLT : 1 -
branches/HTM-11.2-dev3-Samsung/source/App/TAppEncoder/TAppEncCfg.cpp
r983 r1015 378 378 #if H_3D_DIM 379 379 ("DMM", m_useDMM, true, "Depth intra model modes") 380 #if SEPARATE_FLAG_I0085 381 ("IVP", m_useIVP, true, "intra-view prediction") 382 #endif 380 383 ("SDC", m_useSDC, true, "Simplified depth coding") 381 384 ("DLT", m_useDLT, true, "Depth lookup table") … … 2523 2526 #if H_3D_DIM 2524 2527 printf("DMM:%d ", m_useDMM ); 2528 #if SEPARATE_FLAG_I0085 2529 printf("IVP:%d ", m_useIVP ); 2530 #endif 2525 2531 printf("SDC:%d ", m_useSDC ); 2526 2532 printf("DLT:%d ", m_useDLT ); -
branches/HTM-11.2-dev3-Samsung/source/App/TAppEncoder/TAppEncCfg.h
r983 r1015 470 470 #if H_3D_DIM 471 471 Bool m_useDMM; ///< flag for using DMM 472 #if SEPARATE_FLAG_I0085 473 Bool m_useIVP; 474 #endif 472 475 Bool m_useSDC; ///< flag for using SDC 473 476 Bool m_useDLT; ///< flag for using DLT -
branches/HTM-11.2-dev3-Samsung/source/App/TAppEncoder/TAppEncTop.cpp
r983 r1015 199 199 #if H_3D_DIM 200 200 m_cTEncTop.setUseDMM ( isDepth ? m_useDMM : false ); 201 #if SEPARATE_FLAG_I0085 202 m_cTEncTop.setUseIVP ( isDepth ? m_useIVP : false ); 203 #endif 201 204 m_cTEncTop.setUseSDC ( isDepth ? m_useSDC : false ); 202 205 m_cTEncTop.setUseDLT ( isDepth ? m_useDLT : false ); … … 1827 1830 #if H_3D_DIM 1828 1831 vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) ); 1832 #if SEPARATE_FLAG_I0085 1833 vps.setIVPFlag ( layer, isDepth && !isLayerZero && m_useIVP ); 1834 #endif 1829 1835 #endif 1830 1836 -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibCommon/TComSlice.cpp
r1000 r1015 1952 1952 m_viewIndex [i] = -1; 1953 1953 m_vpsDepthModesFlag [i] = false; 1954 #if SEPARATE_FLAG_I0085 1955 m_bIVPFlag [i] = false; 1956 #endif 1954 1957 m_ivMvScalingFlag = true; 1955 1958 #endif … … 1992 1995 #if H_3D_INTER_SDC 1993 1996 m_bInterSDCFlag [ i ] = false; 1997 #endif 1998 #if SEPARATE_FLAG_I0085 1999 m_bIVPFlag [ i ] = false; 1994 2000 #endif 1995 2001 #if H_3D_DBBP -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibCommon/TComSlice.h
r983 r1015 810 810 #endif 811 811 Bool m_vpsDepthModesFlag [MAX_NUM_LAYERS ]; 812 #if SEPARATE_FLAG_I0085 813 Bool m_bIVPFlag [MAX_NUM_LAYERS ]; 814 #endif 812 815 813 816 #if H_3D … … 1144 1147 Void setVpsDepthModesFlag( Int layerIdInVps, Bool val ) { m_vpsDepthModesFlag[ layerIdInVps ] = val; } 1145 1148 Bool getVpsDepthModesFlag( Int layerIdInVps ) { return m_vpsDepthModesFlag[ layerIdInVps ]; } 1149 #if SEPARATE_FLAG_I0085 1150 Void setIVPFlag( Int layerIdInVps, Bool val ) { m_bIVPFlag[ layerIdInVps ] = val; } 1151 Bool getIVPFlag( Int layerIdInVps ) { return m_bIVPFlag[ layerIdInVps ]; } 1152 #endif 1146 1153 1147 1154 Bool getIvMvScalingFlag ( ) { return m_ivMvScalingFlag; } … … 2515 2522 Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; }; 2516 2523 Bool getVpsDepthModesFlag () { return getVPS()->getVpsDepthModesFlag( getVPS()->getLayerIdInVps( m_layerId ) ); } 2517 2524 #if SEPARATE_FLAG_I0085 2525 Bool getIVPFlag () { return getVPS()->getIVPFlag( getVPS()->getLayerIdInVps( m_layerId ) ); } 2526 #endif 2518 2527 #endif 2519 2528 #if H_MV -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibCommon/TypeDef.h
r1014 r1015 300 300 #define FIX_WARNING 1 // fix narrowing conversion of NumPocStCurr0,NumPocStCurr1 at TComSlice.cpp 301 301 #define FAST_SDC_OFFSET_DECISION_I0084 1 302 #define SEPARATE_FLAG_I0085 1 302 303 303 304 #if H_3D_DIM_DLT -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibDecoder/TDecCAVLC.cpp
r983 r1015 1822 1822 #endif 1823 1823 READ_FLAG( uiCode, "vps_depth_modes_flag[i]" ); pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false ); 1824 #if SEPARATE_FLAG_I0085 1825 READ_FLAG( uiCode, "ivp_flag[i]" ); pcVPS->setIVPFlag( i, uiCode == 1 ? true : false ); 1826 #endif 1824 1827 // READ_FLAG( uiCode, "lim_qt_pred_flag[i]"); pcVPS->setLimQtPreFlag ( i, uiCode == 1 ? true : false ); 1825 1828 #if H_3D_INTER_SDC -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibDecoder/TDecSbac.cpp
r994 r1015 1049 1049 { 1050 1050 #if H_3D_DIM 1051 #if SEPARATE_FLAG_I0085 1052 if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() ) 1053 #else 1051 1054 if( pcCU->getSlice()->getVpsDepthModesFlag() ) 1055 #endif 1052 1056 { 1053 1057 parseIntraDepth( pcCU, absPartIdx+partOffset*j, depth ); … … 1191 1195 if( uiIsDimMode ) 1192 1196 { 1193 m_pcTDecBinIf->decodeBin( uiSymbol, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); 1194 if( !uiSymbol ) 1197 #if SEPARATE_FLAG_I0085 1198 if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag() ) 1199 { 1200 m_pcTDecBinIf->decodeBin( uiSymbol, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); 1201 if( !uiSymbol ) 1202 { 1203 #if HS_DMM_SIGNALLING_I0120 1204 pcCU->setLumaIntraDirSubParts( DIM_OFFSET, absPartIdx, depth ); 1205 #else 1206 pcCU->setLumaIntraDirSubParts( ( 2 * DMM1_IDX + DIM_OFFSET ), absPartIdx, depth ); 1207 #endif 1208 } 1209 else 1210 { 1211 #if HS_DMM_SIGNALLING_I0120 1212 pcCU->setLumaIntraDirSubParts( ( 1+ DIM_OFFSET ), absPartIdx, depth ); 1213 #else 1214 pcCU->setLumaIntraDirSubParts( ( 2 * DMM4_IDX + DIM_OFFSET ), absPartIdx, depth ); 1215 #endif 1216 } 1217 } 1218 else if ( pcCU->getSlice()->getVpsDepthModesFlag() ) 1195 1219 { 1196 1220 #if HS_DMM_SIGNALLING_I0120 … … 1200 1224 #endif 1201 1225 } 1202 else 1226 else if( pcCU->getSlice()->getIVPFlag() ) 1203 1227 { 1204 1228 #if HS_DMM_SIGNALLING_I0120 … … 1208 1232 #endif 1209 1233 } 1234 #else 1235 m_pcTDecBinIf->decodeBin( uiSymbol, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); 1236 if( !uiSymbol ) 1237 { 1238 #if HS_DMM_SIGNALLING_I0120 1239 pcCU->setLumaIntraDirSubParts( DIM_OFFSET, absPartIdx, depth ); 1240 #else 1241 pcCU->setLumaIntraDirSubParts( ( 2 * DMM1_IDX + DIM_OFFSET ), absPartIdx, depth ); 1242 #endif 1243 } 1244 else 1245 { 1246 #if HS_DMM_SIGNALLING_I0120 1247 pcCU->setLumaIntraDirSubParts( ( 1+ DIM_OFFSET ), absPartIdx, depth ); 1248 #else 1249 pcCU->setLumaIntraDirSubParts( ( 2 * DMM4_IDX + DIM_OFFSET ), absPartIdx, depth ); 1250 #endif 1251 } 1252 #endif 1210 1253 } 1211 1254 } -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibEncoder/TEncCavlc.cpp
r983 r1015 1599 1599 #endif 1600 1600 WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 , "vps_depth_modes_flag[i]" ); 1601 #if SEPARATE_FLAG_I0085 1602 WRITE_FLAG( pcVPS->getIVPFlag( i ) ? 1 : 0 , "IVP_flag[i]" ); 1603 #endif 1601 1604 //WRITE_FLAG( pcVPS->getLimQtPredFlag ( i ) ? 1 : 0 , "lim_qt_pred_flag[i]" ); 1602 1605 #if H_3D_INTER_SDC -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibEncoder/TEncCfg.h
r983 r1015 414 414 #if H_3D_DIM 415 415 Bool m_useDMM; 416 #if SEPARATE_FLAG_I0085 417 Bool m_useIVP; 418 #endif 416 419 Bool m_useSDC; 417 420 Bool m_useDLT; … … 1006 1009 Bool getUseDMM () { return m_useDMM; } 1007 1010 Void setUseDMM ( Bool b) { m_useDMM = b; } 1011 #if SEPARATE_FLAG_I0085 1012 Bool getUseIVP () { return m_useIVP; } 1013 Void setUseIVP ( Bool b) { m_useIVP = b; } 1014 #endif 1008 1015 Bool getUseSDC () { return m_useSDC; } 1009 1016 Void setUseSDC ( Bool b) { m_useSDC = b; } -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibEncoder/TEncSbac.cpp
r994 r1015 255 255 curCost += m_CUTransquantBypassFlagSCModel.calcCost( curSliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG ); 256 256 #if H_3D_DIM 257 #if SEPARATE_FLAG_I0085 258 if( m_pcSlice->getVpsDepthModesFlag() || m_pcSlice->getIVPFlag() ) 259 #else 257 260 if( m_pcSlice->getVpsDepthModesFlag() ) 261 #endif 258 262 { 259 263 curCost += m_cDepthIntraModeSCModel.calcCost ( curSliceType, qp, (UChar*)INIT_DEPTH_INTRA_MODE ); … … 1134 1138 dir[j] = pcCU->getLumaIntraDir( absPartIdx+partOffset*j ); 1135 1139 #if H_3D_DIM 1140 #if SEPARATE_FLAG_I0085 1141 if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() ) 1142 #else 1136 1143 if( pcCU->getSlice()->getVpsDepthModesFlag() ) 1144 #endif 1137 1145 { 1138 1146 codeIntraDepth( pcCU, absPartIdx+partOffset*j ); … … 1280 1288 } 1281 1289 //mode coding 1290 #if SEPARATE_FLAG_I0085 1291 if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag()) 1292 { 1293 m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); 1294 } 1295 #else 1282 1296 m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) ); 1297 #endif 1283 1298 } 1284 1299 } -
branches/HTM-11.2-dev3-Samsung/source/Lib/TLibEncoder/TEncSearch.cpp
r1014 r1015 3132 3132 3133 3133 #if H_3D_DIM_DMM 3134 #if SEPARATE_FLAG_I0085 3135 if( ( m_pcEncCfg->getUseDMM() || m_pcEncCfg->getUseIVP() ) 3136 #else 3134 3137 if( m_pcEncCfg->getUseDMM() 3138 #endif 3135 3139 #if H_3D_FAST_DEPTH_INTRA 3136 3140 && (uiRdModeList[0] != PLANAR_IDX || varCU >= varThreshold) … … 3138 3142 ) 3139 3143 { 3144 #if SEPARATE_FLAG_I0085 3145 UInt uiStart, uiEnd; 3146 if( m_pcEncCfg->getUseDMM() && m_pcEncCfg->getUseIVP() ) 3147 { 3148 uiStart = 0; 3149 uiEnd = 2; 3150 } 3151 else if( m_pcEncCfg->getUseDMM() ) 3152 { 3153 uiStart = 0; 3154 uiEnd = 1; 3155 } 3156 else if( m_pcEncCfg->getUseIVP() ) 3157 { 3158 uiStart = 1; 3159 uiEnd = 2; 3160 } 3161 else 3162 { 3163 uiStart = 0; 3164 uiEnd = 0; 3165 } 3166 for( UInt dmmType = uiStart; dmmType < uiEnd; dmmType++ ) 3167 #else 3140 3168 for( UInt dmmType = 0; dmmType < DMM_NUM_TYPE; dmmType++ ) 3169 #endif 3141 3170 { 3142 3171 #if H_3D_FCO
Note: See TracChangeset for help on using the changeset viewer.