History

format update and fix build issue when turn on STAT_OUTPUT macro

Karina committed 10 years ago

Commit fee9d501 parent 316f7401 file · +94 −92Browse files

Showing the changes to codec/encoder/core/src/encoder_ext.cpp (1 of 1 file). Show all

Unified · Split

codec/encoder/core/src/encoder_ext.cpp+94−92
@@ -2048,7 +2048,8 @@ int32_t RequestMemorySvc (sWelsEncCtx** ppCtx, SExistingParasetList* pExistingPa · 2047 unmodified lines
2048 2048
2049 //End of pVaa memory allocation2049 //End of pVaa memory allocation
2050 2050
2051 (*ppCtx)->ppRefPicListExt = (SRefList**)pMa->WelsMallocz (kiNumDependencyLayers * sizeof (SRefList*), "ppRefPicListExt");2051 (*ppCtx)->ppRefPicListExt = (SRefList**)pMa->WelsMallocz (kiNumDependencyLayers * sizeof (SRefList*),
2052 "ppRefPicListExt");
2052 WELS_VERIFY_RETURN_PROC_IF (1, (NULL == (*ppCtx)->ppRefPicListExt), FreeMemorySvc (ppCtx))2053 WELS_VERIFY_RETURN_PROC_IF (1, (NULL == (*ppCtx)->ppRefPicListExt), FreeMemorySvc (ppCtx))
2053 2054
2054 (*ppCtx)->ppDqLayerList = (SDqLayer**)pMa->WelsMallocz (kiNumDependencyLayers * sizeof (SDqLayer*), "ppDqLayerList");2055 (*ppCtx)->ppDqLayerList = (SDqLayer**)pMa->WelsMallocz (kiNumDependencyLayers * sizeof (SDqLayer*), "ppDqLayerList");
@@ -2290,7 +2291,7 @@ void FreeMemorySvc (sWelsEncCtx** ppCtx) { · 235 unmodified lines
2290 if ((*ppCtx)->pMemAlign != NULL) {2291 if ((*ppCtx)->pMemAlign != NULL) {
2291 WelsLog (& (*ppCtx)->sLogCtx, WELS_LOG_INFO, "FreeMemorySvc(), verify memory usage (%d bytes) after free..",2292 WelsLog (& (*ppCtx)->sLogCtx, WELS_LOG_INFO, "FreeMemorySvc(), verify memory usage (%d bytes) after free..",
2292 (*ppCtx)->pMemAlign->WelsGetMemoryUsage());2293 (*ppCtx)->pMemAlign->WelsGetMemoryUsage());
2293 WELS_DELETE_OP((*ppCtx)->pMemAlign);2294 WELS_DELETE_OP ((*ppCtx)->pMemAlign);
2294 }2295 }
2295 2296
2296 free (*ppCtx);2297 free (*ppCtx);
@@ -2397,6 +2398,87 @@ void OutputCpuFeaturesLog (SLogContext* pLogCtx, uint32_t uiCpuFeatureFlags, uin · 100 unmodified lines
2397 uiCpuCores,2398 uiCpuCores,
2398 iCacheLineSize);2399 iCacheLineSize);
2399}2400}
2401/*
2402 *
2403 * status information output
2404 */
2405#if defined(STAT_OUTPUT)
2406void StatOverallEncodingExt (sWelsEncCtx* pCtx) {
2407 int8_t i = 0;
2408 int8_t j = 0;
2409 for (i = 0; i < pCtx->pSvcParam->iSpatialLayerNum; i++) {
2410 fprintf (stdout, "\nDependency layer : %d\n", i);
2411 fprintf (stdout, "Quality layer : %d\n", j);
2412 {
2413 const int32_t iCount = pCtx->sStatData[i][j].sSliceData.iSliceCount[I_SLICE] +
2414 pCtx->sStatData[i][j].sSliceData.iSliceCount[P_SLICE] +
2415 pCtx->sStatData[i][j].sSliceData.iSliceCount[B_SLICE];
2416#if defined(MB_TYPES_CHECK)
2417 if (iCount > 0) {
2418 int32_t iCountNumIMb = pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][Intra4x4] +
2419 pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][Intra16x16] + pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][7];
2420 int32_t iCountNumPMb = pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Intra4x4] +
2421 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Intra16x16] +
2422 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][7] +
2423 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x16] +
2424 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x8] +
2425 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x16] +
2426 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x8] +
2427 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][10] +
2428 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][PSkip];
2429 int32_t count_p_mbL0 = pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x16] +
2430 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x8] +
2431 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x16] +
2432 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x8] +
2433 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][10];
2434
2435 int32_t iMbCount = iCountNumIMb + iCountNumPMb;
2436 if (iMbCount > 0) {
2437 fprintf (stderr,
2438 "SVC: overall Slices MBs: %d Avg\nI4x4: %.3f%% I16x16: %.3f%% IBL: %.3f%%\nP16x16: %.3f%% P16x8: %.3f%% P8x16: %.3f%% P8x8: %.3f%% SUBP8x8: %.3f%% PSKIP: %.3f%%\nILP(All): %.3f%% ILP(PL0): %.3f%% BLSKIP(PL0): %.3f%% RP(PL0): %.3f%%\n",
2439 iMbCount,
2440 (100.0f * (pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][Intra4x4] +
2441 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Intra4x4]) / iMbCount),
2442 (100.0f * (pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][Intra16x16] +
2443 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Intra16x16]) / iMbCount),
2444 (100.0f * (pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][7] +
2445 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][7]) / iMbCount),
2446 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x16] / iMbCount),
2447 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x8] / iMbCount),
2448 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x16] / iMbCount),
2449 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x8] / iMbCount),
2450 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][10] / iMbCount),
2451 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][PSkip] / iMbCount),
2452 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][11] / iMbCount),
2453 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][11] / count_p_mbL0),
2454 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][8] / count_p_mbL0),
2455 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][9] / count_p_mbL0)
2456 );
2457 }
2458 }
2459#endif //#if defined(MB_TYPES_CHECK)
2460
2461 if (iCount > 0) {
2462 fprintf (stdout, "SVC: overall PSNR Y: %2.3f U: %2.3f V: %2.3f kb/s: %.1f fps: %.3f\n\n",
2463 (pCtx->sStatData[i][j].sQualityStat.rYPsnr[I_SLICE] + pCtx->sStatData[i][j].sQualityStat.rYPsnr[P_SLICE] +
2464 pCtx->sStatData[i][j].sQualityStat.rYPsnr[B_SLICE]) / (float) (iCount),
2465 (pCtx->sStatData[i][j].sQualityStat.rUPsnr[I_SLICE] + pCtx->sStatData[i][j].sQualityStat.rUPsnr[P_SLICE] +
2466 pCtx->sStatData[i][j].sQualityStat.rUPsnr[B_SLICE]) / (float) (iCount),
2467 (pCtx->sStatData[i][j].sQualityStat.rVPsnr[I_SLICE] + pCtx->sStatData[i][j].sQualityStat.rVPsnr[P_SLICE] +
2468 pCtx->sStatData[i][j].sQualityStat.rVPsnr[B_SLICE]) / (float) (iCount),
2469 1.0f * pCtx->pSvcParam->sDependencyLayers[i].fOutputFrameRate * (pCtx->sStatData[i][j].sSliceData.iSliceSize[I_SLICE] +
2470 pCtx->sStatData[i][j].sSliceData.iSliceSize[P_SLICE] + pCtx->sStatData[i][j].sSliceData.iSliceSize[B_SLICE]) / (float) (
2471 iCount + pCtx->pWelsSvcRc[i].iSkipFrameNum) / 1000,
2472 1.0f * pCtx->pSvcParam->sDependencyLayers[i].fOutputFrameRate);
2473
2474 }
2475
2476 }
2477
2478 }
2479}
2480#endif
2481
2400 2482
2401int32_t GetMultipleThreadIdc (SLogContext* pLogCtx, SWelsSvcCodingParam* pCodingParam, int16_t& iSliceNum,2483int32_t GetMultipleThreadIdc (SLogContext* pLogCtx, SWelsSvcCodingParam* pCodingParam, int16_t& iSliceNum,
2402 int32_t& iCacheLineSize, uint32_t& uiCpuFeatureFlags) {2484 int32_t& iCacheLineSize, uint32_t& uiCpuFeatureFlags) {
@@ -2478,7 +2560,7 @@ void WelsUninitEncoderExt (sWelsEncCtx** ppCtx) { · 75 unmodified lines
2478 2560
2479 if ((*ppCtx)->pVpp) {2561 if ((*ppCtx)->pVpp) {
2480 (*ppCtx)->pVpp->FreeSpatialPictures (*ppCtx);2562 (*ppCtx)->pVpp->FreeSpatialPictures (*ppCtx);
2481 WELS_DELETE_OP((*ppCtx)->pVpp);2563 WELS_DELETE_OP ((*ppCtx)->pVpp);
2482 }2564 }
2483 FreeMemorySvc (ppCtx);2565 FreeMemorySvc (ppCtx);
2484 *ppCtx = NULL;2566 *ppCtx = NULL;
@@ -2589,87 +2671,6 @@ int32_t WelsInitEncoderExt (sWelsEncCtx** ppCtx, SWelsSvcCodingParam* pCodingPar · 104 unmodified lines
2589 2671
2590 return 0;2672 return 0;
2591}2673}
2592/*
2593 *
2594 * status information output
2595 */
2596#if defined(STAT_OUTPUT)
2597void StatOverallEncodingExt (sWelsEncCtx* pCtx) {
2598 int8_t i = 0;
2599 int8_t j = 0;
2600 for (i = 0; i < pCtx->pSvcParam->iSpatialLayerNum; i++) {
2601 fprintf (stdout, "\nDependency layer : %d\n", i);
2602 fprintf (stdout, "Quality layer : %d\n", j);
2603 {
2604 const int32_t iCount = pCtx->sStatData[i][j].sSliceData.iSliceCount[I_SLICE] +
2605 pCtx->sStatData[i][j].sSliceData.iSliceCount[P_SLICE] +
2606 pCtx->sStatData[i][j].sSliceData.iSliceCount[B_SLICE];
2607#if defined(MB_TYPES_CHECK)
2608 if (iCount > 0) {
2609 int32_t iCountNumIMb = pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][Intra4x4] +
2610 pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][Intra16x16] + pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][7];
2611 int32_t iCountNumPMb = pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Intra4x4] +
2612 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Intra16x16] +
2613 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][7] +
2614 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x16] +
2615 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x8] +
2616 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x16] +
2617 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x8] +
2618 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][10] +
2619 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][PSkip];
2620 int32_t count_p_mbL0 = pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x16] +
2621 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x8] +
2622 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x16] +
2623 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x8] +
2624 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][10];
2625
2626 int32_t iMbCount = iCountNumIMb + iCountNumPMb;
2627 if (iMbCount > 0) {
2628 fprintf (stderr,
2629 "SVC: overall Slices MBs: %d Avg\nI4x4: %.3f%% I16x16: %.3f%% IBL: %.3f%%\nP16x16: %.3f%% P16x8: %.3f%% P8x16: %.3f%% P8x8: %.3f%% SUBP8x8: %.3f%% PSKIP: %.3f%%\nILP(All): %.3f%% ILP(PL0): %.3f%% BLSKIP(PL0): %.3f%% RP(PL0): %.3f%%\n",
2630 iMbCount,
2631 (100.0f * (pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][Intra4x4] +
2632 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Intra4x4]) / iMbCount),
2633 (100.0f * (pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][Intra16x16] +
2634 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Intra16x16]) / iMbCount),
2635 (100.0f * (pCtx->sStatData[i][j].sSliceData.iMbCount[I_SLICE][7] +
2636 pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][7]) / iMbCount),
2637 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x16] / iMbCount),
2638 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter16x8] / iMbCount),
2639 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x16] / iMbCount),
2640 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][Inter8x8] / iMbCount),
2641 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][10] / iMbCount),
2642 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][PSkip] / iMbCount),
2643 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][11] / iMbCount),
2644 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][11] / count_p_mbL0),
2645 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][8] / count_p_mbL0),
2646 (100.0f * pCtx->sStatData[i][j].sSliceData.iMbCount[P_SLICE][9] / count_p_mbL0)
2647 );
2648 }
2649 }
2650#endif //#if defined(MB_TYPES_CHECK)
2651
2652 if (iCount > 0) {
2653 fprintf (stdout, "SVC: overall PSNR Y: %2.3f U: %2.3f V: %2.3f kb/s: %.1f fps: %.3f\n\n",
2654 (pCtx->sStatData[i][j].sQualityStat.rYPsnr[I_SLICE] + pCtx->sStatData[i][j].sQualityStat.rYPsnr[P_SLICE] +
2655 pCtx->sStatData[i][j].sQualityStat.rYPsnr[B_SLICE]) / (float) (iCount),
2656 (pCtx->sStatData[i][j].sQualityStat.rUPsnr[I_SLICE] + pCtx->sStatData[i][j].sQualityStat.rUPsnr[P_SLICE] +
2657 pCtx->sStatData[i][j].sQualityStat.rUPsnr[B_SLICE]) / (float) (iCount),
2658 (pCtx->sStatData[i][j].sQualityStat.rVPsnr[I_SLICE] + pCtx->sStatData[i][j].sQualityStat.rVPsnr[P_SLICE] +
2659 pCtx->sStatData[i][j].sQualityStat.rVPsnr[B_SLICE]) / (float) (iCount),
2660 1.0f * pCtx->pSvcParam->sDependencyLayers[i].fOutputFrameRate * (pCtx->sStatData[i][j].sSliceData.iSliceSize[I_SLICE] +
2661 pCtx->sStatData[i][j].sSliceData.iSliceSize[P_SLICE] + pCtx->sStatData[i][j].sSliceData.iSliceSize[B_SLICE]) / (float) (
2662 iCount + pCtx->pWelsSvcRc[i].iSkipFrameNum) / 1000,
2663 1.0f * pCtx->pSvcParam->sDependencyLayers[i].fOutputFrameRate);
2664
2665 }
2666
2667 }
2668
2669 }
2670}
2671#endif
2672
2673/*!2674/*!
2674 * \brief get temporal level due to configuration and coding context2675 * \brief get temporal level due to configuration and coding context
2675 */2676 */
@@ -3716,7 +3717,7 @@ void ClearFrameBsInfo (sWelsEncCtx* pCtx, SFrameBSInfo* pFbi) { · 1040 unmodified lines
3716 * \pParam pSrcPic Source Picture3717 * \pParam pSrcPic Source Picture
3717 * \return EFrameType (videoFrameTypeIDR/videoFrameTypeI/videoFrameTypeP)3718 * \return EFrameType (videoFrameTypeIDR/videoFrameTypeI/videoFrameTypeP)
3718 */3719 */
3719int32_t WelsEncoderEncodeExt (sWelsEncCtx* pCtx, SFrameBSInfo* pFbi, const SSourcePicture* pSrcPic ) {3720int32_t WelsEncoderEncodeExt (sWelsEncCtx* pCtx, SFrameBSInfo* pFbi, const SSourcePicture* pSrcPic) {
3720 if (pCtx == NULL) {3721 if (pCtx == NULL) {
3721 return ENC_RETURN_MEMALLOCERR;3722 return ENC_RETURN_MEMALLOCERR;
3722 }3723 }
@@ -3756,7 +3757,8 @@ int32_t WelsEncoderEncodeExt (sWelsEncCtx* pCtx, SFrameBSInfo* pFbi, const SSour · 33 unmodified lines
3756 pCtx->iEncoderError = ENC_RETURN_SUCCESS;3757 pCtx->iEncoderError = ENC_RETURN_SUCCESS;
3757 pCtx->bCurFrameMarkedAsSceneLtr = false;3758 pCtx->bCurFrameMarkedAsSceneLtr = false;
3758 pFbi->iLayerNum = 0; // for initialization3759 pFbi->iLayerNum = 0; // for initialization
3759 pFbi->uiTimeStamp = GetTimestampForRc(pSrcPic->uiTimeStamp, pCtx->uiLastTimestamp, pCtx->pSvcParam->sSpatialLayers[pCtx->pSvcParam->iSpatialLayerNum-1].fFrameRate);3760 pFbi->uiTimeStamp = GetTimestampForRc (pSrcPic->uiTimeStamp, pCtx->uiLastTimestamp,
3761 pCtx->pSvcParam->sSpatialLayers[pCtx->pSvcParam->iSpatialLayerNum - 1].fFrameRate);
3760 for (int32_t iNalIdx = 0; iNalIdx < MAX_LAYER_NUM_OF_FRAME; iNalIdx++) {3762 for (int32_t iNalIdx = 0; iNalIdx < MAX_LAYER_NUM_OF_FRAME; iNalIdx++) {
3761 pFbi->sLayerInfo[iNalIdx].eFrameType = videoFrameTypeSkip;3763 pFbi->sLayerInfo[iNalIdx].eFrameType = videoFrameTypeSkip;
3762 }3764 }
@@ -4784,8 +4786,8 @@ int32_t WelsEncoderApplyLTR (SLogContext* pLogCtx, sWelsEncCtx** ppCtx, SLTRConf · 1021 unmodified lines
4784 return iRet;4786 return iRet;
4785}4787}
4786int32_t FrameBsRealloc (sWelsEncCtx* pCtx,4788int32_t FrameBsRealloc (sWelsEncCtx* pCtx,
4787 SFrameBSInfo* pFrameBsInfo,4789 SFrameBSInfo* pFrameBsInfo,
4788 SLayerBSInfo* pLayerBsInfo) {4790 SLayerBSInfo* pLayerBsInfo) {
4789 CMemoryAlign* pMA = pCtx->pMemAlign;4791 CMemoryAlign* pMA = pCtx->pMemAlign;
4790 SDqLayer* pCurLayer = pCtx->pCurDqLayer;4792 SDqLayer* pCurLayer = pCtx->pCurDqLayer;
4791 4793
@@ -4847,7 +4849,7 @@ int32_t SliceBufferRealloc (sWelsEncCtx* pCtx) { · 55 unmodified lines
4847 SSlice* pSliceIdx = &pSlice[uiSliceIdx];4849 SSlice* pSliceIdx = &pSlice[uiSliceIdx];
4848 const int32_t kiCurDid = pCtx->uiDependencyId;4850 const int32_t kiCurDid = pCtx->uiDependencyId;
4849 const int32_t kiBitsPerMb = WELS_DIV_ROUND (pCtx->pWelsSvcRc[kiCurDid].iTargetBits * INT_MULTIPLY,4851 const int32_t kiBitsPerMb = WELS_DIV_ROUND (pCtx->pWelsSvcRc[kiCurDid].iTargetBits * INT_MULTIPLY,
4850 pCtx->pWelsSvcRc[kiCurDid].iNumberMbFrame);4852 pCtx->pWelsSvcRc[kiCurDid].iNumberMbFrame);
4851 while (uiSliceIdx < iMaxSliceNum) {4853 while (uiSliceIdx < iMaxSliceNum) {
4852 SSliceHeaderExt* pSHExt = &pSliceIdx->sSliceHeaderExt;4854 SSliceHeaderExt* pSHExt = &pSliceIdx->sSliceHeaderExt;
4853 pSliceIdx->uiSliceIdx = uiSliceIdx;4855 pSliceIdx->uiSliceIdx = uiSliceIdx;
@@ -4877,8 +4879,8 @@ int32_t SliceBufferRealloc (sWelsEncCtx* pCtx) { · 23 unmodified lines
4877 pSliceIdx->sSlicingOverRc.iTotalQpSlice = 0;4879 pSliceIdx->sSlicingOverRc.iTotalQpSlice = 0;
4878 pSliceIdx->sSlicingOverRc.iTotalMbSlice = 0;4880 pSliceIdx->sSlicingOverRc.iTotalMbSlice = 0;
4879 pSliceIdx->sSlicingOverRc.iTargetBitsSlice = WELS_DIV_ROUND (kiBitsPerMb *4881 pSliceIdx->sSlicingOverRc.iTargetBitsSlice = WELS_DIV_ROUND (kiBitsPerMb *
4880 pSlice[uiSliceIdx].iCountMbNumInSlice,4882 pSlice[uiSliceIdx].iCountMbNumInSlice,
4881 INT_MULTIPLY);4883 INT_MULTIPLY);
4882 pSliceIdx->sSlicingOverRc.iFrameBitsSlice = 0;4884 pSliceIdx->sSlicingOverRc.iFrameBitsSlice = 0;
4883 pSliceIdx->sSlicingOverRc.iGomBitsSlice = 0;4885 pSliceIdx->sSlicingOverRc.iGomBitsSlice = 0;
4884 4886
@@ -4901,7 +4903,7 @@ int32_t DynSliceRealloc (sWelsEncCtx* pCtx, · 16 unmodified lines
4901 int32_t iRet = 0;4903 int32_t iRet = 0;
4902 4904
4903 iRet = FrameBsRealloc (pCtx, pFrameBsInfo, pLayerBsInfo);4905 iRet = FrameBsRealloc (pCtx, pFrameBsInfo, pLayerBsInfo);
4904 if(ENC_RETURN_SUCCESS != iRet)4906 if (ENC_RETURN_SUCCESS != iRet)
4905 return iRet;4907 return iRet;
4906 4908
4907 iRet = SliceBufferRealloc (pCtx);4909 iRet = SliceBufferRealloc (pCtx);

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