Opened 12 years ago Closed 12 years ago #828 closed defect (invalid)collocated_from_l0_flag is not used properly in temporal MV process
Description
In TComDataCU.cpp, line 3542, the following correction should be made: eColRefPicList = getSlice()->getCheckLDC() ? eRefPicList : RefPicList(getSlice()->getColFromL0Flag());
should be changed to: eColRefPicList = getSlice()->getCheckLDC() ? eRefPicList : RefPicList(1-(getSlice()->getColFromL0Flag())); Change History (4)comment:1 Changed 12 years ago by DefaultCC Plugin
comment:2 Changed 12 years ago by bhengcomment:3 Changed 12 years ago by pieterkapsenberg
Ok, I agree that it matches the text, although it does seem counter-intuitive to selected the opposite list (but not harmful). comment:4 Changed 12 years ago by fbossen
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
|
I believe the existing code is correct as is. The current HM behavior is consistent with this section of text:
The function getCheckLDC() returns TRUE for the "All POC less than current POC" case.
The "Otherwise" case is the normal situation where the motion vectors are intentionally selected from the opposite list. For example, if the collocated picture is from L1 then the L0 motion vectors are used. So, RefPicList(getSlice()->getColFromL0Flag()) would be correct.