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 branches found
No related tags found
No related merge requests found
......@@ -689,15 +689,23 @@ unsigned LoopFilter::xGetBoundaryStrengthSingle ( const CodingUnit& cu, const De
const CodingUnit& cuQ = cu;
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 ) )
{
return 0;
}
#endif
//-- Set BS for Intra MB : BS = 4 or 3
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));
#endif
}
const TransformUnit& tuQ = *cuQ.cs->getTU(posQ, cuQ.chType);
......
......@@ -49,6 +49,8 @@
#include <cstring>
#include <assert.h>
#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_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