* SVC core encoding */
| 373 | * SVC core encoding |
| 374 | */ |
| 375 | int CWelsH264SVCEncoder::EncodeFrame (const SSourcePicture* kpSrcPic, SFrameBSInfo* pBsInfo) { |
| 376 | if (! (kpSrcPic && m_bInitialFlag && pBsInfo)) { |
| 377 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "CWelsH264SVCEncoder::EncodeFrame(), cmInitParaError."); |
| 378 | return cmInitParaError; |
| 379 | } |
| 380 | if (kpSrcPic->iColorFormat != videoFormatI420) { |
| 381 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "CWelsH264SVCEncoder::EncodeFrame(), wrong iColorFormat %d", |
| 382 | kpSrcPic->iColorFormat); |
| 383 | return cmInitParaError; |
| 384 | } |
| 385 | |
| 386 | const int32_t kiEncoderReturn = EncodeFrameInternal (kpSrcPic, pBsInfo); |
| 387 | |
| 388 | if (kiEncoderReturn != cmResultSuccess) { |
| 389 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_ERROR, "CWelsH264SVCEncoder::EncodeFrame(), kiEncoderReturn %d", |
| 390 | kiEncoderReturn); |
| 391 | return kiEncoderReturn; |
| 392 | } |
| 393 | |
| 394 | #ifdef REC_FRAME_COUNT |
| 395 | ++ m_uiCountFrameNum; |
| 396 | WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, |
| 397 | "CWelsH264SVCEncoder::EncodeFrame(), m_uiCountFrameNum= %d,", m_uiCountFrameNum); |
| 398 | #endif//REC_FRAME_COUNT |
| 399 | |
| 400 | return kiEncoderReturn; |
| 401 | } |
| 402 | |
| 403 | |
| 404 | int CWelsH264SVCEncoder ::EncodeFrameInternal (const SSourcePicture* pSrcPic, SFrameBSInfo* pBsInfo) { |
no test coverage detected