History

negative data with left shift, use cast or multiplication instead

Licai Guo committed 12 years ago

Commit a8104081 parent 136931c3 files · +7 −6Browse files

Showing the changes to codec/decoder (3 of 3 files). Show all

Unified · Split

3 files
  1. codec/decoder/core/src/decoder_core.cpp +2 −2
  2. codec/decoder/core/src/mc.cpp +1 −1
  3. codec/decoder/core/src/parse_mb_syn_cavlc.cpp +4 −3
codec/decoder/core/src/decoder_core.cpp+2−2
@@ -698,8 +698,8 @@ int32_t ParseSliceHeaderSyntaxs (PWelsDecoderContext pCtx, PBitStringAux pBs, co · 697 unmodified lines
698698 return ERR_INFO_INVALID_DBLOCKING_IDC;
699699 }
700700 if (pSliceHead->uiDisableDeblockingFilterIdc != 1) {
701− pSliceHead->iSliceAlphaC0Offset = BsGetSe (pBs) << 1; // slice_alpha_c0_offset_div2
702− pSliceHead->iSliceBetaOffset = BsGetSe (pBs) << 1; // iSliceBetaOffset
701+ pSliceHead->iSliceAlphaC0Offset = BsGetSe (pBs) * 2; // slice_alpha_c0_offset_div2
702+ pSliceHead->iSliceBetaOffset = BsGetSe (pBs) * 2; // iSliceBetaOffset
703703 }
704704 }
705705
codec/decoder/core/src/mc.cpp+1−1
@@ -138,7 +138,7 @@ static inline int32_t HorFilterInput16bit_c (int16_t* pSrc) { · 137 unmodified lines
138138 int32_t iPix14 = pSrc[-1] + pSrc[2];
139139 int32_t iPix23 = pSrc[ 0] + pSrc[1];
140140
141− return (iPix05 - ((iPix14 << 2) + iPix14) + (iPix23 << 4) + (iPix23 << 2));
141+ return (iPix05 - ((iPix14 * 4) + iPix14) + (iPix23 * 16) + (iPix23 * 4));
142142 }
143143 // h: iOffset=1 / v: iOffset=iSrcStride
144144 static inline int32_t FilterInput8bitWithStride_c (uint8_t* pSrc, const int32_t kiOffset) {
codec/decoder/core/src/parse_mb_syn_cavlc.cpp+4−3
@@ -477,8 +477,8 @@ void BsStartCavlc (PBitStringAux pBs) { · 476 unmodified lines
477477 }
478478 void BsEndCavlc (PBitStringAux pBs) {
479479 pBs->pCurBuf = pBs->pStartBuf + (pBs->iIndex >> 3);
480− pBs->uiCurBits = ((((pBs->pCurBuf[0] << 8) | pBs->pCurBuf[1]) << 16) | (pBs->pCurBuf[2] << 8) | pBs->pCurBuf[3]) <<
481− (pBs->iIndex & 0x07);
480+ uint32_t uiCache32Bit = (uint32_t)((((pBs->pCurBuf[0] << 8) | pBs->pCurBuf[1]) << 16) | (pBs->pCurBuf[2] << 8) | pBs->pCurBuf[3]);
481+ pBs->uiCurBits = uiCache32Bit << (pBs->iIndex & 0x07);
482482 pBs->pCurBuf += 4;
483483 pBs->iLeftBits = -16 + (pBs->iIndex & 0x07);
484484 }
@@ -677,7 +677,8 @@ int32_t WelsResidualBlockCavlc (SVlcTable* pVlcTable, uint8_t* pNonZeroCountCach · 192 unmodified lines
677677 uint8_t bChroma = (bChromaDc || CHROMA_AC == iResidualProperty);
678678 SReadBitsCache sReadBitsCache;
679679
680− sReadBitsCache.uiCache32Bit = ((((pBuf[0] << 8) | pBuf[1]) << 16) | (pBuf[2] << 8) | pBuf[3]) << (iCurIdx & 0x07);
680+ uint32_t uiCache32Bit = (uint32_t)((((pBuf[0] << 8) | pBuf[1]) << 16) | (pBuf[2] << 8) | pBuf[3]);
681+ sReadBitsCache.uiCache32Bit = uiCache32Bit << (iCurIdx & 0x07);
681682 sReadBitsCache.uiRemainBits = 32 - (iCurIdx & 0x07);
682683 sReadBitsCache.pBuf = pBuf;
683684 //////////////////////////////////////////////////////////////////////////

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