Skip to content
Snippets Groups Projects
Commit 633288ce authored by Frank Bossen's avatar Frank Bossen
Browse files

Apply bug fixes from BMS 2.0.1

parent 39b913ea
No related branches found
Tags VTM-3.0
No related merge requests found
...@@ -710,8 +710,8 @@ void IntraPrediction::xPredIntraAng( const CPelBuf &pSrc, PelBuf &pDst, const Ch ...@@ -710,8 +710,8 @@ void IntraPrediction::xPredIntraAng( const CPelBuf &pSrc, PelBuf &pDst, const Ch
if (wT + wL == 0) break; if (wT + wL == 0) break;
int c = x + y + 1; int c = x + y + 1;
const Pel left = refSide[c + 1]; const Pel left = (wL != 0) ? refSide[c + 1] : 0;
const Pel top = refMain[c + 1]; const Pel top = (wT != 0) ? refMain[c + 1] : 0;
pDsty[x] = ClipPel((wL * left + wT * top + (64 - wL - wT) * pDsty[x] + 32) >> 6, clpRng); pDsty[x] = ClipPel((wL * left + wT * top + (64 - wL - wT) * pDsty[x] + 32) >> 6, clpRng);
} }
......
#if ! defined( NEXT_SOFTWARE_VERSION ) #if ! defined( NEXT_SOFTWARE_VERSION )
#define NEXT_SOFTWARE_VERSION "2.0" #define NEXT_SOFTWARE_VERSION "2.0.1"
#endif #endif
...@@ -2673,7 +2673,11 @@ void InterSearch::xPredAffineInterSearch( PredictionUnit& pu, ...@@ -2673,7 +2673,11 @@ void InterSearch::xPredAffineInterSearch( PredictionUnit& pu,
if ( m_pcEncCfg->getFastMEForGenBLowDelayEnabled() && iRefList == 1 ) // list 1 if ( m_pcEncCfg->getFastMEForGenBLowDelayEnabled() && iRefList == 1 ) // list 1
{ {
#if JVET_K0185_AFFINE_6PARA_ENC
if ( slice.getList1IdxToList0Idx( iRefIdxTemp ) >= 0 && (pu.cu->affineType != AFFINEMODEL_6PARAM || slice.getList1IdxToList0Idx( iRefIdxTemp ) == refIdx4Para[0]) )
#else
if ( slice.getList1IdxToList0Idx( iRefIdxTemp ) >= 0 ) if ( slice.getList1IdxToList0Idx( iRefIdxTemp ) >= 0 )
#endif
{ {
int iList1ToList0Idx = slice.getList1IdxToList0Idx( iRefIdxTemp ); int iList1ToList0Idx = slice.getList1IdxToList0Idx( iRefIdxTemp );
::memcpy( cMvTemp[1][iRefIdxTemp], cMvTemp[0][iList1ToList0Idx], sizeof(Mv)*3 ); ::memcpy( cMvTemp[1][iRefIdxTemp], cMvTemp[0][iList1ToList0Idx], sizeof(Mv)*3 );
...@@ -3337,7 +3341,7 @@ void InterSearch::xAffineMotionEstimation( PredictionUnit& pu, ...@@ -3337,7 +3341,7 @@ void InterSearch::xAffineMotionEstimation( PredictionUnit& pu,
#endif #endif
DTRACE( g_trace_ctx, D_COMMON, " (%d) yy uiBitsBest=%d\n", DTRACE_GET_COUNTER(g_trace_ctx,D_COMMON), uiBitsBest ); DTRACE( g_trace_ctx, D_COMMON, " (%d) yy uiBitsBest=%d\n", DTRACE_GET_COUNTER(g_trace_ctx,D_COMMON), uiBitsBest );
} }
uiCostBest = (uint32_t)( floor( fWeight * (double)uiCostBest ) + (double)m_pcRdCost->getCost( uiBitsBest ) ); uiCostBest = (Distortion)( floor( fWeight * (double)uiCostBest ) + (double)m_pcRdCost->getCost( uiBitsBest ) );
DTRACE( g_trace_ctx, D_COMMON, " (%d) uiBitsBest=%d, uiCostBest=%d\n", DTRACE_GET_COUNTER(g_trace_ctx,D_COMMON), uiBitsBest, uiCostBest ); DTRACE( g_trace_ctx, D_COMMON, " (%d) uiBitsBest=%d, uiCostBest=%d\n", DTRACE_GET_COUNTER(g_trace_ctx,D_COMMON), uiBitsBest, uiCostBest );
...@@ -3649,7 +3653,7 @@ void InterSearch::xAffineMotionEstimation( PredictionUnit& pu, ...@@ -3649,7 +3653,7 @@ void InterSearch::xAffineMotionEstimation( PredictionUnit& pu,
#endif #endif
} }
uiCostTemp = (uint32_t)( floor( fWeight * (double)uiCostTemp ) + (double)m_pcRdCost->getCost( uiBitsTemp ) ); uiCostTemp = (Distortion)( floor( fWeight * (double)uiCostTemp ) + (double)m_pcRdCost->getCost( uiBitsTemp ) );
// store best cost and mv // store best cost and mv
if ( uiCostTemp < uiCostBest ) if ( uiCostTemp < uiCostBest )
......
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