shithub: openh264

Download patch

ref: 777a3951aaf653da34c924fe56f76ca5956cf773
parent: e95d1f16f48570d8ab2fea54384931357f7d094f
parent: 95012b0af6df9168a5184f892d8edc20d2d5f109
author: huili2 <[email protected]>
date: Sat Jun 21 03:02:27 EDT 2014

Merge pull request #995 from huili2/permit_mb_re-con

enable MB re-decoding

--- a/codec/decoder/core/src/decode_slice.cpp
+++ b/codec/decoder/core/src/decode_slice.cpp
@@ -93,7 +93,11 @@
     }
 
     ++iCountNumMb;
-    ++pCtx->iTotalNumMbRec;
+    if (!pCurLayer->pMbCorrectlyDecodedFlag[iNextMbXyIndex]) { //already con-ed, overwrite
+      pCurLayer->pMbCorrectlyDecodedFlag[iNextMbXyIndex] = true;
+      ++pCtx->iTotalNumMbRec;
+    }
+
     if (iCountNumMb >= iTotalNumMb) {
       break;
     }
@@ -394,7 +398,6 @@
     }
 
     ++pSlice->iTotalMbInCurSlice;
-    pCurLayer->pMbCorrectlyDecodedFlag[iNextMbXyIndex] = true;
 
     if (pSliceHeader->pPps->uiNumSliceGroups > 1) {
       iNextMbXyIndex = FmoNextMb (pFmo, iNextMbXyIndex);