! * \brief Force reset current Acess Unit Nal list in case error parsing/decoding in current AU * \author * \history 11/16/2009 */
| 1832 | * \history 11/16/2009 |
| 1833 | */ |
| 1834 | void ForceResetCurrentAccessUnit (PAccessUnit pAu) { |
| 1835 | uint32_t uiSucAuIdx = pAu->uiEndPos + 1; |
| 1836 | uint32_t uiCurAuIdx = 0; |
| 1837 | |
| 1838 | // swap the succeeding AU's nal units to the front |
| 1839 | while (uiSucAuIdx < pAu->uiAvailUnitsNum) { |
| 1840 | PNalUnit t = pAu->pNalUnitsList[uiSucAuIdx]; |
| 1841 | pAu->pNalUnitsList[uiSucAuIdx] = pAu->pNalUnitsList[uiCurAuIdx]; |
| 1842 | pAu->pNalUnitsList[uiCurAuIdx] = t; |
| 1843 | ++ uiSucAuIdx; |
| 1844 | ++ uiCurAuIdx; |
| 1845 | } |
| 1846 | |
| 1847 | // Update avail/actual units num accordingly for next AU parsing |
| 1848 | if (pAu->uiAvailUnitsNum > pAu->uiEndPos) |
| 1849 | pAu->uiAvailUnitsNum -= (pAu->uiEndPos + 1); |
| 1850 | else |
| 1851 | pAu->uiAvailUnitsNum = 0; |
| 1852 | pAu->uiActualUnitsNum = 0; |
| 1853 | pAu->uiStartPos = 0; |
| 1854 | pAu->uiEndPos = 0; |
| 1855 | pAu->bCompletedAuFlag = false; |
| 1856 | } |
| 1857 | |
| 1858 | //clear current corrupted NAL from pNalUnitsList |
| 1859 | void ForceClearCurrentNal (PAccessUnit pAu) { |
no outgoing calls
no test coverage detected