Skip to content
Snippets Groups Projects
Commit 87219159 authored by Yung-Hsuan Chao (Jessie)'s avatar Yung-Hsuan Chao (Jessie)
Browse files

Encoder side bug fix: the encoder speed up in palette (which bypass INTRA mode...

Encoder side bug fix: the encoder speed up in palette (which bypass INTRA mode check in inter slice if palette mode is better than INTER mode)
shouldn't be applied on 4x4 blocks since JVET-N0266 disabled INTER mode in 4x4 blocks.
Without the fix, intra mode will always be skipped in 4x4 blocks in inter slice if IBC is disabled in SPS.
parent 63b9ca25
No related branches found
No related tags found
1 merge request!759JVET-O0119: Base palette mode for 4:4:4
...@@ -1343,14 +1343,14 @@ void EncModeCtrlMTnoRQT::initCULevel( Partitioner &partitioner, const CodingStru ...@@ -1343,14 +1343,14 @@ void EncModeCtrlMTnoRQT::initCULevel( Partitioner &partitioner, const CodingStru
// add intra modes // add intra modes
m_ComprCUCtxList.back().testModes.push_back( { ETM_IPCM, ETO_STANDARD, qp, lossless } ); m_ComprCUCtxList.back().testModes.push_back( { ETM_IPCM, ETO_STANDARD, qp, lossless } );
#if JVET_O0119_BASE_PALETTE_444 #if JVET_O0119_BASE_PALETTE_444
if (cs.slice->getSPS()->getPLTMode() && cs.slice->isIRAP() && getPltEnc() ) if (cs.slice->getSPS()->getPLTMode() && ( cs.slice->isIRAP() || (cs.area.lwidth() == 4 && cs.area.lheight() == 4) ) && getPltEnc() )
{ {
m_ComprCUCtxList.back().testModes.push_back({ ETM_PALETTE, ETO_STANDARD, qp, lossless }); m_ComprCUCtxList.back().testModes.push_back({ ETM_PALETTE, ETO_STANDARD, qp, lossless });
} }
#endif #endif
m_ComprCUCtxList.back().testModes.push_back( { ETM_INTRA, ETO_STANDARD, qp, lossless } ); m_ComprCUCtxList.back().testModes.push_back( { ETM_INTRA, ETO_STANDARD, qp, lossless } );
#if JVET_O0119_BASE_PALETTE_444 #if JVET_O0119_BASE_PALETTE_444
if (cs.slice->getSPS()->getPLTMode() && !cs.slice->isIRAP() && getPltEnc() ) if (cs.slice->getSPS()->getPLTMode() && !cs.slice->isIRAP() && !(cs.area.lwidth() == 4 && cs.area.lheight() == 4) && getPltEnc() )
{ {
m_ComprCUCtxList.back().testModes.push_back({ ETM_PALETTE, ETO_STANDARD, qp, lossless }); m_ComprCUCtxList.back().testModes.push_back({ ETM_PALETTE, ETO_STANDARD, qp, lossless });
} }
...@@ -1576,7 +1576,7 @@ bool EncModeCtrlMTnoRQT::tryMode( const EncTestMode& encTestmode, const CodingSt ...@@ -1576,7 +1576,7 @@ bool EncModeCtrlMTnoRQT::tryMode( const EncTestMode& encTestmode, const CodingSt
} }
} }
#if JVET_O0119_BASE_PALETTE_444 #if JVET_O0119_BASE_PALETTE_444
if (bestMode.type == ETM_PALETTE && !slice.isIRAP()) // inter slice if (bestMode.type == ETM_PALETTE && !slice.isIRAP() && !( partitioner.currArea().lumaSize().width == 4 && partitioner.currArea().lumaSize().height == 4) ) // inter slice
{ {
return false; return false;
} }
......
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