Changeset 567 in 3DVCSoftware for branches/HTM-DEV-2.0-dev1-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp
- Timestamp:
- 12 Aug 2013, 11:21:53 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-2.0-dev1-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp
r566 r567 3159 3159 if ( pcTextureCU && !pcTextureCU->isIntra( uiPartIdxCenter ) ) 3160 3160 { 3161 #if MTK_TEXTURE_MRGCAND_BUGFIX_E0182 3162 pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_0, pcMvFieldNeighbours[iCount<<1] ); 3163 Int iValidDepRef = getPic()->isTextRefValid( REF_PIC_LIST_0, pcMvFieldNeighbours[iCount<<1].getRefIdx() ); 3164 if( (pcMvFieldNeighbours[iCount<<1].getRefIdx()>=0) && ( iValidDepRef >= 0 ) ) 3165 { 3166 TComMv cMvPred = pcMvFieldNeighbours[iCount<<1].getMv(); 3167 const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) ); 3168 cMvPred+=cAdd; 3169 cMvPred>>=2; 3170 clipMv(cMvPred); 3171 pcMvFieldNeighbours[iCount<<1].setMvField(cMvPred,iValidDepRef); 3172 } 3173 3174 if ( getSlice()->isInterB() ) 3175 { 3176 pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] ); 3177 iValidDepRef = getPic()->isTextRefValid( REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx() ); 3178 if( (pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()>=0) && ( iValidDepRef >= 0) ) 3179 { 3180 TComMv cMvPred = pcMvFieldNeighbours[(iCount<<1)+1].getMv(); 3181 const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) ); 3182 cMvPred+=cAdd; 3183 cMvPred>>=2; 3184 clipMv(cMvPred); 3185 pcMvFieldNeighbours[(iCount<<1)+1].setMvField(cMvPred,iValidDepRef); 3186 } 3187 } 3188 3189 puhInterDirNeighbours[iCount] = (pcMvFieldNeighbours[iCount<<1].getRefIdx()>=0)?1:0; 3190 puhInterDirNeighbours[iCount] += (pcMvFieldNeighbours[(iCount<<1)+1].getRefIdx()>=0)?2:0; 3191 3192 if( puhInterDirNeighbours[iCount] != 0 ) 3193 { 3194 abCandIsInter[iCount] = true; 3195 if ( mrgCandIdx == iCount ) 3196 { 3197 return; 3198 } 3199 iCount ++; 3200 } 3201 #else 3161 3202 abCandIsInter[iCount] = true; 3162 3203 puhInterDirNeighbours[iCount] = pcTextureCU->getInterDir( uiPartIdxCenter ); … … 3202 3243 } 3203 3244 iCount ++; 3245 #endif//Bug fix 3204 3246 } 3205 3247 }
Note: See TracChangeset for help on using the changeset viewer.