Specify accurate align information for mc copy and intrapred c functions
Showing the changes to codec/decoder (2 of 3 files). Show all
Unified · Split
| @@ -52,12 +52,12 @@ namespace WelsDec { · 51 unmodified lines | |||
| 52 | #define I16x16_COUNT 16 | 52 | #define I16x16_COUNT 16 |
| 53 | 53 | ||
| 54 | void WelsI4x4LumaPredV_c (uint8_t* pPred, const int32_t kiStride) { | 54 | void 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 | ||
| 63 | void WelsI4x4LumaPredH_c (uint8_t* pPred, const int32_t kiStride) { | 63 | void 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 | ||
| 77 | void WelsI4x4LumaPredDc_c (uint8_t* pPred, const int32_t kiStride) { | 77 | void 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 | ||
| 90 | void WelsI4x4LumaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) { | 90 | void 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 | ||
| 102 | void WelsI4x4LumaPredDcTop_c (uint8_t* pPred, const int32_t kiStride) { | 102 | void 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 | ||
| 115 | void WelsI4x4LumaPredDcNA_c (uint8_t* pPred, const int32_t kiStride) { | 115 | void 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; // kDDL6 | 144 | 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; // kDLT3 | 170 | 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; // kuiDDR6 | 210 | 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; // kuiVL9 | 248 | 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; // kuiVR9 | 310 | 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 | ||
| 383 | void WelsIChromaPredV_c (uint8_t* pPred, const int32_t kiStride) { | 383 | void 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 | ||
| 398 | void WelsIChromaPredH_c (uint8_t* pPred, const int32_t kiStride) { | 398 | void 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 | ||
| 470 | void WelsIChromaPredDcLeft_c (uint8_t* pPred, const int32_t kiStride) { | 470 | void 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 | ||
| 494 | void WelsIChromaPredDcTop_c (uint8_t* pPred, const int32_t kiStride) { | 494 | void 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 | ||
| 523 | void WelsI16x16LumaPredV_c (uint8_t* pPred, const int32_t kiStride) { | 523 | void 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); |
| @@ -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 chroma | 96 | 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 | ||
| 203 | static inline void McHorVer22_c (const uint8_t* pSrc, int32_t iSrcStride, uint8_t* pDst, int32_t iDstStride, int32_t iWidth, | 203 | static 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}; //16 | 205 | 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++) { |