Changeset 152 in 3DVCSoftware for branches/HTM-4.1-dev2-LG/source/Lib/TLibEncoder/TEncCu.cpp
- Timestamp:
- 26 Oct 2012, 12:08:59 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-4.1-dev2-LG/source/Lib/TLibEncoder/TEncCu.cpp
r126 r152 456 456 TComDataCU * pcTextureCU; 457 457 Bool depthMapDetect = false; 458 #if !LG_BUG_FIX 458 459 UInt uiPrevTexPartIndex = 0; 460 #endif 459 461 #if OL_DO_NOT_LIMIT_INTRA_SLICES_PART 460 462 Bool bIntraSliceDetect = false; … … 511 513 UInt uiTPelY = rpcBestCU->getCUPelY(); 512 514 UInt uiBPelY = uiTPelY + rpcBestCU->getHeight(0) - 1; 515 516 #if LGE_ILLUCOMP_B0045 517 Bool bICEnabled = (!rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getViewId()); 518 519 bICEnabled = bICEnabled && rpcTempCU->getSlice()->getApplyIC(); 520 #endif 513 521 514 522 #if HHI_INTERVIEW_SKIP … … 637 645 bTryNx2N = true; 638 646 bTry2NxN = true; 647 #if !LG_BUG_FIX 639 648 uiPrevTexPartIndex = pcTexture->getTexPartIndex(); 649 #endif 640 650 pcTexture->incrementTexPartIndex(); 641 651 } … … 648 658 //scan ahead till next depth 649 659 uiTexdepth = pcTexture->accessPartInfo(1); 660 #if !LG_BUG_FIX 650 661 uiPrevTexPartIndex = pcTexture->getTexPartIndex(); 662 #endif 651 663 pcTexture->incrementTexPartIndex(); 652 664 temp_uiTexPartIndex = pcTexture->getTexPartIndex(); //store in case to rewind … … 682 694 bTryNx2N = false; 683 695 bTry2NxN = true; 696 #if !LG_BUG_FIX 684 697 uiPrevTexPartIndex = pcTexture->getTexPartIndex(); 698 #endif 685 699 pcTexture->incrementTexPartIndex(); ; 686 700 } … … 690 704 bTryNx2N = true; 691 705 bTry2NxN = false; 706 #if !LG_BUG_FIX 692 707 uiPrevTexPartIndex = pcTexture->getTexPartIndex(); 708 #endif 693 709 pcTexture->incrementTexPartIndex(); ; 694 710 } … … 718 734 { 719 735 Bool bResPredFlag = ( uiResPrdId > 0 ); 736 #if LGE_ILLUCOMP_B0045 737 for(UInt uiICId = 0; uiICId < (bICEnabled ? 2 : 1); uiICId++) 738 { 739 Bool bICFlag = (uiICId ? true : false); 740 rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth); 741 #endif 720 742 #endif 721 743 #if HHI_INTER_VIEW_RESIDUAL_PRED … … 740 762 } 741 763 } 742 764 #if LGE_ILLUCOMP_B0045_ENCSIMP 765 if(bICFlag && rpcBestCU->getMergeFlag(0) && !rpcBestCU->getICFlag(0)) 766 { 767 bICEnabled = false; 768 break; 769 } 770 #endif 743 771 // 2Nx2N, NxN 744 772 if ( !bEarlySkip ) … … 759 787 } 760 788 } 789 #if LGE_ILLUCOMP_B0045 790 } 791 #endif 761 792 #if HHI_INTER_VIEW_RESIDUAL_PRED 762 793 } // uiResPrdId 763 794 #endif 764 795 } // != I_SLICE 796 797 #if LGE_ILLUCOMP_B0045_ENCSIMP 798 bICEnabled = rpcBestCU->getICFlag(0); 799 #endif 765 800 766 801 #if OL_DEPTHLIMIT_A0044 … … 841 876 { 842 877 Bool bResPredFlag = ( uiResPrdId > 0 ); 878 #if LGE_ILLUCOMP_B0045 879 for(UInt uiICId = 0; uiICId < (bICEnabled ? 2 : 1); uiICId++) 880 { 881 Bool bICFlag = (uiICId ? true : false); 882 rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uiDepth); 883 #endif 843 884 #endif 844 885 // 2Nx2N, NxN … … 1376 1417 } //! Try AMP (SIZE_2NxnU, SIZE_2NxnD, SIZE_nLx2N, SIZE_nRx2N) 1377 1418 #endif 1419 #if LGE_ILLUCOMP_B0045 1420 } 1421 #endif 1378 1422 #if HHI_INTER_VIEW_RESIDUAL_PRED 1379 1423 } // uiResPrdId … … 1401 1445 #endif 1402 1446 { 1447 #if LGE_ILLUCOMP_B0045 1448 rpcTempCU->setICFlagSubParts(false, 0, 0, uiDepth); 1449 #endif 1403 1450 xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_2Nx2N ); 1404 1451 rpcTempCU->initEstData( uiDepth, iQP ); … … 1418 1465 if( rpcTempCU->getWidth(0) > ( 1 << rpcTempCU->getSlice()->getSPS()->getQuadtreeTULog2MinSize() ) ) 1419 1466 { 1467 #if LGE_ILLUCOMP_B0045 1468 rpcTempCU->setICFlagSubParts(false, 0, 0, uiDepth); 1469 #endif 1420 1470 xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_NxN ); 1421 1471 rpcTempCU->initEstData( uiDepth, iQP ); … … 1451 1501 #endif 1452 1502 { 1503 #if LGE_ILLUCOMP_B0045 1504 rpcTempCU->setICFlagSubParts(false, 0, 0, uiDepth); 1505 #endif 1453 1506 xCheckIntraPCM (rpcBestCU, rpcTempCU); 1454 1507 rpcTempCU->initEstData( uiDepth, iQP ); … … 2094 2147 #endif 2095 2148 m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx, 0 ); 2149 #if LGE_ILLUCOMP_B0045 2150 m_pcEntropyCoder->encodeICFlag ( pcCU, uiAbsPartIdx ); 2151 #endif 2096 2152 #if HHI_INTER_VIEW_RESIDUAL_PRED 2097 2153 m_pcEntropyCoder->encodeResPredFlag( pcCU, uiAbsPartIdx, 0 ); … … 2122 2178 // prediction Info ( Intra : direction mode, Inter : Mv, reference idx ) 2123 2179 m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx ); 2180 #if LGE_ILLUCOMP_B0045 2181 m_pcEntropyCoder->encodeICFlag ( pcCU, uiAbsPartIdx ); 2182 #endif 2124 2183 #if HHI_INTER_VIEW_RESIDUAL_PRED 2125 2184 if( !pcCU->isIntra( uiAbsPartIdx ) ) … … 2165 2224 Bool bResPrdAvail = rpcTempCU->getResPredAvail( 0 ); 2166 2225 Bool bResPrdFlag = rpcTempCU->getResPredFlag ( 0 ); 2226 #endif 2227 #if LGE_ILLUCOMP_B0045 2228 Bool bICFlag = rpcTempCU->getICFlag(0); 2167 2229 #endif 2168 2230 … … 2239 2301 rpcTempCU->setResPredAvailSubParts( bResPrdAvail, 0, 0, uhDepth ); 2240 2302 rpcTempCU->setResPredFlagSubParts ( bResPrdFlag, 0, 0, uhDepth ); 2303 #endif 2304 #if LGE_ILLUCOMP_B0045 2305 rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uhDepth); 2241 2306 #endif 2242 2307 … … 3152 3217 { 3153 3218 m_pcEntropyCoder->encodeMergeIndex( pcCU, 0, 0, true ); 3219 #if LGE_ILLUCOMP_B0045 3220 m_pcEntropyCoder->encodeICFlag( pcCU, 0, true ); 3221 #endif 3154 3222 } 3155 3223 else … … 3159 3227 // prediction Info ( Intra : direction mode, Inter : Mv, reference idx ) 3160 3228 m_pcEntropyCoder->encodePredInfo( pcCU, 0, true ); 3229 #if LGE_ILLUCOMP_B0045 3230 m_pcEntropyCoder->encodeICFlag( pcCU, 0, true ); 3231 #endif 3161 3232 } 3162 3233 xRestoreDepthWidthHeight( pcCU );
Note: See TracChangeset for help on using the changeset viewer.