Opened 12 years ago Closed 12 years ago #929 closed defect (fixed)Deblocking filter boundary strength derivation bug (encoder)
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 Attachments (1)Change History (4)comment:1 Changed 12 years ago by DefaultCC Plugin
Changed 12 years ago by mcobancomment:2 Changed 12 years ago by ksuehring
comment:3 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
|
the patch has been applied in r3351