diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp
index b5c80aabc2f2a4d56157828e778e94c0a572bc53..2c5ff290992c997a4933f3f582d8dc68d9730078 100644
--- a/source/App/EncoderApp/EncApp.cpp
+++ b/source/App/EncoderApp/EncApp.cpp
@@ -253,7 +253,7 @@ void EncApp::xInitLibCfg()
 #endif
 #endif
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   m_cEncLib.setUseEncNnlfOpt                                     (m_encNnlfOpt);
   m_cEncLib.setRdoCnnlfInterLumaModelNameNNFilter0               (m_rdoCnnlfInterLumaModelNameNNFilter0);
   m_cEncLib.setRdoCnnlfIntraLumaModelNameNNFilter0               (m_rdoCnnlfIntraLumaModelNameNNFilter0);
diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp
index 473cf7dd4120fb459e9f0de30f783ad8a840c253..694e1c9633a61eec1ecd093fc7adc6979cdb97e7 100644
--- a/source/App/EncoderApp/EncAppCfg.cpp
+++ b/source/App/EncoderApp/EncAppCfg.cpp
@@ -1457,7 +1457,7 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] )
 #endif
 #endif
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   ( "EncNnlfOpt",                                     m_encNnlfOpt,                              false, "Encoder optimization with NN-based loop filter")
 #if NN_FIXED_POINT_IMPLEMENTATION
   ( "RdoCnnlfInterLumaModelNNFilter0",                m_rdoCnnlfInterLumaModelNameNNFilter0,     default_model_path + string("RDO_B_y_model_int16.sadl"), "Cnnlf inter luma model name")
@@ -2473,7 +2473,7 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] )
   }
 #endif
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   m_encNnlfOpt = (m_nnlfSet0 || m_nnlfSet1) ? m_encNnlfOpt : false;
 #endif
 
@@ -4226,7 +4226,7 @@ void EncAppCfg::xPrintParameter()
 #if NN_FILTERING_SET_1
   msg( VERBOSE, "NNLFSET1:%d ", (m_nnlfSet1)?(1):(0));
 #endif
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   msg( VERBOSE, "EncNnlfOpt:%d ", m_encNnlfOpt ? 1 : 0);
 #endif
 #if JVET_AC0196_NNSR
diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h
index aef6a5a51f9af03361dcb49f5436c8b76ca1c68d..a4c6a1c58d39107166d8f2c47323fcc2381695d7 100644
--- a/source/App/EncoderApp/EncAppCfg.h
+++ b/source/App/EncoderApp/EncAppCfg.h
@@ -99,7 +99,7 @@ protected:
 #endif
 #endif
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   std::string m_rdoCnnlfInterLumaModelNameNNFilter0;          ///< inter luma nnlf set0 model
   std::string m_rdoCnnlfIntraLumaModelNameNNFilter0;          ///< intra luma nnlf set0 model
   std::string m_rdoCnnlfInterLumaModelNameNNFilter1;          ///< inter luma nnlf set1 model
@@ -777,7 +777,7 @@ protected:
 #endif
 #endif
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   bool        m_encNnlfOpt;
 #endif
 
diff --git a/source/Lib/CommonLib/CodingStructure.cpp b/source/Lib/CommonLib/CodingStructure.cpp
index eb8f6f4f5ca5a47a77cb23ba914c276887bbd6dc..92b4741aa80c2d9d8ca18bbe22f1697d24b18413 100644
--- a/source/Lib/CommonLib/CodingStructure.cpp
+++ b/source/Lib/CommonLib/CodingStructure.cpp
@@ -1187,7 +1187,7 @@ void CodingStructure::initSubStructure( CodingStructure& subStruct, const Channe
 
   subStruct.useDbCost = false;
   subStruct.costDbOffset = 0;
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   subStruct.useNnCost = false;
   subStruct.costNnOffset = 0;
 #endif
@@ -1488,7 +1488,7 @@ void CodingStructure::initStructData( const int &QP, const bool &skipMotBuf )
   lumaCost = MAX_DOUBLE;
   costDbOffset = 0;
   useDbCost = false;
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   costNnOffset = 0;
   useNnCost = false;
 #endif
diff --git a/source/Lib/CommonLib/CodingStructure.h b/source/Lib/CommonLib/CodingStructure.h
index 413323aed2908b3493829a6ea74f9ece1ceca1be..ca6ab60882f7dc8245544fabf356f24e95ed7447 100644
--- a/source/Lib/CommonLib/CodingStructure.h
+++ b/source/Lib/CommonLib/CodingStructure.h
@@ -184,7 +184,7 @@ public:
   double      cost;
   bool        useDbCost;
   double      costDbOffset;
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   bool        useNnCost;
   double      costNnOffset;
 #endif
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index f3802920e2f48d11d0c34d9a97d79feb1cde3502..c3cae8ce23842fce75f7c8085ee72eb1f0e28eb9 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -106,8 +106,6 @@ using TypeSadl = float;
 #define JVET_AB0083_QPADJ                                 1 // JVET-AB0083: EE1-1.8: More refinements on NN based in-loop filter with a single model (Test 1)
 #endif
 
-#define JVET_AC0328_NNLF_RDO                              1 // JVET-AC0328: EE1-1.2: encoder-only optimization for NN based in-loop filter with a single model
-
 // nn filter set 1
 #define NN_FILTERING_SET_1                                1
 // options set 1
@@ -122,6 +120,8 @@ using TypeSadl = float;
 #define JVET_AC0177_FLIP_INPUT                            1 // JVET-AC0177: flip input and output of NN filter model
 #endif
 
+#define JVET_AB0068_AC0328_NNLF_RDO                       1 // JVET-AB0068: EE1-1.6: RDO considering deep in-loop filtering (nnlf set 0), JVET-AC0328: EE1-1.2: encoder-only optimization for NN based in-loop filter with a single model (nnlf set 1)
+
 #define JVET_AC0196_NNSR                                  1 // JVET-AC0196: EE1-2.2: GOP Level Adaptive Resampling with CNN-based Super Resolution
 #if JVET_AC0196_NNSR
 #define ADAPTIVE_RPR                                      1 // JVET-AC0196: GOP Level Adaptive Resampling
diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h
index 12b010aab9167afa95cfe9db54e639fe78467e15..9136c0a804cfe5da4c92c647c30bc8aef18a32ef 100644
--- a/source/Lib/EncoderLib/EncCfg.h
+++ b/source/Lib/EncoderLib/EncCfg.h
@@ -168,7 +168,7 @@ protected:
 #endif
 #endif
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   bool m_encNnlfOpt;
   std::string m_rdoCnnlfInterLumaModelNameNNFilter0;          ///< inter luma nnlf set0 model
   std::string m_rdoCnnlfIntraLumaModelNameNNFilter0;          ///< intra luma nnlf set0 model
@@ -897,7 +897,7 @@ public:
 #endif
 #endif
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   std::string      getRdoCnnlfInterLumaModelNameNNFilter0()                { return m_rdoCnnlfInterLumaModelNameNNFilter0;   }
   std::string      getRdoCnnlfIntraLumaModelNameNNFilter0()                { return m_rdoCnnlfIntraLumaModelNameNNFilter0;   }
   void             setRdoCnnlfInterLumaModelNameNNFilter0(std::string s)   { m_rdoCnnlfInterLumaModelNameNNFilter0 = s;      }
@@ -2159,7 +2159,7 @@ public:
 
 #if NN_FILTERING_SET_0
   void         setUseNnlfSet0(bool b)                                 { m_nnlfSet0 = b; }
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   bool         getUseNnlfSet0()                                 const { return m_nnlfSet0; }
 #endif
 #endif
diff --git a/source/Lib/EncoderLib/EncCu.cpp b/source/Lib/EncoderLib/EncCu.cpp
index 4510bb28ed91bc5cf9c2587dc470624875523785..80e3ee3a402a1bb26f8286cbdccaa8cef0ae5c94 100644
--- a/source/Lib/EncoderLib/EncCu.cpp
+++ b/source/Lib/EncoderLib/EncCu.cpp
@@ -235,7 +235,7 @@ void EncCu::init( EncLib* pcEncLib, const SPS& sps PARL_PARAM( const int tId ) )
   m_pcEncLib           = pcEncLib;
   m_dataId             = tId;
 #endif
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   m_pcCNNLFEncoder     = pcEncLib->getGOPEncoder()->getEncCnnFilter();
 #endif
   m_pcLoopFilter       = pcEncLib->getLoopFilter();
@@ -1335,7 +1335,7 @@ void EncCu::xCheckModeSplit(CodingStructure *&tempCS, CodingStructure *&bestCS,
         tempCS->cost = MAX_DOUBLE;
         tempCS->costDbOffset = 0;
         tempCS->useDbCost = m_pcEncCfg->getUseEncDbOpt();
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
         tempCS->costNnOffset = 0;
         tempCS->useNnCost = false;
 #endif
@@ -1381,7 +1381,7 @@ void EncCu::xCheckModeSplit(CodingStructure *&tempCS, CodingStructure *&bestCS,
           tempCS->cost = MAX_DOUBLE;
           tempCS->costDbOffset = 0;
           tempCS->useDbCost = m_pcEncCfg->getUseEncDbOpt();
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
           tempCS->costNnOffset = 0;
           tempCS->useNnCost = false;
 #endif
@@ -1574,7 +1574,7 @@ void EncCu::xCheckModeSplit(CodingStructure *&tempCS, CodingStructure *&bestCS,
     }
   }
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   UnitArea unitArea = clipArea(bestCS->area, *bestCS->picture);
   
   bool useEncNnOpt = false;
@@ -1672,7 +1672,7 @@ void EncCu::xCheckModeSplit(CodingStructure *&tempCS, CodingStructure *&bestCS,
   tempCS->prevQP[partitioner.chType] = oldPrevQp;
 }
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
 void EncCu::xCheckCnnlf(CodingStructure& cs, UnitArea unitArea)
 {
   if (cs.useNnCost)
@@ -4517,7 +4517,7 @@ Distortion EncCu::getDistortionDb( CodingStructure &cs, CPelBuf org, CPelBuf rec
   Distortion dist = 0;
 #if WCG_EXT
   m_pcRdCost->setChromaFormat(cs.sps->getChromaFormatIdc());
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   CPelBuf orgLuma = cs.picture->getOrigBuf(clipArea(cs.area.blocks[COMPONENT_Y], cs.picture->blocks[COMPONENT_Y]));
 #else
   CPelBuf orgLuma = cs.picture->getOrigBuf( cs.area.blocks[COMPONENT_Y] );
@@ -4856,7 +4856,7 @@ void EncCu::xEncodeInterResidual(   CodingStructure *&tempCS
       if( bestCost == bestCS->cost ) //The first EMT pass didn't become the bestCS, so we clear the TUs generated
       {
         tempCS->clearTUs();
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
         cu = tempCS->getCU(partitioner.chType);
 #endif
       }
@@ -4882,7 +4882,7 @@ void EncCu::xEncodeInterResidual(   CodingStructure *&tempCS
       tempCS->cost = MAX_DOUBLE;
       cu->skip = false;
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
       tempCS->useNnCost = false;
       tempCS->costNnOffset = 0;
 #endif
diff --git a/source/Lib/EncoderLib/EncCu.h b/source/Lib/EncoderLib/EncCu.h
index 78444f2c97674c5cf8640a75245d2fb1c477e48e..8545fc7c8041d15396dc95a0c3ad80c8f607307c 100644
--- a/source/Lib/EncoderLib/EncCu.h
+++ b/source/Lib/EncoderLib/EncCu.h
@@ -55,7 +55,7 @@
 #include "InterSearch.h"
 #include "RateCtrl.h"
 #include "EncModeCtrl.h"
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
 #include "EncNNFilter.h"
 #endif
 //! \ingroup EncoderLib
@@ -184,7 +184,7 @@ private:
   TrQuant*              m_pcTrQuant;
   RdCost*               m_pcRdCost;
   EncSlice*             m_pcSliceEncoder;
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   EncNNFilter*          m_pcCNNLFEncoder;
 #endif
   LoopFilter*           m_pcLoopFilter;
@@ -263,7 +263,7 @@ protected:
     xCheckBestMode         ( CodingStructure *&tempCS, CodingStructure *&bestCS, Partitioner &pm, const EncTestMode& encTestmode );
 
   void xCheckModeSplit        ( CodingStructure *&tempCS, CodingStructure *&bestCS, Partitioner &pm, const EncTestMode& encTestMode, const ModeType modeTypeParent, bool &skipInterPass );
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   void xCheckCnnlf            ( CodingStructure& cs, UnitArea unitArea );
 #endif
 
diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp
index bcc6e8eadda5701c0a795ec973969c34a2a5bac4..fae656f181f8f8dcff8366a44b3b74f0ce0614a4 100644
--- a/source/Lib/EncoderLib/EncGOP.cpp
+++ b/source/Lib/EncoderLib/EncGOP.cpp
@@ -202,7 +202,7 @@ void  EncGOP::destroy()
     delete m_picOrig;
     m_picOrig = NULL;
   }
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
     m_cCNNLFEncoder.destroyEnc();
 #endif
 #if NN_FILTERING_SET_1
@@ -222,7 +222,7 @@ void EncGOP::init ( EncLib* pcEncLib )
   m_pcSAO                = pcEncLib->getSAO();
   m_pcALF                = pcEncLib->getALF();
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   m_cCNNLFEncoder.createEnc(m_pcCfg->getSourceWidth(), m_pcCfg->getSourceHeight(), m_pcCfg->getMaxCUWidth(), m_pcCfg->getMaxCUHeight(), m_pcCfg->getChromaFormatIdc(), m_pcCfg->getNnlfSet1MaxNumParams());
 #endif
 
@@ -2853,7 +2853,7 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic,
     {
       m_pcSliceEncoder->setJointCbCrModes(*pcPic->cs, Position(0, 0), pcPic->cs->area.lumaSize());
     }
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
     if (m_pcEncLib->getUseNnlfSet0())
       m_cCNNLFEncoder.initEnc(m_pcEncLib->getUseEncNnlfOpt() ? 1 : 0, m_pcEncLib->getUseNnlfSet0(), m_pcEncLib->getRdoCnnlfInterLumaModelNameNNFilter0(), m_pcEncLib->getRdoCnnlfIntraLumaModelNameNNFilter0());
     else
diff --git a/source/Lib/EncoderLib/EncGOP.h b/source/Lib/EncoderLib/EncGOP.h
index 709b452e49f378dca3d88f8b55834d193957157d..d8519fff1d1607c640c14b949db1f13b42e47805 100644
--- a/source/Lib/EncoderLib/EncGOP.h
+++ b/source/Lib/EncoderLib/EncGOP.h
@@ -73,7 +73,7 @@
 #include <chrono>
 #endif
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
 #include "EncNNFilter.h"
 #endif
 
@@ -177,7 +177,7 @@ private:
   EncSampleAdaptiveOffset*  m_pcSAO;
   EncAdaptiveLoopFilter*    m_pcALF;
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   EncNNFilter               m_cCNNLFEncoder;
 #endif
 #if NN_FILTERING_SET_0
@@ -271,7 +271,7 @@ public:
   void      setLastLTRefPoc(int iLastLTRefPoc) { m_lastLTRefPoc = iLastLTRefPoc; }
   int       getLastLTRefPoc() const { return m_lastLTRefPoc; }
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   EncNNFilter* getEncCnnFilter() { return &m_cCNNLFEncoder; }
 #endif
 
diff --git a/source/Lib/EncoderLib/EncModeCtrl.cpp b/source/Lib/EncoderLib/EncModeCtrl.cpp
index 6db41edb1339b5a79668176ab1ecc9760222a4bb..9670df6f984ca855ac3bcb6f02de6af9b6105064 100644
--- a/source/Lib/EncoderLib/EncModeCtrl.cpp
+++ b/source/Lib/EncoderLib/EncModeCtrl.cpp
@@ -2097,7 +2097,7 @@ bool EncModeCtrlMTnoRQT::useModeResult( const EncTestMode& encTestmode, CodingSt
   }
 
   // for now just a simple decision based on RD-cost or choose tempCS if bestCS is not yet coded
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
   bool useTemp = false;
   if (tempCS->features[ENC_FT_RD_COST] != MAX_DOUBLE)
   {
diff --git a/source/Lib/EncoderLib/EncNNFilter.cpp b/source/Lib/EncoderLib/EncNNFilter.cpp
index ca767f5f42c869414f23e07ab6a60464545f1385..29a02209e0d760aef83a46789418e55fd2b2dec4 100644
--- a/source/Lib/EncoderLib/EncNNFilter.cpp
+++ b/source/Lib/EncoderLib/EncNNFilter.cpp
@@ -38,7 +38,7 @@
 #include "EncNNFilter.h"
 #include <sadl/model.h>
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
 void EncNNFilter::createEnc(const int picWidth, const int picHeight, const int maxCuWidth, const int maxCuHeight, const ChromaFormat format, const int nnlfSet1NumParams)
 {
   if (m_tempBuf.getOrigin(0) == NULL)
diff --git a/source/Lib/EncoderLib/EncNNFilter.h b/source/Lib/EncoderLib/EncNNFilter.h
index 8bd7a110fd2fe5da9f283cca6aab0488a4809f48..1c17bbefcef27d5cb9b4fa2029f618ae2c9ca6fb 100644
--- a/source/Lib/EncoderLib/EncNNFilter.h
+++ b/source/Lib/EncoderLib/EncNNFilter.h
@@ -44,7 +44,7 @@
 
 #include "CommonLib/CommonDef.h"
 
-#if JVET_AC0328_NNLF_RDO
+#if JVET_AB0068_AC0328_NNLF_RDO
 
 #include "Picture.h"
 #include <fstream>