Commit e71b5d2d authored by Karsten Suehring's avatar Karsten Suehring

remove macro JVET_L0081_VPDU_SPLIT_CONSTRAINTS

parent f7609855
...@@ -275,9 +275,7 @@ static const int MAX_TU_SIZE = 128; ...@@ -275,9 +275,7 @@ static const int MAX_TU_SIZE = 128;
static const int MAX_LOG2_TU_SIZE_PLUS_ONE = 8; ///< log2(MAX_TU_SIZE) + 1 static const int MAX_LOG2_TU_SIZE_PLUS_ONE = 8; ///< log2(MAX_TU_SIZE) + 1
static const int MAX_NUM_PARTS_IN_CTU = ( ( MAX_CU_SIZE * MAX_CU_SIZE ) >> ( MIN_CU_LOG2 << 1 ) ); static const int MAX_NUM_PARTS_IN_CTU = ( ( MAX_CU_SIZE * MAX_CU_SIZE ) >> ( MIN_CU_LOG2 << 1 ) );
static const int MAX_TR_SIZE = MAX_CU_SIZE; static const int MAX_TR_SIZE = MAX_CU_SIZE;
#if JVET_L0081_VPDU_SPLIT_CONSTRAINTS
static const int MAX_TU_SIZE_FOR_PROFILE = 64; static const int MAX_TU_SIZE_FOR_PROFILE = 64;
#endif
static const int MAX_LOG2_DIFF_CU_TR_SIZE = 2; static const int MAX_LOG2_DIFF_CU_TR_SIZE = 2;
static const int MAX_CU_TILING_PARTITIONS = 1 << ( MAX_LOG2_DIFF_CU_TR_SIZE << 1 ); static const int MAX_CU_TILING_PARTITIONS = 1 << ( MAX_LOG2_DIFF_CU_TR_SIZE << 1 );
......
...@@ -59,7 +59,6 @@ ...@@ -59,7 +59,6 @@
#define JVET_L0285_8BIT_TRANSFORM_CORE 1 // Primary transform using 8-bit cores #define JVET_L0285_8BIT_TRANSFORM_CORE 1 // Primary transform using 8-bit cores
#define JVET_L0081_VPDU_SPLIT_CONSTRAINTS 1 // VPDU constraints for binary and ternary partitions
#define JVET_L0104_NO_4x4BI_INTER_CU 1 // Prohibit 4x4 bi-prediction for inter CU #define JVET_L0104_NO_4x4BI_INTER_CU 1 // Prohibit 4x4 bi-prediction for inter CU
#define JVET_L0266_HMVP 1 //History-based MVP #define JVET_L0266_HMVP 1 //History-based MVP
......
...@@ -398,29 +398,21 @@ bool QTBTPartitioner::canSplit( const PartSplit split, const CodingStructure &cs ...@@ -398,29 +398,21 @@ bool QTBTPartitioner::canSplit( const PartSplit split, const CodingStructure &cs
{ {
case CU_HORZ_SPLIT: case CU_HORZ_SPLIT:
if( area.height <= minBtSize || area.height > maxBtSize ) return false; if( area.height <= minBtSize || area.height > maxBtSize ) return false;
#if JVET_L0081_VPDU_SPLIT_CONSTRAINTS
if( area.width > MAX_TU_SIZE_FOR_PROFILE && area.height <= MAX_TU_SIZE_FOR_PROFILE ) return false; if( area.width > MAX_TU_SIZE_FOR_PROFILE && area.height <= MAX_TU_SIZE_FOR_PROFILE ) return false;
#endif
break; break;
case CU_VERT_SPLIT: case CU_VERT_SPLIT:
if( area.width <= minBtSize || area.width > maxBtSize ) return false; if( area.width <= minBtSize || area.width > maxBtSize ) return false;
#if JVET_L0081_VPDU_SPLIT_CONSTRAINTS
if( area.width <= MAX_TU_SIZE_FOR_PROFILE && area.height > MAX_TU_SIZE_FOR_PROFILE ) return false; if( area.width <= MAX_TU_SIZE_FOR_PROFILE && area.height > MAX_TU_SIZE_FOR_PROFILE ) return false;
#endif
break; break;
case CU_TRIH_SPLIT: case CU_TRIH_SPLIT:
if( ( cs.sps->getSpsNext().getMTTMode() & 1 ) != 1 ) return false; if( ( cs.sps->getSpsNext().getMTTMode() & 1 ) != 1 ) return false;
if( area.height <= 2 * minTtSize || area.height > maxTtSize || area.width > maxTtSize) return false; if( area.height <= 2 * minTtSize || area.height > maxTtSize || area.width > maxTtSize) return false;
#if JVET_L0081_VPDU_SPLIT_CONSTRAINTS
if( area.width > MAX_TU_SIZE_FOR_PROFILE || area.height > MAX_TU_SIZE_FOR_PROFILE ) return false; if( area.width > MAX_TU_SIZE_FOR_PROFILE || area.height > MAX_TU_SIZE_FOR_PROFILE ) return false;
#endif
break; break;
case CU_TRIV_SPLIT: case CU_TRIV_SPLIT:
if( ( cs.sps->getSpsNext().getMTTMode() & 1 ) != 1 ) return false; if( ( cs.sps->getSpsNext().getMTTMode() & 1 ) != 1 ) return false;
if( area.width <= 2 * minTtSize || area.width > maxTtSize || area.height > maxTtSize) return false; if( area.width <= 2 * minTtSize || area.width > maxTtSize || area.height > maxTtSize) return false;
#if JVET_L0081_VPDU_SPLIT_CONSTRAINTS
if( area.width > MAX_TU_SIZE_FOR_PROFILE || area.height > MAX_TU_SIZE_FOR_PROFILE ) return false; if( area.width > MAX_TU_SIZE_FOR_PROFILE || area.height > MAX_TU_SIZE_FOR_PROFILE ) return false;
#endif
break; break;
default: default:
break; break;
......
...@@ -1502,15 +1502,11 @@ bool EncModeCtrlMTnoRQT::tryMode( const EncTestMode& encTestmode, const CodingSt ...@@ -1502,15 +1502,11 @@ bool EncModeCtrlMTnoRQT::tryMode( const EncTestMode& encTestmode, const CodingSt
{ {
unsigned maxBTD = cs.pcv->getMaxBtDepth( slice, partitioner.chType ); unsigned maxBTD = cs.pcv->getMaxBtDepth( slice, partitioner.chType );
const CodingUnit *cuBR = bestCS->cus.back(); const CodingUnit *cuBR = bestCS->cus.back();
#if JVET_L0081_VPDU_SPLIT_CONSTRAINTS
unsigned height = partitioner.currArea().lumaSize().height; unsigned height = partitioner.currArea().lumaSize().height;
#endif
if( bestCU && ( ( bestCU->btDepth == 0 && maxBTD >= ( slice.isIntra() ? 3 : 2 ) ) if( bestCU && ( ( bestCU->btDepth == 0 && maxBTD >= ( slice.isIntra() ? 3 : 2 ) )
|| ( bestCU->btDepth == 1 && cuBR && cuBR->btDepth == 1 && maxBTD >= ( slice.isIntra() ? 4 : 3 ) ) ) || ( bestCU->btDepth == 1 && cuBR && cuBR->btDepth == 1 && maxBTD >= ( slice.isIntra() ? 4 : 3 ) ) )
#if JVET_L0081_VPDU_SPLIT_CONSTRAINTS
&& ( width <= MAX_TU_SIZE_FOR_PROFILE && height <= MAX_TU_SIZE_FOR_PROFILE ) && ( width <= MAX_TU_SIZE_FOR_PROFILE && height <= MAX_TU_SIZE_FOR_PROFILE )
#endif
&& cuECtx.get<bool>( DID_HORZ_SPLIT ) && cuECtx.get<bool>( DID_VERT_SPLIT ) ) && cuECtx.get<bool>( DID_HORZ_SPLIT ) && cuECtx.get<bool>( DID_VERT_SPLIT ) )
{ {
return false; return false;
......
Markdown is supported
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