Skip to content

Commit

Permalink
Diable assert in release with -DNDEBUG macro
Browse files Browse the repository at this point in the history
Update the code to avoid the function unused warning
  • Loading branch information
HaiboZhu committed Mar 17, 2016
1 parent a8d9576 commit 43f767d
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 38 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ endif
# Configurations
ifeq ($(BUILDTYPE), Release)
CFLAGS += $(CFLAGS_OPT)
CFLAGS += -DNDEBUG
USE_ASM = Yes
ifeq ($(DEBUGSYMBOLS), True)
CFLAGS += -g
Expand Down
74 changes: 36 additions & 38 deletions codec/encoder/core/src/ref_list_mgr_svc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ static inline void DeleteInvalidLTR (sWelsEncCtx* pCtx) {
SLTRState* pLtr = &pCtx->pLtr[pCtx->uiDependencyId];
int32_t iMaxFrameNumPlus1 = (1 << pCtx->pSps->uiLog2MaxFrameNum);
int32_t i;
SSpatialLayerInternal *pParamInternal = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];
SSpatialLayerInternal* pParamInternal = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];
SLogContext* pLogCtx = & (pCtx->sLogCtx);

for (i = 0; i < LONG_TERM_REF_NUM; i++) {
Expand Down Expand Up @@ -196,7 +196,7 @@ static inline void HandleLTRMarkFeedback (sWelsEncCtx* pCtx) {
SRefList* pRefList = pCtx->ppRefPicListExt[pCtx->uiDependencyId];
SPicture** pLongRefList = pRefList->pLongRefList;
SLTRState* pLtr = &pCtx->pLtr[pCtx->uiDependencyId];
SSpatialLayerInternal *pParamInternal = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];
SSpatialLayerInternal* pParamInternal = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];
int32_t i, j;

if (pLtr->uiLtrMarkState == LTR_MARKING_SUCCESS) {
Expand Down Expand Up @@ -258,7 +258,7 @@ static inline void LTRMarkProcess (sWelsEncCtx* pCtx) {
int32_t i = 0;
int32_t j = 0;
bool bMoveLtrFromShortToLong = false;
SSpatialLayerInternal *pParamInternal = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];
SSpatialLayerInternal* pParamInternal = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];

if (pCtx->eSliceType == I_SLICE) {
i = 0;
Expand Down Expand Up @@ -436,7 +436,7 @@ bool CheckCurMarkFrameNumUsed (sWelsEncCtx* pCtx) {
SPicture** pLongRefList = pRefList->pLongRefList;
int32_t iGoPFrameNumInterval = ((pCtx->pSvcParam->uiGopSize >> 1) > 1) ? (pCtx->pSvcParam->uiGopSize >> 1) : (1);
int32_t iMaxFrameNumPlus1 = (1 << pCtx->pSps->uiLog2MaxFrameNum);
SSpatialLayerInternal *pParamInternal = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];
SSpatialLayerInternal* pParamInternal = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];
int32_t i;

for (i = 0; i < pRefList->uiLongRefCount; i++) {
Expand All @@ -449,8 +449,8 @@ bool CheckCurMarkFrameNumUsed (sWelsEncCtx* pCtx) {

return true;
}
void WlesMarkMMCORefInfo(sWelsEncCtx* pCtx, SLTRState* pLtr,
SSlice* pSliceList, const int32_t kiCountSliceNum) {
void WlesMarkMMCORefInfo (sWelsEncCtx* pCtx, SLTRState* pLtr,
SSlice* pSliceList, const int32_t kiCountSliceNum) {
int32_t iSliceIdx = 0;
int32_t iGoPFrameNumInterval = ((pCtx->pSvcParam->uiGopSize >> 1) > 1) ? (pCtx->pSvcParam->uiGopSize >> 1) : (1);

Expand All @@ -459,7 +459,7 @@ void WlesMarkMMCORefInfo(sWelsEncCtx* pCtx, SLTRState* pLtr,
SSliceHeader* pSliceHdr = &pSliceHdrExt->sSliceHeader;
SRefPicMarking* pRefPicMark = &pSliceHdr->sRefMarking;

memset(pRefPicMark, 0, sizeof(SRefPicMarking));
memset (pRefPicMark, 0, sizeof (SRefPicMarking));

if (pCtx->pSvcParam->bEnableLongTermReference && pLtr->bLTRMarkingFlag) {
if (pLtr->iLTRMarkMode == LTR_DIRECT_MARK) {
Expand All @@ -471,8 +471,7 @@ void WlesMarkMMCORefInfo(sWelsEncCtx* pCtx, SLTRState* pLtr,

pRefPicMark->SMmcoRef[pRefPicMark->uiMmcoCount].iLongTermFrameIdx = pLtr->iCurLtrIdx;
pRefPicMark->SMmcoRef[pRefPicMark->uiMmcoCount++].iMmcoType = MMCO_LONG;
}
else if (pLtr->iLTRMarkMode == LTR_DELAY_MARK) {
} else if (pLtr->iLTRMarkMode == LTR_DELAY_MARK) {
pRefPicMark->SMmcoRef[pRefPicMark->uiMmcoCount].iDiffOfPicNum = iGoPFrameNumInterval;
pRefPicMark->SMmcoRef[pRefPicMark->uiMmcoCount].iLongTermFrameIdx = pLtr->iCurLtrIdx;
pRefPicMark->SMmcoRef[pRefPicMark->uiMmcoCount++].iMmcoType = MMCO_SHORT2LONG;
Expand Down Expand Up @@ -505,11 +504,10 @@ void WelsMarkPic (sWelsEncCtx* pCtx) {
if (pCtx->iActiveThreadsNum > 1) {
//will replace with thread-base pslice buffer later
pSliceList = pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer;
WlesMarkMMCORefInfo(pCtx, pLtr, pSliceList, kiCountSliceNum);
}
else {
WlesMarkMMCORefInfo (pCtx, pLtr, pSliceList, kiCountSliceNum);
} else {
pSliceList = pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer;
WlesMarkMMCORefInfo(pCtx, pLtr, pSliceList, kiCountSliceNum);
WlesMarkMMCORefInfo (pCtx, pLtr, pSliceList, kiCountSliceNum);
}
}

Expand Down Expand Up @@ -643,13 +641,13 @@ static void UpdateBlockStatic (sWelsEncCtx* pCtx) {
}
}

void WelsUpdateSliceHeaderSyntax(sWelsEncCtx* pCtx, const int32_t iAbsDiffPicNumMinus1,
SSlice* pSliceList, const int32_t uiFrameType) {
const int32_t kiCountSliceNum = GetCurrentSliceNum(pCtx->pCurDqLayer);
void WelsUpdateSliceHeaderSyntax (sWelsEncCtx* pCtx, const int32_t iAbsDiffPicNumMinus1,
SSlice* pSliceList, const int32_t uiFrameType) {
const int32_t kiCountSliceNum = GetCurrentSliceNum (pCtx->pCurDqLayer);
SLTRState* pLtr = &pCtx->pLtr[pCtx->uiDependencyId];
int32_t iIdx = 0;

assert(kiCountSliceNum > 0);
assert (kiCountSliceNum > 0);

for (iIdx = 0; iIdx < kiCountSliceNum; iIdx++) {
SSliceHeaderExt* pSliceHdrExt = &pSliceList[iIdx].sSliceHeaderExt;
Expand All @@ -664,8 +662,7 @@ void WelsUpdateSliceHeaderSyntax(sWelsEncCtx* pCtx, const int32_t iAbsDiffPicNu
pRefReorder->SReorderingSyntax[0].uiReorderingOfPicNumsIdc = 0;
pRefReorder->SReorderingSyntax[0].uiAbsDiffPicNumMinus1 = iAbsDiffPicNumMinus1;
pRefReorder->SReorderingSyntax[1].uiReorderingOfPicNumsIdc = 3;
}
else {
} else {
pRefReorder->SReorderingSyntax[0].uiReorderingOfPicNumsIdc = 2;
pRefReorder->SReorderingSyntax[0].iLongTermPicNum = pCtx->pRefList0[0]->iLongTermPicNum;
pRefReorder->SReorderingSyntax[1].uiReorderingOfPicNumsIdc = 3;
Expand All @@ -676,13 +673,12 @@ void WelsUpdateSliceHeaderSyntax(sWelsEncCtx* pCtx, const int32_t iAbsDiffPicNu
if (videoFrameTypeIDR == uiFrameType) {
pRefPicMark->bNoOutputOfPriorPicsFlag = false;
pRefPicMark->bLongTermRefFlag = pCtx->pSvcParam->bEnableLongTermReference;
}
else {
} else {
if (pCtx->pSvcParam->iUsageType == SCREEN_CONTENT_REAL_TIME)
pRefPicMark->bAdaptiveRefPicMarkingModeFlag = pCtx->pSvcParam->bEnableLongTermReference;
else
pRefPicMark->bAdaptiveRefPicMarkingModeFlag = (pCtx->pSvcParam->bEnableLongTermReference
&& pLtr->bLTRMarkingFlag) ? (true) : (false);
&& pLtr->bLTRMarkingFlag) ? (true) : (false);
}
}
}
Expand All @@ -696,25 +692,25 @@ void WelsUpdateRefSyntax (sWelsEncCtx* pCtx, const int32_t iPOC, const int32_t u
SSlice* pSliceList = NULL;
SSpatialLayerInternal* pParamD = &pCtx->pSvcParam->sDependencyLayers[pCtx->uiDependencyId];
/*syntax for ref_pic_list_reordering()*/
if (pCtx->iNumRef0 > 0){
if (pCtx->iNumRef0 > 0) {
iAbsDiffPicNumMinus1 = pParamD->iFrameNum - (pCtx->pRefList0[0]->iFrameNum) - 1;

if (iAbsDiffPicNumMinus1 < 0) {
WelsLog(&(pCtx->sLogCtx), WELS_LOG_INFO, "WelsUpdateRefSyntax():::uiAbsDiffPicNumMinus1:%d", iAbsDiffPicNumMinus1);
iAbsDiffPicNumMinus1 += (1 << (pCtx->pSps->uiLog2MaxFrameNum));
WelsLog(&(pCtx->sLogCtx), WELS_LOG_INFO, "WelsUpdateRefSyntax():::uiAbsDiffPicNumMinus1< 0, update as:%d",
iAbsDiffPicNumMinus1);
}
WelsLog (& (pCtx->sLogCtx), WELS_LOG_INFO, "WelsUpdateRefSyntax():::uiAbsDiffPicNumMinus1:%d", iAbsDiffPicNumMinus1);
iAbsDiffPicNumMinus1 += (1 << (pCtx->pSps->uiLog2MaxFrameNum));
WelsLog (& (pCtx->sLogCtx), WELS_LOG_INFO, "WelsUpdateRefSyntax():::uiAbsDiffPicNumMinus1< 0, update as:%d",
iAbsDiffPicNumMinus1);
}
}

if (pCtx->iActiveThreadsNum >0) {
if (pCtx->iActiveThreadsNum > 0) {
// to do: will replace with thread based buffer later
pSliceList = pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer;
} else {
pSliceList = pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer;
}

WelsUpdateSliceHeaderSyntax(pCtx, iAbsDiffPicNumMinus1,pSliceList, uiFrameType);
WelsUpdateSliceHeaderSyntax (pCtx, iAbsDiffPicNumMinus1, pSliceList, uiFrameType);

}

Expand Down Expand Up @@ -882,16 +878,16 @@ static inline bool IsValidFrameNum (const int32_t kiFrameNum) {
return (kiFrameNum < (1 << 30)); // TODO: use the original judge first, may be improved
}

void WlesMarkMMCORefInfoScreen(sWelsEncCtx* pCtx, SLTRState* pLtr,
SSlice* pSliceList, const int32_t kiCountSliceNum) {
void WlesMarkMMCORefInfoScreen (sWelsEncCtx* pCtx, SLTRState* pLtr,
SSlice* pSliceList, const int32_t kiCountSliceNum) {
const int32_t iMaxLtrIdx = pCtx->pSvcParam->iNumRefFrame - STR_ROOM - 1;

for (int32_t iSliceIdx = 0; iSliceIdx < kiCountSliceNum; iSliceIdx++) {
SSliceHeaderExt* pSliceHdrExt = &pSliceList[iSliceIdx].sSliceHeaderExt;
SSliceHeader* pSliceHdr = &pSliceHdrExt->sSliceHeader;
SRefPicMarking* pRefPicMark = &pSliceHdr->sRefMarking;

memset(pRefPicMark, 0, sizeof(SRefPicMarking));
memset (pRefPicMark, 0, sizeof (SRefPicMarking));
if (pCtx->pSvcParam->bEnableLongTermReference) {
pRefPicMark->SMmcoRef[pRefPicMark->uiMmcoCount].iMaxLongTermFrameIdx = iMaxLtrIdx;
pRefPicMark->SMmcoRef[pRefPicMark->uiMmcoCount++].iMmcoType = MMCO_SET_MAX_LONG;
Expand Down Expand Up @@ -957,7 +953,10 @@ void WelsMarkPicScreen (sWelsEncCtx* pCtx) {
for (i = 0 ; i < pRefList->uiLongRefCount ; ++i) {
if (ppLongRefList[i]->bUsedAsRef && ppLongRefList[i]->bIsLongRef && (!ppLongRefList[i]->bIsSceneLTR)
&& iMaxMultiRefTid == ppLongRefList[i]->uiTemporalId) {
assert (IsValidFrameNum (ppLongRefList[i]->iFrameNum)); // pLtr->iCurLtrIdx must have a value
if (!IsValidFrameNum (ppLongRefList[i]->iFrameNum)) { // pLtr->iCurLtrIdx must have a value
WelsLog (& (pCtx->sLogCtx), WELS_LOG_ERROR, "WelsMarkPicScreen, Invalid Frame Number");
return;
}
int32_t iDeltaFrameNum = (pParamD->iFrameNum >= ppLongRefList[i]->iFrameNum)
? (pParamD->iFrameNum - ppLongRefList[i]->iFrameNum)
: (pParamD->iFrameNum + iMaxFrameNum - ppLongRefList[i]->iFrameNum);
Expand All @@ -978,16 +977,15 @@ void WelsMarkPicScreen (sWelsEncCtx* pCtx) {
}
}

const int32_t iSliceNum = GetCurrentSliceNum(pCtx->pCurDqLayer);
const int32_t iSliceNum = GetCurrentSliceNum (pCtx->pCurDqLayer);

if (pCtx->iActiveThreadsNum > 1) {
// to do: will replace with thread based buffer later
pSliceList = pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer;
}
else {
} else {
pSliceList = pCtx->pCurDqLayer->sLayerInfo.pSliceInLayer;
}
WlesMarkMMCORefInfoScreen(pCtx, pLtr, pSliceList, iSliceNum);
WlesMarkMMCORefInfoScreen (pCtx, pLtr, pSliceList, iSliceNum);

return;
}
Expand Down

0 comments on commit 43f767d

Please sign in to comment.