From e9d372f2945b829e036edcbfa08c6548caa56a3c Mon Sep 17 00:00:00 2001 From: Bappaditya Ray <bray@qti.qualcomm.com> Date: Tue, 8 Aug 2023 21:47:35 +0000 Subject: [PATCH] Fix: parsing fix when IBC LIC is set to 0 --- source/Lib/DecoderLib/CABACReader.cpp | 8 ++++---- source/Lib/EncoderLib/CABACWriter.cpp | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/source/Lib/DecoderLib/CABACReader.cpp b/source/Lib/DecoderLib/CABACReader.cpp index d3c9b38b0..eb92e6f91 100644 --- a/source/Lib/DecoderLib/CABACReader.cpp +++ b/source/Lib/DecoderLib/CABACReader.cpp @@ -4654,9 +4654,9 @@ void CABACReader::cuIbcLicFlag( CodingUnit& cu ) cu.ibcFilterFlag = false; } #if JVET_AE0078_IBC_LIC_EXTENSION - if (!cu.ibcFilterFlag) + if (!cu.ibcFilterFlag && cu.cs->sps->getUseIbcLic()) #else - if (!cu.ibcFilterFlag && (cu.lwidth() * cu.lheight() <= 256)) + if (!cu.ibcFilterFlag && cu.cs->sps->getUseIbcLic() && (cu.lwidth() * cu.lheight() <= 256)) #endif { cu.ibcLicFlag = m_BinDecoder.decodeBin(Ctx::IbcLicFlag(0)); @@ -4683,14 +4683,14 @@ void CABACReader::cuIbcLicFlag( CodingUnit& cu ) #endif } #if !JVET_AE0078_IBC_LIC_EXTENSION - else if (!cu.ibcFilterFlag) // (cu.lwidth() * cu.lheight() > 256) + else if (!cu.ibcFilterFlag && cu.cs->sps->getUseIbcLic()) // (cu.lwidth() * cu.lheight() > 256) { cu.ibcLicFlag = false; } #endif else { - cu.ibcLicFlag = true; + cu.ibcLicFlag = cu.cs->sps->getUseIbcLic()? true : false; #if JVET_AE0078_IBC_LIC_EXTENSION cu.ibcLicIdx = 0; #endif diff --git a/source/Lib/EncoderLib/CABACWriter.cpp b/source/Lib/EncoderLib/CABACWriter.cpp index 14762b658..4bcd74dee 100644 --- a/source/Lib/EncoderLib/CABACWriter.cpp +++ b/source/Lib/EncoderLib/CABACWriter.cpp @@ -4243,9 +4243,9 @@ void CABACWriter::cuIbcLicFlag(const CodingUnit& cu) DTRACE(g_trace_ctx, D_SYNTAX, "cu_ibc_lic_flag() filter_flag=%d\n", cu.ibcFilterFlag); } #if JVET_AE0078_IBC_LIC_EXTENSION - if (!cu.ibcFilterFlag) + if (!cu.ibcFilterFlag && cu.cs->sps->getUseIbcLic()) #else - if (!cu.ibcFilterFlag && (cu.lwidth() * cu.lheight() <= 256)) + if (!cu.ibcFilterFlag && cu.cs->sps->getUseIbcLic() && (cu.lwidth() * cu.lheight() <= 256)) #endif { m_BinEncoder.encodeBin(cu.ibcLicFlag ? 1 : 0, Ctx::IbcLicFlag(0)); -- GitLab