Showing the changes to codec/decoder (3 of 3 files). Show all
Unified · Split
| @@ -145,8 +145,8 @@ int32_t DecodeBinCabac (PWelsCabacDecEngine pDecEngine, PWelsCabacCtx pBinCtx, u · 144 unmodified lines | ||
| 145 | 145 | int32_t iRenorm = 1; |
| 146 | 146 | uint32_t uiRangeLPS = g_kuiCabacRangeLps[uiState][ (uiRange >> 6) & 0x03]; |
| 147 | 147 | uiRange -= uiRangeLPS; |
| 148 | − if (uiOffset >= (uiRange << (uint32_t)pDecEngine->iBitsLeft)) { //LPS | |
| 149 | − uiOffset -= (uiRange << (uint32_t)pDecEngine->iBitsLeft); | |
| 148 | + if (uiOffset >= (uiRange << pDecEngine->iBitsLeft)) { //LPS | |
| 149 | + uiOffset -= (uiRange << pDecEngine->iBitsLeft); | |
| 150 | 150 | uiBinVal ^= 0x0001; |
| 151 | 151 | if (!uiState) |
| 152 | 152 | pBinCtx->uiMPS ^= 0x01; |
| @@ -504,7 +504,7 @@ int32_t PredMvBDirectSpatial (PWelsDecoderContext pCtx, int16_t iMvp[LIST_A][2], · 503 unmodified lines | ||
| 504 | 504 | iDiagonalRef[listIdx] = iRightTopRef[listIdx]; |
| 505 | 505 | if (REF_NOT_AVAIL == iDiagonalRef[listIdx]) { |
| 506 | 506 | iDiagonalRef[listIdx] = iLeftTopRef[listIdx]; |
| 507 | − * (int32_t*)iMvC[listIdx] = * (int32_t*)iMvD[listIdx]; | |
| 507 | + ST32 (iMvC[listIdx], LD32 (iMvD[listIdx])); | |
| 508 | 508 | } |
| 509 | 509 | |
| 510 | 510 | int8_t ref_temp = WELS_MIN_POSITIVE (iTopRef[listIdx], iDiagonalRef[listIdx]); |
| @@ -80,7 +80,7 @@ static uint32_t DecodeCabacIntraMbType (PWelsDecoderContext pCtx, PWelsNeighAvai · 79 unmodified lines | ||
| 80 | 80 | return 0; /* I4x4 */ |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | − DecodeTerminateCabac (pCabacDecEngine, uiCode); | |
| 83 | + WELS_READ_VERIFY (DecodeTerminateCabac (pCabacDecEngine, uiCode)); | |
| 84 | 84 | if (uiCode) { |
| 85 | 85 | return 25; /* PCM */ |
| 86 | 86 | } |