Opened 10 years ago

Closed 10 years ago

#1260 closed defect (fixed)

Filtering process for chroma block edges doesn't match spec

Reported by: jackh Owned by:
Priority: minor Milestone: HM+RExt-4.2
Component: HM RExt Version: RExt-4.1 (HM-12.0)
Keywords: Cc: davidf, karlsharman, jct-vc@…

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 10 years ago by DefaultCC Plugin

  • Cc davidf karlsharman jct-vc@… added

comment:2 Changed 10 years ago by karlsharman

Fixed in r3869.

comment:3 Changed 10 years ago by karlsharman

  • Resolution set to fixed
  • Status changed from new to closed
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

  • David Flynn(Subscriber)
  • Jack Haughton(Reporter)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Subscriber, Participant)
  • karl.sharman@…(Always)
  • Karsten Suehring(Always)