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/slice_multi_threading.cpp (1 of 5 files). Show all

Unified · Split

codec/encoder/core/src/slice_multi_threading.cpp+2−19
@@ -753,7 +753,6 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 752 unmodified lines
753 if (WELS_THREAD_ERROR_WAIT_OBJECT_0 == iWaitRet) { // start pSlice coding signal waited753 if (WELS_THREAD_ERROR_WAIT_OBJECT_0 == iWaitRet) { // start pSlice coding signal waited
754 SLayerBSInfo* pLbi = pPrivateData->pLayerBs;754 SLayerBSInfo* pLbi = pPrivateData->pLayerBs;
755 const int32_t kiCurDid = pEncPEncCtx->uiDependencyId;755 const int32_t kiCurDid = pEncPEncCtx->uiDependencyId;
756 const int32_t kiCurTid = pEncPEncCtx->uiTemporalId;
757 SWelsSvcCodingParam* pCodingParam = pEncPEncCtx->pSvcParam;756 SWelsSvcCodingParam* pCodingParam = pEncPEncCtx->pSvcParam;
758 SSpatialLayerConfig* pParamD = &pCodingParam->sSpatialLayers[kiCurDid];757 SSpatialLayerConfig* pParamD = &pCodingParam->sSpatialLayers[kiCurDid];
759 758
@@ -829,15 +828,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 69 unmodified lines
829 }828 }
830 }829 }
831 830
832 if (pCurDq->bDeblockingParallelFlag && pSlice->sSliceHeaderExt.sSliceHeader.uiDisableDeblockingFilterIdc != 1831 pEncPEncCtx->pFuncList->pfDeblocking.pfDeblockingFilterSlice (pCurDq, pEncPEncCtx->pFuncList, iSliceIdx);
833#if !defined(ENABLE_FRAME_DUMP)
834 && (eNalRefIdc != NRI_PRI_LOWEST) &&
835 (pCodingParam->sDependencyLayers[kiCurDid].iHighestTemporalId == 0
836 || kiCurTid < pCodingParam->sDependencyLayers[kiCurDid].iHighestTemporalId)
837#endif// !ENABLE_FRAME_DUMP
838 ) {
839 DeblockingFilterSliceAvcbase (pCurDq, pEncPEncCtx->pFuncList, iSliceIdx);
840 }
841 832
842 if (bDsaFlag) {833 if (bDsaFlag) {
843 pEncPEncCtx->pSliceThreading->pSliceConsumeTime[pEncPEncCtx->uiDependencyId][iSliceIdx] = (uint32_t) (834 pEncPEncCtx->pSliceThreading->pSliceConsumeTime[pEncPEncCtx->uiDependencyId][iSliceIdx] = (uint32_t) (
@@ -947,15 +938,7 @@ WELS_THREAD_ROUTINE_TYPE CodingSliceThreadProc (void* arg) { · 103 unmodified lines
947 }938 }
948 }939 }
949 940
950 if (pCurDq->bDeblockingParallelFlag && pSlice->sSliceHeaderExt.sSliceHeader.uiDisableDeblockingFilterIdc != 1941 pEncPEncCtx->pFuncList->pfDeblocking.pfDeblockingFilterSlice (pCurDq, pEncPEncCtx->pFuncList, iSliceIdx);
951#if !defined(ENABLE_FRAME_DUMP)
952 && (eNalRefIdc != NRI_PRI_LOWEST) &&
953 (pCodingParam->sDependencyLayers[kiCurDid].iHighestTemporalId == 0
954 || kiCurTid < pCodingParam->sDependencyLayers[kiCurDid].iHighestTemporalId)
955#endif// !ENABLE_FRAME_DUMP
956 ) {
957 DeblockingFilterSliceAvcbase (pCurDq, pEncPEncCtx->pFuncList, iSliceIdx);
958 }
959 942
960#if defined(SLICE_INFO_OUTPUT)943#if defined(SLICE_INFO_OUTPUT)
961 fprintf (stderr,944 fprintf (stderr,

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