Custom query (1557 matches)
Results (31 - 33 of 1557)
Ticket | Resolution | Summary | Owner | Reporter |
---|---|---|---|---|
#313 | fixed | A bug of BDOF condition | chujoh | |
Description |
The define statements “JVET_N0146_DMVR_BDOF_CONDITION” and “JVET_N0266_SMALL_BLOCKS” should be included into “JVET_N0178_IMPLICIT_BDOF_SPLIT” on the function, motionCompensation() in InterPrediction.cpp. There are the same codes in the function, xPredInterBi(). #if JVET_N0178_IMPLICIT_BDOF_SPLIT bool bioApplied = false; const Slice &slice = *pu.cs->slice; if (pu.cs->sps->getBDOFEnabledFlag()) { if (pu.cu->affine || m_subPuMC) { bioApplied = false; } else { const bool biocheck0 = !(pps.getWPBiPred() && slice.getSliceType() == B_SLICE); const bool biocheck1 = !(pps.getUseWP() && slice.getSliceType() == P_SLICE); if (biocheck0 && biocheck1 && PU::isBiPredFromDifferentDir(pu) && !(pu.Y().height == 4 || (pu.Y().width == 4 && pu.Y().height == 8)) ) { bioApplied = true; } } if (bioApplied && pu.cu->smvdMode) { bioApplied = false; } if (pu.cu->cs->sps->getUseGBi() && bioApplied && pu.cu->GBiIdx != GBI_DEFAULT) { bioApplied = false; } if (pu.mmvdEncOptMode == 2 && pu.mmvdMergeFlag) { bioApplied = false; } } bool dmvrApplied = false; dmvrApplied = (pu.mvRefine) && PU::checkDMVRCondition(pu); if ((pu.lumaSize().width > MAX_BDOF_APPLICATION_REGION || pu.lumaSize().height > MAX_BDOF_APPLICATION_REGION) && pu.mergeType != MRG_TYPE_SUBPU_ATMVP && (bioApplied && !dmvrApplied)) { xSubPuBio(pu, predBuf, eRefPicList); } else #endif should be: #if JVET_N0178_IMPLICIT_BDOF_SPLIT #if JVET_N0146_DMVR_BDOF_CONDITION WPScalingParam *wp0; WPScalingParam *wp1; int refIdx0 = pu.refIdx[REF_PIC_LIST_0]; int refIdx1 = pu.refIdx[REF_PIC_LIST_1]; pu.cs->slice->getWpScaling(REF_PIC_LIST_0, refIdx0, wp0); pu.cs->slice->getWpScaling(REF_PIC_LIST_1, refIdx1, wp1); #endif bool bioApplied = false; const Slice &slice = *pu.cs->slice; if (pu.cs->sps->getBDOFEnabledFlag()) { if (pu.cu->affine || m_subPuMC) { bioApplied = false; } else { #if JVET_N0146_DMVR_BDOF_CONDITION const bool biocheck0 = !((wp0[COMPONENT_Y].bPresentFlag || wp1[COMPONENT_Y].bPresentFlag) && slice.getSliceType() == B_SLICE); #else const bool biocheck0 = !(pps.getWPBiPred() && slice.getSliceType() == B_SLICE); #endif const bool biocheck1 = !(pps.getUseWP() && slice.getSliceType() == P_SLICE); if (biocheck0 && biocheck1 && PU::isBiPredFromDifferentDir(pu) #if JVET_N0266_SMALL_BLOCKS && pu.Y().height != 4 #else && !(pu.Y().height == 4 || (pu.Y().width == 4 && pu.Y().height == 8)) #endif ) { bioApplied = true; } } if (bioApplied && pu.cu->smvdMode) { bioApplied = false; } if (pu.cu->cs->sps->getUseGBi() && bioApplied && pu.cu->GBiIdx != GBI_DEFAULT) { bioApplied = false; } if (pu.mmvdEncOptMode == 2 && pu.mmvdMergeFlag) { bioApplied = false; } } bool dmvrApplied = false; dmvrApplied = (pu.mvRefine) && PU::checkDMVRCondition(pu); if ((pu.lumaSize().width > MAX_BDOF_APPLICATION_REGION || pu.lumaSize().height > MAX_BDOF_APPLICATION_REGION) && pu.mergeType != MRG_TYPE_SUBPU_ATMVP && (bioApplied && !dmvrApplied)) { xSubPuBio(pu, predBuf, eRefPicList); } else #endif |
|||
#2 | fixed | A bug with ATMVP | XiangLi | |
Description |
When ATVMP macro (QC_SUB_PU_TMVP) is off, we may get encoding/decoding MD5 mismatch sometimes. |
|||
#760 | wontfix | A constraint flag for LFNST is missing in general_constraint_info | moonmo.koo | |
Description |
In the current VVC spec text, a constraint flag for LFNST is missing in the associated syntax table, general_constraint_info (section 7.3.3.2). It could be suggested that the following flag should be added in the same table: no_lfnst_constraint_flag equal to 1 specifies that sps_lfnst_enabled_flag shall be equal to 0. no_lfnst_constraint_flag equal to 0 does not impose such a constraint. |