History

fix iAvgLumaQp in decStat

huili2 committed 10 years ago

Commit b2d4a951 parent 76b428a3 files · +18 −7Browse files

Showing the changes to codec/decoder/core/src/decoder.cpp (1 of 3 files). Show all

Unified · Split

codec/decoder/core/src/decoder.cpp+6−1
@@ -1017,10 +1017,15 @@ void UpdateDecStatNoFreezingInfo (PWelsDecoderContext pCtx) { · 1016 unmodified lines
10171017 //update QP info
10181018 int32_t iTotalQp = 0;
10191019 const int32_t kiMbNum = pCurDq->iMbWidth * pCurDq->iMbHeight;
1020+ int32_t iCorrectMbNum = 0;
10201021 for (int32_t iMb = 0; iMb < kiMbNum; ++iMb) {
1022+ iCorrectMbNum += (int32_t) pCurDq->pMbCorrectlyDecodedFlag[iMb];
10211023 iTotalQp += pCurDq->pLumaQp[iMb] * pCurDq->pMbCorrectlyDecodedFlag[iMb];
10221024 }
1023− iTotalQp /= kiMbNum;
1025+ if (iCorrectMbNum == 0) //non MB is correct, should remain QP statistic info
1026+ iTotalQp = pDecStat->iAvgLumaQp;
1027+ else
1028+ iTotalQp /= iCorrectMbNum;
10241029 if (pDecStat->uiDecodedFrameCount + 1 == 0) { //maximum uint32_t reached
10251030 ResetDecStatNums (pDecStat);
10261031 pDecStat->iAvgLumaQp = iTotalQp;

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