shithub: openh264

Download patch

ref: 8c7ef9c1a7ccb304286d77bd7b571b780eb6cc8e
parent: 2b59746c68ba3810154ef1ac4d8d9ce3a1b0246e
author: karina li <ruil2@cisco.com>
date: Tue Sep 1 12:46:59 EDT 2015

use individual iDecompositionStages for each spatial layer

--- a/codec/encoder/core/src/encoder_ext.cpp
+++ b/codec/encoder/core/src/encoder_ext.cpp
@@ -3857,7 +3857,7 @@
   while (iSpatialIdx < iSpatialNum) {
     const int32_t iDidIdx       = (pSpatialIndexMap + iSpatialIdx)->iDid;       // get iDid
     SSpatialLayerConfig* pParam = &pSvcParam->sSpatialLayers[iDidIdx];
-
+    int32_t  iDecompositionStages = pSvcParam->sDependencyLayers[iSpatialIdx].iDecompositionStages;
     pCtx->uiDependencyId        = iCurDid = (int8_t)iDidIdx;
     pCtx->pVpp->AnalyzeSpatialPic (pCtx, iDidIdx);
 
@@ -3915,9 +3915,9 @@
     }
     if (iCurTid == 0 || pCtx->eSliceType == I_SLICE)
       eNalRefIdc = NRI_PRI_HIGHEST;
-    else if (iCurTid == pSvcParam->iDecompStages)
+    else if (iCurTid == iDecompositionStages)
       eNalRefIdc = NRI_PRI_LOWEST;
-    else if (1 + iCurTid == pSvcParam->iDecompStages)
+    else if (1 + iCurTid == iDecompositionStages)
       eNalRefIdc = NRI_PRI_LOW;
     else // more details for other temporal layers?
       eNalRefIdc = NRI_PRI_HIGHEST;