diff --git a/source/Lib/CommonLib/SEINeuralNetworkPostFiltering.cpp b/source/Lib/CommonLib/SEINeuralNetworkPostFiltering.cpp index 1af50c12a82c711e6eedecbbc0dc9f1f5cadb962..2bcbb11a81af9899805117c34f589f6b9644ec3b 100644 --- a/source/Lib/CommonLib/SEINeuralNetworkPostFiltering.cpp +++ b/source/Lib/CommonLib/SEINeuralNetworkPostFiltering.cpp @@ -238,11 +238,17 @@ void SEINeuralNetworkPostFiltering::checkInputPics( if (nnpfa != nullptr) { +#if JVET_AE0135_NNPF_PIC_RATE_UPSAMPLING_CONSTRAINT + int numPicsCurrLayer = 0; +#endif Picture *lastPic = nullptr; for (auto pic : m_picList) { if (pic->layerId == currCodedPic->layerId) { +#if JVET_AE0135_NNPF_PIC_RATE_UPSAMPLING_CONSTRAINT + ++numPicsCurrLayer; +#endif if (lastPic == nullptr || (pic->getPOC() > lastPic->getPOC())) { lastPic = pic; @@ -265,6 +271,9 @@ void SEINeuralNetworkPostFiltering::checkInputPics( numPostRoll = i; } } +#if JVET_AE0135_NNPF_PIC_RATE_UPSAMPLING_CONSTRAINT + CHECK( numPicsCurrLayer > numInputPics && greaterThan0count > 1, "Disallow generating NNPF output pictures between any particular pair of consecutive input pictures more than once." ); +#endif } int numInferences; diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 19fb632d293b00050d09755fdbec3f80523c91a2..e879dd349b97a48f887022f900214f4665d05d9e 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -65,6 +65,8 @@ #define JVET_AE0141_NNPFC_BUGFIX_COLOURIZATION 1 // JVET-AE0141: Fix a bug in NNPFC SEI message for colourization +#define JVET_AE0135_NNPF_PIC_RATE_UPSAMPLING_CONSTRAINT 1 // JVET_AE0135 item2: On NNPF picture rate upsampling constraint + //########### place macros to be be kept below this line ############### #define GDR_ENABLED 1