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

Function DecodeNalHeaderExt

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

* DecodeNalHeaderExt * Trigger condition: NAL_UNIT_TYPE = NAL_UNIT_PREFIX or NAL_UNIT_CODED_SLICE_EXT * Parameter: * pNal: target NALUnit ptr * pSrc: NAL Unit bitstream */

Source from the content-addressed store, hash-verified

829 * pSrc: NAL Unit bitstream
830 */
831void DecodeNalHeaderExt (PNalUnit pNal, uint8_t* pSrc) {
832 PNalUnitHeaderExt pHeaderExt = &pNal->sNalHeaderExt;
833
834 uint8_t uiCurByte = *pSrc;
835 pHeaderExt->bIdrFlag = !! (uiCurByte & 0x40);
836 pHeaderExt->uiPriorityId = uiCurByte & 0x3F;
837
838 uiCurByte = * (++pSrc);
839 pHeaderExt->iNoInterLayerPredFlag = uiCurByte >> 7;
840 pHeaderExt->uiDependencyId = (uiCurByte & 0x70) >> 4;
841 pHeaderExt->uiQualityId = uiCurByte & 0x0F;
842 uiCurByte = * (++pSrc);
843 pHeaderExt->uiTemporalId = uiCurByte >> 5;
844 pHeaderExt->bUseRefBasePicFlag = !! (uiCurByte & 0x10);
845 pHeaderExt->bDiscardableFlag = !! (uiCurByte & 0x08);
846 pHeaderExt->bOutputFlag = !! (uiCurByte & 0x04);
847 pHeaderExt->uiReservedThree2Bits = uiCurByte & 0x03;
848 pHeaderExt->uiLayerDqId = (pHeaderExt->uiDependencyId << 4) | pHeaderExt->uiQualityId;
849}
850
851
852void UpdateDecoderStatisticsForActiveParaset (SDecoderStatistics* pDecoderStatistics,

Callers 1

ParseNalHeaderFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected