* WelsFreeStaticMemory * Free memory introduced in WelsInitStaticMemory at destruction of decoder. * */
| 778 | * |
| 779 | */ |
| 780 | void 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 |
no test coverage detected