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

Method UpdateSpatialPictures

codec/encoder/core/src/wels_preprocess.cpp:314–339  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

312}
313
314int32_t CWelsPreProcess::UpdateSpatialPictures (sWelsEncCtx* pCtx, SWelsSvcCodingParam* pParam,
315 const int8_t iCurTid, const int32_t kiDidx) {
316 if (pCtx->pSvcParam->iUsageType == SCREEN_CONTENT_REAL_TIME)
317 return 0;
318
319 WelsExchangeSpatialPictures (&m_pLastSpatialPicture[kiDidx][1], &m_pLastSpatialPicture[kiDidx][0]);
320
321 const int32_t kiCurPos = GetCurPicPosition (kiDidx);
322 if (iCurTid < kiCurPos || pParam->iDecompStages == 0) {
323 if ((iCurTid >= MAX_TEMPORAL_LEVEL) || (kiCurPos > MAX_TEMPORAL_LEVEL)) {
324 InitLastSpatialPictures (pCtx);
325 return 1;
326 }
327 if (pCtx->bRefOfCurTidIsLtr[kiDidx][iCurTid]) {
328 const int32_t kiAvailableLtrPos = m_uiSpatialLayersInTemporal[kiDidx] + pCtx->pVaa->uiMarkLongTermPicIdx;
329 WelsExchangeSpatialPictures (&m_pSpatialPic[kiDidx][kiAvailableLtrPos],
330 &m_pSpatialPic[kiDidx][iCurTid]);
331 pCtx->bRefOfCurTidIsLtr[kiDidx][iCurTid] = false;
332 }
333 WelsExchangeSpatialPictures (&m_pSpatialPic[kiDidx][kiCurPos],
334 &m_pSpatialPic[kiDidx][iCurTid]);
335
336
337 }
338 return 0;
339}
340
341
342/*

Callers 1

WelsEncoderEncodeExtFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected