| 1804 | } |
| 1805 | |
| 1806 | void ResetCurrentAccessUnit (PWelsDecoderContext pCtx) { |
| 1807 | PAccessUnit pCurAu = pCtx->pAccessUnitList; |
| 1808 | pCurAu->uiStartPos = 0; |
| 1809 | pCurAu->uiEndPos = 0; |
| 1810 | pCurAu->bCompletedAuFlag = false; |
| 1811 | if (pCurAu->uiActualUnitsNum > 0) { |
| 1812 | uint32_t iIdx = 0; |
| 1813 | const uint32_t kuiActualNum = pCurAu->uiActualUnitsNum; |
| 1814 | // a more simpler method to do nal units list management prefered here |
| 1815 | const uint32_t kuiAvailNum = pCurAu->uiAvailUnitsNum; |
| 1816 | const uint32_t kuiLeftNum = kuiAvailNum - kuiActualNum; |
| 1817 | |
| 1818 | // Swapping active nal unit nodes of succeeding AU with leading of list |
| 1819 | while (iIdx < kuiLeftNum) { |
| 1820 | PNalUnit t = pCurAu->pNalUnitsList[kuiActualNum + iIdx]; |
| 1821 | pCurAu->pNalUnitsList[kuiActualNum + iIdx] = pCurAu->pNalUnitsList[iIdx]; |
| 1822 | pCurAu->pNalUnitsList[iIdx] = t; |
| 1823 | ++ iIdx; |
| 1824 | } |
| 1825 | pCurAu->uiActualUnitsNum = pCurAu->uiAvailUnitsNum = kuiLeftNum; |
| 1826 | } |
| 1827 | } |
| 1828 | |
| 1829 | /*! |
| 1830 | * \brief Force reset current Acess Unit Nal list in case error parsing/decoding in current AU |
no outgoing calls
no test coverage detected