Ignore:
Timestamp:
29 Aug 2013, 12:25:20 (11 years ago)
Author:
tech
Message:

Merged dev1.

Location:
branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r531 r597  
    366366    Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    367367    memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    368 
     368#if MTK_VSP_FIX_ALIGN_WD_E0172
     369    InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
     370    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand, uiMergeIndex );
     371#else
     372#if MTK_VSP_FIX_E0172
     373    Int vspDir[MRG_MAX_NUM_CANDS_MEM];
     374    memset(vspDir, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     375    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag,vspDir, numValidMergeCand, uiMergeIndex );
     376    pcCU->setVSPDirSubParts( vspDir[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
     377#else
    369378    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, numValidMergeCand, uiMergeIndex );
     379#endif
     380#endif// end of MTK_VSP_FIX_ALIGN_WD_E0172
    370381    pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
    371382#else
    372383    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    373384#endif
    374 
     385#if MTK_VSP_FIX_ALIGN_WD_E0172
     386    if(vspFlag[uiMergeIndex])
     387    {
     388      pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiAbsPartIdx, 0, uiDepth);
     389    }
     390#endif
    375391    pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
    376392
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp

    r531 r597  
    243243          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    244244          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     245#if MTK_VSP_FIX_ALIGN_WD_E0172
     246          InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
     247          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand );
     248#else
     249#if MTK_VSP_FIX_E0172
     250          Int vspDir[MRG_MAX_NUM_CANDS_MEM];
     251          memset(vspDir, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     252          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, vspDir, numValidMergeCand );
     253          pcCU->setVSPDirSubParts( vspDir[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     254#else
    245255          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, numValidMergeCand );
     256#endif
     257#endif//end of MTK_VSP_FIX_ALIGN_WD_E0172
    246258          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     259#if MTK_VSP_FIX_ALIGN_WD_E0172
     260          if(vspFlag[uiMergeIndex])
     261          {
     262            pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiSubPartIdx, uiPartIdx, uiDepth);
     263          }
     264#endif
    247265#else
    248266          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
     
    258276        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    259277        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     278#if MTK_VSP_FIX_ALIGN_WD_E0172
     279        InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
     280        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo,numValidMergeCand, uiMergeIndex );
     281#else
     282#if MTK_VSP_FIX_E0172
     283        Int vspDir[MRG_MAX_NUM_CANDS_MEM];
     284        memset(vspDir, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     285        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, vspDir,numValidMergeCand, uiMergeIndex );
     286        pcCU->setVSPDirSubParts( vspDir[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     287#else
    260288        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, numValidMergeCand, uiMergeIndex );
     289#endif
     290#endif//end of MTK_VSP_FIX_ALIGN_WD_E0172
    261291        pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     292#if MTK_VSP_FIX_ALIGN_WD_E0172
     293        if(vspFlag[uiMergeIndex])
     294        {
     295          pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiSubPartIdx, uiPartIdx, uiDepth);
     296        }
     297#endif
    262298#else
    263299        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     
    291327      }
    292328    }
     329#if MTK_VSP_FIX_E0172 || MTK_VSP_FIX_ALIGN_WD_E0172
     330    if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) && (pcCU->getVSPFlag(uiSubPartIdx) == false))
     331#else
    293332    if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) )
     333#endif
    294334    {
    295335      pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMv( TComMv(0,0), ePartSize, uiSubPartIdx, uiDepth, uiPartIdx);
  • branches/HTM-DEV-2.0-dev0/source/Lib/TLibDecoder/TDecGop.cpp

    r542 r597  
    159159  }
    160160#endif
     161#if MTK_NBDV_TN_FIX_E0172
     162  if(pcSlice->getViewIndex() && !pcSlice->getIsDepth() && !pcSlice->isIntra()) //Notes from QC: this condition shall be changed once the configuration is completed, e.g. in pcSlice->getSPS()->getMultiviewMvPredMode() || ARP in prev. HTM. Remove this comment once it is done.
     163  {
     164    rpcPic->checkTemporalIVRef();
     165  }
     166#endif
     167#if MTK_TEXTURE_MRGCAND_BUGFIX_E0182
     168  if(pcSlice->getIsDepth())
     169  {
     170    rpcPic->checkTextureRef();
     171  }
     172#endif
    161173#if H_3D
    162174  pcSlice->setDepthToDisparityLUTs();
Note: See TracChangeset for help on using the changeset viewer.