History

use func pointer for deblocking to save judgements at each slice

Sijia Chen committed 11 years ago

Commit cae5af51 parent a8ae1345 files · +23 −19Browse files

Showing the changes to codec/encoder/core/src/encoder_ext.cpp (1 of 5 files). Show all

Unified · Split

codec/encoder/core/src/encoder_ext.cpp+14−0
@@ -3071,6 +3071,20 @@ void PreprocessSliceCoding (sWelsEncCtx* pCtx) { · 3070 unmodified lines
30713071 // update some layer dependent variable to save judgements in mb-level
30723072 pCurLayer->bSatdInMdFlag = ((pFuncList->sSampleDealingFuncs.pfMeCost == pFuncList->sSampleDealingFuncs.pfSampleSatd)
30733073 && (pFuncList->sSampleDealingFuncs.pfMdCost == pFuncList->sSampleDealingFuncs.pfSampleSatd));
3074+
3075+ const int32_t kiCurDid = pCtx->uiDependencyId;
3076+ const int32_t kiCurTid = pCtx->uiTemporalId;
3077+ if (pCurLayer->bDeblockingParallelFlag && (pCurLayer->iLoopFilterDisableIdc != 1)
3078+#if !defined(ENABLE_FRAME_DUMP)
3079+ && ( NRI_PRI_LOWEST != pCtx->eNalPriority )
3080+ && (pCtx->pSvcParam->sDependencyLayers[kiCurDid].iHighestTemporalId == 0
3081+ || kiCurTid < pCtx->pSvcParam->sDependencyLayers[kiCurDid].iHighestTemporalId)
3082+#endif// !ENABLE_FRAME_DUMP
3083+ ) {
3084+ pFuncList->pfDeblocking.pfDeblockingFilterSlice = DeblockingFilterSliceAvcbase;
3085+ } else {
3086+ pFuncList->pfDeblocking.pfDeblockingFilterSlice = DeblockingFilterSliceAvcbaseNull;
3087+ }
30743088 }
30753089
30763090 /*!

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t