Changeset 1256 in 3DVCSoftware for branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibDecoder
- Timestamp:
- 12 Jun 2015, 18:09:57 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-14.1-update-dev2-Orange/source/Lib/TLibDecoder/TDecSbac.cpp
r1225 r1256 721 721 722 722 UInt uiSymbol; 723 #if H_3D_QTLPC723 #if NH_3D_QTLPC 724 724 Bool bParseSplitFlag = true; 725 725 Bool bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag(); … … 736 736 #endif 737 737 { 738 TComDataCU *pcTextureCU = pcTexture->getC U(pcCU->getAddr());738 TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr()); 739 739 assert(pcTextureCU->getDepth(uiAbsPartIdx) >= uiDepth); 740 740 bParseSplitFlag = (pcTextureCU->getDepth(uiAbsPartIdx) > uiDepth); … … 751 751 DTRACE_CABAC_T( "\tSplitFlag\n" ) 752 752 #endif 753 #if H_3D_QTLPC753 #if NH_3D_QTLPC 754 754 } 755 755 else … … 783 783 assert ( pcCU->getSlice()->getSPS()->getLog2DiffMaxMinCodingBlockSize() == log2DiffMaxMinCodingBlockSize); 784 784 785 #if H_3D_QTLPC785 #if NH_3D_QTLPC 786 786 Bool bParsePartSize = true; 787 787 … … 802 802 #endif 803 803 { 804 TComDataCU *pcTextureCU = pcTexture->getC U(pcCU->getAddr());804 TComDataCU *pcTextureCU = pcTexture->getCtu(pcCU->getCtuRsAddr()); 805 805 assert(pcTextureCU->getDepth(uiAbsPartIdx) >= uiDepth); 806 806 if(pcTextureCU->getDepth(uiAbsPartIdx) == uiDepth ) … … 819 819 if ( pcCU->isIntra( uiAbsPartIdx ) ) 820 820 { 821 #if H_3D_QTLPC821 #if NH_3D_QTLPC 822 822 if(bParsePartSize) 823 823 { … … 832 832 } 833 833 eMode = uiSymbol ? SIZE_2Nx2N : SIZE_NxN; 834 #if H_3D_QTLPC834 #if NH_3D_QTLPC 835 835 } 836 836 #endif … … 850 850 else 851 851 { 852 #if H_3D_QTLPC852 #if NH_3D_QTLPC 853 853 if(bParsePartSize) 854 854 { … … 894 894 } 895 895 } 896 #if H_3D_QTLPC896 #if NH_3D_QTLPC 897 897 } 898 898 else if(uiTexturePart == SIZE_2NxN || uiTexturePart == SIZE_2NxnU || uiTexturePart == SIZE_2NxnD) 899 899 { 900 900 UInt uiMaxNumBits = 1; 901 if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ))901 if ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) 902 902 { 903 903 uiMaxNumBits ++; … … 905 905 for ( UInt ui = 0; ui < uiMaxNumBits; ui++ ) 906 906 { 907 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) );907 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype) ); 908 908 if ( uiSymbol ) 909 909 { … … 913 913 } 914 914 eMode = (PartSize) uiMode; 915 if(uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth) && uiSymbol==1 )915 if(uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==1 ) 916 916 { 917 917 eMode = SIZE_2NxN; 918 918 } 919 else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth )==0&& uiSymbol==0)919 else if (uiMode && (( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )==0) && uiSymbol==0) 920 920 { 921 921 eMode = SIZE_2NxN; 922 922 } 923 else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth) && uiSymbol==0)924 { 925 m_pcTDecBinIf->decodeBinEP(uiSymbol );923 else if (uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==0) 924 { 925 m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype)); 926 926 eMode = (uiSymbol == 0? SIZE_2NxnU : SIZE_2NxnD); 927 927 } … … 930 930 { 931 931 UInt uiMaxNumBits = 1; 932 if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) )932 if ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) 933 933 { 934 934 uiMaxNumBits ++; … … 936 936 for ( UInt ui = 0; ui < uiMaxNumBits; ui++ ) 937 937 { 938 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) );938 m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, ui) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype)); 939 939 if ( uiSymbol ) 940 940 { … … 944 944 } 945 945 eMode = (PartSize) uiMode; 946 if(uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth) && uiSymbol==1 )946 if(uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==1 ) 947 947 { 948 948 eMode = SIZE_Nx2N; 949 949 } 950 else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth )==0&& uiSymbol==0)950 else if (uiMode && (( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize )==0) && uiSymbol==0) 951 951 { 952 952 eMode = SIZE_Nx2N; 953 953 } 954 else if (uiMode && pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth) && uiSymbol==0)955 { 956 m_pcTDecBinIf->decodeBinEP(uiSymbol );954 else if (uiMode && ( ( pcCU->getSlice()->getSPS()->getUseAMP() && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiDepth < log2DiffMaxMinCodingBlockSize ) && uiSymbol==0) 955 { 956 m_pcTDecBinIf->decodeBinEP(uiSymbol RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(ctype)); 957 957 eMode = (uiSymbol == 0? SIZE_nLx2N : SIZE_nRx2N); 958 958 } … … 966 966 DTRACE_CU("part_mode", eMode ) 967 967 #endif 968 #if H_3D_QTLPC968 #if NH_3D_QTLPC 969 969 } 970 970 #endif
Note: See TracChangeset for help on using the changeset viewer.