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

Function WelsWriteSubsetSpsSyntax

codec/encoder/core/src/au_set.cpp:358–391  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

356 */
357
358int32_t WelsWriteSubsetSpsSyntax (SSubsetSps* pSubsetSps, SBitStringAux* pBitStringAux , int32_t* pSpsIdDelta) {
359 SWelsSPS* pSps = &pSubsetSps->pSps;
360
361 WelsWriteSpsSyntax (pSps, pBitStringAux, pSpsIdDelta, false);
362
363 if (pSps->uiProfileIdc == PRO_SCALABLE_BASELINE || pSps->uiProfileIdc == PRO_SCALABLE_HIGH) {
364 SSpsSvcExt* pSubsetSpsExt = &pSubsetSps->sSpsSvcExt;
365
366 BsWriteOneBit (pBitStringAux, true/*pSubsetSpsExt->bInterLayerDeblockingFilterCtrlPresentFlag*/);
367 BsWriteBits (pBitStringAux, 2, pSubsetSpsExt->iExtendedSpatialScalability);
368 BsWriteOneBit (pBitStringAux, 0/*pSubsetSpsExt->uiChromaPhaseXPlus1Flag*/);
369 BsWriteBits (pBitStringAux, 2, 1/*pSubsetSpsExt->uiChromaPhaseYPlus1*/);
370 if (pSubsetSpsExt->iExtendedSpatialScalability == 1) {
371 BsWriteOneBit (pBitStringAux, 0/*pSubsetSpsExt->uiSeqRefLayerChromaPhaseXPlus1Flag*/);
372 BsWriteBits (pBitStringAux, 2, 1/*pSubsetSpsExt->uiSeqRefLayerChromaPhaseYPlus1*/);
373 BsWriteSE (pBitStringAux, 0/*pSubsetSpsExt->sSeqScaledRefLayer.left_offset*/);
374 BsWriteSE (pBitStringAux, 0/*pSubsetSpsExt->sSeqScaledRefLayer.top_offset*/);
375 BsWriteSE (pBitStringAux, 0/*pSubsetSpsExt->sSeqScaledRefLayer.right_offset*/);
376 BsWriteSE (pBitStringAux, 0/*pSubsetSpsExt->sSeqScaledRefLayer.bottom_offset*/);
377 }
378 BsWriteOneBit (pBitStringAux, pSubsetSpsExt->bSeqTcoeffLevelPredFlag);
379 if (pSubsetSpsExt->bSeqTcoeffLevelPredFlag) {
380 BsWriteOneBit (pBitStringAux, pSubsetSpsExt->bAdaptiveTcoeffLevelPredFlag);
381 }
382 BsWriteOneBit (pBitStringAux, pSubsetSpsExt->bSliceHeaderRestrictionFlag);
383
384 BsWriteOneBit (pBitStringAux, false/*pSubsetSps->bSvcVuiParamPresentFlag*/);
385 }
386 BsWriteOneBit (pBitStringAux, false/*pSubsetSps->bAdditionalExtension2Flag*/);
387
388 BsRbspTrailingBits (pBitStringAux);
389
390 return 0;
391}
392
393/*!
394 *************************************************************************************

Callers 1

WelsWriteParameterSetsFunction · 0.85

Calls 5

WelsWriteSpsSyntaxFunction · 0.85
BsWriteOneBitFunction · 0.85
BsWriteBitsFunction · 0.85
BsWriteSEFunction · 0.85
BsRbspTrailingBitsFunction · 0.85

Tested by

no test coverage detected