Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • jvet/VVCSoftware_VTM
  • chenhuanbang/VVCSoftware_VTM
  • ezhizng/VVCSoftware_VTM
  • XZheng/VVCSoftware_VTM
  • YanZhang/VVCSoftware_VTM
  • xiaozhongxu/VVCSoftware_VTM
  • bossen/VVCSoftware_VTM
  • XiangLi/VVCSoftware_VTM
  • s.iwamura/VVCSoftware_VTM
  • yuling.hsiao/VVCSoftware_VTM
  • ccc2384823/VVCSoftware_VTM
  • yuchisu/VVCSoftware_VTM
  • schwarz/VVCSoftware_VTM
  • philippe.hanhart/VVCSoftware_VTM
  • nanh/VVCSoftware_VTM
  • guillaume.laroche/VVCSoftware_VTM
  • Kenneth/VVCSoftware_VTM
  • jonatan/VVCSoftware_VTM
  • Alexey/VVCSoftware_VTM
  • saintspear/VVCSoftware_VTM
  • xinzhao/VVCSoftware_VTM
  • Seungsoo/VVCSoftware_VTM
  • jamesxxiu/VVCSoftware_VTM
  • leolzhao/VVCSoftware_VTM
  • ywchen/VVCSoftware_VTM
  • kevin625/VVCSoftware_VTM
  • Zhang/VVCSoftware_VTM
  • zhangkai/VVCSoftware_VTM
  • YCSun/VVCSoftware_VTM
  • ksuehring/VVCSoftware_VTM
  • AbeKiyo/VVCSoftware_VTM
  • naeri.park/VVCSoftware_VTM
  • ling/VVCSoftware_VTM
  • aikiho/VVCSoftware_VTM
  • JangwonChoi/VVCSoftware_VTM
  • Shelly/VVCSoftware_VTM
  • blaeser/VVCSoftware_VTM
  • crhelmrich/VVCSoftware_VTM
  • keydel/VVCSoftware_VTM
  • adam_wieckowski/VVCSoftware_VTM
  • hashimry/VVCSoftware_VTM
  • yimingli/VVCSoftware_VTM
  • zhipin/VVCSoftware_VTM
  • chernyak/VVCSoftware_VTM
  • jvet-l-ahg-14/VVCSoftware_VTM
  • sauer/VVCSoftware_VTM
  • fbarbier/VVCSoftware_VTM
  • misrak/VVCSoftware_VTM
  • ikai/VVCSoftware_VTM
  • tlu/VVCSoftware_VTM
  • Yasugi/VVCSoftware_VTM
  • peterchuang/VVCSoftware_VTM
  • wanght99/VVCSoftware_VTM
  • yuhan/VVCSoftware_VTM
  • hongbin/VVCSoftware_VTM
  • jiahaoli/VVCSoftware_VTM
  • cfd/VVCSoftware_VTM
  • ruoyangyu/VVCSoftware_VTM
  • chujoh/VVCSoftware_VTM
  • lijingya/VVCSoftware_VTM
  • hinz/VVCSoftware_VTM
  • tamse.anish/VVCSoftware_VTM
  • mcoban/VVCSoftware_VTM
  • george/VVCSoftware_VTM
  • jeeva.raj/VVCSoftware_VTM
  • antoine/VVCSoftware_VTM
  • moonmo.koo/VVCSoftware_VTM
  • deluxan/VVCSoftware_VTM
  • bheng/VVCSoftware_VTM
  • lzz8246/VVCSoftware_VTM
  • delagrangep/VVCSoftware_VTM
  • jiechen/VVCSoftware_VTM
  • hendry197/VVCSoftware_VTM
  • LGE_VCC/VVCSoftware_VTM
  • asegall/VVCSoftware_VTM
  • pbcowan/VVCSoftware_VTM
  • forayr/VVCSoftware_VTM
  • JT/VVCSoftware_VTM
  • Zhou/VVCSoftware_VTM
  • yjpiao/VVCSoftware_VTM
  • fabrice.leleannec/VVCSoftware_VTM
  • tpoirier/VVCSoftware_VTM
  • PoHan.Lin/VVCSoftware_VTM
  • jzxu/VVCSoftware_VTM
  • junghak.nam/VVCSoftware_VTM
  • guichunli/VVCSoftware_VTM
  • xianglinwang/VVCSoftware_VTM
  • chunchic/VVCSoftware_VTM
  • chrisr12/VVCSoftware_VTM
  • ks_kashyap/VVCSoftware_VTM
  • minhua/VVCSoftware_VTM
  • Sheng-Yen.Lin/VVCSoftware_VTM
  • hegilmez/VVCSoftware_VTM
  • swongah/VVCSoftware_VTM
  • merkle/VVCSoftware_VTM
  • sunyucheng/VVCSoftware_VTM
  • kirchhoffer/VVCSoftware_VTM
  • vdrugeon/VVCSoftware_VTM
  • jennylai/VVCSoftware_VTM
  • rickxu/VVCSoftware_VTM
  • seuhong/VVCSoftware_VTM
  • chollmann/VVCSoftware_VTM
  • jvet-n-ce8-public/VVCSoftware_VTM
  • martin.m.pettersson/VVCSoftware_VTM
  • siekmann/VVCSoftware_VTM
  • aramasub/VVCSoftware_VTM
  • zhiyilin/VVCSoftware_VTM
  • EricLin/VVCSoftware_VTM
  • mengwang/VVCSoftware_VTM
  • m.sarwer/VVCSoftware_VTM
  • agnesedong/VVCSoftware_VTM
  • geonjungko/VVCSoftware_VTM
  • bray/VVCSoftware_VTM
  • yhchao/VVCSoftware_VTM
  • Zhu/VVCSoftware_VTM
  • ykato/VVCSoftware_VTM
  • ZhipinDeng/VVCSoftware_VTM
  • jasonjung/VVCSoftware_VTM
  • hanhuang/VVCSoftware_VTM
  • seregin/VVCSoftware_VTM
  • wchen1014/VVCSoftware_VTM
  • Auyeung/VVCSoftware_VTM
  • Morris/VVCSoftware_VTM
  • lphamvan/VVCSoftware_VTM
  • dmehlem/VVCSoftware_VTM
  • shih-ta.hsiang/VVCSoftware_VTM
  • ysanchez/VVCSoftware_VTM
  • baegn74/VVCSoftware_VTM
  • kazui/VVCSoftware_VTM
  • yuwenhe_vvc/VVCSoftware_VTM
  • rickard/VVCSoftware_VTM
  • wangyang.cs/VVCSoftware_VTM
  • xwmeng/VVCSoftware_VTM
  • takeshi.tsukuba/VVCSoftware_VTM
  • yixindu/VVCSoftware_VTM
  • baixiu.wz/VVCSoftware_VTM
  • hm.jang/VVCSoftware_VTM
  • Ted/VVCSoftware_VTM
  • nguyen/VVCSoftware_VTM
  • chaohsiu/VVCSoftware_VTM
  • francoise/VVCSoftware_VTM
  • Yin/VVCSoftware_VTM
  • Morigami/VVCSoftware_VTM
  • sagar.kotecha/VVCSoftware_VTM
  • hwsun/VVCSoftware_VTM
  • pierrick.bouvier/VVCSoftware_VTM
  • XiangMa/VVCSoftware_VTM
  • LouiseLee/VVCSoftware_VTM
  • chenps/VVCSoftware_VTM
  • karls/VVCSoftware_VTM
  • biaowang/VVCSoftware_VTM
  • hangao/VVCSoftware_VTM
  • Jin/VVCSoftware_VTM
  • analci/VVCSoftware_VTM
  • KuiFan/VVCSoftware_VTM
  • hobingzhang/VVCSoftware_VTM
  • audrey.turquin/VVCSoftware_VTM
  • rlliao/VVCSoftware_VTM
  • winken/VVCSoftware_VTM
  • hallapur/VVCSoftware_VTM
  • T.Hashimoto/VVCSoftware_VTM
  • AnandMeher/VVCSoftware_VTM
  • semihese/VVCSoftware_VTM
  • ouedraogo/VVCSoftware_VTM
  • arthurcerveira/VVCSoftware_VTM
  • sunmi.yoo/VVCSoftware_VTM
  • Cynthia/VVCSoftware_VTM
  • yang/VVCSoftware_VTM
  • yuyoon/VVCSoftware_VTM
  • jslee/VVCSoftware_VTM
  • weimin.zeng/VVCSoftware_VTM
  • edrthomas/VVCSoftware_VTM
  • Mitsuru.Katsumata/VVCSoftware_VTM
  • adybrowne/VVCSoftware_VTM
  • jack.enhorn/VVCSoftware_VTM
  • Palanivel/VVCSoftware_VTM
  • olena.chubach/VVCSoftware_VTM
  • juvenalluo/VVCSoftware_VTM
  • yylee/VVCSoftware_VTM
  • bross/VVCSoftware_VTM
  • jvet-ahg-nnvc/VVCSoftware_VTM
  • jacob/VVCSoftware_VTM
  • dmytro.rusanovskyy/VVCSoftware_VTM
  • karamnaser/VVCSoftware_VTM
  • milos.radosavljevic/VVCSoftware_VTM
  • Keming/VVCSoftware_VTM
  • pj/VVCSoftware_VTM
  • cwkuo/VVCSoftware_VTM
  • BD/VVCSoftware_VTM
  • bartnik/VVCSoftware_VTM
  • Fangjun.Pu/VVCSoftware_VTM
  • nikolay.shostak/VVCSoftware_VTM
  • kirill.suverov/VVCSoftware_VTM
  • Xile_Zhou/VVCSoftware_VTM
  • ksuehring/vvc-software-vtm-nnvc
  • guether/VVCSoftware_VTM
  • salmonc/VVCSoftware_VTM
  • eeehey/VVCSoftware_VTM
  • marie-pierre.gallasso/VVCSoftware_VTM
  • jvet-ahg-fgt/VTM
  • liaojq/VVCSoftware_VTM
  • axel.ricard/VVCSoftware_VTM
  • XiangLi/nnvc
  • sw.xie/VVCSoftware_VTM
  • jeeva.raj/vvc-software-vtm-tu-c
  • XiangLi/tu-c
  • msantamaria/nnvc
  • cjj490168650/VVCSoftware_VTM
  • Yun_li/VVCSoftware_VTM
  • Zhengang/vvc-software-vtm
  • lvzhuoyi/vvc-software-vtm-nnvc
  • Kenneth/vvc-software-vtm-nn
  • biatekt/vvc-software-vtm
  • jvet-ahg-gcc/VVCSoftware_VTM
  • JINGYING/VVCSoftware_VTM
  • furban/VVCSoftware_VTM
  • yanning/VVCSoftware_VTM
  • zhuochen/VVCSoftware_VTM
  • Kaifa/VVCSoftware_VTM_AJ0048
  • yueli/VVCSoftware_VTM
  • tokumo/VVCSoftware_VTM
221 results
Show changes
Commits on Source (3)
......@@ -555,7 +555,9 @@ void EncApp::xInitLibCfg()
m_cEncLib.setPPSDepQuantEnabledIdc ( m_PPSDepQuantEnabledIdc );
m_cEncLib.setPPSRefPicListSPSIdc0 ( m_PPSRefPicListSPSIdc0 );
m_cEncLib.setPPSRefPicListSPSIdc1 ( m_PPSRefPicListSPSIdc1 );
#if !JVET_P0206_TMVP_flags
m_cEncLib.setPPSTemporalMVPEnabledIdc ( m_PPSTemporalMVPEnabledIdc );
#endif
m_cEncLib.setPPSMvdL1ZeroIdc ( m_PPSMvdL1ZeroIdc );
m_cEncLib.setPPSCollocatedFromL0Idc ( m_PPSCollocatedFromL0Idc );
m_cEncLib.setPPSSixMinusMaxNumMergeCandPlus1 ( m_PPSSixMinusMaxNumMergeCandPlus1 );
......
......@@ -3256,7 +3256,9 @@ bool EncAppCfg::xCheckParameter()
m_PPSDepQuantEnabledIdc = 0;
m_PPSRefPicListSPSIdc0 = 0;
m_PPSRefPicListSPSIdc1 = 0;
#if !JVET_P0206_TMVP_flags
m_PPSTemporalMVPEnabledIdc = 0;
#endif
m_PPSMvdL1ZeroIdc = 0;
m_PPSCollocatedFromL0Idc = 0;
m_PPSSixMinusMaxNumMergeCandPlus1 = 0;
......@@ -3268,7 +3270,9 @@ bool EncAppCfg::xCheckParameter()
m_PPSDepQuantEnabledIdc = (m_depQuantEnabledFlag ? 1 : 0) + 1;
m_PPSRefPicListSPSIdc0 = 0;
m_PPSRefPicListSPSIdc1 = 0;
#if !JVET_P0206_TMVP_flags
m_PPSTemporalMVPEnabledIdc = 0;
#endif
m_PPSMvdL1ZeroIdc = 0;
m_PPSCollocatedFromL0Idc = 0;
m_PPSSixMinusMaxNumMergeCandPlus1 = 6 - m_maxNumMergeCand + 1;
......@@ -3280,7 +3284,9 @@ bool EncAppCfg::xCheckParameter()
m_PPSDepQuantEnabledIdc = (m_depQuantEnabledFlag ? 1 : 0) + 1;
m_PPSRefPicListSPSIdc0 = 2;
m_PPSRefPicListSPSIdc1 = 2;
m_PPSTemporalMVPEnabledIdc = m_TMVPModeId == 2 ? 0: ( int(m_TMVPModeId == 1 ? 1: 0) + 1);
#if !JVET_P0206_TMVP_flags
m_PPSTemporalMVPEnabledIdc = m_TMVPModeId == 2 ? 0: ( int(m_TMVPModeId == 1 ? 1: 0) + 1);
#endif
m_PPSMvdL1ZeroIdc = 2;
m_PPSCollocatedFromL0Idc = 1;
m_PPSSixMinusMaxNumMergeCandPlus1 = 6 - m_maxNumMergeCand + 1;
......@@ -3292,7 +3298,9 @@ bool EncAppCfg::xCheckParameter()
m_PPSDepQuantEnabledIdc = (m_depQuantEnabledFlag ? 1 : 0) + 1;
m_PPSRefPicListSPSIdc0 = 2;
m_PPSRefPicListSPSIdc1 = 2;
#if !JVET_P0206_TMVP_flags
m_PPSTemporalMVPEnabledIdc = m_TMVPModeId == 2 ? 0: ( int(m_TMVPModeId == 1 ? 1: 0) + 1);
#endif
m_PPSMvdL1ZeroIdc = 0;
m_PPSCollocatedFromL0Idc = 0;
m_PPSSixMinusMaxNumMergeCandPlus1 = 6 - m_maxNumMergeCand + 1;
......
......@@ -541,7 +541,9 @@ protected:
int m_PPSDepQuantEnabledIdc;
int m_PPSRefPicListSPSIdc0;
int m_PPSRefPicListSPSIdc1;
#if !JVET_P0206_TMVP_flags
int m_PPSTemporalMVPEnabledIdc;
#endif
int m_PPSMvdL1ZeroIdc;
int m_PPSCollocatedFromL0Idc;
uint32_t m_PPSSixMinusMaxNumMergeCandPlus1;
......
......@@ -1816,7 +1816,9 @@ PPS::PPS()
, m_PPSDepQuantEnabledIdc (0)
, m_PPSRefPicListSPSIdc0 (0)
, m_PPSRefPicListSPSIdc1 (0)
#if !JVET_P0206_TMVP_flags
, m_PPSTemporalMVPEnabledIdc (0)
#endif
, m_PPSMvdL1ZeroIdc (0)
, m_PPSCollocatedFromL0Idc (0)
, m_PPSSixMinusMaxNumMergeCandPlus1 (0)
......@@ -2506,6 +2508,10 @@ void Slice::scaleRefPicList( Picture *scaledRefPic[ ], APS** apss, APS* lmcsAps,
const SPS* sps = getSPS();
const PPS* pps = getPPS();
#if JVET_P0206_TMVP_flags
bool refPicIsSameRes = false;
#endif
// this is needed for IBC
m_pcPic->unscaledPic = m_pcPic;
......@@ -2532,6 +2538,13 @@ void Slice::scaleRefPicList( Picture *scaledRefPic[ ], APS** apss, APS* lmcsAps,
CU::getRprScaling( sps, pps, m_apcRefPicList[refList][rIdx], xScale, yScale );
m_scalingRatio[refList][rIdx] = std::pair<int, int>( xScale, yScale );
#if JVET_P0206_TMVP_flags
if( m_scalingRatio[refList][rIdx] == SCALE_1X )
{
refPicIsSameRes = true;
}
#endif
if( m_scalingRatio[refList][rIdx] == SCALE_1X || isDecoder )
{
m_scaledRefPicList[refList][rIdx] = m_apcRefPicList[refList][rIdx];
......@@ -2617,6 +2630,14 @@ void Slice::scaleRefPicList( Picture *scaledRefPic[ ], APS** apss, APS* lmcsAps,
m_apcRefPicList[refList][rIdx]->unscaledPic = m_savedRefPicList[refList][rIdx];
}
}
#if JVET_P0206_TMVP_flags
//Make sure that TMVP is disabled when there are no reference pictures with the same resolution
if(!refPicIsSameRes)
{
CHECK(m_enableTMVPFlag != 0, "TMVP cannot be enabled in slices that have no reference pictures with the same resolution")
}
#endif
}
void Slice::freeScaledRefPicList( Picture *scaledRefPic[] )
......
......@@ -1239,7 +1239,9 @@ private:
int m_PPSDepQuantEnabledIdc;
int m_PPSRefPicListSPSIdc0;
int m_PPSRefPicListSPSIdc1;
#if !JVET_P0206_TMVP_flags
int m_PPSTemporalMVPEnabledIdc;
#endif
int m_PPSMvdL1ZeroIdc;
int m_PPSCollocatedFromL0Idc;
uint32_t m_PPSSixMinusMaxNumMergeCandPlus1;
......@@ -1439,8 +1441,10 @@ public:
void setPPSRefPicListSPSIdc0(int u) { m_PPSRefPicListSPSIdc0 = u; }
int getPPSRefPicListSPSIdc1() const { return m_PPSRefPicListSPSIdc1; }
void setPPSRefPicListSPSIdc1(int u) { m_PPSRefPicListSPSIdc1 = u; }
#if !JVET_P0206_TMVP_flags
int getPPSTemporalMVPEnabledIdc() const { return m_PPSTemporalMVPEnabledIdc; }
void setPPSTemporalMVPEnabledIdc(int u) { m_PPSTemporalMVPEnabledIdc = u; }
#endif
int getPPSMvdL1ZeroIdc() const { return m_PPSMvdL1ZeroIdc; }
void setPPSMvdL1ZeroIdc(int u) { m_PPSMvdL1ZeroIdc = u; }
int getPPSCollocatedFromL0Idc() const { return m_PPSCollocatedFromL0Idc; }
......
......@@ -50,6 +50,8 @@
#include <assert.h>
#include <cassert>
#define JVET_P0206_TMVP_flags 1 // JVET-P0206: Signalling TMVP usage (remove pps TMVP idc and constraint when RPR is used)
#define JVET_P0599_INTRA_SMOOTHING_INTERP_FILT 1 // JVET-P0599: Cleanup of interpolation filtering for intra prediction
#define JVET_P1026_MTS_SIGNALLING 1 // JVET-P1026: CU level MTS signalling
......
......@@ -405,7 +405,9 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana
READ_CODE( 2, uiCode, "pps_dep_quant_enabled_idc"); pcPPS->setPPSDepQuantEnabledIdc(uiCode);
READ_CODE( 2, uiCode, "pps_ref_pic_list_sps_idc[0]"); pcPPS->setPPSRefPicListSPSIdc0(uiCode);
READ_CODE( 2, uiCode, "pps_ref_pic_list_sps_idc[1]"); pcPPS->setPPSRefPicListSPSIdc1(uiCode);
#if !JVET_P0206_TMVP_flags
READ_CODE( 2, uiCode, "pps_temporal_mvp_enabled_idc"); pcPPS->setPPSTemporalMVPEnabledIdc(uiCode);
#endif
READ_CODE( 2, uiCode, "pps_mvd_l1_zero_idc"); pcPPS->setPPSMvdL1ZeroIdc(uiCode);
READ_CODE( 2, uiCode, "pps_collocated_from_l0_idc"); pcPPS->setPPSCollocatedFromL0Idc(uiCode);
READ_UVLC( uiCode, "pps_six_minus_max_num_merge_cand_plus1"); pcPPS->setPPSSixMinusMaxNumMergeCandPlus1(uiCode);
......@@ -417,7 +419,9 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana
pcPPS->setPPSDepQuantEnabledIdc(0);
pcPPS->setPPSRefPicListSPSIdc0(0);
pcPPS->setPPSRefPicListSPSIdc1(0);
#if !JVET_P0206_TMVP_flags
pcPPS->setPPSTemporalMVPEnabledIdc(0);
#endif
pcPPS->setPPSMvdL1ZeroIdc(0);
pcPPS->setPPSCollocatedFromL0Idc(0);
pcPPS->setPPSSixMinusMaxNumMergeCandPlus1(0);
......@@ -2080,13 +2084,20 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, ParameterSetManager *para
if(!pcSlice->isIntra())
{
#if JVET_P0206_TMVP_flags
if (sps->getSPSTemporalMVPEnabledFlag())
#else
if (sps->getSPSTemporalMVPEnabledFlag() && !pps->getPPSTemporalMVPEnabledIdc())
#endif
{
READ_FLAG( uiCode, "slice_temporal_mvp_enabled_flag" );
pcSlice->setEnableTMVPFlag( uiCode == 1 ? true : false );
}
else
{
#if JVET_P0206_TMVP_flags
pcSlice->setEnableTMVPFlag(false);
#else
if (!sps->getSPSTemporalMVPEnabledFlag())
{
pcSlice->setEnableTMVPFlag(false);
......@@ -2095,6 +2106,7 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, ParameterSetManager *para
{
pcSlice->setEnableTMVPFlag((pps->getPPSTemporalMVPEnabledIdc() - 1) == 1 ? true: false);
}
#endif
}
}
......
......@@ -587,7 +587,9 @@ protected:
int m_PPSDepQuantEnabledIdc;
int m_PPSRefPicListSPSIdc0;
int m_PPSRefPicListSPSIdc1;
#if !JVET_P0206_TMVP_flags
int m_PPSTemporalMVPEnabledIdc;
#endif
int m_PPSMvdL1ZeroIdc;
int m_PPSCollocatedFromL0Idc;
uint32_t m_PPSSixMinusMaxNumMergeCandPlus1;
......@@ -1503,8 +1505,10 @@ public:
int getPPSRefPicListSPSIdc0 () { return m_PPSRefPicListSPSIdc0; }
void setPPSRefPicListSPSIdc1 ( int u ) { m_PPSRefPicListSPSIdc1 = u; }
int getPPSRefPicListSPSIdc1 () { return m_PPSRefPicListSPSIdc1; }
#if !JVET_P0206_TMVP_flags
void setPPSTemporalMVPEnabledIdc ( int u ) { m_PPSTemporalMVPEnabledIdc = u; }
int getPPSTemporalMVPEnabledIdc () { return m_PPSTemporalMVPEnabledIdc; }
#endif
void setPPSMvdL1ZeroIdc ( int u ) { m_PPSMvdL1ZeroIdc = u; }
int getPPSMvdL1ZeroIdc () { return m_PPSMvdL1ZeroIdc; }
void setPPSCollocatedFromL0Idc ( int u ) { m_PPSCollocatedFromL0Idc = u; }
......
......@@ -2319,7 +2319,9 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic,
if (m_pcEncLib->getTMVPModeId() == 2)
{
#if !JVET_P0206_TMVP_flags
assert (m_pcEncLib->getPPSTemporalMVPEnabledIdc() == 0);
#endif
if (iGOPid == 0) // first picture in SOP (i.e. forward B)
{
pcSlice->setEnableTMVPFlag(0);
......@@ -2330,7 +2332,11 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic,
pcSlice->setEnableTMVPFlag(1);
}
}
#if JVET_P0206_TMVP_flags
else if (m_pcEncLib->getTMVPModeId() == 1)
#else
else if (m_pcEncLib->getTMVPModeId() == 1 && m_pcEncLib->getPPSTemporalMVPEnabledIdc() != 1)
#endif
{
pcSlice->setEnableTMVPFlag(1);
}
......
......@@ -1165,7 +1165,9 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps)
pps.setPPSDepQuantEnabledIdc(getPPSDepQuantEnabledIdc());
pps.setPPSRefPicListSPSIdc0(getPPSRefPicListSPSIdc0());
pps.setPPSRefPicListSPSIdc1(getPPSRefPicListSPSIdc1());
#if !JVET_P0206_TMVP_flags
pps.setPPSTemporalMVPEnabledIdc(getPPSTemporalMVPEnabledIdc());
#endif
pps.setPPSMvdL1ZeroIdc(getPPSMvdL1ZeroIdc());
pps.setPPSCollocatedFromL0Idc(getPPSCollocatedFromL0Idc());
pps.setPPSSixMinusMaxNumMergeCandPlus1(getPPSSixMinusMaxNumMergeCandPlus1());
......
......@@ -236,7 +236,9 @@ void HLSWriter::codePPS( const PPS* pcPPS, const SPS* pcSPS )
WRITE_CODE( pcPPS->getPPSDepQuantEnabledIdc(), 2, "pps_dep_quant_enabled_idc");
WRITE_CODE( pcPPS->getPPSRefPicListSPSIdc0(), 2, "pps_ref_pic_list_sps_idc[0]");
WRITE_CODE( pcPPS->getPPSRefPicListSPSIdc1(), 2, "pps_ref_pic_list_sps_idc[1]");
#if !JVET_P0206_TMVP_flags
WRITE_CODE( pcPPS->getPPSTemporalMVPEnabledIdc(), 2, "pps_temporal_mvp_enabled_idc");
#endif
WRITE_CODE( pcPPS->getPPSMvdL1ZeroIdc(), 2, "pps_mvd_l1_zero_idc");
WRITE_CODE( pcPPS->getPPSCollocatedFromL0Idc(), 2, "pps_collocated_from_l0_idc");
WRITE_UVLC( pcPPS->getPPSSixMinusMaxNumMergeCandPlus1(), "pps_six_minus_max_num_merge_cand_plus1");
......@@ -1318,7 +1320,11 @@ void HLSWriter::codeSliceHeader ( Slice* pcSlice )
if(!pcSlice->isIntra())
{
#if JVET_P0206_TMVP_flags
if( pcSlice->getSPS()->getSPSTemporalMVPEnabledFlag())
#else
if( pcSlice->getSPS()->getSPSTemporalMVPEnabledFlag() && !pcSlice->getPPS()->getPPSTemporalMVPEnabledIdc() )
#endif
{
WRITE_FLAG( pcSlice->getEnableTMVPFlag() ? 1 : 0, "slice_temporal_mvp_enabled_flag" );
}
......