| 267 | } |
| 268 | |
| 269 | bool ToRemainDidNal (const unsigned char* pSrc, EWelsNalUnitType eNalType, int iTarDid) { |
| 270 | uint8_t uiCurByte = *pSrc; |
| 271 | if (IS_NEW_INTRODUCED_SVC_NAL (eNalType)) { |
| 272 | int iDid = (uiCurByte & 0x70) >> 4; |
| 273 | return iDid == iTarDid; |
| 274 | } else if ((IS_VCL_NAL_AVC_BASE (eNalType)) && iTarDid != 0) { |
| 275 | return false; |
| 276 | } else { |
| 277 | return true; |
| 278 | } |
| 279 | } |
| 280 | |
| 281 | void ExtractDidNal (SFrameBSInfo* pBsInfo, int& iSrcLen, std::vector<SLostSim>* p_SLostSim, int iTarDid) { |
| 282 | unsigned char* pDst = new unsigned char[iSrcLen]; |