Fix for #572: fix perceptual QP adaptation for unequal Cb and Cr QP offsets and in combination with JCCR

Merged Christian Helmrich requested to merge crhelmrich/VVCSoftware_VTM:QPA-fixes into master

see ticket

In the case of unequal Cb and Cr QP offsets, the following encoder functions may, according to my understanding, work suboptimally:

  • rate control (if pCfg->getUseRateCtrl() in encodeCtus(), not sure if this is used)
  • perceptual QPA with chroma QP adaptation (e.g., if pCfg->getUsePerceptQPA() && pcSlice->getPPS()->getUseDQP() in encodeCtus())
  • SBT fast algorithm (InterSearch::calcMinDistSbt() called in xEncodeInterResidual()).

The last case is NOT fixed by this merge request since it would affect the HDR class 1 CTCs. See the attached hdr__vtm6_vs_vtm6withFix572.xlsm

Merge request reports