Changeset 915 in 3DVCSoftware for branches/HTM-10.2-dev3-Qualcomm/source


Ignore:
Timestamp:
14 Apr 2014, 08:28:02 (11 years ago)
Author:
qualcomm
Message:

Integration of H0137

Location:
branches/HTM-10.2-dev3-Qualcomm/source
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-10.2-dev3-Qualcomm/source/App/TAppEncoder/TAppEncTop.cpp

    r902 r915  
    178178    m_cTEncTop.setDWeight                      ( isDepth ? m_iDWeight             : 0     );
    179179#endif // H_3D_VSO
    180 #if H_3D_ARP
     180#if H_3D_ARP && !QC_IV_PRED_CONSTRAINT_H0137
    181181    //====== Advanced Inter-view Residual Prediction =========
    182182    m_cTEncTop.setUseAdvRP                     ( ( isDepth || 0==layerIdInVps ) ? 0 : m_uiUseAdvResPred );
     
    17961796
    17971797#if H_3D_ARP
     1798#if QC_IV_PRED_CONSTRAINT_H0137
     1799    vps.setUseAdvRP        ( layer, ( isDepth || isLayerZero || !vps.getNumDirectRefLayers(layer) ) ? 0 : m_uiUseAdvResPred );
     1800    vps.setARPStepNum      ( layer, ( isDepth || isLayerZero || !vps.getNumDirectRefLayers(layer) ) ? 1 : H_3D_ARP_WFNR     );
     1801#else
    17981802    vps.setUseAdvRP        ( layer, ( isDepth || isLayerZero ) ? 0 : m_uiUseAdvResPred );
    17991803    vps.setARPStepNum      ( layer, ( isDepth || isLayerZero ) ? 1 : H_3D_ARP_WFNR     );
     1804#endif
    18001805#endif 
    18011806#if H_3D_SPIVMP
     
    18151820
    18161821#if H_3D_IV_MERGE
     1822#if QC_IV_PRED_CONSTRAINT_H0137
     1823    if( !vps.getNumDirectRefLayers(layer) )
     1824    {
     1825      vps.setIvMvPredFlag    (layer, false);
     1826    }
     1827    else
     1828    {
     1829#endif
    18171830    if( isDepth )
    18181831    {
     
    18231836      vps.setIvMvPredFlag         ( layer, !isLayerZero && m_ivMvPredFlag[0] );
    18241837    }
     1838#if QC_IV_PRED_CONSTRAINT_H0137
     1839    }
     1840#endif
    18251841#endif
    18261842#if H_3D_NBDV_REF
     
    18281844#endif
    18291845#if H_3D_VSP
     1846#if QC_IV_PRED_CONSTRAINT_H0137
     1847    vps.setViewSynthesisPredFlag( layer, !isLayerZero && !isDepth && vps.getNumDirectRefLayers(layer) && m_viewSynthesisPredFlag );         
     1848#else
    18301849    vps.setViewSynthesisPredFlag( layer, !isLayerZero && !isDepth && m_viewSynthesisPredFlag );         
     1850#endif
    18311851#endif
    18321852#if H_3D_DBBP
  • branches/HTM-10.2-dev3-Qualcomm/source/Lib/TLibCommon/TypeDef.h

    r914 r915  
    226226#define H_3D_FAST_TEXTURE_ENCODING        1   // Fast merge mode decision and early CU determination for texture component of dependent view, JCT3V-E0173
    227227                                              // MTK_FAST_TEXTURE_ENCODING_E0173
     228#define QC_IV_PRED_CONSTRAINT_H0137       1   // Constraint on inter-view (motion) prediction tools
    228229#if H_3D_DIM
    229230#define H_3D_FAST_DEPTH_INTRA             1   // Fast DMM and RBC Mode Selection
  • branches/HTM-10.2-dev3-Qualcomm/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r884 r915  
    17511751#if H_3D_IV_MERGE
    17521752        READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
     1753#if QC_IV_PRED_CONSTRAINT_H0137
     1754        if( !pcVPS->getNumDirectRefLayers(i) )
     1755        {
     1756          assert( !uiCode );         
     1757        }
     1758#endif
    17531759#if H_3D_SPIVMP
    17541760        READ_UVLC (uiCode, "log2_sub_PU_size_minus3[i]");     pcVPS->setSubPULog2Size(i, uiCode+3);
     
    17571763#if H_3D_ARP
    17581764        READ_FLAG( uiCode, "iv_res_pred_flag[i]"  );       pcVPS->setUseAdvRP  ( i, uiCode ); pcVPS->setARPStepNum( i, uiCode ? H_3D_ARP_WFNR : 1 );
    1759 
     1765#if QC_IV_PRED_CONSTRAINT_H0137
     1766        if( !pcVPS->getNumDirectRefLayers(i) )
     1767        {
     1768          assert( !uiCode );         
     1769        }
     1770#endif
    17601771#endif
    17611772#if H_3D_NBDV_REF
     
    17641775#if H_3D_VSP
    17651776        READ_FLAG( uiCode, "view_synthesis_pred_flag[i]"); pcVPS->setViewSynthesisPredFlag( i, uiCode == 1 ? true : false );
     1777#if QC_IV_PRED_CONSTRAINT_H0137
     1778        if( !pcVPS->getNumDirectRefLayers(i) )
     1779        {
     1780          assert( !uiCode );         
     1781        }
     1782#endif
    17661783#endif
    17671784#if H_3D_DBBP
     
    17751792        {
    17761793          READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
     1794#if QC_IV_PRED_CONSTRAINT_H0137
     1795          if( !pcVPS->getNumDirectRefLayers(i) )
     1796          {
     1797            assert( !uiCode );         
     1798          }
     1799#endif
    17771800        }
    17781801#endif
Note: See TracChangeset for help on using the changeset viewer.