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
  • ecm/ECM
  • seregin/ECM
  • XiangLi/ECM
  • ksuehring/ECM
  • Morris/ecm-7-0
  • leizhao/ECM
  • Dongcheol/ecm
  • ghaznavi/ECM
  • junyanhuo/ECM
  • Morris/jvet-ad-0202
  • Yasugi/jvet-ad-0105-aspect-1
  • jonatan/ECM
  • kevin625/ECM
  • astola/ECM
  • Yasugi/jvet-ae-0055
  • ghaznavi/jvet-ae-0100-bvgcccm
  • yyu2021/ECM
  • moonmo.koo/ECM
  • ihtseng/ECM
  • ghaznavi/bugfix-for-jvet-ae-0100-bvgcccm
  • FANZHEMING/jvet-af-0101
  • ghaznavi/jvet-ah-0076-obic
  • NicolasHorst/ecm
  • ghaznavi/harmonizing-dimd-based-transform-selection-functions
  • bordesp/ECM
  • pohan-lin/ECM
  • daizhenyu/ECM
  • qinhongdong/ECM-MasterBranch
  • jvet-ahg-gcc/ECM
  • renan.utida/ECM-AhG15
  • mosenabdoli/ecm-14-0-timd-merge
  • FANZHEMING/jvet-aj-0079
  • lxw/ECM
  • mosenabdoli/ecm-resolve-aj0096-aj0061
  • mosenabdoli/ecm-resolve-aj-0096-aj-0061
  • yanning/ECM
  • ghaznavi/jvet-aj-0146-and-obic-interaction
  • frankplow/ECM
  • moonmo.koo/ecm-15-ahg-7
  • moonmo.koo/ecm-15-ahg-7-fix
  • ivash/ecm-master-branch
  • moonmo.koo/ecm-test
  • pgarus/ecm-ak
  • Myungoh/jvet-ak-0059-test-1-2-c
  • Myungoh/ecm-test-1-2-c
  • Myungoh/mdip-encoder-fix
  • Myungoh/fix-mdip-2
  • Myungoh/mdip-control-for-ahg-7-tests
48 results
Show changes
Showing
with 13371 additions and 1863 deletions
......@@ -978,6 +978,9 @@ public:
for (unsigned i = 0; i < AFFINE_MRG_MAX_NUM_CANDS_ALL; i++)
{
affineType[i] = AFFINEMODEL_4PARAM;
#if JVET_AK0095_ENHANCED_AFFINE_CANDIDATE
m_isConstructed[i] = false;
#endif
}
}
~AffineMergeCtx() {}
......@@ -1013,6 +1016,9 @@ public:
MergeCtx *mrgCtx;
MergeType mergeType[AFFINE_MRG_MAX_NUM_CANDS_ALL];
#if JVET_AK0095_ENHANCED_AFFINE_CANDIDATE
bool m_isConstructed[AFFINE_MRG_MAX_NUM_CANDS_ALL];
#endif
#if JVET_AC0185_ENHANCED_TEMPORAL_MOTION_DERIVATION
int colIdx[AFFINE_MRG_MAX_NUM_CANDS_ALL];
#endif
......@@ -1188,6 +1194,9 @@ public:
bool obmcFlags[ALT_AFF_MRG_MAX_NUM_CANDS];
#endif
int numValidMergeCand;
#if JVET_AK0095_ENHANCED_AFFINE_CANDIDATE
bool m_isConstructed[ALT_AFF_MRG_MAX_NUM_CANDS];
#endif
bool xCheckSameAffMotion(const PredictionUnit& pu, int cnt);
void initAltLMAffMergeCtx(int idx);
......
......@@ -728,7 +728,9 @@ std::vector<std::vector<uint8_t>> ContextSetCfg::sm_InitTables(NUMBER_OF_SLICE_T
std::vector<std::vector<uint8_t>> ContextSetCfg::sm_InitTables(NUMBER_OF_SLICE_TYPES + 1);
#endif
#if JVET_AI0281_CABAC_RETRAIN
#if JVET_AK0135_CABAC_RETRAIN
#include "Contexts_ecm16.0.inl"
#elif JVET_AI0281_CABAC_RETRAIN
#include "Contexts_ecm14.0.inl"
#elif JVET_AH0176_LOW_DELAY_B_CTX
#include "Contexts_ecm13.inl"
......
......@@ -543,6 +543,12 @@ public:
#if JVET_AJ0249_NEURAL_NETWORK_BASED
static const CtxSet PnnLuminanceFlag;
#endif
#if JVET_AK0097_LAST_POS_SIGNALING
static const CtxSet lastXSecondaryPrefix;
static const CtxSet lastYSecondaryPrefix;
static const CtxSet lastXSuffix[3];
static const CtxSet lastYSuffix[3];
#endif
#if JVET_V0130_INTRA_TMP
static const CtxSet TmpFlag;
#if JVET_AD0086_ENHANCED_INTRA_TMP
......@@ -574,6 +580,9 @@ public:
#if JVET_AJ0274_REGRESSION_GPM_TM
static const CtxSet GeoBlendTMFlag;
#endif
#if JVET_AK0101_REGRESSION_GPM_INTRA
static const CtxSet GeoBlendIntraFlag;
#endif
#endif
#if JVET_W0097_GPM_MMVD_TM
static const CtxSet GeoMmvdFlag;
......@@ -716,6 +725,9 @@ public:
static const CtxSet TransformSkipFlag;
static const CtxSet MTSIdx;
static const CtxSet LFNSTIdx;
#if AHG7_LN_TOOLOFF_CFG
static const CtxSet VvcLFNSTIdx;
#endif
#if JVET_AG0061_INTER_LFNST_NSPT
static const CtxSet InterLFNSTIdx;
#endif
......@@ -752,6 +764,9 @@ public:
static const CtxSet TimdFlagSad;
#endif
#endif
#if JVET_AK0059_MDIP
static const CtxSet MdipFlag;
#endif
#if JVET_AB0155_SGPM
static const CtxSet SgpmFlag;
#endif
......@@ -826,6 +841,9 @@ public:
#endif
#if JVET_AH0066_JVET_AH0202_CCP_MERGE_LUMACBF0
static const CtxSet InterCcpMergeZeroRootCbfIdc;
#endif
#if JVET_AK0065_TALF
static const CtxSet TAlfFilterControlFlag;
#endif
static const unsigned NumberOfContexts;
......
This diff is collapsed.
......@@ -2698,11 +2698,19 @@ const CtxSet &ctxSetGt4 = isLfnst ? Ctx::GtxFlagL[6 + chType] : Ctx::GtxFlag[6 +
}
else
{
#if AHG7_LN_TOOLOFF_CFG
firstTestPos = PU::getLFNSTMatrixDim( width, height, tu.cu->cs->sps->getUseLFNSTExt() ) - 1;
#else
firstTestPos = PU::getLFNSTMatrixDim(width, height) - 1;
#endif
}
#else
#if AHG7_LN_TOOLOFF_CFG
firstTestPos = PU::getLFNSTMatrixDim( width, height, tu.cu->cs->sps->getUseLFNSTExt() ) - 1;
#else
firstTestPos = PU::getLFNSTMatrixDim(width, height) - 1;
#endif
#endif
#else
#if JVET_AC0130_NSPT
#if JVET_AH0103_LOW_DELAY_LFNST_NSPT
......
......@@ -475,7 +475,7 @@ int IbcHashMap::calHashBlkMatchPerc(const Area& lumaArea)
{
unsigned int hash = it->first;
int usage = (int)it->second.size();
assert(usage == m_hash2Pos[hash].size());
CHECKD(usage != m_hash2Pos[hash].size(), "");
int insertPos = -1;
for (insertPos = 0; insertPos < numExcludedHashValue; insertPos++)
......@@ -485,7 +485,8 @@ int IbcHashMap::calHashBlkMatchPerc(const Area& lumaArea)
break;
}
}
assert(insertPos <= numExcludedHashValue);
CHECKD(insertPos > numExcludedHashValue, "");
if (insertPos < numExcludedHashValue)
{
......
This diff is collapsed.
This diff is collapsed.
......@@ -146,6 +146,12 @@ private:
static const TFilterCoeff m_lumaIntraFilterExt[CHROMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS << 1][6]; ///< Chroma filter 6 taps
#endif
#endif
#if JVET_AK0087_INTRA_8TAP
static const TFilterCoeff m_lumaIntra8tapNonSmoothingFilter[CHROMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS][8];
#if JVET_W0123_TIMD_FUSION
static const TFilterCoeff m_lumaIntra8tapNonSmoothingFilterExt[CHROMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS << 1][8];
#endif
#endif
#if JVET_W0123_TIMD_FUSION
#if JVET_Z0117_CHROMA_IF
static const TFilterCoeff g_aiExtIntraCubicFilter[CHROMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS << 1][4]; ///< Chroma filter taps
......@@ -217,6 +223,10 @@ public:
static void xWeightAffineBlk(const PredictionUnit& pu, WeightBuf& bufWeight, const int log2WeightBase, AffineBlendingModel& blendModel);
void weightAffineBlk(const PredictionUnit& pu, WeightBuf& bufWeight, const int log2WeightBase, AffineBlendingModel& blendModel);
#endif
#if JVET_AK0212_GPM_OBMC_MODIFICATION
static void xWeightObmcBoundary(Pel* dst, Pel* src, const int dstStride, const int srcStride, const int width, const int height, const int dir, const ComponentID compID, const int blendMode, const bool subMotion);
static void xWeightObmcInnerBoundary(const ComponentID comp, Pel* pOrgDst, Pel* pOrgSrc1, Pel* pOrgSrc2, Pel* pOrgSrc3, Pel* pOrgSrc4, const int dstStride, const int srcStride, const int width, const int height, bool isAboveAvail, bool isLeftAvail, bool isBelowAvail, bool isRightAvail);
#endif
protected:
#if JVET_J0090_MEMORY_BANDWITH_MEASURE
static CacheModel* m_cacheModel;
......@@ -289,6 +299,10 @@ public:
const int templateHeight, const ComponentID compIdx, const uint8_t splitDir,
PelBuf &adBuf);
#endif
#if JVET_AK0212_GPM_OBMC_MODIFICATION
void (*m_weightObmcBoundary)(Pel* dst, Pel* src, const int dstStride, const int srcStride, const int width, const int height, const int dir, const ComponentID compID, const int blendMode, const bool subMotion);
void (*m_weightObmcInnerBoundary)(const ComponentID comp, Pel* pOrgDst, Pel* pOrgSrc1, Pel* pOrgSrc2, Pel* pOrgSrc3, Pel* pOrgSrc4, const int dstStride, const int srcStride, const int width, const int height, bool isAboveAvail, bool isLeftAvail, bool isBelowAvail, bool isRightAvail);
#endif
void initInterpolationFilter( bool enable );
#ifdef TARGET_SIMD_X86
......@@ -330,6 +344,12 @@ public:
static TFilterCoeff const * const getExtIntraCubicFilter(const int deltaFract) { return g_aiExtIntraCubicFilter[deltaFract]; };
static TFilterCoeff const * const getExtIntraGaussFilter(const int deltaFract) { return g_aiExtIntraGaussFilter[deltaFract]; };
#endif
#if JVET_AK0087_INTRA_8TAP
static TFilterCoeff const* const getIntra8tapCubicFilter(const int deltaFract) { return m_lumaIntra8tapNonSmoothingFilter[deltaFract]; };
#if JVET_W0123_TIMD_FUSION
static TFilterCoeff const* const getExtIntra8tapCubicFilter(const int deltaFract) { return m_lumaIntra8tapNonSmoothingFilterExt[deltaFract]; };
#endif
#endif
};
//! \}
......
This diff is collapsed.
This diff is collapsed.
......@@ -704,8 +704,16 @@ void IntraPredictionNN::predictPnn(PelBuf& pDst, const CPelBuf& srcBuf, const in
{
isPredictionRun = false;
}
#if !JVET_AK0118_BF_FOR_INTRA_PRED
pDst.copyFrom(predictedBuf);
#endif
}
#if JVET_AK0118_BF_FOR_INTRA_PRED
Pel* IntraPredictionNN::getNnIntraPredPtr ()
{
return m_predModel->m_predicted;
}
#endif
bool IntraPredictionNN::decideShapeHandledPnn(const uint32_t height, const uint32_t width)
{
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.