History

remove store_ref_base_pic_flag related codes in reference picture management

Licai Guo committed 12 years ago

Commit 5303eaa1 parent c89a6914 files · +50 −166Browse files

Showing the changes to codec/decoder/core/src/decoder_core.cpp (1 of 4 files). Show all

Unified · Split

codec/decoder/core/src/decoder_core.cpp+6−19
@@ -101,10 +101,8 @@ static inline int32_t DecodeFrameConstruction (PWelsDecoderContext pCtx, uint8_t · 100 unmodified lines
101101 return 0;
102102 }
103103
104−inline bool CheckSliceNeedReconstruct (int16_t iCurDid, int16_t iCurQid, bool bStoreRefBasePicFlag,
105− uint8_t uiDidMax, uint8_t uiLayerDqId, uint8_t uiTargetDqId) {
106− return ((iCurDid == uiDidMax) && (iCurQid == BASE_QUALITY_ID) && (bStoreRefBasePicFlag)) // store base
107− || (uiLayerDqId == uiTargetDqId); // target layer
104+inline bool CheckSliceNeedReconstruct (uint8_t uiLayerDqId, uint8_t uiTargetDqId) {
105+ return (uiLayerDqId == uiTargetDqId); // target layer
108106 }
109107
110108 inline uint8_t GetTargetDqId (uint8_t uiTargetDqId, SDecodingParam* psParam) {
@@ -1863,8 +1861,7 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, int3 · 1752 unmodified lines
18631861 pSh = &pNalCur->sNalData.sVclNal.sSliceHeaderExt.sSliceHeader;
18641862 pShExt = &pNalCur->sNalData.sVclNal.sSliceHeaderExt;
18651863
1866− bReconstructSlice = CheckSliceNeedReconstruct (iCurrIdD, iCurrIdQ, pShExt->bStoreRefBasePicFlag,
1867− kuiDependencyIdMax, pNalCur->sNalHeaderExt.uiLayerDqId, kuiTargetLayerDqId);
1864+ bReconstructSlice = CheckSliceNeedReconstruct (pNalCur->sNalHeaderExt.uiLayerDqId, kuiTargetLayerDqId);
18681865
18691866 memcpy (&pLayerInfo.sNalHeaderExt, &pNalCur->sNalHeaderExt, sizeof (SNalUnitHeaderExt)); //confirmed_safe_unsafe_usage
18701867
@@ -1995,25 +1992,15 @@ int32_t DecodeCurrentAccessUnit (PWelsDecoderContext pCtx, uint8_t** ppDst, int3 · 124 unmodified lines
19951992 #endif
19961993
19971994 }
1998− if ((uiNalRefIdc > 0) && (iCurrIdQ || (!dq_cur->bStoreRefBasePicFlag))) {
1999− WelsMarkAsRef (pCtx, false);
2000− ExpandReferencingPicture (pCtx->pDec, pCtx->sExpandPicFunc.pExpandLumaPicture,
2001− pCtx->sExpandPicFunc.pExpandChromaPicture);
2002− pCtx->pDec = NULL;
2003− }
2004− }
2005−
2006− if ((iCurrIdD == kuiDependencyIdMax) && (iCurrIdQ == BASE_QUALITY_ID) && (dq_cur->bStoreRefBasePicFlag)) {
2007− pStoreBasePic = pCtx->pDec;
2008−
20091995 if (uiNalRefIdc > 0) {
2010− WelsMarkAsRef (pCtx, true);
1996+ WelsMarkAsRef (pCtx);
20111997 ExpandReferencingPicture (pCtx->pDec, pCtx->sExpandPicFunc.pExpandLumaPicture,
20121998 pCtx->sExpandPicFunc.pExpandChromaPicture);
20131999 pCtx->pDec = NULL;
20142000 }
20152001 }
2016− // need update frame_num due current frame is well decoded
2002+
2003+ // need update frame_num due current frame is well decoded
20172004 pCtx->iPrevFrameNum = pSh->iFrameNum;
20182005 if (pCtx->bLastHasMmco5)
20192006 pCtx->iPrevFrameNum = 0;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t