History

Merge pull request #716 from licaiguo/ForJS

Specify accurate align information for mc copy and intrapred c functions

ruil2 committed 12 years ago

Commit c01b0f42 parents 6a43b82 5ba3ead3 files · +138 −101Browse files

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

Unified · Split

2 files
  1. codec/decoder/core/src/get_intra_predictor.cpp +95 −95
  2. codec/decoder/core/src/mc.cpp +6 −6
codec/decoder/core/src/get_intra_predictor.cpp+95−95
@@ -52,12 +52,12 @@ namespace WelsDec { · 51 unmodified lines
52#define I16x16_COUNT 1652#define I16x16_COUNT 16
53 53
54void WelsI4x4LumaPredV_c (uint8_t* pPred, const int32_t kiStride) {54void WelsI4x4LumaPredV_c (uint8_t* pPred, const int32_t kiStride) {
55 const uint32_t kuiVal = LD32 (pPred - kiStride);55 const uint32_t kuiVal = LD32A4 (pPred - kiStride);
56 56
57 ST32 (pPred , kuiVal);57 ST32A4 (pPred , kuiVal);
58 ST32 (pPred + kiStride , kuiVal);58 ST32A4 (pPred + kiStride , kuiVal);
59 ST32 (pPred + (kiStride << 1) , kuiVal);59 ST32A4 (pPred + (kiStride << 1) , kuiVal);
60 ST32 (pPred + (kiStride << 1) + kiStride , kuiVal);60 ST32A4 (pPred + (kiStride << 1) + kiStride , kuiVal);
61}61}
62 62
63void WelsI4x4LumaPredH_c (uint8_t* pPred, const int32_t kiStride) {63void WelsI4x4LumaPredH_c (uint8_t* pPred, const int32_t kiStride) {
@@ -68,10 +68,10 @@ void WelsI4x4LumaPredH_c (uint8_t* pPred, const int32_t kiStride) { · 4 unmodified lines
68 const uint32_t kuiL2 = 0x01010101U * pPred[-1 + kiStride2];68 const uint32_t kuiL2 = 0x01010101U * pPred[-1 + kiStride2];
69 const uint32_t kuiL3 = 0x01010101U * pPred[-1 + kiStride3];69 const uint32_t kuiL3 = 0x01010101U * pPred[-1 + kiStride3];
70 70
71 ST32 (pPred , kuiL0);71 ST32A4 (pPred , kuiL0);
72 ST32 (pPred + kiStride , kuiL1);72 ST32A4 (pPred + kiStride , kuiL1);
73 ST32 (pPred + kiStride2, kuiL2);73 ST32A4 (pPred + kiStride2, kuiL2);
74 ST32 (pPred + kiStride3, kuiL3);74 ST32A4 (pPred + kiStride3, kuiL3);
75}75}
76 76
77void WelsI4x4LumaPredDc_c (uint8_t* pPred, const int32_t kiStride) {77void WelsI4x4LumaPredDc_c (uint8_t* pPred, const int32_t kiStride) {
@@ -81,10 +81,10 @@ void WelsI4x4LumaPredDc_c (uint8_t* pPred, const int32_t kiStride) { · 3 unmodified lines
81 pPred[-kiStride] + pPred[-kiStride + 1] + pPred[-kiStride + 2] + pPred[-kiStride + 3] + 4) >> 3;81 pPred[-kiStride] + pPred[-kiStride + 1] + pPred[-kiStride + 2] + pPred[-kiStride + 3] + 4) >> 3;
82 const uint32_t kuiMean32 = 0x01010101U * kuiMean;82 const uint32_t kuiMean32 = 0x01010101U * kuiMean;
83 83
84 ST32 (pPred , kuiMean32);84 ST32A4 (pPred , kuiMean32);
85 ST32 (pPred + kiStride , kuiMean32);85 ST32A4 (pPred + kiStride , kuiMean32);
86 ST32 (pPred + kiStride2, kuiMean32);86 ST32A4 (pPred + kiStride2, kuiMean32);
87 ST32 (pPred + kiStride3, kuiMean32);87 ST32A4 (pPred + kiStride3, kuiMean32);
88}88}
89 89
90void WelsI4x4LumaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) {90void WelsI4x4LumaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) {
@@ -93,10 +93,10 @@ void WelsI4x4LumaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) { · 2 unmodified lines
93 const uint8_t kuiMean = (pPred[-1] + pPred[-1 + kiStride] + pPred[-1 + kiStride2] + pPred[-1 + kiStride3] + 2) >> 2;93 const uint8_t kuiMean = (pPred[-1] + pPred[-1 + kiStride] + pPred[-1 + kiStride2] + pPred[-1 + kiStride3] + 2) >> 2;
94 const uint32_t kuiMean32 = 0x01010101U * kuiMean;94 const uint32_t kuiMean32 = 0x01010101U * kuiMean;
95 95
96 ST32 (pPred , kuiMean32);96 ST32A4 (pPred , kuiMean32);
97 ST32 (pPred + kiStride , kuiMean32);97 ST32A4 (pPred + kiStride , kuiMean32);
98 ST32 (pPred + kiStride2, kuiMean32);98 ST32A4 (pPred + kiStride2, kuiMean32);
99 ST32 (pPred + kiStride3, kuiMean32);99 ST32A4 (pPred + kiStride3, kuiMean32);
100}100}
101 101
102void WelsI4x4LumaPredDcTop_c (uint8_t* pPred, const int32_t kiStride) {102void WelsI4x4LumaPredDcTop_c (uint8_t* pPred, const int32_t kiStride) {
@@ -106,19 +106,19 @@ void WelsI4x4LumaPredDcTop_c (uint8_t* pPred, const int32_t kiStride) { · 3 unmodified lines
106 2;106 2;
107 const uint32_t kuiMean32 = 0x01010101U * kuiMean;107 const uint32_t kuiMean32 = 0x01010101U * kuiMean;
108 108
109 ST32 (pPred , kuiMean32);109 ST32A4 (pPred , kuiMean32);
110 ST32 (pPred + kiStride , kuiMean32);110 ST32A4 (pPred + kiStride , kuiMean32);
111 ST32 (pPred + kiStride2, kuiMean32);111 ST32A4 (pPred + kiStride2, kuiMean32);
112 ST32 (pPred + kiStride3, kuiMean32);112 ST32A4 (pPred + kiStride3, kuiMean32);
113}113}
114 114
115void WelsI4x4LumaPredDcNA_c (uint8_t* pPred, const int32_t kiStride) {115void WelsI4x4LumaPredDcNA_c (uint8_t* pPred, const int32_t kiStride) {
116 const uint32_t kuiDC32 = 0x80808080U;116 const uint32_t kuiDC32 = 0x80808080U;
117 117
118 ST32 (pPred , kuiDC32);118 ST32A4 (pPred , kuiDC32);
119 ST32 (pPred + kiStride , kuiDC32);119 ST32A4 (pPred + kiStride , kuiDC32);
120 ST32 (pPred + (kiStride << 1) , kuiDC32);120 ST32A4 (pPred + (kiStride << 1) , kuiDC32);
121 ST32 (pPred + (kiStride << 1) + kiStride, kuiDC32);121 ST32A4 (pPred + (kiStride << 1) + kiStride, kuiDC32);
122}122}
123 123
124/*down pLeft*/124/*down pLeft*/
@@ -144,10 +144,10 @@ void WelsI4x4LumaPredDDL_c (uint8_t* pPred, const int32_t kiStride) { · 19 unmodified lines
144 const uint8_t kuiDDL6 = (2 + kuiT6 + kuiT7 + (kuiT7 << 1)) >> 2; // kDDL6144 const uint8_t kuiDDL6 = (2 + kuiT6 + kuiT7 + (kuiT7 << 1)) >> 2; // kDDL6
145 const uint8_t kuiList[8] = { kuiDDL0, kuiDDL1, kuiDDL2, kuiDDL3, kuiDDL4, kuiDDL5, kuiDDL6, 0 };145 const uint8_t kuiList[8] = { kuiDDL0, kuiDDL1, kuiDDL2, kuiDDL3, kuiDDL4, kuiDDL5, kuiDDL6, 0 };
146 146
147 ST32 (pPred , LD32 (kuiList));147 ST32A4 (pPred , LD32 (kuiList));
148 ST32 (pPred + kiStride , LD32 (kuiList + 1));148 ST32A4 (pPred + kiStride , LD32 (kuiList + 1));
149 ST32 (pPred + kiStride2, LD32 (kuiList + 2));149 ST32A4 (pPred + kiStride2, LD32 (kuiList + 2));
150 ST32 (pPred + kiStride3, LD32 (kuiList + 3));150 ST32A4 (pPred + kiStride3, LD32 (kuiList + 3));
151}151}
152 152
153/*down pLeft*/153/*down pLeft*/
@@ -170,10 +170,10 @@ void WelsI4x4LumaPredDDLTop_c (uint8_t* pPred, const int32_t kiStride) { · 16 unmodified lines
170 const uint8_t kuiDLT3 = kuiT33 >> 1; // kDLT3170 const uint8_t kuiDLT3 = kuiT33 >> 1; // kDLT3
171 const uint8_t kuiList[8] = { kuiDLT0, kuiDLT1, kuiDLT2, kuiDLT3, kuiDLT3, kuiDLT3, kuiDLT3 , kuiDLT3 };171 const uint8_t kuiList[8] = { kuiDLT0, kuiDLT1, kuiDLT2, kuiDLT3, kuiDLT3, kuiDLT3, kuiDLT3 , kuiDLT3 };
172 172
173 ST32 (pPred, LD32 (kuiList));173 ST32A4 (pPred, LD32 (kuiList));
174 ST32 (pPred + kiStride, LD32 (kuiList + 1));174 ST32A4 (pPred + kiStride, LD32 (kuiList + 1));
175 ST32 (pPred + kiStride2, LD32 (kuiList + 2));175 ST32A4 (pPred + kiStride2, LD32 (kuiList + 2));
176 ST32 (pPred + kiStride3, LD32 (kuiList + 3));176 ST32A4 (pPred + kiStride3, LD32 (kuiList + 3));
177}177}
178 178
179 179
@@ -210,10 +210,10 @@ void WelsI4x4LumaPredDDR_c (uint8_t* pPred, const int32_t kiStride) { · 30 unmodified lines
210 const uint8_t kuiDDR6 = (kuiL12 + kuiL23) >> 2; // kuiDDR6210 const uint8_t kuiDDR6 = (kuiL12 + kuiL23) >> 2; // kuiDDR6
211 const uint8_t kuiList[8] = { kuiDDR6, kuiDDR5, kuiDDR4, kuiDDR0, kuiDDR1, kuiDDR2, kuiDDR3, 0 };211 const uint8_t kuiList[8] = { kuiDDR6, kuiDDR5, kuiDDR4, kuiDDR0, kuiDDR1, kuiDDR2, kuiDDR3, 0 };
212 212
213 ST32 (pPred , LD32 (kuiList + 3));213 ST32A4 (pPred , LD32 (kuiList + 3));
214 ST32 (pPred + kiStride , LD32 (kuiList + 2));214 ST32A4 (pPred + kiStride , LD32 (kuiList + 2));
215 ST32 (pPred + kiStride2, LD32 (kuiList + 1));215 ST32A4 (pPred + kiStride2, LD32 (kuiList + 1));
216 ST32 (pPred + kiStride3, LD32 (kuiList));216 ST32A4 (pPred + kiStride3, LD32 (kuiList));
217}217}
218 218
219 219
@@ -248,10 +248,10 @@ void WelsI4x4LumaPredVL_c (uint8_t* pPred, const int32_t kiStride) { · 28 unmodified lines
248 const uint8_t kuiVL9 = (kuiT45 + kuiT56) >> 2; // kuiVL9248 const uint8_t kuiVL9 = (kuiT45 + kuiT56) >> 2; // kuiVL9
249 const uint8_t kuiList[10] = { kuiVL0, kuiVL1, kuiVL2, kuiVL3, kuiVL4, kuiVL5, kuiVL6, kuiVL7, kuiVL8, kuiVL9 };249 const uint8_t kuiList[10] = { kuiVL0, kuiVL1, kuiVL2, kuiVL3, kuiVL4, kuiVL5, kuiVL6, kuiVL7, kuiVL8, kuiVL9 };
250 250
251 ST32 (pPred, LD32 (kuiList));251 ST32A4 (pPred, LD32 (kuiList));
252 ST32 (pPred + kiStride, LD32 (kuiList + 5));252 ST32A4 (pPred + kiStride, LD32 (kuiList + 5));
253 ST32 (pPred + kiStride2, LD32 (kuiList + 1));253 ST32A4 (pPred + kiStride2, LD32 (kuiList + 1));
254 ST32 (pPred + kiStride3, LD32 (kuiList + 6));254 ST32A4 (pPred + kiStride3, LD32 (kuiList + 6));
255}255}
256 256
257/*vertical pLeft*/257/*vertical pLeft*/
@@ -278,10 +278,10 @@ void WelsI4x4LumaPredVLTop_c (uint8_t* pPred, const int32_t kiStride) { · 20 unmodified lines
278 const uint8_t kuiVL7 = kuiVL3;278 const uint8_t kuiVL7 = kuiVL3;
279 const uint8_t kuiList[10] = { kuiVL0, kuiVL1, kuiVL2, kuiVL3, kuiVL3, kuiVL4, kuiVL5, kuiVL6, kuiVL7, kuiVL7 };279 const uint8_t kuiList[10] = { kuiVL0, kuiVL1, kuiVL2, kuiVL3, kuiVL3, kuiVL4, kuiVL5, kuiVL6, kuiVL7, kuiVL7 };
280 280
281 ST32 (pPred , LD32 (kuiList));281 ST32A4 (pPred , LD32 (kuiList));
282 ST32 (pPred + kiStride , LD32 (kuiList + 5));282 ST32A4 (pPred + kiStride , LD32 (kuiList + 5));
283 ST32 (pPred + kiStride2, LD32 (kuiList + 1));283 ST32A4 (pPred + kiStride2, LD32 (kuiList + 1));
284 ST32 (pPred + kiStride3, LD32 (kuiList + 6));284 ST32A4 (pPred + kiStride3, LD32 (kuiList + 6));
285}285}
286 286
287 287
@@ -310,10 +310,10 @@ void WelsI4x4LumaPredVR_c (uint8_t* pPred, const int32_t kiStride) { · 22 unmodified lines
310 const uint8_t kuiVR9 = (2 + kuiL0 + (kuiL1 << 1) + kuiL2) >> 2; // kuiVR9310 const uint8_t kuiVR9 = (2 + kuiL0 + (kuiL1 << 1) + kuiL2) >> 2; // kuiVR9
311 const uint8_t kuiList[10] = { kuiVR8, kuiVR0, kuiVR1, kuiVR2, kuiVR3, kuiVR9, kuiVR4, kuiVR5, kuiVR6, kuiVR7 };311 const uint8_t kuiList[10] = { kuiVR8, kuiVR0, kuiVR1, kuiVR2, kuiVR3, kuiVR9, kuiVR4, kuiVR5, kuiVR6, kuiVR7 };
312 312
313 ST32 (pPred , LD32 (kuiList + 1));313 ST32A4 (pPred , LD32 (kuiList + 1));
314 ST32 (pPred + kiStride , LD32 (kuiList + 6));314 ST32A4 (pPred + kiStride , LD32 (kuiList + 6));
315 ST32 (pPred + kiStride2, LD32 (kuiList));315 ST32A4 (pPred + kiStride2, LD32 (kuiList));
316 ST32 (pPred + kiStride3, LD32 (kuiList + 5));316 ST32A4 (pPred + kiStride3, LD32 (kuiList + 5));
317}317}
318 318
319/*horizontal up*/319/*horizontal up*/
@@ -336,10 +336,10 @@ void WelsI4x4LumaPredHU_c (uint8_t* pPred, const int32_t kiStride) { · 16 unmodified lines
336 const uint8_t kuiHU5 = (1 + kuiL23 + (kuiL3 << 1)) >> 2;336 const uint8_t kuiHU5 = (1 + kuiL23 + (kuiL3 << 1)) >> 2;
337 const uint8_t kuiList[10] = { kuiHU0, kuiHU1, kuiHU2, kuiHU3, kuiHU4, kuiHU5, kuiL3, kuiL3, kuiL3, kuiL3 };337 const uint8_t kuiList[10] = { kuiHU0, kuiHU1, kuiHU2, kuiHU3, kuiHU4, kuiHU5, kuiL3, kuiL3, kuiL3, kuiL3 };
338 338
339 ST32 (pPred , LD32 (kuiList));339 ST32A4 (pPred , LD32 (kuiList));
340 ST32 (pPred + kiStride , LD32 (kuiList + 2));340 ST32A4 (pPred + kiStride , LD32 (kuiList + 2));
341 ST32 (pPred + kiStride2, LD32 (kuiList + 4));341 ST32A4 (pPred + kiStride2, LD32 (kuiList + 4));
342 ST32 (pPred + kiStride3, LD32 (kuiList + 6));342 ST32A4 (pPred + kiStride3, LD32 (kuiList + 6));
343}343}
344 344
345/*horizontal down*/345/*horizontal down*/
@@ -374,25 +374,25 @@ void WelsI4x4LumaPredHD_c (uint8_t* pPred, const int32_t kiStride) { · 28 unmodified lines
374 const uint8_t kuiHD9 = (kuiL12 + kuiL23) >> 2;374 const uint8_t kuiHD9 = (kuiL12 + kuiL23) >> 2;
375 const uint8_t kuiList[10] = { kuiHD8, kuiHD9, kuiHD6, kuiHD7, kuiHD4, kuiHD5, kuiHD0, kuiHD1, kuiHD2, kuiHD3 };375 const uint8_t kuiList[10] = { kuiHD8, kuiHD9, kuiHD6, kuiHD7, kuiHD4, kuiHD5, kuiHD0, kuiHD1, kuiHD2, kuiHD3 };
376 376
377 ST32 (pPred , LD32 (kuiList + 6));377 ST32A4 (pPred , LD32 (kuiList + 6));
378 ST32 (pPred + kiStride , LD32 (kuiList + 4));378 ST32A4 (pPred + kiStride , LD32 (kuiList + 4));
379 ST32 (pPred + kiStride2, LD32 (kuiList + 2));379 ST32A4 (pPred + kiStride2, LD32 (kuiList + 2));
380 ST32 (pPred + kiStride3, LD32 (kuiList));380 ST32A4 (pPred + kiStride3, LD32 (kuiList));
381}381}
382 382
383void WelsIChromaPredV_c (uint8_t* pPred, const int32_t kiStride) {383void WelsIChromaPredV_c (uint8_t* pPred, const int32_t kiStride) {
384 const uint64_t kuiVal64 = LD64 (&pPred[-kiStride]);384 const uint64_t kuiVal64 = LD64A8 (&pPred[-kiStride]);
385 const int32_t kiStride2 = kiStride << 1;385 const int32_t kiStride2 = kiStride << 1;
386 const int32_t kiStride4 = kiStride2 << 1;386 const int32_t kiStride4 = kiStride2 << 1;
387 387
388 ST64 (pPred , kuiVal64);388 ST64A8 (pPred , kuiVal64);
389 ST64 (pPred + kiStride , kuiVal64);389 ST64A8 (pPred + kiStride , kuiVal64);
390 ST64 (pPred + kiStride2 , kuiVal64);390 ST64A8 (pPred + kiStride2 , kuiVal64);
391 ST64 (pPred + kiStride2 + kiStride , kuiVal64);391 ST64A8 (pPred + kiStride2 + kiStride , kuiVal64);
392 ST64 (pPred + kiStride4 , kuiVal64);392 ST64A8 (pPred + kiStride4 , kuiVal64);
393 ST64 (pPred + kiStride4 + kiStride , kuiVal64);393 ST64A8 (pPred + kiStride4 + kiStride , kuiVal64);
394 ST64 (pPred + kiStride4 + kiStride2 , kuiVal64);394 ST64A8 (pPred + kiStride4 + kiStride2 , kuiVal64);
395 ST64 (pPred + (kiStride << 3) - kiStride , kuiVal64);395 ST64A8 (pPred + (kiStride << 3) - kiStride , kuiVal64);
396}396}
397 397
398void WelsIChromaPredH_c (uint8_t* pPred, const int32_t kiStride) {398void WelsIChromaPredH_c (uint8_t* pPred, const int32_t kiStride) {
@@ -403,7 +403,7 @@ void WelsIChromaPredH_c (uint8_t* pPred, const int32_t kiStride) { · 4 unmodified lines
403 const uint8_t kuiVal8 = pPred[iTmp - 1];403 const uint8_t kuiVal8 = pPred[iTmp - 1];
404 const uint64_t kuiVal64 = 0x0101010101010101ULL * kuiVal8;404 const uint64_t kuiVal64 = 0x0101010101010101ULL * kuiVal8;
405 405
406 ST64 (pPred + iTmp, kuiVal64);406 ST64A8 (pPred + iTmp, kuiVal64);
407 407
408 iTmp -= kiStride;408 iTmp -= kiStride;
409 } while (i-- > 0);409 } while (i-- > 0);
@@ -457,14 +457,14 @@ void WelsIChromaPredDc_c (uint8_t* pPred, const int32_t kiStride) { · 47 unmodified lines
457 const uint64_t kuiUP64 = LD64 (kuiMUP);457 const uint64_t kuiUP64 = LD64 (kuiMUP);
458 const uint64_t kuiDN64 = LD64 (kuiMDown);458 const uint64_t kuiDN64 = LD64 (kuiMDown);
459 459
460 ST64 (pPred , kuiUP64);460 ST64A8 (pPred , kuiUP64);
461 ST64 (pPred + kiL1 + 1, kuiUP64);461 ST64A8 (pPred + kiL1 + 1, kuiUP64);
462 ST64 (pPred + kiL2 + 1, kuiUP64);462 ST64A8 (pPred + kiL2 + 1, kuiUP64);
463 ST64 (pPred + kiL3 + 1, kuiUP64);463 ST64A8 (pPred + kiL3 + 1, kuiUP64);
464 ST64 (pPred + kiL4 + 1, kuiDN64);464 ST64A8 (pPred + kiL4 + 1, kuiDN64);
465 ST64 (pPred + kiL5 + 1, kuiDN64);465 ST64A8 (pPred + kiL5 + 1, kuiDN64);
466 ST64 (pPred + kiL6 + 1, kuiDN64);466 ST64A8 (pPred + kiL6 + 1, kuiDN64);
467 ST64 (pPred + kiL7 + 1, kuiDN64);467 ST64A8 (pPred + kiL7 + 1, kuiDN64);
468}468}
469 469
470void WelsIChromaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) {470void WelsIChromaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) {
@@ -481,14 +481,14 @@ void WelsIChromaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) { · 10 unmodified lines
481 const uint64_t kuiUP64 = 0x0101010101010101ULL * kuiMUP;481 const uint64_t kuiUP64 = 0x0101010101010101ULL * kuiMUP;
482 const uint64_t kuiDN64 = 0x0101010101010101ULL * kuiMDown;482 const uint64_t kuiDN64 = 0x0101010101010101ULL * kuiMDown;
483 483
484 ST64 (pPred , kuiUP64);484 ST64A8 (pPred , kuiUP64);
485 ST64 (pPred + kiL1 + 1, kuiUP64);485 ST64A8 (pPred + kiL1 + 1, kuiUP64);
486 ST64 (pPred + kiL2 + 1, kuiUP64);486 ST64A8 (pPred + kiL2 + 1, kuiUP64);
487 ST64 (pPred + kiL3 + 1, kuiUP64);487 ST64A8 (pPred + kiL3 + 1, kuiUP64);
488 ST64 (pPred + kiL4 + 1, kuiDN64);488 ST64A8 (pPred + kiL4 + 1, kuiDN64);
489 ST64 (pPred + kiL5 + 1, kuiDN64);489 ST64A8 (pPred + kiL5 + 1, kuiDN64);
490 ST64 (pPred + kiL6 + 1, kuiDN64);490 ST64A8 (pPred + kiL6 + 1, kuiDN64);
491 ST64 (pPred + kiL7 + 1, kuiDN64);491 ST64A8 (pPred + kiL7 + 1, kuiDN64);
492}492}
493 493
494void WelsIChromaPredDcTop_c (uint8_t* pPred, const int32_t kiStride) {494void WelsIChromaPredDcTop_c (uint8_t* pPred, const int32_t kiStride) {
@@ -502,7 +502,7 @@ void WelsIChromaPredDcTop_c (uint8_t* pPred, const int32_t kiStride) { · 7 unmodified lines
502 uint8_t i = 7;502 uint8_t i = 7;
503 503
504 do {504 do {
505 ST64 (pPred + iTmp, LD64 (kuiM));505 ST64A8 (pPred + iTmp, LD64 (kuiM));
506 506
507 iTmp -= kiStride;507 iTmp -= kiStride;
508 } while (i-- > 0);508 } while (i-- > 0);
@@ -514,7 +514,7 @@ void WelsIChromaPredDcNA_c (uint8_t* pPred, const int32_t kiStride) { · 5 unmodified lines
514 uint8_t i = 7;514 uint8_t i = 7;
515 515
516 do {516 do {
517 ST64 (pPred + iTmp, kuiDC64);517 ST64A8 (pPred + iTmp, kuiDC64);
518 518
519 iTmp -= kiStride;519 iTmp -= kiStride;
520 } while (i-- > 0);520 } while (i-- > 0);
@@ -522,13 +522,13 @@ void WelsIChromaPredDcNA_c (uint8_t* pPred, const int32_t kiStride) { · 1 unmodified line
522 522
523void WelsI16x16LumaPredV_c (uint8_t* pPred, const int32_t kiStride) {523void WelsI16x16LumaPredV_c (uint8_t* pPred, const int32_t kiStride) {
524 int32_t iTmp = (kiStride << 4) - kiStride;524 int32_t iTmp = (kiStride << 4) - kiStride;
525 const uint64_t kuiTop1 = LD64 (pPred - kiStride);525 const uint64_t kuiTop1 = LD64A8 (pPred - kiStride);
526 const uint64_t kuiTop2 = LD64 (pPred - kiStride + 8);526 const uint64_t kuiTop2 = LD64A8 (pPred - kiStride + 8);
527 uint8_t i = 15;527 uint8_t i = 15;
528 528
529 do {529 do {
530 ST64 (pPred + iTmp , kuiTop1);530 ST64A8 (pPred + iTmp , kuiTop1);
531 ST64 (pPred + iTmp + 8, kuiTop2);531 ST64A8 (pPred + iTmp + 8, kuiTop2);
532 532
533 iTmp -= kiStride;533 iTmp -= kiStride;
534 } while (i-- > 0);534 } while (i-- > 0);
@@ -542,8 +542,8 @@ void WelsI16x16LumaPredH_c (uint8_t* pPred, const int32_t kiStride) { · 7 unmodified lines
542 const uint8_t kuiVal8 = pPred[iTmp - 1];542 const uint8_t kuiVal8 = pPred[iTmp - 1];
543 const uint64_t kuiVal64 = 0x0101010101010101ULL * kuiVal8;543 const uint64_t kuiVal64 = 0x0101010101010101ULL * kuiVal8;
544 544
545 ST64 (pPred + iTmp , kuiVal64);545 ST64A8 (pPred + iTmp , kuiVal64);
546 ST64 (pPred + iTmp + 8, kuiVal64);546 ST64A8 (pPred + iTmp + 8, kuiVal64);
547 547
548 iTmp -= kiStride;548 iTmp -= kiStride;
549 } while (i-- > 0);549 } while (i-- > 0);
@@ -633,8 +633,8 @@ void WelsI16x16LumaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) { · 83 unmodified lines
633 iTmp = (kiStride << 4) - kiStride;633 iTmp = (kiStride << 4) - kiStride;
634 i = 15;634 i = 15;
635 do {635 do {
636 ST64 (pPred + iTmp , uiMean64);636 ST64A8 (pPred + iTmp , uiMean64);
637 ST64 (pPred + iTmp + 8, uiMean64);637 ST64A8 (pPred + iTmp + 8, uiMean64);
638 638
639 iTmp -= kiStride;639 iTmp -= kiStride;
640 } while (i-- > 0);640 } while (i-- > 0);
@@ -646,8 +646,8 @@ void WelsI16x16LumaPredDcNA_c (uint8_t* pPred, const int32_t kiStride) { · 5 unmodified lines
646 uint8_t i = 15;646 uint8_t i = 15;
647 647
648 do {648 do {
649 ST64 (pPred + iTmp, kuiDC64);649 ST64A8 (pPred + iTmp, kuiDC64);
650 ST64 (pPred + iTmp + 8, kuiDC64);650 ST64A8 (pPred + iTmp + 8, kuiDC64);
651 651
652 iTmp -= kiStride;652 iTmp -= kiStride;
653 } while (i-- > 0);653 } while (i-- > 0);
codec/decoder/core/src/mc.cpp+6−6
@@ -94,7 +94,7 @@ static inline void McCopyWidthEq2_c (const uint8_t* pSrc, int32_t iSrcStride, ui · 93 unmodified lines
94 int32_t iHeight) {94 int32_t iHeight) {
95 int32_t i;95 int32_t i;
96 for (i = 0; i < iHeight; i++) { // iWidth == 2 only for chroma96 for (i = 0; i < iHeight; i++) { // iWidth == 2 only for chroma
97 ST16 (pDst, LD16 (pSrc));97 ST16A2 (pDst, LD16 (pSrc));
98 pDst += iDstStride;98 pDst += iDstStride;
99 pSrc += iSrcStride;99 pSrc += iSrcStride;
100 }100 }
@@ -104,7 +104,7 @@ static inline void McCopyWidthEq4_c (const uint8_t* pSrc, int32_t iSrcStride, ui · 3 unmodified lines
104 int32_t iHeight) {104 int32_t iHeight) {
105 int32_t i;105 int32_t i;
106 for (i = 0; i < iHeight; i++) {106 for (i = 0; i < iHeight; i++) {
107 ST32 (pDst, LD32 (pSrc));107 ST32A4 (pDst, LD32 (pSrc));
108 pDst += iDstStride;108 pDst += iDstStride;
109 pSrc += iSrcStride;109 pSrc += iSrcStride;
110 }110 }
@@ -114,7 +114,7 @@ static inline void McCopyWidthEq8_c (const uint8_t* pSrc, int32_t iSrcStride, ui · 3 unmodified lines
114 int32_t iHeight) {114 int32_t iHeight) {
115 int32_t i;115 int32_t i;
116 for (i = 0; i < iHeight; i++) {116 for (i = 0; i < iHeight; i++) {
117 ST64 (pDst, LD64 (pSrc));117 ST64A8 (pDst, LD64 (pSrc));
118 pDst += iDstStride;118 pDst += iDstStride;
119 pSrc += iSrcStride;119 pSrc += iSrcStride;
120 }120 }
@@ -124,8 +124,8 @@ static inline void McCopyWidthEq16_c (const uint8_t* pSrc, int32_t iSrcStride, u · 3 unmodified lines
124 int32_t iHeight) {124 int32_t iHeight) {
125 int32_t i;125 int32_t i;
126 for (i = 0; i < iHeight; i++) {126 for (i = 0; i < iHeight; i++) {
127 ST64 (pDst , LD64 (pSrc));127 ST64A8 (pDst , LD64 (pSrc));
128 ST64 (pDst + 8, LD64 (pSrc + 8));128 ST64A8 (pDst + 8, LD64 (pSrc + 8));
129 pDst += iDstStride;129 pDst += iDstStride;
130 pSrc += iSrcStride;130 pSrc += iSrcStride;
131 }131 }
@@ -202,7 +202,7 @@ static inline void McHorVer02_c (const uint8_t* pSrc, int32_t iSrcStride, uint8_ · 70 unmodified lines
202 202
203static inline void McHorVer22_c (const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth,203static inline void McHorVer22_c (const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth,
204 int32_t iHeight) {204 int32_t iHeight) {
205 int16_t iTmp[16 + 5] = {0}; //16205 int16_t iTmp[16 + 5]; //16
206 int32_t i, j, k;206 int32_t i, j, k;
207 207
208 for (i = 0; i < iHeight; i++) {208 for (i = 0; i < iHeight; i++) {

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