Changeset 872 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecCu.cpp
- Timestamp:
- 27 Mar 2014, 10:11:29 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibDecoder/TDecCu.cpp
r833 r872 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-2013, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 640 640 m_ppcCU[uiDepth]->copySubCU( pcCU, uiAbsPartIdx, uiDepth ); 641 641 642 #if H_MV_ENC_DEC_TRAC 643 #if ENC_DEC_TRACE 644 stopAtPos ( m_ppcCU[uiDepth]->getSlice()->getPOC(), 645 m_ppcCU[uiDepth]->getSlice()->getLayerId(), 646 m_ppcCU[uiDepth]->getCUPelX(), 647 m_ppcCU[uiDepth]->getCUPelY(), 648 m_ppcCU[uiDepth]->getWidth(0), 649 m_ppcCU[uiDepth]->getHeight(0) ); 650 #endif 651 #endif 652 642 653 switch( m_ppcCU[uiDepth]->getPredictionMode(0) ) 643 654 { … … 918 929 #endif 919 930 931 #if H_3D && UPDATE_HM13 932 Bool useDltFlag = (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()); 933 934 if ( pcCU->getCbf( uiAbsPartIdx, TEXT_LUMA, uiTrDepth ) || useDltFlag ) 935 #else 936 if ( pcCU->getCbf( uiAbsPartIdx, TEXT_LUMA, uiTrDepth ) ) 937 #endif 938 { 920 939 //===== inverse transform ===== 921 940 m_pcTrQuant->setQPforQuant ( pcCU->getQP(0), TEXT_LUMA, pcCU->getSlice()->getSPS()->getQpBDOffsetY(), 0 ); 922 941 923 942 Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)TEXT_LUMA]; 924 assert(scalingListType < 6);943 assert(scalingListType < SCALING_LIST_NUM); 925 944 m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), TEXT_LUMA, pcCU->getLumaIntraDir( uiAbsPartIdx ), piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkip ); 926 945 … … 936 955 { 937 956 #if H_3D 957 #if UPDATE_HM13 958 if ( useDltFlag ) 959 #else 938 960 if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) ) 961 #endif 939 962 { 940 963 pReco [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) ); … … 953 976 pReco += uiStride; 954 977 pRecIPred += uiRecIPredStride; 978 } 979 } 980 else 981 { 982 //===== reconstruction ===== 983 Pel* pPred = piPred; 984 Pel* pReco = piReco; 985 Pel* pRecIPred = piRecIPred; 986 for ( Int y = 0; y < uiHeight; y++ ) 987 { 988 for ( Int x = 0; x < uiWidth; x++ ) 989 { 990 pReco [ x ] = pPred[ x ]; 991 pRecIPred[ x ] = pReco[ x ]; 992 } 993 pPred += uiStride; 994 pReco += uiStride; 995 pRecIPred += uiRecIPredStride; 996 } 955 997 } 956 998 } … … 1022 1064 } 1023 1065 1066 if ( pcCU->getCbf( uiAbsPartIdx, eText, uiTrDepth ) ) 1067 { 1024 1068 //===== inverse transform ===== 1025 1069 Int curChromaQpOffset; … … 1035 1079 1036 1080 Int scalingListType = (pcCU->isIntra(uiAbsPartIdx) ? 0 : 3) + g_eTTable[(Int)eText]; 1037 assert(scalingListType < 6);1081 assert(scalingListType < SCALING_LIST_NUM); 1038 1082 m_pcTrQuant->invtransformNxN( pcCU->getCUTransquantBypass(uiAbsPartIdx), eText, REG_DCT, piResi, uiStride, pcCoeff, uiWidth, uiHeight, scalingListType, useTransformSkipChroma ); 1039 1083 … … 1054 1098 pReco += uiStride; 1055 1099 pRecIPred += uiRecIPredStride; 1100 } 1101 } 1102 else 1103 { 1104 //===== reconstruction ===== 1105 Pel* pPred = piPred; 1106 Pel* pReco = piReco; 1107 Pel* pRecIPred = piRecIPred; 1108 for ( Int y = 0; y < uiHeight; y++ ) 1109 { 1110 for ( Int x = 0; x < uiWidth; x++ ) 1111 { 1112 pReco [ x ] = pPred[ x ]; 1113 pRecIPred[ x ] = pReco[ x ]; 1114 } 1115 pPred += uiStride; 1116 pReco += uiStride; 1117 pRecIPred += uiRecIPredStride; 1118 } 1056 1119 } 1057 1120 }
Note: See TracChangeset for help on using the changeset viewer.