Opened 9 years ago Last modified 9 years ago #113 new defectwrong condtion on resampling
Description
below is decoder code: #if SVC_EXTENSION // Create upsampling reference layer pictures for all possible dependent layers and do it only once for the first slice. // Other slices might choose which reference pictures to be used for inter-layer prediction if( m_layerId > 0 && m_uiSliceIdx == 0 && ( !pcSlice->getVPS()->getSingleLayerForNonIrapFlag() || pcSlice->isIRAP() ) ) { // create buffers for scaling factors if( pcSlice->getNumILRRefIdx() ) { m_pcPic->createMvScalingFactor(pcSlice->getNumILRRefIdx()); m_pcPic->createPosScalingFactor(pcSlice->getNumILRRefIdx()); } for( Int i = 0; i < '''pcSlice->getNumILRRefIdx()'''; i++ )
Spec and encoder tells that instead pcSlice->getNumILRRefIdx() getActiveNumILRRefIdx() shall be used Change history (2)comment:1 Changed 9 years ago by Vadimcomment:2 Changed 9 years ago by kolya
(in a hurry) the loop is over direct refs, not active 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
|
Can you please elaborate on what is wrong? Please point out the spec part you are referring to, and what software is doing differently that it provides a normative mismatch to the spec.
My understanding of the current implementation is that it is done on a picture level rather than slice, since current resampling code is done per picture and to avoid repeating of the resampling for the slices that use the same inter-layer reference picture (ILRP).
Each slice may choose different ILR picture, so software prepares them all (possible ILRP) for the very first slice, some pictures may not be used, but it is just one possible way of the implementation.