Ticket #929: db_bs.patch

File db_bs.patch, 1.3 KB (added by mcoban, 11 years ago)
  • Lib/TLibCommon/TComLoopFilter.cpp

     
    487487        TComMv pcMvP1 = pcCUP->getCUMvField(REF_PIC_LIST_1)->getMv(uiPartP);
    488488        TComMv pcMvQ0 = pcCUQ->getCUMvField(REF_PIC_LIST_0)->getMv(uiPartQ);
    489489        TComMv pcMvQ1 = pcCUQ->getCUMvField(REF_PIC_LIST_1)->getMv(uiPartQ);
    490        
     490
     491        if (piRefP0 == NULL) pcMvP0.setZero();
     492        if (piRefP1 == NULL) pcMvP1.setZero();
     493        if (piRefQ0 == NULL) pcMvQ0.setZero();
     494        if (piRefQ1 == NULL) pcMvQ1.setZero();
     495
    491496        if ( ((piRefP0==piRefQ0)&&(piRefP1==piRefQ1)) || ((piRefP0==piRefQ1)&&(piRefP1==piRefQ0)) )
    492497        {
    493498          uiBs = 0;
     
    532537        piRefQ0 = (iRefIdx < 0) ? NULL :  (Int*) pcSlice->getRefPic(REF_PIC_LIST_0, iRefIdx);
    533538        TComMv pcMvP0 = pcCUP->getCUMvField(REF_PIC_LIST_0)->getMv(uiPartP);
    534539        TComMv pcMvQ0 = pcCUQ->getCUMvField(REF_PIC_LIST_0)->getMv(uiPartQ);
     540
     541        if (piRefP0 == NULL) pcMvP0.setZero();
     542        if (piRefQ0 == NULL) pcMvQ0.setZero();
    535543       
    536544        pcMvP0 -= pcMvQ0;
    537545        uiBs = (piRefP0 != piRefQ0) | (pcMvP0.getAbsHor() >= 4) | (pcMvP0.getAbsVer() >= 4);