Skip to content
Snippets Groups Projects
Commit 836a50d5 authored by Brian Heng's avatar Brian Heng
Browse files

Fix for Ticket #213

  - Fix bugs in PCM bypass for ALF.
parent b45bfb40
1 merge request!346Fix for Ticket #213: M0277 FIX_PCM_DISABLEFILTER broken
...@@ -412,6 +412,7 @@ static void simdFilter5x5Blk( AlfClassifier** classifier, const PelUnitBuf &recD ...@@ -412,6 +412,7 @@ static void simdFilter5x5Blk( AlfClassifier** classifier, const PelUnitBuf &recD
#if JVET_M0277_FIX_PCM_DISABLEFILTER #if JVET_M0277_FIX_PCM_DISABLEFILTER
if( isPCMFilterDisabled && cl.classIdx == AdaptiveLoopFilter::m_ALF_UNUSED_CLASSIDX && transposeIdx == AdaptiveLoopFilter::m_ALF_UNUSED_TRANSPOSIDX ) if( isPCMFilterDisabled && cl.classIdx == AdaptiveLoopFilter::m_ALF_UNUSED_CLASSIDX && transposeIdx == AdaptiveLoopFilter::m_ALF_UNUSED_TRANSPOSIDX )
{ {
pRec += 4;
continue; continue;
} }
#endif #endif
...@@ -421,9 +422,10 @@ static void simdFilter5x5Blk( AlfClassifier** classifier, const PelUnitBuf &recD ...@@ -421,9 +422,10 @@ static void simdFilter5x5Blk( AlfClassifier** classifier, const PelUnitBuf &recD
else if ( isPCMFilterDisabled ) else if ( isPCMFilterDisabled )
{ {
Position pos(i, j); Position pos(i, j);
CodingUnit* cu = isDualTree ? cs.getCU(recalcPosition(nChromaFormat, CH_L, CH_C, pos), CH_C) : cs.getCU(pos, CH_L); CodingUnit* cu = isDualTree ? cs.getCU(pos, CH_C) : cs.getCU(recalcPosition(nChromaFormat, CH_C, CH_L, pos), CH_L);
if ( cu->ipcm ) if ( cu->ipcm )
{ {
pRec += 4;
continue; continue;
} }
} }
...@@ -662,6 +664,7 @@ static void simdFilter7x7Blk( AlfClassifier** classifier, const PelUnitBuf &recD ...@@ -662,6 +664,7 @@ static void simdFilter7x7Blk( AlfClassifier** classifier, const PelUnitBuf &recD
#if JVET_M0277_FIX_PCM_DISABLEFILTER #if JVET_M0277_FIX_PCM_DISABLEFILTER
if ( isPCMFilterDisabled && cl.classIdx == AdaptiveLoopFilter::m_ALF_UNUSED_CLASSIDX && transposeIdx == AdaptiveLoopFilter::m_ALF_UNUSED_TRANSPOSIDX ) if ( isPCMFilterDisabled && cl.classIdx == AdaptiveLoopFilter::m_ALF_UNUSED_CLASSIDX && transposeIdx == AdaptiveLoopFilter::m_ALF_UNUSED_TRANSPOSIDX )
{ {
pRec += 4;
continue; continue;
} }
#endif #endif
...@@ -671,9 +674,10 @@ static void simdFilter7x7Blk( AlfClassifier** classifier, const PelUnitBuf &recD ...@@ -671,9 +674,10 @@ static void simdFilter7x7Blk( AlfClassifier** classifier, const PelUnitBuf &recD
else if ( isPCMFilterDisabled ) else if ( isPCMFilterDisabled )
{ {
Position pos(i, j); Position pos(i, j);
CodingUnit* cu = isDualTree ? cs.getCU(recalcPosition(nChromaFormat, CH_L, CH_C, pos), CH_C) : cs.getCU(pos, CH_L); CodingUnit* cu = isDualTree ? cs.getCU(pos, CH_C) : cs.getCU(recalcPosition(nChromaFormat, CH_C, CH_L, pos), CH_L);
if ( cu->ipcm ) if ( cu->ipcm )
{ {
pRec += 4;
continue; continue;
} }
} }
......
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