Showing the changes to codec/decoder (1 of 1 file). Show all
Unified · Split
| @@ -514,6 +514,7 @@ int32_t WelsDecodeMbCabacISliceBaseMode0 (PWelsDecoderContext pCtx, uint32_t& ui · 513 unmodified lines | ||
| 514 | 514 | return ERR_INFO_INVALID_MB_TYPE; |
| 515 | 515 | } else if (25 == uiMbType) { //I_PCM |
| 516 | 516 | WELS_READ_VERIFY (ParseIPCMInfoCabac (pCtx)); |
| 517 | + pSlice->iLastDeltaQp = 0; | |
| 517 | 518 | WELS_READ_VERIFY (ParseEndOfSliceCabac (pCtx, uiEosFlag)); |
| 518 | 519 | if (uiEosFlag) { |
| 519 | 520 | RestoreCabacDecEngineToBS (pCtx->pCabacDecEngine, pCtx->pCurDqLayer->pBitStringAux); |
| @@ -527,6 +528,7 @@ int32_t WelsDecodeMbCabacISliceBaseMode0 (PWelsDecoderContext pCtx, uint32_t& ui · 7 unmodified lines | ||
| 527 | 528 | //get uiCbp for I4x4 |
| 528 | 529 | WELS_READ_VERIFY (ParseCbpInfoCabac (pCtx, &sNeighAvail, uiCbp)); |
| 529 | 530 | pCurLayer->pCbp[iMbXy] = uiCbp; |
| 531 | + pSlice->iLastDeltaQp = uiCbp == 0 ? 0: pSlice->iLastDeltaQp; | |
| 530 | 532 | uiCbpChroma = uiCbp >> 4; |
| 531 | 533 | uiCbpLuma = uiCbp & 15; |
| 532 | 534 | } else { //I16x16; |
| @@ -695,6 +697,7 @@ int32_t WelsDecodeMbCabacPSliceBaseMode0 (PWelsDecoderContext pCtx, PWelsNeighAv · 162 unmodified lines | ||
| 695 | 697 | |
| 696 | 698 | if (25 == uiMbType) { //I_PCM |
| 697 | 699 | WELS_READ_VERIFY (ParseIPCMInfoCabac (pCtx)); |
| 700 | + pSlice->iLastDeltaQp = 0; | |
| 698 | 701 | WELS_READ_VERIFY (ParseEndOfSliceCabac (pCtx, uiEosFlag)); |
| 699 | 702 | if (uiEosFlag) { |
| 700 | 703 | RestoreCabacDecEngineToBS (pCtx->pCabacDecEngine, pCtx->pCurDqLayer->pBitStringAux); |
| @@ -721,6 +724,7 @@ int32_t WelsDecodeMbCabacPSliceBaseMode0 (PWelsDecoderContext pCtx, PWelsNeighAv · 20 unmodified lines | ||
| 721 | 724 | if (MB_TYPE_INTRA16x16 != pCurLayer->pMbType[iMbXy]) { |
| 722 | 725 | WELS_READ_VERIFY (ParseCbpInfoCabac (pCtx, pNeighAvail, uiCbp)); |
| 723 | 726 | pCurLayer->pCbp[iMbXy] = uiCbp; |
| 727 | + pSlice->iLastDeltaQp = uiCbp == 0 ? 0: pSlice->iLastDeltaQp; | |
| 724 | 728 | uiCbpChroma = pCurLayer->pCbp[iMbXy] >> 4; |
| 725 | 729 | uiCbpLuma = pCurLayer->pCbp[iMbXy] & 15; |
| 726 | 730 | } |