Ignore:
Timestamp:
26 Oct 2012, 12:08:59 (12 years ago)
Author:
lg
Message:
  1. integration of JCT3V-B0045.
  2. cleanup of defined, valued but not used variable "uiPrevTexPartIndex" in function xCompressCU. This cleanup is made to pass the compiling in Linux.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.1-dev2-LG/source/Lib/TLibEncoder/TEncCu.cpp

    r126 r152  
    456456  TComDataCU * pcTextureCU;
    457457  Bool  depthMapDetect =  false;
     458#if !LG_BUG_FIX
    458459  UInt         uiPrevTexPartIndex = 0;
     460#endif
    459461#if OL_DO_NOT_LIMIT_INTRA_SLICES_PART
    460462  Bool bIntraSliceDetect = false;
     
    511513  UInt uiTPelY   = rpcBestCU->getCUPelY();
    512514  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
    513521
    514522#if HHI_INTERVIEW_SKIP
     
    637645          bTryNx2N = true;
    638646          bTry2NxN = true;
     647#if !LG_BUG_FIX
    639648          uiPrevTexPartIndex = pcTexture->getTexPartIndex();
     649#endif
    640650          pcTexture->incrementTexPartIndex();
    641651        }
     
    648658          //scan ahead till next depth
    649659          uiTexdepth = pcTexture->accessPartInfo(1);
     660#if !LG_BUG_FIX
    650661          uiPrevTexPartIndex = pcTexture->getTexPartIndex();
     662#endif
    651663          pcTexture->incrementTexPartIndex();
    652664          temp_uiTexPartIndex = pcTexture->getTexPartIndex(); //store in case to rewind
     
    682694          bTryNx2N = false;
    683695          bTry2NxN = true;
     696#if !LG_BUG_FIX
    684697          uiPrevTexPartIndex = pcTexture->getTexPartIndex(); 
     698#endif
    685699          pcTexture->incrementTexPartIndex(); ;
    686700        }
     
    690704          bTryNx2N = true;
    691705          bTry2NxN = false;
     706#if !LG_BUG_FIX
    692707          uiPrevTexPartIndex = pcTexture->getTexPartIndex(); 
     708#endif
    693709          pcTexture->incrementTexPartIndex(); ;
    694710        }
     
    718734        {
    719735          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
    720742#endif
    721743#if HHI_INTER_VIEW_RESIDUAL_PRED
     
    740762            }
    741763          }
    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
    743771          // 2Nx2N, NxN
    744772          if ( !bEarlySkip )
     
    759787            }
    760788          }
     789#if LGE_ILLUCOMP_B0045
     790      }
     791#endif
    761792#if HHI_INTER_VIEW_RESIDUAL_PRED
    762793        } // uiResPrdId
    763794#endif
    764795      } // != I_SLICE
     796
     797#if LGE_ILLUCOMP_B0045_ENCSIMP
     798    bICEnabled = rpcBestCU->getICFlag(0);
     799#endif
    765800
    766801#if OL_DEPTHLIMIT_A0044
     
    841876        {
    842877          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
    843884#endif
    844885          // 2Nx2N, NxN
     
    13761417          } //! Try AMP (SIZE_2NxnU, SIZE_2NxnD, SIZE_nLx2N, SIZE_nRx2N)
    13771418#endif
     1419#if LGE_ILLUCOMP_B0045
     1420    }
     1421#endif
    13781422#if HHI_INTER_VIEW_RESIDUAL_PRED
    13791423        } // uiResPrdId
     
    14011445#endif
    14021446        {
     1447#if LGE_ILLUCOMP_B0045
     1448      rpcTempCU->setICFlagSubParts(false, 0, 0, uiDepth);
     1449#endif
    14031450          xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_2Nx2N );
    14041451          rpcTempCU->initEstData( uiDepth, iQP );
     
    14181465                if( rpcTempCU->getWidth(0) > ( 1 << rpcTempCU->getSlice()->getSPS()->getQuadtreeTULog2MinSize() ) )
    14191466                {
     1467#if LGE_ILLUCOMP_B0045
     1468          rpcTempCU->setICFlagSubParts(false, 0, 0, uiDepth);
     1469#endif
    14201470                  xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_NxN   );
    14211471                  rpcTempCU->initEstData( uiDepth, iQP );
     
    14511501#endif
    14521502        {
     1503#if LGE_ILLUCOMP_B0045
     1504      rpcTempCU->setICFlagSubParts(false, 0, 0, uiDepth);
     1505#endif
    14531506          xCheckIntraPCM (rpcBestCU, rpcTempCU);
    14541507          rpcTempCU->initEstData( uiDepth, iQP );
     
    20942147#endif
    20952148    m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx, 0 );
     2149#if LGE_ILLUCOMP_B0045
     2150  m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx );
     2151#endif
    20962152#if HHI_INTER_VIEW_RESIDUAL_PRED
    20972153    m_pcEntropyCoder->encodeResPredFlag( pcCU, uiAbsPartIdx, 0 );
     
    21222178  // prediction Info ( Intra : direction mode, Inter : Mv, reference idx )
    21232179  m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx );
     2180#if LGE_ILLUCOMP_B0045
     2181  m_pcEntropyCoder->encodeICFlag  ( pcCU, uiAbsPartIdx );
     2182#endif
    21242183#if HHI_INTER_VIEW_RESIDUAL_PRED
    21252184    if( !pcCU->isIntra( uiAbsPartIdx ) )
     
    21652224  Bool  bResPrdAvail  = rpcTempCU->getResPredAvail( 0 );
    21662225  Bool  bResPrdFlag   = rpcTempCU->getResPredFlag ( 0 );
     2226#endif
     2227#if LGE_ILLUCOMP_B0045
     2228  Bool  bICFlag = rpcTempCU->getICFlag(0);
    21672229#endif
    21682230
     
    22392301          rpcTempCU->setResPredAvailSubParts( bResPrdAvail, 0, 0, uhDepth );
    22402302          rpcTempCU->setResPredFlagSubParts ( bResPrdFlag,  0, 0, uhDepth );
     2303#endif
     2304#if LGE_ILLUCOMP_B0045
     2305      rpcTempCU->setICFlagSubParts(bICFlag, 0, 0, uhDepth);
    22412306#endif
    22422307
     
    31523217  {
    31533218    m_pcEntropyCoder->encodeMergeIndex( pcCU, 0, 0, true );
     3219#if LGE_ILLUCOMP_B0045
     3220  m_pcEntropyCoder->encodeICFlag( pcCU, 0, true );
     3221#endif
    31543222  }
    31553223  else
     
    31593227    // prediction Info ( Intra : direction mode, Inter : Mv, reference idx )
    31603228    m_pcEntropyCoder->encodePredInfo( pcCU, 0, true );
     3229#if LGE_ILLUCOMP_B0045
     3230  m_pcEntropyCoder->encodeICFlag( pcCU, 0,          true );
     3231#endif
    31613232  }
    31623233  xRestoreDepthWidthHeight( pcCU );
Note: See TracChangeset for help on using the changeset viewer.