Skip to content
Snippets Groups Projects
Commit 222271b8 authored by hm.jang's avatar hm.jang
Browse files

implement JVET-P0571 : CE5/CE8: Deblocking Filter for BDPCM coded block.

Detail
- Align SW with specification.
- Boundary strength for BDPCM is independently derived for each component.
parent cf1ac2ae
No related merge requests found
...@@ -689,15 +689,23 @@ unsigned LoopFilter::xGetBoundaryStrengthSingle ( const CodingUnit& cu, const De ...@@ -689,15 +689,23 @@ unsigned LoopFilter::xGetBoundaryStrengthSingle ( const CodingUnit& cu, const De
const CodingUnit& cuQ = cu; const CodingUnit& cuQ = cu;
const CodingUnit& cuP = *cu.cs->getCU( posP, cu.chType ); const CodingUnit& cuP = *cu.cs->getCU( posP, cu.chType );
#if !JVET_P0571_FIX_BS_BDPCM_CHROMA
if( ( MODE_INTRA == cuP.predMode && cuP.bdpcmMode ) && ( MODE_INTRA == cuQ.predMode && cuQ.bdpcmMode ) ) if( ( MODE_INTRA == cuP.predMode && cuP.bdpcmMode ) && ( MODE_INTRA == cuQ.predMode && cuQ.bdpcmMode ) )
{ {
return 0; return 0;
} }
#endif
//-- Set BS for Intra MB : BS = 4 or 3 //-- Set BS for Intra MB : BS = 4 or 3
if( ( MODE_INTRA == cuP.predMode ) || ( MODE_INTRA == cuQ.predMode ) ) if( ( MODE_INTRA == cuP.predMode ) || ( MODE_INTRA == cuQ.predMode ) )
{ {
#if JVET_P0571_FIX_BS_BDPCM_CHROMA
int bsY = (MODE_INTRA == cuP.predMode && cuP.bdpcmMode) && (MODE_INTRA == cuQ.predMode && cuQ.bdpcmMode) ? 0 : 2;
int bsC = 2;
return (BsSet(bsY, COMPONENT_Y) + BsSet(bsC, COMPONENT_Cb) + BsSet(bsC, COMPONENT_Cr));
#else
return (BsSet(2, COMPONENT_Y) + BsSet(2, COMPONENT_Cb) + BsSet(2, COMPONENT_Cr)); return (BsSet(2, COMPONENT_Y) + BsSet(2, COMPONENT_Cb) + BsSet(2, COMPONENT_Cr));
#endif
} }
const TransformUnit& tuQ = *cuQ.cs->getTU(posQ, cuQ.chType); const TransformUnit& tuQ = *cuQ.cs->getTU(posQ, cuQ.chType);
......
...@@ -49,6 +49,8 @@ ...@@ -49,6 +49,8 @@
#include <cstring> #include <cstring>
#include <assert.h> #include <assert.h>
#include <cassert> #include <cassert>
#define JVET_P0571_FIX_BS_BDPCM_CHROMA 1 // JVET-P0571: align boundary strength for Chroma BDPCM
#define JVET_P0983_REMOVE_SPS_SBT_MAX_SIZE_FLAG 1 // JVET-P0983/JVET-P0391: Remove sps_sbt_max_size_64_flag #define JVET_P0983_REMOVE_SPS_SBT_MAX_SIZE_FLAG 1 // JVET-P0983/JVET-P0391: Remove sps_sbt_max_size_64_flag
#define JVET_P0530_TPM_WEIGHT_ALIGN 1 // JVET-P0530: align chroma weights with luma weights for TPM blending #define JVET_P0530_TPM_WEIGHT_ALIGN 1 // JVET-P0530: align chroma weights with luma weights for TPM blending
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment