Commit cb9eb246 authored by Xiang Li's avatar Xiang Li
Browse files

Merge branch 'JVET-V0047' into 'master'

JVET-V0047: CE3.1 method for the high precision computation of transform scaling

See merge request jvet/VVCSoftware_VTM!2069
parents 982dc290 9908c78d
......@@ -54,7 +54,11 @@ CoeffCodingContext::CoeffCodingContext(const TransformUnit &tu, ComponentID comp
, m_log2BlockHeight((unsigned) floorLog2(m_height))
, m_maxNumCoeff(m_width * m_height)
, m_signHiding(signHide)
#if JVET_V0047_HIGH_PRECISION_TRANSFORM
, m_extendedPrecision(tu.cs->sps->getSpsRangeExtension().getExtendedPrecisionProcessingFlag() && tu.cs->sps->getBitDepth( m_chType ) > 10)
#else
, m_extendedPrecision(tu.cs->sps->getSpsRangeExtension().getExtendedPrecisionProcessingFlag())
#endif
, m_maxLog2TrDynamicRange(tu.cs->sps->getMaxLog2TrDynamicRange(m_chType))
, m_scanType(SCAN_DIAG)
, m_scan(
......
......@@ -1709,7 +1709,11 @@ public:
void setEntropyCodingSyncEnabledFlag(bool val) { m_entropyCodingSyncEnabledFlag = val; }
bool getEntryPointsPresentFlag() const { return m_entryPointPresentFlag; }
void setEntryPointsPresentFlag(bool val) { m_entryPointPresentFlag = val; }
#if JVET_V0047_HIGH_PRECISION_TRANSFORM
int getMaxLog2TrDynamicRange(ChannelType channelType) const { return getSpsRangeExtension().getExtendedPrecisionProcessingFlag() && int(m_bitDepths.recon[channelType]) > 10 ? std::min<int>(20, int(m_bitDepths.recon[channelType] + 6)) : 15; }
#else
int getMaxLog2TrDynamicRange(ChannelType channelType) const { return getSpsRangeExtension().getExtendedPrecisionProcessingFlag() ? std::max<int>(15, int(m_bitDepths.recon[channelType] + 6)) : 15; }
#endif
int getDifferentialLumaChromaBitDepth() const { return int(m_bitDepths.recon[CHANNEL_TYPE_LUMA]) - int(m_bitDepths.recon[CHANNEL_TYPE_CHROMA]); }
int getQpBDOffset(ChannelType type) const { return m_qpBDOffset[type]; }
......
......@@ -57,6 +57,8 @@
//########### place macros to be removed in next cycle below this line ###############
#define JVET_V0047_HIGH_PRECISION_TRANSFORM 1 // JVET-V0047: CE3.1 method for the high precision computation of transform scaling
#define JVET_V0095_ALF_SAO_TRUE_ORG 1 // JVET-V0095: Using true original samples for SAO and ALF optimization when MCTF is applied
#define JVET_V0056_MCTF 1 // JVET-V0056: Changes to MCTF
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment