Skip to content
Snippets Groups Projects
Commit 602418ae authored by Naeri Park's avatar Naeri Park
Browse files

JVET-L0158, JVET-L0106 (JVET_L0158_L0106_RESET_BUFFER)

parent 13556742
No related branches found
No related tags found
No related merge requests found
...@@ -58,6 +58,9 @@ ...@@ -58,6 +58,9 @@
#define JVET_L0104_NO_4x4BI_INTER_CU 1 // Prohibit 4x4 bi-prediction for inter CU #define JVET_L0104_NO_4x4BI_INTER_CU 1 // Prohibit 4x4 bi-prediction for inter CU
#define JVET_L0266_HMVP 1 //History-based MVP #define JVET_L0266_HMVP 1 //History-based MVP
#if JVET_L0266_HMVP
#define JVET_L0158_L0106_RESET_BUFFER 1 //reset the history buffer on HMVP
#endif
#define JVET_L0553_FIX_INITQP 1 #define JVET_L0553_FIX_INITQP 1
#define JVET_L0053_L0272_DM 1 // use center position of luma block to derive DM #define JVET_L0053_L0272_DM 1 // use center position of luma block to derive DM
......
...@@ -230,6 +230,13 @@ void DecSlice::decompressSlice( Slice* slice, InputBitstream* bitstream ) ...@@ -230,6 +230,13 @@ void DecSlice::decompressSlice( Slice* slice, InputBitstream* bitstream )
} }
#endif #endif
#if JVET_L0158_L0106_RESET_BUFFER
if (cs.slice->getSliceType() != I_SLICE && ctuXPosInCtus == 0)
{
cs.slice->resetMotionLUTs();
}
#endif
isLastCtuOfSliceSegment = cabacReader.coding_tree_unit( cs, ctuArea, pic->m_prevQP, ctuRsAddr ); isLastCtuOfSliceSegment = cabacReader.coding_tree_unit( cs, ctuArea, pic->m_prevQP, ctuRsAddr );
m_pcCuDecoder->decompressCtu( cs, ctuArea ); m_pcCuDecoder->decompressCtu( cs, ctuArea );
......
...@@ -1538,6 +1538,13 @@ void EncSlice::encodeCtus( Picture* pcPic, const bool bCompressEntireSlice, cons ...@@ -1538,6 +1538,13 @@ void EncSlice::encodeCtus( Picture* pcPic, const bool bCompressEntireSlice, cons
const UnitArea ctuArea( cs.area.chromaFormat, Area( pos.x, pos.y, pcv.maxCUWidth, pcv.maxCUHeight ) ); const UnitArea ctuArea( cs.area.chromaFormat, Area( pos.x, pos.y, pcv.maxCUWidth, pcv.maxCUHeight ) );
DTRACE_UPDATE( g_trace_ctx, std::make_pair( "ctu", ctuRsAddr ) ); DTRACE_UPDATE( g_trace_ctx, std::make_pair( "ctu", ctuRsAddr ) );
#if JVET_L0158_L0106_RESET_BUFFER
if ( pcSlice->getSliceType() != I_SLICE && ctuXPosInCtus == 0)
{
pcSlice->resetMotionLUTs();
}
#endif
#if ENABLE_WPP_PARALLELISM #if ENABLE_WPP_PARALLELISM
pcPic->scheduler.wait( ctuXPosInCtus, ctuYPosInCtus ); pcPic->scheduler.wait( ctuXPosInCtus, ctuYPosInCtus );
#endif #endif
......
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