Showing the changes to test/decoder/DecUT_DeblockCommon.cpp (1 of 1 file). Show all
Unified · Split
| @@ -3,8 +3,6 @@ · 2 unmodified lines | |||
| 3 | #include "../../codec/decoder/core/inc/deblocking.h" | 3 | #include "../../codec/decoder/core/inc/deblocking.h" |
| 4 | #include "../../codec/common/inc/deblocking_common.h" | 4 | #include "../../codec/common/inc/deblocking_common.h" |
| 5 | 5 | ||
| 6 | #define CLIP3(MIN, MAX, VALUE) ((VALUE) < (MIN) ? (MIN) : ((VALUE) > (MAX) ? (MAX) : (VALUE))) | ||
| 7 | |||
| 8 | using namespace WelsDec; | 6 | using namespace WelsDec; |
| 9 | 7 | ||
| 10 | /* extern pure C functions */ | 8 | /* extern pure C functions */ |
| @@ -28,7 +26,7 @@ if (iNum==0) { \ · 17 unmodified lines | |||
| 28 | iTc[0] = iTc[1] = iTc[2] = iTc[3] = 25; \ | 26 | iTc[0] = iTc[1] = iTc[2] = iTc[3] = 25; \ |
| 29 | pBase[0] = pRef[0] = 128; \ | 27 | pBase[0] = pRef[0] = 128; \ |
| 30 | for (int i = 1; i < iWidth*iWidth; i++) { \ | 28 | for (int i = 1; i < iWidth*iWidth; i++) { \ |
| 31 | pBase[i] = pRef[i] = CLIP3( 0, 255, pBase[i-1] -16 + rand()%32 ); \ | 29 | pBase[i] = pRef[i] = WELS_CLIP3( pBase[i-1] -16 + rand()%32, 0, 255 ); \ |
| 32 | } \ | 30 | } \ |
| 33 | } else if (iNum==1) { \ | 31 | } else if (iNum==1) { \ |
| 34 | iAlpha = 4; \ | 32 | iAlpha = 4; \ |
| @@ -36,7 +34,7 @@ if (iNum==0) { \ · 1 unmodified line | |||
| 36 | iTc[0] = iTc[1] = iTc[2] = iTc[3] = 9; \ | 34 | iTc[0] = iTc[1] = iTc[2] = iTc[3] = 9; \ |
| 37 | pBase[0] = pRef[0] = 128; \ | 35 | pBase[0] = pRef[0] = 128; \ |
| 38 | for (int i = 1; i < iWidth*iWidth; i++) { \ | 36 | for (int i = 1; i < iWidth*iWidth; i++) { \ |
| 39 | pBase[i] = pRef[i] = CLIP3( 0, 255, pBase[i-1] -4 + rand()%8); \ | 37 | pBase[i] = pRef[i] = WELS_CLIP3( pBase[i-1] -4 + rand()%8, 0, 255 ); \ |
| 40 | } \ | 38 | } \ |
| 41 | } else { \ | 39 | } else { \ |
| 42 | iAlpha = rand() % 256; \ | 40 | iAlpha = rand() % 256; \ |
| @@ -113,20 +111,20 @@ void anchor_DeblockingLumaNormal (uint8_t* pPix, int32_t iStrideX, int32_t iStri · 70 unmodified lines | |||
| 113 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { | 111 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { |
| 114 | // 8-470 | 112 | // 8-470 |
| 115 | if (abs (p[2] - p[0]) < iBeta) { | 113 | if (abs (p[2] - p[0]) < iBeta) { |
| 116 | pPix[iStrideX * -2] = CLIP3 (0, 255, p[1] + CLIP3 (-1 * pTc[iIndexTc], pTc[iIndexTc], | 114 | pPix[iStrideX * -2] = WELS_CLIP3 (p[1] + WELS_CLIP3 (((p[2] + ((p[0] + q[0] + 1) >> 1) - (p[1] << 1)) >> 1), |
| 117 | ((p[2] + ((p[0] + q[0] + 1) >> 1) - (p[1] << 1)) >> 1))); | 115 | -1 * pTc[iIndexTc], pTc[iIndexTc]), 0, 255); |
| 118 | iTc++; | 116 | iTc++; |
| 119 | } | 117 | } |
| 120 | // 8-472 | 118 | // 8-472 |
| 121 | if (abs (q[2] - q[0]) < iBeta) { | 119 | if (abs (q[2] - q[0]) < iBeta) { |
| 122 | pPix[iStrideX * 1] = CLIP3 (0, 255, q[1] + CLIP3 (-1 * pTc[iIndexTc], pTc[iIndexTc], | 120 | pPix[iStrideX * 1] = WELS_CLIP3 (q[1] + WELS_CLIP3 (((q[2] + ((p[0] + q[0] + 1) >> 1) - (q[1] << 1)) >> 1), |
| 123 | ((q[2] + ((p[0] + q[0] + 1) >> 1) - (q[1] << 1)) >> 1))); | 121 | -1 * pTc[iIndexTc], pTc[iIndexTc]), 0, 255); |
| 124 | iTc++; | 122 | iTc++; |
| 125 | } | 123 | } |
| 126 | // 8-467,468,469 | 124 | // 8-467,468,469 |
| 127 | iDelta = CLIP3 (-1 * iTc, iTc, ((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3)); | 125 | iDelta = WELS_CLIP3 (((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3), -1 * iTc, iTc); |
| 128 | pPix[iStrideX * -1] = CLIP3 (0, 255, (p[0] + iDelta)); | 126 | pPix[iStrideX * -1] = WELS_CLIP3 ((p[0] + iDelta), 0, 255); |
| 129 | pPix[0] = CLIP3 (0, 255, (q[0] - iDelta)); | 127 | pPix[0] = WELS_CLIP3 ((q[0] - iDelta), 0, 255); |
| 130 | } | 128 | } |
| 131 | 129 | ||
| 132 | // Next line | 130 | // Next line |
| @@ -196,9 +194,9 @@ void anchor_DeblockingChromaNormal (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iS · 63 unmodified lines | |||
| 196 | // filterSampleFlag, 8-460 | 194 | // filterSampleFlag, 8-460 |
| 197 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { | 195 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { |
| 198 | // 8-467, 468, 469 | 196 | // 8-467, 468, 469 |
| 199 | iDelta = CLIP3 (-1 * iTc, iTc, ((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3)); | 197 | iDelta = WELS_CLIP3 (((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3), -1 * iTc, iTc); |
| 200 | pPixCb[iStrideX * -1] = CLIP3 (0, 255, (p[0] + iDelta)); | 198 | pPixCb[iStrideX * -1] = WELS_CLIP3 ((p[0] + iDelta), 0, 255); |
| 201 | pPixCb[iStrideX * 0 ] = CLIP3 (0, 255, (q[0] - iDelta)); | 199 | pPixCb[iStrideX * 0 ] = WELS_CLIP3 ((q[0] - iDelta), 0, 255); |
| 202 | } | 200 | } |
| 203 | pPixCb += iStrideY; | 201 | pPixCb += iStrideY; |
| 204 | 202 | ||
| @@ -211,9 +209,9 @@ void anchor_DeblockingChromaNormal (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iS · 6 unmodified lines | |||
| 211 | // filterSampleFlag, 8-460 | 209 | // filterSampleFlag, 8-460 |
| 212 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { | 210 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { |
| 213 | // 8-467, 468, 469 | 211 | // 8-467, 468, 469 |
| 214 | iDelta = CLIP3 (-1 * iTc, iTc, ((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3)); | 212 | iDelta = WELS_CLIP3 (((((q[0] - p[0]) << 2) + (p[1] - q[1]) + 4) >> 3), -1 * iTc, iTc); |
| 215 | pPixCr[iStrideX * -1] = CLIP3 (0, 255, (p[0] + iDelta)); | 213 | pPixCr[iStrideX * -1] = WELS_CLIP3 ((p[0] + iDelta), 0, 255); |
| 216 | pPixCr[iStrideX * 0 ] = CLIP3 (0, 255, (q[0] - iDelta)); | 214 | pPixCr[iStrideX * 0 ] = WELS_CLIP3 ((q[0] - iDelta), 0, 255); |
| 217 | } | 215 | } |
| 218 | pPixCr += iStrideY; | 216 | pPixCr += iStrideY; |
| 219 | } | 217 | } |
| @@ -235,8 +233,8 @@ void anchor_DeblockingChromaIntra (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iSt · 15 unmodified lines | |||
| 235 | // filterSampleFlag, 8-460 | 233 | // filterSampleFlag, 8-460 |
| 236 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { | 234 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { |
| 237 | // 8-480, 487 | 235 | // 8-480, 487 |
| 238 | pPixCb[iStrideX * -1] = CLIP3 (0, 255, (2 * p[1] + p[0] + q[1] + 2) >> 2); | 236 | pPixCb[iStrideX * -1] = WELS_CLIP3 ((2 * p[1] + p[0] + q[1] + 2) >> 2, 0, 255); |
| 239 | pPixCb[iStrideX * 0 ] = CLIP3 (0, 255, (2 * q[1] + q[0] + p[1] + 2) >> 2); | 237 | pPixCb[iStrideX * 0 ] = WELS_CLIP3 ((2 * q[1] + q[0] + p[1] + 2) >> 2, 0, 255); |
| 240 | } | 238 | } |
| 241 | pPixCb += iStrideY; | 239 | pPixCb += iStrideY; |
| 242 | 240 | ||
| @@ -249,8 +247,8 @@ void anchor_DeblockingChromaIntra (uint8_t* pPixCb, uint8_t* pPixCr, int32_t iSt · 6 unmodified lines | |||
| 249 | // filterSampleFlag, 8-460 | 247 | // filterSampleFlag, 8-460 |
| 250 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { | 248 | if (abs (p[0] - q[0]) < iAlpha && abs (p[1] - p[0]) < iBeta && abs (q[1] - q[0]) < iBeta) { |
| 251 | // 8-480, 487 | 249 | // 8-480, 487 |
| 252 | pPixCr[iStrideX * -1] = CLIP3 (0, 255, (2 * p[1] + p[0] + q[1] + 2) >> 2); | 250 | pPixCr[iStrideX * -1] = WELS_CLIP3 ((2 * p[1] + p[0] + q[1] + 2) >> 2, 0, 255); |
| 253 | pPixCr[iStrideX * 0 ] = CLIP3 (0, 255, (2 * q[1] + q[0] + p[1] + 2) >> 2); | 251 | pPixCr[iStrideX * 0 ] = WELS_CLIP3 ((2 * q[1] + q[0] + p[1] + 2) >> 2, 0, 255); |
| 254 | } | 252 | } |
| 255 | pPixCr += iStrideY; | 253 | pPixCr += iStrideY; |
| 256 | } | 254 | } |