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.
Location:
branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r146 r152  
    18031803  UInt address;
    18041804  UInt innerAddress = 0;
     1805
     1806#if LGE_ILLUCOMP_B0045
     1807  // IC flag is on only first_slice_in_pic
     1808  if (uiCode)
     1809  {
     1810    UInt uiCodeTmp = 0;
     1811    if ( rpcSlice->getSPS()->getViewId() && !rpcSlice->getSPS()->isDepth() )
     1812    {
     1813      READ_FLAG (uiCodeTmp, "applying IC flag");
     1814    }
     1815    rpcSlice->setApplyIC(uiCodeTmp);
     1816  }
     1817#endif
     1818
    18051819  if(!uiCode)
    18061820  {
     
    26012615}
    26022616
     2617#if LGE_ILLUCOMP_B0045
     2618Void TDecCavlc::parseICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     2619{
     2620  assert(0);
     2621}
     2622#endif
     2623
    26032624#if HHI_INTER_VIEW_MOTION_PRED
    26042625Void TDecCavlc::parseMVPIdx( Int& riMVPIdx, Int iAMVPCands )
  • branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecCAVLC.h

    r77 r152  
    142142 
    143143  Void  parseSkipFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     144#if LGE_ILLUCOMP_B0045
     145  Void  parseICFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     146#endif
    144147  Void parseMergeFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
    145148  Void parseMergeIndex      ( TComDataCU* pcCU, UInt& ruiMergeIndex, UInt uiAbsPartIdx, UInt uiDepth );
  • branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecCu.cpp

    r100 r152  
    389389      }
    390390    }
     391#if LGE_ILLUCOMP_B0045
     392  m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
     393#endif
    391394#if HHI_MPI
    392395    }
     
    440443  m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);
    441444 
     445#if LGE_ILLUCOMP_B0045
     446  m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
     447#endif
     448
    442449#if HHI_INTER_VIEW_RESIDUAL_PRED
    443450  if( !pcCU->isIntra( uiAbsPartIdx ) )
  • branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecEntropy.cpp

    r100 r152  
    6767}
    6868
     69#if LGE_ILLUCOMP_B0045
     70Void TDecEntropy::decodeICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     71{
     72  pcCU->setICFlagSubParts( false , uiAbsPartIdx, 0, uiDepth );
     73
     74  if (pcCU->isIntra(uiAbsPartIdx) || (pcCU->getSlice()->getViewId() == 0) || pcCU->getSlice()->getSPS()->isDepth())
     75  {
     76    return;
     77  }
     78
     79  if(!pcCU->getSlice()->getApplyIC())
     80    return;
     81
     82  if(pcCU->isICFlagRequired(uiAbsPartIdx))
     83    m_pcEntropyDecoderIf->parseICFlag( pcCU, uiAbsPartIdx, uiDepth );
     84}
     85#endif
    6986/** decode merge index
    7087 * \param pcCU
  • branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecEntropy.h

    r77 r152  
    103103public:
    104104  virtual Void parseSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
     105#if LGE_ILLUCOMP_B0045
     106  virtual Void parseICFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
     107#endif
    105108  virtual Void parseSplitFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    106109  virtual Void parseMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ) = 0;
     
    196199  Void decodeSplitFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    197200  Void decodeSkipFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     201#if LGE_ILLUCOMP_B0045
     202  Void decodeICFlag            ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     203#endif
    198204  Void decodeMergeFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
    199205  Void decodeMergeIndex        ( TComDataCU* pcSubCU, UInt uiPartIdx, UInt uiPartAddr, PartSize eCUMode, UChar* puhInterDirNeighbours, TComMvField* pcMvFieldNeighbours, UInt uiDepth );
  • branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecSbac.cpp

    r100 r152  
    5252, m_cCUSplitFlagSCModel       ( 1,             1,               NUM_SPLIT_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels )
    5353, m_cCUSkipFlagSCModel        ( 1,             1,               NUM_SKIP_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
     54#if LGE_ILLUCOMP_B0045
     55, m_cCUICFlagSCModel          ( 1,             1,               NUM_IC_FLAG_CTX               , m_contextModels + m_numContextModels, m_numContextModels)
     56#endif
    5457, m_cCUMergeFlagExtSCModel    ( 1,             1,               NUM_MERGE_FLAG_EXT_CTX        , m_contextModels + m_numContextModels, m_numContextModels)
    5558, m_cCUMergeIdxExtSCModel     ( 1,             1,               NUM_MERGE_IDX_EXT_CTX         , m_contextModels + m_numContextModels, m_numContextModels)
     
    146149  m_cCUSplitFlagSCModel.initBuffer       ( sliceType, qp, (UChar*)INIT_SPLIT_FLAG );
    147150  m_cCUSkipFlagSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SKIP_FLAG );
     151#if LGE_ILLUCOMP_B0045
     152  m_cCUICFlagSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_IC_FLAG );
     153#endif
    148154  m_cCUMergeFlagExtSCModel.initBuffer    ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT );
    149155  m_cCUMergeIdxExtSCModel.initBuffer     ( sliceType, qp, (UChar*)INIT_MERGE_IDX_EXT );
     
    230236  m_cCUSplitFlagSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SPLIT_FLAG );
    231237  m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
     238#if LGE_ILLUCOMP_B0045
     239  m_cCUICFlagSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_IC_FLAG );
     240#endif
    232241  m_cCUMergeFlagExtSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT );
    233242  m_cCUMergeIdxExtSCModel.initBuffer     ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT );
     
    578587}
    579588
     589#if LGE_ILLUCOMP_B0045
     590/** parse illumination compensation flag
     591 * \param pcCU
     592 * \param uiAbsPartIdx
     593 * \param uiDepth
     594 * \returns Void
     595 */
     596Void TDecSbac::parseICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     597{
     598  UInt uiSymbol = 0;
     599  UInt uiCtxIC = pcCU->getCtxICFlag( uiAbsPartIdx );
     600  m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUICFlagSCModel.get( 0, 0, uiCtxIC ) );
     601  DTRACE_CABAC_VL( g_nSymbolCounter++ );
     602  DTRACE_CABAC_T( "\tICFlag" );
     603  DTRACE_CABAC_T( "\tuiCtxIC: ");
     604  DTRACE_CABAC_V( uiCtxIC );
     605  DTRACE_CABAC_T( "\tuiSymbol: ");
     606  DTRACE_CABAC_V( uiSymbol );
     607  DTRACE_CABAC_T( "\n");
     608 
     609  pcCU->setICFlagSubParts( uiSymbol ? true : false , uiAbsPartIdx, 0, uiDepth );
     610}
     611#endif
     612
     613
    580614/** parse merge flag
    581615 * \param pcCU
  • branches/HTM-4.1-dev2-LG/source/Lib/TLibDecoder/TDecSbac.h

    r100 r152  
    166166
    167167  Void parseSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     168#if LGE_ILLUCOMP_B0045
     169  Void parseICFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
     170#endif
    168171  Void parseSplitFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    169172  Void parseMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
     
    207210  ContextModel3DBuffer m_cCUSplitFlagSCModel;
    208211  ContextModel3DBuffer m_cCUSkipFlagSCModel;
     212#if LGE_ILLUCOMP_B0045
     213  ContextModel3DBuffer m_cCUICFlagSCModel;
     214#endif
    209215  ContextModel3DBuffer m_cCUMergeFlagExtSCModel;
    210216  ContextModel3DBuffer m_cCUMergeIdxExtSCModel;
Note: See TracChangeset for help on using the changeset viewer.