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

Function WriteReferenceReorder

codec/encoder/core/src/svc_encode_slice.cpp:215–236  ·  view source on GitHub ↗

! * \brief write reference picture list on reordering syntax in Slice header */

Source from the content-addressed store, hash-verified

213* \brief write reference picture list on reordering syntax in Slice header
214*/
215void WriteReferenceReorder (SBitStringAux* pBs, SSliceHeader* sSliceHeader) {
216 SRefPicListReorderSyntax* pRefOrdering = &sSliceHeader->sRefReordering;
217 uint8_t eSliceType = sSliceHeader->eSliceType % 5;
218 int16_t n = 0;
219
220 if (I_SLICE != eSliceType && SI_SLICE != eSliceType) { // !I && !SI
221 BsWriteOneBit (pBs, true);
222// {
223 uint16_t uiReorderingOfPicNumsIdc;
224 do {
225 uiReorderingOfPicNumsIdc = pRefOrdering->SReorderingSyntax[n].uiReorderingOfPicNumsIdc;
226 BsWriteUE (pBs, uiReorderingOfPicNumsIdc);
227 if (0 == uiReorderingOfPicNumsIdc || 1 == uiReorderingOfPicNumsIdc)
228 BsWriteUE (pBs, pRefOrdering->SReorderingSyntax[n].uiAbsDiffPicNumMinus1);
229 else if (2 == uiReorderingOfPicNumsIdc)
230 BsWriteUE (pBs, pRefOrdering->SReorderingSyntax[n].iLongTermPicNum);
231
232 n ++;
233 } while (3 != uiReorderingOfPicNumsIdc);
234// }
235 }
236}
237
238/*!
239* \brief write reference picture marking syntax in pSlice header

Callers 2

WelsSliceHeaderWriteFunction · 0.85
WelsSliceHeaderExtWriteFunction · 0.85

Calls 2

BsWriteOneBitFunction · 0.85
BsWriteUEFunction · 0.85

Tested by

no test coverage detected