Changeset 200 in 3DVCSoftware for branches/HTM-5.0-Nokia/source/Lib/TLibEncoder


Ignore:
Timestamp:
3 Dec 2012, 16:57:58 (12 years ago)
Author:
nokia
Message:

Reintegration of Flexible Coding Order to 3DV-HTM v5.1
To enable following params are required:
FCO : 1
FCOCodingOrder : T0D0D1D2T1T2
VSOConfig: [ox0 B(cc1) I(s0.25 s0.5 s0.75)][cx1 B(oo0) B(oo2) I(s0.25 s0.5 s0.75 s1.25 s1.5 s1.75)][ox2 B(cc1) I(s1.25 s1.5 s1.75)]

Location:
branches/HTM-5.0-Nokia/source/Lib/TLibEncoder
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncCfg.h

    r197 r200  
    327327#endif
    328328
     329#if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER
     330  Bool m_bUseDMM34;
     331#endif
     332
    329333#if OL_QTLIMIT_PREDCODING_B0068
    330334  Bool     m_bUseQTLPC;
     
    844848#endif
    845849
     850#if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER
     851  Void setUseDMM34( Bool b) { m_bUseDMM34 = b;    }
     852  Bool getUseDMM34()        { return m_bUseDMM34; }
     853#endif
     854
    846855#if OL_QTLIMIT_PREDCODING_B0068
    847856  Void      setUseQTLPC( Bool b ) { m_bUseQTLPC = b;    }
  • branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncGOP.cpp

    r195 r200  
    363363      assert( tAppEncTop != NULL );
    364364
     365
     366#if FLEX_CODING_ORDER
     367      TComPic * pcTexturePic;
     368      if(m_pcEncTop->getIsDepth() == 1)
     369      {
     370        TComPicYuv * recText;
     371        recText = tAppEncTop->getPicYuvFromView(m_pcEncTop->getViewId(), pcSlice->getPOC(), false ,true);
     372        if(recText == NULL)
     373        {
     374           pcSlice->setTexturePic(NULL);
     375        }
     376        else
     377        {
     378           pcTexturePic = m_pcEncTop->getIsDepth() ? tAppEncTop->getPicFromView( m_pcEncTop->getViewId(), pcSlice->getPOC(), false ) : NULL;
     379           pcSlice->setTexturePic( pcTexturePic );
     380        }
     381      }
     382      else
     383    {
     384        pcTexturePic = m_pcEncTop->getIsDepth() ? tAppEncTop->getPicFromView( m_pcEncTop->getViewId(), pcSlice->getPOC(), false ) : NULL;
     385        assert( !m_pcEncTop->getIsDepth() || pcTexturePic != NULL );
     386          pcSlice->setTexturePic( pcTexturePic );
     387      }
     388
     389#else
    365390      TComPic * const pcTexturePic = m_pcEncTop->getIsDepth() ? tAppEncTop->getPicFromView( m_pcEncTop->getViewId(), pcSlice->getPOC(), false ) : NULL;
    366391      assert( !m_pcEncTop->getIsDepth() || pcTexturePic != NULL );
    367392      pcSlice->setTexturePic( pcTexturePic );
    368393
     394#endif
    369395      std::vector<TComPic*> apcInterViewRefPics = tAppEncTop->getInterViewRefPics( m_pcEncTop->getViewId(), pcSlice->getPOC(), m_pcEncTop->getIsDepth(), pcSlice->getSPS() );
    370396      pcSlice->setRefPicListMvc( rcListPic, apcInterViewRefPics );
     
    466492
    467493#if SAIT_VSO_EST_A0033
    468     m_pcRdCost->setVideoRecPicYuv( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, true ) );
     494{
     495   Bool flag_rec;
     496   flag_rec =  ((m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, true) == NULL) ? false: true);
     497    m_pcRdCost->setVideoRecPicYuv( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), false, flag_rec ) );
    469498    m_pcRdCost->setDepthPicYuv   ( m_pcEncTop->getEncTop()->getPicYuvFromView( pcSlice->getViewId(), pcSlice->getPOC(), true, false ) );
     499}
    470500#endif
    471501#if LGE_WVSO_A0119
  • branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncSbac.cpp

    r195 r200  
    10761076#endif
    10771077#if HHI_DMM_PRED_TEX
     1078
     1079#if FLEX_CODING_ORDER
     1080    if ( !pcCU->getSlice()->getSPS()->getUseDMM34() )
     1081    {
     1082      assert( uiDir != DMM_WEDGE_PREDTEX_D_IDX );
     1083      assert( uiDir != DMM_CONTOUR_PREDTEX_D_IDX );
     1084    }
     1085#endif
     1086
    10781087    if( uiDir == DMM_WEDGE_PREDTEX_D_IDX )     { xCodeWedgePredTexDeltaInfo  ( pcCU, uiAbsPartIdx ); }
    10791088    if( uiDir == DMM_CONTOUR_PREDTEX_D_IDX )   { xCodeContourPredTexDeltaInfo( pcCU, uiAbsPartIdx ); }
  • branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncSearch.cpp

    r197 r200  
    22442244#endif
    22452245#if HHI_DMM_PRED_TEX
     2246     
     2247#if FLEX_CODING_ORDER
     2248      if ( pcCU->getSlice()->getSPS()->getUseDMM34() )
     2249      {
     2250#endif
    22462251      UInt uiTexTabIdx  = 0;
    22472252      Int  iTexDeltaDC1 = 0;
     
    22672272        uiRdModeList[ numModesForFullRD++ ] = DMM_CONTOUR_PREDTEX_D_IDX;
    22682273      }
     2274#if FLEX_CODING_ORDER
     2275      }
     2276#endif
    22692277#endif
    22702278    }
     
    23112319
    23122320#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     2321#if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER
     2322      if( m_pcEncCfg->getIsDepth() && !predIntraLumaDMMAvailable( uiOrgMode, uiWidth, uiHeight, pcCU->getSlice()->getSPS()->getUseDMM34() )
     2323#if LGE_EDGE_INTRA
     2324        && uiOrgMode < EDGE_INTRA_IDX
     2325#endif
     2326        )
     2327
     2328#else
     2329
    23132330      if( m_pcEncCfg->getIsDepth() && !predIntraLumaDMMAvailable( uiOrgMode, uiWidth, uiHeight )
    2314 #if LGE_EDGE_INTRA_A0070
     2331#if LGE_EDGE_INTRA
    23152332        && uiOrgMode < EDGE_INTRA_IDX
    23162333#endif
    23172334        )
     2335#endif
    23182336      {
    23192337        continue;
     
    64666484
    64676485#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     6486#if ((HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX)&&FLEX_CODING_ORDER)
     6487Bool TEncSearch::predIntraLumaDMMAvailable( UInt uiMode, UInt uiWidth, UInt uiHeight, Bool bDMMAvailable34 )
     6488#else
    64686489Bool TEncSearch::predIntraLumaDMMAvailable( UInt uiMode, UInt uiWidth, UInt uiHeight )
     6490#endif
    64696491{
    64706492  if( uiMode < NUM_INTRA_MODE ) return true;
     
    64946516      bDMMAvailable = false;
    64956517    }
     6518
     6519#if FLEX_CODING_ORDER
     6520    if ( !bDMMAvailable34 )
     6521    {
     6522      bDMMAvailable = false;
     6523    }
     6524#endif
     6525
    64966526  }
    64976527#endif
  • branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncSearch.h

    r197 r200  
    333333
    334334#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
     335
    335336  Bool predIntraLumaDMMAvailable  ( UInt           uiMode,
    336337                                    UInt           uiWidth,
    337                                     UInt           uiHeight );
     338#if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER
     339                                    UInt         uiHeight,
     340                                    Bool         bDMMAvailable34 );
     341#else
     342                                    UInt         uiHeight );
     343#endif
     344
    338345  Void xGetWedgeDeltaDCsMinDist   ( TComWedgelet*  pcWedgelet,
    339346                                    TComDataCU*    pcCU,
  • branches/HTM-5.0-Nokia/source/Lib/TLibEncoder/TEncTop.cpp

    r197 r200  
    769769  m_cSPS.setUseDMM( m_bUseDMM );
    770770#endif
     771
     772#if HHI_DMM_PRED_TEX && FLEX_CODING_ORDER
     773  m_cSPS.setUseDMM34( m_bUseDMM34 );
     774#endif
     775
    771776#if OL_QTLIMIT_PREDCODING_B0068
    772777  m_cSPS.setUseQTLPC( m_bUseQTLPC );
Note: See TracChangeset for help on using the changeset viewer.