Changeset 1223 in 3DVCSoftware
- Timestamp:
- 21 May 2015, 21:48:53 (10 years ago)
- Location:
- branches/HTM-14.1-update-dev1-RWTH/source
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-14.1-update-dev1-RWTH/source/App/TAppEncoder/TAppEncCfg.cpp
r1209 r1223 1363 1363 ; 1364 1364 1365 #if NH_MV 1365 // FJ: this should be removed as soon as Inter-SDC is fully implemented 1366 #if !NH_3D_INTER_SDC 1367 m_interSdcFlag = false; 1368 #endif 1369 1370 #if NH_MV 1366 1371 // parse coding structure 1367 1372 for( Int k = 0; k < MAX_NUM_LAYERS; k++ ) -
branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComRom.cpp
r1221 r1223 543 543 UInt64 g_nSymbolCounter = 0; 544 544 #if H_MV_ENC_DEC_TRAC 545 Bool g_traceCU = true;545 Bool g_traceCU = false; 546 546 Bool g_tracePU = false; 547 547 Bool g_traceTU = false; 548 Bool g_disableNumbering = true;549 Bool g_disableHLSTrace = true;548 Bool g_disableNumbering = false; 549 Bool g_disableHLSTrace = false; 550 550 UInt64 g_stopAtCounter = 937234; 551 551 Bool g_traceCopyBack = false; -
branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TComRom.h
r1221 r1223 157 157 // Change later 158 158 #ifndef ENC_DEC_TRACE 159 #define ENC_DEC_TRACE 1159 #define ENC_DEC_TRACE 0 160 160 #endif 161 161 #endif … … 176 176 #define DTRACE_CABAC_R( x,y ) if ( ( g_nSymbolCounter >= COUNTER_START && g_nSymbolCounter <= COUNTER_END )|| g_bJustDoIt ) fprintf( g_hTrace, x, y ); 177 177 #define DTRACE_CABAC_N if ( ( g_nSymbolCounter >= COUNTER_START && g_nSymbolCounter <= COUNTER_END )|| g_bJustDoIt ) fprintf( g_hTrace, "\n" ); 178 179 178 #if H_MV_ENC_DEC_TRAC 180 179 extern Bool g_traceCU; -
branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibCommon/TypeDef.h
r1221 r1223 65 65 ///////////////////////////////////////////////////////////////////////////////////////// 66 66 #if NH_MV 67 #define H_MV_ENC_DEC_TRAC 1//< CU/PU level tracking67 #define H_MV_ENC_DEC_TRAC 0 //< CU/PU level tracking 68 68 69 69 #if NH_3D 70 70 #define NH_3D_VSO 1 71 #define NH_3D_DMM 1// Depth modeling modes72 #define NH_3D_DLT 0// Depth Lookup Table71 #define NH_3D_DMM 0 // Depth modeling modes 72 #define NH_3D_DLT 1 // Depth Lookup Table 73 73 #define NH_3D_INTRA_SDC 1 // Segment-wise DC Coding method for INTRA 74 74 #define NH_3D_ENC_DEPTH 1 // Encoder optimizations for depth, incl. -
branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.cpp
r1221 r1223 1275 1275 const UInt uiAbsPartIdxTU = tuRecurseWithPU.GetAbsPartIdxTU(); 1276 1276 1277 Pel* piPredTU = pcPredYuv->getAddr ( COMPONENT_Y, uiAbsPartIdxTU ); 1278 UInt uiStrideTU = pcPredYuv->getStride ( COMPONENT_Y ); 1277 Pel* piPredTU = pcPredYuv->getAddr ( COMPONENT_Y, uiAbsPartIdxTU ); 1278 UInt uiStrideTU = pcPredYuv->getStride( COMPONENT_Y ); 1279 1280 Pel* piRecIPredTU = pcCU->getPic()->getPicYuvRec()->getAddr( COMPONENT_Y, pcCU->getCtuRsAddr(), pcCU->getZorderIdxInCtu() + uiAbsPartIdxTU ); 1281 UInt uiRecIPredStrideTU = pcCU->getPic()->getPicYuvRec()->getStride(COMPONENT_Y); 1282 1283 const Bool bUseFilter = TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, uiLumaPredMode, puRect.width, puRect.height, chFmt, sps.getSpsRangeExtension().getIntraSmoothingDisabledFlag()); 1279 1284 1280 1285 //===== init pattern for luma prediction ===== … … 1282 1287 Bool bLeftAvail = false; 1283 1288 1284 if (tuRecurseWithPU.ProcessComponentSection(COMPONENT_Y)) 1285 { 1286 m_pcPrediction->initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, true DEBUG_STRING_PASS_INTO(sTemp2) ); 1287 } 1289 m_pcPrediction->initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, bUseFilter DEBUG_STRING_PASS_INTO(sTemp) ); 1288 1290 1289 const Bool bUseFilter = TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, uiLumaPredMode, puRect.width, puRect.height, chFmt, sps.getSpsRangeExtension().getIntraSmoothingDisabledFlag());1291 m_pcPrediction->predIntraAng( COMPONENT_Y, uiLumaPredMode, NULL, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter ); 1290 1292 1291 m_pcPrediction->predIntraAng( COMPONENT_Y, uiLumaPredMode, NULL, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter, TComPrediction::UseDPCMForFirstPassIntraEstimation(tuRecurseWithPU, uiLumaPredMode) ); 1293 // copy for prediction of next part 1294 for( UInt uiY = 0; uiY < puRect.height; uiY++ ) 1295 { 1296 for( UInt uiX = 0; uiX < puRect.width; uiX++ ) 1297 { 1298 piPredTU [ uiX ] = ClipBD( piPredTU[ uiX ], bitDepthY ); 1299 piRecIPredTU [ uiX ] = piPredTU[ uiX ]; 1300 } 1301 piPredTU += uiStrideTU; 1302 piRecIPredTU += uiRecIPredStrideTU; 1303 } 1304 1292 1305 1293 1306 } while (tuRecurseWithPU.nextSection(tuRecurseCU)); -
branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibDecoder/TDecSbac.cpp
r1221 r1223 2409 2409 } 2410 2410 } 2411 2411 #if H_MV_ENC_DEC_TRAC 2412 2412 DTRACE_CU("delta_dc", rValDeltaDC); 2413 #endif 2413 2414 } 2414 2415 … … 2509 2510 2510 2511 m_pcTDecBinIf->decodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, 0 ) ); 2512 #if H_MV_ENC_DEC_TRAC 2511 2513 DTRACE_CU("dc_only_flag", uiSymbol) 2514 #endif 2512 2515 if( uiSymbol ) 2513 2516 { -
branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncSbac.cpp
r1221 r1223 2540 2540 Void TEncSbac::xCodeDeltaDC( Pel valDeltaDC, UInt uiNumSeg ) 2541 2541 { 2542 #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC 2542 2543 DTRACE_CU("delta_dc", valDeltaDC); 2544 #endif 2543 2545 xWriteExGolombLevelDdc( UInt( abs( valDeltaDC ) - ( uiNumSeg > 1 ? 0 : 1 ) ) ); 2544 2546 if( valDeltaDC != 0 ) … … 2630 2632 { 2631 2633 UInt uiSymbol = pcCU->getSDCFlag( uiAbsPartIdx ) ? 1 : 0; 2634 #if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC 2632 2635 DTRACE_CU("dc_only_flag", uiSymbol) 2636 #endif 2633 2637 m_pcBinIf->encodeBin( uiSymbol, m_cSDCFlagSCModel.get( 0, 0, 0 ) ); 2634 2638 } -
branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncSearch.cpp
r1221 r1223 1053 1053 #if NH_3D_INTRA_SDC 1054 1054 m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true ); 1055 #if NH_3D_DMM 1055 1056 if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( 0 ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, 0 ) ) ) 1056 1057 { 1057 1058 m_pcEntropyCoder->encodeDeltaDC( pcCU, 0 ); 1058 1059 } 1060 #endif 1059 1061 #endif 1060 1062 } … … 1071 1073 for( UInt uiPart = 0; uiPart < 4; uiPart++ ) 1072 1074 { 1075 #if NH_3D_DMM 1073 1076 if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiPart * uiQNumParts ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, uiPart * uiQNumParts ) ) ) 1074 1077 { 1075 1078 m_pcEntropyCoder->encodeDeltaDC( pcCU, uiPart * uiQNumParts ); 1076 1079 } 1080 #endif 1077 1081 #endif 1078 1082 #if NH_3D_INTRA_SDC … … 1081 1085 m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true ); 1082 1086 } 1083 if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiAbsPartIdx ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, uiAbsPartIdx ) ) ) 1087 #if NH_3D_DMM 1088 if( pcCU->getSlice()->getIsDepth() && ( pcCU->getSDCFlag( uiAbsPartIdx ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, uiAbsPartIdx ) ) ) 1084 1089 { 1085 1090 m_pcEntropyCoder->encodeDeltaDC( pcCU, uiAbsPartIdx ); 1086 1091 } 1092 #endif 1087 1093 #endif 1088 1094 #if H_3D … … 2069 2075 UInt uiStrideTU = pcPredYuv->getStride ( COMPONENT_Y ); 2070 2076 2077 Pel* piRecIPredTU = pcCU->getPic()->getPicYuvRec()->getAddr( COMPONENT_Y, pcCU->getCtuRsAddr(), pcCU->getZorderIdxInCtu() + uiAbsPartIdxTU ); 2078 UInt uiRecIPredStrideTU = pcCU->getPic()->getPicYuvRec()->getStride(COMPONENT_Y); 2079 2080 const Bool bUseFilter = TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, uiLumaPredMode, puRect.width, puRect.height, chFmt, sps.getSpsRangeExtension().getIntraSmoothingDisabledFlag()); 2081 2071 2082 //===== init pattern for luma prediction ===== 2072 2083 Bool bAboveAvail = false; 2073 2084 Bool bLeftAvail = false; 2074 2085 2075 if (tuRecurseWithPU.ProcessComponentSection(COMPONENT_Y)) 2076 { 2077 initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, true DEBUG_STRING_PASS_INTO(sTemp2) ); 2078 } 2086 initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, bUseFilter DEBUG_STRING_PASS_INTO(sTemp2) ); 2079 2087 2080 const Bool bUseFilter = TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, uiLumaPredMode, puRect.width, puRect.height, chFmt, sps.getSpsRangeExtension().getIntraSmoothingDisabledFlag());2088 predIntraAng( COMPONENT_Y, uiLumaPredMode, piOrgTU, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter ); 2081 2089 2082 predIntraAng( COMPONENT_Y, uiLumaPredMode, piOrgTU, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter, TComPrediction::UseDPCMForFirstPassIntraEstimation(tuRecurseWithPU, uiLumaPredMode) ); 2090 // copy for prediction of next part 2091 for( UInt uiY = 0; uiY < puRect.height; uiY++ ) 2092 { 2093 for( UInt uiX = 0; uiX < puRect.width; uiX++ ) 2094 { 2095 piPredTU [ uiX ] = ClipBD( piPredTU[ uiX ], bitDepthY ); 2096 piRecIPredTU [ uiX ] = piPredTU[ uiX ]; 2097 } 2098 piPredTU += uiStrideTU; 2099 piRecIPredTU += uiRecIPredStrideTU; 2100 } 2083 2101 2084 2102 } while (tuRecurseWithPU.nextSection(tuRecurseCU));
Note: See TracChangeset for help on using the changeset viewer.