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 (2)
...@@ -347,7 +347,7 @@ void RdCost::setDistParam(DistParam &rcDP, const Pel *pOrg, const Pel *piRefY, p ...@@ -347,7 +347,7 @@ void RdCost::setDistParam(DistParam &rcDP, const Pel *pOrg, const Pel *piRefY, p
#if WCG_EXT #if WCG_EXT
Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDepth, const ComponentID compID, Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDepth, const ComponentID compID,
DFuncWtd distFuncWtd, const CPelBuf &orgLuma) DFuncWtd distFuncWtd, const CPelBuf &orgLuma) const
{ {
DistParam cDtParam; DistParam cDtParam;
...@@ -357,8 +357,6 @@ Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDe ...@@ -357,8 +357,6 @@ Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDe
cDtParam.bitDepth = bitDepth; cDtParam.bitDepth = bitDepth;
cDtParam.compID = compID; cDtParam.compID = compID;
cDtParam.cShiftX = getComponentScaleX(compID, m_cf);
cDtParam.cShiftY = getComponentScaleY(compID, m_cf);
if (isChroma(compID)) if (isChroma(compID))
{ {
cDtParam.orgLuma = orgLuma; cDtParam.orgLuma = orgLuma;
...@@ -368,8 +366,20 @@ Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDe ...@@ -368,8 +366,20 @@ Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDe
cDtParam.orgLuma = org; cDtParam.orgLuma = org;
} }
cDtParam.distFuncWtd = m_distortionFuncWtd[distFuncWtd + sizeOffset<false>(org.width)]; Distortion dist;
Distortion dist = cDtParam.distFuncWtd(this, cDtParam); if (isChroma(compID) && (m_signalType == RESHAPE_SIGNAL_SDR || m_signalType == RESHAPE_SIGNAL_HLG))
{
cDtParam.distFunc = m_distortionFunc[DFunc::SSE + sizeOffset<false>(org.width)];
int64_t weight = m_chromaWeight;
dist = (weight * cDtParam.distFunc(cDtParam ) + (1 << MSE_WEIGHT_FRAC_BITS >> 1)) >> (MSE_WEIGHT_FRAC_BITS);
}
else
{
cDtParam.cShiftX = getComponentScaleX(compID, m_cf);
cDtParam.cShiftY = getComponentScaleY(compID, m_cf);
cDtParam.distFuncWtd = m_distortionFuncWtd[distFuncWtd + sizeOffset<false>(org.width)];
dist = cDtParam.distFuncWtd(this, cDtParam);
}
if (isChroma(compID)) if (isChroma(compID))
{ {
dist = (Distortion)(m_distortionWeight[MAP_CHROMA(compID)] * dist); dist = (Distortion)(m_distortionWeight[MAP_CHROMA(compID)] * dist);
...@@ -378,7 +388,7 @@ Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDe ...@@ -378,7 +388,7 @@ Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDe
} }
#endif #endif
Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDepth, const ComponentID compID, Distortion RdCost::getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDepth, const ComponentID compID,
DFunc distFunc) DFunc distFunc) const
{ {
DistParam cDtParam; DistParam cDtParam;
...@@ -3131,7 +3141,7 @@ void RdCost::updateReshapeLumaLevelToWeightTable(SliceReshapeInfo &sliceReshape, ...@@ -3131,7 +3141,7 @@ void RdCost::updateReshapeLumaLevelToWeightTable(SliceReshapeInfo &sliceReshape,
} }
} }
Distortion RdCost::getWeightedMSE(int compIdx, const Pel org, const Pel cur, const uint32_t shift, const Pel orgLuma) Distortion RdCost::getWeightedMSE(const int compIdx, const Pel org, const Pel cur, const uint32_t shift, const Pel orgLuma) const
{ {
CHECKD(org < 0, "Sample value must be positive"); CHECKD(org < 0, "Sample value must be positive");
...@@ -3143,27 +3153,12 @@ Distortion RdCost::getWeightedMSE(int compIdx, const Pel org, const Pel cur, con ...@@ -3143,27 +3153,12 @@ Distortion RdCost::getWeightedMSE(int compIdx, const Pel org, const Pel cur, con
Pel diff = org - cur; Pel diff = org - cur;
// use luma to get weight // use luma to get weight
int64_t weight = MSE_WEIGHT_ONE; int64_t weight = m_reshapeLumaLevelToWeightPLUT[orgLuma];
if (m_signalType == RESHAPE_SIGNAL_SDR || m_signalType == RESHAPE_SIGNAL_HLG)
{
if (compIdx == COMPONENT_Y)
{
weight = m_reshapeLumaLevelToWeightPLUT[orgLuma];
}
else
{
weight = m_chromaWeight;
}
}
else
{
weight = m_reshapeLumaLevelToWeightPLUT[orgLuma];
}
return (weight * (diff * diff) + (1 << MSE_WEIGHT_FRAC_BITS >> 1)) >> (MSE_WEIGHT_FRAC_BITS + shift); return (weight * (diff * diff) + (1 << MSE_WEIGHT_FRAC_BITS >> 1)) >> (MSE_WEIGHT_FRAC_BITS + shift);
} }
Distortion RdCost::xGetSSE_WTD( const DistParam &rcDtParam ) Distortion RdCost::xGetSSE_WTD( const DistParam &rcDtParam ) const
{ {
if( rcDtParam.applyWeight ) if( rcDtParam.applyWeight )
{ {
...@@ -3196,7 +3191,7 @@ Distortion RdCost::xGetSSE_WTD( const DistParam &rcDtParam ) ...@@ -3196,7 +3191,7 @@ Distortion RdCost::xGetSSE_WTD( const DistParam &rcDtParam )
return (sum); return (sum);
} }
Distortion RdCost::xGetSSE2_WTD( const DistParam &rcDtParam ) Distortion RdCost::xGetSSE2_WTD( const DistParam &rcDtParam ) const
{ {
if( rcDtParam.applyWeight ) if( rcDtParam.applyWeight )
{ {
...@@ -3231,7 +3226,7 @@ Distortion RdCost::xGetSSE2_WTD( const DistParam &rcDtParam ) ...@@ -3231,7 +3226,7 @@ Distortion RdCost::xGetSSE2_WTD( const DistParam &rcDtParam )
return (sum); return (sum);
} }
Distortion RdCost::xGetSSE4_WTD( const DistParam &rcDtParam ) Distortion RdCost::xGetSSE4_WTD( const DistParam &rcDtParam ) const
{ {
if( rcDtParam.applyWeight ) if( rcDtParam.applyWeight )
{ {
...@@ -3272,7 +3267,7 @@ Distortion RdCost::xGetSSE4_WTD( const DistParam &rcDtParam ) ...@@ -3272,7 +3267,7 @@ Distortion RdCost::xGetSSE4_WTD( const DistParam &rcDtParam )
return (sum); return (sum);
} }
Distortion RdCost::xGetSSE8_WTD( const DistParam &rcDtParam ) Distortion RdCost::xGetSSE8_WTD( const DistParam &rcDtParam ) const
{ {
if( rcDtParam.applyWeight ) if( rcDtParam.applyWeight )
{ {
...@@ -3324,7 +3319,7 @@ Distortion RdCost::xGetSSE8_WTD( const DistParam &rcDtParam ) ...@@ -3324,7 +3319,7 @@ Distortion RdCost::xGetSSE8_WTD( const DistParam &rcDtParam )
return (sum); return (sum);
} }
Distortion RdCost::xGetSSE16_WTD( const DistParam &rcDtParam ) Distortion RdCost::xGetSSE16_WTD( const DistParam &rcDtParam ) const
{ {
if( rcDtParam.applyWeight ) if( rcDtParam.applyWeight )
{ {
...@@ -3399,7 +3394,7 @@ Distortion RdCost::xGetSSE16_WTD( const DistParam &rcDtParam ) ...@@ -3399,7 +3394,7 @@ Distortion RdCost::xGetSSE16_WTD( const DistParam &rcDtParam )
return (sum); return (sum);
} }
Distortion RdCost::xGetSSE16N_WTD( const DistParam &rcDtParam ) Distortion RdCost::xGetSSE16N_WTD( const DistParam &rcDtParam ) const
{ {
if( rcDtParam.applyWeight ) if( rcDtParam.applyWeight )
{ {
...@@ -3477,7 +3472,7 @@ Distortion RdCost::xGetSSE16N_WTD( const DistParam &rcDtParam ) ...@@ -3477,7 +3472,7 @@ Distortion RdCost::xGetSSE16N_WTD( const DistParam &rcDtParam )
return (sum); return (sum);
} }
Distortion RdCost::xGetSSE32_WTD( const DistParam &rcDtParam ) Distortion RdCost::xGetSSE32_WTD( const DistParam &rcDtParam ) const
{ {
if( rcDtParam.applyWeight ) if( rcDtParam.applyWeight )
{ {
...@@ -3601,7 +3596,7 @@ Distortion RdCost::xGetSSE32_WTD( const DistParam &rcDtParam ) ...@@ -3601,7 +3596,7 @@ Distortion RdCost::xGetSSE32_WTD( const DistParam &rcDtParam )
return (sum); return (sum);
} }
Distortion RdCost::xGetSSE64_WTD( const DistParam &rcDtParam ) Distortion RdCost::xGetSSE64_WTD( const DistParam &rcDtParam ) const
{ {
if( rcDtParam.applyWeight ) if( rcDtParam.applyWeight )
{ {
......
...@@ -61,7 +61,7 @@ using DistFunc = std::function<Distortion(const DistParam &)>; ...@@ -61,7 +61,7 @@ using DistFunc = std::function<Distortion(const DistParam &)>;
#if WCG_EXT #if WCG_EXT
class RdCost; class RdCost;
using DistFuncWtd = std::function<Distortion(RdCost *, const DistParam &)>; using DistFuncWtd = std::function<Distortion(const RdCost *, const DistParam &)>;
#endif #endif
// ==================================================================================================================== // ====================================================================================================================
// Class definition // Class definition
...@@ -388,15 +388,15 @@ private: ...@@ -388,15 +388,15 @@ private:
static Distortion xGetSSE16N ( const DistParam& pcDtParam ); static Distortion xGetSSE16N ( const DistParam& pcDtParam );
#if WCG_EXT #if WCG_EXT
Distortion getWeightedMSE(int compIdx, const Pel org, const Pel cur, const uint32_t shift, const Pel orgLuma); Distortion getWeightedMSE(const int compIdx, const Pel org, const Pel cur, const uint32_t shift, const Pel orgLuma) const;
Distortion xGetSSE_WTD ( const DistParam& pcDtParam ); Distortion xGetSSE_WTD ( const DistParam& pcDtParam ) const;
Distortion xGetSSE2_WTD ( const DistParam& pcDtParam ); Distortion xGetSSE2_WTD ( const DistParam& pcDtParam ) const;
Distortion xGetSSE4_WTD ( const DistParam& pcDtParam ); Distortion xGetSSE4_WTD ( const DistParam& pcDtParam ) const;
Distortion xGetSSE8_WTD ( const DistParam& pcDtParam ); Distortion xGetSSE8_WTD ( const DistParam& pcDtParam ) const;
Distortion xGetSSE16_WTD ( const DistParam& pcDtParam ); Distortion xGetSSE16_WTD ( const DistParam& pcDtParam ) const;
Distortion xGetSSE32_WTD ( const DistParam& pcDtParam ); Distortion xGetSSE32_WTD ( const DistParam& pcDtParam ) const;
Distortion xGetSSE64_WTD ( const DistParam& pcDtParam ); Distortion xGetSSE64_WTD ( const DistParam& pcDtParam ) const;
Distortion xGetSSE16N_WTD ( const DistParam& pcDtParam ); Distortion xGetSSE16N_WTD ( const DistParam& pcDtParam ) const;
#endif #endif
static Distortion xGetSAD ( const DistParam& pcDtParam ); static Distortion xGetSAD ( const DistParam& pcDtParam );
...@@ -476,10 +476,10 @@ public: ...@@ -476,10 +476,10 @@ public:
#if WCG_EXT #if WCG_EXT
Distortion getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDepth, const ComponentID compID, DFuncWtd distFuncWtd, Distortion getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDepth, const ComponentID compID, DFuncWtd distFuncWtd,
const CPelBuf &orgLuma); const CPelBuf &orgLuma) const;
#endif #endif
Distortion getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDepth, const ComponentID compID, Distortion getDistPart(const CPelBuf &org, const CPelBuf &cur, int bitDepth, const ComponentID compID,
DFunc distFunc); DFunc distFunc) const;
Distortion getDistPart(const CPelBuf &org, const CPelBuf &cur, const Pel *mask, int bitDepth, Distortion getDistPart(const CPelBuf &org, const CPelBuf &cur, const Pel *mask, int bitDepth,
const ComponentID compID, DFunc distFunc); const ComponentID compID, DFunc distFunc);
......