shithub: openh264

Download patch

ref: 0c82b4b46f6d5ab92515f555fbe33ad5e62f3f10
parent: 163fe6fe242bc84faae7d92f4d8a4ba486e17b17
parent: 9f0f8b0a684b1f9ed6c42b31abd6b63faa548869
author: ruil2 <[email protected]>
date: Thu Nov 3 05:47:21 EDT 2016

Merge pull request #2588 from shihuade/BugFixed_V1

Bug fixed

--- a/codec/encoder/core/src/encoder_ext.cpp
+++ b/codec/encoder/core/src/encoder_ext.cpp
@@ -4202,7 +4202,7 @@
     if ((pCtx->iActiveThreadsNum > 1) && (MAX_NAL_UNITS_IN_LAYER < pFbi->sLayerInfo[k].iNalCount)) {
       WelsLog (& pCtx->sLogCtx, WELS_LOG_ERROR,
                "WelsEncoderEncodeExt(), iCountNumNals(%d) > MAX_NAL_UNITS_IN_LAYER(%d) under multi-thread(%d) NOT supported!",
-               pFbi->sLayerInfo[k].iNalCount, MAX_NAL_UNITS_IN_LAYER), pCtx->iActiveThreadsNum;
+               pFbi->sLayerInfo[k].iNalCount, MAX_NAL_UNITS_IN_LAYER, pCtx->iActiveThreadsNum);
       return ENC_RETURN_UNEXPECTED;
     }
   }
--- a/codec/encoder/plus/src/welsEncoderExt.cpp
+++ b/codec/encoder/plus/src/welsEncoderExt.cpp
@@ -473,13 +473,16 @@
  *  Force key frame
  */
 int CWelsH264SVCEncoder::ForceIntraFrame (bool bIDR, int iLayerId) {
-  if (! (m_pEncContext && m_bInitialFlag)) {
-    return 1;
-  }
-  //WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
-  //         "CWelsH264SVCEncoder::ForceIntraFrame(), bIDR= %d", bIDR);
+  if ( bIDR ) {
+    if (! (m_pEncContext && m_bInitialFlag)) {
+      return 1;
+    }
 
-  ForceCodingIDR (m_pEncContext, iLayerId);
+    ForceCodingIDR(m_pEncContext, iLayerId);
+  } else {
+    WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO,
+            "CWelsH264SVCEncoder::ForceIntraFrame(),nothing to do as bIDR set to false");
+  }
 
   return 0;
 }