History

Don't read an uint8_t array as an uint32_t

This makes the code work properly on big endian. The MC case is similar to how it's done in the encoder. Neither of these should have any significant performance impact.

Martin Storsjö committed 12 years ago

Commit 47ec7881 parent e413ed23 files · +19 −18Browse files

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

Unified · Split

codec/decoder/core/src/deblocking.cpp+7−7
@@ -233,18 +233,18 @@ uint32_t DeblockingBsMarginalMBAvcbase (PDqLayer pCurDqLayer, int32_t iEdge, int · 232 unmodified lines
233 uint32_t uiBSx4;233 uint32_t uiBSx4;
234 //uint8_t* bS = static_cast<uint8_t*>(&uiBSx4);234 //uint8_t* bS = static_cast<uint8_t*>(&uiBSx4);
235 uint8_t* pBS = (uint8_t*) (&uiBSx4);235 uint8_t* pBS = (uint8_t*) (&uiBSx4);
236 uint32_t uiBIdx = * (uint32_t*) (&g_kuiTableBIdx[iEdge][0]);236 const uint8_t *pBIdx = &g_kuiTableBIdx[iEdge][0];
237 uint32_t uiBnIdx = * (uint32_t*) (&g_kuiTableBIdx[iEdge][4]);237 const uint8_t *pBnIdx = &g_kuiTableBIdx[iEdge][4];
238 238
239 for (i = 0; i < 4; i++) {239 for (i = 0; i < 4; i++) {
240 if (pCurDqLayer->pNzc[iMbXy][uiBIdx & 0xff] | pCurDqLayer->pNzc[iNeighMb][uiBnIdx & 0xff]) {240 if (pCurDqLayer->pNzc[iMbXy][*pBIdx] | pCurDqLayer->pNzc[iNeighMb][*pBnIdx]) {
241 pBS[i] = 2;241 pBS[i] = 2;
242 } else {242 } else {
243 pBS[i] = MB_BS_MV (pCurDqLayer->pRefIndex[LIST_0], pCurDqLayer->pMv[LIST_0], iMbXy, iNeighMb, (uiBIdx & 0xff),243 pBS[i] = MB_BS_MV (pCurDqLayer->pRefIndex[LIST_0], pCurDqLayer->pMv[LIST_0], iMbXy, iNeighMb, *pBIdx,
244 (uiBnIdx & 0xff));244 *pBnIdx);
245 }245 }
246 uiBIdx = uiBIdx >> 8;246 pBIdx++;
247 uiBnIdx = uiBnIdx >> 8;247 pBnIdx++;
248 }248 }
249 return uiBSx4;249 return uiBSx4;
250}250}

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