Changeset 826 in 3DVCSoftware for branches/HTM-9.3-dev0/source/Lib/TLibEncoder
- Timestamp:
- 5 Feb 2014, 18:55:49 (11 years ago)
- Location:
- branches/HTM-9.3-dev0/source/Lib/TLibEncoder
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.3-dev0/source/Lib/TLibEncoder/TEncCu.cpp
r821 r826 563 563 bTryNx2N = false; 564 564 bTry2NxN = false; 565 #if MTK_TEX_DEP_PAR_G0055 566 if( pcTextureCU->getDepth(uiCUIdx) == uiDepth && pcTextureCU->getPartitionSize(uiCUIdx) != SIZE_2Nx2N) 567 { 568 if(pcTextureCU->getPartitionSize(uiCUIdx)==SIZE_2NxN || pcTextureCU->getPartitionSize(uiCUIdx)==SIZE_2NxnU|| pcTextureCU->getPartitionSize(uiCUIdx)==SIZE_2NxnD) 569 bTry2NxN = true; 570 else 571 bTryNx2N = true; 572 } 573 #endif 565 574 } 566 575 } … … 1611 1620 #endif 1612 1621 m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx ); 1622 #if !SEC_IC_ARP_SIG_G0072 1613 1623 #if H_3D_IC 1614 1624 m_pcEntropyCoder->encodeICFlag ( pcCU, uiAbsPartIdx ); 1615 1625 #endif 1626 #endif 1616 1627 #if H_3D_ARP 1617 1628 m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx ); 1629 #endif 1630 #if SEC_IC_ARP_SIG_G0072 1631 #if H_3D_IC 1632 m_pcEntropyCoder->encodeICFlag ( pcCU, uiAbsPartIdx ); 1633 #endif 1618 1634 #endif 1619 1635 finishCU(pcCU,uiAbsPartIdx,uiDepth); … … 1638 1654 // prediction Info ( Intra : direction mode, Inter : Mv, reference idx ) 1639 1655 m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx ); 1656 #if !SEC_IC_ARP_SIG_G0072 1640 1657 #if H_3D_IC 1641 1658 m_pcEntropyCoder->encodeICFlag ( pcCU, uiAbsPartIdx ); 1642 1659 #endif 1660 #endif 1643 1661 #if H_3D_ARP 1644 1662 m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx ); 1663 #endif 1664 #if SEC_IC_ARP_SIG_G0072 1665 #if H_3D_IC 1666 m_pcEntropyCoder->encodeICFlag ( pcCU, uiAbsPartIdx ); 1667 #endif 1645 1668 #endif 1646 1669 #if H_3D_INTER_SDC … … 1872 1895 #if H_3D_ARP 1873 1896 Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1; 1897 #if SEC_IC_ARP_SIG_G0072 1898 if( nARPWMax < 0 || !rpcTempCU->getDvInfo(0).bDV || bICFlag ) 1899 #else 1874 1900 if( nARPWMax < 0 || !rpcTempCU->getDvInfo(0).bDV ) 1901 #endif 1875 1902 { 1876 1903 nARPWMax = 0; … … 2177 2204 Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1; 2178 2205 2206 #if SEC_IC_ARP_SIG_G0072 2207 if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || !rpcTempCU->getDvInfo(0).bDV || rpcTempCU->getICFlag(0) ) 2208 #else 2179 2209 if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || !rpcTempCU->getDvInfo(0).bDV ) 2210 #endif 2180 2211 { 2181 2212 nARPWMax = 0; -
branches/HTM-9.3-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp
r820 r826 160 160 Void TEncEntropy::encodeICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD ) 161 161 { 162 #if SEC_IC_ARP_SIG_G0072 163 if ( pcCU->isIntra( uiAbsPartIdx ) || ( pcCU->getSlice()->getViewIndex() == 0 ) || pcCU->getSlice()->getIsDepth() || pcCU->getARPW( uiAbsPartIdx ) > 0 ) 164 #else 162 165 if ( pcCU->isIntra( uiAbsPartIdx ) || ( pcCU->getSlice()->getViewIndex() == 0 ) || pcCU->getSlice()->getIsDepth() ) 166 #endif 163 167 { 164 168 return; -
branches/HTM-9.3-dev0/source/Lib/TLibEncoder/TEncSbac.cpp
r820 r826 691 691 Bool rapPic = (pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA); 692 692 693 #if MTK_TEX_DEP_PAR_G0055 694 Bool depthDependent = false; 695 UInt uiTexturePart = eSize; 696 #endif 693 697 if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC() ) 694 698 { … … 696 700 UInt uiCUIdx = (pcCU->getZorderIdxInCU() == 0) ? uiAbsPartIdx : pcCU->getZorderIdxInCU(); 697 701 assert(pcTextureCU->getDepth(uiCUIdx) >= uiDepth); 702 #if !MTK_TEX_DEP_PAR_G0055 698 703 if (pcTextureCU->getDepth(uiCUIdx) == uiDepth && pcTextureCU->getPartitionSize( uiCUIdx ) != SIZE_NxN) 704 #else 705 if(pcTextureCU->getDepth(uiCUIdx) == uiDepth ) 706 { 707 depthDependent = true; 708 uiTexturePart = pcTextureCU->getPartitionSize( uiCUIdx ); 709 } 710 if (pcTextureCU->getDepth(uiCUIdx) == uiDepth && pcTextureCU->getPartitionSize( uiCUIdx ) == SIZE_2Nx2N) 711 #endif 699 712 { 700 713 assert( eSize == SIZE_2Nx2N ); … … 718 731 DTRACE_CU("part_mode", eSize ) 719 732 #endif 733 #if MTK_TEX_DEP_PAR_G0055 734 if (depthDependent==false || uiTexturePart == SIZE_NxN|| uiTexturePart == SIZE_2Nx2N) 735 { 736 #endif 720 737 switch(eSize) 721 738 { … … 784 801 } 785 802 } 803 #if MTK_TEX_DEP_PAR_G0055 804 } 805 else if(uiTexturePart == SIZE_2NxN || uiTexturePart == SIZE_2NxnU || uiTexturePart == SIZE_2NxnD) 806 { 807 //assert(eSize!=SIZE_NxN); 808 //assert(eSize!=SIZE_Nx2N); 809 //assert(eSize==SIZE_2Nx2N || eSize==SIZE_2NxN || eSize==SIZE_2NxnU || eSize==SIZE_2NxnD); 810 switch(eSize) 811 { 812 case SIZE_2Nx2N: 813 { 814 m_pcBinIf->encodeBin( 1, m_cCUPartSizeSCModel.get( 0, 0, 0) ); 815 break; 816 } 817 case SIZE_2NxN: 818 { 819 m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 0) ); 820 if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) ) 821 { 822 m_pcBinIf->encodeBin( 1, m_cCUPartSizeSCModel.get( 0, 0, 1) ); 823 } 824 break; 825 } 826 case SIZE_2NxnU: 827 case SIZE_2NxnD: 828 { 829 m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 0) ); 830 m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 1) ); 831 m_pcBinIf->encodeBinEP((eSize == SIZE_2NxnU? 0: 1)); 832 break; 833 } 834 default: 835 { 836 assert(0); 837 } 838 } 839 } 840 else if(uiTexturePart == SIZE_Nx2N|| uiTexturePart==SIZE_nLx2N || uiTexturePart==SIZE_nRx2N) 841 { 842 //assert(eSize!=SIZE_NxN); 843 //assert(eSize!=SIZE_2NxN); 844 //assert(eSize==SIZE_2Nx2N ||eSize==SIZE_Nx2N || eSize==SIZE_nLx2N || eSize==SIZE_nRx2N); 845 switch(eSize) 846 { 847 case SIZE_2Nx2N: 848 { 849 m_pcBinIf->encodeBin( 1, m_cCUPartSizeSCModel.get( 0, 0, 0) ); 850 break; 851 } 852 case SIZE_Nx2N: 853 { 854 m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 0) ); 855 if ( pcCU->getSlice()->getSPS()->getAMPAcc( uiDepth ) ) 856 { 857 m_pcBinIf->encodeBin( 1, m_cCUPartSizeSCModel.get( 0, 0, 1) ); 858 } 859 break; 860 } 861 case SIZE_nLx2N: 862 case SIZE_nRx2N: 863 { 864 m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 0) ); 865 m_pcBinIf->encodeBin( 0, m_cCUPartSizeSCModel.get( 0, 0, 1) ); 866 m_pcBinIf->encodeBinEP((eSize == SIZE_nLx2N? 0: 1)); 867 break; 868 } 869 default: 870 { 871 assert(0); 872 } 873 } 874 } 875 else 876 { 877 printf("uiTexturePart=%d",uiTexturePart); 878 assert(0); 879 } 880 #endif 786 881 } 787 882 … … 918 1013 if( nBinNum > 1 ) 919 1014 { 1015 #if MTK_ARP_FLAG_CABAC_SIMP_G0061 1016 m_pcBinIf->encodeBin( ( iW == iMaxW ) ? 1 : 0, m_cCUPUARPWSCModel.get( 0, 0, 2 ) ); 1017 #else 920 1018 m_pcBinIf->encodeBin( ( iW == iMaxW ) ? 1 : 0, m_cCUPUARPWSCModel.get( 0, 0, 3 ) ); 1019 #endif 921 1020 } 922 1021 #if H_MV_ENC_DEC_TRAC … … 936 1035 // get context function is here 937 1036 UInt uiSymbol = pcCU->getICFlag( uiAbsPartIdx ) ? 1 : 0; 1037 #if MTK_IC_FLAG_CABAC_SIMP_G0061 1038 m_pcBinIf->encodeBin( uiSymbol, m_cCUICFlagSCModel.get( 0, 0, 0 ) ); 1039 #else 938 1040 UInt uiCtxIC = pcCU->getCtxICFlag( uiAbsPartIdx ) ; 939 1041 m_pcBinIf->encodeBin( uiSymbol, m_cCUICFlagSCModel.get( 0, 0, uiCtxIC ) ); 1042 #endif 940 1043 #if !H_MV_ENC_DEC_TRAC 941 1044 DTRACE_CABAC_VL( g_nSymbolCounter++ ); -
branches/HTM-9.3-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r820 r826 5456 5456 m_pcEntropyCoder->encodeSkipFlag(pcCU, 0, true); 5457 5457 m_pcEntropyCoder->encodeMergeIndex( pcCU, 0, true ); 5458 #if !SEC_IC_ARP_SIG_G0072 5458 5459 #if H_3D_IC 5459 5460 m_pcEntropyCoder->encodeICFlag( pcCU, 0, true ); 5460 5461 #endif 5462 #endif 5461 5463 #if H_3D_ARP 5462 5464 m_pcEntropyCoder->encodeARPW( pcCU, 0 ); 5465 #endif 5466 #if SEC_IC_ARP_SIG_G0072 5467 #if H_3D_IC 5468 m_pcEntropyCoder->encodeICFlag( pcCU, 0, true ); 5469 #endif 5463 5470 #endif 5464 5471 uiBits = m_pcEntropyCoder->getNumberOfWrittenBits(); … … 7036 7043 m_pcEntropyCoder->encodeSkipFlag(pcCU, 0, true); 7037 7044 m_pcEntropyCoder->encodeMergeIndex(pcCU, 0, true); 7045 #if !SEC_IC_ARP_SIG_G0072 7038 7046 #if H_3D_IC 7039 7047 m_pcEntropyCoder->encodeICFlag( pcCU, 0, true ); 7040 7048 #endif 7049 #endif 7041 7050 #if H_3D_ARP 7042 7051 m_pcEntropyCoder->encodeARPW( pcCU, 0 ); 7052 #endif 7053 #if SEC_IC_ARP_SIG_G0072 7054 #if H_3D_IC 7055 m_pcEntropyCoder->encodeICFlag( pcCU, 0, true ); 7056 #endif 7043 7057 #endif 7044 7058 ruiBits += m_pcEntropyCoder->getNumberOfWrittenBits(); … … 7055 7069 m_pcEntropyCoder->encodePartSize( pcCU, 0, pcCU->getDepth(0), true ); 7056 7070 m_pcEntropyCoder->encodePredInfo( pcCU, 0, true ); 7071 #if !SEC_IC_ARP_SIG_G0072 7057 7072 #if H_3D_IC 7058 7073 m_pcEntropyCoder->encodeICFlag( pcCU, 0, true ); 7059 7074 #endif 7075 #endif 7060 7076 #if H_3D_ARP 7061 7077 m_pcEntropyCoder->encodeARPW( pcCU , 0 ); 7078 #endif 7079 #if SEC_IC_ARP_SIG_G0072 7080 #if H_3D_IC 7081 m_pcEntropyCoder->encodeICFlag( pcCU, 0, true ); 7082 #endif 7062 7083 #endif 7063 7084 #if H_3D_INTER_SDC
Note: See TracChangeset for help on using the changeset viewer.