History

Merge pull request #256 from mstorsjo/bigendian

Make the library work on big endian

Ethan Hugg committed 12 years ago

Commit fbcd9622 parents 914650a cadbec74 files · +41 −34Browse files

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

Unified · Split

codec/encoder/core/src/deblocking.cpp+15−14
@@ -163,24 +163,24 @@ void inline DeblockingBSInsideMBAvsbase (int8_t* pNnzTab, uint8_t uiBS[2][4][4], · 162 unmodified lines
163 uiNnz32b2 = * (uint32_t*) (pNnzTab + 8);163 uiNnz32b2 = * (uint32_t*) (pNnzTab + 8);
164 uiNnz32b3 = * (uint32_t*) (pNnzTab + 12);164 uiNnz32b3 = * (uint32_t*) (pNnzTab + 12);
165 165
166 * (uint32_t*)uiBsx3 = (uiNnz32b0 | (uiNnz32b0 >> 8)) << iLShiftFactor;166 * (uint32_t*)uiBsx3 = DEBLOCK_BS_SHIFTED (uiNnz32b0) << iLShiftFactor;
167 uiBS[0][1][0] = uiBsx3[0];167 uiBS[0][1][0] = uiBsx3[0];
168 uiBS[0][2][0] = uiBsx3[1];168 uiBS[0][2][0] = uiBsx3[1];
169 uiBS[0][3][0] = uiBsx3[2];169 uiBS[0][3][0] = uiBsx3[2];
170 170
171 * (uint32_t*)uiBsx3 = (uiNnz32b1 | (uiNnz32b1 >> 8)) << iLShiftFactor;171 * (uint32_t*)uiBsx3 = DEBLOCK_BS_SHIFTED (uiNnz32b1) << iLShiftFactor;
172 uiBS[0][1][1] = uiBsx3[0];172 uiBS[0][1][1] = uiBsx3[0];
173 uiBS[0][2][1] = uiBsx3[1];173 uiBS[0][2][1] = uiBsx3[1];
174 uiBS[0][3][1] = uiBsx3[2];174 uiBS[0][3][1] = uiBsx3[2];
175 * (uint32_t*)uiBS[1][1] = (uiNnz32b0 | uiNnz32b1) << iLShiftFactor;175 * (uint32_t*)uiBS[1][1] = (uiNnz32b0 | uiNnz32b1) << iLShiftFactor;
176 176
177 * (uint32_t*)uiBsx3 = (uiNnz32b2 | (uiNnz32b2 >> 8)) << iLShiftFactor;177 * (uint32_t*)uiBsx3 = DEBLOCK_BS_SHIFTED (uiNnz32b2) << iLShiftFactor;
178 uiBS[0][1][2] = uiBsx3[0];178 uiBS[0][1][2] = uiBsx3[0];
179 uiBS[0][2][2] = uiBsx3[1];179 uiBS[0][2][2] = uiBsx3[1];
180 uiBS[0][3][2] = uiBsx3[2];180 uiBS[0][3][2] = uiBsx3[2];
181 * (uint32_t*)uiBS[1][2] = (uiNnz32b1 | uiNnz32b2) << iLShiftFactor;181 * (uint32_t*)uiBS[1][2] = (uiNnz32b1 | uiNnz32b2) << iLShiftFactor;
182 182
183 * (uint32_t*)uiBsx3 = (uiNnz32b3 | (uiNnz32b3 >> 8)) << iLShiftFactor;183 * (uint32_t*)uiBsx3 = DEBLOCK_BS_SHIFTED (uiNnz32b3) << iLShiftFactor;
184 uiBS[0][1][3] = uiBsx3[0];184 uiBS[0][1][3] = uiBsx3[0];
185 uiBS[0][2][3] = uiBsx3[1];185 uiBS[0][2][3] = uiBsx3[1];
186 uiBS[0][3][3] = uiBsx3[2];186 uiBS[0][3][3] = uiBsx3[2];
@@ -197,22 +197,22 @@ void inline DeblockingBSInsideMBNormal (SMB* pCurMb, uint8_t uiBS[2][4][4], int8 · 10 unmodified lines
197 uiNnz32b2 = * (uint32_t*) (pNnzTab + 8);197 uiNnz32b2 = * (uint32_t*) (pNnzTab + 8);
198 uiNnz32b3 = * (uint32_t*) (pNnzTab + 12);198 uiNnz32b3 = * (uint32_t*) (pNnzTab + 12);
199 199
200 * (uint32_t*)uiBsx4 = (uiNnz32b0 | (uiNnz32b0 >> 8));200 * (uint32_t*)uiBsx4 = DEBLOCK_BS_SHIFTED (uiNnz32b0);
201 uiBS[0][1][0] = BS_EDGE (uiBsx4[0], iRefIdx, pCurMb->sMv, 1, 0);201 uiBS[0][1][0] = BS_EDGE (uiBsx4[0], iRefIdx, pCurMb->sMv, 1, 0);
202 uiBS[0][2][0] = BS_EDGE (uiBsx4[1], iRefIdx, pCurMb->sMv, 2, 1);202 uiBS[0][2][0] = BS_EDGE (uiBsx4[1], iRefIdx, pCurMb->sMv, 2, 1);
203 uiBS[0][3][0] = BS_EDGE (uiBsx4[2], iRefIdx, pCurMb->sMv, 3, 2);203 uiBS[0][3][0] = BS_EDGE (uiBsx4[2], iRefIdx, pCurMb->sMv, 3, 2);
204 204
205 * (uint32_t*)uiBsx4 = (uiNnz32b1 | (uiNnz32b1 >> 8));205 * (uint32_t*)uiBsx4 = DEBLOCK_BS_SHIFTED (uiNnz32b1);
206 uiBS[0][1][1] = BS_EDGE (uiBsx4[0], iRefIdx, pCurMb->sMv, 5, 4);206 uiBS[0][1][1] = BS_EDGE (uiBsx4[0], iRefIdx, pCurMb->sMv, 5, 4);
207 uiBS[0][2][1] = BS_EDGE (uiBsx4[1], iRefIdx, pCurMb->sMv, 6, 5);207 uiBS[0][2][1] = BS_EDGE (uiBsx4[1], iRefIdx, pCurMb->sMv, 6, 5);
208 uiBS[0][3][1] = BS_EDGE (uiBsx4[2], iRefIdx, pCurMb->sMv, 7, 6);208 uiBS[0][3][1] = BS_EDGE (uiBsx4[2], iRefIdx, pCurMb->sMv, 7, 6);
209 209
210 * (uint32_t*)uiBsx4 = (uiNnz32b2 | (uiNnz32b2 >> 8));210 * (uint32_t*)uiBsx4 = DEBLOCK_BS_SHIFTED (uiNnz32b2);
211 uiBS[0][1][2] = BS_EDGE (uiBsx4[0], iRefIdx, pCurMb->sMv, 9, 8);211 uiBS[0][1][2] = BS_EDGE (uiBsx4[0], iRefIdx, pCurMb->sMv, 9, 8);
212 uiBS[0][2][2] = BS_EDGE (uiBsx4[1], iRefIdx, pCurMb->sMv, 10, 9);212 uiBS[0][2][2] = BS_EDGE (uiBsx4[1], iRefIdx, pCurMb->sMv, 10, 9);
213 uiBS[0][3][2] = BS_EDGE (uiBsx4[2], iRefIdx, pCurMb->sMv, 11, 10);213 uiBS[0][3][2] = BS_EDGE (uiBsx4[2], iRefIdx, pCurMb->sMv, 11, 10);
214 214
215 * (uint32_t*)uiBsx4 = (uiNnz32b3 | (uiNnz32b3 >> 8));215 * (uint32_t*)uiBsx4 = DEBLOCK_BS_SHIFTED (uiNnz32b3);
216 uiBS[0][1][3] = BS_EDGE (uiBsx4[0], iRefIdx, pCurMb->sMv, 13, 12);216 uiBS[0][1][3] = BS_EDGE (uiBsx4[0], iRefIdx, pCurMb->sMv, 13, 12);
217 uiBS[0][2][3] = BS_EDGE (uiBsx4[1], iRefIdx, pCurMb->sMv, 14, 13);217 uiBS[0][2][3] = BS_EDGE (uiBsx4[1], iRefIdx, pCurMb->sMv, 14, 13);
218 uiBS[0][3][3] = BS_EDGE (uiBsx4[2], iRefIdx, pCurMb->sMv, 15, 14);218 uiBS[0][3][3] = BS_EDGE (uiBsx4[2], iRefIdx, pCurMb->sMv, 15, 14);
@@ -241,21 +241,22 @@ uint32_t DeblockingBSMarginalMBAvcbase (SMB* pCurMb, SMB* pNeighMb, int32_t iEdg · 22 unmodified lines
241 int32_t i;241 int32_t i;
242 uint32_t uiBSx4;242 uint32_t uiBSx4;
243 uint8_t* pBS = (uint8_t*) (&uiBSx4);243 uint8_t* pBS = (uint8_t*) (&uiBSx4);
244 uint32_t uiBIdx = * (uint32_t*) (&g_kuiTableBIdx[iEdge][0]);244 const uint8_t *pBIdx = &g_kuiTableBIdx[iEdge][0];
245 uint32_t uiBnIdx = * (uint32_t*) (&g_kuiTableBIdx[iEdge][4]);245 const uint8_t *pBnIdx = &g_kuiTableBIdx[iEdge][4];
246
246 247
247 for (i = 0; i < 4; i++) {248 for (i = 0; i < 4; i++) {
248 if (pCurMb->pNonZeroCount[uiBIdx & 0xff] | pNeighMb->pNonZeroCount[uiBnIdx & 0xff]) {249 if (pCurMb->pNonZeroCount[*pBIdx] | pNeighMb->pNonZeroCount[*pBnIdx]) {
249 pBS[i] = 2;250 pBS[i] = 2;
250 } else {251 } else {
251 pBS[i] =252 pBS[i] =
252#ifndef SINGLE_REF_FRAME253#ifndef SINGLE_REF_FRAME
253 (pCurMb->uiRefIndex[g_kiTableBlock8x8Idx[1][iEdge][i]] - pNeighMb->uiRefIndex[g_kiTableBlock8x8NIdx[1][iEdge][i]]) ||254 (pCurMb->uiRefIndex[g_kiTableBlock8x8Idx[1][iEdge][i]] - pNeighMb->uiRefIndex[g_kiTableBlock8x8NIdx[1][iEdge][i]]) ||
254#endif255#endif
255 MB_BS_MV (pCurMb->sMv, pNeighMb->sMv, (uiBIdx & 0xff), (uiBnIdx & 0xff));256 MB_BS_MV (pCurMb->sMv, pNeighMb->sMv, *pBIdx, *pBnIdx);
256 }257 }
257 uiBIdx = uiBIdx >> 8;258 pBIdx++;
258 uiBnIdx = uiBnIdx >> 8;259 pBnIdx++;
259 }260 }
260 return uiBSx4;261 return uiBSx4;
261}262}

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