Changeset 1222 in 3DVCSoftware for branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder
- Timestamp:
- 21 May 2015, 15:43:58 (10 years ago)
- Location:
- branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1200 r1222 3400 3400 3401 3401 #endif 3402 #if H_3D_DBBP3402 #if NH_3D_DBBP 3403 3403 Void TDecCavlc::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 3404 3404 { -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecCAVLC.h
r1200 r1222 127 127 Void parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 128 128 #endif 129 #if H_3D_DBBP129 #if NH_3D_DBBP 130 130 Void parseDBBPFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 131 131 #endif -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecCu.cpp
r1217 r1222 52 52 m_ppcYuvReco = NULL; 53 53 m_ppcCU = NULL; 54 #if H_3D_DBBP54 #if NH_3D_DBBP 55 55 m_ppcYuvRecoDBBP = NULL; 56 56 #endif … … 81 81 m_ppcYuvReco = new TComYuv*[m_uiMaxDepth-1]; 82 82 m_ppcCU = new TComDataCU*[m_uiMaxDepth-1]; 83 #if H_3D_DBBP83 #if NH_3D_DBBP 84 84 m_ppcYuvRecoDBBP = new TComYuv*[m_uiMaxDepth-1]; 85 85 #endif … … 95 95 m_ppcYuvReco[ui] = new TComYuv; m_ppcYuvReco[ui]->create( uiWidth, uiHeight, chromaFormatIDC ); 96 96 m_ppcCU [ui] = new TComDataCU; m_ppcCU [ui]->create( chromaFormatIDC, uiNumPartitions, uiWidth, uiHeight, true, uiMaxWidth >> (m_uiMaxDepth - 1) ); 97 #if H_3D_DBBP98 m_ppcYuvRecoDBBP[ui] = new TComYuv; m_ppcYuvRecoDBBP[ui]->create( uiWidth, uiHeight );97 #if NH_3D_DBBP 98 m_ppcYuvRecoDBBP[ui] = new TComYuv; m_ppcYuvRecoDBBP[ui]->create( uiWidth, uiHeight, chromaFormatIDC ); 99 99 #endif 100 100 } … … 119 119 m_ppcYuvReco[ui]->destroy(); delete m_ppcYuvReco[ui]; m_ppcYuvReco[ui] = NULL; 120 120 m_ppcCU [ui]->destroy(); delete m_ppcCU [ui]; m_ppcCU [ui] = NULL; 121 #if H_3D_DBBP121 #if NH_3D_DBBP 122 122 m_ppcYuvRecoDBBP[ui]->destroy(); delete m_ppcYuvRecoDBBP[ui]; m_ppcYuvRecoDBBP[ui] = NULL; 123 123 #endif … … 127 127 delete [] m_ppcYuvReco; m_ppcYuvReco = NULL; 128 128 delete [] m_ppcCU ; m_ppcCU = NULL; 129 #if H_3D_DBBP129 #if NH_3D_DBBP 130 130 delete [] m_ppcYuvRecoDBBP; m_ppcYuvRecoDBBP = NULL; 131 131 #endif … … 616 616 { 617 617 case MODE_INTER: 618 #if H_3D_DBBP618 #if NH_3D_DBBP 619 619 if( m_ppcCU[uiDepth]->getDBBPFlag(0) ) 620 620 { … … 636 636 } 637 637 #endif 638 #if H_3D_DBBP638 #if NH_3D_DBBP 639 639 } 640 640 #endif … … 844 844 #endif 845 845 846 #if H_3D_DBBP846 #if NH_3D_DBBP 847 847 Void TDecCu::xReconInterDBBP( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 848 848 { … … 850 850 AOF(!pcCU->getSlice()->isIntra()); 851 851 PartSize ePartSize = pcCU->getPartitionSize( 0 ); 852 853 Int bitDepthY = pcCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA); 852 854 853 855 // get collocated depth block … … 870 872 871 873 // first, extract the two sets of motion parameters 872 UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMax CUDepth() - uiDepth ) << 1 ) ) >> 4;874 UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxTotalCUDepth() - uiDepth ) << 1 ) ) >> 4; 873 875 for( UInt uiSegment = 0; uiSegment < 2; uiSegment++ ) 874 876 { … … 883 885 } 884 886 887 #if H_3D 885 888 AOF( pcCU->getARPW(uiPartAddr) == 0 ); 886 889 AOF( pcCU->getICFlag(uiPartAddr) == false ); 887 890 AOF( pcCU->getSPIVMPFlag(uiPartAddr) == false ); 888 891 AOF( pcCU->getVSPFlag(uiPartAddr) == 0 ); 892 #endif 889 893 } 890 894 … … 926 930 927 931 // reconstruct final prediction signal by combining both segments 928 m_pcPrediction->combineSegmentsWithMask(apSegPredYuv, m_ppcYuvReco[uiDepth], pMask, pcCU->getWidth(0), pcCU->getHeight(0), 0, ePartSize );932 m_pcPrediction->combineSegmentsWithMask(apSegPredYuv, m_ppcYuvReco[uiDepth], pMask, pcCU->getWidth(0), pcCU->getHeight(0), 0, ePartSize, bitDepthY); 929 933 930 934 // inter recon 931 xDecodeInterTexture( pcCU, 0,uiDepth );935 xDecodeInterTexture( pcCU, uiDepth ); 932 936 933 937 // clip for only non-zero cbp case 934 if ( ( pcCU->getCbf( 0, TEXT_LUMA ) ) || ( pcCU->getCbf( 0, TEXT_CHROMA_U ) ) || ( pcCU->getCbf(0, TEXT_CHROMA_V) ) )935 { 936 m_ppcYuvReco[uiDepth]->addClip( m_ppcYuvReco[uiDepth], m_ppcYuvResi[uiDepth], 0, pcCU->getWidth( 0 ) );938 if ( ( pcCU->getCbf( 0, COMPONENT_Y ) ) || ( pcCU->getCbf( 0, COMPONENT_Cb ) ) || ( pcCU->getCbf(0, COMPONENT_Cr ) ) ) 939 { 940 m_ppcYuvReco[uiDepth]->addClip( m_ppcYuvReco[uiDepth], m_ppcYuvResi[uiDepth], 0, pcCU->getWidth( 0 ), pcCU->getSlice()->getSPS()->getBitDepths() ); 937 941 } 938 942 else -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecCu.h
r1200 r1222 62 62 TComDataCU** m_ppcCU; ///< CU data array 63 63 64 #if H_3D_DBBP64 #if NH_3D_DBBP 65 65 TComYuv** m_ppcYuvRecoDBBP; 66 66 #endif … … 102 102 Void xReconInter ( TComDataCU* pcCU, UInt uiDepth ); 103 103 104 #if H_3D_DBBP104 #if NH_3D_DBBP 105 105 Void xReconInterDBBP ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 106 106 #endif -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecEntropy.cpp
r1200 r1222 181 181 { 182 182 decodePUWise( pcCU, uiAbsPartIdx, uiDepth, pcSubCU ); 183 184 decodeDBBPFlag( pcCU, uiAbsPartIdx, uiDepth ); 183 185 } 184 186 } … … 292 294 293 295 ////// Parse CUs extension syntax 294 decodeDBBPFlag( pcCU, uiAbsPartIdx, uiDepth );295 296 decodeSDCFlag ( pcCU, uiAbsPartIdx, uiDepth ); 296 297 … … 308 309 { 309 310 UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx); 310 #if H_3D_DBBP311 #if NH_3D_DBBP 311 312 if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 && pcCU->getDBBPFlag(uiAbsPartIdx) == false ) 312 313 #else … … 395 396 pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx ); 396 397 #if H_3D_VSP 397 #if H_3D_DBBP398 #if NH_3D_DBBP 398 399 if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 && !pcCU->getDBBPFlag( uiAbsPartIdx ) ) 399 400 #else … … 1060 1061 } 1061 1062 #endif 1062 #if H_3D_DBBP1063 #if NH_3D_DBBP 1063 1064 Void TDecEntropy::decodeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 1064 1065 { -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecEntropy.h
r1200 r1222 95 95 virtual Void parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 96 96 #endif 97 #if H_3D_DBBP97 #if NH_3D_DBBP 98 98 virtual Void parseDBBPFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 99 99 #endif … … 183 183 Void decodeSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 184 184 #endif 185 #if H_3D_DBBP185 #if NH_3D_DBBP 186 186 Void decodeDBBPFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 187 187 #endif -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecSbac.cpp
r1200 r1222 119 119 , m_cSDCFlagSCModel ( 1, 1, NUM_SDC_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 120 120 #endif 121 #if H_3D_DBBP121 #if NH_3D_DBBP 122 122 , m_cDBBPFlagSCModel ( 1, 1, DBBP_NUM_FLAG_CTX , m_contextModels + m_numContextModels, m_numContextModels) 123 123 #endif … … 210 210 m_cSDCFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_SDC_FLAG ); 211 211 #endif 212 #if H_3D_DBBP212 #if NH_3D_DBBP 213 213 m_cDBBPFlagSCModel.initBuffer ( sliceType, qp, (UChar*)INIT_DBBP_FLAG ); 214 214 #endif … … 259 259 #if H_3D_DIM_SDC 260 260 m_cSDCFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_SDC_FLAG ); 261 #endif262 #if H_3D_DBBP263 m_cDBBPFlagSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_DBBP_FLAG );264 261 #endif 265 262 … … 2541 2538 #endif 2542 2539 2543 #if H_3D_DBBP2540 #if NH_3D_DBBP 2544 2541 Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) 2545 2542 { … … 2553 2550 PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx ); 2554 2551 AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N ); 2555 UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMax CUDepth() - uiDepth ) << 1 ) ) >> 4;2552 UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxTotalCUDepth() - uiDepth ) << 1 ) ) >> 4; 2556 2553 pcCU->setDBBPFlagSubParts(uiSymbol, uiAbsPartIdx, 0, uiDepth); 2557 2554 pcCU->setDBBPFlagSubParts(uiSymbol, uiAbsPartIdx+uiPUOffset, 1, uiDepth); -
branches/HTM-14.1-update-dev4-RWTH/source/Lib/TLibDecoder/TDecSbac.h
r1200 r1222 121 121 Void parseSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 122 122 #endif 123 #if H_3D_DBBP123 #if NH_3D_DBBP 124 124 Void parseDBBPFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 125 125 #endif … … 240 240 ContextModel3DBuffer m_cSDCFlagSCModel; 241 241 #endif 242 #if H_3D_DBBP242 #if NH_3D_DBBP 243 243 ContextModel3DBuffer m_cDBBPFlagSCModel; 244 244 #endif
Note: See TracChangeset for help on using the changeset viewer.