Opened 13 years ago Closed 13 years ago #1260 closed defect (fixed)Filtering process for chroma block edges doesn't match spec
Description
Assuming ticket #1254 to be correct, the following piece of code in TComLoopFilter::xEdgeFilterChroma() doesn't match the spec: iQP = ((iQP_P + iQP_Q + 1) >> 1) + chromaQPOffset;
if (iQP >= chromaQPMappingTableSize) iQP -=6;
else if (iQP >= 0) iQP = getScaledChromaQP(iQP, pcPicYuvRec->getChromaFormat());
It misses out the case when ChromaArrayType != 1 and iQP >= chromaQPMappingTableSize. A possible solution to this might be: iQP = ((iQP_P + iQP_Q + 1) >> 1) + chromaQPOffset;
if (iQP >= chromaQPMappingTableSize) {
if (pcPicYuvRec->getChromaFormat()==CHROMA_420) iQP -=6;
else if (iQP>51) iQP=51;
}
else if (iQP >= 0) iQP = getScaledChromaQP(iQP, pcPicYuvRec->getChromaFormat());
Change History (3)comment:1 Changed 13 years ago by DefaultCC Plugin
comment:2 Changed 13 years ago by karlsharmancomment:3 Changed 13 years ago by karlsharman
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
| ||||||||||||||||
Fixed in r3869.