Opened 12 years ago Last modified 12 years ago #929 closed defectDeblocking filter boundary strength derivation bug (encoder) — at Version 2
Description (last modified by ksuehring)
Unitialized motion vector information is used during the boundary strength derivation on the encoder side leading to encoder/decoder mismatches. The xGetBoundaryStrengthSingle() function assumes the motion vectors of refIdx < 0 blocks have the value 0.
e.g. xGetBoundaryStrengthSingle() ..... if ( ((piRefP0==piRefQ0)&&(piRefP1==piRefQ1)) || ((piRefP0==piRefQ1)&&(piRefP1==piRefQ0)) ) { uiBs = 0; if ( piRefP0 != piRefP1 ) // Different L0 & L1 { if ( piRefP0 == piRefQ0 ) { pcMvP0 -= pcMvQ0; pcMvP1 -= pcMvQ1; uiBs = (pcMvP0.getAbsHor() >= 4) | (pcMvP0.getAbsVer() >= 4) | (pcMvP1.getAbsHor() >= 4) | (pcMvP1.getAbsVer() >= 4); .....
If piRefP1==piRefQ1==NULL and piRefP0 == piRefQ0 && piRefP0 != NULL, motion vector information of P1 partition is used in uiBs derivation.
following patch should address the issue Change History (3)comment:1 Changed 12 years ago by DefaultCC Plugin
Changed 12 years ago by mcobancomment:2 Changed 12 years ago by ksuehring
Note: See
TracTickets for help on using
tickets. | This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant
|