MCPcopy Create free account
hub / github.com/cisco/openh264 / AllocMbCacheAligned

Function AllocMbCacheAligned

codec/encoder/core/src/svc_encode_slice.cpp:772–794  ·  view source on GitHub ↗

Allocate slice's MB cache buffer

Source from the content-addressed store, hash-verified

770
771//Allocate slice's MB cache buffer
772int32_t AllocMbCacheAligned (SMbCache* pMbCache, CMemoryAlign* pMa) {
773 pMbCache->pMemPredMb = (uint8_t*)pMa->WelsMallocz (2 * 256 * sizeof (uint8_t), "pMbCache->pMemPredMb");
774 WELS_VERIFY_RETURN_IF (1, (NULL == pMbCache->pMemPredMb));
775
776 pMbCache->pCoeffLevel = (int16_t*)pMa->WelsMallocz (MB_COEFF_LIST_SIZE * sizeof (int16_t), "pMbCache->pCoeffLevel");
777 WELS_VERIFY_RETURN_IF (1, (NULL == pMbCache->pCoeffLevel));
778 pMbCache->pSkipMb = (uint8_t*)pMa->WelsMallocz (384 * sizeof (uint8_t), "pMbCache->pSkipMb");
779 WELS_VERIFY_RETURN_IF (1, (NULL == pMbCache->pSkipMb));
780 pMbCache->pMemPredBlk4 = (uint8_t*)pMa->WelsMallocz (2 * 16 * sizeof (uint8_t), "pMbCache->pMemPredBlk4");
781 WELS_VERIFY_RETURN_IF (1, (NULL == pMbCache->pMemPredBlk4));
782 pMbCache->pBufferInterPredMe = (uint8_t*)pMa->WelsMallocz (4 * 640 * sizeof (uint8_t), "pMbCache->pBufferInterPredMe");
783 WELS_VERIFY_RETURN_IF (1, (NULL == pMbCache->pBufferInterPredMe));
784 pMbCache->pPrevIntra4x4PredModeFlag = (bool*)pMa->WelsMallocz (16 * sizeof (bool),
785 "pMbCache->pPrevIntra4x4PredModeFlag");
786 WELS_VERIFY_RETURN_IF (1, (NULL == pMbCache->pPrevIntra4x4PredModeFlag));
787 pMbCache->pRemIntra4x4PredModeFlag = (int8_t*)pMa->WelsMallocz (16 * sizeof (int8_t),
788 "pMbCache->pRemIntra4x4PredModeFlag");
789 WELS_VERIFY_RETURN_IF (1, (NULL == pMbCache->pRemIntra4x4PredModeFlag));
790 pMbCache->pDct = (SDCTCoeff*)pMa->WelsMallocz (sizeof (SDCTCoeff), "pMbCache->pDct");
791 WELS_VERIFY_RETURN_IF (1, (NULL == pMbCache->pDct));
792
793 return 0;
794}
795
796// Free slice's MB cache buffer
797void FreeMbCache (SMbCache* pMbCache, CMemoryAlign* pMa) {

Callers 1

AllocateSliceMBBufferFunction · 0.85

Calls 1

WelsMalloczMethod · 0.80

Tested by

no test coverage detected