From 458b5b385dba417a1451a56873477ecea6bb8a61 Mon Sep 17 00:00:00 2001
From: Adarsh Krishnan Ramasubramonian <aramasub@qti.qualcomm.com>
Date: Thu, 1 Aug 2019 17:39:56 +0100
Subject: [PATCH] Bug fix and restore offsets in config

---
 cfg/encoder_intra_vtm.cfg           | 4 ++--
 cfg/encoder_lowdelay_P_vtm.cfg      | 4 ++--
 cfg/encoder_lowdelay_vtm.cfg        | 4 ++--
 cfg/encoder_randomaccess_vtm.cfg    | 4 ++--
 source/Lib/CommonLib/LoopFilter.cpp | 4 ++--
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/cfg/encoder_intra_vtm.cfg b/cfg/encoder_intra_vtm.cfg
index 507b14f2b..ddc4dedad 100644
--- a/cfg/encoder_intra_vtm.cfg
+++ b/cfg/encoder_intra_vtm.cfg
@@ -75,8 +75,8 @@ CUTransquantBypassFlagForce: 0                         # Force transquant bypass
 #============ VTM settings ======================
 LoopFilterTcOffset_div2             : 0
 SEIDecodedPictureHash               : 0
-CbQpOffset                          : 0
-CrQpOffset                          : 0
+CbQpOffset                          : 1
+CrQpOffset                          : 1
 TemporalSubsampleRatio              : 8
 
 ReWriteParamSets                    : 1
diff --git a/cfg/encoder_lowdelay_P_vtm.cfg b/cfg/encoder_lowdelay_P_vtm.cfg
index d3f1d549b..9b3089579 100644
--- a/cfg/encoder_lowdelay_P_vtm.cfg
+++ b/cfg/encoder_lowdelay_P_vtm.cfg
@@ -92,8 +92,8 @@ RCForceIntraQP                      : 0                # Rate control: force int
 #============ VTM settings ======================
 LoopFilterTcOffset_div2             : 0
 SEIDecodedPictureHash               : 0
-CbQpOffset                          : 0
-CrQpOffset                          : 0
+CbQpOffset                          : 1
+CrQpOffset                          : 1
 
 ReWriteParamSets                    : 1
 #============ NEXT ====================
diff --git a/cfg/encoder_lowdelay_vtm.cfg b/cfg/encoder_lowdelay_vtm.cfg
index 28753a291..148f03230 100644
--- a/cfg/encoder_lowdelay_vtm.cfg
+++ b/cfg/encoder_lowdelay_vtm.cfg
@@ -92,8 +92,8 @@ RCForceIntraQP                      : 0                # Rate control: force int
 #============ VTM settings ======================
 LoopFilterTcOffset_div2             : 0
 SEIDecodedPictureHash               : 0
-CbQpOffset                          : 0
-CrQpOffset                          : 0
+CbQpOffset                          : 1
+CrQpOffset                          : 1
 
 ReWriteParamSets                    : 1
 #============ NEXT ====================
diff --git a/cfg/encoder_randomaccess_vtm.cfg b/cfg/encoder_randomaccess_vtm.cfg
index 1750b4b43..2e4c7a033 100644
--- a/cfg/encoder_randomaccess_vtm.cfg
+++ b/cfg/encoder_randomaccess_vtm.cfg
@@ -106,8 +106,8 @@ RCForceIntraQP                      : 0                # Rate control: force int
 #============ VTM settings ======================
 LoopFilterTcOffset_div2             : 0
 SEIDecodedPictureHash               : 0
-CbQpOffset                          : 0
-CrQpOffset                          : 0
+CbQpOffset                          : 1
+CrQpOffset                          : 1
 
 ReWriteParamSets                    : 1
 #============ NEXT ====================
diff --git a/source/Lib/CommonLib/LoopFilter.cpp b/source/Lib/CommonLib/LoopFilter.cpp
index 55016eefe..f263900d8 100644
--- a/source/Lib/CommonLib/LoopFilter.cpp
+++ b/source/Lib/CommonLib/LoopFilter.cpp
@@ -1274,8 +1274,8 @@ void LoopFilter::xEdgeFilterChroma(const CodingUnit& cu, const DeblockEdgeDir ed
         Pel* piTmpSrcChroma = (chromaIdx == 0) ? piTmpSrcCb : piTmpSrcCr;
 
 #if JVET_O0650_SIGNAL_CHROMAQP_MAPPING_TABLE
-        int iQP = Clip3(0, MAX_QP, ((cuP.qp + cuQ.qp + 1) >> 1) + chromaQPOffset);
-        iQP = sps.getMappedChromaQpValue(ComponentID(chromaIdx + 1), iQP);
+        int iQP = sps.getMappedChromaQpValue(ComponentID(chromaIdx + 1), ((cuP.qp + cuQ.qp + 1) >> 1));
+        int iQP = Clip3(0, MAX_QP, iQP + chromaQPOffset);
 #else
         int iQP = ( ( cuP.qp + cuQ.qp + 1 ) >> 1 ) + chromaQPOffset;
         if (iQP >= chromaQPMappingTableSize)
-- 
GitLab