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

Function WelsFreeStaticMemory

codec/decoder/core/src/decoder_core.cpp:780–823  ·  view source on GitHub ↗

* WelsFreeStaticMemory * Free memory introduced in WelsInitStaticMemory at destruction of decoder. * */

Source from the content-addressed store, hash-verified

778 *
779 */
780void WelsFreeStaticMemory (PWelsDecoderContext pCtx) {
781 if (pCtx == NULL)
782 return;
783
784 CMemoryAlign* pMa = pCtx->pMemAlign;
785
786 MemFreeNalList (&pCtx->pAccessUnitList, pMa);
787
788 if (pCtx->sRawData.pHead) {
789 pMa->WelsFree (pCtx->sRawData.pHead, "pCtx->sRawData->pHead");
790 }
791 pCtx->sRawData.pHead = NULL;
792 pCtx->sRawData.pEnd = NULL;
793 pCtx->sRawData.pStartPos = NULL;
794 pCtx->sRawData.pCurPos = NULL;
795 if (pCtx->pParam->bParseOnly) {
796 if (pCtx->sSavedData.pHead) {
797 pMa->WelsFree (pCtx->sSavedData.pHead, "pCtx->sSavedData->pHead");
798 }
799 pCtx->sSavedData.pHead = NULL;
800 pCtx->sSavedData.pEnd = NULL;
801 pCtx->sSavedData.pStartPos = NULL;
802 pCtx->sSavedData.pCurPos = NULL;
803 if (pCtx->pParserBsInfo) {
804 if (pCtx->pParserBsInfo->pNalLenInByte) {
805 pMa->WelsFree (pCtx->pParserBsInfo->pNalLenInByte, "pCtx->pParserBsInfo->pNalLenInByte");
806 pCtx->pParserBsInfo->pNalLenInByte = NULL;
807 pCtx->iMaxNalNum = 0;
808 }
809 if (pCtx->pParserBsInfo->pDstBuff) {
810 pMa->WelsFree (pCtx->pParserBsInfo->pDstBuff, "pCtx->pParserBsInfo->pDstBuff");
811 pCtx->pParserBsInfo->pDstBuff = NULL;
812 }
813 pMa->WelsFree (pCtx->pParserBsInfo, "pCtx->pParserBsInfo");
814 pCtx->pParserBsInfo = NULL;
815 }
816 }
817
818 if (NULL != pCtx->pParam) {
819 pMa->WelsFree (pCtx->pParam, "pCtx->pParam");
820
821 pCtx->pParam = NULL;
822 }
823}
824/*
825 * DecodeNalHeaderExt
826 * Trigger condition: NAL_UNIT_TYPE = NAL_UNIT_PREFIX or NAL_UNIT_CODED_SLICE_EXT

Callers 1

WelsCloseDecoderFunction · 0.85

Calls 2

MemFreeNalListFunction · 0.85
WelsFreeMethod · 0.80

Tested by

no test coverage detected