diff --git a/cfg/per-class/classF.cfg b/cfg/per-class/classF.cfg index 0820b2133464f6621b5a197827f534a3d2acc332..0edc6f8c15bcee5cdd03a22df2d25406613a7c33 100644 --- a/cfg/per-class/classF.cfg +++ b/cfg/per-class/classF.cfg @@ -1,3 +1,3 @@ IBC : 1 HashME : 1 -RDPCM: 1 +BDPCM: 1 diff --git a/doc/software-manual.tex b/doc/software-manual.tex index b1306b4167c69ff389f33276a884cf94904c4a96..746c7362defccd48fe747643c57e9832275cc5ce 100644 --- a/doc/software-manual.tex +++ b/doc/software-manual.tex @@ -2124,10 +2124,10 @@ Value shall be in the range 1..8. Enables or disables symmetric MVD mode. \\ -\Option{RDPCM} & +\Option{BDPCM} & %\ShortOption{\None} & \Default{false} & -Enables or disables RDPCM coding mode. +Enables or disables the use of intra block differential pulse code modulation mode. \\ \Option{LFNST} & @@ -2517,10 +2517,6 @@ Specifies the shift to apply to the SAO parameters. If negative, an estimate wil Specifies the maximum TU size for which transform-skip can be used; the minimum value is 2. Version 1 and some Version 2 (RExt) profiles require this to be 2. \\ -\Option{BDPCM} & -\Default{false} & -When true, specifies the use of the BDPCM tool (for intra). Version 1 and some Version 2 (RExt) profiles require this to be false. -\\ \Option{ImplicitResidualDPCM} & \Default{false} & diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp index bf420c481a2d7b33d8d2cd55c694886ea0925321..21c65e025833428981a3e697e79f01f9c20d0f7d 100644 --- a/source/App/EncoderApp/EncApp.cpp +++ b/source/App/EncoderApp/EncApp.cpp @@ -302,7 +302,9 @@ void EncApp::xInitLibCfg() m_cEncLib.setDMVR ( m_DMVR ); m_cEncLib.setMMVD ( m_MMVD ); m_cEncLib.setMmvdDisNum (m_MmvdDisNum); +#if !JVET_O1136_TS_BDPCM_SIGNALLING m_cEncLib.setRDPCM ( m_RdpcmMode ); +#endif #if JVET_O0119_BASE_PALETTE_444 m_cEncLib.setPLTMode ( m_PLTMode ); #endif diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index b07634a956f2b5cc8e4b60f1cc57684f3c3fffb8..7cd4eb6833dfac6655e8a530e028f52a107797c7 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -937,7 +937,9 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) ("AffineAmvrEncOpt", m_AffineAmvrEncOpt, false, "Enable encoder optimization of affine AMVR") ("DMVR", m_DMVR, false, "Decoder-side Motion Vector Refinement") ("MmvdDisNum", m_MmvdDisNum, 8, "Number of MMVD Distance Entries") +#if !JVET_O1136_TS_BDPCM_SIGNALLING ( "RDPCM", m_RdpcmMode, false, "RDPCM") +#endif #if JVET_O0119_BASE_PALETTE_444 ("PLT", m_PLTMode, 0u, "PLTMode (0x1:enabled, 0x0:disabled) [default: disabled]") #endif @@ -2321,7 +2323,9 @@ bool EncAppCfg::xCheckParameter() xConfirmPara( m_Triangle, "Triangle is only allowed with NEXT profile" ); xConfirmPara(m_DMVR, "DMVR only allowed with NEXT profile"); xConfirmPara(m_MmvdDisNum, "Number of distance MMVD entry setting only allowed with NEXT profile"); +#if !JVET_O1136_TS_BDPCM_SIGNALLING xConfirmPara(m_RdpcmMode, "RDPCM only allowed with NEXT profile"); +#endif #if JVET_O0376_SPS_JOINTCBCR_FLAG xConfirmPara(m_JointCbCrMode, "JointCbCr only allowed with NEXT profile"); #endif @@ -3538,7 +3542,9 @@ void EncAppCfg::xPrintParameter() msg( VERBOSE, "AffineAmvrEncOpt:%d ", m_AffineAmvrEncOpt ); msg(VERBOSE, "DMVR:%d ", m_DMVR); msg(VERBOSE, "MmvdDisNum:%d ", m_MmvdDisNum); +#if !JVET_O1136_TS_BDPCM_SIGNALLING msg(VERBOSE, "RDPCM:%d ", m_RdpcmMode ); +#endif #if JVET_O0376_SPS_JOINTCBCR_FLAG msg(VERBOSE, "JointCbCr:%d ", m_JointCbCrMode); #endif diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h index 02209e98ae1dfb9da0165e4e72c193a0da62e453..bafa421503205c5b1a49d4a00b438c34b0fee637 100644 --- a/source/App/EncoderApp/EncAppCfg.h +++ b/source/App/EncoderApp/EncAppCfg.h @@ -297,7 +297,9 @@ protected: bool m_DMVR; bool m_MMVD; int m_MmvdDisNum; +#if !JVET_O1136_TS_BDPCM_SIGNALLING bool m_RdpcmMode; +#endif #if JVET_O0119_BASE_PALETTE_444 unsigned m_PLTMode; #endif diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h index e04ef2024c812cbeb7bb7162246716f8a7ad030e..b2e2501e94913cb7072942fc0f93c7b26651cb8e 100644 --- a/source/Lib/EncoderLib/EncCfg.h +++ b/source/Lib/EncoderLib/EncCfg.h @@ -311,7 +311,9 @@ protected: bool m_DMVR; bool m_MMVD; int m_MmvdDisNum; +#if !JVET_O1136_TS_BDPCM_SIGNALLING bool m_RdpcmMode; +#endif #if JVET_O0119_BASE_PALETTE_444 unsigned m_PLTMode; #endif @@ -919,8 +921,10 @@ public: bool getMMVD () const { return m_MMVD; } void setMmvdDisNum ( int b ) { m_MmvdDisNum = b; } int getMmvdDisNum () const { return m_MmvdDisNum; } + #if !JVET_O1136_TS_BDPCM_SIGNALLING void setRDPCM ( bool b ) { m_RdpcmMode = b; } bool getRDPCM () const { return m_RdpcmMode; } + #endif #if JVET_O0119_BASE_PALETTE_444 void setPLTMode ( unsigned n) { m_PLTMode = n; } unsigned getPLTMode () const { return m_PLTMode; }