diff --git a/cfg/encoder_lowdelay_P_vtm.cfg b/cfg/encoder_lowdelay_P_vtm.cfg
index 5ee62bea4a7c1a0acd2bdfa61e097488f42fc21b..33ec38d4e18335ef054ca303b83e700fa477a541 100644
--- a/cfg/encoder_lowdelay_P_vtm.cfg
+++ b/cfg/encoder_lowdelay_P_vtm.cfg
@@ -126,7 +126,6 @@ MRL                          : 1
 MIP                          : 0
 JointCbCr                    : 1      # joint coding of chroma residuals (if available): 0: disable, 1: enable
 PROF                         : 1
-PPSorSliceMode               : 3
 ChromaTS                     : 1
 
 # Fast tools
diff --git a/cfg/encoder_lowdelay_vtm.cfg b/cfg/encoder_lowdelay_vtm.cfg
index 0ae0e4b9437443eacfd829a12729be8ee2cae057..92763c14d51348f6c71256cf9ad785e1cd1864f6 100644
--- a/cfg/encoder_lowdelay_vtm.cfg
+++ b/cfg/encoder_lowdelay_vtm.cfg
@@ -130,7 +130,6 @@ MRL                          : 1
 MIP                          : 0
 JointCbCr                    : 1      # joint coding of chroma residuals (if available): 0: disable, 1: enable
 PROF                         : 1
-PPSorSliceMode               : 2
 ChromaTS                     : 1
 
 # Fast tools
diff --git a/cfg/encoder_randomaccess_vtm.cfg b/cfg/encoder_randomaccess_vtm.cfg
index 8c12543f3d811305a4db588bfe99bf91178df6b3..b8f56a639be226f930cb7f1116f836b8035e5e7a 100644
--- a/cfg/encoder_randomaccess_vtm.cfg
+++ b/cfg/encoder_randomaccess_vtm.cfg
@@ -145,7 +145,6 @@ DMVR                         : 1
 SMVD                         : 1
 JointCbCr                    : 1      # joint coding of chroma residuals (if available): 0: disable, 1: enable
 PROF                         : 1
-PPSorSliceMode               : 1
 
 # Fast tools
 PBIntraFast                  : 1
diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp
index 156f863d1c54c82f50a9e06a7b8a032fe23bd752..ff6e9b30beb6a385d4612c00eb5eca75ea589f54 100644
--- a/source/App/EncoderApp/EncApp.cpp
+++ b/source/App/EncoderApp/EncApp.cpp
@@ -793,6 +793,7 @@ void EncApp::xInitLibCfg()
   m_cEncLib.setSliceLevelDeltaQp                                 ( m_sliceLevelDeltaQp );
 #endif
   m_cEncLib.setSliceLevelAlf                                     ( m_sliceLevelAlf  );
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   m_cEncLib.setConstantSliceHeaderParamsEnabledFlag              ( m_constantSliceHeaderParamsEnabledFlag );
   m_cEncLib.setPPSDepQuantEnabledIdc                             ( m_PPSDepQuantEnabledIdc );
   m_cEncLib.setPPSRefPicListSPSIdc0                              ( m_PPSRefPicListSPSIdc0 );
@@ -800,10 +801,15 @@ void EncApp::xInitLibCfg()
   m_cEncLib.setPPSMvdL1ZeroIdc                                   ( m_PPSMvdL1ZeroIdc );
   m_cEncLib.setPPSCollocatedFromL0Idc                            ( m_PPSCollocatedFromL0Idc );
   m_cEncLib.setPPSSixMinusMaxNumMergeCandPlus1                   ( m_PPSSixMinusMaxNumMergeCandPlus1 );
+#endif
 #if !JVET_Q0806
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   m_cEncLib.setPPSMaxNumMergeCandMinusMaxNumTriangleCandPlus1    ( m_PPSMaxNumMergeCandMinusMaxNumTriangleCandPlus1 );
+#endif
 #else
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   m_cEncLib.setPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1    ( m_PPSMaxNumMergeCandMinusMaxNumGeoCandPlus1 );
+#endif
 #endif
   m_cEncLib.setUseScalingListId                                  ( m_useScalingListId  );
   m_cEncLib.setScalingListFileName                               ( m_scalingListFileName );
diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp
index 8376e59bab1a7b4c9dc842411b99e7a505562e26..1300551e7ebf60093bbbac7029828b4ef63fd28b 100644
--- a/source/App/EncoderApp/EncAppCfg.cpp
+++ b/source/App/EncoderApp/EncAppCfg.cpp
@@ -1217,8 +1217,10 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] )
                                                                                                                "\t1: use MD5\n"
                                                                                                                "\t0: disable")
   ("TMVPMode",                                        m_TMVPModeId,                                         1, "TMVP mode 0: TMVP disable for all slices. 1: TMVP enable for all slices (default) 2: TMVP enable for certain slices only")
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   ("PPSorSliceMode",                                  m_PPSorSliceMode,                                     0, "Enable signalling certain parameters either in PPS or per slice\n"
                                                                                                                 "\tmode 0: Always per slice (default), 1: RA settings, 2: LDB settings, 3: LDP settings")
+#endif 
   ("SliceLevelRpl",                                   m_sliceLevelRpl,                                   true, "Code reference picture lists in slice headers rather than picture header.")
   ("SliceLevelDblk",                                  m_sliceLevelDblk,                                  true, "Code deblocking filter parameters in slice headers rather than picture header.")
   ("SliceLevelSao",                                   m_sliceLevelSao,                                   true, "Code SAO parameters in slice headers rather than picture header.")
@@ -3452,6 +3454,7 @@ bool EncAppCfg::xCheckParameter()
     m_BIO = false;
   }
 
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   // If m_PPSorSliceFlag is equal to 1, for each PPS parameter below,
   //     0:  value is signaled in slice header
   //     >0: value is derived from PPS parameter as value - 1
@@ -3518,6 +3521,7 @@ bool EncAppCfg::xCheckParameter()
   }
   xConfirmPara(m_drapPeriod > 0 && m_PPSRefPicListSPSIdc0 > 0, "PPSRefPicListSPSIdc0 shall be 0 when DRAP is used. This can be fixed by setting PPSorSliceMode=0.");
   xConfirmPara(m_drapPeriod > 0 && m_PPSRefPicListSPSIdc1 > 0, "PPSRefPicListSPSIdc1 shall be 0 when DRAP is used. This can be fixed by setting PPSorSliceMode=0.");
+#endif
 
 #if HEVC_SEI
   if (m_toneMappingInfoSEIEnabled)
diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h
index b3b7c9e87340607459910476ab1c7cc3ea3805ba..69f4ff737c5be6307f701324c174bc7ec4f54d3b 100644
--- a/source/App/EncoderApp/EncAppCfg.h
+++ b/source/App/EncoderApp/EncAppCfg.h
@@ -653,6 +653,7 @@ protected:
 #endif
 
   int       m_TMVPModeId;
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   int       m_PPSorSliceMode;
   bool      m_constantSliceHeaderParamsEnabledFlag;
   int       m_PPSDepQuantEnabledIdc;
@@ -665,6 +666,7 @@ protected:
   uint32_t  m_PPSMaxNumMergeCandMinusMaxNumTriangleCandPlus1;
 #else
   uint32_t  m_PPSMaxNumMergeCandMinusMaxNumGeoCandPlus1;
+#endif
 #endif
   bool      m_depQuantEnabledFlag;
   bool      m_signDataHidingEnabledFlag;
diff --git a/source/Lib/CommonLib/Slice.cpp b/source/Lib/CommonLib/Slice.cpp
index 94b0c5405c795076fd9a5c2da121abacc9f3b199..7542c32da1a62f9b0fe9f0bbe8cff600dee74ca8 100644
--- a/source/Lib/CommonLib/Slice.cpp
+++ b/source/Lib/CommonLib/Slice.cpp
@@ -1825,6 +1825,9 @@ PicHeader::PicHeader()
 , m_cuChromaQpOffsetSubdivIntra                   ( 0 )
 , m_cuChromaQpOffsetSubdivInter                   ( 0 )
 , m_enableTMVPFlag                                ( true )
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+, m_picColFromL0Flag                              ( true )
+#endif
 , m_mvdL1ZeroFlag                                 ( 0 )
 , m_maxNumMergeCand                               ( MRG_MAX_NUM_CANDS )
 , m_maxNumAffineMergeCand                         ( AFFINE_MRG_MAX_NUM_CANDS )
@@ -1943,6 +1946,9 @@ void PicHeader::initPicHeader()
   m_cuChromaQpOffsetSubdivIntra                   = 0;
   m_cuChromaQpOffsetSubdivInter                   = 0;
   m_enableTMVPFlag                                = true;
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+  m_picColFromL0Flag                              = true;
+#endif
   m_mvdL1ZeroFlag                                 = 0;
   m_maxNumMergeCand                               = MRG_MAX_NUM_CANDS;
   m_maxNumAffineMergeCand                         = AFFINE_MRG_MAX_NUM_CANDS;
@@ -2375,6 +2381,7 @@ PPS::PPS()
   , m_log2MaxTransformSkipBlockSize    (2)
 #endif
 , m_entropyCodingSyncEnabledFlag     (false)
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
 , m_constantSliceHeaderParamsEnabledFlag (false)
 , m_PPSDepQuantEnabledIdc            (0)
 , m_PPSRefPicListSPSIdc0             (0)
@@ -2387,6 +2394,7 @@ PPS::PPS()
 #else
 , m_PPSMaxNumMergeCandMinusMaxNumGeoCandPlus1 (0)
 #endif
+#endif
 , m_cabacInitPresentFlag             (false)
 , m_pictureHeaderExtensionPresentFlag(0)
 , m_sliceHeaderExtensionPresentFlag  (false)
diff --git a/source/Lib/CommonLib/Slice.h b/source/Lib/CommonLib/Slice.h
index 5add6de938f0fa7938af5845748060aa533f6f62..6778b7b4e5fda76d81f1e723bfa5cc2f3f04d4fe 100644
--- a/source/Lib/CommonLib/Slice.h
+++ b/source/Lib/CommonLib/Slice.h
@@ -1837,6 +1837,7 @@ private:
 #endif
   bool             m_entropyCodingSyncEnabledFlag;      //!< Indicates the presence of wavefronts
 
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   bool              m_constantSliceHeaderParamsEnabledFlag;
   int               m_PPSDepQuantEnabledIdc;
   int               m_PPSRefPicListSPSIdc0;
@@ -1848,6 +1849,7 @@ private:
   uint32_t          m_PPSMaxNumMergeCandMinusMaxNumTriangleCandPlus1;
 #else
   uint32_t          m_PPSMaxNumMergeCandMinusMaxNumGeoCandPlus1;
+#endif
 #endif
 
   bool             m_cabacInitPresentFlag;
@@ -2069,6 +2071,7 @@ public:
   void                   setEntropyCodingSyncEnabledFlag(bool val)                        { m_entropyCodingSyncEnabledFlag = val;         }
 
 
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   bool                    getConstantSliceHeaderParamsEnabledFlag() const                 { return m_constantSliceHeaderParamsEnabledFlag; }
   void                    setConstantSliceHeaderParamsEnabledFlag(bool b)                 { m_constantSliceHeaderParamsEnabledFlag = b;   }
   int                     getPPSDepQuantEnabledIdc() const                                { return m_PPSDepQuantEnabledIdc;               }
@@ -2090,6 +2093,7 @@ public:
 #else
   uint32_t                getPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1() const            { return m_PPSMaxNumMergeCandMinusMaxNumGeoCandPlus1; }
   void                    setPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1(uint32_t u)        { m_PPSMaxNumMergeCandMinusMaxNumGeoCandPlus1 = u; }
+#endif
 #endif
 
   void                   setCabacInitPresentFlag( bool flag )                             { m_cabacInitPresentFlag = flag;                }
@@ -2271,6 +2275,9 @@ private:
   uint32_t                    m_cuChromaQpOffsetSubdivIntra;                            //!< CU chroma QP offset maximum subdivision for intra slices 
   uint32_t                    m_cuChromaQpOffsetSubdivInter;                            //!< CU chroma QP offset maximum subdivision for inter slices 
   bool                        m_enableTMVPFlag;                                         //!< enable temporal motion vector prediction
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+  bool                        m_picColFromL0Flag;                                       //!< syntax element collocated_from_l0_flag
+#endif
   bool                        m_mvdL1ZeroFlag;                                          //!< L1 MVD set to zero flag  
   uint32_t                    m_maxNumMergeCand;                                        //!< max number of merge candidates
   uint32_t                    m_maxNumAffineMergeCand;                                  //!< max number of sub-block merge candidates
@@ -2424,6 +2431,10 @@ public:
   uint32_t                    getCuChromaQpOffsetSubdivInter() const                    { return m_cuChromaQpOffsetSubdivInter;                                                        }
   void                        setEnableTMVPFlag( bool b )                               { m_enableTMVPFlag = b;                                                                        }
   bool                        getEnableTMVPFlag() const                                 { return m_enableTMVPFlag;                                                                     }
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+  void                        setPicColFromL0Flag(bool val)                             { m_picColFromL0Flag = val;                                                                     }
+  bool                        getPicColFromL0Flag() const                               { return m_picColFromL0Flag;                                                                    }
+#endif
   void                        setMvdL1ZeroFlag( bool b )                                { m_mvdL1ZeroFlag = b;                                                                         }
   bool                        getMvdL1ZeroFlag() const                                  { return m_mvdL1ZeroFlag;                                                                      }  
   void                        setMaxNumMergeCand(uint32_t val )                         { m_maxNumMergeCand = val;                                                                     }
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index c3b0b4a289bdc972431cb43697bb13656bd81f4b..af6a217f9bf519c348fb10c75db0f7343c228baf 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -50,6 +50,8 @@
 #include <assert.h>
 #include <cassert>
 
+#define JVET_Q0482_REMOVE_CONSTANT_PARAMS                 1 // JVET-Q0482: Remove constant slice header parameter settings in PPS
+
 #define JVET_Q0505_CHROAM_QM_SIGNALING_400                1  //JVET-Q0505: Cleanup of chroma quantization matrix signaling for 400 color format
 
 #define JVET_Q0786_PTL_only                               1 // JVET-Q0786: modifications to VPS syntax - PTL part only (signal PTL for single layer OLSs)
diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp
index 05325441f3e6f341dffebdcb1832311902a84dc4..5d97e985ee664e5b5fde86361a807e47995db4df 100644
--- a/source/Lib/DecoderLib/VLCReader.cpp
+++ b/source/Lib/DecoderLib/VLCReader.cpp
@@ -780,6 +780,7 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana
   READ_FLAG(uiCode, "qp_delta_info_in_ph_flag");               pcPPS->setQpDeltaInfoInPhFlag(uiCode ? true : false);
 #endif
 
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   READ_FLAG( uiCode, "constant_slice_header_params_enabled_flag"); pcPPS->setConstantSliceHeaderParamsEnabledFlag(uiCode);
   if ( pcPPS->getConstantSliceHeaderParamsEnabledFlag() ) {
     READ_CODE( 2, uiCode, "pps_dep_quant_enabled_idc");        pcPPS->setPPSDepQuantEnabledIdc(uiCode);
@@ -808,6 +809,7 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana
     pcPPS->setPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1(0);
 #endif
   }
+#endif
 
 
   READ_FLAG( uiCode, "picture_header_extension_present_flag");
@@ -2673,6 +2675,12 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
       {
         uiCode = 0;
       }
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+      else
+      {
+        READ_FLAG(uiCode, "pic_rpl_sps_flag[i]");
+      }
+#else
       else if (!pps->getPPSRefPicListSPSIdc( listIdx ))
       {
         READ_FLAG(uiCode, "pic_rpl_sps_flag[i]");
@@ -2681,7 +2689,7 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
       {
         uiCode = pps->getPPSRefPicListSPSIdc( listIdx ) - 1;
       }
-
+#endif
       // explicit RPL in picture header
       if (!uiCode)
       {
@@ -2928,7 +2936,20 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
       picHeader->setEnableTMVPFlag(false);
     }
 
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+    if (picHeader->getEnableTMVPFlag() && pps->getRplInfoInPhFlag())
+    {
+      READ_CODE( 1, uiCode, "pic_collocated_from_l0_flag");
+      picHeader->setPicColFromL0Flag(uiCode);
+    }
+    else
+    {
+      picHeader->setPicColFromL0Flag(0);
+    }
+#endif
+
   // mvd L1 zero flag
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
     if (!pps->getPPSMvdL1ZeroIdc())
     {
       READ_FLAG(uiCode, "pic_mvd_l1_zero_flag");
@@ -2937,9 +2958,13 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
     {
       uiCode = pps->getPPSMvdL1ZeroIdc() - 1;
     }
+#else
+    READ_FLAG(uiCode, "pic_mvd_l1_zero_flag");
+#endif
     picHeader->setMvdL1ZeroFlag( uiCode != 0 );
      
   // merge candidate list size
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
     if (!pps->getPPSSixMinusMaxNumMergeCandPlus1())
     {
       READ_UVLC(uiCode, "pic_six_minus_max_num_merge_cand");
@@ -2948,6 +2973,9 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
     {
       uiCode = pps->getPPSSixMinusMaxNumMergeCandPlus1() - 1;
     }
+#else
+    READ_UVLC(uiCode, "pic_six_minus_max_num_merge_cand");
+#endif
     CHECK(MRG_MAX_NUM_CANDS <= uiCode, "Incorrrect max number of merge candidates!");
     picHeader->setMaxNumMergeCand(MRG_MAX_NUM_CANDS - uiCode);
 
@@ -3008,6 +3036,7 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
   // triangle merge candidate list size
     if (sps->getUseTriangle() && picHeader->getMaxNumMergeCand() >= 2)
     {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
       if (!pps->getPPSMaxNumMergeCandMinusMaxNumTriangleCandPlus1())
       {
         READ_UVLC(uiCode, "pic_max_num_merge_cand_minus_max_num_triangle_cand");
@@ -3016,6 +3045,9 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
       {
         uiCode = pps->getPPSMaxNumMergeCandMinusMaxNumTriangleCandPlus1() - 1;
       }
+#else
+    READ_UVLC(uiCode, "pic_max_num_merge_cand_minus_max_num_triangle_cand");
+#endif
       CHECK(picHeader->getMaxNumMergeCand() < uiCode, "Incorrrect max number of triangle candidates!");
       picHeader->setMaxNumTriangleCand((uint32_t)(picHeader->getMaxNumMergeCand() - uiCode));
     }
@@ -3027,6 +3059,7 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
   // geometric merge candidate list size
     if (sps->getUseGeo() && picHeader->getMaxNumMergeCand() >= 2)
     {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
       if (!pps->getPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1())
       {
         READ_UVLC(uiCode, "pic_max_num_merge_cand_minus_max_num_gpm_cand");
@@ -3035,6 +3068,9 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
       {
         uiCode = pps->getPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1() - 1;
       }
+#else
+      READ_UVLC(uiCode, "pic_max_num_merge_cand_minus_max_num_gpm_cand");
+#endif
       CHECK(picHeader->getMaxNumMergeCand() < uiCode, "Incorrrect max number of gpm candidates!");
       picHeader->setMaxNumGeoCand((uint32_t)(picHeader->getMaxNumMergeCand() - uiCode));
     }
@@ -3234,6 +3270,7 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
 #endif
 
   // dependent quantization
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   if (!pps->getPPSDepQuantEnabledIdc())
   {
     READ_FLAG(uiCode, "pic_dep_quant_enabled_flag");
@@ -3242,6 +3279,9 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag
   {
     uiCode = pps->getPPSDepQuantEnabledIdc() - 1;
   }
+#else
+  READ_FLAG(uiCode, "pic_dep_quant_enabled_flag");
+#endif
   picHeader->setDepQuantEnabledFlag( uiCode != 0 );
 
   // sign data hiding
@@ -3652,6 +3692,7 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
       //Read L0 related syntax elements
       if (sps->getNumRPL0() > 0)
       {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
         if (!pps->getPPSRefPicListSPSIdc0())
         {
           READ_FLAG(uiCode, "ref_pic_list_sps_flag[0]");
@@ -3660,6 +3701,9 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
         {
           uiCode = pps->getPPSRefPicListSPSIdc0() - 1;
         }
+#else
+        READ_FLAG(uiCode, "ref_pic_list_sps_flag[0]");
+#endif
       }
       else
       {
@@ -3728,6 +3772,7 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
       {
         if (sps->getNumRPL1() > 0)
         {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
           if (!pps->getPPSRefPicListSPSIdc1())
           {
             READ_FLAG(uiCode, "ref_pic_list_sps_flag[1]");
@@ -3736,6 +3781,9 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
           {
             uiCode = pps->getPPSRefPicListSPSIdc1() - 1;
           }
+#else
+        READ_FLAG(uiCode, "ref_pic_list_sps_flag[1]");
+#endif
         }
         else
         {
@@ -3895,8 +3943,13 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
 
     if ( pcSlice->getPicHeader()->getEnableTMVPFlag() )
     {
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+      if ( !pps->getRplInfoInPhFlag())
+      {
+#endif
       if ( pcSlice->getSliceType() == B_SLICE )
       {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
         if (!pps->getPPSCollocatedFromL0Idc())
         {
           READ_FLAG(uiCode, "collocated_from_l0_flag");
@@ -3905,13 +3958,22 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par
         {
           uiCode = pps->getPPSCollocatedFromL0Idc() - 1;
         }
+#else
+        READ_FLAG(uiCode, "collocated_from_l0_flag");
+#endif
         pcSlice->setColFromL0Flag(uiCode);
       }
       else
       {
         pcSlice->setColFromL0Flag( 1 );
       }
-
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+      }
+      else
+      {
+        pcSlice->setColFromL0Flag(picHeader->getPicColFromL0Flag());
+      }
+#endif
       if ( pcSlice->getSliceType() != I_SLICE &&
            ((pcSlice->getColFromL0Flag() == 1 && pcSlice->getNumRefIdx(REF_PIC_LIST_0) > 1)||
            (pcSlice->getColFromL0Flag() == 0 && pcSlice->getNumRefIdx(REF_PIC_LIST_1) > 1)))
diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h
index d9987a3e09170a7759523e672785eb05d73287b0..be310c8f4778c72cd0889d643c9d72483de646a8 100644
--- a/source/Lib/EncoderLib/EncCfg.h
+++ b/source/Lib/EncoderLib/EncCfg.h
@@ -1768,6 +1768,7 @@ public:
   bool         getDisableScalingMatrixForLfnstBlks() const          { return m_disableScalingMatrixForLfnstBlks; }
   void         setTMVPModeId ( int  u )                              { m_TMVPModeId = u;    }
   int          getTMVPModeId ()                                      { return m_TMVPModeId; }
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   void         setConstantSliceHeaderParamsEnabledFlag ( bool u )    { m_constantSliceHeaderParamsEnabledFlag = u; }
   bool         getConstantSliceHeaderParamsEnabledFlag ()            { return m_constantSliceHeaderParamsEnabledFlag; }
   void         setPPSDepQuantEnabledIdc ( int u )                    { m_PPSDepQuantEnabledIdc = u; }
@@ -1788,6 +1789,7 @@ public:
 #else
   void         setPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1 ( uint32_t u ) { m_PPSMaxNumMergeCandMinusMaxNumGeoCandPlus1 = u; }
   uint32_t     getPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1 ()       { return m_PPSMaxNumMergeCandMinusMaxNumGeoCandPlus1; }
+#endif
 #endif
   WeightedPredictionMethod getWeightedPredictionMethod() const       { return m_weightedPredictionMethod; }
   void         setWeightedPredictionMethod( WeightedPredictionMethod m ) { m_weightedPredictionMethod = m; }
diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp
index 5770d6d4e625ab0226ac24227ac6541fd04fa3b5..234aac6acb34bd056b9068f7be8355048a9ccd7d 100644
--- a/source/Lib/EncoderLib/EncGOP.cpp
+++ b/source/Lib/EncoderLib/EncGOP.cpp
@@ -2562,16 +2562,25 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic,
         }
 
         const uint32_t uiColFromL0 = refPicL0->slices[0]->getSliceQp() > refPicL1->slices[0]->getSliceQp();
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+        picHeader->setPicColFromL0Flag( uiColFromL0 );
+#endif
         pcSlice->setColFromL0Flag( uiColFromL0 );
         pcSlice->setColRefIdx( uiColFromL0 ? colRefIdxL0 : colRefIdxL1 );
       }
       else if( colRefIdxL0 < 0 && colRefIdxL1 >= 0 )
       {
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+        picHeader->setPicColFromL0Flag( false );
+#endif
         pcSlice->setColFromL0Flag( false );
         pcSlice->setColRefIdx( colRefIdxL1 );
       }
       else if( colRefIdxL0 >= 0 && colRefIdxL1 < 0 )
       {
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+        picHeader->setPicColFromL0Flag( true );
+#endif
         pcSlice->setColFromL0Flag( true );
         pcSlice->setColRefIdx( colRefIdxL0 );
       }
diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp
index 6e23260e3ffc51c01778743b56b0092e3167a923..d525d399e80f65b8b53a96250d29069ec6d25539 100644
--- a/source/Lib/EncoderLib/EncLib.cpp
+++ b/source/Lib/EncoderLib/EncLib.cpp
@@ -1579,7 +1579,7 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps)
 {
   // pps ID already initialised.
   pps.setSPSId(sps.getSPSId());
-
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   pps.setConstantSliceHeaderParamsEnabledFlag(getConstantSliceHeaderParamsEnabledFlag());
   pps.setPPSDepQuantEnabledIdc(getPPSDepQuantEnabledIdc());
   pps.setPPSRefPicListSPSIdc0(getPPSRefPicListSPSIdc0());
@@ -1591,6 +1591,7 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps)
   pps.setPPSMaxNumMergeCandMinusMaxNumTriangleCandPlus1(getPPSMaxNumMergeCandMinusMaxNumTriangleCandPlus1());
 #else
   pps.setPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1(getPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1());
+#endif
 #endif
 
   pps.setNumSubPics(sps.getNumSubPics());
diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp
index 2ad1b2d30b1b2748340879526c7e58f0e0b11a40..d2b2e16f6a26f1cf499a5ecd68228729147ed68b 100644
--- a/source/Lib/EncoderLib/VLCWriter.cpp
+++ b/source/Lib/EncoderLib/VLCWriter.cpp
@@ -462,6 +462,7 @@ void HLSWriter::codePPS( const PPS* pcPPS, const SPS* pcSPS )
   WRITE_FLAG(pcPPS->getQpDeltaInfoInPhFlag() ? 1 : 0, "qp_delta_info_in_ph_flag");
 #endif
 
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   WRITE_FLAG( pcPPS->getConstantSliceHeaderParamsEnabledFlag(),              "constant_slice_header_params_enabled_flag");
   if ( pcPPS->getConstantSliceHeaderParamsEnabledFlag() ) {
     WRITE_CODE( pcPPS->getPPSDepQuantEnabledIdc(), 2,                        "pps_dep_quant_enabled_idc");
@@ -476,6 +477,7 @@ void HLSWriter::codePPS( const PPS* pcPPS, const SPS* pcSPS )
     WRITE_UVLC(pcPPS->getPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1(), "pps_max_num_merge_cand_minus_max_num_gpm_cand_plus1");
 #endif
   }
+#endif
 
 
   WRITE_FLAG( pcPPS->getPictureHeaderExtensionPresentFlag() ? 1 : 0, "picture_header_extension_present_flag");
@@ -1860,6 +1862,7 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader )
       // RPL in picture header or SPS
       else if (sps->getNumRPL(listIdx) > 0)
       {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
         if (!pps->getPPSRefPicListSPSIdc(listIdx))
         {
           WRITE_FLAG(picHeader->getRPLIdx(listIdx) != -1 ? 1 : 0, "pic_rpl_sps_flag[i]");
@@ -1868,6 +1871,9 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader )
         {
           picHeader->setRPLIdx( listIdx, -1);
         }
+#else
+        WRITE_FLAG(picHeader->getRPLIdx(listIdx) != -1 ? 1 : 0, "pic_rpl_sps_flag[i]");
+#endif
       }
       else 
       {
@@ -2068,6 +2074,7 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader )
     }
 
   // mvd L1 zero flag
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
     if (!pps->getPPSMvdL1ZeroIdc())
     {
       WRITE_FLAG(picHeader->getMvdL1ZeroFlag(), "pic_mvd_l1_zero_flag");
@@ -2076,18 +2083,30 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader )
     {
       picHeader->setMvdL1ZeroFlag( pps->getPPSMvdL1ZeroIdc() - 1 );
     }
+#else
+
+    if (picHeader->getEnableTMVPFlag() && pps->getRplInfoInPhFlag())
+    {
+      WRITE_CODE(picHeader->getPicColFromL0Flag(), 1, "pic_collocated_from_l0_flag");
+    }
+
+    WRITE_FLAG(picHeader->getMvdL1ZeroFlag(), "pic_mvd_l1_zero_flag");
+#endif
    
   // merge candidate list size
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
     if (!pps->getPPSSixMinusMaxNumMergeCandPlus1())
     {
+#endif
       CHECK(picHeader->getMaxNumMergeCand() > MRG_MAX_NUM_CANDS, "More merge candidates signalled than supported");
       WRITE_UVLC(MRG_MAX_NUM_CANDS - picHeader->getMaxNumMergeCand(), "pic_six_minus_max_num_merge_cand");
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
     }
     else
     {
       picHeader->setMaxNumMergeCand(MRG_MAX_NUM_CANDS - (pps->getPPSSixMinusMaxNumMergeCandPlus1() - 1));
     }
-
+#endif
   // subblock merge candidate list size
     if ( sps->getUseAffine() )
     {
@@ -2158,15 +2177,19 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader )
   // geometric merge candidate list size
     if (sps->getUseGeo() && picHeader->getMaxNumMergeCand() >= 2)
     {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
       if (!pps->getPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1())
       {
+#endif
         CHECK(picHeader->getMaxNumMergeCand() < picHeader->getMaxNumGeoCand(), "Incorrrect max number of gpm candidates!");
         WRITE_UVLC(picHeader->getMaxNumMergeCand() - picHeader->getMaxNumGeoCand(), "pic_max_num_merge_cand_minus_max_num_gpm_cand");
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
       }
       else
       {
       picHeader->setMaxNumGeoCand((uint32_t)(picHeader->getMaxNumMergeCand() - (pps->getPPSMaxNumMergeCandMinusMaxNumGeoCandPlus1() - 1)));
       }
+#endif
     }
 #endif
 #if JVET_Q0819_PH_CHANGES
@@ -2318,6 +2341,7 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader )
 #endif
 
   // dependent quantization
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
   if (!pps->getPPSDepQuantEnabledIdc())
   {
     WRITE_FLAG(picHeader->getDepQuantEnabledFlag(), "pic_dep_quant_enabled_flag");
@@ -2326,7 +2350,9 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader )
   {
     picHeader->setDepQuantEnabledFlag( pps->getPPSDepQuantEnabledIdc() - 1 );
   }
-
+#else
+  WRITE_FLAG(picHeader->getDepQuantEnabledFlag(), "pic_dep_quant_enabled_flag");
+#endif
   // sign data hiding
   if( !picHeader->getDepQuantEnabledFlag() )
   {
@@ -2582,10 +2608,14 @@ void HLSWriter::codeSliceHeader         ( Slice* pcSlice )
       //Write L0 related syntax elements
       if (pcSlice->getSPS()->getNumRPL0() > 0)
       {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
         if (!pcSlice->getPPS()->getPPSRefPicListSPSIdc0())
         {
+#endif
           WRITE_FLAG(pcSlice->getRPL0idx() != -1 ? 1 : 0, "ref_pic_list_sps_flag[0]");
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
         }
+#endif
       }
       if (pcSlice->getRPL0idx() != -1)
       {
@@ -2637,10 +2667,14 @@ void HLSWriter::codeSliceHeader         ( Slice* pcSlice )
       {
         if (pcSlice->getSPS()->getNumRPL1() > 0)
         {
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
         if (!pcSlice->getPPS()->getPPSRefPicListSPSIdc1())
         {
+#endif
           WRITE_FLAG(pcSlice->getRPL1idx() != -1 ? 1 : 0, "ref_pic_list_sps_flag[1]");
+#if !JVET_Q0482_REMOVE_CONSTANT_PARAMS
         }
+#endif
         }
         if (pcSlice->getRPL1idx() != -1)
         {
@@ -2744,6 +2778,15 @@ void HLSWriter::codeSliceHeader         ( Slice* pcSlice )
 
     if( pcSlice->getPicHeader()->getEnableTMVPFlag() )
     {
+#if JVET_Q0482_REMOVE_CONSTANT_PARAMS
+      if(!pcSlice->getPPS()->getRplInfoInPhFlag())
+      {
+        if (pcSlice->getSliceType() == B_SLICE)
+        {
+          WRITE_FLAG(pcSlice->getColFromL0Flag(), "collocated_from_l0_flag");
+        }
+      }
+#else
       if( pcSlice->getSliceType() == B_SLICE )
       {
         if (!pcSlice->getPPS()->getPPSCollocatedFromL0Idc())
@@ -2751,6 +2794,7 @@ void HLSWriter::codeSliceHeader         ( Slice* pcSlice )
           WRITE_FLAG( pcSlice->getColFromL0Flag(), "collocated_from_l0_flag" );
         }
       }
+#endif
 
       if( pcSlice->getSliceType() != I_SLICE &&
         ( ( pcSlice->getColFromL0Flag() == 1 && pcSlice->getNumRefIdx( REF_PIC_LIST_0 ) > 1 ) ||